1291.21 이동 로봇 임무에서 상태 머신의 한계 사례

1291.21 이동 로봇 임무에서 상태 머신의 한계 사례

1. 이동 로봇 임무의 특성

자율 이동 로봇(Autonomous Mobile Robot, AMR)의 임무는 일반적으로 목표 지점으로의 내비게이션, 장애물 회피, 환경 탐색, 물체 운반 등을 포함한다. 이러한 임무는 정적 환경에서의 단순한 지점 간 이동에서부터, 동적 환경에서의 다중 목표 순회, 미지 환경에서의 탐색까지 광범위한 복잡도 범위에 걸쳐 있다.

이동 로봇 임무에서 유한 상태 머신(FSM)의 한계가 각 복잡도 수준에서 어떻게 발현되는지를 구체적 사례를 통하여 분석한다.

2. 사례 1: 다중 목표점 순찰 임무

2.1 임무 시나리오

이동 로봇이 5개의 순찰 지점 W_1, W_2, \ldots, W_5를 순환적으로 방문하며, 각 지점에서 30초간 정지하여 환경을 감시하는 임무를 수행한다. 이동 중 장애물이 감지되면 회피 기동을 수행하고, 배터리 잔량이 20% 미만이면 충전 스테이션으로 복귀한다.

2.2 FSM 설계의 상태 분석

이 임무를 FSM으로 설계하면 다음 상태가 필요하다:

  • 이동 상태: W_i로의 이동 (5개)
  • 감시 상태: W_i에서의 감시 (5개)
  • 장애물 회피: 각 이동 상태에서의 회피 (5개)
  • 충전 복귀: 충전 스테이션으로의 이동 (1개)
  • 충전 중 (1개)
  • 비상 정지 (1개)

기본 상태만으로도 18개이며, 각 이동 상태에서 장애물 회피와 배터리 부족 조건에 대한 전이가 필요하다. 순찰 지점이 10개로 증가하면 기본 상태가 31개로 증가하며, 전이 수는 비례적으로 폭증한다.

2.3 복합 상황에서의 상태 폭발

실제 운용에서는 다음과 같은 복합 상황이 발생한다:

  • 장애물 회피 중 배터리 부족 감지
  • 충전 복귀 중 경로 상 통과 불가능한 장애물 발견
  • 위치 추정(localization) 품질 저하로 인한 이동 정확도 불량
  • 통신 단절 상태에서의 자율 판단 요구

이러한 상황의 조합을 FSM으로 표현하면, “회피_중_배터리부족”, “충전복귀_중_장애물”, “이동_중_위치추정실패“와 같은 복합 상태가 필요하며, 상태 수가 기하급수적으로 증가한다.

3. 사례 2: 동적 환경에서의 일일 감시 임무

3.1 임무 시나리오

물류 창고에서 이동 로봇이 일일 감시 임무를 수행한다. 작업 시간대에는 작업자와 지게차가 이동하는 동적 환경이며, 야간에는 정적 환경이다. 로봇은 환경의 동적 수준에 따라 이동 속도와 감시 전략을 조정해야 한다.

3.2 FSM의 한계

동적 환경 수준(정적, 저동적, 고동적)에 따라 각 행동 상태가 3배로 분화된다: “정적환경_이동_중”, “저동적환경_이동_중”, “고동적환경_이동_중” 등. 환경 수준의 전환이 이동, 감시, 회피 등 모든 행동 상태에서 발생할 수 있으므로, 환경 수준 변수의 추가만으로 전체 상태 공간이 3배로 확장된다.

행동 트리에서는 환경 수준을 블랙보드 변수로 관리하고, 각 행동 노드가 블랙보드의 환경 수준 값을 참조하여 자체적으로 행동을 조정하므로, 상태 공간의 확장이 발생하지 않는다.

4. 사례 3: SLAM 통합 탐색 임무

4.1 임무 시나리오

미지의 환경에서 이동 로봇이 SLAM(Simultaneous Localization and Mapping)을 수행하면서 환경을 탐색하는 임무이다. 탐색 전략(프론티어 기반 탐색, 무작위 탐색 등)의 동적 전환, SLAM 품질 모니터링, 루프 클로저(loop closure) 감지, 지도 저장 등 다수의 동시적 행동이 요구된다.

4.2 FSM의 한계

SLAM 통합 탐색에서 FSM이 직면하는 핵심 한계는 다음과 같다:

  1. 다중 동시 행동의 표현: 이동, SLAM 처리, 탐색 전략 결정, 배터리 모니터링이 동시에 진행되어야 하며, 이를 FSM의 단일 활성 상태로 표현하면 s_{\text{이동}} \times s_{\text{SLAM}} \times s_{\text{탐색}} \times s_{\text{배터리}}의 곱공간이 필요하다.
  2. 반응적 전략 전환: SLAM의 품질이 저하되면 현재 탐색 행동에 관계없이 즉시 품질 복구 행동(제자리 회전, 특징점 다수 지역으로 이동 등)으로 전환해야 하며, 이를 위하여 모든 상태에서 SLAM 품질 관련 전이가 정의되어야 한다.
  3. 탐색 전략의 동적 교체: 환경 특성(개방 공간, 좁은 복도, 방 구조 등)에 따라 탐색 전략을 동적으로 교체해야 하며, FSM에서 이를 구현하려면 각 전략에 대한 별도의 상태 집합과 전략 간 전환 전이가 필요하다.

5. 행동 트리에 의한 해결

행동 트리는 상기 사례들의 한계를 다음과 같이 구조적으로 해결한다:

  • Parallel 노드: 다중 동시 행동(이동, 모니터링, SLAM)을 Parallel 노드의 자식으로 배치하여 동시 실행을 표현한다.
  • Fallback/Sequence 조합: 복합 상황에 대한 대응 전략을 Fallback과 Sequence의 조합으로 선언적으로 구성한다.
  • 블랙보드 기반 조건 평가: 환경 수준, 배터리 잔량, SLAM 품질 등을 블랙보드 변수로 관리하고, 조건 노드가 이를 평가하여 실행 흐름을 동적으로 결정한다.
  • 서브트리 교체: 탐색 전략의 동적 교체를 SwitchNode나 서브트리 로딩을 통하여 구현한다.

6. 참고 문헌

  • Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
  • Macenski, S., Martín, F., White, R., & Clavero, J. G. (2020). “The Marathon 2: A Navigation System.” IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).
  • Yamauchi, B. (1997). “A Frontier-Based Approach for Autonomous Exploration.” IEEE International Symposium on Computational Intelligence in Robotics and Automation (CIRA), 146–151.

v0.1.0