GripperTransferScenario
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 normalized gripper command from a donor gripper replayed on a target with a shorter stroke and a lower continuous force rating, against a part of part_width.
Notes
Equation: Opening=normalized_command*stroke; clearance compares opening with part_width.
Assumptions: A linear command-to-stroke map and fixed donor/target force specifications.
Excludes: Contact-force prediction, compliant deformation, and transfer success beyond geometric clearance.
References
Derivation: The assumed actuator map is linear: normalized opening command times stroke gives jaw opening. Comparing that opening with part width gives geometric clearance; comparing donor force with target rating is a separate specification ratio.
Examples
The named registry scenario supplies the stated inputs; this is a modeled calculation, not a new measurement.
>>> from mlsysim import Scenarios
>>> scenario = Scenarios.GripperStrokeTransfer
>>> scenario.target_clears
FalseAttributes
| Name | Description |
|---|---|
| command | |
| donor_clears | Whether donor opening exceeds part width; equality does not count as clearance. |
| donor_hold_force | |
| donor_opening | Donor opening in mm: normalized command times donor stroke. |
| donor_stroke | |
| force_ratio | Dimensionless ratio of donor hold force to target rating; this comparison does not predict contact force. |
| part_width | |
| result | Collect the geometric and force-rating comparisons into GripperTransferResult; opening fields are in mm, the rating ratio is dimensionless, and clearance fields are booleans. |
| stroke_excess | Donor commanded opening minus the target’s full available stroke, in mm; positive values exceed what the target can reproduce even fully open. |
| target_clears | Whether target opening exceeds part width under the transferred command. |
| target_force_rating | |
| target_opening | Target opening in mm under the same normalized command and its different stroke. |
| target_stroke |
command
Type: float.
Declared default: required.
donor_stroke
Type: Quantity.
Declared default: required.
target_stroke
Type: Quantity.
Declared default: required.
part_width
Type: Quantity.
Declared default: required.
donor_hold_force
Type: Quantity.
Declared default: required.
target_force_rating
Type: Quantity.
Declared default: required.
donor_opening
engine.scenario_types.GripperTransferScenario.donor_opening
Donor opening in mm: normalized command times donor stroke.
Equation: (self.command * self.donor_stroke).to(‘mm’)
target_opening
engine.scenario_types.GripperTransferScenario.target_opening
Target opening in mm under the same normalized command and its different stroke.
Equation: (self.command * self.target_stroke).to(‘mm’)
stroke_excess
engine.scenario_types.GripperTransferScenario.stroke_excess
Donor commanded opening minus the target’s full available stroke, in mm; positive values exceed what the target can reproduce even fully open.
Equation: (self.donor_opening - self.target_stroke).to(‘mm’)
force_ratio
engine.scenario_types.GripperTransferScenario.force_ratio
Dimensionless ratio of donor hold force to target rating; this comparison does not predict contact force.
Equation: (self.donor_hold_force / self.target_force_rating).to(’’).magnitude
donor_clears
engine.scenario_types.GripperTransferScenario.donor_clears
Whether donor opening exceeds part width; equality does not count as clearance.
Equation: self.donor_opening > self.part_width
target_clears
engine.scenario_types.GripperTransferScenario.target_clears
Whether target opening exceeds part width under the transferred command.
Equation: self.target_opening > self.part_width
result
engine.scenario_types.GripperTransferScenario.result
Collect the geometric and force-rating comparisons into GripperTransferResult; opening fields are in mm, the rating ratio is dimensionless, and clearance fields are booleans.
Equation: The calculation follows the stated accounting rule; the method body shows each intermediate term.