TeleopIngestionScenario
Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/demonstrations.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
Raw telemetry of one teleoperated session on machine: its navigation and wrist cameras, external_cameras RGB-D cameras, and the kinematic record at the permission tick.
Notes
Equation: Raw bandwidth sums RGB, depth, and kinematic streams; stored bytes=bandwidth*duration.
Assumptions: Uncompressed fixed-rate streams and optional uniform compression ratio; camera geometry comes from the supplied device entries.
Excludes: Codec cost, dropped frames, file framing, and storage replication.
References
Implementation references: mlsysim.physics.robotics.perception.calc_teleop_ingestion_budget. These helper contracts state the source assumptions; the scenario binds their inputs and derives the displayed ratios and budgets.
Examples
The named registry scenario supplies the stated inputs; this is a modeled calculation, not a new measurement.
>>> from mlsysim import Scenarios
>>> scenario = Scenarios.WarehouseTeleopIngestion
>>> round((scenario.total_rate).to('MB/s').magnitude, 6)
3121.6832Attributes
| Name | Description |
|---|---|
| bytes_per_value | |
| compressed_rate | Aggregate MB/s after dividing all traffic by the supplied uniform compression ratio; excludes codec compute. |
| compressed_storage_per_hour | TB per hour under the same uniform compression ratio as compressed_rate. |
| compression_ratio | |
| depth_bytes_per_pixel | |
| external_budget | External-camera budget from _budget/calc_teleop_ingestion_budget; includes the declared number of RGB and depth streams. |
| external_camera | |
| external_cameras | |
| external_depth_rate | Combined external depth bandwidth from the external budget, in MB/s. |
| external_rate | Combined external RGB-plus-depth bandwidth, in MB/s. |
| external_rgb_rate | Combined external RGB bandwidth from the external budget, in MB/s. |
| fast_drive_bandwidth | |
| kinematic_rate | Raw kinematic telemetry bandwidth in MB/s: record bytes times permission-record frequency. |
| kinematic_share | Fraction of aggregate raw bandwidth occupied by kinematic records. |
| machine | |
| nav_budget | Navigation-camera and kinematic byte budget from _budget/calc_teleop_ingestion_budget; includes one RGB stream and no depth. |
| nav_over_slow_drive | Dimensionless ratio of navigation RGB bandwidth to the supplied slower drive’s sustained bandwidth. |
| nav_rate | Raw navigation RGB bandwidth from nav_budget['bw_rgb'], in MB/s. |
| record_bytes | Bytes in one kinematic record: values for every servo axis plus its timestamp. |
| rgb_bytes_per_pixel | |
| shift | |
| slow_drive_bandwidth | |
| storage_per_hour | Raw storage in decimal TB for one hour, summing the three stream budgets. |
| storage_per_shift | Raw storage in decimal TB for the declared shift duration at constant ingestion rates. |
| timestamp_bytes | |
| total_rate | Aggregate raw bandwidth in MB/s, summing navigation, wrist, external, and kinematic components once. |
| values_per_axis | |
| wrist_budget | Wrist-camera budget from _budget/calc_teleop_ingestion_budget; one RGB stream without kinematic traffic. |
| wrist_rate | Raw wrist RGB bandwidth from wrist_budget['bw_rgb'], in MB/s. |
machine
Type: Any.
Declared default: required.
external_camera
Type: Any.
Declared default: required.
external_cameras
Type: int.
Declared default: required.
rgb_bytes_per_pixel
Type: int.
Declared default: required.
depth_bytes_per_pixel
Type: int.
Declared default: required.
values_per_axis
Type: int.
Declared default: required.
bytes_per_value
Type: int.
Declared default: required.
timestamp_bytes
Type: int.
Declared default: required.
shift
Type: Quantity.
Declared default: required.
compression_ratio
Type: float.
Declared default: required.
slow_drive_bandwidth
Type: Quantity.
Declared default: required.
fast_drive_bandwidth
Type: Quantity.
Declared default: required.
record_bytes
engine.scenario_types.TeleopIngestionScenario.record_bytes
Bytes in one kinematic record: values for every servo axis plus its timestamp.
Equation: self.machine.servo_axes * self.values_per_axis * self.bytes_per_value + self.timestamp_bytes
kinematic_rate
engine.scenario_types.TeleopIngestionScenario.kinematic_rate
Raw kinematic telemetry bandwidth in MB/s: record bytes times permission-record frequency.
Equation: (self.record_bytes * Q_(1, ‘byte’) * self.machine.permission_rate).to(‘MB/s’)
wrist_budget
engine.scenario_types.TeleopIngestionScenario.wrist_budget
Wrist-camera budget from _budget/calc_teleop_ingestion_budget; one RGB stream without kinematic traffic.
Equation: self._budget(self.machine.wrist_camera, 1, False)
external_budget
engine.scenario_types.TeleopIngestionScenario.external_budget
External-camera budget from _budget/calc_teleop_ingestion_budget; includes the declared number of RGB and depth streams.
Equation: self._budget(self.external_camera, self.external_cameras, True)
wrist_rate
engine.scenario_types.TeleopIngestionScenario.wrist_rate
Raw wrist RGB bandwidth from wrist_budget['bw_rgb'], in MB/s.
Equation: self.wrist_budget[‘bw_rgb’]
external_rgb_rate
engine.scenario_types.TeleopIngestionScenario.external_rgb_rate
Combined external RGB bandwidth from the external budget, in MB/s.
Equation: self.external_budget[‘bw_rgb’]
external_depth_rate
engine.scenario_types.TeleopIngestionScenario.external_depth_rate
Combined external depth bandwidth from the external budget, in MB/s.
Equation: self.external_budget[‘bw_depth’]
external_rate
engine.scenario_types.TeleopIngestionScenario.external_rate
Combined external RGB-plus-depth bandwidth, in MB/s.
Equation: self.external_budget[‘bw_vision’]
total_rate
engine.scenario_types.TeleopIngestionScenario.total_rate
Aggregate raw bandwidth in MB/s, summing navigation, wrist, external, and kinematic components once.
Equation: (self.nav_budget[‘bw_total’] + self.wrist_budget[‘bw_total’] + self.external_budget[‘bw_total’]).to(‘MB/s’)
storage_per_hour
engine.scenario_types.TeleopIngestionScenario.storage_per_hour
Raw storage in decimal TB for one hour, summing the three stream budgets.
Equation: (self.nav_budget[‘storage_per_hour’] + self.wrist_budget[‘storage_per_hour’] + self.external_budget[‘storage_per_hour’]).to(‘TB’)
storage_per_shift
engine.scenario_types.TeleopIngestionScenario.storage_per_shift
Raw storage in decimal TB for the declared shift duration at constant ingestion rates.
Equation: (self.storage_per_hour * self.shift.to(‘hour’).magnitude).to(‘TB’)
compressed_rate
engine.scenario_types.TeleopIngestionScenario.compressed_rate
Aggregate MB/s after dividing all traffic by the supplied uniform compression ratio; excludes codec compute.
Equation: (self.total_rate / self.compression_ratio).to(‘MB/s’)
compressed_storage_per_hour
engine.scenario_types.TeleopIngestionScenario.compressed_storage_per_hour
TB per hour under the same uniform compression ratio as compressed_rate.
Equation: (self.storage_per_hour / self.compression_ratio).to(‘TB’)