ros navigationのRecovery behaviorについて
概要
ros navigationのRecovery behaviorについてメモ。
Recovery behaviorモードになる条件
Recovery behaviorってたまに、コンソール画面で見たりしますよね。
たとえば、以下のようなROS_INFOですね。ロボットがスタックした時のある条件になった際に切り替わるモードですね。
[ WARN] [1622255733.929612884, 158.241000000]: Rotate recovery behavior started.
move_baseのコードを読んでいて、切り替わる条件ってなんだってググったら出てきた。。
精読の手間が省けました。
感謝、感謝。
記事を見ると。。
- max_planning_retries回,ローカルプランニング試行しても経路が得られなかった場合
- oscillation_timeout秒,振動行動が継続した場合
- controller_patience秒,停止状態が継続した場合
上記の3つの条件うち、どれか一つでも満たされた場合CLEARINGモードに移行し、runBehaviorメソッドが呼び出されて、Recovery behaviorモードになります。