
navigate_to_pose_w_replanning_and_recovery.xml

Groot2에서 확인한 트리

Navigation Subtree는 3개의 파트로 이루어짐
The ComputePathToPose subtree clears the global costmap. The global costmap is the relevant costmap in the context of the planner 경로 계산 실패 시 글로벌 코스트맵을 초기화. global path planning(기본값: A star 알고리즘)과 관련된 알고리즘.
The FollowPath subtree clears the local costmap. The local costmap is the relevant costmap in the context of the controller 경로 이동 실패 시 로컬 코스트맵을 초기화. local path planning(기본값: DWB -- Dynamic Window Approach의 변형)
Navigation Subtree에서의 RecoveryFallback이 충분하지 않은 경우, Navigation Subtree는 Failure를 리턴하고 Recovery Subtree 노드로 이동해서 시스템 레벨의 모든 navigation failure를 삭제
실제 파일 경로: /opt/ros/humble/share/nav2_bt_navigator/behavior_trees/navigate_to_pose_w_replanning_and_recovery.xml
MonitorAndFollowPath Subtree를 사용해서 더 긴 경로(PathLongerOnApproach)가 감지되면 CancelingControlAndWait 로 로봇의 컨트롤을 취소하고 지정된 시간(위에서는 5초) 동안 대기시킨다. 지정된 시간이 지난 후 1번 더 기존 경로보다 긴 경로를 감지했는지 확인 후, 장애물이 없다면 기존 경로대로 이동하고 장애물이 있다면 새로운 경로대로 이동한다.