BehaviorTree.CPP의 개요와 설계 목적 (Overview and Design Purpose of BehaviorTree.CPP)

BehaviorTree.CPP의 개요와 설계 목적 (Overview and Design Purpose of BehaviorTree.CPP)

1. 개요

BehaviorTree.CPP는 Davide Faconti에 의해 개발된 C++ 기반의 오픈 소스 행동 트리 라이브러리이다. 로봇 공학 및 자율 시스템에서의 의사 결정 구현에 최적화되어 있으며, Nav2, MoveIt2 등 주요 ROS2 프레임워크의 행동 계획 엔진으로 채택되어 있다.

2. 설계 목적

  1. 행동 로직의 외부화: XML 기반 정의로 코드 재컴파일 없이 행동 수정 가능
  2. 재사용 가능한 노드: 플러그인 아키텍처를 통한 노드 라이브러리 구축
  3. 타입 안전 데이터 흐름: 블랙보드 포트의 컴파일 타임 타입 검증
  4. 실시간 시각화: Groot2를 통한 모니터링과 편집
  5. 경량성: 최소 의존성으로 임베디드 시스템 지원

3. 주요 적용 분야

분야활용
ROS2 내비게이션Nav2 행동 계획 엔진
매니퓰레이션MoveIt2 작업 계획
드론임무 계획 및 비상 대응
서비스 로봇고객 응대 행동

4. 참고 문헌

  • Colledanchise, M., & Ogren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
  • BehaviorTree.CPP 공식 문서. https://www.behaviortree.dev/

버전날짜변경 사항
v0.12026-04-05초안 작성