Table of Contents

Class SafetyGate

Namespace
Pamoja.Kit
Assembly
Pamoja.Kit.dll

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

limits Limits

The limits for normal motion; they stay the caller's.

watchdogTimeout float

The 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

bool

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

desired Twist

The requested motion.

dt float

The time since the last call.

Returns

Twist

A zero twist while stopped, otherwise desired bounded 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()