Trajectory Generation
Trajectory Generation
Trajectory Generation
Introduction
How to compute a trajectory in multidimensional space
which describes the desired motion of a manipulator?
Trajectory
A time history of position, velocity, and
acceleration for each DOF.
The system (not the user) will decide the exact
shape of the path to get to the goal, the duration,
the velocity profile, and other details.
A sequence of desired via points (frames which
specify position and orientation of tool) can be
given.
Path points include all the via points plus the
initial and final points.
General Considerations
Each path point is specified in terms of a
desired position and orientation of {T}
relative to {S}.
Each of these points is converted into a set
of desired joint angles. (Inverse kinematics).
A smooth function is found for each of the n
joints which pass through the via points and
end at the goal point.
The time required for each segment is the
same for each joint.
Initial
position
Cubic Polynomials
4 constraints on (t )
(0) 0 , (t f ) f ,
(0) 0, (t ) 0.
Cubic Polynomials
0 a0 ,
f a0 a1t f a t a t ,
2
2 f
3
3 f
0 a1 ,
0 a1 2a2t f 3a3t 2f .
a0 0 ,
a1 0,
3
a2 2 ( f 0 ),
tf
2
a3 3 ( f 0 ).
tf
Example 7.1
A single-link robot with a rotary joint:
Move the joint in a smooth manner
from =15 to =75 in 3 seconds
a
a
a
a
15.0
0.0
20.0
4.44
(t ) 40.0t 13.33 t
(t ) 40.0 26.66t
0 a0 ,
f a0 a1t f a2t 2f a3t 3f ,
: the four equations
0 a1 ,
describing general cubic
a 2a t 3a t 2 .
f
2 f
3 f
3
2 1
a2 2 f 0 0 f ,
tf
tf
tf
2
1
a3 3 f 0 2 f 0 .
tf
tf
A simple heuristic
2 f
3 f
4 f
0 2a2 ,
f 2a2 6a3t f 12a4t 2f 20a5t 3f .
5 f
a
0
0
2
a3
20
20 0 (
12
2t 3
)t f (
3
0
)t 2
a4
30 0 30 f (
14
16
2t 4
)t f (
12
12 0 (
2t 5
)t f (
)t 2
)t 2
Linear Interpolation
Another choice of path is linear:
The linear function and the two parabolic functions are splined
together so that the entire path is continuous in position and
velocity.
1 2
b 0 tb .
:One choice is.
2
t 2t h
tb2 ttb ( f 0 ) 0
2t 2 4( f 0 )
t
tb
2
2
4( f 0 ) . : the constraints
on acceleration
t2
When equality occurs, the linear portion has shrunk to zero length.
Example 7.3
Two possible choice
of linear path with
parabolic blends for
the path described in
example 7.1
jk
djk
jk
jk
,
tdjk
k SGN (kl jk ) | k |,
kl jk
tk
,
t jk tdjk
1
1
t j tk .
2
2
1
t d 12 2 t1
t
1
SGN ( 2 1)
t t
1
d 12
2(
d 12
1
t d 12 2 t1
1
t12 t d 12 t1 2 t 2
12
numbers
generator will use these
to compute , ,
Angle-axis Representation
Angle-axis representation can be used to specify an
orientation with 3 numbers. ( for example Euler angles)
If we combine this representation with Cartesian position we
will have a 6x1 matrix:
P
S
K
AORG
A
Angle-axis representation
Note:
Angle-axis representation is not unique
Constraints:
The blend time for each degree of freedom must be the same
to ensure that the motion of all dof will be straight line in
space.
Hence we specify blend time and then compute the
acceleration.
Workspace
violation
Joint limits
Next Course:
Robot Programming