9
-24 Robotics and Automation Handbook
G
c
(z
−1
)
ZPETC
Y
d
R
Y
FIGURE 9.39 ZPETC as a command generator.
does not try to overrule or add to the efforts of the feedback controller. Given this structure, the ZPETC
should be considered a command generator, rather than a feedforward compensator.
To cancel the acceptable portion of the plant model, create the ZPETC so that the reference signal is
given by
r (k) =
A
c
(z
−1
)
B
a
c
(z
−1
)B
u
c
(1)
y
∗
d
(k + d)
(9.33)
Rather than invert the unacceptable zeros, the reference signal is formed using the unacceptable portion
evaluated at 1. B
u
c
(1) is a scaling term to compensate for the portion of the system that is not inverted. Note
that the ZPETC operates on a term related to the desired trajectory denoted by y
∗
d
. Choosing this function
carefully can also help compensate for the incomplete model inversion. Note that for perfect trajectory
tracking, we would choose
y
∗
d
(k) =
B
u
c
(1)
B
u
c
(z
−1
)
y
d
(k) (9.34)
However, the term in the denominator would cause unacceptable oscillation or instability in the calculation
of y
∗
d
. The natural choice would then be to simply choose
y
∗
d
(k) = y
d
(k) (9.35)
However, this would lead to a phase lag between the desired response and the actual response. In order to
reduce the phase lag, the ZPETC uses
y
∗
d
(k) =
B
u
c
(z)
B
u
c
(1)
y
d
(k) (9.36)
The total effect of the ZPETC can then be summarized as
r (k) =
A
c
(z
−1
)B
u∗
c
(z
−1
)
B
a
c
(z
−1
)
B
u
c
(1)
2
y
d
(k + d + s ) (9.37)
where s is the number of unacceptable zeros and B
u∗
c
(z
−1
) = b
u
cs
+ b
u
c(s−1)
z
−1
+···+b
u
c0
z
−s
.
9.4 Summary
Trajectory following with flexible robotic systems presents many challenges. For these applications, it is
obviously very important to design good mechanical hardware and a good feedback controller. Further-
more, a baseline command trajectory must be generated using knowledge of the physical limitations of the
system. Once that is accomplished, the detrimental effects of the system flexibility on trajectory following
can be reduced through use of command shaping and feedforward control.
Command shaping operates by taking the baseline command and changing its shape slightly so that it
will not excite the flexible modes in the system. Given that this process changes the shape of the reference
command, there is the possibility that the system will not exactly follow the intended trajectory. However,
the minor deviations produced by command shaping are usually less than the trajectory deviations caused
by the deflection that would occur without command shaping. Many command shaping methods have
good robustness to modeling errors. Therefore, they can be used on a wide variety of systems, even if their
dynamics are somewhat uncertain or change over time.