396.18 임무 실행 단계의 프로세스
1. 임무 실행 단계의 정의와 범위
임무 실행 단계(Mission Execution Phase)는 사전에 수립되고 검증된 임무 계획을 실제 물리 환경에서 로봇 시스템이 수행하는 핵심 단계이다. 이 단계는 임무 준비가 완료되어 GO 판정이 내려진 시점에서 시작하여, 임무 목표가 달성되거나 종료 조건이 충족될 때까지 지속된다.
임무 실행 단계의 시간 구간 [t_{\text{start}}, t_{\text{end}}]에서 시스템의 동적 행위는 다음과 같은 이산-연속 혼합 시스템(Hybrid System)으로 모델링된다.
\begin{cases} \dot{\mathbf{x}}_c(t) = f(\mathbf{x}_c(t), \mathbf{u}(t)) & \text{(연속 역학)} \\ \mathbf{x}_d(t^+) = g(\mathbf{x}_d(t), \sigma(t)) & \text{(이산 전이)} \end{cases}
여기서 \mathbf{x}_c는 연속 상태 벡터(위치, 속도 등), \mathbf{u}는 제어 입력, \mathbf{x}_d는 이산 상태(현재 실행 중인 과업, 임무 단계 등), \sigma는 이산 전이를 유발하는 이벤트이다.
2. 실행 루프의 구조
임무 실행 단계의 핵심은 주기적으로 반복되는 실행 루프(Execution Loop)이다. 실행 루프는 다음과 같은 단계로 구성된다.
2.1 감지-판단-행동(Sense-Decide-Act) 순환
임무 실행의 기본 프로세스는 감지-판단-행동(SDA, Sense-Decide-Act) 순환 구조를 따른다. 각 순환 주기 \Delta t마다 다음 세 단계가 순차적으로 수행된다.
감지(Sense): 센서 데이터를 수집하고 전처리하여 현재 시스템 상태와 환경 상태를 파악한다. 감지 단계의 출력은 상태 추정 벡터 \hat{\mathbf{x}}(t)이다.
\hat{\mathbf{x}}(t) = h(\mathbf{z}(t), \hat{\mathbf{x}}(t - \Delta t))
여기서 \mathbf{z}(t)는 시각 t의 센서 관측 벡터, h는 상태 추정 함수(예: 칼만 필터, 파티클 필터)이다.
판단(Decide): 현재 상태를 기반으로 다음에 수행할 행동을 결정한다. 판단 과정은 임무 관리 로직(행동 트리, 상태 머신 등)에 의하여 수행되며, 다음과 같은 의사 결정 함수 \pi로 표현된다.
a_{\text{next}} = \pi(\hat{\mathbf{x}}(t), \mathcal{P}, \mathbf{x}_d(t))
여기서 \mathcal{P}는 현재 임무 계획, a_{\text{next}}는 선택된 다음 행동이다.
행동(Act): 선택된 행동을 실제 로봇 하드웨어에 명령으로 변환하여 실행한다. 행동 실행 결과는 환경에 영향을 미치며, 다음 감지 단계의 입력으로 반영된다.
2.2 다중 주기 실행 구조
실제 로봇 시스템에서는 SDA 순환이 단일 주기로 동작하지 않으며, 다중 주기(Multi-Rate) 구조를 채택한다. 각 기능 계층은 고유한 실행 주기를 가진다.
| 계층 | 기능 | 전형적 주기 | 예시 |
|---|---|---|---|
| 반사 계층(Reactive Layer) | 충돌 회피, 긴급 정지 | 1~10 ms | 근접 센서 기반 장애물 회피 |
| 제어 계층(Control Layer) | 경로 추종, 자세 제어 | 10~50 ms | PID 제어, MPC |
| 숙고 계층(Deliberative Layer) | 경로 재계획, 과업 전환 | 100~1000 ms | 전역 경로 계획, 행동 트리 틱 |
| 임무 계층(Mission Layer) | 임무 진행 평가, 재계획 결정 | 1~10 s | 임무 진행률 평가, 재할당 |
각 계층의 주기 \Delta t_k는 해당 계층이 다루는 시간 상수(Time Constant)에 적합하게 설정되어야 하며, 하위 계층의 주기가 상위 계층보다 짧아야 한다.
\Delta t_{\text{reactive}} < \Delta t_{\text{control}} < \Delta t_{\text{deliberative}} < \Delta t_{\text{mission}}
3. 과업 전이 프로세스
3.1 과업 완료 판정
실행 중인 과업 \tau_i의 완료 여부는 사전에 정의된 과업 완료 조건(Task Completion Condition) \psi_i에 의하여 판정된다. 과업 완료 판정 함수는 다음과 같다.
\text{completed}(\tau_i) = \begin{cases} \text{true} & \text{if } \psi_i(\hat{\mathbf{x}}(t)) = \text{true} \\ \text{false} & \text{otherwise} \end{cases}
과업 완료 조건은 위치 도달(Position Reached), 시간 경과(Time Elapsed), 센서 값 조건(Sensor Value Condition) 등 다양한 형태로 정의될 수 있다.
3.2 과업 전이 절차
현재 과업이 완료되면 다음 과업으로의 전이가 수행된다. 과업 전이 절차는 다음 단계를 따른다.
- 현재 과업 종결(Finalization): 현재 과업과 관련된 자원을 해제하고, 실행 결과와 상태를 기록한다.
- 사후 조건 검증(Postcondition Verification): 현재 과업의 사후 조건(Postcondition) \psi_{\text{post}}(\tau_i)가 충족되었는지를 검증한다.
- 다음 과업 선택(Next Task Selection): 임무 계획의 과업 순서와 현재 상태에 따라 다음에 실행할 과업 \tau_{i+1}을 선택한다.
- 사전 조건 검증(Precondition Verification): 다음 과업의 사전 조건 \phi_{\text{pre}}(\tau_{i+1})이 충족되는지를 확인한다.
- 과업 초기화(Task Initialization): 다음 과업에 필요한 자원을 확보하고, 제어 파라미터를 설정한다.
- 실행 시작(Execution Start): 새 과업의 실행을 개시한다.
과업 전이에 소요되는 시간 \tau_{\text{transition}}은 다음과 같이 분해된다.
\tau_{\text{transition}} = \tau_{\text{finalize}} + \tau_{\text{verify}} + \tau_{\text{select}} + \tau_{\text{init}}
이 전이 시간은 가능한 한 최소화하여 임무 수행 효율을 높여야 한다.
4. 임무 진행 상태 추적
4.1 진행률 산출
임무 실행 중 전체 임무의 진행 상황을 추적하기 위하여 임무 진행률(Mission Progress Rate) \rho(t)를 지속적으로 산출한다. 진행률은 두 가지 방식으로 계산될 수 있다.
과업 기반 진행률: 완료된 과업 수를 기준으로 산출한다.
\rho_{\text{task}}(t) = \frac{\sum_{i=1}^{n} w_i \cdot \mathbb{1}[\text{completed}(\tau_i, t)]}{\sum_{i=1}^{n} w_i}
시간 기반 진행률: 경과 시간 대비 예상 완료 시간의 비율로 산출한다.
\rho_{\text{time}}(t) = \frac{t - t_{\text{start}}}{T_{\text{estimated}}}
두 진행률 간의 차이 \Delta\rho = \rho_{\text{task}} - \rho_{\text{time}}는 임무 수행의 적시성(Timeliness)을 나타내는 지표로 활용된다. \Delta\rho > 0이면 계획 대비 앞서 진행 중이며, \Delta\rho < 0이면 지연되고 있음을 의미한다.
4.2 상태 보고(Status Reporting)
임무 실행 중 시스템은 주기적 또는 이벤트 기반으로 상태를 보고한다. 상태 보고 메시지 \mathcal{R}(t)에 포함되는 정보는 다음과 같다.
- 현재 위치 및 자세 (\mathbf{p}(t), \mathbf{q}(t))
- 현재 실행 중인 과업 식별자 \text{id}(\tau_{\text{current}})
- 임무 진행률 \rho(t)
- 배터리 잔량 E_{\text{battery}}(t)
- 시스템 건전성 상태(Health Status) \mathcal{H}(t)
- 감지된 이상 징후(Anomaly) 목록
5. 실행 중 적응적 프로세스
5.1 국소적 경로 조정(Local Path Adjustment)
임무 실행 중 사전에 계획되지 않은 장애물이 출현하거나 환경 조건이 변화할 경우, 전체 임무를 재계획하지 않고 국소적으로 경로를 조정하는 프로세스이다. 국소 경로 조정의 범위 \delta_{\text{local}}은 다음과 같이 정의된다.
\delta_{\text{local}} = \|\mathbf{p}_{\text{adjusted}} - \mathbf{p}_{\text{planned}}\|
\delta_{\text{local}}이 사전 정의된 임계값 \delta_{\text{max}}를 초과할 경우, 국소 조정이 아닌 전역 재계획이 필요하다고 판단한다.
\text{if } \delta_{\text{local}} > \delta_{\text{max}} \implies \text{trigger\_replanning}()
5.2 동적 과업 우선순위 조정
실행 환경의 변화에 따라 과업의 우선순위를 동적으로 조정하는 프로세스이다. 과업 \tau_i의 동적 우선순위 p_i(t)는 다음과 같이 산출된다.
p_i(t) = p_i^{\text{static}} + \alpha \cdot u_i(t) + \beta \cdot d_i(t) + \gamma \cdot c_i(t)
여기서 p_i^{\text{static}}은 정적 우선순위, u_i(t)는 긴급도(Urgency), d_i(t)는 기한까지의 여유 시간(Slack), c_i(t)는 문맥적 중요도(Contextual Importance), \alpha, \beta, \gamma는 가중 계수이다.
5.3 자원 동적 재배분
실행 중 자원의 가용성이 변화하면(예: 배터리 소모, 센서 고장 등), 남은 과업에 대한 자원 배분을 동적으로 재조정한다. 자원 재배분 문제는 다음과 같은 최적화 문제로 정식화된다.
\max_{\mathbf{r}} \sum_{i \in \text{remaining}} u_i(\mathbf{r}_i) \quad \text{subject to} \quad \sum_{i} \mathbf{r}_i \leq \mathbf{R}_{\text{available}}(t)
여기서 \mathbf{r}_i는 과업 \tau_i에 배분되는 자원 벡터, u_i는 자원 배분에 따른 유용도 함수, \mathbf{R}_{\text{available}}(t)는 시각 t에서의 가용 자원이다.
6. 예외 상황 처리 프로세스
6.1 이상 감지(Anomaly Detection)
임무 실행 중 정상 범위를 벗어나는 상황을 감지하는 프로세스이다. 이상 감지는 다음의 두 가지 방식으로 수행된다.
규칙 기반 이상 감지: 사전에 정의된 규칙에 따라 센서 값, 시스템 상태, 환경 조건이 허용 범위를 벗어났는지를 검사한다.
\text{anomaly}(t) = \bigvee_{j=1}^{m} \left( x_j(t) \notin [x_j^{\min}, x_j^{\max}] \right)
통계적 이상 감지: 관측값이 정상 분포에서 벗어나는 정도를 마할라노비스 거리(Mahalanobis Distance)로 측정한다.
D_M(\mathbf{x}) = \sqrt{(\mathbf{x} - \boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu})}
여기서 \boldsymbol{\mu}는 정상 상태의 평균 벡터, \boldsymbol{\Sigma}는 공분산 행렬이다. D_M > D_{\text{threshold}}일 때 이상 상황으로 판정한다.
6.2 에스컬레이션 체계(Escalation Framework)
감지된 이상 상황의 심각도에 따라 단계적으로 대응 수준을 높이는 에스컬레이션 체계가 적용된다. 에스컬레이션 수준과 대응 행동은 다음과 같다.
| 수준 | 상황 | 대응 행동 |
|---|---|---|
| Level 1 (경고) | 경미한 편차 감지 | 로그 기록, 모니터링 강화 |
| Level 2 (주의) | 지속적 편차 또는 성능 저하 | 행동 파라미터 조정, 운영자 통보 |
| Level 3 (위험) | 과업 수행 불가 또는 안전 위협 | 현재 과업 중단, 재계획 요청 |
| Level 4 (비상) | 즉각적 안전 위협 | 임무 전체 중단, 안전 복귀 실행 |
에스컬레이션 판정 함수 L_{\text{esc}}는 다음과 같이 정의된다.
L_{\text{esc}} = \arg\min_{l} \{ l \mid \text{severity}(\text{anomaly}) \leq \theta_l \}
여기서 \theta_l은 수준 l의 심각도 임계값이다.
7. 실행 로그 기록
임무 실행 단계의 모든 활동은 실행 로그(Execution Log)에 기록되어야 한다. 로그 항목 \mathcal{L}_k는 다음과 같은 구조를 가진다.
\mathcal{L}_k = (\text{timestamp}_k, \text{type}_k, \text{source}_k, \text{data}_k)
여기서 \text{timestamp}_k는 기록 시각, \text{type}_k는 로그 유형(INFO, WARNING, ERROR 등), \text{source}_k는 로그 생성 모듈, \text{data}_k는 구조화된 데이터이다.
로그 데이터는 임무 종료 후 사후 분석 단계에서 활용되며, 임무 수행 역량의 지속적 개선을 위한 기초 자료를 제공한다. 로그 기록의 주기와 상세도는 저장 용량과 실시간 성능 간의 트레이드오프를 고려하여 결정해야 한다.
8. 참고 문헌
- Ghallab, M., Nau, D., & Traverso, P. (2016). Automated Planning and Acting. Cambridge University Press.
- Ingrand, F., & Ghallab, M. (2017). “Deliberation for autonomous robots: A survey.” Artificial Intelligence, 247, 10–44.
- Colledanchise, M., & Ögren, P. (2018). Behavior Trees in Robotics and AI: An Introduction. CRC Press.
- Arkin, R. C. (1998). Behavior-Based Robotics. MIT Press.
- Brooks, R. A. (1986). “A robust layered control system for a mobile robot.” IEEE Journal on Robotics and Automation, 2(1), 14–23.
v0.1.0