You are on page 1of 26

Manipulator Dynamics

Chapter 6
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
Forward Dynamics
Problem
Given: Joint torques and links ,
geometry, mass, inertia,
friction, joint torques
Compute: Angular acceleration of the
links (solve differential
equations)

Solution
Solve a set of differential equations
Dynamic Equations - Newton-Euler method
or Lagrangian Dynamics

  V (, 
τ  M ()  )  G()  F (, 
)
Inverse Dynamics
Problem
Given: Angular acceleration, velocity and
angels of the links in addition to
the links geometry, mass, inertia,
friction

Compute: Joint torques

Solution
Solve a set of algebraic equations
Dynamic Equations - Newton-Euler
method or Lagrangian Dynamics
  V (, 
τ  M ()  )  G()  F (, 
)
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.
Dynamics - Newton-Euler Equations
Newton Equation
For a rigid body (like a robot link)
whose center of mass is
experiencing an acceleration, the
force acting at the center of mass
that caused the acceleration is given
by Newton’s equation
d mvc 
F
dt
For our robot manipulators, whose
link masses are constant, this
equation simplifies to

F  mvc
Dynamics - Newton-Euler Equations
Eular Equation
For a rotating rigid body, the moment
that causes an angular acceleration is
given by Euler’s equation

N
 
d c I
dt
For our robot manipulators, whose link
moment of inertia is constant, this
equation simplifies to

N  cI   c I
The second term on the right will be
non-zero when the link’s angular
velocity vector is not coincident with the
link’s principle axis of inertia.
Dynamics - Newton-Euler Equations
To solve the Newton and Euler equations, we’ll need to develop
mathematical terms for:

vc – The linear acceleration of the center of mass

 – The angular acceleration


c
I– The Inertia tensor (moment of inertia)

F - The sum of all the forces applied on the center of mass

N - The sum of all the moments applied on the center of mass

F  mvc

N  I    I
c c
Chapter 5
Linear and Rotational Velocity
A
B

• Vector Form
B
PQ
A
VQ  VBORG  R VQ  B  R PQ
A A
B
B A A
B
B

• Matrix Form
A
VQ  AVBORG  BAR BVQ  BAR BAR BPQ 

Angular Velocity
A
C  A  B  BAR B C
• Vector Form

• Matrix Form
A
C R   BAR   BAR CBR  BA RT

11
Acceleration of a rigid body
Linear and angular accelerations:

 dB
B
VQ (t  t ) BVQ (t )
B
VQ  VQ  lim ,
dt t 0 t
A  d A
 (t  t )  A
 B (t )
B  A
 B  lim B
.
dt t 0 t
Linear acceleration

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

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

 BAR BVQ  2 A  B  BA R BVQ  A 


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

VQ  AVBORG  BAR BVQ  2 A  B BAR BVQ  A 


A   AR BQ
B B

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

VQ  BVQ  0.
B : when B
Q is constant

VQ  AVBORG  A  B ( A  B BAR BQ) A 


A   AR BQ.
B B

: 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  BAR B C .
A  A 
C   B 
d A B
dt

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

: the angular acceleration of the links of a manipulator.


Dynamics - Newton-Euler Equations
To solve the Newton and Euler equations, we’ll need to develop
mathematical terms for:

vc – The linear acceleration of the center of mass

 – The angular acceleration


c
I– The Inertia tensor (moment of inertia)

F - The sum of all the forces applied on the center of mass

N - The sum of all the moments applied on the center of mass

F  mvc

N  I    I
c c
Propagation of Acceleration – Angular
Matrix Approach
B is rotation relative to A and C is rotating relative to B
A
C  A  B  BA R B C  A  B  BA R B C ,
A  0, B  i, C  i  1
0
i 1  0 i  0i R i i 1  0 i  0i R i i 1
i 1
Multiply by 0 R
i 1 i 1
0 R 0 i 1  0 R 0 i  i 01R 0i R i i 1  i 01R ( 0 i  0i R i i 1 )
i 1
i 1  i 1i  i 1Ri i i 1  i 01R 0 i  i 01R 0i R i i 1
 0   0 
i 1
i 1  i i1R ii   0   i i1R ii   0 
i 1  i 1 
Propagation of Acceleration – Angular
Matrix Approach
To derive a general formula for the angular acceleration, we will
differentiate the angular velocity

i 1 i 1
i
i 
 i 1  R  i  0 0  i 1
T
 
Applying the chain rule, we find:

i 1 i 1
i
 i
i 
 i 1  R  i  R  i  0 0  i 1
i 1
i
T
 
Recall that  0  z y 
A 
BR 
d A
dt

 
B R   z 0
A A A
  x  B R  B R B R
  y x 0 

Propagation of Acceleration – Angular
Matrix Approach
Matrix form (Revolute Joint) i 1
 i 1 i
 i 1  i 1 i 
 i 1  i R  i  i R i R  i  0 0  i 1
T
 
Converting from matrix to vector form gives the angular acceleration
vector
 0   0 
Vector form (Revolute Joint)
i 1
 i 1 i i1R i i  i i1R i i   0    0 
i 1  i 1 

If joint i+1 is prismatic, the angular terms are zero ( i 1  i 1  0 ) and
the above equation simplifies to:

Matrix form (Prismatic Joint) i 1


 i 1 i i1R i i
Dynamics - Newton-Euler Equations
To solve the Newton and Euler equations, we’ll need to develop
mathematical terms for:

vc – The linear acceleration of the center of mass

 – The angular acceleration


c
I– The Inertia tensor (moment of inertia)

F - The sum of all the forces applied on the center of mass

N - The sum of all the moments applied on the center of mass

F  mvc

N  I    I
c c
Propagation of Acceleration - Linear
Simultaneous Linear and Rotational Velocity

Vector Form

VQ  AVBORG  BAR BVQ  AB BAR BPQ


A
B
PQ
A
B

Matrix Form

VQ  AVBORG  BAR BVQ  BAR BAR BPQ 


A
Propagation of Acceleration - Linear
Matrix Approach
To derive a general formula for the linear acceleration, we will differentiate
the linear velocity. However, instead of differentiating the recursive equation
like we did for the angular acceleration derivation, we’ll begin at a slightly
earlier step. Recall the three-part expression:
A
VQ  BAR  A
B 
R BPQ org  AVB org  BAR BVQ
A  0 B  i Q  i 1

i 1 i  i i 1 i i 
Re-assigning the link frames ( 0V  0R 0 R iP  0V  0R iV
i 1 ), we find

Differentiating using the chain rule gives:


0
Vi 1  0i R
 0 R iP  0R 0 R 0 R iP  0R 0 R iP  0V  0R 0 R iV  0R iV
i i 1 i  i  i i 1 i  i i 1 i i i i 1 i i 1
Propagation of Acceleration - Linear
0
Vi 1  0i R
 0 R iP  0R 0 R 0 R iP  0R 0 R iP  0V  0R 0 R iV  0R iV
i i 1 i  i  i i 1 i  i i 1 i i i i 1 i i 1

Combining the two like terms, we find:


0
Vi 1  0i R
 0 R iP  0R 0 R 0 R iP  0V  20R 0 R iV  0R iV
i i 1 i  i  i i 1 i i i i 1 i i 1

i 1
Pre-multiplying both sides of the equation by 0 R gives:

i 1
0 R 0Vi 1 i 01R 0i R
 0 R iP  i 1R 0R 0 R 0 R iP  i 1R 0V  2i 1R 0R 0 R iV  i 1R 0R iV
i i 1 0 i i i i 1 0 i 0 i i i 1 0 i i 1

Expanding terms gives

i 1
0 R 0Vi 1 i i1R 0iR 0i R
 0 R iP  i 1R iR 0R 0 R 0 R iP  i 1R 0V  2i 1R iR 0R 0 R iV  i 1R 0R iV
i i 1 i 0 i i i i 1 0 i i 0 i i i 1 0 i i 1
Propagation of Acceleration - Linear

i 1
0 R 0Vi 1 i i1R 0iR 0i R 0i R iPi 1  i i1R 0iR 0i R  0i R  0i R iPi 1  i 01R 0Vi  2i i1R 0iR 0i R  0i R iVi 1  i 01R 0i R iVi 1

 T s 0A
Simplifying the previous equation using (Note: R R R t R  B
s A s
)
t B t
i 0  0  i RT  iR 0 
  iR i 
R R R  iR 0R 0 i i 0 i 0 0 i 0 i i

0
i
R 0i R  0i R  0i R i i i i
i 1
0 R 0Vi i i1R 0iR 0Vi i i1R i vi

0
i
R 0i R  0i R  0i R 0i  i i
we have

i 1
 
vi 1 i i1R i i i Pi 1  i i i i i Pi 1  i vi  2i i i 1 vi 1  i 1vi 1
Propagation of Acceleration - Linear

i 1
 
vi 1 i i1R i i i Pi 1  i i i i i Pi 1  i vi  2i 1i 1 i 1 vi 1  i 1vi 1
This equation can be written equivalently as:

 0   0 
 
General form i 1vi 1 i i1R i i i Pi 1  i  i i  i i Pi 1  i vi  2i 1 i 1   0    0 
   
di 1  di 1 

If joint i+1 is revolute joint, the linear terms are zero and the
above equation simplifies to:

Revolute Joint i 1

vi 1 i i1R i i i Pi 1  i  i i  i i Pi 1  i vi 
Propagation of Acceleration - Linear
From the general equation, we can also get the solution for the
acceleration of the center of mass for link i. Appropriate frame
substitution and elimination of prismatic terms gives we find:

i
vci i  i i Pc i ii i i i Pc i i vi

Frame {Ci} attached to each link with its origin located at the Center
of mass of the link, and with the same orientation as the link frame {i}