자율 로봇, 드론, 차량은 독립적으로 작업을 수행할 수 있습니다. 하지만 이들을 하나의 군집(fleet)으로 조정하는 것은 다른 공학적 과제를 야기합니다. 즉, 모든 플랫폼이 다른 플랫폼과 충돌을 일으키지 않으면서 할당된 작업을 완료해야 합니다.
드론이 고가 구조물을 검사하고, 지상 로봇이 장비를 점검하며, 자율 차량이 자재를 배달하는 산업 운영을 가정해 봅시다. 각 플랫폼은 자체적인 역량, 내비게이션 요구 사항 및 작동 제약 조건을 가지고 있습니다. 하지만 이들의 임무는 공유 경로, 자원 가용성, 그리고 성공적인 인계(handover)에 의존할 수 있습니다.
이 지점에서 혼합 군집 조정(mixed fleet coordination)이 중요해집니다. 모든 자율 기계를 고립된 시스템으로 취급하기보다는, 군집 수준의 계획(fleet-level planning)은 로봇들의 작업 간의 종속성(dependencies)을 관리하면서도 국지적 자율성(local autonomy)을 유지합니다.
- 독립적인 자율성이 충분하지 않은 이유
개별 로봇이 환경을 성공적으로 탐색할 수 있더라도, 전체 운영은 비효율적일 수 있습니다.
예를 들어, 두 대의 로봇이 같은 좁은 통로를 예약하거나, 배달 차량이 수령 작업 준비가 되기 전에 도착하거나, 드론 검사가 통신 중단 후에도 미완성으로 남을 수 있습니다.
이러한 문제들은 반드시 개별 플랫폼의 실패 때문인 것은 아닙니다. 플랫폼들이 자원을 공유하고 서로의 활동에 의존하기 때문에 발생합니다.
군집 조정 계층(fleet coordination layer)은 여러 책임을 관리할 수 있습니다:
- 플랫폼 역량 및 가용성에 따라 임무 할당.
- 공유 경로 및 자원 예약 조정.
- 작업 진행 상황 및 완료 추적.
- 충전 요구 사항 및 임무 인계 관리.
- 플랫폼 실패 후 미완성 작업 재할당.
- 조건 변화에 따라 일관된 군집 수준 상태 유지.
목표는 각 플랫폼을 독립적으로 최적화하는 것이 아니라, 전체 운영의 성능을 향상시키는 것입니다.
- 역량 및 종속성을 중심으로 태스크 할당 설계하기
태스크 할당은 단순히 어떤 플랫폼이 먼저 사용 가능한지에만 고려해서는 안 됩니다.
임무는 특정 센서, 페이로드(payload), 작동 범위, 위치 또는 에너지 비축량을 요구할 수 있습니다. 또한 작업 시작 전에 다른 태스크가 완료되는 것에 의존할 수도 있습니다.
유용한 태스크 기록에는 다음 정보가 포함되어야 합니다:
- 고유한 태스크 식별자.
- 임무 목표 및 위치.
- 요구되는 플랫폼 역량.
- 현재 할당 및 태스크 상태.
- 다른 태스크에 대한 의존성.
- 관련 자원 예약.
- 완료 또는 검증 요구 사항.
드론이 고가 구조물을 점검하고, 지상 로봇이 접근 가능한 영역을 조사하며, 차량이 지정된 장소로 자재를 배달하는 간단한 순서를 고려해 보세요.
플릿 플래너(fleet planner)는 이러한 임무들이 동시에 실행될 수 있는지, 아니면 서로 의존하는지 판단해야 합니다. 또한 태스크가 '할당됨', '시작됨', '완료됨', 그리고 '검증됨' 상태를 구분해야 합니다.
이러한 구분이 없다면, 시스템은 미완성된 임무를 완료된 것으로 잘못 처리하거나 동일한 작업을 여러 플랫폼에 할당할 수 있습니다.
- 경로 충돌 및 자원 교착 상태 방지
공유 환경은 개별 경로 플래너(path planner)가 항상 독립적으로 해결할 수 없는 조정 문제를 야기합니다.
로봇이 이미 다른 플랫폼이 예약한 통로가 필요할 수 있습니다. 배달 차량은 예상보다 오래 적재 구역을 차지할 수 있습니다. 여러 로봇이 동일한 충전 스테이션에 접근해야 할 수도 있습니다.
한 가지 접근 방식은 플릿 레벨 스케줄링(fleet-level scheduling)과 시간 제한 자원 예약(time-bounded resource reservation)을 결합하는 것입니다.
예를 들어, 플랫폼은 특정 간격 동안 공유 통로를 예약할 수 있습니다. 다른 플랫폼들은 그 예약을 중심으로 이동 일정을 짤 수 있습니다. 만약 첫 번째 플랫폼이 지연된다면, 나머지 플릿이 구식 가정을 바탕으로 계속 작동하지 않도록 예약 정보를 업데이트해야 할 수도 있습니다.
교착 상태(Deadlock)를 방지하려면 추가적인 주의가 필요합니다. 두 플랫폼이 각각 상대방이 보유한 자원을 기다리게 되어 어느 쪽도 진행할 수 없는 상황이 발생할 수 있습니다. 자원 순서 지정, 예약 정책, 시간 초과 처리, 그리고 복구 절차 등이 이러한 위험을 줄이는 데 도움이 될 수 있습니다.
이러한 메커니즘들은 실제 환경을 대상으로 평가되어야 합니다. 넓은 창고에서 작동하는 전략이 좁은 산업 통로나 공중 및 지상 플랫폼이 공유하는 환경에는 적절하지 않을 수 있습니다.
1. 작업 중복 없이 실패로부터 복구하기
실패 복구는 협업 시스템을 테스트하는 가장 중요한 시험대 중 하나입니다.
드론이 검사를 시작했지만 임무가 완료되었다고 확인되기 전에 사용 불능 상태가 되었다고 상상해 봅시다. 즉시 동일한 검사를 다른 드론에 할당하는 것이 합리적으로 보일 수 있지만, 원래 플랫폼의 상태는 불확실할 수 있습니다. 일부 작업을 완료했을 수도 있고, 신뢰할 수 있는 통신 링크 없이 여전히 작동 중일 수도 있습니다.
더 안전한 재할당 워크플로우는 확인된 정보와 가정(assumption)을 분리합니다.
단계 1: 영향을 받은 작업을 식별합니다. 사용 불능 상태인 플랫폼과 관련된 임무가 무엇인지 결정합니다.
단계 2: 마지막으로 확인된 상태를 점검합니다. 해당 임무가 완료되었는지, 미완료인지, 취소되었는지, 아니면 검증을 기다리고 있는지 확립합니다.
단계 3: 기존 할당을 해결합니다. 대체 작업을 발행하기 전에 작업 기록을 업데이트하여 시스템이 상충되는 활성 할당을 유지하지 않도록 합니다.
단계 4: 적절한 대체품을 선택합니다. 플랫폼의 역량, 자원 가용성, 위치, 에너지 요구 사항 등을 확인합니다.
단계 5: 공유 자원을 재검증합니다. 대체 임무가 기존 경로 예약이나 다른 할당과 충돌하지 않을지 확인합니다.
단계 6: 복구 결과를 기록합니다. 대체 임무가 수락되었는지, 시작되었는지, 완료되었는지, 그리고 검증되었는지를 추적합니다.
이 과정이 모든 실패 시나리오를 제거하는 것은 아니지만, 재할당 결정을 내리는 더 명확한 기반을 제공합니다.
또한, 전송 데이터(telemetry)가 누락되었다고 해서 자동으로 실패의 증거로 해석해서는 안 되는 이유도 강조합니다. 통신 손실은 불확실성을 야기하며, 이를 처리하기 위한 명시적인 정책이 조정 시스템에 필요합니다.
- 군집 수준 계획과 로컬 제어를 분리
군집(fleet) 조정 아키텍처는 여러 플랫폼에 영향을 미치는 결정과 개별 플랫폼에 속하는 결정을 구별해야 합니다.
군집 수준 계획은 임무 우선순위, 작업 할당, 공유 자원 예약 및 인계 타이밍을 결정할 수 있습니다. 로컬 컨트롤러는 플랫폼별 내비게이션, 장애물 회피 및 보호 기능을 처리합니다.
이러한 분리는 중앙 디스패처가 모든 움직임을 관리해야 할 필요성을 줄여줍니다.
이는 네트워크 중단 시에도 중요합니다. 군집 수준 통신이 불가능해지면 로봇은 미리 정의된 로컬 작동 및 보호 절차를 따라야 합니다. 설계와 운영 환경에 따라 허용된 로컬 작업을 계속 수행하거나, 일시 정지하거나, 지정된 상태로 복귀하거나, 통신이 재개될 때 도움을 요청할 수 있습니다.
올바른 대응은 모든 로봇이나 차량에 동일하다고 가정하는 것이 아니라 특정 시스템을 위해 정의되어야 합니다.
조정 소프트웨어는 군집 일정을 유지하기 위해서만 플랫폼별 안전 요구 사항을 무시해서는 안 됩니다.
- 측정 가능한 결과를 통한 조정 평가
성공적인 시연은 여러 로봇이 이상적인 조건에서 임무를 완료하는 것 이상의 것을 보여주어야 합니다.
시뮬레이션은 물리적 시스템에 연결하기 전에 경로 충돌, 지연된 메시지, 사용 불가능한 자원 및 플랫폼 실패를 도입할 수 있는 통제된 방법을 제공합니다.
유용한 평가 지표는 다음과 같습니다:
| 지표 | 측정 내용 |
|---|
| 군집 처리량 (Fleet throughput) | 정의된 기간 내에 완료된 작업 |
| 작업 중복 (Task duplication) | 반복되거나 충돌하는 작업 할당 |
| 교착 상태 (Deadlocks) | 자원 충돌로 인해 진행이 불가능한 상황 |
| 충전 가능성 (Charging availability) | 필요한 시점에 플랫폼이 충전에 접근할 수 있는지 여부 |
미스된 핸드오버(Missed handovers)
태스크 또는 플랫폼 간의 실패한 전환(Failed transitions between tasks or platforms)
장애 발생 행동(Outage behavior)
통신 손실 시 플랫폼이 정의된 로컬 절차를 따르는지 여부
실패 복구 시간(Failure recovery time)
영향을 받은 임무나 운영을 복원하는 데 필요한 시간
이러한 지표들은 함께 고려되어야 합니다. 더 높은 처리량(throughput)이 더 많은 중복 태스크, 실패한 핸드오버 또는 해결되지 않은 자원 충돌을 동반한다면 반드시 개선이라고 할 수 없습니다.
테스트는 또한 시뮬레이션된 결과와 실제 세계의 결과를 구별해야 합니다. 시뮬레이션은 태스크 할당 및 복구 로직의 약점을 드러낼 수 있지만, 물리적 통합은 추가적인 통신, 센싱, 타이밍 제약을 도입합니다.
- 작게 시작하여 점진적으로 확장하기 (Start Small and Expand Incrementally)
실용적인 첫 번째 시연에서는 세 가지 임무 유형을 사용할 수 있습니다: 공중 검사(aerial inspection), 지상 검사(ground inspection), 그리고 자재 배송(material delivery).
제한된 수의 시뮬레이션 플랫폼과 공유 디스패치 인터페이스로 시작합니다. 태스크 할당, 자원 예약, 상태 변화 및 복구 이벤트를 기록합니다. 그런 다음 통제된 실패를 도입하여 플릿이 태스크를 중복하거나 추가적인 충돌을 생성하지 않고 회복할 수 있는지 테스트합니다.
조정 로직(coordination logic)이 평가되면, 사용 가능한 물리적 플랫폼들을 점진적으로 통합할 수 있습니다.
이러한 접근 방식은 시스템 복잡성을 증가시키기 전에 태스크 스케줄링, 플랫폼 인터페이스 및 공유 상태 관리에서 문제를 격리하기 쉽게 만듭니다.
혼합 플릿 조정(mixed fleet coordination) 및 분산 지능(distributed intelligence)에 대한 연구는 물리적 AI(Physical AI)와 자율 물류(autonomous logistics)라는 더 넓은 분야 내에서 이러한 과제들을 탐구합니다.
결론
신뢰할 수 있는 혼합 플릿은 단순히 역량이 뛰어난 개별 로봇만으로는 부족합니다. 이들은 태스크 의존성, 공유 자원, 임무 상태 및 조건이 변경될 때의 복구를 관리하는 조정 계층(coordination layer)을 필요로 합니다.
가장 강력한 설계는 플릿 수준 계획(fleet-level planning)과 로컬 자율성을 구별하고, 통신 지연을 불확실성의 원천으로 취급하며, 정상 조건과 실패 조건 모두에서 성능을 평가합니다.
엔지니어링 팀은 처리량(throughput), 태스크 중복(task duplication), 교착 상태(deadlocks), 핸드오버(handovers), 그리고 복구 동작(recovery behavior)을 측정함으로써 협력이 실제로 운영 개선에 도움이 되는지 판단할 수 있습니다. 이러한 원칙들은 산업 검사, 물류, 자재 처리 전반에 걸쳐 더욱 신뢰성 있는 자율 시스템을 개발하기 위한 실질적인 출발점을 제공합니다.