Set up a drone in 3 steps
Create an environment and add the drone
From the dashboard, click New Environment, then Add from Catalog and search for your drone (e.g.
DJI Mini 4 Pro, PX4 Vision). Position the twin to match your real-world site.Pair the hardware
Drones connect to Cyberwave through one of two edge paths, depending on the aircraft:
- Onboard computer (PX4, Ardupilot, custom builds). SSH into the companion computer (Raspberry Pi, Jetson, …) on the drone and install the CLI: The CLI auto-detects the autopilot, installs the right driver, and links it to the digital twin.
- DJI Mini family (Mini 3 / Mini 4 Pro). Install the Cyberwave Edge for DJI Android app on the phone tethered to your DJI RC, then scan the pairing QR from the twin’s Live tab. See the DJI Mini 4 Pro catalog page for the full flow.
The drone streams video, telemetry, and gimbal state into Cyberwave in real
time, and the dashboard can drive discrete actions back through the edge.
Control it from Python
Once the twin is paired, the Python SDK gives you the same API for any drone in the catalog. Run this from your laptop or any cloud machine; Cyberwave handles the networking and orchestration end-to-end:cw.twin(...) to the new catalog slug and the rest of your automation stays exactly the same. A complete walkthrough (takeoff, locomotion, gimbal control, and the safety commands) lives in examples/drone_dji_mini.py.
On DJI aircraft, discrete actions (
takeoff, land, return_to_home,
gimbal_rotate, set home, compass calibration, reboot, emergency stop)
ship out of the box. Continuous-stick locomotion (move_forward,
strafe_*, turn_*, ascend, descend) is opt-in per twin: set
metadata.drivers.default.virtual_stick = true to engage DJI MSDK v5’s
Virtual Stick API. The physical RC always wins: stick inputs reclaim
authority immediately, targets decay to zero after 500 ms of silence, and
the driver hands authority back to the RC after 5 s of zero-velocity. The
same continuous verbs are fully wired on PX4-class builds and in the
simulator without the opt-in. See the Cyberwave Edge for DJI
README
for the full safety story and pre-flight checklist.The Mini 4 Pro (and the rest of the Mini / Mavic Mini line) ships with a
pitch-only mechanical gimbal, so
gimbal_rotate(yaw=…) is silently
ignored by the hardware. To rotate the camera view on those aircraft, call
FlyingTwin.pan_camera(angle_deg=…):
it yaws the airframe via the same Virtual Stick path used by turn_left /
turn_right and explicitly zeros the axis when the target angle is
reached. Same opt-in flag applies.Every refused command (and every silently-ignored one) shows up
in the alerts panel. The DJI driver raises a Cyberwave alert
the instant it refuses a command (missing
virtual_stick opt-in,
location permissions not granted, parked on a landing/RTH
confirmation, or an SDK-level failure on takeoff / land / gimbal),
and watches commanded-vs-actual aircraft velocity to fire a
driver_aircraft_not_moving warning when the FC silently caps a
movement command. The alert name carries the primary suspect
computed from telemetry: Aircraft not moving (GPS-denied: 0 satellites) for indoor flight, Aircraft not moving (FC in ATTI mode) for compass-interference, Aircraft not moving (cause unknown) for restricted-zone / IMU heating / battery saver / wind,
so the root cause is obvious in the alerts list without
expanding the description. The metadata carries a stable
error_code (e.g. VIRTUAL_STICK_OPT_IN_MISSING, LOW_VOLTAGE)
plus a remediation hint and (for the no-motion case) the
current flight mode, GPS sat count, and the commanded vs observed
velocity magnitudes. SDK-level failures additionally embed a
deep-link to the troubleshooting docs for that aircraft. Keep the
alerts panel open during your first off-RC flights.Add autonomy with waypoints
Cyberwave ships with autonomous navigation out of the box. You don’t have to write a planner; drop waypoints on the environment map and trigger them from the dashboard, the SDK, or a workflow.Drop waypoints
Open the environment, click anywhere on the map to add a waypoint, and label
it (
launch-pad, tower-A, inspection-point-3, …).Trigger a mission
Send the drone between waypoints from the dashboard, the SDK, or as a
Workflow trigger. Cyberwave plans the path and executes it through the
paired driver.
React on arrival
Wire a Workflow to fire on
waypoint reached:
e.g. capture a frame, send it to a cloud VLM, and log the finding.Build inspection workflows
Use Workflows to turn waypoints into repeatable inspection missions. A typical pattern:waypoint reached → capture frame → send to a cloud VLM → log finding / raise alert
See the edge-to-cloud VLM tutorial and the rover AI mission tutorial for full walkthroughs of the same pattern on other platforms; the workflow contract is identical.
Because Cyberwave also speaks to cameras, robotic dogs, and arms, you can mix and match hardware in the same workflow, for example a fixed perimeter camera that triggers a drone patrol, or a drone that hands off to a quadruped once it lands at an inspection point.
Workflows can be authored low-code in the dashboard or directly in
Python. Cyberwave decides whether each step runs on the edge device next
to the drone, in a cloud node, or a mix of both; your
automation and your hardware don’t change.
Where to go next
Browse the drone catalog
Per-aircraft setup, BOM, and troubleshooting for every supported drone.
Autonomous Navigation
The waypoint and navigation driver API.