Under active development. Breaking changes expected. APIs, installers, and UI may shift between releases.
The companion stabilizes the camera itself.
Actively being built. The design is scoped and firm; it is not usable yet.
THREE GIMBAL PATHS
Two ship today. One is in development.
Mission Control already points and controls a gimbal over MAVLink, whether the flight controller drives the servos or an external MAVLink gimbal v2 device does. The agent-native path moves the whole stabilization loop onto the companion computer and adds a vision lock.
| FC servo mount | MAVLink gimbal v2 | Agent-native | |
|---|---|---|---|
| Where the loop runs | Flight controller | External controller | Companion computer |
| Control from Mission Control | ✓ | ✓ | ✓ |
| Autonomous vision lock | — | — | ✓ |
| Status | Shipping | Shipping | In development |
Where the loop runs
Control from Mission Control
Autonomous vision lock
Status
The two shipping paths are controlled from Mission Control. The external MAVLink gimbal v2 controller ships as an extension.
HOW IT WORKS
A fast loop on the companion.
An orientation estimator fuses the IMU with the flight controller heading. A three-axis controller runs on a real-time thread and drives a PWM chip that moves the servos. The camera feeds a target into the loop for vision lock.
VISION LOCK
Hold a target in frame.
The loop reads detections from the on-vehicle vision engine and keeps the tracked object centered while the fast controller stabilizes underneath. A plugin or a model emits the target at its own slow rate; the control thread never waits on it.
The stabilization loop and the detector run at different speeds. The controller holds attitude at a high fixed rate. The vision engine publishes a bounding box and a track id whenever the model produces one. The loop treats a stale or lost target as lost and stops, rather than drifting on old data.
Because the target arrives as a small reference, any source can drive it: a built-in detector, an uploaded model, or a plugin. The camera pipeline stays on the shared vision bus that the rest of the agent already reads.
Source
Reads the vision engine
Vision lock consumes the same detection bus as follow-me and the plugin system. Detections carry a bounding box and a stable track id.
Vision Engine →HONEST BOUNDARIES
What this is, and is not.
The design is scoped and firm. It is not usable yet, and the first target has clear limits worth stating up front.
Positional servos, not brushless
The first target drives hobby positional servos, so pointing lands around half a degree to one degree. Brushless direct-drive for cinema-smooth motion is planned on the same stack, later.
Buy positional, never continuous-rotation
A continuous-rotation servo cannot hold an angle, so it cannot hold a gimbal axis. The design assumes positional servos with a roughly 180 degree range on each axis.
A separate 5V supply is required
Servos draw current spikes under load. A dedicated 5V regulator feeds the servos so a stall can never brown out the companion computer.
Control a gimbal in Mission Control today.
MAVLink gimbal control ships now. The agent-native companion loop is in development.
Open Mission Control