kachaka-api icon indicating copy to clipboard operation
kachaka-api copied to clipboard

ROS 2ブリッジから地図、自己位置を配信しない

Open atinfinity opened this issue 1 year ago • 3 comments

https://github.com/pf-robotics/kachaka-api/issues/101で「mapが空の状態でros2bridgeがエラーにならないようにする」対応がなされる予定となっています。この状態でナビゲーションをしようとすると、自身のmapping、localizationアルゴリズムを動かせるようになりそうです。一方、現状のROS 2ブリッジからはマップデータおよびodom、map間のtfが出ているため、自身のmapping、localizationアルゴリズムを動かせないように思っています。

ROS 2ブリッジから地図、自己位置を配信しないようにすることについて今後対応の予定はありますか?

atinfinity avatar Jul 18 '24 09:07 atinfinity

こちら問題をクリアにしたいのですが /map を共通にし、 /odomを別名とすることで解決できないでしょうか?

それとも /odom -> /base_footprint が再利用できないことがクリティカルな問題でしょうか? こちらは/tf_prefixを用い、 odomトピック(tfでなく)から出すということで解決できますでしょうか?

terakoji-pfr avatar Jul 19 '24 00:07 terakoji-pfr

少し調べましたが、以下で特に今のros2_bridgeがだしているtf, topic等を止めなくても自身のmapping、localizationアルゴリズムを動かせそうです。

  1. 自身のmapping、localizationが発行する /odomのtfの名前を /{pfrefix}_odom にする
  2. /{prefix}_odom -> /{prefix}_base_footprint のtfを /odom or /odom_rawトピックから作って発行する
  3. robot_state_publisherを frame_pfrefixに {prefix}を設定して実行しておく

https://github.com/ros/robot_state_publisher/blob/8b5af4f31e0f754c7c262eb487ccd3956cb788cc/src/robot_state_publisher.cpp#L124

terakoji-pfr avatar Jul 19 '24 05:07 terakoji-pfr

@terakoji-pfr ありがとうございます。試してみます。

atinfinity avatar Jul 19 '24 05:07 atinfinity

https://zenn.dev/ame_b/articles/da4636a0a8048fを参考にし、カチャカROS 2ブリッジが配信する地図は利用し、カチャカROS 2ブリッジからodom、map間のtfを配信しないようにすることで対応できました。ROS 2ブリッジの起動オプションで切り替えられるとよいかもしれません。

atinfinity avatar Sep 10 '24 06:09 atinfinity