CH 5
CH 5
CH 5
Introduction
Trajectory: Describes the desired motion of a manipulator in
multidimensional space, and refers to a time history of position, velocity,
and acceleration for each DOF.
CHAPTER 5: Trajectory Generation
Introduction
Point-to-point planning: The manipulator has to move from an initial to a
final joint configuration in a given time, the actual end-effector path is of
no concern. The algorithm should generate a trajectory which is also
capable to optimize some performance index when the joint moved from
one position to another.
Continuous path generation: For the complex applications, it may be
convenient to assign a sequence of points so as to guarantee better
monitoring on the executed trajectories. Along with spatial constraints on
the motion, the user also wish to specify temporal attributes of the motion.
a0 15 (t ) 15 20t 2 4.44t 3
a1 0 (t ) 40t 13.33t 2
a2 20 (t ) 40 26.66t
a3 4.44
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
2. Cubic polynomials for a path with via points
When the path includes intermediate point, and we wish to be able to
pass through a intermediate via point without stopping. We can construct
cubic polynomials as before, but velocity constraints become:
(t0 ) 0 , (t f ) f , (t0 ) 0 , (t f ) f
0 a0 a0 0
f a0 a1t f a2t 2f a3t f3 a1 0
0 a1 a2 3( f 0 ) / t 2f 20 / t f f / t f
f a1 2a2t f 3a3t 2f a3 2( f 0 ) / t 3f ( f 0 ) / t 2f
There are several ways in which the desired velocity at the via point
might be specified.
1) The user specifies the desired velocity at each via point
Cartesian desired velocities at the via points are “mapped” to desired
joint rates. It would be a burden to the user.
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
2) The system automatically chooses the velocities at the via points by
applying a suitable heuristic in either Cartesian space or joint space.
The via point connected with straight line segments. If the slope of these
lines changes sign at the via point, choose zero velocity; if the slope of
these lines does not changes sign, choose the average of the two slopes as
the via velocity.
3) The system automatically chooses the velocities at the via points in such
a way as to cause the acceleration at the via points to be continuous.
Replace the two velocity constraints at the connection of two cubics with
the two constraints that velocity be continuous and acceleration be
continuous.
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
Example: Solve for the coefficients of two cubics that are connected in a
two-segment spline with continuous acceleration at the intermediate via
point. The initial angle is 0 , the via point is v , and goal point is g .
Cobics of two-segment, each cubic will be evaluate over an interval starting
at t 0 and ending at t t fi .
0 a10 a10 0
v a10 a11t f 1 a12t 2f 1 a13t 3f 1 a11 0
v a20 a12 (12 v 3 g 9 0 ) / (4t 2f )
g a20 a21t f 2 a22t 2f 2 a23t 3f 2 a13 ( 8 v 3 g 5 0 ) / (4t 3f )
0 a11 a20 v
0 a21 2a22t f 2 3a23t 2f 2 a21 (3 g 3 0 ) / (4t f )
a11 2a12t f 1 3a13t 2f 1 a21 a22 ( 12 v 6 g 6 0 ) / (4t 2f )
2a12 6a13t f 1 2a22 a23 (8 v 5 g 3 0 ) / (4t 3f )
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
3. Higher-order polynomials
If we wish to be able to specify the position, velocity, and acceleration at
the beginning and end of a path segment, a quintic polynomial is required:
a0 0
0 a0 a1 0
f a0 a1t f a2t 2f a3t 3f a4t 4f a5t 5f 0
a2
2
0 a1
20 f 20 0 (8 f 12 0 )t f (3 0 f )t 2f
f a1 2a2t f 3a3t 2f 4a4t 3f 5a5t 4f a3
2t 3f
0 2 a2
300 30 f (14 f 160 )t f (30 2 f )t 2f
f 2a2 6a3t f 12a4t 2f 20a5t 3f a4
2t 4f
12 f 12 0 (6 f 6 0 )t f ( 0 f )t 2f
a5
2t 5f
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
4. Linear function with parabolic blends
– Simply interpolate linearly to move from the present joint position to the
final position. The velocity is discontinuous at the beginning and the end
of the motion.
– To create a smooth path with continuous position and velocity, we start
with the linear function but add a parabolic blend region at each path
point. During the blend portion, constant acceleration is used to change
velocity smoothly.
The line function and the two parabolic functions are splined together so
that the entire path is continuous in position and velocity.
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
Assume that the parabolic blends both have the same duration, the same
constant acceleration (modulo a sign) is used during both blends.
The velocity at the end of the blend region must equal the velocity of the
linear section:
h b
h b 1
th tb tb , b 0 tb2 tb2 ttb ( f 0 ) 0
t t 2 th tb 2
0 0
t 2t 2 4 ( f 0 )
tb
2 2
4( f 20 )
t2
CHAPTER 5: Trajectory Generation
§5.1 Joint-Space Schemes
The paths can be planned directly from user’s definition of path point,
which are {T} specifications relative to {S}, without first performing inverse
kinematics. For example, in arc welding the electrode should follow a seam
precisely.
CHAPTER 5: Trajectory Generation
§5.2 Cartesian-Space Schemes
Cartesian schemes are more computationally expensive to execute,
because, at run time, inverse kinematics must be solved at the path-update
rate—that is, after the path is generated in Cartesian space, as a last step
the inverse kinematic calculation is performed to calculate desired joint
angles.
tinb t (1 / 2t j t jk )
j jk t
j jk (t tinb ) 1 / 2 k tinb
2
jk
0 jk k tinb
k
CHAPTER 5: Trajectory Generation
§5.3 Path generation at run time
2. Generation of Cartesian-space paths
We use the path generator for the linear spline with parabolic blend path.
tinb t (1 / 2t j t jk )
x x j x jk t
x x j x jk (t tinb ) 1 / 2 xk tinb
2
x x jk
x x jk xk tinb
x0
x xk
Finally, this Cartesian trajectory must be converted into equivalent joint-
space quantities. A complete analytical solution to this problem would use
the inverse kinematics to calculate joint positions, the inverse Jacobian for
velocities, and the inverse Jacobian plus its derivative for accelerations.
GS T
d INVKIN ( xd ) d INVKIN ( xd )
d J 1 () xd (t ) (t t )
d
d J 1 () xd J 1 () xd t
(t ) (t t )
d
t
CHAPTER 5: Trajectory Generation
§5.4 Other Problems
1. Planning paths when using the dynamic model
Usually, when paths are planned, we use a default or a maximum
acceleration at each blend point. Actually, the amount of acceleration that
the manipulator is capable of at any instant is a function of the dynamics of
the arm and the actuator limits. Most actuators are not characterized by a
fixed maximum torque or acceleration, but rather by a torque-speed curve.
When we plan a path assuming there is a maximum acceleration at each
joint or along each DOF, we are making a tremendous simplification. In
order to be careful not to exceed the actual capabilities of the device, this
maximum acceleration must be chosen conservatively. Therefore, we are
not making full use of speed capabilities of the manipulator.
Question: Given a desired spatial path of the end-effector, find the timing
information (which turns a description of a spatial path into a trajectory)
such that the manipulator reaches the goal point in minimum time. The
solution takes both the rigid-body dynamics and actuator speed—torque
constraint curves into account.
CHAPTER 5: Trajectory Generation
§5.4 Other Problems
2. Collision-free path planning
It would be extremely convenient if we could simply tell the robot system
what the desired goal point of the manipulator motion is and let the system
determine where and how many via points are required so that the goal is
reached without the manipulator’s hitting any obstacles.
– The system must have models of the manipulator, the work area, and all
potential obstacles in the area.
– A second manipulator could even be working in the same area, each
arm would have to be considered a moving obstacle for the other.