Open Source Robotics

고품질 오픈소스 로봇 프로젝트, 도구 및 소프트웨어의 엄선된 컬렉션.

BehaviorTree.CPP

Nav2와 ROS 2 시스템의 기반이 되는 로봇 작업 계획용 C++ 행동 트리 라이브러리

라이선스

MIT

개요

BehaviorTree.CPP는 로봇 작업 계획을 위한 행동 트리를 만들고 실행하는 C++ 라이브러리입니다. 트리는 XML로 정의되며, 블랙보드를 통해 데이터를 공유하는 Action, Condition, Control, Decorator 노드로 구성되고, 디버깅을 위한 로깅과 리플레이 기능을 제공합니다. ROS 2용 Nav2의 행동 기반 내비게이션의 토대입니다.

BehaviorTree.CPP는 로봇 공학에서 작업 계획 및 실행에 널리 사용되는 행동 트리 생성을 위한 고성능 C++ 라이브러리입니다. Nav2의 행동 기반 내비게이션 시스템의 기초입니다.

주요 특징: - XML 기반 트리 정의 - 커스텀 노드 타입(Action, Condition, Control, Decorator) - 데이터 공유를 위한 블랙보드 - 디버깅을 위한 로깅 및 재생 - 실시간 가능한 실행 - Groot 그래픽 편집기 - ROS 2 통합 - 광범위한 문서 및 튜토리얼

이 라이브러리는 조작 시퀀스부터 다중 로봇 조정까지 복잡한 작업 실행을 위해 많은 로봇 공학 회사에서 프로덕션에 사용되고 있습니다.

중요한 이유

BehaviorTree.CPP는 ROS 2에서 로봇 작업 계획을 위한 표준 프레임워크입니다. Nav2와 다른 많은 ROS 2 패키지가 의존하는, 복잡한 로봇 행동을 구조적으로 구성하는 방법을 제공하며 — 자율 로봇의 기반 인프라 역할을 합니다.

해결하는 문제

복잡한 로봇 행동(내비게이션, 물체 집기, 검사, 오류 복구)은 유한 상태 기계로 표현하기 어렵습니다. 행동 트리는 설계, 디버깅, 수정이 더 쉬운 모듈식 계층 구조의 대안을 제공합니다.

핵심 요점

  • 행동 트리 실행을 위한 업계 표준 C++ 라이브러리
  • Nav2 내비게이션과 많은 ROS 2 자율화 패키지의 기반
  • 시각적 행동 트리 설계를 위한 그래픽 편집기(Groot2)
  • 비동기 액션, 서브트리, 런타임 트리 수정 지원
  • 복잡한 로봇 행동을 위한 반응형 모듈식 아키텍처

대상

  • 자율 로봇 행동을 구축하는 ROS 2 개발자
  • 작업 계획 시스템을 설계하는 로보틱스 엔지니어
  • 맞춤형 내비게이션 행동이 필요한 Nav2 사용 팀
  • 행동 트리를 로봇 AI에 적용하는 게임 개발자

한계

  • C++ 라이브러리이므로 커스텀 노드 작성에 C++ 지식이 필요함
  • 행동 트리 설계 패턴에는 학습 곡선이 있음
  • Groot2 그래픽 편집기의 고급 기능은 상용임
  • 복잡한 트리를 디버깅하려면 tick 전파에 대한 이해가 필요함

이 웹사이트는 JavaScript가 필요합니다. 오픈소스 로봇 프로젝트를 탐색하려면 JavaScript를 활성화하세요.