Kinematics

Document Sample
Kinematics Powered By Docstoc
					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