Introduction
Computed Torque Control makes some assumptions that are rarely true in practice. This note covers two problems (computation time and unknown parameters) and the ways to deal with them.
Time to compute the model
The theory assumes that the system runs in continuous time, and that the control law takes zero time to compute. But:
- the full dynamic equation must be computed in the control law, and this takes a lot of computation
- real controllers are digital and run at a fixed sampling rate
- sensors are read at discrete times, and actuator commands are sent at discrete times
The computation must be fast enough so that the continuous time approximation is still valid.
Solution 1: feed forward non-linear control
Compute the dynamic model from the desired path only (, , ), and not from the measured state. The model based control is outside the servo loop.

- the desired path is known in advance, so you can compute the model values off line before the motion starts
- the fast inner servo loop only multiplies errors by gains
- this is cheap to compute at run time, so you can have a high servo rate
Solution 2: dual rate computed torque
Write the dynamics in configuration space form, so that the dynamic parameters depend only on the joint position:
- holds the Coriolis terms (products of two different joint velocities)
- holds the centrifugal terms (squares of joint velocities)
Note
and together replace the velocity term of the Robot Dynamic Model.
For the two link planar robot:
Note
The slide writes with in the upper right entry and in the lower left entry. To match the first line (which is also on the slide), the upper right entry must be and the lower left entry must be .

The functions , , and depend only on position. So:
- a background process or a second computer can compute them, or you can look them up in a pre computed table
- you update them at a slower rate than the servo loop. For example, the background computation runs at 60 Hz and the closed loop servo runs at 250 Hz

Lack of knowledge of parameters
It is often hard to know the dynamic model accurately.
- friction is hard to model, and its structure and parameters are rarely known
- some dynamics change as the robot ages, so the parameters do not stay correct
- robots pick up parts and tools. The tool changes the inertia and weight of the last link. If the mass of the tool is known, you can update the model. But the mass of the object is often not known
Effect of a disturbance torque
Add a vector of disturbance torques at the joints:

With the computed torque law, the closed loop becomes:
- the left side is decoupled
- but is not diagonal in general, so a disturbance on one joint causes errors on all the other joints
For a constant disturbance, the steady state servo error is: