【備忘録】ROS1 move_baseのログを保存する
ROS1で、move_baseを使って自律走行させていますが、たまに自律走行がエラーで失敗することがあります。
なぜ自律走行が失敗したのか?の要因を掴まないと改善が先に進まないので、move_baseのログを保存するようにしました。
備忘録としてブログにまとめておきます。
move_base.launchのoutputを”log”に変更
launchファイルのoutputを”log”に変更します。
1 |
<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="log"> |
logger levelを切り替える
launchファイルのoutputをlogに変更すると、以下のディレクトリにmove_baseのログが保存されるようになりますが、最低限のログしか保存されません。
[ログが保存される場所]
~/.ros/log/latest/move_base-x-stdout.log
そこで、move_base起動中に以下のコマンドを入力します。
rosservice call /move_base/set_logger_level {"logger: 'ros.move_base', level: 'debug'"}
これで、以下のようにmove_baseのログが、記録されていきます。
[DEBUG] [1726467003.067034568]: Publishing feedback for goal, id: /move_base-14-1726466966.366544369, stamp: 1726466966.37
[DEBUG] [1726467003.067131548]: Publishing feedback for goal with id: /move_base-14-1726466966.366544369 and stamp: 1726466966.37
[DEBUG] [1726467003.067241446]: In controlling state.
[DEBUG] [1726467003.067348270]: Got a valid command from the local planner: 0.000, 0.000, 0.000
[DEBUG] [1726467003.067424157]: Full control cycle time: 0.000454642
[DEBUG] [1726467003.167036845]: Publishing feedback for goal, id: /move_base-14-1726466966.366544369, stamp: 1726466966.37
[DEBUG] [1726467003.167145388]: Publishing feedback for goal with id: /move_base-14-1726466966.366544369 and stamp: 1726466966.37
[DEBUG] [1726467003.167271796]: In controlling state.
[DEBUG] [1726467003.167319088]: Goal reached!
[DEBUG] [1726467003.167368933]: Setting the current goal as succeeded
[DEBUG] [1726467003.167414923]: Setting status to succeeded on goal, id: /move_base-14-1726466966.366544369, stamp: 1726466966.37
[DEBUG] [1726467003.167455965]: Publishing result for goal with id: /move_base-14-1726466966.366544369 and stamp: 1726466966.37
[DEBUG] [1726467003.868925051]: Planner thread is suspending
最後に
これで、少しはエラー時の解析が進みそうです。
ただ、デフォルトでdebugログを記録するようにするにはどうすればよいのだろうか?毎回、rosservice callを実行するのも面倒です。
やっぱり、move_baseのソースをいじらないといけないのでしょうか。
正直、move_baseはブラックボックスで中身をあまり理解していませんが、そろそろちゃんと理解していく必要があるのかもしれません。
それでは。
スポンサーリンク