ロボット研究開発、ソフトウェア開発、コンテンツ制作配信

【備忘録】ROS1 move_baseのログを保存する

ROS1で、move_baseを使って自律走行させていますが、たまに自律走行がエラーで失敗することがあります。
なぜ自律走行が失敗したのか?の要因を掴まないと改善が先に進まないので、move_baseのログを保存するようにしました。
備忘録としてブログにまとめておきます。

スポンサーリンク

move_base.launchのoutputを”log”に変更

launchファイルの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はブラックボックスで中身をあまり理解していませんが、そろそろちゃんと理解していく必要があるのかもしれません。
それでは。

スポンサーリンク

いいね!を押すと、
最新記事をお届けします。

Twitter で
関連記事(一部広告含む)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン