control.output

Output stages: optional corrections applied, in order, to the torques before they are sent.

None of them is on by default. Each takes the controller’s motor torques u [N·m] and the measurement and returns new torques. Motor angles follow the library convention (θ > 0 pulls).

Functions

apply(stages, u, meas)

Run the stages in order.

Classes

FrictionCompensation(max_torque, velocity)

Static-friction feed-forward per motor (Stribeck): u + τ_max exp(−(θ̇/v)²) sign(u).

Pretension(weights[, threshold])

Linear pretension u − W ∘ θ; with threshold [rad], only where θ < −threshold.

StaticFrictionCompensation(kinetic[, width, ...])

The kinetic friction torque added in the direction of the command, smooth in the command: u + fraction · Fc · u / √(u² + w²).

TensionFloor(floor[, width, group])

A floor under the torques of tendons that only pull, so that none is told to push.

TorqueLimit(limit)

Clips every command to ±limit [N·m] (scalar or per motor).

TorqueOffset(offset)

A constant torque added to every command [N·m], scalar or per motor.