Glossary · Robotics and control

Position servo

Also called PD controller, PD control, servo, position actuator, stiffness, damping

A motor controller that pushes a joint toward a target angle, with a force that grows with the error, up to a limit.

A servo is a motor with feedback. A position servo is given a target angle q∗q^* and applies torque to get there. The usual rule is PD control (proportional–derivative):

τ=kp (q∗−q)−kd q˙\tau = k_p\,(q^* - q) - k_d\,\dot{q}
  • The P term acts like a spring: the further the joint is from the target, the harder it pulls. kpk_p is the stiffness.
  • The D term acts like a damper: it resists motion, so the joint doesn’t overshoot and wobble. kdk_d is the damping.

Real motors have a strength limit, so the torque is capped:

τ=clip⁡ ⁣(kp (q∗−q)−kd q˙,  −τmax⁡,  τmax⁡)\tau = \operatorname{clip}\!\big(k_p\,(q^* - q) - k_d\,\dot{q},\; -\tau_{\max},\; \tau_{\max}\big)

Why RL policies use them

A policy could output raw torques, but then it would have to learn to hold every joint still against gravity, 50 times a second. With position servos, holding a pose is the default and the policy only says where the joints should be. Learning is much faster and the motion smoother. Most legged-robot policies trained in simulation, and on real robots, output servo targets.

What a servo isn’t

A servo isn’t a muscle. A person can tense to make a joint stiffer without moving it. A fixed-gain servo can’t: its stiffness kpk_p never changes. This is why our posts list “no muscle activation” as a limitation.

In this project

Every motor on both bodies is a torque-capped position servo. The policy’s action is a correction added to the reference pose, and the sum is the servo target q∗q^* (see residual policy).

The damping matters most on fast moves. In the speed work of 18 October, the elbow’s damper took the whole torque cap on a fast extension, so the arm never straightened past 37–44° during a straight punch, even when the policy asked for a straight arm. The coach allowed a stronger, less damped elbow: the torque cap went from 90 to 135 N m and the damping from 36 to 13.5 N m s per radian, with the stiffness unchanged. The elbow then straightened to 16–17° (see Faster punches).

In the blocking work, damping limited how fast a high block could rise: the left shoulder swings from 53° to 129°, and 20 ms into the swing the damping cancelled the pull. A quarter of the damping while a high block rises took the left high block from 0.26 s to 0.12 s (see Blocking).

Related terms

Used in

← All terms