われがわログ

最適化アルゴリズムとかプログラミングについて書きたい

ROS Noeticのrobot_state_publisherはtf_prefix引数をとらない(2020/11現在)

ROS MelodicからNoeticにアップデートして手持ちのプログラムを動作確認したところ、動かなかった(rvizの可視化でエラーが出た)のでその原因をメモしておく。

根本原因は、robot_state_publisherパッケージがtf_prefix引数をとらなくなったことである。 これにより、ロボット毎に名前空間を切れなくなり、座標変換、およびrvizでの可視化に失敗していた。 下記ページによれば、開発側もこの問題を認識しているようで、tf_prefixという名前になるかはともかく、名前空間を切る機能は戻ってくる模様。

answers.ros.org

github.com

というか、引数を変えるなんていう大きな変更は、まずdeprecated warningを出した後にするべきだと思うのだが、、、 ビルドツールの乱立(catkin_make catkin_tools, ament, colcon)といい、ROSの開発側は互換性を軽んじているところがある。