Three real robot classes. Pick a robot + tick: the two cards below show the concrete messages the SDK sends — the control-plane declaration (once) and the data-plane sample (this tick). Descriptor colour = provenance.
SourceDeclared (bidi Connect stream)SourceDeclared{RobotSourceDescriptor} as the first event; Loop accepts it with a runtime source_id.RobotPayload.state.StreamSamples)SampleBatch{ source_id, samples: [Sample{ timestamp_us, sequence, RobotPayload{ state } }] }.RobotPayload.state is a map from the robot signal key to a typed RobotValue; the data plane is self-describing.control_hz; slower signals are held or sent as their own source.| REAL · source data | CHANNEL DESCRIPTOR · colour = provenance | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| source field | idx | value @ tick | role | channel name | group | rotation | unit | range | |
Real episodes at product/recorder_data_samples/ (Franka, Vega = recorder parquet; G1 = LeRobot/GR00T).
Extracted by extract_real_examples.py. Messages are illustrative of the v2 proposal in
docs/spec_discrepancies.md §A — values are real; descriptor colour = source/inferred/none.