RTK + vision: how we hold millimeter formations in 6 m/s wind
The sensor stack and Kalman fusion that keep a 1,000-drone formation locked when the breeze picks up.
A drone show photographs as a single image, even though it is made of thousands of independent moving points. That magic is fragile. A 30 cm error per drone, multiplied across a 1,000-drone formation, looks like noise from row 50. Holding a millimeter formation in 6 m/s wind is therefore the work of a sensor stack — not a single sensor.
The stack we ship in S3
- Dual-antenna RTK GNSS for absolute position and heading down to centimeter accuracy.
- Downward visual SLAM that pins the drone to ground texture in the last 10 meters of altitude.
- IMU and barometer fusion for high-frequency control between GNSS updates.
- A peer-to-peer relative-position channel so neighbors agree on local geometry even if a GNSS satellite drops.
Why fusion, not voting
A naïve voter would discard one sensor when it disagrees. We weight each sensor by an estimated covariance and let the Kalman filter blend them. In practice this means the drone trusts vision when it is low and turbulent, trusts RTK when it is high and stable, and never has to pick.
What is hard, still
Multipath in dense urban venues. Tall glass facades reflect GNSS in surprising ways. We are building a venue-aware multipath map that the choreographer reads as a "no-fly heatmap" rather than treating it as a runtime surprise.
