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.

Being able to re-watch what your robots did, from any browser, days or weeks later, is one of Cyberwave’s quiet superpowers. In the lab it’s how you turn yesterday’s runs into training episodes and datasets for your custom VLAs. In production it’s how you actually learn from real-world data and make your workflows and automations better over time. Cyberwave ships the whole pipeline — capture, upload, indexing, signed-URL playback — out of the box. Zero configuration.

What’s recorded (and where it lives)

Every twin in an environment records on by default, and the Cyberwave Edge is the one buffering and uploading everything for you:
  • Live video from every paired camera (MP4, range-requested on playback)
  • Joint states, positions, velocities, gripper status (Parquet, time-windowed reads)
  • Mobile-base telemetry — GPS, odometry, IMU
  • Point clouds from depth and LiDAR sensors (FlatBuffer chunks)
  • Audio from on-device microphones
  • Workflow runs — every node execution, input, and output, bound to the same timeline
You don’t manage disk space. The edge core buffers locally and uploads to Cyberwave Cloud the moment connectivity returns — so an intermittent network or a 4G hiccup never costs you a recording. See record / replay in the SDK data layer for the underlying mechanics.

Open Replay on any environment

Hit Replay in any environment, pick a time window, and the whole scene rewinds together:
  • 3D twins snap to their historical poses — robot joints, base position, attached objects.
  • Live video tiles scrub frame-accurately alongside the 3D view.
  • Point clouds render at the right pose for every frame.
  • Audio plays back in sync with the timeline.
  • Workflow runs that fired during the window show up as markers — click one to see node-level inputs, outputs, and errors (env editor reference).
Under the hood, playback uses signed URLs and range requests — nothing is inlined, nothing is fully loaded into the browser, and scrubbing stays fast even on multi-hour recordings.

Slice runs into episodes, export to anything

A recording isn’t just for watching. From the same timeline you can slice a window into an episode and group episodes into a dataset you can train on. When you’re ready to leave the cloud — or hand data to an external tool — export to the format you actually need:
FormatUse case
Cyberwave ParquetNative, joined columns — open it in Pandas
LeRobot v3Drop straight into HuggingFace + LeRobot
RLDSOpen-X-Embodiment style TFRecord
OpenVLA TFDSCyberwave’s OpenVLA bundle for training
See the Dataset export reference for the full matrix and the Datasets API. No lock-in: your data leaves in open formats whenever you want it to.
from cyberwave import Cyberwave

cw = Cyberwave()

dataset = cw.datasets.get("acme/datasets/pick-and-place-runs")
url = dataset.download(format="lerobot3")     # signed URL — fetch and go

Lab loop or production loop, same primitive

In the lab

Curate episodes from teleop or autonomous runs and feed them straight into SmolVLA or OpenVLA training. The same recording that lives in Replay is the one your model trains on.

In production

Review what happened the last time the line went down, find the failure mode in the timeline, and ship a fix to your workflows or policies the same day.

Replay reference

How signed URLs, MP4 ranges, Parquet windows, and point-cloud chunks actually load.

Datasets & export

Convert recordings into LeRobot, RLDS, OpenVLA, or raw Parquet.

SO-101 teleop dataset

End-to-end: record a teleop session and turn it into a training dataset.