1291.75 로봇공학에서의 행동 트리 도입 역사
행동 트리(Behavior Tree, BT)는 게임 인공지능(Game AI) 분야에서 기원하여, 2010년대 이후 로봇공학 분야로 도입되어 급속히 확산되었다. 본 절에서는 행동 트리가 로봇공학에 도입된 역사적 과정을 시간 순서에 따라 기술한다.
1. 게임 AI에서 로봇공학으로의 기술 이전
행동 트리는 2000년대 초반 게임 산업에서 비플레이어 캐릭터(Non-Player Character, NPC)의 행동 제어를 위해 개발되었으며, Halo 2(2004)와 Unreal Engine 4(2014)에서의 채택을 통해 게임 AI의 사실상의 표준(De Facto Standard)으로 자리매김하였다. 게임 AI에서 입증된 행동 트리의 모듈성, 반응성, 가독성이라는 설계 장점은 로봇공학 연구자들의 관심을 끌었다.
게임 AI와 로봇 행동 제어는 동적으로 변화하는 환경에서 자율적 에이전트(Autonomous Agent)의 의사 결정을 구현한다는 공통된 문제 구조를 공유한다. 이 유사성에 기반하여, 2010년대 초반부터 로봇공학 연구자들이 행동 트리를 로봇 시스템의 행동 제어에 적용하는 연구를 본격적으로 시작하였다.
2. 초기 학술 연구 (2010–2015)
로봇공학에서의 행동 트리 연구는 2010년대 초반 스웨덴 왕립 공과대학교(KTH Royal Institute of Technology)의 Petter Ögren 연구 그룹에서 선도적으로 수행되었다. Ögren과 그의 박사과정 학생인 Michele Colledanchise는 행동 트리의 형식적 분석과 로봇공학 적용에 관한 일련의 연구를 발표하였다.
이 시기의 연구는 행동 트리의 수학적 정의, 안전성 및 활동성(Liveness) 속성의 형식적 보장, 유한 상태 머신과의 비교 분석 등 이론적 기반의 구축에 집중되었다. 특히 행동 트리의 모듈적 합성이 시스템의 안전성 속성을 보존하는 조건에 대한 연구는 안전 임계적(Safety-Critical) 로봇 시스템에서 행동 트리의 적용 가능성을 이론적으로 뒷받침하였다.
3. 교과서 출판과 학문적 정립 (2018)
Colledanchise와 Ögren은 2018년에 Behavior Trees in Robotics and AI: An Introduction을 CRC Press에서 출판하였다. 이 교과서는 행동 트리의 형식적 정의, 설계 원칙, 로봇공학 적용 사례를 체계적으로 정리한 최초의 포괄적 참고 문헌으로서, 행동 트리의 로봇공학 도입을 학문적으로 정립하는 데 핵심적 기여를 하였다.
이 교과서의 출판을 전후하여 행동 트리에 관한 학술 논문의 수가 급격히 증가하였으며, IEEE Robotics and Automation Letters, ICRA, IROS 등 주요 로봇공학 학술 대회와 저널에서 행동 트리를 주제로 한 논문이 정규적으로 발표되기 시작하였다.
4. BehaviorTree.CPP 라이브러리의 등장 (2018–2019)
Davide Faconti가 개발한 BehaviorTree.CPP 라이브러리는 행동 트리의 실용적 구현을 위한 오픈 소스 C++ 라이브러리로서, 2018년경에 공개되었다. 이 라이브러리는 XML 기반의 트리 정의, 블랙보드를 통한 데이터 공유, 포트 기반의 타입 안전한 인터페이스, Groot 시각화 도구 등 산업 수준의 기능을 제공하였으며, ROS2와의 통합을 위한 인터페이스를 포함하였다.
BehaviorTree.CPP의 등장은 행동 트리를 연구 수준의 개념에서 실용적 구현 도구로 전환시키는 결정적 역할을 수행하였다. 이 라이브러리는 이후 Nav2를 비롯한 다수의 ROS2 프로젝트에서 표준 행동 트리 라이브러리로 채택되었다.
5. Nav2에서의 채택 (2020)
ROS2의 내비게이션 스택인 Nav2(Navigation 2)는 행동 트리를 전체 내비게이션 임무의 흐름 제어에 채택한 대표적 사례이다. Nav2의 설계진인 Steve Macenski 등은 기존 ROS1의 내비게이션 스택(move_base)이 유한 상태 머신 기반의 경직된 흐름 제어를 사용하여 사용자 정의(Customization)가 어렵다는 한계를 인식하고, Nav2에서 BehaviorTree.CPP를 기반으로 한 행동 트리를 내비게이션 흐름의 핵심 제어 구조로 도입하였다.
Nav2에서의 행동 트리 채택은 로봇공학 생태계에서 행동 트리의 실용적 가치를 입증한 전환점으로 평가되며, 이후 MoveIt2를 비롯한 다수의 ROS2 프로젝트가 행동 트리의 도입을 검토하거나 채택하는 계기가 되었다.
6. 학술적 확산과 서베이 (2020 이후)
2020년 이후 행동 트리에 관한 학술 연구는 형식적 검증, 자동 생성, 학습 기반 구성, 다중 로봇 시스템 적용 등 다양한 방향으로 확산되었다. Iovino 등(2022)은 Robotics and Autonomous Systems에 로봇공학과 인공지능에서의 행동 트리에 관한 포괄적 서베이를 발표하여, 행동 트리 연구의 현황과 향후 방향을 체계적으로 정리하였다.
참고 문헌
- Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
- Iovino, M., Scukins, E., Styrud, H., Ögren, P., & Smith, C. (2022). “A Survey of Behavior Trees in Robotics and AI.” Robotics and Autonomous Systems, 154, 104096.
- Macenski, S., Martín, F., White, R., & Clavero, J. G. (2020). “The Marathon 2: A Navigation System.” Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
- Faconti, D., & Aurys, M. (2022). BehaviorTree.CPP Documentation. https://www.behaviortree.dev/