Controller · repose-controller

Command modes

The controller always fills the same payload; mode tells the bridge which part of it to act on.

Modes

positionPosition setpoints; the bridge closes the servo loop, with the command velocities as feed-forward. Most robots and the MuJoCo bridge.
velocityVelocity setpoints; positions ride along as a drift reference. The igus and UR bridges stream this way.
effortTorque/force from the controller's PD law: kp · (qset − q) + kv · (q̇set − q̇). The bridge applies it raw, plus its own gravity compensation.

Change it at runtime with set_mode; it takes effect on the next cycle. Bridges refuse modes they don't support.

Payload: CuJointCommandPayload<N>

positions, velocitiesTyped setpoints.
effortsCuJointEffort: Revolute(Torque) N·m or Prismatic(Force) N. Effort mode only.
modeCuControllerMode.
statusIdle, Running, Holding, Fault.
max_tracking_errorLargest joint error this cycle.

Effort gains

kp is N·m/rad (or N/m), kv is N·m·s/rad (or N·s/m), both ≥ 0. In hold and fault states effort mode applies only a damping brake, −kv · q̇. With no measured state the effort is zero and only the bridge's gravity compensation holds the arm. set_effort_gains changes them at runtime and rejects invalid values without changing the current ones.

API reference