1291.74 계층적 의사 결정에서의 역할 분담
복잡한 로봇 시스템의 행동 제어는 단일 의사 결정 계층으로 해결하기 어려우며, 추상화 수준이 상이한 다수의 의사 결정 계층을 계층적으로 배치하는 아키텍처가 요구된다. 행동 트리(Behavior Tree, BT)와 유한 상태 머신(Finite State Machine, FSM)은 계층적 의사 결정 아키텍처에서 각각의 강점에 기반하여 상호 보완적인 역할을 분담할 수 있다.
1. 계층적 의사 결정 아키텍처의 구조
로봇 시스템의 의사 결정은 일반적으로 다음의 세 가지 추상화 수준으로 분류된다.
전략 계층(Strategic Layer): 임무의 전체적인 목표 설정, 우선순위 결정, 임무 할당 등 최상위 수준의 의사 결정을 담당한다. 시간 척도는 수 분에서 수 시간 단위이며, 의사 결정의 빈도는 상대적으로 낮다.
전술 계층(Tactical Layer): 전략 계층에서 설정된 목표를 달성하기 위한 구체적인 행동 계획과 반응적 행동 선택을 담당한다. 시간 척도는 수 초에서 수 분 단위이며, 환경 변화에 대한 적응적 의사 결정이 수행된다.
실행 계층(Execution Layer): 전술 계층에서 결정된 행동을 물리적 하드웨어 수준에서 실행하는 저수준 제어를 담당한다. 시간 척도는 수 밀리초에서 수 초 단위이며, 정밀한 제어와 절차적 순서 보장이 요구된다.
2. 각 체계의 역할 배치
행동 트리와 유한 상태 머신의 구조적 특성에 기반하여, 각 의사 결정 계층에서의 역할을 다음과 같이 배치할 수 있다.
2.1 전술 계층에서의 행동 트리
전술 계층은 행동 트리의 핵심 적용 영역이다. 이 계층에서는 다수의 가능한 행동 중에서 현재 환경 조건에 가장 적합한 행동을 선택하는 반응적 의사 결정이 수행되며, 행동 트리의 다음 특성이 효과적으로 활용된다.
첫째, 리액티브 노드를 통한 우선순위 기반 행동 선택이 자연스럽게 표현된다. 안전 조건, 배터리 관리, 긴급 상황 대응 등의 우선순위를 트리의 계층 구조로 반영할 수 있다.
둘째, 서브트리를 통한 모듈적 행동 구성이 가능하다. 순찰, 탐색, 조작 등 다양한 임무 행동을 독립적인 서브트리로 설계하고 조합할 수 있다.
셋째, 환경 변화에 따른 행동 전환이 트리 구조에 의해 자동으로 수행된다. 명시적인 전이 규칙 없이도 조건 변화 시 적절한 대안 행동으로의 전환이 이루어진다.
2.2 실행 계층에서의 유한 상태 머신
실행 계층은 유한 상태 머신의 구조적 이점이 극대화되는 영역이다. 이 계층에서는 다음의 특성이 요구된다.
첫째, 엄격한 절차적 순서의 보장이다. 하드웨어 초기화, 도킹 시퀀스, 공구 교환 등의 물리적 절차에서 단계의 건너뜀이나 역행이 허용되지 않는다.
둘째, 명시적 상태 추적이다. 현재 절차의 진행 단계를 정확하게 파악하고, 오류 발생 시 정확한 복구 지점을 결정할 수 있어야 한다.
셋째, 전이 제약의 구조적 보장이다. 특정 상태에서만 허용되는 행동과 전이를 전이 규칙의 존재/부재에 의해 원천적으로 강제한다.
2.3 전략 계층에서의 선택
전략 계층의 의사 결정은 시스템의 복잡도와 요구 사항에 따라 행동 트리, 유한 상태 머신, 또는 별도의 태스크 플래너(Task Planner)가 적용될 수 있다. 다수의 임무 간 전환이 빈번한 시스템에서는 행동 트리의 구조적 유연성이 유리하고, 임무 모드 간의 전환이 소수이고 엄격한 경우에는 유한 상태 머신이 적합하다.
3. 계층 간 인터페이스 설계
계층 간의 효과적인 역할 분담을 위해서는 명확한 인터페이스 설계가 필수적이다.
행동 트리(전술 계층)에서 유한 상태 머신(실행 계층)으로의 하향 인터페이스는 행동 트리의 액션 노드가 내부적으로 유한 상태 머신을 구동하는 형태로 구현된다. 액션 노드는 유한 상태 머신의 최종 결과를 Success 또는 Failure로 변환하여 상위 트리에 반환한다.
유한 상태 머신(실행 계층)에서 행동 트리(전술 계층)로의 상향 인터페이스는 블랙보드 변수를 통해 현재 실행 상태, 진행률, 오류 정보 등을 전달하는 형태로 구현된다. 행동 트리의 조건 노드가 이 정보를 읽어 전술적 의사 결정에 반영한다.
4. 역할 분담의 설계 기준
계층적 의사 결정에서 행동 트리와 유한 상태 머신의 역할 경계를 결정하기 위한 설계 기준은 다음과 같다.
첫째, 반응성 요구 수준이다. 환경 변화에 대한 신속한 적응이 요구되는 영역에는 행동 트리를 배치한다.
둘째, 상태 추적 요구 수준이다. 현재 시스템의 논리적 단계를 명시적으로 추적하고 전이 제약을 보장해야 하는 영역에는 유한 상태 머신을 배치한다.
셋째, 모듈성 요구 수준이다. 행동의 독립적 추가, 제거, 교체가 빈번한 영역에는 행동 트리를 배치한다.
넷째, 검증 요구 수준이다. 형식적 검증이나 인증이 요구되는 안전 관련 영역에는, 검증이 용이한 유한 상태 머신을 배치한다.
참고 문헌
- 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.
- Arkin, R. C. (1998). Behavior-Based Robotics. MIT Press.