Feedforward Control
前馈控制CommonUsing a model to compute the needed control input in advance, and adding it directly, rather than waiting for an error to appear.
Feedforward control uses a system model to compute, ahead of time, the control input needed for a known target trajectory or a measurable disturbance, and adds it directly to the output; feedback control, by contrast, corrects only after measuring an actual error. Pure feedforward is open-loop: if the model is inaccurate or there's an unmeasured disturbance, nothing corrects the resulting error, so in practice feedforward is usually combined with feedback — feedforward handles the bulk of the work, and feedback only cleans up the small remainder, which lets the system track more closely while allowing the feedback gains to be set lower, keeping the joints more compliant. Typical feedforward terms in robotics include gravity compensation, friction compensation, and the torque computed from a desired acceleration via inverse dynamics (this is exactly what computed-torque control is built on). A common joint-motor command is τ = τff + kp(q_target − q) + kd(q̇_target − q̇), where τff is the feedforward torque and the other two terms are PD feedback.
ExampleA robot arm reaches out horizontally with a 1 kg payload hanging 0.5 m from the shoulder joint; the gravity torque from the payload alone is about 9.8×0.5≈4.9 N·m. Precomputing this and feeding it into τff means the PD feedback no longer has to widen the position error just to hold the payload up, and tracking error drops noticeably.
- Also called
- Feedforward Torque, Feedforward Compensation, τff
- Related
- Gravity Compensation · Friction Compensation · Computed Torque Control · Proportional-Derivative Control · MIT Mode · Inverse Dynamics
- Sources
- Wikipedia: Feed forward (control)
unitree_sdk2 G1 底层示例 g1_ankle_swing_example.cpp(tau_ff / kp / kd 字段) (Chinese)