Documente Academic
Documente Profesional
Documente Cultură
29-39, 1996
Copyright 0 1995 Elsevier Science Ltd
Pergamon Printed in Great Britain. All rights reserved
0736-5845/96 $15.00 + 0.00
073th5845(95)ouo26-7
l Paper
This paper presents experimental results for time-optimal control of robotic manipulators along specified paths. The
implementation of time-optimal control represents several unique problems: (1) the control is generally discontinuous
(bang-bang), (2) actuator dynamics are usually ignored in order to reduce the system order, and (3) the optimal
control leaves no control authority to compensate for tracking errors caused by unmodeled dynamic and the delays
introduced by the on-line feedback controller. To overcome these difficulties, we compensate for motor dynamics
using a simplified friction model, and account for the dynamics of the feedback controller using trajectory
preshaping. Implemented for the UCLA Direct Drive Arm, this is shown to drastically reduce the tracking errors
compared to the errors obtained with no preshaping and no compensation for motor dynamics. The experimental
results demonstrate the merit of time optimal control for reducing motion time as well as for increasing tracking
accuracy.
optimal controls. The time-optimal trajectory along a (position) and j, (velocity along the path), and the
specified path, computed using the method presented control input to a scalar variable, i (the acceleration
in Ref. 10, is then preshapedg to account for the along the path). System dynamics (2) can then be
dynamics of the feedback controller. written in the form
Using this scheme, we were able to track a
m(s>s + b(s)i2 + G(s) + T&, i) = T (6)
specified path at top (optimal) speeds of 1.8 m
set -’ and mean tracking errors of 0.3 mm. A where m(s) and b(s) are given in Ref. 10. We use Eq.
comparison to the commonly used trapezoidal (6) to map the actuator constraints (5) to state
velocity profiles shows that time-optimal trajectories dependent bounds on S, of the form:
produce significantly better motion times and
tracking accuracy, or require smaller actuators for
comparable speeds and tracking errors. Since at every s, these bounds are functions of s,
This paper is organized as follows: First, we briefly there might exist some j,= S,,, above which no
discuss in Section 2 the method for computing time- feasible j; exists. This value defines a state inequality
optimal trajectories along specified paths, followed in constraint of the form:
Section 3 by a brief discussion of the preshaping
technique. The experimental set-up is described in
Section 4. In Section 5, the significance of the which is represented by the velocity Emit curve in the
unmodeled driver and motor dynamics is demon- 8-i plane.
strated experimentally, and a simple empirical motor/ Using this formulation, the computation of the
driver model is presented. Section 6 presents time-optimal trajectory reduces to minimizing
experimental results for tracking the time-optimal motion time of the double integrator s--u between ’
trajectory, using trajectory preshaping and motor the points [0, sfl, subject to the control constraint (7)
compensation. and the state inequality constraint (8).
The solution to the reduced problem was shown to
consist of trajectories that either maximize or
2. TIME-OPTIMAL MOTIONS ALONG minimize the acceleration along the path, or slide
SPECIFIED PATHS along the state inequality constraint.” Typically, at
Here, we briefly review the main results for least one actuator saturates at every point along the
computing time-optimal trajectories along specified patha Computation time of a typical trajectory is a
paths? The optimization of the motion time along a fraction of a second on a 486/33MHz PC.
specified path can be stated as the following problem:
9
minJ= 1 dt
TEtl
(1) 3. TRAJECTORY PRESHAPING
s0
The reference trajectory is preshaped to compensate
subject to the rigid body manipulator dynamics for the delay introduced by the feedback controller
used to track the time-optimal trajectory. If each
M(Q)0 + tlT C(0)8 + G(B) + T,(B, 6) =T (2) joint is controlled by a SISO controller of the
path constraints structure shown in Fig. 1, then zero errors can be
achieved by preshaping the reference trajectory,
q(8)=0; q E dv-l; 0 E 2Tn (3) &(s), by the inverse of the closed loop transfer
and the boundary conditions function, as shown in Fig. 2, to produce the new
reference input, Y(s):
e(0) = eO, e(tf- = e,, 8(o) = &<tf> = 0 (4) y@) -
-
1 + G&)w x @)
(9)
where tf is the free final time, 0 e 9n is a vector of the Gc(s)G(s) d *
joint displacements, M(8) is the inertia matrix, C(0) is
an array of the coefficients of the centrifugal and This would result in a unity transfer function
Coriolis forces, G(0), is the vector of the gravity between the original input, X&), and the output,
forces, Tf(B, 6) is a vector of joint friction torques, X(s), and hence, perfect tracking of the input*.
and T is the vector of actuator efforts, and YI is the Since the nominal control, ud(s), for the reference
number of degrees of freedom. Assuming, for trajectory is known, we compute Y(s) by adding a
simplicity, constant actuator limits, the set of the correction term, Z(s), to the reference trajectory,
feasible actuator efforts, Sz, is defined as ’ xd(s> :
i-2 = {TITimi, < Ti < Timax; I’= 1,2 ,*.., n}. (5) Y(s) =&(s) + z(s) (10)
The optimization problem is greatly simplified by
*We assume knowledge of the rigid body dynamics. Motor
parameterizing the path with some parameter, s, dynamics can be added as discussed later in this paper.
generally selected as the distance along the path. This Other modeling errors can be handled using a tuning
reduces the state-space to two independent states, s process described in Ref. 9.
Time-optimal control for robotic manipulators l 2. SHILLER et al.
This can be done in the frequency domain, as in Eq. +2.4 rev se& Each motor is equipped with an
-
(1 l), or in the time domain by convoluting z&#) with integrated incremental position encoder with a
the impulse response of G$(s), assuming zero initial resolution of 655,360 counts per revolution. For an
conditions. even binary representation, the position counts are
The feedback controller should be invertible, i.e. divided by 10 to produce a 16-bit binary signal. The
have no non-minimum phase zeros, and be improper resolution of the encoder is thus 216= 65,536 per
(have at least as many zeros as poles) so that G&) revolution, or 0.0055* per count. The motor is driven
is proper, to avoid differentiating the typically by a Dynaserv driver, operating in a velocity servo
discontinuous controls. mode with an internal sampling rate of 1 kHz.
For a PD controller of the form G&) = Kp + Kvs, Torque mode was generally not used because of the
we compute y(t) by first multiplying &(s) by GE’(s) potential danger to the system if computational
errors occurred at that level.
The control system of this manipulator is depicted
in Fig. 4. It consists of a 486 PC host controller,
then rewriting Eq. (12) in the time domain to yield a instrumented with high speed digital signal proces-
first-order differential equation in z(t) sing boards. The outer position servo loop is
implemented in C on the PC with a sampling time
of 1 ms. It generates a velocity control signal that is
with z&) as the forcing function. Solving Eq. (13) for fed to the Dynaserv driver. The velocity loop
z(t) and assuming z(0) = 0. we obtain the preshaped implemented in the driver has manually adjusted
trajectory, y(t): proportional (&) and velocity (J&/v) gains, both
shown in Fig. 4. The velocity loop generates the
current command, @), to the motor driver, which
modulates the voltage of each phase of the 3-phase
The error introduced by z(t) produces the discontin- brushless DC motor. For simplicity, the current
uous controls when filtered through the feedback driver is represented in the velocity loop by the
controller. This computation is quite simple and can constant gain, KVa, and the motor is modeled as a
be done on-line. current driven DC motor, and is represented by its
This trajectory preshaping scheme is equivalent to torque constant Kt.
feedforward control, except that it is done at the The derivative gain used in the position servo
trajectory planner level, outside of the controller. controller was added to modify the damping ratio
Aside of the benefit to end-users who have no access determined by the velocity loop in the Dynaserv
to the feedback controller, this allows tuning the driver. The gains for this controller were selected
par&meters in GE’(s) to account for unmodeled manually for the highest bandwidth that does not
dynamics.g excite the structural resonance modes of the base
frame.
The time-optimal trajectories along specified paths
4. EXPERIMENTAL SET-UP were computed off-line using the method discussed in
The time-optimal trajectories were used to drive the Section 2 and presented in Ref. 10. The dynamic
UCLA Direct Drive Arm (DDA), shown in Fig. 3. It model used in the optimization was the rigid body
consists of a five-bar mechanism actuated by two model, with no motor dynamics or joint friction. The
Yokogawa brushless DC motors with rated peak trajectory, consisting of the time history of the joint
torques of -1-30
- Nm and peak velocities of positions and the nominal actuator torques, was used
32 Robotics & Computer-Integrated Manufacturing l Volume 12, Number 1, 1996
Motor+Driver (velocity mode)
-I-------------
i’
;--
ud
Kp+Kvs Edc - Kva - Kt - Robot -
1_
I
I
I ;
Kflv I
IL- b
-c-------------- -l
.. .. . . .. .. . . . Experiment
i(t,
Td(4 4)
e> =K,,K,* (22)
6. TIME-OPTIMAL CONTROL-EXPERIMENTS
We have demonstrated that the unmodeled motor
dynamics may contribute to significant errors of the
open-loop system. Closing the loop with a state
feedback would reduce the errors significantly,
-3 -1 0 1 2 3 however, it cannot handle the typical discontinuities
co [rad/s] of the time-optimal control. This is accomplished by
preshaping the trajectory to account for the
Fig. 10. Viscous friction model.
dynamics of the feedback controller, as is demon-
strated in this section.
We first present experimental results for the time-
optimal trajectory, using PD position controllers
with no preshaping and no compensation for motor
dynamics. We then use the friction model and
trajectory preshaping to further reduce the tracking
errors. And finally, the time-optimal trajectory is
compared to the equivalent trapezoidal velocity
profile along the same path.
6.1. PD controller
- - - - Friction model The objective of this experiment is to track the path
-10 shown in Fig. 12 at the minimum time. The path,
-no 0.1 0.2 0.3 0.4 0.5 0.6
Time [s] having a total length of 1.1 m, represents the trace of
the robot’s tip. To restrict the tip velocities to under
Fig. 11. Nominal torques modified by the friction model.
2 m se?, the actuator torque limits were set at
T= + - 10 Nm, which is lower than the manufacturer
specified peak torque of +30
- Nm. The time-optimal
interesting to note the asymmetry of the motor
trajectory and the velocity limit curve along this
response with respect to the direction of rotation, path, computed using the method presented in Ref.
which might be due to the asymmetric voltage
10, are shown in Fig. 13. The optimal motion time
modulation of the driver. The difference between
for this trajectory is 1.17 sec. Hence, the average
the behavior of the two motors might be due to the
speed was about 1 m set-‘, with a peak speed of 1.8
variations in motor structures.
m see-‘.
Subtracting Tf from the nominal torques
produced an approximation of the actual torques Path in Workspace
5 0 r---~-----’ 1 - -
applied at the joint, as shown in Fig. 11.
Integrating the modified torques resulted in the
position curve denoted Friction model in Fig. 9,
which is in close proximity to the experimental
results. This suggests that the simple friction model
can be used as a good substitution for the
comprehensive motor model for the speeds en-
countered in this experiment. For higher speeds, a
second-order model might be necessary.
For the purpose of accurately tracking a time
optimal trajectory, the “friction torque”, Tf(@, is
added to the nominal control, u&), to yield the
desired motor torque, Td(t,@, for each joint:
Time-optimal control for robotic manipulators a Z. SHILLER et al. 35
10 t
n
E 0
I
z
L-J
-10 -
-200
0 0.5 1 1.5
Time [sec] Time [sec]
Fig. 14. Nominal and actual actuator torques for + 10 Nm.
36 Robotics & Computer-Integrated Manufacturing l Volume 12, Number 1, 1996
Tip Velocity
I I 1 1 1 I
0 20 40 60 100 120
Distance along p a t h [cm]
Fig. 15. Nominal and actual velocity profiles for & 10 Nm.
.
o.L)2, , TraykIng Errqr 2
0.015
7
g 0.01
u
0.005
0
0 0.5 1
Path Deviation
1 I I
0 20 40 GO 80 100 120
Torque
* 1
40
20
I n
E 0
E
z
-20
-40 -40 t 1
0 0.5 1 0 0.5
Time [sec] Time [sec]
Fig. 18. Nominal and actual actuator torques for &30 Nm.
Time-optimal control for robotic manipulators a Z. SHILLER et al. 37
Error 1 Tracking Error 2
Tracking 1 I
0.5 0 0.5 1
T i m e [sec] T i m e [sec]
Torque 1 20 Torque 2
I 1 1
10 10
n
E
0 1 0
7
- SJ
10 -10
-20
0 0.5 1 1.5 0 0.5 1 1.5
T i m e [sec] T i m e [sec]
Fig. 20. Actuator torques with preshaping and motor compensation using the friction model.
Tip Velocity
-,---I- ‘! I
- Actual
-----Nomind-
t
1 1 L t 1 I 1
Q 20 40 60 80 100 120
Distance along p a t h [ c m ]
Fig. 21. Velocity profiles with preshaping and motor compensation.
0.015 - 0.015
7 ,a’
2 0.01 - 2 0.01
1 1
0.005 - 0.005 .
i
0-- Ofi
0 0.5 1 1.5 0 O-5 1 1.5
T i m e [sec] T i m e [sec]
Fig. 22. Tracking errors with preshaping and motor compensation.
38 Robotics & Computer-Integrated Manufacturing l Volume 12, Number 1, 1996
Path Deviation
3- 1 1 I 1 1
40 60 80
Distance a l o n g p a t h [ cm]
6.3. Comparison to trapezoidal proJiEes It shows the experimental tracking errors versus
An equivalent trapezoidal velocity profile is one that motion time for the trapezoidal and time-optimal
traverses the path shown in Fig. 12 at the optimal velocity profiles, along the path shown earlier in Fig.
time of 1.17 sec. It is compared in Fig. 13 with the 12. The trapezoidal trajectories consist of constant
time-optimal trajectory. To achieve the optimal time, accelerations and decelerations, set at 8.0 m secM2 to
the trapezoidal trajectory crosses the velocity limit match the maximum acceleration and deceleration of
curve twice. Crossing the velocity limit curve would the optimal trajectory. The maximum velocity was
require higher actuator torques than the specified varied, corresponding to the motion times along the
limits. Tracking the path at this trapezoidal profile, horizontal axis. The resulting mean tracking errors,
using the same PD controller as for the time-optimal obtained experimentally using the same PD con-
trajectory, resulted in the actual (experimental) mean troller as for the time-optimal trajectory, are plotted
tracking error of 1.86 mm, compared to 0.30 mm for along the vertical axis in Fig. 24. The experimental
the time-optimal trajectory. error for the time-optimal trajectory, computed with
This error is slightly better than the error obtained actuator limits at & 10 Nm, represents one point in
for the time-optimal trajectory with no preshaping Fig. 24. Clearly, the tracking errors for the
since in both cases the torque limits were set trapezoidal profiles increase drastically for motion
computationally at + 10 Nm, but were not enforced times lower than the optimal time, mainly due to the
during the execution of the actual trajectory. increased motor saturation.
However, there was little we could do to reduce the Figure 25 demonstrates the trade-off between the
errors for the trapezoidal profile since the nominal required torques and the tracking errors. The
actuator torques for joint 1 exceeded 90 Nm at some maximum required torques depicted in Fig. 25 were
points. To achieve tracking errors comparable to the computed, using inverse dynamics, for the various
time-optimal trajectory (with preshaping) using the trapezoidal trajectories. To execute a trapezoidal
trapezoidal profile would mean significantly slowing trajectory with the optimal time of 1.17 sec would
the manipulator speed and thus increasing the require a motor with a rated capacity of at least 100
motion time, as is illustrated in Fig. 24. Nm, 10 times the motor capacity used to generate the
Figure 24 demonstrates the trade-off between time-optimal trajectory, and more than 3 times the
speed and accuracy for trapezoidal velocity profiles. actual motor capacity of the DDA. Using the full
3.0 120
2.5 100
Time-
- Optimal
0.5
0
2 3 4 5 0 2 3 4 5
Motion Time [s] Motion Time [s]
. Fig. 24. Trade-off between mean tracking error and motion time Fig. 25. Trade-off between maximum torque and motion time for
for trapezoidal trajectories. trapezoidal trajectories.
Time-optimal control for robotic manipulators l Z. SHILLER et al. 39
motor capacity (& 30 Nm instead of zt: 10 Nm) to path, resulted in tracking errors six times larger than
compute the time-optimal trajectory would have the corresponding time-optimal trajectory. The merit
resulted in an even more favorable comparison. of time-optimal control is, therefore, not only in
These comparisons clearly demonstrate the merit reducing motion time but also in increasing motion
of the time optimal trajectory over the trapezoidal accuracy. This might be most beneficial in applica-
trajectories in both motion time and tracking tions, such as laser cutting, caulking, and glue
accuracy. dispensing, for which cycle time a n d accuracy are
essential.
7. CONCLUSIONS The practical demonstration of the accurate
This paper presents experimental evaluations of time- tracking of time-optimal trajectories presented in
optimal control of robotic manipulators, demonstrat- this paper suggest time-optimal control as a viable
ing the significance of the unmodeled motor alternative to current non-optimal controllers and
dynamics and the feedback controller, when tracking motion planners.
time-optimal trajectories, and the high accuracy that
can be achieved with a simple motor model and
REFERENCES
trajectory preshaping. 1. Bobrow, J. E., Dubowsky, S., Gibson, J. S.: Time-
It was shown that the often ignored motor optimal control of robotic manipulators. Int. J. Robot.
dynamics of direct drive motors may contribute Res. 4(3): 3-17, 1985,
significantly to the tracking errors. The complex 2. Chen, Y., Desrochers, A. A.: Structure of minimum-
model of direct drive motors might be one reason for time control law for robotic manipulators with
ignoring motor dynamics in computing time-optimal constrained paths. In IEEE International Conference
of Robotics and Automation, Scottsdale, AZ, May 1989.
trajectories. We, therefore, propose a linear model, pp. 971-976.
called the friction model, which was shown to account 3. Dahl, 0.: Path-constrained robot control and limited
for the significant motor and driver dynamics at torques-experimental evaluation. IEEE Trans. Robot
moderate speeds. A second-order model might be and Automation RA-1O(5): 658-669, 1994.
required for higher speeds. 4. Kahn, M. E., Roth, B.: The near-minimum time control
of open loop articulated kinematic chains. J. Dyn. Syst.
Using a PD controller to track the time-optimal Measure. Control 93(3): 164-172, 1971.
trajectory demonstrated the deficiency of error driven Kenjo, T.: Power Electronics for the Microprocessor
controllers, which cannot produce the typically Age, New York, Oxford University Press, 1990.
discontinuous optimal control. The controller com- Krause, P.: Analysis of Electric Machinery. New York.
pensated for the errors caused by the smoothed McGraw-Hill, 1986.
Ono, Y.: A direct-drive motor control system and its
controls by exceeding the control limits after each features. Adv. Robot. t (2): 243-253, 1992.
discontinuity. This resulted in extensive tracking Pfeiffer, F., Johanni, R.: A concept for manipulator
errors when the control constraints represented the trajectory planning. IEEE Trans. Robotics and Auto-
true control limits. mation RA-3(3): 115-123, 1987.
The errors introduced by the error driven feedback 9 . Shiller, Z., Chang, H.: Trajectory preshaping for high-
speed articulated systems. A S M E J. Dyn. Syst.
controller can be reduced using the previously Measure: Control. In press.
developed trajectory preshaping? It adds a correc- 10. Shiller, Z., Lu, H. H.: Computation of path constrained
tion term to the reference trajectory that, when time-optimal motions with dynamic singularities.
passed through the feedback controller, produces the ASME J. Dyn. Syst. Measure. Control 114: 34-40,
1992.
desired discontinuities of the nominal control. Using
11. Shin, K. G., McKay, N. D.: Minimum-time control of
the trajectory preshaping technique and compensat- robotic manipulators with geometric path constraints.
ing for the motor and driver dynamics, using the IEEE Trans. Automatic Control AC-30(6): 531-541,
friction model, resulted in remarkably accurate 1985.
tracking. 12. Wong, V.: Mathematical modeling and experimenta-
The time-optimal trajectory was compared to the tion on hybrid permanent magnet motors. M.S. Thesis,
Mechanical, Aerospace and Nuclear Engineering,
commonly used trapezoidal velocity profile. It was UCLA. In press.
shown experimentally that the equivalent trapezoidal 13. Yokogawa Precision: Dynaserv Direct-Drive Servo
trajectory, yielding the optimal time along the same Actuator Instruction Manual.