Embodied AI Glossary中文

Torque Limiting (Saturation)

力矩限幅Common

Clipping the controller's computed torque to what the motor can actually deliver, discarding whatever exceeds that.

Torque limiting is the final clip in the control chain: no matter how much torque the higher levels compute, it gets clamped to [−τmax, τmax] before reaching the motor. τmax is set by the motor's peak torque, the drive's current limit, and the gearbox's strength, and in practice it also drops as speed increases. It protects the motor from burning out and the gearbox from breaking, and it also stops a simulated robot from applying ‘unlimited’ force. The side effect is that once saturated, the controller thinks it's sending one thing while the actual output is another: a PID's integral term keeps accumulating (integral windup), producing a large overshoot once it comes out of saturation, which requires anti-windup handling; the limits used in simulation training should also match the real hardware, or a policy's learned behavior won't transfer correctly. Besides the magnitude, some systems also cap how fast torque is allowed to change.

Examplelegged_gym's _compute_torques function computes torque from the policy's target joint angle via the PD formula, then clips it with torch.clip to ±torque_limits in its final line before passing it to the simulator; libfranka additionally limits the rate of torque change, to roughly 1000 N·m/s per joint.

Also called
Torque Saturation, Output Clipping, Torque Clipping, Actuator Saturation
Related
Peak Torque · Rated Torque · Torque-Speed Curve · Integral Windup / Anti-windup · Soft Limits (Software Joint Limits) · Torque Control
Sources
legged_gym: legged_robot.py(_compute_torques 中的 torch.clip) (Chinese)
Isaac Lab Docs: Actuators(ideal PD actuator clipping)
libfranka rate_limiting.h(kMaxTorqueRate)

See it in the full glossary →