CALM: Decentralized Control of Cooperative Aerial Manipulation with Multi-Agent Reinforcement Learning
Organizations: Department of Mechanical and Aerospace Engineering, Politecnico di Torino, Torino, Italy
Abstract
Cooperative aerial manipulation is difficult under wind, payload motion, and noisy goal broadcasts because multiple Unmanned Aerial Vehicles (UAVs) are coupled through a shared payload. We present CALM (Cooperative Aerial Learned Manipulation), a decentralized controller for aerial manipulators carrying a basket while tracking a moving ground robot. CALM combines a parameter-shared Multi-Agent Reinforcement Learning (MARL) policy, trained using Multi-Agent Proximal Policy Optimization (MAPPO), with goal estimation, per-UAV Extended State Observers (ESOs), basket-mass estimation, and anticipatory formation-yaw feedforward. The anticipatory formation-yaw feedforward uses estimated goal motion to rotate the formation before position error develops, reducing basket-yaw lag without adding net commanded force. A disturbance-conditioned critic supports centralized training while execution remains decentralized. Across held-out trajectories, CALM achieves lower mean position and orientation errors than all evaluated baselines, including the matched arm baseline (7.68 versus 10.95 cm and 3.3 versus 4.7), the cable-suspended realization, and two model-based controllers. Under unseen full-information-path degradation, CALM remains statistically comparable or superior to the arm baseline. Videos are available at https://petreric.github.io/CALM/.
Figures & tables
| Policy / low-level rate | 100/300 Hz; simulation step 3.33 ms; episode 80 s |
| Arm joints (actuated) | 3-axis shoulder ( 90 ∘ ), elbow (0–180 ∘ ), 3-axis wrist ( 90 ∘ ); two 0.125-m links, 50 g each |
| Joint effort limits | 20 N m shoulder/elbow, 5 N m wrist, 20 N telescoping |
| Spring / bracket | setpoint PD; spring 200 N m/rad, damping 20; bracket 250 N/m, damping 25, travel 0.10 m |
| Airframe / total mass | 0.602 kg per airframe, 6.57 kg total |
| Wind mean force | 1.15 N per aerial manipulator and basket (drag-equivalent wind speed 7.1 m/s, curriculum-ramped) |
| Wind turbulence | OU noise, 0.575-N standard deviation, scaled in sweeps; rate 12 s -1 ; weight 0.9 on a part shared by all bodies |
| Method | Boustrophedon | Circle | Figure-8 | Perimeter | Contour | Chevron |
| CALM (ours) | 8.5 0.4/3.0 0.1 | 8.3 0.4/4.4 0.2 | 8.3 0.4/3.8 0.2 | 6.9 0.3/3.4 0.2 | 6.5 0.3/2.4 0.1 | 7.6 0.4/2.8 0.1 |
| Dec-MARL (arm) | 8.9 0.5/4.0 0.2 | 13.4 0.8/6.1 0.4 | 10.9 0.7/4.4 0.3 | 12.0 0.8/5.2 0.3 | 11.3 0.6/4.6 0.3 | 9.2 0.5/3.7 0.2 |
| Dec-MARL (cable) | 19.2 0.7/19.5 0.4 | 18.1 0.6/123.2 1.2 | 19.6 0.6/26.5 0.7 | 18.7 0.6/19.4 0.3 | 18.8 0.6/19.5 0.3 | 18.7 0.6/19.4 0.4 |
| Grasp allocation | 57.0 1.7/75.3 3.3 | 51.5 2.6/75.2 4.2 | 52.5 2.5/76.9 5.0 | 52.9 2.1/75.3 4.8 | 52.2 1.8/73.3 3.9 | 51.7 2.9/74.1 5.4 |
| RotorTM | 76.8 1.0/91.1 2.9 | 72.6 1.2/92.1 5.3 | 73.9 0.9/91.9 4.0 | 72.9 1.6/90.3 4.2 | 72.6 1.2/92.2 3.4 | 72.8 1.2/92.1 4.6 |
| Unpowered group | Position | Orientation |
| all seven joints (passive arm) | 2.93 [2.29, 3.49] | 5.52 [4.28, 6.80] |
| wrist roll and pitch | 2.64 [2.33, 3.44] | 5.35 [4.29, 7.31] |
| shoulder and elbow (wrist active) | 1.49 [1.28, 1.75] | 1.97 [1.58, 2.46] |
| shoulder roll and pitch | 1.33 [1.20, 1.55] | 1.55 [1.36, 1.90] |
| wrist yaw | 1.17 [1.05, 1.32] | 1.15 [0.98, 1.31] |
| shoulder yaw | 1.07 [0.91, 1.31] | 1.19 [0.99, 1.41] |