Expand description
The 1 kHz control loop.
Port of franka::ControlLoop (libfranka 0.21.2 src/control_loop.{h,cpp}): start a motion,
call the user callbacks once per cycle, low-pass filter and rate limit what they return,
send it, and finish or cancel the motion at the end.
This module holds the pieces every control loop shares — the per-version rate-limiting
envelope, the joint-velocity-limit source and the ConvertContext the conversions run
in. The conversions themselves are in the motion submodule (the four motion generator
command types) and torque; the loop that drives them is in runner.