1291.10 상태 머신의 반응성 (Reactivity) 한계

1. 반응성의 개념적 정의

반응성(reactivity)은 자율 에이전트가 환경의 변화를 실시간으로 감지하고, 현재 수행 중인 행동에 관계없이 변화된 환경에 적절하게 대응하는 능력을 지칭한다. Arkin (1998)은 로봇의 행동 제어에서 반응적 행동(reactive behavior)을 “감각 자극에 대하여 사전 계획된 전략 없이 즉각적으로 대응하는 행동“으로 정의하였다.

자율 로봇 시스템에서 반응성은 안전(safety)과 직결되는 핵심 속성이다. 이동 로봇이 경로 추종 중 예상하지 못한 장애물을 감지하면 즉시 회피 행동으로 전환해야 하며, 비행 드론이 급격한 풍속 변화를 감지하면 현재 임무에 관계없이 안정화 행동을 우선 실행해야 한다. 이러한 반응성이 결여되면 로봇은 위험 상황에 적시에 대응하지 못하여 물리적 손상이나 임무 실패를 초래할 수 있다.

2. 유한 상태 머신의 반응성 구조

유한 상태 머신(FSM)에서 행동 전환은 현재 활성 상태에서 정의된 전이 규칙에 의해서만 발생한다. 상태 q_i에서 이벤트 \sigma가 발생하면 전이 함수 \delta(q_i, \sigma)에 의하여 다음 상태가 결정된다. 이는 다음과 같은 구조적 특성을 가진다:

  1. 전이의 상태 의존성: 동일한 이벤트 \sigma에 대한 반응이 현재 상태에 따라 상이하다. 전이 \delta(q_1, \sigma) = q_a\delta(q_2, \sigma) = q_b가 서로 다른 대상 상태를 가질 수 있다.
  2. 명시적 전이 요구: 특정 이벤트에 대한 반응이 필요한 모든 상태에서 해당 이벤트에 대한 전이를 개별적으로 정의해야 한다.
  3. 미정의 전이의 무반응: 상태 q_i에서 이벤트 \sigma에 대한 전이가 정의되어 있지 않으면, 해당 이벤트는 무시된다.

3. 반응성 한계의 구체적 사례

3.1 전역적 긴급 이벤트의 처리

“비상 정지(emergency stop)” 이벤트는 로봇의 현재 상태에 관계없이 즉시 처리되어야 하는 전역적(global) 이벤트이다. FSM에서 이를 구현하려면, n개의 모든 상태에서 비상 정지 상태로의 전이를 개별적으로 정의해야 한다:

\forall q_i \in Q: \delta(q_i, \sigma_{\text{estop}}) = q_{\text{stop}}

이는 n개의 전이 규칙을 요구하며, 새로운 상태가 추가될 때마다 비상 정지 전이도 함께 추가해야 한다. e개의 전역적 긴급 이벤트가 존재하면 총 n \times e개의 긴급 전이가 필요하다.

3.2 조건 기반 행동 전환의 지연

FSM에서 조건 기반 행동 전환은 현재 상태의 전이 규칙에 의해서만 평가된다. 예를 들어, “배터리 잔량이 20% 미만이면 충전 복귀“라는 조건이 모든 상태에서 평가되어야 한다면, 각 상태에서 이 조건을 가드로 하는 전이를 정의해야 한다. 만약 특정 상태에서 이 가드 전이가 누락되면, 해당 상태에 있는 동안 배터리 위험 상황이 감지되지 않는 반응성 결함이 발생한다.

3.3 우선순위 기반 행동 전환의 부재

FSM은 이벤트의 우선순위(priority)를 구조적으로 지원하지 않는다. 동일 상태에서 복수의 이벤트가 동시에 발생할 경우, 전이의 우선순위는 FSM의 형식적 정의에 포함되지 않으며, 구현 수준에서 임의적(ad hoc)으로 결정된다. 이는 “장애물 감지“와 “배터리 부족” 이벤트가 동시에 발생할 때 어떤 행동을 우선 실행할 것인지에 대한 체계적 결정 메커니즘이 부재함을 의미한다.

4. 반응적 FSM의 한계와 비용

FSM에 반응성을 부여하기 위한 공학적 접근이 존재하나, 각 접근은 고유한 한계를 수반한다:

4.1 와일드카드 전이

일부 FSM 구현에서는 “모든 상태에서 적용ᅟᅮᆨ되는 전이(wildcard transition)“를 정의하는 확장 메커니즘을 제공한다. 이는 전역적 이벤트 처리의 편의성을 향상시키나, 특정 상태에서 와일드카드 전이를 억제(suppress)해야 하는 경우 예외 처리가 필요하며, 와일드카드 간의 우선순위 충돌이 발생할 수 있다.

4.2 이벤트 큐 기반 처리

이벤트 큐(event queue)를 도입하여 현재 상태의 행동이 완료된 후 큐에 축적된 이벤트를 순차적으로 처리하는 방식은, 이벤트 발생 시점과 처리 시점 사이에 지연(latency)을 유발하여 실시간 반응성을 저하시킨다. 긴급 이벤트가 큐에서 대기하는 동안 로봇이 위험 상황에 노출될 수 있다.

4.3 계층적 상태 머신의 반응성

HSM에서 상위 복합 상태의 전이는 내부의 모든 하위 상태에 대하여 적용되므로, 전역적 이벤트를 최상위 복합 상태의 전이로 정의하면 모든 하위 상태에서의 반응이 가능하다. 그러나 이는 복합 상태의 계층 설계에 반응성 요구사항이 내재화되어야 함을 의미하며, 계층 구조의 변경이 반응성에 영향을 미칠 수 있다.

5. 행동 트리의 구조적 반응성

행동 트리(Behavior Tree)에서 반응성은 Tick 메커니즘에 의하여 구조적으로 보장된다. 매 Tick 주기마다 트리가 루트 노드로부터 재평가되므로, 환경 변화에 의하여 조건 노드의 반환값이 변경되면 실행 흐름이 즉시 다른 브랜치로 전환된다.

특히 ReactiveFallback과 ReactiveSequence 노드는 매 Tick마다 첫 번째 자식 노드부터 재평가를 수행하여, 이전 Tick에서 Running 상태를 반환한 자식 노드보다 우선순위가 높은 자식 노드의 조건이 변경되면 즉시 실행 흐름을 전환한다. 이러한 암묵적 재평가(implicit re-evaluation) 메커니즘은 FSM에서 명시적 전이를 정의해야 하는 것과 대비되는 행동 트리의 본질적 반응성을 구현한다 (Colledanchise & Ögren, 2018).

6. 참고 문헌

  • Arkin, R. C. (1998). Behavior-Based Robotics. MIT Press.
  • Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
  • Marzinotto, A., Colledanchise, M., Smith, C., & Ögren, P. (2014). “Towards a Unified Behavior Trees Framework for Robot Control.” IEEE International Conference on Robotics and Automation (ICRA), 5420–5427.

v0.1.0