Introduction

Computed torque control is Control Law Partitioning applied to a robot. Robot dynamics are highly non-linear, and the joints are coupled. The model based portion cancels these non-linear terms, so the closed loop system is linear and decoupled.

The control law uses the Robot Dynamic Model:

For the single link robot , use with:

This gives . The servo portion is , with . So:

The torque is computed in this form and applied to the motor.

Multi input, multi output robot

A robot with joints is a MIMO system. Now and are vectors, and is an matrix. Choose:

Then the closed loop is . This is a set of separate unit masses:

So you can design each separately.

PD computed torque

The servo law for each joint:

In vector form, with diagonal gain matrices and :

The error equation is:

The full control law is:

flowchart LR
    TD["θ_d, θ_d-dot, θ_d-ddot"] --> SV["Servo<br/>v = θ_d-ddot + K_v E-dot + K_p E"]
    SV -->|"v"| MB["Model based<br/>τ = M v + C θ-dot + g"]
    MB -->|"τ"| R["Robot"]
    R -->|"θ, θ-dot"| SV
    R -->|"θ, θ-dot"| MB

PID computed torque

Add an integral term to remove the steady state error, with also diagonal:

Example

Design a PD computed torque controller for the two link polar robot with kg. The resonant frequency is 20 rad/s.

Note

The first example slide calls this robot the "2-link polar robot". The next slides call it a "2-link planar robot", but the model (with prismatic joint ) is the same two link polar robot.

Step 1: dynamic model (with m/s², so )

Step 2: model based portion

Step 3: servo portion

with and .

Step 4: gains

The characteristic equations are . Compare with :

  • rad/s, so choose rad/s
  • , so that (choose 20 for critical damping)

Step 5: control law

With , the damping ratio is . The lecture shows animations of this robot for (underdamped), (overdamped) and (critically damped).