Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cyberwave.com/llms.txt

Use this file to discover all available pages before exploring further.

Cyberwave is built for both research projects and the moment those projects ship to a real customer. Once a robot is doing real work in a real place, human override is a requirement, not a feature — and Cyberwave gives you that override out of the box for every twin in the catalog, with no extra plumbing.
from cyberwave import Cyberwave

cw = Cyberwave()
cw.affect("live")

robot = cw.twin("acme/twins/arm-station-1")
robot.use_controller("keyboard")          # human takes the wheel
The robot was being driven by a model a second ago; now it’s being driven by you. Same twin, same environment, same code path.

See your fleet in real time

Switch any environment into Live mode and the dashboard becomes a window into the physical cell. You don’t tab between half a dozen camera apps — Cyberwave composes the picture for you:
  • Live video from every paired camera, streamed via WebRTC into the same canvas as the 3D scene.
  • 3D twin context — robot poses, joint states, and waypoints animate live alongside the video so you always know what’s where.
  • Spatial sensorsLiDAR and depth point clouds overlaid on the scene so you can see what the robot sees.
  • Health at a glance — per-twin presence indicators and edge-core status make it obvious which robot needs attention.
See Environment Editor → Live mode for the full panel.

Take over any robot in one click

Every twin always has exactly one controller driving it. Swapping controllers is the entire takeover flow — there’s no separate teleoperation app to launch.

Keyboard

Drive joints, gripper, or base motion straight from the browser. Best for quick recoveries and demos.

Gamepad

USB or Bluetooth controllers for intuitive control of mobile robots and arms.

Leader arm

Pair a physical leader arm (e.g. SO-101 leader/follower) and mirror your motion 1:1 onto the live robot.

Python SDK

Script overrides from your own code with cw.affect("live") and robot.use_controller(...).
robot.use_controller("keyboard")          # human override
robot.use_controller("my-vla-policy")     # hand it back to the AI
Telemetry, recording, and the environment replay timeline keep running across the handoff — a single session can start with an AI policy, hand off to a human, and end with a code controller, all on the same twin. Full reference: Live Teleoperation.

Alerts, escalation, and who can do what

Real production deployments need more than “someone is watching the dashboard”. Cyberwave wires the rest of the loop for you:

Real-time alerts

Per-twin and per-environment alerts with info/warning/error/critical severities, acknowledgement, and resolution lifecycle — surfaced in the UI and over MQTT.

Workflow-driven escalation

Use workflows to fan out alerts to email, HTTP, or your on-call system when a model gets stuck, a confidence drops, or a sensor goes silent.

Role-based access

Viewer / Editor / Admin roles cascade from the workspace, with per-twin and per-environment overrides so operators only see (and drive) what they’re meant to.

Audit-friendly link shares

Read-only and comment-only link shares let stakeholders watch a live cell without ever getting takeover rights.
Together, this is how you take a physical AI automation from “cool demo” to “I can put it in front of a paying customer” — full real-time visibility, instant override, and a defined chain of who responds when something is off.

Live Teleoperation reference

Controller types, WebRTC streaming, latency, and the full setup flow.

Go2 — digital to physical

End-to-end walkthrough of swapping a simulated policy for live override.

SO-101 teleop dataset

Use a leader/follower setup to teleop a real arm and record data for training.