Page 243 -
P. 243
226 Computed-Torque Control
There do exist “exact” techniques for deriving discrete nonlinear robot
dynamics. They rely on discretizing the robot arm dynamics in such a way
that energy and momentum are conserved at each sampling instant [Neuman
and Tourassis 1985]. See also [Elliott 1990]. Unfortunately, these schemes
result in extremely complicated discrete dynamical equations, even for simple
robot arms. It is very difficult to derive guaranteed digital control laws for
them.
In this section we simply take the discretized inner nonlinear loop as given
by the approximation (4.5.2).
Joint Velocity Estimates from Position Measurements
Throughout this chapter in the examples we have simulated continuous-time
robot controllers assuming that both the joint positions and velocities are
measured exactly. In point of fact, it is usual to measure the joint velocities
using optical encoders, and then estimate the joint velocities from these position
measurements. Simply computing the joint velocities using the Euler
approximation
(4.5.6)
is virtually doomed to failure, since this high-pass filter amplifies the encoder
measurement noise.
Denote the joint velocity estimates by v k . Then a filtered derivative can be
used to compute v k from q k using
(4.5.7)
where ν is a design parameter. If ν is small, it corresponds to a fast pole near
z=0, which provides some high-pass filtering to reject unwanted sensor noise.
Example 4.5.1 will illustrate the use of this joint velocity estimation filter.
The velocity estimation filter design can be optimized for the given encoder
noise statistics by using an alpha-beta tracker to reconstruct v k [Lewis 1986a],
[Lewis 1986b], [Lowe and Lewis 1991]. This is a specialized form of Kalman
filter. It should be noted that the velocity estimates are not only used in the
outer linear loop for computing k; they must be used to compute the inner
nonlinear terms in (4.5.3) as well.
Discretization of Outer PD/PID Control Loop
We have seen that a useful computed-torque outer feedback loop is the PID
controller. Given a continuous-time PID controller, a digital PID controller
for the outer loop may be designed as follows [Lewis 1992].
Copyright © 2004 by Marcel Dekker, Inc.