본문 바로가기
기술보고서

분산형 다중 무인기 임무 할당 알고리즘 및 엣지 컴퓨팅 기반 구현 심층 분석

by 파서스에어로스페이스 2026. 8. 13.

현대의 다중 무인기(UAV) 및 군집 로봇 시스템은 수색 및 구조, 정찰, 농업, 물류 등 다양한 분야에서 그 중요성이 급격히 증대되고 있다. 이러한 시스템의 성공적인 운용을 위해서는 제한된 자원(연료, 컴퓨팅 파워, 대역폭)과 동적인 환경 변화 속에서 여러 무인기에 작업을 최적으로 분배하는 다중 로봇 임무 할당(MRTA, Multi-Robot Task Allocation) 기술이 필수적이다. 단일 중앙 서버가 모든 무인기의 상태를 수집하고 계획을 하달하는 중앙 집중식 제어 방식은 확장성의 한계, 통신 지연, 그리고 단일 장애점(SPOF, Single Point of Failure) 문제로 인해 실전 도입에 한계를 드러냈다1. 이에 따라 각 무인기가 엣지 컴퓨팅(Edge Computing) 환경에서 독립적으로 계산을 수행하고 인접한 객체와의 부분적인 통신을 통해 전역적인 합의(Global Consensus)에 도달하는 분산형 알고리즘이 현대 무인기 제어의 표준으로 자리 잡았다.

 

이 보고서는 무인기 임무 할당의 핵심 표준으로 평가받는 합의 기반 번들 알고리즘(CBBA, Consensus-Based Bundle Algorithm)의 수학적 원리와 다양한 환경 제약을 극복하기 위한 확장 알고리즘들을 심층 분석한다. 나아가, 이를 실제 현장에서 운용하기 위한 엣지 컴퓨팅 통신 아키텍처(ROS 2 및 DDS 미들웨어)를 평가하고, NVIDIA Jetson Orin, Raspberry Pi 5, Arduino Uno Q, ESP32 등 다양한 엣지 하드웨어 플랫폼에 구현하기 위한 구체적인 아키텍처 및 행동 트리(Behavior Tree) 통합 전략을 제시한다.

 

무인기 임무 할당 알고리즘의 패러다임 변화

초기의 분산형 임무 할당은 개별 작업에 대해 한 번에 하나씩 입찰을 진행하는 순차적 경매 방식에 의존했다. 대표적으로 합의 기반 경매 알고리즘(CBAA, Consensus-Based Auction Algorithm)은 단일 할당 문제(Single-assignment problem)를 해결하기 위해 설계되었으며, 시장 기반의 의사 결정 전략과 로컬 통신을 통한 충돌 해결 메커니즘을 결합했다2. CBAA에서 에이전트는 단일 임무에 입찰하고 승리 입찰 목록에서 더 높은 가치를 수신하면 해당 임무를 해제하는 단순한 논리를 취했다3. 그러나 무인기가 한 번의 비행 동안 여러 경유지 탐색이나 여러 표적 타격 등 다수의 임무를 연속적으로 수행해야 하는 다중 할당(Multi-assignment) 시나리오에서는 CBAA의 순차적 접근 방식이 과도한 통신 오버헤드와 연산 지연을 유발하는 치명적인 단점이 존재했다1.

 

이러한 한계를 극복하기 위해 제안된 것이 합의 기반 번들 알고리즘(CBBA)이다2. CBBA는 각 무인기가 수행할 여러 임무를 하나의 '번들(Bundle)'로 묶어 동시에 평가하고 입찰함으로써 연산 효율성과 수렴 속도를 비약적으로 향상시켰다. 다수의 작업이 병렬로 할당될 수 있기 때문에 순차 경매 대비 시스템 전체의 임무 할당 완료 시간이 대폭 단축되며, 무인기 간의 통신 토폴로지 변경이나 정보의 비대칭성에도 강건하게 충돌 없는 할당 결과를 보장한다1.

 

이와 별개로 통신 환경이 극도로 불안정하거나 고도의 비선형적 제약이 존재하는 엣지 환경에서는 딥러닝 기반의 강화학습(RL)이나 메타 휴리스틱 알고리즘이 결합되어 활용되기도 한다. 예를 들어, 개미 군집 최적화(ACO, Ant Colony Optimization) 기법은 무충돌 경로 계획 알고리즘과 결합하여 동시 임무 할당 및 경로 계획에 적용되어 복잡도를 낮추는 연구가 진행되었다5. 더불어, 통신망의 커버리지를 개선하기 위해 투입되는 무인기 지원 모바일 엣지 컴퓨팅(MEC) 환경에서는 사용자 스케줄링, 임무 오프로딩 비율, 무인기의 비행 속도 및 각도를 공동으로 최적화하기 위해 심층 결정론적 정책 경사(DDPG, Deep Deterministic Policy Gradient) 알고리즘이 도입된다6. DDPG 알고리즘은 연속적인 행동 공간과 고차원 상태 공간을 다루는 데 탁월하여 예측 불가능한 동적 환경에서 기존의 DQN(Deep Q-Network) 알고리즘보다 월등히 빠르고 안정적으로 최적의 정책을 수렴함으로써 최대 처리 지연을 최소화하는 데 성공했다6. 그럼에도 불구하고 제한된 엣지 연산 자원에서 통신 지연에 대한 강건성과 충돌 없는 할당에 대한 결정론적이고 수학적인 보장 측면을 고려할 때, CBBA 계열의 알고리즘은 여전히 군집 무인기 제어 구조의 근간을 이루고 있다.

 

합의 기반 번들 알고리즘(CBBA)의 수학적 정식화 및 심층 분석

CBBA는 중앙 서버의 개입 없이 분산화된 환경 내에서 강력한 확장성과 신뢰성을 바탕으로 다중 로봇 임무 할당을 수행하는 핵심 알고리즘이다7. 분산형 임무 할당 흐름은 크게 두 가지 주요 위상의 순환으로 이해할 수 있다. 먼저 에이전트의 내부 로직 영역에서는 번들 구성, 한계 비용 계산, 경로 순서화가 이루어지며, 이후 네트워크 영역으로 넘어가 입찰 브로드캐스트, 충돌 해결 행렬 계산, 최종 승자 결정이 수행된 뒤 다시 로컬 영역으로 루프백(Loop-back)하는 구조를 띤다. 이 지속적인 반복을 통해 전체 네트워크는 충돌 없는 전역적 할당에 도달하게 된다2.

 

1단계: 번들 구성 단계 (Bundle Building Phase)

번들 구성 단계에서 무인기 \(i\)는 탐지된 여러 임무 중에서 자신에게 가장 한계 효용(Marginal Gain)이 높은 임무를 탐욕적(Greedy)으로 선택하여 자신의 번들 \(b_i\)와 실행 경로 \(p_i\)에 추가한다8. 이 과정을 위해 개별 무인기는 다음과 같은 네 가지 핵심 데이터 구조를 메모리에 유지하며 상태를 추적한다.

 

데이터 구조 기호 명칭 (영문/국문) 설명 및 알고리즘 내 역할
\(b_i\) Bundle (번들) 현재 무인기 가 클레임을 걸고 획득한 임무들의 논리적 집합 및 정렬된 목록.
\(p_i\) Path (경로) 번들에 포함된 임무들이 실제 물리적 공간 및 시간상에서 실행될 기하학적·시간적 순서.
\(y_i\) Winning Bids (입찰 벡터) 무인기 가 각 임무 에 대해 파악하고 있는 현재까지의 최고 입찰가(Score) 목록.
\(z_i\) Winning Agents (승자 벡터) 무인기 의 관점에서 각 임무 를 낙찰받은 무인기의 ID 기록.

 

번들에 새로운 임무를 추가할 때, 점수 산정(Scoring)은 '한계 효용 체감의 법칙(Diminishing Marginal Gains)' 원칙을 엄격하게 따른다8. 무인기가 이미 많은 임무를 할당받아 경로의 길이가 길어질수록, 새롭게 추가되는 임무가 가져다주는 추가적인 이득(연료 소비 대비 임무 가치 등)은 단조 감소하게 된다. 무인기 \(i\)가 특정 임무 \(j\)경로 \(p_i\)내의 최적의 위치에 삽입했을 때 얻는 한계 점수 \(c_{ij}\)를 계산하고, 이 점수가 자신의 현재 입찰 리스트 \(y_{ij}\)에 기록된 기존 승자의 입찰가보다 클 경우에만 해당 임무를 자신의 번들에 추가하며 입찰을 갱신한다3. 무인기는 자신의 최대 할당 가능 수용량(Capacity) 한도인 \(L\)에 도달하거나, 더 이상 기존 입찰가를 능가할 수 있는 임무가 존재하지 않을 때까지 이 번들링 과정을 반복적으로 수행한다3.

 

2단계: 합의 및 충돌 해결 단계 (Consensus Phase)

무인기들은 자체적인 번들 구성을 완료한 직후, 인접한 네트워크 토폴로지 내의 이웃 무인기들에게 자신의 입찰 벡터 \(y_i\)와 승자 벡터 \(z_i\), 그리고 정보의 최신 상태를 판별하기 위한 업데이트 타임스탬프 벡터 \(s_i\)를 비동기적으로 브로드캐스트한다8. 현실의 엣지 네트워크에서는 통신 지연이나 패킷 손실로 인해 동일한 임무에 대해 여러 무인기가 동시다발적으로 자신을 승자로 인식하는 정보 불일치 및 충돌 현상이 빈번하게 발생한다.

 

이를 해결하기 위해 CBBA는 수신된 입찰가와 송신자의 정보를 바탕으로 정교하게 설계된 결정 트리 형태의 충돌 해결 행렬(Conflict Resolution Matrix) 규칙을 적용한다4. 예를 들어, 무인기 \(i\)가 이웃 무인기 \(k\)로부터 임무 \(j\)에 대한 데이터를 수신했을 때, 무인기 \(k\)가 무인기 \(i\)보다 더 높은 입찰가를 제시했고 타임스탬프상 더 최신의 정보를 가지고 있다면, 무인기 \(i\)는 해당 임무에 대한 자신의 소유권을 즉시 포기하고 승자 벡터 \(z_{i,j}\)를 \(k\)로 갱신한다4. 반대로 무인기 \(i\)가 더 높은 입찰가를 보유하고 있거나 수신된 정보가 과거의 낡은 데이터일 경우, 무인기 \(i\)는 기존 입찰 상태를 그대로 유지한다4.

 

CBBA 합의 메커니즘의 가장 큰 특징은 연쇄적 무효화(Sequential Invalidation) 로직이다. 무인기가 번들 내의 특정 임무에 대한 입찰에서 패배하여 해당 임무를 방출(Release)하게 되면, 그 임무 이후에 번들에 추가되었던 모든 후속 임무들은 이전 임무의 존재를 전제로 계산된 한계 효용을 지니고 있으므로 그 점수 체계가 더 이상 유효하지 않게 된다. 따라서 알고리즘은 해당 시점 이후의 모든 임무를 번들에서 일괄 제거(Truncation)하고, 다음 반복 주기에서 완전히 새로운 상태로 입찰을 재시도하도록 강제한다4. 이러한 엄격한 점수 초기화 메커니즘을 통해 CBBA는 모든 무인기가 동일한 목표 함수를 추종할 경우 중앙 통제 없이도 최적 해의 최소 50% 성능을 보장(Worst-case performance guarantee)하며, 교착 상태 없이 완벽한 무충돌 할당 상태로 수렴함을 수학적으로 입증하였다1.

 

동적 환경 및 대규모 군집을 위한 CBBA 확장 아키텍처

순수한 CBBA 알고리즘은 소규모 완전 연결(Fully connected) 통신망 내에서는 흠잡을 데 없이 동작하지만, 수십 대 이상의 이종(Heterogeneous) 무인기가 투입되거나 실시간으로 새로운 임무가 지속적으로 발생하는 복잡한 엣지 환경에서는 치명적인 통신 병목 현상과 확장성의 한계를 노출한다12. 무인기 대수와 임무의 수가 늘어날수록 전역적 합의를 위한 \(\mathcal{O}(N^2)\)수준의 메시지 교환량이 네트워크 대역폭을 억압하기 때문이다. 이를 해결하기 위해 생태계에서는 다음과 같은 획기적인 파생 알고리즘들을 개발해왔다.

 

대규모 이종 군집을 위한 계층형 클러스터링 기반 모델

통신 네트워크의 물리적 밀집도와 무인기간 연산 및 탑재 자원의 이질성을 동시에 고려하여 통신 오버헤드를 극적으로 줄이는 접근법으로, 2계층 클러스터링 기반 CBBA(TLC-CBBA, Two-Level Clustered CBBA)와 중앙성 주도 및 부하 인식 적응형 클러스터링(CLAC-CBBA, Centrality-Driven and Load-Aware Adaptive Clustering CBBA) 알고리즘이 널리 활용된다12. 이 알고리즘들의 핵심 설계 철학은 자연계 생물학적 군집(Swarm)의 자가 조직화(Self-organization) 특성을 차용하여, 전체 네트워크를 다수의 독립적이고 효율적인 소규모 협력 도메인으로 분할하는 데 있다12.

 

계층/단계 클러스터링 알고리즘 전략 세부 수행 메커니즘 및 목적
1차 클러스터링 네트워크 토폴로지 기반 중앙성 분석 무인기간 통신 그래프에서 '그래프 이론적 중앙성(Graph-theoretic centrality)'을 평가하여 가장 영향력이 큰 핵심 노드(Core Node)를 식별한다. 나머지 무인기들은 최단 경로 거리를 바탕으로 이 핵심 노드에 편입되어 지역 협력 도메인을 형성한다. 이는 브로드캐스트 비용을 \(\mathcal{O}(N^2)\)에서 \(\mathcal{O}(K^2+NK)\)로 감소시킨다.
2차 클러스터링 자원 및 공간 기반 K-medoids 조절 1차로 형성된 하위 그룹 내에서 K-medoids 알고리즘을 적용한다. 이종 무인기의 탑재 하중과 컴퓨팅 자원, 그리고 공간적 근접성을 복합적으로 고려하여 클러스터 간의 자원 균형을 동적으로 유지하는 부하 인식 자가 조절(LCSR) 메커니즘을 수행한다.

 

이러한 이중 구조를 통해 개별 무인기들은 자신이 속한 클러스터 내부에서만 일차적인 CBBA 번들링 및 지역 합의를 실행하게 되며, 그룹을 대표하는 클러스터 헤드(Medoid Nodes)들만이 클러스터 간 통신을 조율하여 전역적인 무충돌 할당을 달성한다13. 이는 전체 네트워크의 통신 부하를 줄이면서도 복잡한 이기종 자원을 적재적소에 매칭시켜 전체 임무 완수 보상을 극대화하는 결과를 낳는다13.

 

동적 환경 대응형 파생 알고리즘: ED-CBBA와 CBBA-LR

수색 및 구조(SAR) 환경처럼 통신 대역폭이 극도로 제한적이고 동적인 시나리오를 위해서는 통신 방식과 재계획 논리를 변형한 파생 모델들이 투입된다. 이벤트 구동형 CBBA(ED-CBBA, Event-Driven CBBA)는 무의미한 네트워크 교란과 실제 임무 할당 결과를 바꿀 수 있는 유의미한 입찰 변경을 명확히 구분한다. 알고리즘은 내부적으로 정의된 특정 임계치를 넘는 점수 변화 등 가치 있는 이벤트가 발생했을 때만 제한적으로 통신을 트리거함으로써 기존 CBBA의 수학적 수렴 보장을 훼손하지 않으면서도 불필요한 메시지 전송량을 최대 52%까지 파격적으로 감축할 수 있다10.

 

동시에, 예상치 못한 새로운 임무가 지속적으로 발생하는 시간 민감형(Time-sensitive) 상황에서는 지역적 재계획 알고리즘인 CBBA-LR(CBBA with Local Replanning)이 사용된다17. 기존 CBBA처럼 새로운 임무 등장 시 전체 할당을 초기화하고 처음부터 재계산하는 것은 막대한 컴퓨팅 손실을 초래하므로, CBBA-LR은 새로운 임무의 시간 창(Time Window)과 물리적 수행 시간이 겹치는 기존 임무들만을 선별하여 '잠재적 재설정 임무(Potential Reset Tasks)' 집합으로 좁힌다17. 각 무인기는 이 제한된 세트 내에서 새로운 임무와 물리적으로 가장 가까운 지점을 삽입 기준으로 삼아 국소적인 재계획만 수행함으로써 새로운 작업 지시에 대한 응답 시간을 최소화하고 안정성을 담보한다17.

 

임무 할당을 위한 통신 미들웨어 분석: ROS 2와 DDS의 차이

위에서 서술한 복잡도 높은 CBBA 합의 과정을 실제 엣지 디바이스와 비동기 네트워크 통신 환경에 완벽하게 구현하기 위해서는, 패킷 유실률이 높고 대역폭이 제한적인 환경(예: 수중 음향 통신 기반의 AUV 군집이나 전파 교란이 존재하는 공중 UAV 네트워크)에서도 강건한 성능을 발휘하는 미들웨어가 필수적이다11. 현재 산업계 및 학계의 다중 로봇 통신은 ROS 2(Robot Operating System 2)의 코어 통신 규격인 데이터 분산 서비스(DDS, Data Distribution Service) 미들웨어에 절대적으로 의존하고 있다18. 하지만 DDS를 제공하는 벤더(Vendor)의 선택이 CBBA의 확장성과 수렴 속도에 치명적인 영향을 미친다는 점을 명확히 인지해야 한다.

 

ROS 2 생태계에서 가장 널리 쓰이는 Eclipse Cyclone DDS와 eProsima Fast DDS의 벤치마크 데이터를 심층 분석하면 엣지 컴퓨팅 기반 무인기 스웜을 위한 최적의 솔루션을 도출할 수 있다.



 

 

실험적 수치 분석에 따르면, 단일 토픽 기반의 프로세스 간(Inter-process) 및 프로세스 내(Intra-process) 통신에서 두 미들웨어는 확연한 성능 차이를 노출한다. Fast DDS는 기본 설정만으로도 기대 최대 전송량인 2000MBps를 꾸준히 달성 및 유지하는 반면, Cyclone DDS는 내부 통신 기준 822MBps의 한계를 보인다19. 무인기 임무 할당과 같이 하나의 공통 입찰 토픽(예: /cbba_bids)에 여러 노드가 다대다 통신으로 참여하는 스웜 네트워크에서는 가입자(Subscriber) 수가 증가할 때의 병목 현상이 알고리즘의 성패를 가른다. Fast DDS는 가입자가 10개로 증가해도 처리량이 1% 남짓 증가하는 수준에 그쳐 부하 변동에 강한 면모를 보이지만, Cyclone DDS는 토픽과 가입자가 추가될 때마다 처리량이 약 10%씩 급락하여 종국에는 요구 처리량의 3분의 1 수준인 약 700MBps로 붕괴된다19.

 

이러한 극단적인 성능 격차의 기저 메커니즘은 데이터 '출판 방식(Publishing Mode)'의 기본 철학 차이에 기인한다. Fast DDS는 기본적으로 비동기식 출판(Asynchronous publishing) 모드를 채택하고 있어 메시지 전송 과정에서 쓰기 작업이 차단(Blocking)되는 현상을 사전에 방지한다19. 반면 Cyclone DDS는 동기식 출판을 기본으로 사용하므로 통신 채널이 포화될 때 무인기의 제어 노드 전체 연산이 정지되는 치명적인 병목 현상을 유발할 위험이 있다. 더 나아가, 교환해야 하는 페이로드가 커질 경우 CPU 사용량에서도 Cyclone DDS가 Fast DDS 대비 최대 50% 이상 높은 리소스 점유율을 차지하기 때문에19, 제한된 배터리와 엣지 컴퓨팅 리소스로 연명해야 하는 자율 무인기 시스템에서는 Fast DDS가 사실상 유일한 대안으로 압축된다.

 

엣지 컴퓨팅 플랫폼별 아키텍처 및 구현 전략

무인기 스웜 네트워크는 본질적으로 이기종(Heterogeneous) 하드웨어가 융합된 컴퓨팅 생태계다. CBBA의 복잡한 합의 행렬 계산, 동적 경로 최적화, 그리고 비전 카메라를 통한 인공지능 객체 인식을 담당하는 하이엔드 엣지 컴퓨터부터, 모터 속도를 PWM으로 정밀하게 튜닝하고 6축 IMU 센서를 폴링(Polling)하는 실시간 제어 전담 마이크로컨트롤러(MCU)에 이르기까지 다양한 디바이스가 유기적으로 얽혀 동작해야 한다. 이러한 복합 시스템을 성공적으로 현장에 배치하기 위해 산업계에서 주로 활용되는 네 가지 주요 엣지 디바이스별 구현 아키텍처는 다음과 같이 설계된다.

 

1. 고성능 연산 통합 플랫폼: NVIDIA Jetson Orin Nano 및 Raspberry Pi 5

NVIDIA Jetson Orin Nano와 Raspberry Pi 5는 고성능 단일 보드 컴퓨터(SBC)로서 복잡한 인지 알고리즘 처리, CBBA의 수학적 번들 생성 로직, 그리고 다중 무인기간의 거대한 DDS 기반 메시지 브로드캐스트를 관장하는 중앙 '브레인' 역할을 수행한다20.

  • 소프트웨어 통합 스택: 최신 무인기는 Ubuntu 기반의 Linux OS 위에서 ROS 2(Humble 또는 Jazzy 버전)를 가동하며, CBBA 노드는 통상적으로 시스템 자원 관리에 유리한 C++로 작성되어 엣지 환경에 배포된다20. 개발자들은 GitHub 상에 공개된 다수의 오픈소스 CBBA 프레임워크를 기반으로26, ROS 2 패키지 구조 내에 BundleBuilder와 ConsensusManager 클래스를 이식하여 구축한다.
  • 플랫폼별 강점: Jetson 플랫폼은 내장된 고성능 Tensor Core 및 Isaac ROS와의 결합을 통해 가상 시뮬레이션 환경(Omniverse)에서 모델을 병렬로 사전 훈련시킬 수 있으며22, GPU 가속을 활용하여 심층 결정론적 정책 경사(DDPG)와 같은 딥러닝 기반 연산 오프로딩 알고리즘을 실시간 추론하여 통신 지연 및 에너지 소모를 동적으로 최소화할 수 있다6. 반면 Raspberry Pi 5는 Broadcom BCM2712(쿼드 코어 Cortex-A76 2.4GHz) 칩셋과 4~8GB RAM 성능을 앞세워 별도의 AI 하드웨어 가속기 없이도 순수 CBBA 행렬 연산과 ROS 2 메시지 직렬화/역직렬화를 지연 없이 완벽하게 수행하는 가성비 높은 노드로 활용된다20.

 

2. 하이브리드 아키텍처의 혁신: Arduino Uno Q (2025년형)

2025년 10월 Qualcomm의 인수 이후 새롭게 런칭된 차세대 엣지 보드인 Arduino Uno Q는 기존 무인기 제어 아키텍처에 파괴적 혁신을 불러일으켰다23. 과거에는 다중 스웜 제어를 위해 Linux 기반 CBBA 연산을 담당할 Raspberry Pi 계열 보드와 실시간 모터 제어(GPIO, PWM)를 전담할 Arduino를 분리한 후 불안정한 시리얼(UART) 케이블로 연결해야 했다. 그러나 Uno Q는 이 상이한 두 가지 컴퓨팅 환경을 물리적으로 단일화된 보드 안에 병합한 '듀얼 브레인' 아키텍처를 제시한다23.

최신 무인기 소프트웨어 스택은 이러한 하이브리드 엣지 아키텍처에 깊이 의존한다. 최상위 통신 계층인 ROS 2 네트워크(Fast DDS)와 상호작용하는 중간 계층은 Linux 기반의 MPU 구역으로, 군집 차원의 고차원 계획 수립 및 CBBA 합의를 처리한다. 이와 철저히 분리된 최하위 실시간 제어 계층은 Zephyr OS 기반의 전용 MCU가 담당하며, 두 이기종 영역은 내부 RPC 브리지(Remote Procedure Call Bridge) 버스를 통해 네트워크 병목 없이 실시간으로 물리적 비행 제어 명령을 양방향으로 교환한다.

 

다음은 기존 SBC와 Arduino Uno Q의 통합형 하드웨어 아키텍처 제원을 비교한 것이다.

 

시스템 요소 Arduino Uno Q 듀얼 브레인 아키텍처 Raspberry Pi 5 범용 아키텍처
메인 MPU (Linux 호스트) Qualcomm Dragonwing QRB2210 (쿼드 코어 Cortex-A53, 2.0GHz) Broadcom BCM2712 (쿼드 코어 Cortex-A76, 2.4GHz)
실시간 MCU (제어기) STM32U585 (전용 코어 Cortex-M33, 160MHz) 내장 RP1 I/O 컨트롤러 (독립 실시간 OS 실행 불가)
운영 체제 (OS) Debian Linux (MPU) + Zephyr OS / Arduino Core (MCU) Raspberry Pi OS (단일 커널 스케줄링)
임무 할당 및 AI 스택 Adreno 702 GPU 가속, Dual ISP 내장 (비전 처리 특화) 범용 CPU 처리 (AI 처리를 위한 별도 가속기 요구)
실시간 I/O 및 구동 전압 3.3V 논리 레벨의 정밀 PWM 및 실시간 I/O (STM32 직접 제어) 3.3V GPIO (Linux 커널 스케줄링 간섭으로 실시간성 한계)
전력 및 확장 인터페이스 7~24V DC VIN 허용, USB-C DP Alt Mode, Qwiic I2C 커넥터 통합 통상 5V USB-C 기반 제한적 전력망

 

Uno Q의 핵심 개발 패러다임은 'Arduino App Lab' 웹 기반 환경을 통한 매끄러운 통합에 있다28. 개발자는 Docker 컨테이너 형태로 컴파일된 C++ CBBA ROS 2 노드를 Linux(MPU) 영역에 쉽게 오케스트레이션(Orchestration) 할 수 있다. CBBA 알고리즘을 통해 임무 목표 좌표가 낙찰되면, 이 데이터는 RPC 브리지를 통해 고속으로 STM32 MCU로 전달되어 지연 없는 실시간 비행 궤적 생성 및 피드백 제어로 이어진다28. 하드웨어 GPU 가속과 카메라 인터페이스(MIPI-CSI-2)까지 기본 지원하므로28, 단일 소형 폼팩터만으로 CBBA의 수학적 복잡성과 시각적 장애물 회피를 동시에 정복하는 최적의 통합 엣지 솔루션을 완성한다.

 

3. 초소형 나노 스웜을 위한 분산 메시: ESP32

무게가 수십 그램에 불과한 나노 쿼드콥터와 같이 전력 및 탑재량 제약이 극심한 초소형 스웜 환경에서는 무거운 운영체제를 요구하는 Linux 기반 보드 탑재가 원천적으로 불가능하다. 이 영역에서는 ESP32와 같은 저전력 마이크로컨트롤러가 메인 비행 컨트롤러이자 임무 할당기로 활약한다.

 

이러한 제약 환경에서 표준화된 Wi-Fi 공유기 인프라를 활용하는 것은 통신 지연을 유발하고 중앙 라우터를 단일 장애점으로 만드는 위험을 수반한다. 이를 타개하기 위해 ESP32는 MAC 계층에서 직접 장치 간 P2P(Peer-to-Peer) 통신을 수행하는 ESP-NOW 메시(Mesh) 프로토콜을 적극 활용한다36. ESP-NOW는 IP 주소 할당이나 무거운 핸드셰이크 과정 없이 즉각적인 저지연 브로드캐스트를 실현하므로 고도의 신속성을 확보할 수 있다. 분산 임무 할당 시 교환해야 하는 CBBA의 입찰 패킷(주로 각 임무 인덱스에 대한 \(y_i\)및 \(z_i\)배열) 크기는 비교적 작으므로, ESP-NOW가 허용하는 250바이트 페이로드 제한 내로 데이터를 직렬화하여 충분히 전송할 수 있다.

 

또한, eProsima가 오픈소스로 제공하는 micro-ROS 프레임워크(Micro XRCE-DDS)를 ESP32 펌웨어에 이식하면 메모리 제약 환경에서도 기기들을 글로벌 ROS 2 데이터 공간에 완벽히 편입시킬 수 있다39. 수십 KB의 램(RAM)만으로도 동작하는 Agent-Client 통신 모델을 활용하면, 비록 복잡한 부동 소수점 연산 자원은 부족할지라도 부분 재계획 모델인 CBBA-LR이나 단순화된 단일 할당 모델(CBAA)을 성공적으로 구동하여 초소형 스웜 단위의 로컬 합의를 무결하게 구현할 수 있다39.

 

실전 연동 구현: 행동 트리(Behavior Tree)를 통한 실행 관리 통합

단순히 CBBA 알고리즘을 통해 특정 무인기에게 임무 좌표가 "할당"되었다고 해서 무인기가 즉시 자율 비행을 성공적으로 수행할 수 있는 것은 아니다. 이론적 할당 결과를 엣지 시스템 내에서 실제 물리적인 제어 시퀀스로 변환하는 지능형 실행기(Executor)가 필수적이다. 과거에는 단순한 유한 상태 머신(FSM)이 쓰였으나, 복잡성이 증가하는 최근 학계와 산업계에서는 유연성과 모듈화 확장이 극대화된 '행동 트리(Behavior Trees, BT)'를 활용하는 것이 글로벌 표준으로 자리 잡았다25.

 

OmniPlan 프레임워크나 ROS 2 Navigation2(Nav2) 생태계의 행동 트리 노드 구조를 적용할 때의 엣지 구현 흐름은 다음과 같다25.

  1. 임무 할당 수신: 무인기 내에서 구동되는 CBBA C++ 노드가 전역 네트워크 합의를 마치고 자신의 최종 확정 번들(물리적 좌표가 매핑된 목표 목록)을 ROS 토픽으로 발행(Publish)한다.
  2. 행동 트리 매개변수 업데이트: 비행 제어 상위에 위치한 실행 관리 노드(Execution Manager Node)는 수신된 임무 목록을 파싱하여, 행동 트리의 블랙보드(Blackboard)에 있는 '목표 지점(Goal Pose)' 및 '수행 모드' 파라미터를 동적으로 업데이트한다.
  3. 제어 실행 및 상태 감시 (Monitoring): 무인기는 행동 트리의 Sequence 제어 노드를 순회하며 '이륙 -> 목적지 이동 -> 임무 수행(예: 적외선 카메라 센서 스캐닝) -> 다음 기착지로의 기동'의 동작을 순차적으로 실행한다.
  4. 예외 처리 및 할당 포기 연동: 비행 중 돌발적인 동적 장애물 출현이나 급격한 배터리 부족 이벤트가 감지될 경우, 행동 트리의 Fallback 노드가 즉시 발동되어 충돌 회피 기동을 수행하거나 임무 수행 불가를 판단하고 '할당 포기(Task Quitting)' 상태로 전환한다4. 할당 포기가 트리거되면, 해당 무인기는 즉각 스웜 네트워크에 임무 릴리즈(Release) 신호를 브로드캐스트하며, 이를 수신한 인접 무인기들의 CBBA 스레드가 즉시 지역적 재계획(Local Replanning) 루프를 가동하여 공백이 생긴 임무를 가장 효율적인 다른 잉여 기체가 낚아채는 탄력적이고 강건한 상호작용이 완성된다4.

이러한 상호 보완적인 프레임워크 설계는 복잡한 수학적 의사결정 모델이 어떻게 거친 물리적 환경에서의 불확실성을 유연하게 소화하며 미션을 완수하는지를 보여주는 가장 모범적인 청사진이다. 결국, 분산형 임무 할당 알고리즘과 행동 트리의 융합은 엣지 하드웨어의 발전과 더불어 완전 자율형 무인기 스웜 시대를 앞당기는 가장 중요한 기술적 성취로 평가받는다.

 

참고 자료

  1. Consensus-Based Decentralized Auctions for Robust Task Allocation - SciSpace, https://scispace.com/pdf/consensus-based-decentralized-auctions-for-robust-task-1piputm5m3.pdf
  2. Consensus-Based Decentralized Auctions for Robust Task Allocation - ResearchGate, https://www.researchgate.net/publication/224504322_Consensus-Based_Decentralized_Auctions_for_Robust_Task_Allocation
  3. Consensus-Based Auction Approaches for Decentralized Task Assignment - ResearchGate, https://www.researchgate.net/publication/228529155_Consensus-Based_Auction_Approaches_for_Decentralized_Task_Assignment
  4. A Consensus-Based Grouping Algorithm for Multi-agent Cooperative Task Allocation with Complex Requirements - PMC, https://pmc.ncbi.nlm.nih.gov/articles/PMC4150994/
  5. Consensus-Based Bundle Algorithm-Based Task Allocation for Unmanned Vehicles in Dangerous Environment - ResearchGate, https://www.researchgate.net/publication/366692723_Consensus-Based_Bundle_Algorithm-Based_Task_Allocation_for_Unmanned_Vehicles_in_Dangerous_Environment
  6. fangvv/UAV-DDPG: Code for paper "Computation Offloading Optimization for UAV-assisted Mobile Edge Computing: A Deep Deterministic Policy Gradient Approach" - GitHub, https://github.com/fangvv/UAV-DDPG
  7. Event-Triggered Adaptive Consensus for Multi-Robot Task Allocation - arXiv, https://arxiv.org/html/2604.06813v1
  8. Consensus-Based Bundle Algorithm (CBBA) - Emergent Mind, https://www.emergentmind.com/topics/consensus-based-bundle-algorithm-cbba
  9. Decentralized Task Allocation Using Local Information Consistency Assumptions - Aerospace Research Central, https://arc.aiaa.org/doi/10.2514/1.I010461
  10. Event Driven CBBA with Reduced Communication - arXiv, https://arxiv.org/pdf/2509.06481
  11. Dynamic Task Allocation for Multiple AUVs Under Weak Underwater Acoustic Communication: A CBBA-Based Simulation Study - MDPI, https://www.mdpi.com/2077-1312/14/3/237
  12. Large-Scale Multi-UAV Task Allocation via a Centrality-Driven Load-Aware Adaptive Consensus Bundle Algorithm for Biomimetic Swarm Coordination - PMC, https://pmc.ncbi.nlm.nih.gov/articles/PMC12838631/
  13. A Two-Level Clustered Consensus-Based Bundle Algorithm for Dynamic Heterogeneous Multi-UAV Multi-Task Allocation - MDPI, https://www.mdpi.com/1424-8220/25/21/6738
  14. A Two-Level Clustered Consensus-Based Bundle Algorithm for Dynamic Heterogeneous Multi-UAV Multi-Task Allocation - PMC, https://pmc.ncbi.nlm.nih.gov/articles/PMC12610533/
  15. Large-Scale Multi-UAV Task Allocation via a Centrality-Driven Load-Aware Adaptive Consensus Bundle Algorithm for Biomimetic Swarm Coordination - MDPI, https://www.mdpi.com/2313-7673/11/1/69
  16. An Improved CBBA Algorithm for Multi-UAV Multi-task Allocation in Dynamic Scenarios, https://www.researchgate.net/publication/394012291_An_Improved_CBBA_Algorithm_for_Multi-UAV_Multi-task_Allocation_in_Dynamic_Scenarios
  17. Consensus-based bundle algorithm with local replanning for heterogeneous multi-UAV system in the time-sensitive and dynamic environment - ResearchGate, https://www.researchgate.net/publication/352463251_Consensus-based_bundle_algorithm_with_local_replanning_for_heterogeneous_multi-UAV_system_in_the_time-sensitive_and_dynamic_environment
  18. Latency Analysis of ROS2 Multi-Node Systems - arXiv, https://arxiv.org/pdf/2101.02074
  19. Fast DDS TSC RMW report 2021 - GitHub Pages, https://osrf.github.io/TSC-RMW-Reports/humble/eProsima-response.html
  20. ROS 2-Based Architecture for Autonomous Driving Systems: Design and Implementation, https://www.mdpi.com/1424-8220/26/2/463
  21. NVIDIA Jetson Orin ROS 2 Setup: Complete Guide for Robotics (2026) - RoboCloud Hub, https://robocloud-dashboard.vercel.app/learn/blog/jetson-orin-ros2-setup
  22. Building a Local Robot Brain on Jetson Orin Nano Super with ROS 2, Whisper, Llama, Piper TTS and an LLM Bridge - Thomas THELLIEZ, https://thomasthelliez.com/blog/building-a-local-robot-brain-on-jetson-orin-nano-super/
  23. Arduino UNO Q: Two Processors, One Board, €39 - IoT Portal, https://iotportal.co.uk/arduino/arduino-uno-q-review/
  24. Python node와 C++ node를 가지고 있는 하나의 ROS2 package 만들기 - velog, https://velog.io/@junwoo0525/Python-node%EC%99%80-C-node%EB%A5%BC-%EA%B0%80%EC%A7%80%EA%B3%A0-%EC%9E%88%EB%8A%94-%ED%95%98%EB%82%98%EC%9D%98-ROS2-package-%EB%A7%8C%EB%93%A4%EA%B8%B0
  25. mgonzs13/omni_plan: OmniPlan is a ROS 2 framework for automated task planning and execution. Can be extended through the creation of new plugins to integrate new planners and new knowledge sources. · GitHub, https://github.com/mgonzs13/omni_plan
  26. Implementation of Consensus Based Bundle Algorithm (CBBA) with python - GitHub, https://github.com/keep9oing/consensus-based-bundle-algorithm
  27. HROS dev - GitHub, https://github.com/HROSdev
  28. Test out Arduino's Uno Q - The new Single-Board Computer - element14 Community, https://community.element14.com/products/roadtest/rv/roadtest_reviews/1894/test-out-arduinos-uno-q-the-new-single-board-computer
  29. Arduino UNO Q powered by the Qualcomm Dragonwing, https://www.qualcomm.com/developer/hardware/arduino-uno-q
  30. Arduino® UNO™ Q 4GB - RoboGeex Academy, https://www.robogeex.com/shop/abx00173-arduino-r-unotm-q-4gb-3970
  31. Discover the New Arduino UNO Q: The All-In One Toolbox, https://www.arduino.cc/product-uno-q/
  32. UNO Q Microcontroller Board - Arduino - DigiKey, https://www.digikey.com/en/product-highlight/a/arduino/uno-q-microcontroller-board
  33. Introduction to Arduino UNO Q: The Next-Gen Hybrid Board - Robocraze, https://robocraze.com/blogs/post/introduction-to-arduino-uno-q-the-next-gen-hybrid-board
  34. Arduino Uno - Wikipedia, https://en.wikipedia.org/wiki/Arduino_Uno
  35. Arduino® UNO Q, https://docs.arduino.cc/resources/datasheets/ABX00162-datasheet.pdf
  36. Swarm Robot Communication Using ESP-NOW Mesh Protocol for Multi-Agent Coordination in Indoor Navigation - ResearchGate, https://www.researchgate.net/publication/408057173_Swarm_Robot_Communication_Using_ESP-NOW_Mesh_Protocol_for_Multi-Agent_Coordination_in_Indoor_Navigation
  37. Elektor - Special AugustSeptember 2025 | PDF | Electronics - Scribd, https://www.scribd.com/document/1009256634/Elektor-Special-AugustSeptember-2025-downmagaz-net
  38. Advanced View Arduino Projects List - Use Arduino for Projects.pdf - Slideshare, https://pt.slideshare.net/slideshow/advanced-view-arduino-projects-list-use-arduino-for-projectspdf/262741703
  39. Performance - eProsima, https://www.eprosima.com/developer-resources/performance
  40. On the Implementation of Behavior Trees in Robotics | Request PDF - ResearchGate, https://www.researchgate.net/publication/353392231_On_the_Implementation_of_Behavior_Trees_in_Robotics
  41. Robotics — list of Rust libraries/crates // Lib.rs, https://lib.rs/science/robotics