Docstoc

Kinematics

Document Sample
Kinematics Powered By Docstoc
					Manipulator Dynamics




Amirkabir University of Technology
Computer Engineering & Information Technology Department
Introduction
  Robot arm dynamics deals with the
  mathematical formulations of the
  equations of robot arm motion.
  They are useful as:
     An insight into the structure of the robot
      system.
     A basis for model based control systems.
     A basis for computer simulations.
Equations of Motion
  The way in which the motion of the
  manipulator arises from torques applied
  by the actuators, or from external
  forces applied to the manipulator.
Forward and Inverse Dynamics

                               
 Given a trajectory point, , , and , 
 find the required vectors of joint torques,  .

             : problem of controlling the manipulator

 Given a torque vector, ,
 calculate the resulting motion of the manipulator,
     
 , , and . 
             : problem of simulating the manipulator
Two Approaches
  Energy based: Lagrange-Euler.
Simple and symmetric.
  Momentum/force approach:Newton-
  Euler.
Efficient, derivation is simple but messy,
  involves vector cross product. Allow real
  time control.
Newton-Euler Algorithm
  Newton-Euler method is described
  briefly below. The goal is to provide a
  big picture understanding of these
  methods without getting lost in the
  details.
Newton-Euler Algorithm
  Newton-Euler formulations makes two
  passes over the links of manipulator

      Velocities,
      Accelerations



                      Forces, moments
    Gravity
Newton-Euler Algorithm
  Forward computation
     First compute the angular velocity, angular
      acceleration, linear velocity, linear acceleration of
      each link in terms of its preceding link.
     These values can be computed in recursive manner,
      starting from the first moving link and ending at the
      end-effector link.
     The initial conditions for the base link will make the
      initial velocity and acceleration values to zero.
Newton-Euler Algorithm
  Backward computation
     Once the velocities and accelerations of the
      links are found, the joint forces can be
      computed one link at a time starting from the
      end-effector link and ending at the base link.
Acceleration of a Rigid Body
 Linear and angular accelerations:


      d BV  lim VQ (t  t ) VQ (t ) ,
                         B              B
  B
   VQ
                                 t
            Q
       dt       t 0


  A     dA              A
                            B (t  t ) A  B (t )
   B       B  lim                                .
        dt         t 0            t
Linear Acceleration

A
 VQ  B R BVQ  A  B  B R BQ.
      A                 A                      : origins are coincident.
d A B                                          : re-write it as.
   ( B R Q) B R BVQ  A  B  B R BQ.
             A                 A

dt

A   d ( AR BV ) A   A R BQ  A   d ( AR BQ) : by differentiating.
 VQ                       
           B       Q        B B             B        B
        dt                                       dt
                                A
 B R BVQ  A  B  B R BVQ  A  B  B R BQ  A  B ( B R BVQ  A  B  B R BQ)
  A                 A                                   A                 A


                                  A
 B R BVQ  2 A  B  B R BVQ  A  B  B R BQ  A  B ( A  B  B R BQ).
  A                   A                                           A
Linear Acceleration
the case in which the origins are not coincident


                                           A
VQ  AVBORG  B R BVQ  2 A  B B R BVQ  A  B B R BQ
A             A                  A


       B (  B  R Q).
         A     A      A
                      B
                          B




      
VQ  VQ  0.
B    B
                      : when BQ is constant

                                        A
VQ  AVBORG  A  B ( A  B B R BQ) A  B B R BQ.
A                             A



: the linear acceleration of the links of a manipulator with
  rotational joints.
Angular Acceleration
B is rotation relative to A and C is rotating relative to B


    A
        C  A  B  B R B C .
                     A


    A

                     dt
                         
          A   d AR B  .
        C  B            B      C 
               A 
           A  B  B R B C  A  B B R B C .
                                      A



   : the angular acceleration of the links of a manipulator.
Inertia
 If a force acts of a body, the body will accelerate.
 The ratio of the applied force to the resulting
 acceleration is the inertia (or mass) of the body.
 If a torque acts on a body that can rotate freely
 about some axis, the body will undergo an
 angular acceleration. The ratio of the applied
 torque to the resulting angular acceleration is the
 rotational inertia of the body. It depends not only
 on the mass of the body, but also on how that
 mass is distributed with respect to the axis.
Mass Distribution




Inertia tensor- a generalization of the scalar moment of inertia
of an object
Moment of Inertia

The moment of inertia of a solid body with density  (r )
w.r.t. a given axis is defined by the volume integral

               I    (r )r 2dv,
where r is the perpendicular distance from the axis of
rotation.
Moment of Inertia
This can be broken into components as:
                
 I jk   mi ri 2 jk  xi , j xi ,k              for a discrete
                                                   distribution of mass
          i




                                      
                                                   for a continuous
 I jk    (r ) r  jk  x j xk dV
                        2
                                                   distribution of mass
         V




                      y2  z2                xy        xz   
                                                              
 I    ( x, y, z )   xy                z 2  x2      yz   dxdydz.
      V
                       xz                  yz      x2  y 2 
                                                              
Moment of Inertia
The inertia tensor relative to frame {A}:
       I xx  I xy  I xz 
                          
A
  I   I xy I yy  I yz ,
        I xz  I yz I zz 
                                Mass moments of inertia


           V
             
I xx   y 2  z 2 dv, 
I yy     x   2
                       z dv,
                         2
           V

I zz     x2
                       y dv,
                         2
                                      Mass products of inertia
           V




I xy   xydv, I xz   xzdv, I yz   yzdv.
           V                      V           V
Moment of Inertia
  If we are free to choose the orientation of
  the reference frame, it is possible to cause
  the products of inertia to be zero.
  Principal axes.
  Principal moments of inertia.
Example 6.1

                    3
                    m 2
                       l  h2       
                                          m
                                          4
                                            wl             
                                                            m
                                                            4
                                                              hw
                                                                   
                                                                   
                     m                                            
              A
                I    wl            
                                    m 2
                                       w  h2              m
                                                            hl    
    {C}                4           3                       4      
                      m hw
                    
                                        m
                                       hl                  
                                                            l  w2 
                                                          m 2
                                                                   
                                                                        
                       4               4                 3        

                      
                   m 2 2
                   12 h  l                 0
                                                                    
                                                                    0
                                                                    
                                                                   
              C
                I     0
                                    m 2
                                          
                                       w  h2                0     
                                   12                              
                   
                   
                        0                     0
                                                          m 2
                                                                
                                                             l  w2 
                                                                    
                                                                            
                                                         12        
Parallel Axis Theorem
  Relates the inertia tensor in a frame with
  origin at the center of mass to the inertia
  tensor w.r.t. another reference frame.

  A
                               
      I zz C I zz  m xc2  yc2 ,
  A
      I xy C I xy  mxc yc ,
  
  A
                                    
      I C I  m PCT PC I 3  PC PCT .
Measuring the Moment of
Inertia of a Link
 Most manipulators have links whose geometry and
 composition are somewhat complex. A pragmatic
 option is to measure the moment of inertia of each link
 using an inertia pendulum.
 If a body suspended by a rod is given a small twist
 about the axis of suspension, it will oscillate with
 angular harmonic motion, the period of which is given
 by.                      I
                 T  2     ,
                          k
 where k is the torsion constant of the suspending rod
 , i.e., the constant ratio between the restoring torque
 and the angular displacement.
Newton’s Equation




             F  mvC
                  
     Force causing the acceleration
Euler’s Equation




         N  I   I
             C
                        C


     Moment causing the rotation
Iterative Newton-Euler
Dynamic Formulation

  Outward iterations to compute velocities
  and accelerations
  The force and torque acting on a link
  Inward iterations to compute forces and
  torques
The Force Balance for a Link




                                  i 1
        i
            Fi  if i    i 1
                              i
                              R      f i 1
The Torque Balance for a Link




 i
     N i  ni  ni 1  ( PCi ) f i ( Pi 1  PCi ) f i 1
          i     i          i       i      i      i       i
Force Balance
Using result of force and torque balance:

                             i 1                                         i 1
 i
     N i  i ni  i 1i R        ni 1  i PCi i Fi  i Pi 1i 1i R          f i 1

 In iterative form:

     i
         f i iFi  i 1iR i 1f i 1
     i
         ni iN i  i 1iR i 1ni 1  iPCi i Fi  iPi 1i 1i R       i 1
                                                                            f i 1
The Iterative Newton-Euler
Dynamics Algorithm
1st step:
Link velocities and accelerations are iteratively
computed from link 1 out to link n and the Newton-
Euler equations are applied to each link.

2nd step:
Forces and torques of iteration and joint actuator
torques are computed recursively from link n back to
link 1.
Outward iterations
i:0  5
i 1
    i 1  R i  i 1 ˆi1
                i 1
                   i
                     i 1Z ,
                        i

i 1
     i1R i  i 1R i  
                                                          ˆ
                                                             Z i 1  1 i 1Z i 1 ,
                                                          i 1                ˆ
         i 1     i          i       i       i     i 1                 i

   v                    
   i 1 i i1R ii i Pi 1  ii (ii i Pi 1 ) ivi ,
i 1
                                                                               
   vCi1 i 1i 1i 1PCi1  i 1i 1 
i 1
                                                                     i1i 1PC  i1vi 1 ,
                                                                     i 1
                                                                                     i 1
                                                                                          

i 1                        i 1
       Fi 1  mi 1 vCi1 ,
                     
i 1
       N i 1  I i 1
                Ci 1         i 1
                                    i 1  i 1i 1Ci1 I i 1 i 1i 1.
                                   
Inward iterations
i : 6 1
i
    fi i 1iR i 1fi 1  iFi ,
i
    ni iN i  i 1iR i 1ni 1  iPCi i Fi  iPi 1i1i R i 1fi1 ,
        ˆ
 i  n Zi .
        i Ti
          i
Inclusion of Gravity Forces
 The effect of gravity loading on the links can be
 included by setting 0 v  G , where G is the
                        0
 gravity vector.
The Structure of the Manipulator
Dynamic Equations
                  
   M ()  V (, )  G () : state space equation
     M ( ) : n  n      : mass matrix
          
    V (, ) : n 1          : centrifugal and Coriolis terms
    G ( ) : n  1           : gravity terms

   M ()  B() C ()2 G () : configuration space
                              
     B() : n  n(n  1) / 2 : matrix of Coriolis coefficients
     
     
      : n(n  1) / 2 1,   
                               1 2
                                       
                                       
                                       1 3
                                                  T 
                                               n1 n
    C ( ) : n  n               : centrifugal coefficients
     
     
     2 : n 1,      2  2   2 T
                     1 2      
                                 n     
Coriolis Force
  A fictitious force exerted on a body when it
  moves in a rotating reference frame.

         FCoriolis  2m(v  )
Lagrangian Formulation of
Manipulator Dynamics

  An energy-based approach (N-E: a force
  balance approach)
  N-E and Lagrangian formulation will
  give the same equations of motion.
Kinetic and Potential Energy of a
Manipulator

     1            1 i T Ci i
 ki  mi vCi vCi  i I i i ,
          T

     2            2
       n
 k   ki .          Total kinetic energy of a manipulator
      i 1



 ui  mi 0 g T 0 PCi  urefi ,
       n
 u   ui .          Total potential energy of a manipulator
      i 1
Lagrangian
  Is the difference between the kinetic and
  potential energy of a mechanical system


                       
       L (, )  k (, )  u ().
The equations of motion for the
manipulator

   d L L
           
        
   dt 

   d k k u
             
         
   dt 
               n  1 vector of actuator torque
Example 6.5




                              : variable




    The center of mass of link 1 and link 2
Manipulator Dynamics in Cartesian Space

                  
   M ()  V (, )  G ()            Joint space formulation
                      
 F  M x () X  Vx (, )  Gx ()       Cartesian space formulation

                               
 J T  J T M ()  J TV (, )  J T G (),
                            
 F  J T M ()  J TV (, )  J T G (),

              
 X  J  X  J  J 
               
   J 1 X  J 1 J

                                                    
 F  J T M () J 1 X  J T M () J 1 J  J TV (, )  J T G ().
Expressions for the terms in the
Cartesian dynamics:

  M x ()  J T () M () J T (),
                                                 
  V (, )  J T () V (, )  M () J 1 () J () ,
   x

  Gx ()  J T ()G ().
The Cartesian configuration space
torque equation:

                            
  J T () M x () X  Vx (, )  Gx ()      
  J T () M x () X  Bx () Cx ()2  G (),
                                       
    Bx () : n  n(n  1) / 2       :Coriolis coefficients

    
    
     : n(n  1) / 2 1,       
                                
                                  1 2
                                          
                                          
                                          1 3
                                                     T
                                                  n1 n   
   C x ( ) : n  n                 :Centrifugal coefficients

    
    
    2 : n 1,        2  2   2 T .
                      1 2      
                                  n       
  Dynamic Simulation:
  (Euler Integration)
   Simulation requires solving the dynamic
   equation for acceleration
                                        
       M ()  V (, )  G ()  F (, )
                                  Nonrigid body effects: friction
                                            
        M 1 ()   V (, )  G ()  F (, )    
                 
      (0)   ,   0     : Given initial conditions
                 0
We apply numerical integration to compute positions and velocities:
                         
      (t  t )  (t )  (t )t ,
                            (t )t  1 (t )t 2 .
      (t  t )  (t )              
                                      2
Next Course:

 Trajectory Generation


Amirkabir University of Technology
Computer Engineering & Information Technology Department