Chapter5 Part1
Chapter5 Part1
Trajectory Planning
5.1 Introduction
In the previouschapters, we studied the
that, using the equations kinematics and
be if we have the joint of motion of the robot, we can dynamics of robots. This means
order to place the robotvariables or we can determine determine where the robot will
what the joint
and trajectory planning at a desired position and orientation with a variables must be in
in a controlled relates to the way a robot is desired velocity. Path
manner. In this chapter, we will moved from one location to another
must be made to create a study the sequence of
controlled movement movements
straight-line motions or sequential motions. between motion segments, whetherthatin
of both kinematics and
dynamics of robots. InPath and trajectory planning
So intensive that practice, precise requires the use
approximations are always necessary. nmotion requirements are
5.2 Path versus Trajectory
A path is defined as the
collection a sequence of configurations a robot
from one place to another withoutofregard makes to go
to the timing of these configurations.
Figure 5.1, if a robot goes from point So, n
(configuration)
sequence of the configurations betweenA and B and Ato point B to point C, he
Cconstitutes
related to the timing at which each part of the path must be a path. A trajectory 5
of when points B and Cin Figure 5.1 are attained. As a result, regardes
reached, the path is the same, wheres
depending on howfast each portion of the path is traversed, the trajectory
Therefore, the points at which the robot may be on apath and on may ditet.
time may be different, even if the robot traverses the sane points. a trajectory at a g
On a rayeo
depending on the velocities and accelerations, points BandCmay be reached at htteren
times, creating different trajectories. In this chapter, we are not only concerned about the
path a robot takes, but also its velocities and accelerations.
178
sJoint-
Spae
versus Cartesian-Space Descriptions 179
(a) (b)
Figure 5.3 Cartesian-space trajectory problems. In (a), the trajectory specified in Cartesin
coordinates may force the robot to run into itself; in (b), the trajectory may require a sudden
change in the joint angles.
Cartesian-space trajectories are very casy to visualize. Since the trajectories are in the
common Cartesian space in which we all operate, it is easy to visualize what the end
effector's trajectory must be. However, Cartesian-space trajectories are computationaly
expensive and require a faster processing time for similar resolution than joint-space
trajectories. Additionally, although it is easy to visualize the trajectory, it is difficult to
visually ensure that singularities will not occur. For example, consider the situation in
Figure 5.3(a). If not careful, we may specify a trajectory that requires the robot to run into
itself or to reach a point outside of the work envelope-which, of course, is impossible
and yields an unsatisfactory solution. This is true because it may be impossible to know
whether the robot can actually make a particular location and orientation before the
motion is made. Also, as shown in Figure 5.3(b), the motion between two points may
require an instantaneous change in the joint values (we discussed why this may happen in
Chapter 2), which is impossible to predict. Some of these problems may be solved by
specifying viapoints the robot must pass through in order to avoid obstácles and other
similar singularities.
shown in Figure
5.4. The trajectory of the end of
the path is
iregular, and the distances traveled the robot is also shown. As indicated,
by the robot's end are
Nowsuppose the motions of both joints of the robot not uniform.
motion are normalized such that
will move slower so that both joints will start the joint
smaller
mion simultaneously. In proportionally
with
this case, both joints move at and stop
inuously together. a changes 4 degrees/second different speeds, but move
The resulting trajectory will be different, as shown whileB changes 10 degrees/second.
ents of the movement are much more in Figure 5.5. Notice that the
ll irregular (and different trom the similar to each other than before, but the
path
previous case).
inint-space as we were only concerned with the values of Both of these cases were planned in
he end of the mechanism. The only the joints, not the location of
calculation needed was the joint values for the
destination and, in the second case, normalization of the
Now suppose we want the robot's hand to follow a joint velocities.
B. say, ina straight line. The simplest solution would be known path between points A and
and B, divide the line into, say, 5 segments, and solve for to draw a line between points A
point, as shown in Figure 5.6. This is called interpolation necessary angles a and Bat each
Notice that in this case, the path is a straight line, but the joint between points A and B.
angles are not uniformly
changing. Although the resulting motion is a straight (and consequently,
trajectory, it is necessary to solve for the joint values at each point. Obviously, known)
more points must be calculated for better accuracy; with so few segments the many
robot will
not exactly follow the lines at each segment. This trajectory is in
Cartesian-space since all
5 4 Time
6
(sec)
B 2 0 20 30
1 24 40
4 2 2850
3 32 60
4 36 70
5 40 80
a
Figure 5.5 Joint-space, normalized movements of arobot with 2DOF,
182 Chapter 5. Trajectory Plan ing
Time
6
5 4
(sec)
B 20 30
2 1 14 55
2 16 69
A 3 21 77
4 29 81
5 40 80
7 6
3 2 1
acceleration/deceleration regiment.
Figure 5.7 Trajectory planning with an
Trajectory Planning 183
B B"
B'
(a)
(b)
Figure 5.8 Blending of different mnotion segments in a path.
coordinates of each segment are calculated based on the desired path and are used to
calculate joint variables at each segment; therefore, the trajectory of the robot can be
path.
planned for any desired
So far, we have only considered the movement of the robot between two points A and
B. However, in other cases,the robot may be going through many consecutive points,
including intermediate or via points. The next level of trajectory planning is between
multiple points and, eventually, for continuous movements.
Assume the robot 1s to go trom point Ato Band then to C, as shown in Figure 5.8.
One way to run the robot is to accelerate from point A toward point B, cruise,decelerate
and stop at point B, start again at point Band accelerate toward C, cruise, and decelerate
in order to stop at C. This stop-and-go motion will create jerky motions with
unnecessary stops. An alternative way is to blend the two portions of the motion at
point Bsuch that the robot will approach point B, decelerate if necessary, follow the
blended path, accelerate once again toward point C, and eventually stop at C. This
creates a much more graceful motion, reduces the stress on the robot, and requires less
energy. If the motion consists of more segmnents, all intermediate segments can be
blended together. Notice how, due to this blending of the segments, the robot will go
through adiferent point B (Figure 5.8(a) and not [Link] is necessary that the robot goes
through point B exactly, then a different point B' must be specified such that after
blending, the robot still goes through point B(Figure 5.8(b). Another alternative is to
pecity two via points C and D before and after point B, as shown in Figure 5.9 such that
POnt Btalls on the straight-line portion of the motion between the via points and thus
ensure that the robot goes through point B.
n the next sections, we will discuss different methods of trajectory planning in more
eGenerally, higher-order polynomials are used to match positions, velocities, and
accelerations at each point between two segments. When the path is planned, the
controller
the inverse uses the path information (coordinates) in calculating joint variables trom
the robot is kinematic equations and runsthe robot accordingly. Ultimately, if the path of
very complicated and involved, such that it cannot be easily expressed by an
equation, it may become necessary to physically move the robot by hand and record the
motions at
each joint. The recorded joint values can be used later to runthe robot. This is
commonly
welding done for teaching robots tasks such as spray pantng dutonobiles, seam
coomplicated shapes, and other similar tasks.
184 Chapter 5. Trajectory Planring
D
B
B'
Figure 5.9 An alternative scheme for ensuring that the robot will go through a
point during blending of motion segments. Two via points Cand D are picked such thspecifes
Bwill fall on the straight-line section of thesegment ensuring that the robot will pass
point B. through
e)= 0
(;) =() = 0,
(5.4)
O() = ( = 0
9(t) = ( + 22tr + 3(st, =0
which can also be written in matrix form as:
) 1 ()
C1
-
(5.5)
, C2
2t
3tf C3
these four
By solving This allows usequations simultaneously, we get the necessary values for the
constants. to calculate the joint position at any interval of time, which can
be used for
be used bythe controller to drive the joint to position. The same proces must
each joint individually, but they are all driven together from start to finish.
Obviously, if
cbe initialand final velocities are not zero, the given values can be used in these equations.
Therefore. applying this third-order polynomial to each joint motion creates a motion
profile that can be used to drive each joint.
If more than two points are specified, such that the robot will go through the points
succesively. the final velocities and positions at the conclusion of each segmnent can be
used as the initial values for the next segments. Similar third-order polynomials can be
used to plan each section. However, although positions and velocities are continuous,
accelerations are not, which may cause problems.
Example 5.1
It is desired to have the first joint of a 6-axis robot go from initial angle of 30° to a
final angle of 75° in 5 seconds. Using a third-order polynomial, calculate the joint
angle at 1, 2, 3, and 4 seconds.
Solution: Substituting the boundary conditions into Equation (5.4), we get:
(o(t;) = ) = 3) C) =30
This results in the following cubic polynomial equation for position as well as che
velocity and acceleration equations for joint 1:
b() = 30 + 5.4-0.72r
0() = 10.8r 2.16P
() = 10.8 4.321
Substituting the desired time intervals into che motion equaion will result in:
B(1) = 34.68°, (2) = 45.84°, (3) = 59.16°, (4) = 70.32°
186 Chapter 5. Trajectory
80
Positiop
Plannin,
60
40
2
Velocity
Acceleration
-20
0 1 2 3 4 6
Seconds
Figure 5.10 Joint positions, velocities, and accelerations for Example 5.1.
The joint angles,velocities, and accelerations are shown in Figure 5.10. Notice th
in this case, the acceleration needed at the beginning of the motion is 10.8°/sec
well as -10.8°/sec deceleration at the conclusion of the motion).
Example 5.2
Suppose the robot arm of Example 5.1 is to continue to the next point, where the
joint is to reach 105° in another 3 seconds. Draw the position, velocity, and
acceleration curves for the motion.
Solution: Atthe conclusion of the first segment, we know the position and velocity
of the joint. Using these values as initial conditions for the next segment, we get
(1) = o t cËtt gt t ct
(t) = + 2c2t + 3c3t
(1) = 2cg + 6c3t
where:
at t; = 0 ; = 75 9, = 0
at t, = 3 r= 105 ; =0
00
Position
30
()
Velocity
-30 Acceleration
1
3 4 5 7
Seconds
iãure 5.1l Joint positions, velocities, and accelerations for
Example 5.2.
not is a question that must be answered depending on the robot's capabilities. To
ensure that the robot's accelerations will not exceed its capabilities,
acceleration
limits may be used to calculate the necessary time to reach the target. In that
À. = 0and r=0, the maximum acceleration will be:+
case, for
Imax
6(0, -0) 2
(ts- )
from which the ime-to-target can be calculated. You should also notice that the
velocity at the intermediate point does not have to be zero. In that case, the
concluding velocity at the intermediate point willbe the same as the initial velocity
of the next segment. These values must be used in calculating the coefficients of the
third-order polynomial.
5.5.2Fifth-Order Polynomial Trajectory Planning
Inthe previous section, we encountered accelerations that may be impossible to achieve
during motion trajectories; therefore, we may need to specify maximum accelerations as
well. Specifying the initial and ending positions, velocities, and accelerations ofa segment
yields six pieces of information, enabling us to use a fifth-order polynomial to plan a
trajectory, as follows:
(1) =o + ctt (2ft cot + rt+ cs (3.6)
40
20
Velocity
Acceleration
-20
2 3 4
Seconds
Figure 5.12 Joint positions, velocities, and accelerations for Example 5.3.
Using Equations (5.6) through (5.8), with the given initial and final boundar
conditions, we get:
Co = 30 C =0 (2 =2.5
Positon B
Time
0 = , +(04 -,)
0, = 0