1291.22 드론 비행 임무에서 상태 머신의 한계 사례

1291.22 드론 비행 임무에서 상태 머신의 한계 사례

1. 드론 비행 임무의 특수성

무인 항공기(Unmanned Aerial Vehicle, UAV) 또는 드론의 자율 비행 임무는 지상 이동 로봇에 비하여 다음과 같은 추가적 특수성을 가진다:

  1. 3차원 운동 공간: 고도, 방향, 속도의 3차원적 제어가 필요하며, 중력에 대한 지속적 양력(lift) 유지가 필수적이다.
  2. 실시간 안전 제약: 비행 중 시스템 고장이 발생하면 즉각적인 안전 조치(비상 착륙, 자동 복귀)가 필수적이며, 지상 로봇에 비하여 안전 요구사항이 엄격하다.
  3. 환경 변수의 다양성: 풍속, 기온, 습도, 기압 등 기상 조건이 비행 성능에 직접적 영향을 미친다.
  4. 에너지 제약: 비행의 에너지 소비가 지상 이동에 비하여 크므로, 배터리 잔량에 따른 행동 전환이 빈번하다.
  5. 규제 제약: 비행 고도, 비행 금지 구역, 지오펜스(geofence) 등 규제 준수가 행동 제어에 통합되어야 한다.

2. 사례 1: 다중 웨이포인트 촬영 임무

2.1 임무 시나리오

드론이 5개의 웨이포인트를 순차적으로 방문하며, 각 지점에서 항공 사진을 촬영하는 임무를 수행한다. 비행 단계는 이륙 → 상승 → 순항(웨이포인트 간 이동) → 촬영 대기 → 촬영 → 다음 웨이포인트로 이동 → 하강 → 착륙이며, 전 과정에서 배터리, 풍속, GPS, 통신, 지오펜스 상태를 모니터링한다.

2.2 FSM 상태 분석

기본 비행 단계만으로도 8개의 상태가 필요하며, 각 웨이포인트에서의 촬영 관련 상태(접근, 정밀 위치 조정, 촬영, 확인)가 추가로 5×4 = 20개이다. 여기에 다음 상태 변수를 고려하면:

상태 변수값의 수
비행 단계8
GPS 상태3 (Fix, Float, 실패)
풍속 수준3 (정상, 주의, 위험)
배터리 수준3 (정상, 경고, 위험)
통신 상태3 (정상, 불안정, 단절)
지오펜스 상태3 (내부, 경계, 침범)

상태 변수의 곱공간: 8 \times 3^5 = 8 \times 243 = 1{,}944개 상태가 된다. 각 상태에서의 대응 행동과 전이를 정의하는 것은 비실용적이다.

2.3 FSM에서 발현되는 구체적 문제

  1. 비상 착륙의 전역적 전이: GPS 실패, 모터 이상, 풍속 초과 등 비상 상황에서 현재 비행 단계에 관계없이 비상 착륙으로 전환해야 하며, 이를 위하여 모든 상태에서 비상 착륙으로의 전이가 필요하다.
  2. 자동 복귀(RTL)의 조건적 활성화: 통신 단절이 일정 시간 지속되면 자동 복귀(Return to Launch, RTL) 행동이 활성화되어야 하나, RTL 중에도 장애물 회피와 지오펜스 준수가 병행되어야 한다.
  3. 촬영 행동의 비행 행동 의존성: 촬영을 위한 정밀 위치 조정(hovering)은 풍속에 의존하며, 풍속 상태에 따라 촬영 성공/실패/재시도의 전이가 분기된다.

3. 사례 2: 장거리 자율 화물 배달

3.1 임무 시나리오

드론이 10km 거리의 배달 지점으로 화물을 배달하는 임무에서, 비행 경로 상의 기상 변화, 공역(airspace) 제한, 배터리 소비 예측, 대안 착륙 지점 탐색 등이 동시에 관리되어야 한다.

3.2 FSM 한계의 심화

장거리 비행에서 FSM의 한계는 다음과 같이 심화된다:

  1. 적응적 경로 재계획: 기상 변화나 공역 제한에 의하여 비행 경로를 런타임에 재계획해야 하며, 재계획 결과에 따라 비행 단계의 전환이 동적으로 결정되어야 한다. FSM에서 이를 구현하려면 경로 재계획 결과의 모든 가능한 출력에 대한 전이를 사전에 정의해야 한다.
  2. 다단계 안전 정책의 구현: 배터리 잔량에 따른 3단계 안전 정책—(1) 경고: 임무 단축, (2) 위험: 최단 경로 복귀, (3) 위급: 즉시 착륙—을 모든 비행 단계에서 구현하려면, 비행 단계 수 × 배터리 수준 수의 곱만큼 상태가 필요하다.
  3. 대안 착륙 지점의 동적 선택: 비상 시 현재 위치에서 가장 가까운 안전한 착륙 지점을 선택하는 동적 의사 결정이 요구되며, 이는 FSM의 정적 전이 구조로는 자연스럽게 표현되지 않는다.

4. 사례 3: 군집 드론 임무

군집 드론(drone swarm)이 협력하여 넓은 영역을 탐색하는 임무에서, 각 드론의 행동 제어에 다른 드론의 위치, 탐색 진행 상황, 통신 상태 등이 조건으로 개입한다. N대의 드론이 각각 s개의 상태를 가질 때 시스템 전체의 FSM 상태 수는 s^N으로 폭증하며, 드론 수가 5대 이상으로 증가하면 FSM 기반 조정이 비실용적이다.

5. 행동 트리에 의한 해결 패턴

드론 비행 임무에서 행동 트리는 다음 패턴으로 FSM의 한계를 해결한다:

  1. ReactiveFallback 기반 안전 계층: 최상위 수준에서 ReactiveFallback 노드를 배치하여 비상 조건(GPS 실패, 모터 이상, 배터리 위급)을 매 Tick마다 재평가하고, 비상 시 즉시 안전 행동으로 전환한다.
  2. Parallel 노드를 통한 병행 모니터링: 비행 제어, 센서 모니터링, 통신 관리를 Parallel 노드의 자식으로 동시 실행한다.
  3. 블랙보드 기반 동적 의사 결정: GPS 상태, 풍속, 배터리 수준 등을 블랙보드에 지속적으로 갱신하고, 조건 노드가 이를 평가하여 실행 흐름을 결정한다.
  4. 서브트리를 통한 비행 단계 모듈화: 이륙, 순항, 촬영, 착륙 등 각 비행 단계를 독립적 서브트리로 구성하여 재사용성과 독립적 테스트를 보장한다.

6. 참고 문헌

  • Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
  • Iovino, M., Scukins, E., Styrud, J., Ögren, P., & Smith, C. (2022). “A Survey of Behavior Trees in Robotics and AI.” Robotics and Autonomous Systems, 154, 104096.
  • Schopferer, S., & Torens, C. (2018). “Behavior Trees for UAV Mission Management.” AIAA Information Systems—AIAA Infotech @ Aerospace.

v0.1.0