Professional Documents
Culture Documents
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
5. Mini Project
A group project on investigation and application of kinematics,
dynamics, and control for a few typical robots to be confirmed
later.
The Denavit-Hartenberg
Notation
Zi-1 Link i
Yi Zi
Yi-1 Xi ai
Xi-1 ai-1 di-1
θi
αi-1
Note that:
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
yd
x3
L4
L3
θ1 = arctan 2 ( yd , xd )
y0 z3
x2
θ1
x0 xd
z2
θ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
( ) (
θ 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
(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
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
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
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
∂L d ∂L
= m=
1 x1 , m1
x1
d ∂L ∂L ∂x1 dt ∂x1
− = τ
dt ∂x ∂x ∂L d ∂L
= m=
2 x2 , m2
x2
d ∂L ∂L ∂x2 dt ∂x2
dt ∂x − ∂x = τ1
∂L
1 1
=− k ( x2 − x1 )(−1) =k ( x2 − x1 )
d ∂L − ∂L = ∂x1
τ2
dt ∂x2 ∂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.
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
d ∂L ∂L
From − τ ,
= x2
dt ∂x ∂x
x1
we have the dynamics: g
m1 x1 − k ( x2 − x1 ) = f k
m2 x2 + k ( x2 − x1 ) = 0 f m1 m2
x1
z1 = z2 g
z2 m1−1[k ( z3 − z1 ) + f ]
= k
z3 = z4 f m1 m2
−m2−1k ( z3 − z1 )
z4 =
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.
k
f m1 m2
m2 x2 + k ( x2 − x1 ) = 0 x1
g
m2 x2 = −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
θ 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
∑ i ⋅ δ ri = 0
F T
i =1
∑ ic ⋅ δ ri = 0
f T
i =1
∑ i ⋅ δ ri = 0
f T
i =1
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
∑i =1
f i δ ri = ∑ p iT δ ri
T
i =1
k n ∂ri k n ∂r
=∑∑ f iT δ qj = ∑ mi ri ( ∑ 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 ri
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 riT
generalized force i =1 ∂q j
⇒ (η −ψ ) δ q = 0 T
k ∂ri
k
∂ r d T ∂ri T d
ηj ∑= mi
ri T
∂
i
∑ mi ri
∂
− mi ri
∂
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
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
' '
0
y x'
y p = y0 + y p o
z z' '
p 0 z p x
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
V=
A
VBA0 + RBAV B A
PBO
Ω 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
i j k
a×b =a b sin α a×b =a a2 a3
1
b1 b2 b3
If P B is constant, V B = V B = 0 then
A × R A P B + Ω A × (Ω A × R A P B )
A = VBA0 + Ω
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 = mvc vc --- 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
• 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
i i
R ω
i +1 i
+ θ Z i +1
----- R
i +1 i +1
ω i +1 =
i +1
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
vi +1 = i +1 i i
i i
Ri [ω i Pi +1 + ωii × (ωii × Pi +i 1 ) + vii ] + 2ωii++11 × di +1Zii ++11 + di +1Zii ++11
----- P
Linear Acceleration of the centre of mass
vCii+1+1 = ω ii++11 × PCii++11 + ωii++11 × (ωii++11 × PCii++11 ) + vii++11
Fi+i1+1 = mi+1vcii++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
Forward-Backward Algorithm
• Inward iterations i=6 1
i +1
fi = R f
i i
i +1 i +1 + Fi i
(nii )T Z ii ----- R
Torque τ i =
( f i i )T Z ii ----- P