Skip to main content

StiffContactScenario

Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/contact.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

A stiff contact of stiffness (a linear spring, F = k x): the force a residual penetration commands, and the penetrations at site’s latch tripwire and limit.

Notes

Equation: Hooke’s law gives force=k*penetration and its inverse gives penetration at a force limit.

Assumptions: A linear spring of positive stiffness with the supplied penetration.

Excludes: Impact dynamics, damping, controller saturation, and nonlinear compliance.

References

Derivation: Hooke’s law gives force=k*penetration and its inverse gives penetration at a force limit. Individual property contracts identify the exact accounting expression or reusable calculation. Registry entries supply the scenario inputs; this class does not turn them into measured outcomes.

Examples

Evaluate a named scenario using its declared inputs.

>>> from mlsysim import Scenarios
>>> scenario = Scenarios.StiffSurfaceResidual
>>> round(float(scenario.residual_force.magnitude), 4)
1000.0

Attributes

Name Description
limit_penetration Millimeters at which the spring force reaches the site’s latch-force limit.
residual
residual_force Newtons commanded by the residual penetration under the linear spring law F=k*x.
site
stiffness
tripwire_penetration Millimeters at which the spring force reaches the site’s latch tripwire.

Methods

Name Description
penetration_at Millimeters of linear-spring penetration corresponding to supplied force force.

penetration_at

engine.scenario_types.StiffContactScenario.penetration_at(force)

Millimeters of linear-spring penetration corresponding to supplied force force.

Equation: (force / stiffness).to('mm').

site

Type: Any.

Declared default: required.

stiffness

Type: Quantity.

Declared default: required.

residual

Type: Quantity.

Declared default: required.

residual_force

engine.scenario_types.StiffContactScenario.residual_force

Newtons commanded by the residual penetration under the linear spring law F=k*x.

Equation: (stiffness * residual).to('N').

tripwire_penetration

engine.scenario_types.StiffContactScenario.tripwire_penetration

Millimeters at which the spring force reaches the site’s latch tripwire.

Equation: penetration_at(site.f_latch_tripwire).

limit_penetration

engine.scenario_types.StiffContactScenario.limit_penetration

Millimeters at which the spring force reaches the site’s latch-force limit.

Equation: penetration_at(site.f_latch_limit).

Back to top