Le 3
Le 3
Lecture 3
Mikael Norrlöf
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Systematic ways to derive the dynamic equations Limitations
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Better system representation Virtual work
§ For a system of k particles with l constraints, find Principal of virtual work: “The work done by external forces
n = 3k – l variables q1, …, qn and functions f1, …, fk
corresponding to any set of virtual displacements is zero.”
ri = f i ( q1 ,..., qn ) g j ( r1 ,..., rk ) = 0 (Spong etal, p247)
i =1,..., k j = 1,...,l
fi
qi are called generalized coordinates. k
dr1
åF i
T
dri = 0
§ Generalized forces are forces acting along the generalized r1 å F (ri ) =Fi = 0 i =1
å ( f ) dr = 0
coordinates. k
f 1( a ) (a) T
i i
Example: Robot manipulator with rotational joints. The i =1
generalized forces are torques acting around the joints. l
k
åf i
T
dri = 0
§ The dynamic equations can be expressed in terms of the new i =1
variables.
f 2( a ) r2
dr2
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
åf
i =1
i
T
dri - å p&
i =1
i
T
dri = 0
“if one introduces a
fictitious additional force - p& i
¶ri
k k n n
fi on particle i for each i,
where pi is the
fi
å
i =1
f i T dri = åå
i =1 j = 1
fiT
¶q j å
dq j = y j dq j
j =1
dr1 momentum of the particle, dr1
r1 å F (r ) =F = 0 then each particle will be r1 å F (r ) =F = 0 k
¶ri
åf
i i i i
in equilibrium” yj = i
T
f 1( a ) f 1( a ) i =1
¶q j
l l
f 2( a ) r2 f 2( a ) r2
dr2 dr2
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Dynamic case (D’Alembert’s principle) Dynamic case (D’Alembert’s principle)
k
¶ri å2mv
k k n 1
K= T
å p& i dri = åå mi &r&i dq j vi
T T i i
i =1 i =1 j =1 ¶q j i =1
k ì
k
¶ri ïd é ¶v ù ¶v üï
fi
å
k
m &
r&
¶riT
= å
k ì
ï d é T ¶ri ù
í ê m &
r ú - m &
r T d
é ¶ri ù üï
ê úý
fi
å mi &r&iT
i =1
= å í êmi viT i ú - mi viT i ý
¶q j i =1 ïî dt ëê ¶q& j ûú ¶q j ïþ
¶q j i =1 ïî dt ëê ¶q j ûú dt êë ¶q j ûú ïþ
i i i i i i
dr1 i =1 dr1
r1 å F (r ) =F = 0 r1 å F (r ) =F = 0 d ¶K ¶K
i i
¶r
n
¶v ¶r
i i
= -
vi = r&i = å i q& j Þ i = i dt ¶q& j ¶q j
j =1 ¶q j ¶q& j ¶q j
f 1( a ) f 1( a )
n ì
l d é ¶ri ù n ¶ 2 ri ¶ n
¶ri ¶v l k
ï d ¶K ¶K üï
ú=å q&l = å q&l = i å d = å - ýdq j
T
ê &
p r í
dt êë ¶q j úû l =1 ¶q j ¶ql ¶q j l =1 ¶ql ¶q j i =1
i i
j =1 ï
î dt ¶q& j ¶q j ïþ
k ì
k
¶ri ïd é ¶v ù ¶v üï ìï d ¶K üï
å mi &r&iT = å í êmi viT i ú - mi viT i ý ¶K
n
å íïî dt ¶q&
f 2( a ) r2 f 2( a ) r2
- - y j ýdq j = 0
dr2 i =1 ¶q j i =1 ïî dt êë ¶q& j úû ¶q j ïþ dr2
j =1 j ¶q j ïþ
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
§ The Lagrangian is defined as Hamilton's principle states that the true evolution of a
system described by m generalized coordinates
L( q ,q& ) =K ( q , q& ) - P( q ) between two specified states and at two specified
Kinetic energy Potential energy times t1 and t2 is an extremum of the action functional
S ( q )= ò L( q ,q& )dt , ¶S ( q )= 0
t
2
§ Lagrange’s equation
t1 ¶q
d ¶L( q , q& ) ¶L( q , q& ) Trajectory q(t) is a stationary point of S. Assume e is a
- = t i , i = 1,..., n
dt ¶q&i ¶qi perturbation (0 at t1 and t2)
t2 t2
¶L ¶L
¶S = ò L( q + e ,q& + e& ) - L( q ,q& )dt = ò e + e& dt
§ Newton’s law in generalized coordinates t1 t1 ¶q ¶q&
t2
d ¶L( q , q& ) ¶L( q , q& ) é ¶L ù æ ¶L d ¶L ö
t2
= +t d
(momentum) = applied force = êe ú + ò e çç - ÷÷ dt
dt ¶q& ¶q dt ë ¶q& û t1 t1 è ¶q dt ¶q& ø
1424 3
=0
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Example Kinetic and potential energy
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Example: Uniform rectangular solid Kinetic energy for an n-link manipulator
Notice that
rabc = m where D(q) is the inertia matrix.
Inertia of two bodies expressed in the same
coordinate frame can be added (subtracted) Properties: Symmetric and positive definite.
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
¶L 1 ¶d ij ¶P
= 2å q&i q& j -
¶qk i , j ¶q k ¶qk
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Dynamic equations, cont’d Dynamic equations, cont’d
æ x ö æqö
ìï ¶d kj ¶d ki ¶d ij üï ¶P State space representation x& = f ( x ,u ), x = çç 1 ÷÷ = çç ÷÷
Þ å d kj q&& j + å í 1
+ - ýq&i q& j + =tk è x2 ø è q& ø
i , j ï ¶qi ¶ ¶ ï ¶
2
j
î q j q k þ qk
1444 424444 3
æ x&1 ö æ x2 ö
cijk
çç ÷÷ = çç -1 ÷÷
cijk = c jik è x& 2 ø è D ( x1 )(- C( x1 , x2 )x2 - g ( x1 ) + u )ø
Dynamic equations
The following matrix is skew symmetric § Different approach to find the dynamic equations
§ A more local approach
N ( q ,q& ) = D& ( q ) - 2C( q ,q& )
Each link is modeled separately
Links interconnected, leads to a forward – backward iteration
The system is passive.
scheme
Balance equations:
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
Newton-Euler, cont’d Newton-Euler, cont’d
Solve from i = 0 to n
Balance equations:
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3
The robot in the assignment Kinematic data (pdf-files on the homepage)
PhDCourse Robot modeling and control PhDCourse Robot modeling and control
Lecture 3 Lecture 3