You are on page 1of 27

Robot Dynamics Newton- Euler

Recursive Approach
ME 4135 Robotics &
Controls
R. Lindeke, Ph. D.
Physical Basis:
This method is jointly based on:
Newtons 2
nd
Law of Motion
Equation:



and considering a rigid link

Eulers Angular Force/ Moment
Equation:
i C
F mv =
i i
moment CM i i CM i
N I I e e e = +
Again we will Find A Torque Model
Each Link Individually
We will move from Base to End to find Velocities
and Accelerations
We will move from End to Base to compute force
(f) and Moments (n)
Finally we will find that the Torque is:
( ) ( )
( )
1 1
(1 )
i i i
q
T T
n z f z b
i i i i i i
t

= + +
Gravity is implicitly included in the model by considering
acc
0
= g where g is (0, -g
0
, 0) or (0, 0, -g
0
)

i
is the joint type
parameter (is 1 if
revolute; 0 if
prismatic) like in
Jacobian!
Lets Look at a Link Model
X0
Y0
Z0
Zk-1
Xk-1
Yk-1
ZK
XK
YK
dK
dK-1
A sK
We will Build Velocity Equations
Consider that
i
is the joint
type parameter (is 1 if
revolute; 0 if prismatic)

Angular velocity of a Frame
k relative to the Base:

NOTE: if joint k is prismatic,
the angular velocity of frame
k is the same as angular
velocity of frame k-1!


1 1 k k k k k
q z e e

= +
Angular Acceleration of a Frame
Taking the Time Derivative of the angular velocity
model of Frame k:
( )
1 1 1 1 k k k k k k k k
q z q z e e e

( = + +

Same as o (dw/dt) the
angular acceleration in
dynamics
Linear Velocity of Frame k:
Defining As
k
= d
k
d
k-1
as a link vector, Then the
linear velocity of link K is:



Leading to a Linear Acceleration Model of:


( ) ( )
1 1
1
k k k k k k k
v v s q z e

= + A +
( )
( ) ( )
1
1 1
1 2
k k k k k k k
k k k k k k
s s
q z q z
v v e e e
e


= + A + A
( + +


Normal component of
acceleration (centrifugal
acceleration)
This completes the Forward Newton-
Euler Equations:
To evaluate Link velocities & accelerations, start with the BASE (Frame
0
)




Its Set V & A set (for a fixed or inertial base) is:







As advertised, setting base linear acceleration propagates gravitational
effects throughout the arm as we recursively move toward the end!

0
0
0
0
0
0
0 v
g
e
e
v
=
=
=
=
Now we define the Backward
(Force/Moment) Equations
Work Recursively from the End
We define a term Ar
k
which is the vector from
the end of a link to its center of mass:






k k k
k
r c d
c
A =
is location of center of mass of Link k
Defining f and n Models
( )
1 k k k k k k k k k
f f m r r v e e e
+
( = + + A + A

( )
( )
1 1 k k k k k k k k k
k k k
n n s r f r f D
D
e
e e
+ +
= + A + A A +
+
Inertial Tensor of Link k
in base space
The term in the brackets represents
the linear acceleration of the center
of mass of Link k
Combine them into Torque Models:
( ) ( )( ) ( )
1 1
1
T T
k k k k k k k k k
n z f z b q t

= + +
NOTE: For a robot moving
freely in its workspace without
carrying a payload, f
tool
= 0
We will begin our recursion by setting f
n+1
= -f
tool
and n
n+1
= -n
tool
Force and moment on the tool
The N-E Algorithm:
Step 1: set T
0
0
= I; f
n+1
= -f
tool
; n
n+1
= -n
tool
; v
0
= 0;
v
dot
0
= -g; e
0
= 0; e
dot
0
= 0
Step 2: Compute
Z
k-1
s

Angular Velocity & Angular Acceleration of Link k
Compute As
k

Compute Linear velocity and Linear acceleration of Link k
Step 3: set k = k+1, if k<=n back to step 2 else set k = n
and continue
The N-E Algorithm cont.:
Step 4: Compute
Ar
k
(related to center of mass of Link k)
f
k
(force on link k)



N
k
(moment on link k)
t
k
Step 5: Set k = k-1. If k>=1 go to step 4


( )
0 0
T
k k
k k
D R D R =
So, Lets Try one:
Keeping it
Extremely Simple
This 1-axis robot
is called an
Inverted Pendulum
It rotates about z
0

in the plane

Z0
X0
Y0
Z1
X1
Y1
m1
Writing some info about the device:
1
1
2
1 1
1
1 1 1 1
1 1 1 1 1
0 1
2
0
0
1
0 0 0
0 1 0
12
0 0 1
0
0
0 0 1 0
0 0 0 1
a
c
ma
D
C S a C
S C a S
T A
(

(
(
A =
(
(
(

(
| |
(
=
|
(
\ .
(

(
(
(
= =
(
(

Link is a thin
cylindrical rod
Continuing and computing:
1 1 1
1 0
1
1 1 1 1
1 1 1 1
1 1
1 1
0
2
1 0 0 0
0
0
0 1 0 0
0 0 1 0
0
0 0 1 0
0 0 0 1
1
2
2
0
c H T c
a
C S a C
S C a S
a C
a S
= A
(

(
(
(
(
(
(
(
= - -
(
(
(
(
(
(

(


(
(
(
=
(
(
(
(

Inertial Tensor computation:
( )
1 1
1 0 1 0
1 1 1 1
2
1 1
1 1 1 1
2
1 1 1
2
2
1 1
1 1 1
0 0 0 0 0
0 0 1 0 0
12
0 0 1 0 0 1 0 0 1
0
0
12
0 0 1
T
D R D R
C S C S
ma
S C S C
S S C
ma
S C C
=

( ( (
| |
( ( (
= - -
|
( ( (
\ .
( ( (

(

| |
(
=
|
(
\ .
(

Let Do it (Angular Velocity & Accel.)!
1 1 1
1 1 1
1 1
1 1 1
1 0
1 1
1 1
0 0
0 0 0
1 1
0 0
0 0 0
1 1
1 0 0 0
( ) 0 1 0 0
0
0 0 1 0
1
0
o
q q
q q
a C
a S
s H O O
a C
a S
e
e
( (
( (
= + =
( (
( (

( (
( (
= + =
( (
( (

| |
(
(
|
(
(
|
(
A = = -
(
|
(
(
|
(

|

\ .
(
(
=
(
(

Starting: Base (i=0)
Ang. vel = Ang. acc =
Lin. vel = 0
Lin. Acc = -g (0, -g
0
, 0)
T

1
= 1
Linear Velocity:
( )
( )
1 0 1 1 1 1 0
1
1 1 1 1
1
1 1 1
1
0 0
0 0 1 1 0
1 0 1
0
v v s q z
C
q a S q
S
a q C
e = + A +
( ( | |
| ( (
= + +
| ( (
|
( (
\ .

(
(
=
(
(

Linear Acceleration:
( )
1 1 1 1 1 1
1 1
1 1 1 1 1 1 1
1 1
2
1 1 1 1 1 1
1 1
2
1 1 1 1 1 1
0
0
0 1 0
0 0
0 0
g s s
S S
g a q C q a q C
S C
g a q C a q S
S C
g a q C a q S
v e e e = + A + A

( ( (
( ( (
= + +
( ( (
( ( (


( (
( (
= + +
( (
( (

( (
( (
= +
( (
( (

Note:
g = (0, -g
0
, 0)
T

Thus Forward Activities are done!
Compute Ar
1
to
begin Backward
Formations:

1 1 1
1 1
1 1
1 1
1 1
1
1
1
2
2
0
0
2
0
r c O
a C
a C
a S
a S
C
a
S
A =
(
(
(
(
(
=
(
(
(
(

(
(

(
(
=
(
(

Finding f
1

Consider:
f
tool
= 0
( )
1 1 1 1 1 1 1
1 1
1 1 1 1
1 1 1 1 1
1
1 1
1 1 1
{ }
0 0 0
{ 0 0 0 }
2 2
1 0 1 1 0
{
2
0
f m r r
C C
a q a q
m S q S
S
a q
m C
v e e e
v
v
= + A + A
| |
| | | |
( ( ( ( (
|
| | | |
( ( ( ( (
= +
| |
| |
( ( ( ( (
\ .
| |
|
( ( ( ( (

\ . \ .
\ .

(
| |
(
=
|
(
\ .
(

1
2
1 1
1
1 1
2
1 1 1 1
1 1 1 1
1 1 1
2
2
1 1 1 1
1 1 1 1 1 1 1 1
0
0 }
2
1 0
{ }
2 2
0 0
2 2
0 0 0
S
a q
C
S C
a q a q
m C S
S C S
a q a q
m g a q C a q S C
v

( (
| |
( (

|
( (
\ .
( (

( (
| |
| |
( (
= +
| |
( (
\ .
\ .
( (


( ( (
|
| |
( ( (
= + +
|
( ( (
\ .
\
( ( (

1
1
0
C
S
| |
(
|
|
(
|
|
(
.
|
(

\ .
Collapsing the terms
( ) ( )
1 1
2
1 1 1 1
1 1 1 1
2 2
1 1 1 1 1 1 1 1 1 1
1 0
2 2
0 0
0
2 2
T
S C
a q a q
f m g C S
a q S q C a q C q S
m g
| |
( (
|
( (
= +
|
( (
|
( (

\ .
(
+
= + (
(

Note f
1
is a Vector!
Computing n
1
:
( ) ( )
( ) ( )
1 1 1 1 1 1 1 1 1
1 1
2 2 2
1 1 1 1 1 1 1
1 1 1 1
2 2 1
1 1 1 1 1 1 1 1 1 1
1
1 1 0
0 0 0
0 0 0
2 12 12
0 0 1 1 1
0
2 2 2
0
n s r f D D
C C
a ma q ma q
a S S f
C
a q S q C a q C q S
a
S m g
e e e = A + A + +
| |
( ( ( ( (
|
( ( ( ( (
= + +
|
( ( ( ( (
|
( ( ( ( (

\ .
(
+
(
= +
(
(

( ) ( )
2
1 1 1
2 2
2
1 1 1 1 1 1 1 1 1 1
1 1 1
1 1
1 0 1
0
0
12
1
0 0
0 0
2
2 2 12
1 1
T
ma q
a q C q S a q S q C
ma q
a m
C g S
(
| |
(
| +
(
|
\ .
(

( (
| |
| | | |
+
( (
|
| | = + +
( (
| |
|
\ . \ .
\ .
( (

This X-product goes to Zero!
The Link Force Vector
Simplifying:
2
1 0 1 1 1
1 1 1
0
0
3 2
1
m g ma C
n a q
(
(
| |
(
= +
|
(
(
\ .

(

Writing our Torque Model
( ) ( )( ) ( )
( )( ) ( )
( )
1 1 1 0 1 1 0 1 1
2
1 0 1 1 1
1 1 1 1
2
1 1 0 1 1 1
1 1 1 1
1
0 0
0 0 0 1 1 0
3 2
1 1
3 2
T T
T
n z f z b q
m g ma C
a q f b q
ma g ma C
q b q
t
t
= + +
( (
(
| |
( (
= + + +
|
(
( (
\ .

( (

| |
= + +
|
\ .
Dot (scalar) Products
Homework Assignment:
Compute L-E solution for Inverted Pendulum &
Compare torque model to N-E solution
Compute N-E solution for 2 link articulator (of slide
set: Dynamics, part 2) and compare to our L-E
torque model solution computed there
Consider Our 4 axis GMF cylindrical robot if the
links can be simplified to thin cylinders, develop a
generalized torque model for the device.

You might also like