Nav2란?
Nav2(Navigation 2)는 ROS 2에서 로봇이 지도 위에서 목표 지점까지 스스로 이동하도록 만드는 공식 내비게이션 스택입니다. 단일 패키지가 아니라 여러 패키지의 모음(메타 패키지)으로, SLAM·로컬라이제이션·글로벌/로컬 플래너·코스트맵·컨트롤러·복구 행동 등을 행동 트리(Behavior Tree) 로 조합합니다.
역할 요약
| 구분 | 설명 |
|---|---|
| 지도 | 사전에 만든 맵 또는 온라인 SLAM 출력 |
| 로컬라이제이션 | amcl 등으로 맵 좌표계에서 로봇 자세 추정 |
| 경로 계획 | 글로벌 플래너(전체 경로) + 로컬 플래너(근접 회피·추종) |
| 코스트맵 | 장애물·인플레이션 등을 반영한 2D 그리드 |
| 행동 트리 | 목표 설정, 복구(spin, backup 등), BT XML로 흐름 정의 |
실제 사용 시에는 nav2_bringup의 런치·파라미터로 스택을 띄우고, nav2_msgs의 액션·서비스로 목표 pose를 넘기는 패턴이 일반적입니다.