> ## 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 documentation

> Guides, tutorials and reference for connecting AI to robots with Cyberwave.

<img src="https://mintcdn.com/cyberwave/zWTjP7C7PPdTAAwp/images/home-hero.png?fit=max&auto=format&n=zWTjP7C7PPdTAAwp&q=85&s=9676c34e99fc6bdb6a9166b5090dc5e4" style={{ width: "100%", height: "auto", borderRadius: "20px" }} alt="Connect AI to the physical world. Any robot. Any model. Simulation or real. Cyberwave turns every robot and sensor into a digital twin that your code, your models and your agents can drive, with the same API from the browser to the factory floor." width="2400" height="1000" data-path="images/home-hero.png" />

## Try it now

<CardGroup cols={3}>
  <Card title="Drive a real robot" icon="hand-pointer" href="/overview/develop-remote-hardware">
    **2 min · browser only.** Control a real SO-101 in our Milan lab from your browser.
  </Card>

  <Card title="Hello Robot in simulation" icon="cube" href="/overview/hello-robot">
    **5 min · no code.** Add a twin, press Simulate, drive it with your keyboard.
  </Card>

  <Card title="Your first AI loop" icon="wand-magic-sparkles" href="/overview/first-ai-loop">
    **20 min · Python + webcam.** A camera spots a cup; the arm picks it and sorts it, in the free Playground sim.
  </Card>
</CardGroup>

## The platform at a glance

**AI agents on top, your robots at the bottom, Cyberwave in between.** Agents plan and configure; perception models, controllers and learned policies act through digital twins. Cyberwave Edge connects the twins to real hardware. You get in through the dashboard, the Python SDK, the CLI, REST and MQTT, or MCP.

<img src="https://mintcdn.com/cyberwave/zWTjP7C7PPdTAAwp/images/cyberwave-architecture.png?fit=max&auto=format&n=zWTjP7C7PPdTAAwp&q=85&s=af3709092cd66c60bc958b44a565b52f" style={{ width: "100%", height: "auto", borderRadius: "20px" }} alt="Cyberwave architecture. AI agents on top build the environment, control robots and define workflows. Below them your AI: perceive, control, learn. Then the Cyberwave platform: digital twins and environments, simulation, controllers and handover, catalog, data and training. Then Cyberwave Edge: Edge Core, drivers and workers on Raspberry Pi, Jetson, x86 or macOS. At the bottom your hardware: arms, quadrupeds, rovers, drones, cameras and sensors. Ways in: dashboard, Python SDK, CLI, REST and MQTT, MCP." width="2400" height="1918" data-path="images/cyberwave-architecture.png" />

## How AI reaches a robot

<CardGroup cols={2}>
  <Card title="AI agents" icon="comments" href="/ai/agents">
    Describe what you want. Agents build the environment, control the robot and write workflows, and you approve every plan.
  </Card>

  <Card title="AI models" icon="brain" href="/ai/models">
    Models that perceive (detection, depth, speech), reason (VLMs, LLMs) or act (VLA, RL), on the edge or in the cloud.
  </Card>

  <Card title="Control" icon="gamepad" href="/ai/control">
    Five ways to drive your robots: manual input, skills, workflows, VLA models and RL policies. Switch any time.
  </Card>

  <Card title="Learn" icon="database" href="/feature-reference/datasets/import">
    Every run becomes data. Datasets train the next model, which deploys back to the same twin.
  </Card>
</CardGroup>

[How it all fits together →](/ai/overview)

## What it looks like in code

<Tabs>
  <Tab title="Move a robot">
    ```python theme={null}
    # pip install cyberwave   ·   export CYBERWAVE_API_KEY=...
    import time
    from cyberwave import Cyberwave

    cw = Cyberwave()
    arm = cw.twin("the-robot-studio/so101")   # creates or reuses "Quickstart Environment"
    cw.affect("playground")                   # free browser simulation; "live" for the real robot
    arm.policy.ensure_attached()              # the SDK takes control of the twin
    time.sleep(2)
    arm.joints.set("shoulder_pan", 45, degrees=True)
    print(arm.joints.get())
    ```
  </Tab>

  <Tab title="Add a model">
    ```python theme={null}
    # pip install "cyberwave[ml]" opencv-python
    import cv2
    from cyberwave import Cyberwave

    cw = Cyberwave()
    model = cw.models.load("yolo26n.pt")      # from the catalog, runs locally
    ok, frame = cv2.VideoCapture(0).read()    # your laptop webcam
    result = model.predict(frame, confidence=0.5)
    print(result.describe())                  # detections with labels and scores
    # Next: pick and sort what the camera sees -> /overview/first-ai-loop
    ```
  </Tab>

  <Tab title="Ask the control agent">
    ```python theme={null}
    from cyberwave import Cyberwave

    cw = Cyberwave()
    go2 = cw.twin("unitree/go2")
    env = go2.environment_id

    plan = cw.agents.control.plan(env, "Move the Go2 to waypoint A", twin_uuid=go2.uuid, mode="simulation")
    actions = plan.get("dispatchable_actions") or []
    if not actions:
        raise SystemExit(f"Nothing to dispatch: {plan}")

    print(actions[0])  # review before you confirm
    action = cw.control.dispatch(env, actions[0], confirmed=True, mode="simulation")
    cw.actions.wait(action["action_id"], twin_uuid=go2.uuid, timeout=60)
    ```

    The environment needs a waypoint named "A". More in [Control agent](/ai/control-agent).
  </Tab>
</Tabs>

<Note>
  Get an API key under [API tokens](/feature-reference/api-tokens). `cw.affect("simulation")` starts a MuJoCo instance, which uses [credits](/billing/credits); `"playground"` is free. Stuck? See [troubleshooting](/support/troubleshooting).
</Note>

## Works across form factors

Arms, quadrupeds, rovers, drones and cameras all become digital twins with the same API. What a twin can do (move joints, grip, drive, fly, stream video) comes from its capabilities, not its brand. [How hardware works →](/robots/overview)

<CardGroup cols={4}>
  <Card title="Arms" icon="robot" href="/overview/robotic-arms">SO-101, UR, Piper, OpenArm…</Card>
  <Card title="Quadrupeds & rovers" icon="dog" href="/overview/robotic-dogs">Go2, Spot, UGV Beast…</Card>
  <Card title="Drones" icon="plane" href="/overview/drones">DJI Mini, PX4 Vision…</Card>
  <Card title="Cameras & sensors" icon="camera" href="/overview/cameras">USB, RTSP, GigE, RealSense…</Card>
</CardGroup>

Is your device supported? Check the [compatibility table](/overview/supported-hardware), or [add your robot](/robots/add-your-robot).

## Choose your path

<CardGroup cols={3}>
  <Card title="Developers" icon="code" href="/overview/python-sdk-quickstart">Python SDK, CLI, MCP.</Card>
  <Card title="ML engineers" icon="brain" href="/tutorials/train-vla-cyberwave">Record, train a VLA or RL policy, and deploy it.</Card>
  <Card title="No-code builders" icon="diagram-project" href="/feature-reference/workflows">Workflows, from simulation to fleet.</Card>
  <Card title="Robot makers" icon="screwdriver-wrench" href="/robots/add-your-robot">Get your hardware listed and supported.</Card>
  <Card title="Integrators & enterprises" icon="building" href="/enterprise/overview">Deployment, security, fleet ops.</Card>
  <Card title="Get help" icon="life-ring" href="/support/troubleshooting">Troubleshooting, Discord, status.</Card>
</CardGroup>

## See it in 60 seconds

<Frame>
  <iframe width="100%" height="420" src="https://www.youtube.com/embed/vocKU2END60" title="Hello Robot" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen />
</Frame>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.