DJI DRC (Dock Remote Control)
DRC (Dock Remote Control) is DJI’s real-time control surface for flying a dock aircraft from the cloud. ARGUS exposes it through the standard manual-controls UI, with per-op authority tracking, a heartbeat keepalive, and the full command set for Dock 2 + Dock 3.
Authority
Only one operator at a time can hold DRC authority on a given dock. ARGUS tracks this per-mission:
- Select the dock’s aircraft in the fleet tile.
- Click Take control in the drone-stream tile toolbar or fire the
bound
authorityGrabFlightinput. - ARGUS writes a
drc_flight_authoritycommand; argus-dji publishes the DJIdrc_authority_grabservice. - If another operator currently holds authority, you get a force-grab confirmation dialog. Force-grab pre-empts them (their controls release).
- Authority chip on the stream toolbar turns green.
A separate payload authority (Class B — gimbal/camera only) can be
grabbed independently via drc_payload_authority. Useful when flight
authority stays with the pilot and a second operator operates the payload.
Heartbeat
Once authority is held, ARGUS maintains a 1 Hz heartbeat (DRC_HEARTBEAT command). This tells the dock “we’re still here” — without it, DJI’s flight controller times out the DRC session after ~60 s and the aircraft hovers in place (then eventually auto-RTH).
The heartbeat:
- Pauses when the browser tab is hidden.
- Resumes on visibility change.
- Logs to the blackbox for audit.
If heartbeat stalls due to a crash or network drop, the flight controller’s autonomous safety layer catches it and hovers the aircraft — it doesn’t crash.
Stick control
While authority is held, flight-stick inputs (keyboard, gamepad, HOTAS)
get converted to DJI’s integer range [364..1684] (centered at
STICK_NEUTRAL=1024, span STICK_RANGE=660). Axes:
- x — roll (left / right).
- y — pitch (forward / back).
- h — vertical (throttle).
- w — yaw rotation.
The axis-swap is deliberate — DJI’s body axes don’t match web-convention;
x=roll and y=pitch get mapped correctly in
sendStickControl.
Safety envelope
Vertical is asymmetrically clipped — DJI spec limits upward to +5 m/s and downward to −4 m/s. Horizontal and yaw clamp to ±17 m/s and ±90 °/s respectively.
Advanced flight commands
Beyond raw stick:
- Fly to point — right-click the map → Fly to here. Sends an autonomous fly-to command with the target coordinate, altitude, max speed.
- Takeoff to point — on a landed aircraft, send to takeoff and fly directly to a coordinate (skips the usual “takeoff, hover, wait for pilot”).
- POI orbit — enter orbit mode around a point. Radius + speed adjustable; gimbal can lock.
- Force land — immediate descent.
- Emergency stop — motor cut. Aircraft falls. Use only when there’s risk of uncontrolled flight into people / buildings.
- Emergency land — controlled immediate descent (Dock 2 / 3).
Camera + gimbal via DRC
- Gimbal aim — mouse-drag over the video, bound axes, or right-click the video → Look at this point.
- Zoom, lens change (
wide/zoom/ir), photo, record start/stop. - Exposure mode + value, focus mode + value, point-focus, IR metering (mode + point + area).
- Camera frame zoom — zoom to a screen rectangle.
Dock-3-only features
Night vision + spotlight
- Night-mode toggle.
- Denoise-level slider.
- Night-vision enable.
- IR fill light enable.
- Spotlight brightness / mode / fine-tuning / calibration.
Speaker (PSDK-attached)
- TTS — type text, dock speaks.
- Stored audio — upload MP3, send to dock, play.
- Volume / play-mode / stop / replay / TTS-play-start.
AI recognition
- Model select, identify-enable, spotlight-zoom + track + select + confirm + stop, score mode, score value, filter list.
Releasing authority
Press the bound Release key (Esc by default if bound), click the
release button in the stream toolbar, or navigate away from the drone-
stream tile. ARGUS publishes drc_release_authority and the dock’s
session ends cleanly.
Known limitations
- Single-operator per dock. No co-pilot-style shared control.
- No soft-cap on sticks — only hard DJI limits.
- No “replay” of DRC inputs — the input axes aren’t blackbox- recorded.
Related
- Drone DRC controls — the input mapping layer used by this.
- Flight tasks — autonomous alternative.
- DJI auto-stream — the video layer DRC rides alongside.