関谷さん,
メール見ました.
使ってるのはMayekawaさんのmove_base.launchでしょうか?
おそらく...Roombaの発行するフレームが,odom -> base_linkなのが間違いの元かと思います.
このroomba_500_seriesというノード,マニュアルがイマイチですね・・・
仕方なくコードを見ましたが,base_frame_idと,odom_frame_idというパラメータがあるようです.
これで,base_link(デフォルト)をbase_frameに変えましょう.
あと,hector_mappingですが,SLAMして自己位置を直す時は,
/mapから/odomにずれた分だけ変換を発行するのが基本だと思いますので (amclはそうします),その部分の連携が間違っていると思います.
ざっと見た感じですが,以下の箇所を直してみてください.
>> move_base.launch
URLは
https://github.com/DaikiMaekawa/ros-navigation2d-example/blob/master/launch/move_base.launch
14行目
<node pkg="roomba_500_series" type="roomba500_light_node"
respawn="false" name="roomba500_light_node" output="screen"/>
を
<node pkg="roomba_500_series" type="roomba500_light_node"
respawn="false" name="roomba500_light_node" output="screen">
<param name="base_frame_id" value="base_frame" />
<param name="odom_frame_id" value="odom" />
<param name="port" value="/dev/ttyUSB0" />
</node>
に.これでbase_linkはbase_frameになる
portは自分の設定に直してください.
んで,hector_mappingの方ですが
>> hector_hokuyo.launch
URLは
https://github.com/DaikiMaekawa/ros-navigation2d-example/blob/master/launch/hector_hokuyo.launch
16行目
<arg name="odom_frame" value="base_frame"/>
を
<arg name="odom_frame" value="odom"/>
にする.
としてみてはどうでしょうか.
できればargとか使って綺麗に直したいところですが,上記で試してみてください.
hector_mappingも使ったのは大分昔でうろ覚えですし,roombaは使ったことがないので未確認のコードですが・・・
2014年12月24日 15:12 関屋大樹 <
noppos...@gmail.com>: