Class SafetyGate
The gate every motion command passes through: an e-stop, a watchdog, and limits.
public sealed class SafetyGate : IDisposable
- Inheritance
-
SafetyGate
- Implements
- Inherited Members
Constructors
SafetyGate(Limits, float)
Creates a gate from limits, copied as they stand, and a watchdog timeout.
public SafetyGate(Limits limits, float watchdogTimeout)
Parameters
limitsLimitsThe limits for normal motion; they stay the caller's.
watchdogTimeoutfloatThe silence after which the gate stops the robot.
Properties
IsStopped
Gets whether the gate is forcing a stop: its e-stop is engaged or its watchdog expired.
public bool IsStopped { get; }
Property Value
Methods
Command(Twist, float)
Returns the command that is safe to drive for a desired one over a time step.
public Twist Command(Twist desired, float dt)
Parameters
Returns
- Twist
A zero twist while stopped, otherwise
desiredbounded by the limits.
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
EngageEstop()
Engages the latching e-stop.
public void EngageEstop()
Feed()
Feeds the watchdog; call it whenever a fresh command arrives.
public void Feed()
ResetEstop()
Clears the e-stop.
public void ResetEstop()