# Kinematics

Document Sample

```					Trajectory Generation

Amirkabir University of Technology
Computer Engineering & Information Technology Department
Introduction
How to compute a trajectory in multidimensional space
which describes the desired motion of a manipulator?

How to move a manipulator from its initial position to
some desired goal position in a smooth manner?
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.
Why Smooth Motion?
Increased wear on the mechanism
Vibrations

A smooth function is continuous and has a continuous first
(and second) derivatives.
Joint Space Scheme
The path is specified in the joint space.
Easy to compute.
No problems with singularities.
Each path point is usually specified in terms
of desired position and orientation of tool
frame {T}.
Each of these via points is converted into a
set of desired joint angles by inverse
kinematics. Then a smooth function is fond so
that all joints will reach the via point at the
same time.
Several Possible Path Shapes for
a Single Joint

Goal
position

Initial
position
Cubic Polynomials

4 constraints on  (t )
 (0)   0 ,  (t f )   f ,       : initial and final values

(0)  0, (t f )  0.             : the function is continuous
in velocity
These 4 constraints can be satisfied by a polynomial
of at least third degree.
 (t )  a0  a1t  a2t  a3t
2       3

(t )  a1  2a2t  3a3t 2
Cubic Polynomials
0  a0 ,
: combining with constraints
 f  a0  a1t f  a t  a t ,
2
2 f
3
3 f

0  a1 ,
0  a1  2a2t f  3a3t 2 .
f

a0  0 ,                    The cubic polynomial that
a1  0,                      connects any initial joint angle
position with any desired final
3
a2  2 ( f  0 ),          position when the joint starts and finishes
tf
at zero velocity.
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   0
 15.0

a  1
 0.0

a   2
 20.0

a   3
 4.44

 (t )  15.0  20.0 t 2  4.44 t 3

 (t )  40.0t  13.33 t 2

 (t )  40.0  26.66t
Cubic Polynomials for a Path With
Via Points
Each via point is specified in terms of a desired
position and orientation of {T} relative to {S}.
Each of these via points is converted into a set
of desired joint angles. (Inv. Kinematics).
Consider the problem of computing cubics
which connect the via point values for each
joint together in a smooth way.
Cubic Polynomials for a Path With
Via Points

                      
 (0)   0 ,  (t f )   f .       : some known velocity
at the via points
 0  a0 ,
 f  a0  a1t f  a2t 2  a3t 3 ,
f       f
: the four equations

 0  a1 ,                           describing general cubic

 f  a1  2a2t f  3a3t 2 .
f
Cubic Polynomials for a Path With
Via Points
Solving for ai we obtain

a0   0 ,

a  ,
1     0

3
a2  2  f   0   2 0  1 f ,
tf                tf      tf
2
a3   3
tf
        
 f   0   12 f  0 .
tf

Connects any initial and final positions with any initial
and final velocities
How to Specify Desired Velocity
at the Via Points?
Several ways:
The user specifies the desired velocity at each
via point in terms of a Cartesian linear and
angular velocity of {T} at that instant.
The system automatically chooses the velocities
at the via points.
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.
A simple heuristic

Tangents to the curve at each via points

If the slope of these lines changes sign at the via point, choose zero
velocity, if the slope of these lines does not change sign,
choose the average of the two slopes as the via velocity.
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.

 (t )  a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5 ,
Higher Order Polynomials

 (t )  a0  a1t  a2t 2  a3t 3  a4t 4  a5t 5 ,

0  a0 ,                      :the constraints are given as
 f  a0  a1t f  a2t 2  a3t 3  a4t 4  a5t 5 ,
f       f       f       f


0  a1 ,

 f  a1  2a2t f  3a3t 2  4a4t 3  5a5t 4 ,
f        f        f


0  2a2 ,

f  2a2  6a3t f  12a4t 2  20a5t 3 .
f         f
Higher Order Polynomials
The solution for a linear set of equations with six unknowns:
a 
0           0



a 
1
0



a              0
2
2
                                                             
20      f
 20     0
(
8

12
)t f  (
3 
            )t 2
f
a3 
f                       0                        0            f

2t 3    f

                                                                      
30      0
 30       f
(
14

16
)t f  (
3

2
)t2
f
a4 
f                        0                       0                     f

2t 4        f

                                   
12      f
12   0
(
6

6
)t f  (     )t 2
                             f

f                   0                      0             f
a
2t 5
5
f
Linear Interpolation
Another choice of path is linear:

Discontinuous velocity increase at the beginning and
discontinuous velocity decrease at the end of the motion,
requiring infinite acceleration.
Linear Function With Parabolic Blends

Constant
acceleration

The linear function and the two parabolic functions are splined
together so that the entire path is continuous in position and
velocity.
Linear Function With Parabolic Blends

b

The parabolic blends have the same duration,
are symmetric about the halfway point in time,
and the halfway point in position.
Linear Function With Parabolic Blends
 h  b        The velocity at the end of the

tb               ,    blend region must equal the
t h  tb
velocity of the linear section.
1  2
 b   0   tb .           :One choice is.
2
t  2t h
       
tb2  ttb  ( f   0 )  0

t               
2t 2  4( f   0 )
tb  
2                 
2
  4( f   0 ) . : the constraints

t2           on acceleration

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
Linear Function With Parabolic
Blends for a Path With Via Points

Linear function connects the via points and parabolic
blend regions are around each via point
Linear Function With Parabolic
Blends for a Path With Via Points
For 3 neighboring path points: j,k,l

t   k     : duration of blend region at K

t   jk    : duration of linear region between j,k

t   djk   : overall duration of segment connecting j,k

   jk    : velocity during linear portion

    j
: acceleration during the blend
Linear Function With Parabolic
Blends for a Path With Via Points
We can compute the blend time:

  k   j ,
 jk
tdjk
                         
k  SGN ( kl  jk ) | k |,

kl   jk
tk        ,
k
1     1
t jk  tdjk    t j  tk .
2     2
Linear Function With Parabolic
Blends for a Path With Via Points

The first and the last segments might be                                

t
2            1
handled slightly different since an entire              1                                1
 t1
t d 12 2                            1
blend region must be counted in the
segment’s time duration:
                                       
This can be solved for blend               1
 SGN (           
2
    1
)
1

2   
time at initial point as:                                           2(                      )
t t
1        d 12
       t   d 12
2

1

   1


    

2        1
1
12       2
t d 12 2 t1       

1
t12  t d 12  t1  t 2
2
The Path Generator

The results of computations constitute a
plan for the trajectory. At execution
time the path generator will use these
 
numbers to compute ,  , 
Use of Pseudo Via Points to
Create a Through Point
Via points are not actually reached unless manipulator comes
to stop. If we wish exactly passing through a point without
stopping, the system may replace via point with 2 pseudo via
points.

A path point through which we force the manipulator to pass exactly!
Cartesian Space Schemes
We can specify the spatial shape of the path
between path points. (Straight, circular,
sinusoidal, …).
Each path point is specified in terms of position
and orientation of tool frame relative to station
frame.
This scheme is more computationally expensive
because inverse kinematics must be solved at
the path update rate.
Cartesian Straight Line Motion
A spatial path which causes the tip of the
tool to move through space in a straight
line can be defined By:
Choosing many via points close
together on a line.
or
Using Cartesian motion functions to
specify a path.
Cartesian Straight Line Motion
We may use a spline of linear function
with parabolic blends for Cartesian
motion. However as a rotation matrix
must be composed of orthonormal
columns and this condition would not
be guaranteed if constructed by linear
interpolation.
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:

S      
S     P AORG
A  S 
 KA 

Now we can describe spline functions which smoothly move
these 6 quantities from path point to path point as function of
time
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.
Geometric Problems With
Cartesian Paths

Cartesian path are prone to various
problems related to work space and
singularities.
   Intermediate points unreachable
   High joint rate near singularity
   Start and goal reachable in different
solutions
Cartesian Path Problem Type I
Intermediate points unreachable

Moving from A to B               Workspace
violation
would be no
problem in joint
space, but the
straight path
contains un-
reachable points in
Cartesian motion.
Cartesian Path Problem Type II
High joint rate near singularity

Near singular configuration
Cartesian Path Problem Type III
Start and goal reachable in different solutions

Joint limits
Next Course:

Robot Programming

Amirkabir University of Technology
Computer Engineering & Information Technology Department

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 13 posted: 3/8/2012 language: English pages: 39