이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → AI 로보틱스 & Embodied AI — 몸을 가진 지능 → AI 로보틱스 & Embodied AI — 물리 세계의 지능 → 학습 기반 로보틱스
Nav2 stack architecture, costmaps, path planners (NavFn/Theta*/Smac), local planners (DWB/MPPI), AMCL localization, recovery behaviors, simple_commander Python API, waypoint following, deployment.
로봇이 자율적으로 이동하려면 자율 주행 프레임워크가 필요합니다.
나브투는 ROS 2의 공식 자율 주행 프레임워크예요.
ROS 1의 무브베이스를 완전히 재설계해서 모듈화와 확장성을 극대화했어요.
그림 상단 중앙을 보세요. 비헤이비어 트리 내비게이터가 전체 흐름을 관장해요.
비헤이비어 트리가 화살표로 네 개의 서버에 연결돼 있죠.
왼쪽 초록 박스가 플래너 서버예요. 전역 경로를 계획하는 역할이에요.
나브에프엔, 에스맥, 세타스타 같은 알고리즘을 플러그인으로 교체할 수 있어요.
그 옆 주황 박스가 컨트롤러 서버예요. 계획된 경로를 실시간으로 추종해요.
디더블유비, 엠피피아이, 알피피 같은 로컬 컨트롤러를 선택할 수 있죠.
빨간 박스는 리커버리 서버예요. 경로를 잃었을 때 복구 동작을 실행해요.
회전, 후진, 대기 같은 복구 행동을 순서대로 시도합니다.
오른쪽 보라 박스가 코스트맵 투디예요. 환경을 비용 지도로 표현해요.
정적 맵, 장애물 레이어, 인플레이션 레이어가 합쳐져서 하나의 비용 지도가 돼요.
그림 아래쪽을 보세요. 나브투가 실제로 사용되는 네 가지 사례가 있어요.
서빙 로봇은 웨이포인트 팔로잉으로 테이블까지 음료를 배달해요.
물류 에이지브이는 창고에서 다층 내비게이션으로 물건을 옮겨요.
청소 로봇은 커버리지 플래너로 빈틈없이 바닥을 청소해요.
보안 순찰 로봇은 슬램과 결합해서 자동 순찰 경로를 따라 이동해요.
오른쪽 아래 주황 박스를 보면 무브베이스와의 차이가 나와 있어요.
무브베이스는 FSM 기반이라 상태 전환이 경직됐지만 나브투는 비헤이비어 트리라 유연해요.
무브베이스는 플래너가 하나였지만 나브투는 여러 플래너를 동시에 쓸 수 있어요.
정리하면 나브투는 플래너, 컨트롤러, 리커버리를 플러그인으로 자유롭게 교체하는 모듈형 구조예요.
산업용 서빙 로봇부터 연구용 탐사 로봇까지 나브투 하나로 커버할 수 있습니다.
선생님: 나브투에서 비헤이비어 트리가 왜 FSM보다 더 적합할까요?
학생: FSM은 상태 전환이 고정돼서 새로운 복구 동작을 추가하려면 전체 구조를 바꿔야 하잖아요.
학생: 비헤이비어 트리는 서브트리를 추가하거나 교체하면 되니까 훨씬 유연해요.
선생님: 맞아요. 특히 실패 처리가 트리의 Fallback 노드로 자연스럽게 표현돼서 복구 로직이 깔끔해져요.
선생님: 또한 서브트리를 재사용할 수 있어서 여러 로봇 플랫폼에 같은 행동 패턴을 적용할 수 있답니다.