ROBOTICS 101Concept explainer

Feedforward plus Feedback

Feedback waits for an error before it acts. Feedforward acts on what it already knows: if the arm is about to lift, it will need more torque against gravity, so add it now. Combining the two gives accurate tracking without very high feedback gains.

The control law

For a link with inertia \(I\), mass \(m\), and center of mass at distance \(\ell\), following a planned angle \(\theta_d(t)\):

$$\tau = \underbrace{\hat I\,\ddot\theta_d + \hat m g \ell\cos\theta_d}_{\text{feedforward}} + \underbrace{K_p\,(\theta_d - \theta) + K_d\,(\dot\theta_d - \dot\theta)}_{\text{feedback}}$$

The hats mean the model's values, which can differ from the real arm.

What to notice

With feedback alone, the arm sags below the path, since a P-D controller needs an error to make the torque that holds the arm up. Turn on gravity feedforward and the sag mostly disappears. Turn on inertia feedforward and the lag at the turning points shrinks too. Add model error and some tracking error comes back, since the feedforward is now slightly wrong, but feedback cleans up the rest. This split, a model doing most of the work and feedback fixing the mistakes, is how most robot arms are controlled.