SVS overlay
The SVS (Synthetic Vision System) overlay draws a wireframe mesh of the ground terrain onto the live drone video. It’s the drone-camera equivalent of cockpit SVS in aviation: when visibility is bad (low light, fog, degraded camera), the terrain outline still gives you geometric situational awareness.
How it works
The renderer samples terrain elevation from the ARGUS terrain cache (same data Cesium uses) and builds a wireframe mesh in world coordinates. At 30 Hz it projects that mesh through the current camera view by composing the aircraft’s pose + the gimbal’s pose.
Inputs per frame:
- Pitch, roll, yaw of the aircraft (from
HudData). - Gimbal pitch / yaw / roll (from AircraftStatus gimbalState).
- Drone altitude above sea level (AGL → ASL via terrain grid).
- Horizontal + vertical FOV (default 84° / 54° for DJI — configurable per drone).
- Lat / lng of the drone.
The wireframe renders at mix-blend-mode screen over the video so it’s
additive — visible lines pop against dark terrain, bright camera pixels
win in bright scenes.
Calibration gates
SVS requires accurate, fresh inputs to render correctly. The renderer auto-hides with a small “calibration required” chip when any of:
- Drone GPS is stale (no update within last ~2 s).
- Gimbal state is missing (drones that don’t publish gimbal pose can’t do SVS).
- Terrain cache has no tile for the drone’s current lat / lng (rare — remote areas).
The terrain cache resamples when the drone moves > 50 m in any direction
(dLat > 0.0005 or dLng > 0.0005). Between resamples the mesh is
updated from the cached grid — fast and no network cost.
Activating
Toggle SVS in the drone-stream tile’s overlay stack. Fades in over about a second so the transition isn’t jarring.
What SVS is good for
- Low-visibility operations — night, fog, rain.
- High-altitude overview — when the camera is too zoomed-out to read terrain from the video alone.
- Planning approach paths — see terrain features the camera can’t pick up.
- Training — operators can practice reading terrain geometry without risk.
What SVS is NOT
- Not imagery — it’s wireframe, not a photoreal overlay. For photorealistic context, use the Cesium map in a separate tile.
- Not obstacle detection. Trees, buildings under canopy, wires, and other camera-perceptible objects aren’t in the terrain mesh. SVS helps with ground geometry, not with manoeuvring around obstacles.
- Not a replacement for the HUD — keep HUD overlay on for attitude, speed, battery.
Performance
Renderer runs at 30 Hz at a modest cost (~2 ms per frame on a recent laptop GPU). On GPU-constrained devices, disable if FPS drops.
Known limitations
- No colour mapping by elevation — the mesh is a single operator- picked accent colour, not elevation-shaded.
- No obstacle data (buildings, trees).
- No clipping plane for “hide terrain above drone altitude” — the mesh renders the full visible ground including any terrain that might occlude the drone’s horizon.
Related
- AR overlay — geo-projected entity callouts, works with the same pose data.
- HUD overlay
- Cesium map — the ground-truth source for terrain.