You are on page 1of 73

ME5402 / EE5106 / EE5064

• ME5402 / EE5106: Advanced Robotics: Dynamics and Control


• EE5064: Dynamics and Control of Robotic Manipulators

Shuzhi Sam Ge, FIEEE, PhD, DIC, BSc


Professor, Department of Electrical and Computer Engineering
Director, Social Robotics Lab, Institute of Smart Systems
National University of Singapore
Singapore 117576

E-mail: samge@nus.edu.sg / Tel: 6516 6821 / Office: E4-05-28


Website: http://robotics.nus.edu.sg/sge

Venue: zoom / Schedule: 6.00-9.00pm, Monday / Week 7- Week 13

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -1-


References
[1] Craig J.J., Introduction to Robotics, Mechanics, and Control, 3nd Ed., Pearson
Education, 2005
[2] Ge S.S., Lee T.H. and Harris C.J., Adaptive Neural Network Control of
Robotic Manipulators, World Scientific, London, December 1998
[3] Fu K.S., Gonzalez R.C., and Lee C.S.G, Robotics: Control, Sensing, Vision and
Intelligence, McGraw-Hill, NY, 1987
[4] Asada, H. and Slotine, J-J.E., Robot Analysis and Control, Wiley, 1986
[5] Sciatica, L. and Siciliano, B., Modeling and Control of Robot Manipulators.
2nd Edition Springer Verlag, 2000

Lecture Resources: https://luminus.nus.edu.sg


You could also search for knowledge via https://scholar.google.com

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -2-


Course Outline

1. Review of Kinematics
• General features of robots
• Formulation of Denavit - Hartenberg
• Direct kinematics and inverse kinematics

2. Robot Dynamics
• Lagrange-Euler and Newton-Euler formulations
• Lagrangian approach to robot dynamics
• Properties of the robot dynamic model
• Neural network modelling

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -3-


Course Outline

3. Robot Position Control


• Fundamentals
• Single-joint position control
• Multi-joint position control
• Adaptive control

4. Robot Force Control


• Force control and hybrid position/force control
• Impedance control and intelligent control
• Control of constrained robots

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -4-


Course Outline

5. Mini Project
A group project on investigation and application of kinematics,
dynamics, and control for a few typical robots to be confirmed
later.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -5-


Assessment

 Open-book Exam: 30% of the total mark with the


duration of 1 hour.

 Continual Assessment: 35% of the total mark is from


the Mini Project.

 Another 35% of the total mark is from Prof. Chui Chee


Kong’s part.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -6-


1. Review of Kinematics
 General Features of Robots

1. Rigid links are connected by either revolute or prismatic joints;


2. Each link is connected by, at most, two others;
3. Each joint-link pair constitutes one DOF;
4. n joint-link pairs = n DOFs;
5. ......
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -7-
1. Review of Kinematics
 Two Basic Joints

Revolute Joint Prismatic Joint

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -8-


1. Review of Kinematics

Based on such two types of joints, different kinds of robots have


been designed and developed.

Epson Robot Han*s Robot Boston Dynamics Robot

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS -9-


1. Review of Kinematics

They have been widely applied in industrial automation for painting,


welding, assembly, ironing, palletizing and so on.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 10 -


1. Review of Kinematics
Link parameters of manipulator
 A manipulator robot can be described kinematically by giving
the values of four quantities for each link:
(1) link length: 𝒂𝒂𝒊𝒊
(2) link twist: 𝜶𝜶𝒊𝒊
(3) link offset: 𝒅𝒅𝒊𝒊
(4) joint angle: 𝜽𝜽𝒊𝒊

 The Denavit-Hartenberg
Notation

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 11 -


1. Review of Kinematics
Axis i
Axis i-1
Link i-1

Zi-1 Link i
Yi Zi
Yi-1 Xi ai
Xi-1 ai-1 di-1
θi
αi-1

Craig, pp. 66: Siciliano, pp. 62

Different Assignment of Link


Coordinate Systems
(The Denavit - Hartenberg Notation)

Fu, et al, pp. 39


Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 12 -
1. Review of Kinematics

Note that:

• Extend ai −1 to get xi −1 , and use right-handed rule to


obtain yi −1;

• Frame i is considered firmly attached to link i but at


joint i+1;

• When ai = 0 , xi is chosen normal to zi −1 − zi .

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 13 -


1. Review of Kinematics
 Formulation of Denavit - Hartenberg (D - H)
Transformation matrix, Tii −1
Fu, et al:
cθi −cα i sθ i sα i sθ i ai cθ i 
 sθ i cα i cθ i − sα i cθ i ai sθ i 
Ti =  0
i −1
sα i cα i di 
 0 0 0 1 
Craig: (Different from Fu's)
 cθi − sθ i 0 ai −1 
 sθ i cα i −1 cθ i cα i −1 − sα i −1 − sα i −1di 
Ti =  sθ sα
i −1
cα i −1 cα i −1di 
i i − 1 cθ i sα i − 1
 0 0 0 1 
where s means sin and c means cos.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 14 -
1. Review of Kinematics
Properties:

cθi −cα i sθi sα i sθi ai cθi 


 sθ cα cθ − sα cθ a sθ   i −1 i −1 
= i i Ri Pi
(i) Ti i −1 i i i i i
 
0 sα i cα i di   0 1 
 
0 0 0 1 

(ii) Ti +i −11 = Ti i −1Ti +i 1 Compound Transform

[ Rii −1] T −[ Rii −1] T Pi i −1 


(iii) [ Ti ]
i −1 −1
=  Inverting a Transform
 0 1 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 15 -


1. Review of Kinematics
θ
 Direct Kinematics: 1 2
( , θ ,..., θ n ) → ( Rn
0
, P 0
n )

i. Find T10 ,T21 ,...,Tnn −1


ii. Compute Tn0 = T10T21...Tnn −1
 Rn0 Pn0 
= 
0 1
PUMA560
 Inverse Kinematics: ( Rn0 , Pn0 ) → (θ1 , θ 2 ,..., θ n )
i. Algebraic: Tackle the equation directly
ii. Geometric: Decompose spatial geometry to 2D...
iii. Numerical ...

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 16 -


Example: Inverse Kinematics
i. Algebraic: Tackle the equation directly
l1 cos(θ1 ) + l2 cos(θ1 + θ 2 ) = x p

l1 sin(θ1 ) + l2 sin(θ1 + θ 2 ) = y p
we have
  
2 
 x p (l1 + l2 cos(θ 2 )) + y p l2 sin(θ 2 ) x p (l1 + l2 cos(θ 2 )) + y p l2 sin(θ 2 ) 
θ1 = arctan 2  ± 1 −   , 
 x 2
+ y 2  x 2
+ y 2

  p p  p p

  2 2
 2 
 x 2
+ y 2
− l 2
− l x 2
+ y 2
− l 2
− l 2 
θ 2 = arctan 2  ± 1 −  p p 1 2
 , p p 1

 2 l l  2 l l 
  1 2  1 2

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 17 -


Example: Inverse Kinematics
Example 1.1:

For two-link planar robot, the (xp , yp )


following direct relationship is
obtained.

 x p  l1 cos(θ1 ) + l2 cos(θ1 + θ 2 )


rp =   =   = f (θ )
 y p  l1 sin(θ1 ) + l2 sin(θ1 + θ 2 ) 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 18 -


Example: Inverse Kinematics
ii. Geometric: Decompose spatial geometry to 2D
Consider the RRR robot

The position of the wrist in space: ( xd , yd , zd )

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 19 -


Example: Inverse Kinematics

Decompose spatial geometry to 2D


The planar geometry - top view of the robot

yd
x3
L4
L3
θ1 = arctan 2 ( yd , xd )
y0 z3
x2
θ1
x0 xd
z2

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 20 -


Example: Inverse Kinematics

Decompose spatial geometry to 2D


The planar geometry - side view of the robot

θ3 r1 = xd2 + yd2
L4
L3 r2
θ2 r2 = x + y + (z d − ( L1 + L2 ) )
2 2 2
zd
d d
r1
L1 + L2
z0

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 21 -


Example: Inverse Kinematics

( ) (
θ 2 arctan 2 zd − ( L1 + L2 ), xd2 + yd2 + arctan 2 ± 1 − cβ2 , cβ )
(
θ 3 = arctan ± 1 − c32 , c3 )
r22 − ( L23 + L24 )
θ3 c3 =
L4 2 L3 L4
L3 r2 with
θ2 zd
r22 + L23 − L24
r1 cβ =
L1 + L2
2r2 L3
z0

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 22 -


Example: Inverse Kinematics
iii. Numerical: Iterative solution
Consider the two-link planar robot again. Differentiating
f (θ ) = rp results in
− l1 sin(θ1 ) − l2 sin(θ1 + θ 2 ) − l2 sin(θ1 + θ 2 ) θ1  x p 
    =  
 l1 cos(θ1 ) + l2 cos(θ1 + θ 2 ) l2 cos(θ1 + θ 2 ) θ 2  y p 
which is formulated as
J (θ )θ = rp (J is the Jacobian matrix)
Then we have
θ = J −1 (θ )rp
Given θ (0) , we further have
θ (t + ∆t ) = θ (t ) + θ(t )∆t
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 23 -
Example: Inverse Kinematics
iii. Numerical : Differential motion
Differential motion refers to the micro motion of robot, which
can describe the relationship between different parts and
speed of robot. So we can establish the kinematic relationship
between joint and link as follows:
 dx   dθ1 
 dy   dθ  J is the Jacobian matrix;
   2
 dz   dθ3  dx, dy, dz are the differential motion
 =J  along X, Y, Z axis;
δ
 x d
 4θ
δ x, δ y, δ z are the differential rotation
δ y   dθ5 
    around X, Y, Z axis;
δ z   dθ 6 
We can abbreviate it to D = JDθ .
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 24 -
Example: Inverse Kinematics
iii. Numerical: Differential transformation of coordinate frame
dT = ∆T , where dT is the transformed coordinate frame;
T is the original coordinate frame; ∆ is the differential
operator and it is as follows:
=∆ Trans (dx, dy, dz ) × Rot (k , dθ ) − I
1 00 dx   1 −δ z δ y 0  1 0 0 0
0 10 dy   δ z 1 −δ x 0  0 1 0 0 
 −
0 01 dz   −δ y δ x 1 0  0 0 1 0
    
0 00 1  0 0 0 1  0 0 0 1
 0 −δ z δ y dx 
 δz 0 − δ x dy 
= 
 −δ y δ x 0 dz 
 
 0 0 0 0 
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 25 -
Example: Inverse Kinematics
Example 1.2:Suppose a five degree of freedom robot system
which is a 4R1P structure, given the Jacobi matrix of the system
and a set of numerical values of differential motion, then
calculation the new position after differential motion?

The known conditions:


3 0 0 0 0  dθ1   0.1 
1 0 0.1 5   −2
0 0   dθ   −0.1
0 −1 3   0 1 0
 2  
T5 =  J =0 4 0 0 0  dθ3  = 0.05
0 1 0 2      
  0 1 0 1 0 d θ
 4  0.1 
0 0 0 1
 dθ5   0 
 −1 0 0 0 1 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 26 -


Example: Inverse Kinematics
Solution:

(1) 3 0 0 0 0   0.1   0.3 


 −2 0 0 −0.1 0.3 
0 1 0 0   −0.1  −0.15
0
   0 0 −0.15
= =
D JDθ 0 4 0 0 0  0.05 =   −0.4  ∆ 
⇒=
     0.1 0 0 −0.4 
0 1 0 1 0   0.1   0   
 −1 0 0 0 0 
0 0 0 1   0   −0.1 

(2)
0 0 −0.1 0.3  1 0 0.1 5   0 −0.1 0 0.1 
0 0 0 −0.15 0 0 −1 3   0 0 0 −0.15
dT5 =∆T5 = =
0.1 0 0 −0.4  0 1 0 2 0.1 0
 0.01 0.1 
    
0 0 0 0  0 0 0 1  0 0 0 0 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 27 -


Example: Inverse Kinematics
Solution:

The new position after differential motion as follows:


= dT5 + T5ORIGINAL
T5 NEW
 0 −0.1 0 0.1  1 0 0.1 5   1 −0.1 0.1 5.1 
0 0 0 −0.15  0 0 −1 3   0 0 −1 2.85
 + =
0.1 0 0.01 0.1  0 1 0 2  0.1 1 0.01 2.1 
     
0 0 0 0  0 0 0 1  0 0 0 1 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 28 -


Example: Kinematics Simulation
Main code for simulation:
clc; clear all; format long;
T=10; % task duration
radiusXY=0.25; % circle radius
q0=[pi/15;pi/12]; % initial position
h=0.01; %sampling gap
q(:,1)=q0; i=1;
for t=0:h:T
phi_sin=2*pi*sin(0.5*pi*t/T); phi=phi_sin*sin(0.5*pi*t/T);
phiDot=phi_sin*pi*cos(0.5*pi*t/T)/T;
drx=-radiusXY*sin(phi)*phiDot; % desired path on X-axis
dry=radiusXY*cos(phi)*phiDot; % desired path on Y-axis
dr=[drx;dry]; J = Jacob(q(:,i)); IJ = inv(J);
dq = IJ * dr; q(:,i+1) = q(:,i) + dq * h;
i=i+1;
end
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 29 -
Example: Kinematics Simulation
1.6
0.9

1.4
0.85 q1

0.8
Inverse 1.2

q2

Given 0.75
kinematics
1

0.8

end- 0.7

0.6
y

0.65

effector 0.6
0.4

trajectory 0.55
0.2

0
0.5

-0.2
0.45

-0.4
1.4 1.5 1.6 1.7 1.8 1.9 0 1 2 3 4 5 6 7 8 9 10

x time

Direct
kinematics
-3 Error
10
1 1

ex

ey
0.5
0.8

Error 0
0.6

between -0.5
Evalution 0.4

given and -1
Y

0.2

actual end- -1.5

effector -2
0

trajectories -2.5
-0.2

-0.4
-3
0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

time X

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 30 -


Newly Developed Robots

Head motion of
Robot by NUS

X1 Mobile Robot
by NUS

BOSTON DYNAMICS
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 31 -
Kengoro Robot
A Freaky Humanoid Robot

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 32 -


Kengoro Robot
A Freaky Humanoid Robot

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 33 -


2. Robot Dynamics

W2H = What, Why, and How


 WHAT is robot dynamics?
Find the dynamic equations of motion for a manipulator
which deals with the relationship between the
Robot Motion and the Forces/Torques applied externally,

while robot kinematics deals with the relationship between


the joint variable space and the position and orientation of
the end-effector in the world space.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 34 -


2. Robot Dynamics
W2H = What, Why, and How
 WHY do we want to study robot dynamics?
Robot dynamic equations are used for
i. Simulation of Robot Dynamics
It is a way of designing prototype robots and testing control strategies
without the expenses of working with actual robots (Economical).

ii. Controller Design


Most control design techniques are based on plant model. Moreover,
model-based controller is Superior to non-model-based controller.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 35 -


2. Robot Dynamics
W2H = What, Why, and How
 HOW to derive robot dynamics?
Two basic methods
• Lagrange - Euler Equation (Formulation)
• Newton - Euler Equation (Formulation)

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 36 -


2.1 L-E and N-E Equations

1. Lagrange - Euler (L-E) Equation


• Based on Lagrangian mechanics
• Closed form solution
• The system is taken as a whole D(q)q + C (q, q )q + G (q) = τ
2. Newton - Euler (N-E) Equation
• Based on Newtonian mechanics
• Forward-backward recursive
• Each link of a robot is treated in turn
Methods 1 and 2 are for providing different insights.
Any other formulations in literature are obtained from these two
formulations.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 37 -
2.1 L-E and N-E Equations
Example 2.1: Derive the dynamic model for the mass system.
(a) Newton-Euler Equation
mx = f

(b) Lagrange-Euler Equation x


1 2 g
Kinetic energy: K = mx
2
Potential energy: P = 0
1 2
The Lagrangian: L = K − P = mx f m
2
Eq. of motion: d ∂L − ∂L = τ
dt ∂x ∂x
∂L d ∂L ∂L
= mx , = mx =, 0 mx = f
∂x dt ∂x ∂x
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 38 -
2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation


x2
The kinetic energy: x1
1 1
=K m1 x1 + m2 x22
 2 g
2 2
The potential energy: k
1 f m1 m2
=P k ( x2 − x1 ) 2
2
The Lagrangian:
1 1 1
L= K −P= m1 x12 + m2 x22 − k ( x2 − x1 ) 2
2 2 2

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 39 -


2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation

∂L d ∂L
= m= 
1 x1 , m1 
x1
d ∂L ∂L ∂x1 dt ∂x1
− = τ
dt ∂x ∂x ∂L d ∂L
= m= 
2 x2 , m2 
x2
 d ∂L ∂L ∂x2 dt ∂x2
 dt ∂x − ∂x = τ1
 ∂L

1 1
=− k ( x2 − x1 )(−1) =k ( x2 − x1 )
 d ∂L − ∂L = ∂x1
τ2
 dt ∂x2 ∂x2 ∂L
=−k ( x2 − x1 )
∂x2
where 𝜏𝜏 = 𝜏𝜏1 𝜏𝜏2 𝑇𝑇 is an external applied force.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 40 -
2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation


The work done by external force
2
=w ∑ ii
= f x
i =1
τ T
x

w = fx1  x1 
= fx1 + 0 ⋅ x2 Since x =   , we have
 x2 
 x1 
=[f 0]   τ 1   f  τ 1 = f
 x2  =τ =    
τ
 2 0 τ 2 = 0
=τT x

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 41 -


2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation

d ∂L ∂L
From − τ ,
= x2
dt ∂x ∂x
x1
we have the dynamics: g

m1 x1 − k ( x2 − x1 ) = f k

m2 x2 + k ( x2 − x1 ) = 0 f m1 m2

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 42 -


2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation

State space description:


= z1 x=1 , z2 x1
Let
= z3 x= 2 , z4 x2 x2

x1

z1 = z2 g

z2 m1−1[k ( z3 − z1 ) + f ]
= k
z3 = z4 f m1 m2

−m2−1k ( z3 − z1 )
z4 =
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 43 -
2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(b) Newton-Euler Equation


From the figure, the equations of motion using Euler
Equation is obtained as:
x2
m1 x1 = f + k ( x2 − x1 )
x1
m2 x2 = −k ( x2 − x1 ) g

k
f m1 m2

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 44 -


2.1 L-E and N-E Equations
Example 2.2: Derive the dynamic model for the Mass & Spring System.

(a) Lagrange-Euler Equation


m1 x1 − k ( x2 − x1 ) = f x2

m2 x2 + k ( x2 − x1 ) = 0 x1
g

(b) Newton-Euler Equation


k
m1 x1 = f + k ( x2 − x1 ) f m1 m2

m2 x2 = −k ( x2 − x1 )
By moving the terms associated with displacements to the left hand
sides of the equations, it can be seen that we have the same set of
equations for the same system using different modelling methods.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 45 -
2.1 L-E and N-E Equations
 Lagrange - Euler Equation
Lagrange-Euler either
equations of Obtained Virtual Displacement
motion are a set of from or
differential Hamilton’s Principle of
equations Least Action

We shall derive the formula in a very general context


first, and then apply it to robot manipulators.
For clarity and self-consistency, only the method of
virtual displacement is discussed in detail here.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 46 -
2.1 L-E and N-E Equations
 Lagrange - Euler Equation
Consider a system of k particles (lumped parameters),
with corresponding co-ordinates r1 , , rk , and subject to
m holonomic constraints:
g i (r1 , , rk ) = 0, i = 1, , m
For example, 2 particles connected by a massless rigid
wire of length l.
| r1 − r2 |= l or − − =
T 2
( r1 r2 ) ( r1 r2 ) l

Therefore, the system has m fewer DOF than the


unconstrained system.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 47 -


2.1 L-E and N-E Equations
 Lagrange - Euler Equation
Suppose ri = ri (q ), i = 1, , k
=  and q1 , , qn are the
T
where q [ q1 , , q n ]
generalized coordinates, which are independent.
For example y
θ1 
ri = ri (θ ), θ =   p5

θ 2  p4 ( x4 , y 4 )
θ 1 and θ 2 are independent θ2
r4
generalized coordinates.
x4 = l1 cos θ1 + l2 cos(θ1 + θ 2 ) p1
p2
p3

θ1
y4 = l1 sin θ1 + l2 sin(θ1 + θ 2 ) x

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 48 -


2.1 L-E and N-E Equations
 Lagrange - Euler Equation
Let δ r1 , , δ rk be small perturbation (disturbance), we have
n
∂ri
δ ri = ∑ δ qj i = 1, , k Chain Rule
j =1 ∂q j

where δ q j is the perturbation (disturbance) of q j .


Suppose the constrained system is in equilibrium,
i.e., the net force on each particle is zero, then the work done
k

∑ i ⋅ δ ri = 0
F T

i =1

where Fi is the total force on particle and Fi = f i + f ic

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 49 -


2.1 L-E and N-E Equations
Fi = f i + f ic

with f i as the external applied force, and f ic as the


internal constraint force.
If
k

∑ ic ⋅ δ ri = 0
f T

i =1

(Applies whenever rigidity is the only constraint on the


motion), then
k

∑ i ⋅ δ ri = 0
f T

i =1

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 50 -


2.1 L-E and N-E Equations

Principle of virtual work: The work done by external


forces corresponding to any set of virtual displacement
is zero.

However, we are interested in systems that are not in


equilibrium.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 51 -


2.1 L-E and N-E Equations

D’Alembert’s principle states that: IF one introduces a


fictitious additional force p i on particle i, where pi is
the momentum of particle i, THEN each particle will
be at equilibrium.
By replacing Fi by Fi − p i , the resulting equation is
valid for arbitrary systems.
k

Again, suppose the constraint force satisfy ∑


i =1
f icT δ ri = 0

k k k

Then we have ∑ ( f i − p i ) δ ri = 0
i =1
T

i =1
f i δ ri = ∑ p iT δ ri
T

i =1

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 52 -


2.1 L-E and N-E Equations
k k

∑i =1
f i δ ri = ∑ p iT δ ri
T

i =1
k n ∂ri k n ∂r
=∑∑ f iT δ qj = ∑ mi ri ( ∑ i δ
T
qj)
i =1 j =1 ∂q j i =1 j =1 ∂q j
n k ∂ri n k ∂ri
= ∑ ( ∑ f iT )δ q j = ∑ ( ∑ mi ri
T
)δ q j
j =1 i =1 ∂q j ∂q j
j =1 i =1
n
= ∑ ψ jδ q j n
j =1 = ∑ ηj δ qj
j =1
=ψ Tδ q
= ηT δ q
k ∂ri
where ψ j = ∑ f i
T
is the k ∂ri
i =1 ∂q j where η j = ∑ mi riT
generalized force i =1 ∂q j

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 53 -


2.1 L-E and N-E Equations

⇒ (η −ψ ) δ q = 0 T

Since the virtual displacement vector δ q is unconstrained


and its elements δ qi are independent,
⇒ η −ψ = 0
However, this is not in a form easy to use.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 54 -


2.1 L-E and N-E Equations
d ∂K ∂K
Show =
that η − , where K is the kinetic energy.
dt ∂q ∂q
∂ri n ∂vi ∂ri
Chain Rule: vi = ri = ∑ q j ⇒ =
j =1∂q j ∂q j ∂q j

d  ∂ri  n ∂ri ∂  n ∂ri  ∂v i


Thus,  =∑ q k = ∑ q k  =
dt  ∂q j  k =1 ∂q j ∂qk ∂q j  k =1 ∂q k  ∂q j

k   ∂ri  
k
∂ r  d  T ∂ri  T d
ηj ∑= mi 
ri T


i
∑   mi ri

 − mi ri 


i 1= q j  
i 1  dt q j 
 dt  j   du
q
d dv
= ⋅v ( uv ) − u ⋅
k  
 d  T ∂vi  T ∂vi 
dt dt dt
∑   mi vi
∂ 
 − mi vi


 
i =1  dt q j 
 q j 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 55 -
2.1 L-E and N-E Equations
Since the kinetic energy
1k d ∂K ∂K αT =α
K = ∑ mi viT vi − , j=
1, , n
i =1 2
dt ∂q j ∂q j ( AB)T = B T AT

  
T
   ∂vi 
T

∂K ∂vi T ∂vi ∂K T ∂vi
k T k T
1 1

1 1
∑  mi 
∂q j i =1  2  ∂q j  2
vi  + mi=vi 
∂q j 
 mi 

∂q j i =1  2  ∂q j  2
vi  + mi vi


∂q j 
   
1  T 
T
 1  T 
T

T ∂vi T ∂vi T ∂vi T ∂vi
k k
1

1
∑  mi vi 
i =1  2
  + m=
∂q j  2
i vi

∂q j 
 mi vi 
i =1  2
  + mi vi
∂q j  2

∂q j 
     
T ∂vi T ∂vi
k k
= ∑ mi vi
∂q
= ∑ =
m v
i i
∂q j
i =1 j i 1

d ∂K ∂K k  d  T ∂v  T ∂vi 

= −
dt ∂q j ∂q j
∑   mi vi
∂ 
i
 − mi vi


i =1 
 
dt q 
j  q j 
 - 56 -
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS
2.1 L-E and N-E Equations

Since the kinetic energy

d ∂K ∂K d ∂K ∂K
− = ηj ⇒ − = η
dt ∂q j ∂q j dt ∂q ∂q

Therefore, we have

d ∂K ∂K
− −ψ = 0
dt ∂q ∂q

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 57 -


2.1 L-E and N-E Equations
If the generalized force ψ is the sum of
∂P
ψ =τ −
• an external applied force τ ; ∂q
∂P
• one due to a potential field − , where P(q) is the
∂q
potential energy
d ∂L ∂L
⇒ − =τ , L= K − P(q)
dt ∂q ∂q
The so called Lagrange-Euler equations.
Also valid for robots: in terms of infinite numbers of
particles connected by massless wires.
Ref. Goldstein, H. (1980) Classical Mechanics, 2nd, Addision – Wesley, Reading MA.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 58 -


2.1 L-E and N-E Equations

 Newton - Euler Formulation


In deriving the equations of motion, Newton Mechanics are
also used, by considering each link individually, which state:
 Every action has an equal and opposite reaction.
 The rate of change of the linear momentum equals the total
force applied to the body.
d
F = (mv)
dt
 The rate of change of the angular momentum equals the total
torque applied to the body.
d
N = ( Iω )
dt
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 59 -
2.1 L-E and N-E Equations
 Mapping Review
z'
1. Translation P
C = a+b z
b
c y'
o'
xp  x  '  x '
p
 a

   '  ' 
0
y x'
 y p  =  y0  +  y p  o
z  z'   ' 
 p   0   z p  x

Note: o'x'y'z' is the Moving Frame (or Rotating Frame later)

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 60 -


2.1 L-E and N-E Equations
 Mapping Review
z
2. Rotation
z' P
xp  x  '
p
   ' y'
P = RP '
yp  = R yp 
z   ' 
 p  z p  y
o
i   i ⋅i ' i ⋅ j ' i ⋅ k ' 
R=RT = j  [i ' j ' k '] = j ⋅ i ' j ⋅ j ' j ⋅ k '
    x x'
 k   k ⋅ i ' k ⋅ j ' k ⋅ k '

Writing the unit vector of frame x' y ' z ' in terms of frame x y z
and stacking them as the columns.
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 61 -
2.1 L-E and N-E Equations
 Mapping Review
3. Translation plus
P
z1
x1
z c o1 P0 = C = a + b '
y1 = a + R10b
a
= a + R10 P1
y
o

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 62 -


2.1 L-E and N-E Equations
 Mapping Review
A
R
4. Linear Velocity ( B is constant)
{B}
P=
A
PBA0 + RBA P B P
PB
{A} PA

V=
A
VBA0 + RBAV B A
PBO

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 63 -


2.1 L-E and N-E Equations
 Mapping Review
5. Rotational Velocity

Ω AB

{B}
{ A} P A
PB P sin θ

Ω AB Ω ⋅ ∆t
∆P

o PtA A
Pt+Δt
θ
=∆P P sin θ ⋅ Ω B ⋅ ∆t
A A

∆P
=
V A lim = | P A
|| Ω A
| sinθ
∆t
∆t →0 B

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 64 -


2.1 L-E and N-E Equations

For constant P B with respect to frame {B}:


V A =Ω BA × P A ( P A =Ω BA × P A )
For changing P B with respect to frame {B}:
=
V A RBAV B + Ω BA × RBA P B
Simultaneous linear and rotational velocity
V=
A
VBA0 + RBAV B + Ω BA × RBA P B

i j k
a×b =a b sin α a×b =a a2 a3 
 1
 b1 b2 b3 

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 65 -


2.1 L-E and N-E Equations

 Acceleration of a rigid body


Linear Acceleration
 A × R A P B + Ω A × (Ω A × R A P B )
 A = VBA0 + RBAV B + 2Ω BA × RBAV B + Ω
V B B B B B

If P B is constant, V B = V B = 0 then
 A × R A P B + Ω A × (Ω A × R A P B )
 A = VBA0 + Ω
V B B B B B

Angular Acceleration
For three frames {A}, {B}, and {C}, rotating angular
speeds{ Ω BA }, { Ω CB }, then
ΩCA =Ω BA + RBA ΩCB
By differentiating, we have
 A =Ω
Ω  A + R AΩ
 B + Ω A × R AΩ B
C B B C B B C
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 66 -
2.1 L-E and N-E Equations

• Newton's equation
Rigid body:
F = mvc vc --- acceleration of centre of mass
F --- acting at the centre of mass

• Euler's equation
Rigid body:
ω --- angular velocity
N = Iω + ω × Iω ω --- angular acceleration
N --- the torque acting on the body
I --- the inertia tensor in a frame with its
origin located at the centre of mass
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 67 -
2.1 L-E and N-E Equations

d ( Iω )
N= = Iω + ω × Iω
dt
Due to the Due to the
change in ω rotation of
the vector

Forward - Backward Algorithm

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 68 -


2.1 L-E and N-E Equations

 Forward-Backward Algorithm
• Outward iterations i: 0 5

 i i
R ω
i +1 i
+ θ Z i +1
If joint (i+1) is Revolute
i +1 i +1
ωi +1 = 
i +1

 Rii +1ωii If joint (i+1) is Prismatic


 i i
R ω
i +1 i
 + θ Z i +1
----- R
i +1 i +1
ω i +1 = 
i +1

 Rii +1ω ii ----- P


i +1
 0 
 
with θi +1Z ii++11 =  0 
θ 
 i +1 
Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 69 -
2.1 L-E and N-E Equations

 Forward-Backward Algorithm
Linear acceleration of the origin of each frame

i +1

 iR i +1
[ω i i
P
i i +1 + ω i
× (ω i
× P i
i +1 ) + 
v i
i] ----- R
vi +1 =  i +1 i i
i i

 Ri [ω i Pi +1 + ωii × (ωii × Pi +i 1 ) + vii ] + 2ωii++11 × di +1Zii ++11 + di +1Zii ++11
----- P
Linear Acceleration of the centre of mass
vCii+1+1 = ω ii++11 × PCii++11 + ωii++11 × (ωii++11 × PCii++11 ) + vii++11
Fi+i1+1 = mi+1vcii++11
N ii++=
1
1
I i +1
i +1
ω i +1
i +1
+ ω i +1
i +1
× I i +1
i +1
ω i +1
i +1

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 70 -


2.1 L-E and N-E Equations

 Forward-Backward Algorithm
• Inward iterations i=6 1
i +1
fi = R f
i i
i +1 i +1 + Fi i

nii = Rii+1nii++11 + PCi × Fi i + Pi +i 1 × Rii+1 f i +i +11 + N ii

(nii )T Z ii ----- R
Torque τ i = 
( f i i )T Z ii ----- P

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 71 -


2.1 L-E and N-E Equations

• Brief Comparison Between Lagrange-Euler And


Newton-Euler Equations

Lagrange - Euler Newton - Euler


 Closed Form  Recursive Form
 Well Structured  Less Structured
 General Properties Exist  No General Property
 Suitable for Controller Design  Difficult for Controller Design

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 72 -


Remarks:
• Lagrange-Euler Formulation can be made as efficient as
Newton-Euler Formulation.
(Silver, W.M. (1982), “On the equivalence of Lagrangian and
Newton-Euler Dynamics for manipulators, ” International
Journal of Robotics Research, Vol.1, No.2, pp.66-70, Summer)
• For controller design and closed-loop stability analysis, a
closed-form Lagrangian formulation is preferred.
• Any other methods are based on the above two
fundamental methods.

Sam Ge: ME5402/EE5106/EE5064 | ADVANCED ROBOTICS - 73 -

You might also like