CAS configuration
The Collision-Avoidance System (CAS) watches every tracked aircraft in an operation and raises tiered alerts as aircraft converge. It is advisory — CAS never takes control; it warns, logs, and surfaces the encounter on the map, in the timeline, and (optionally) on comms.
CAS configuration is per-mission, stored on the mission document as casConfig of type
CasConfig.
Enabling CAS
CAS has a master Enable toggle inside the Collision Avoidance panel of both the
create form and the edit form. By default, new operations are created with CAS
enabled (see DEFAULT_CAS_CONFIG). Flip the toggle off for a given mission if you
don’t want CAS evaluating — for example, single-aircraft operations where the noise
isn’t worth it.
The three tiers below are only rendered when CAS is enabled.
The three tiers
CAS evaluates each aircraft pair at every tick using both a proximity radius (metres) and a predicted time-to-closest-point-of-approach (seconds). A pair trips a tier when either the radius or the time crosses the configured threshold.
Traffic Warning (yellow)
The gentlest tier — situational awareness for converging traffic.
- Proximity radius — default 100 m. Bounds: 10-500, step 10.
- Time horizon — default 30 s. Bounds: 5-120, step 5.
Master Caution (red)
Imminent proximity. Operators should expect this to interrupt their current focus.
- Proximity radius — default 30 m. Bounds: 5-200, step 5.
- Time horizon — default 15 s. Bounds: 3-60, step 1.
Altitude Separation (blue)
A floor below which two aircraft at the same lat/lon are considered not vertically separated. Above this floor, proximity warnings are suppressed for that pair.
- Minimum vertical separation — default 30 m. Bounds: 5-200, step 5.
- Advisory radius — default 250 m. Bounds: 50-1000, step 50. This is the outer ring that produces only an informational track line, not a tier warning.
An advisory time horizon (advisoryTimeSec) is also stored on the config and
defaults to 60 s. It isn’t editable in the current UI, but the field is present on the
document for future use.
Where alerts surface
When CAS trips a tier, the event appears in multiple places across the live console:
- Map — both the 2D cesium-3d and panoptic views draw a pulsing ring between the involved aircraft, coloured by tier.
- Timeline — a
cas.warn,cas.caution, or advisory event is appended to the timeline tile. - HUD overlay — the affected aircraft’s HUD overlay tile displays a tier badge.
- Fleet tile — the aircraft card flashes in the fleet tile.
A PTT override that announces the alert on the audio channel is not implemented today — treat any doc mentioning it as aspirational.
Editing mid-mission
Open /operations/{id}/edit, scroll to the Collision Avoidance panel, adjust values,
and press Save. The updated casConfig is merged into the mission document; every
console subscribed to that mission picks up the new thresholds on the next snapshot and
re-evaluates.
Disabling CAS mid-mission clears every active alert overlay on the next frame.
Default config
{ enabled: true, warningDistM: 100, criticalDistM: 30, warningTimeSec: 30, criticalTimeSec: 15, minAltSeparationM: 30, advisoryDistM: 250, advisoryTimeSec: 60,}What CAS does not watch
- Docks — CAS evaluates aircraft-to-aircraft only. Proximity to a DJI dock is not flagged as a CAS event. Ground-crew separation is handled by geofencing.
- Flags — flags are situational markers, not airspace hazards. They don’t produce CAS events even when set to a warning type.
- Static obstacles and terrain — use the geofence / nofly system for that; see Geofence and nofly.
An “include docks” / “include flags” option appears in older roadmap drafts but is not
in the current data model — the CasConfig interface has no such fields.
Relationship to the CAS demo
The CAS demo in the settings drawer is a separate visual-only simulator that fires
synthetic CAS events to let you see the alert surfaces without needing two real
aircraft in the air. It does not write to any operation’s casConfig. See the
settings drawer.