StateGridScenario
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.
A state space of state_components axes cut into bins per axis, against the records fleet robots log at log_rate for duration.
Notes
Equation: Cells=bins**sum(state_components); coverage upper bound=fleet*rate*duration/cells.
Assumptions: Uniform axis discretization and at most one newly occupied cell per recorded observation.
Excludes: Actual occupancy distribution, repeated-state correction, and proof that a grid represents task coverage.
References
Derivation: The Cartesian product of equally binned state axes contains bins raised to the summed dimension count. At most one new cell can be represented by each record, so records divided by cells is only an upper coverage bound.
Examples
The named registry scenario supplies the stated inputs; this is a modeled calculation, not a new measurement.
>>> from mlsysim import Scenarios
>>> scenario = Scenarios.WarehouseManipulatorStateGrid
>>> scenario.dims
28Attributes
| Name | Description |
|---|---|
| bins | |
| cells | Number of coarse grid cells: bins ** dims; a combinatorial count stored as float. |
| dims | Total state dimensions, summing the declared component widths. |
| duration | |
| fine_bins | |
| fine_cells | Number of fine grid cells: fine_bins ** dims. |
| fleet | |
| log_rate | |
| max_coverage | Records divided by coarse cells, an upper bound on distinct-cell coverage assuming every record occupies a new cell; not clipped to one. |
| records | Total records from all fleet members at constant logging rate over the duration. |
| state_components |
state_components
Type: Dict[str, int].
Declared default: required.
bins
Type: int.
Declared default: required.
fine_bins
Type: int.
Declared default: required.
fleet
Type: int.
Declared default: required.
log_rate
Type: Quantity.
Declared default: required.
duration
Type: Quantity.
Declared default: required.
dims
engine.scenario_types.StateGridScenario.dims
Total state dimensions, summing the declared component widths.
Equation: sum(self.state_components.values())
cells
engine.scenario_types.StateGridScenario.cells
Number of coarse grid cells: bins ** dims; a combinatorial count stored as float.
Equation: float(self.bins) ** self.dims
fine_cells
engine.scenario_types.StateGridScenario.fine_cells
Number of fine grid cells: fine_bins ** dims.
Equation: float(self.fine_bins) ** self.dims
records
engine.scenario_types.StateGridScenario.records
Total records from all fleet members at constant logging rate over the duration.
Equation: self.fleet * (self.log_rate * self.duration).to(’’).magnitude
max_coverage
engine.scenario_types.StateGridScenario.max_coverage
Records divided by coarse cells, an upper bound on distinct-cell coverage assuming every record occupies a new cell; not clipped to one.
Equation: self.records / self.cells