Professional Documents
Culture Documents
Dynamic model
provides the relation between generalized forces u(t) acting on the robot robot motion, i.e., assumed configurations q(t) over time ujoints(t) q(t) a system of 2nd order differential equations uCartesian(t)
,q ) = u (q, q
2
Robotics 2
Direct dynamics
direct relation
u1 u(t ) = u N q1 q(t ) = q N
(0) q(0),q
initial state at t =0
experimental solution apply torques/forces with motors and measure joint variables with encoders (with sampling time Tc )
,q ) = u (q, q solution by simulation use dynamic model and integrate numerically the differential equations (with simulation step Ts Tc )
3
Robotics 2
Inverse dynamics
inverse relation
ud(t)
d (t ), d (t ) qd (t ), q q
experimental solution repeated motion trials of direct dynamics using uk(t), with iterative learning of nominal torques updated on trial k+1 based on the error in [0,T] measured in trial k: uk(t) ud(t)
,q ) = u (q, q analytic solution use dynamic model and compute algebraically the values ud(t) at every time instant t
Robotics 2
dynamic equations in symbolic/closed form best for study of dynamic properties and analysis of control schemes
dynamic equations in numeric/recursive form best for implementation of control schemes (inverse dynamics in real time)
many formal methods based on basic principles in mechanics are available for the derivation of the robot dynamic model: principle of dAlembert, of Hamilton, of virtual works,
Robotics 2 5
Euler-Lagrange method
(energy-based approach)
basic assumption: the N links in motion are considered as rigid bodies (+ possibly, concentrated elasticity at the joints)
q IR N
Euler-Lagrange equations
kinetic energy potential energy least action principle of Hamilton virtual works principle
d L L = ui i qi dt q
i = 1, ..., N
Robotics 2
bm
m, m
m = n = n m
m = n + m0
=0
q = (or q = m ) (with reduction gear) T = Tm + T d 1 2 1 2 Tm = I m m T = (I + md2 ) 2 2 Fx motor inertia link inertia m g0 (around its (around the z-axis
motor transmission
spinning axis) through its center of mass)
Robotics 2
1 1 2 2 2 2 kinetic energy T = I + md + n I m = I 2 2
potential energy
nm,
Fx
1 2 L = T U = I + mg0 dcos U0 2
p x = sin p x = cos = J x
L = I
d L = I dt
L = mg0 dsin
applied or dissipated torques on motor side are multiplied by n when moved to the link side
Robotics 2
b I m m m + g d sin = + b + cos Fx 2 0 m m m 2 m n n n n n n
dynamic model in q =
+ mg d sin = n (b + n2b ) + cos F I 0 m m x
dynamic model in q = m
Robotics 2
mass m = ( x, y, z) dx dy dz = dm
B B
1 position of rc = r dm mB center of mass when all vectors are referred to a body frame RFc attached to the center of mass, then rc = 0 B r dm = 0
T=
1 2
T v ( x, y, z) v ( x, y, z) dm B
v = v c + r = v c + S() r
skew-symmetric matrix
10
Robotics 2
1 1 T T T T = v c v c dm + v c S() r dm + r S () S() r dm 2B 2B B
1 T = m vc vc 2
translational kinetic energy (point mass in center of mass)
aTb=trace{abT}
= v c S() r dm = 0
B
+
rotational kinetic energy (of the whole body)
Knig theorem
Robotics 2
11
a x
1 12
m a2 + c2
1 2 2 m a + b 12
1 12
m 3 a2 + b2 + h2
((
Izz
Izz = Iyy
single axis translation theorem its generalization: changes on body inertia matrix due to a pure translation r of the reference frame of computation
12
Steiner theorem
Robotics 2
I = Ic + m r r E33 rr
identity matrix
j , j i) Ti = Ti (q j , q
vci
i RFci
x y dm
x 2 + z2 dm
x zdm y zdm x 2 + y 2 dm
Robotics 2
14
vci qN
link i
q1
q2
qi-1
qi+1
link N
qi
0 0 0 0 q 0 0
0 0 0 0 q 0 0
3 rows
3 rows
15
Final expression of T
1 N T T = mi v ci v ci + iT Ii i 2 i=1
)
constant if i is expressed in RFci else 0 Ii (q)= 0 R i(q) i Ii 0 R iT (q)
NOTE: in practice, NEVER use this formula (or partial Jacobians) for computing T; a better method is available...
1 T ) = q B(q)q T (q, q 2
16
Ui = Ui (q j , j i)
Ui = mi g Tr0,ci
gravity acceleration position of the vector center of mass of link i typically expressed in RF0 constant in RFi
17
Summarizing ...
kinetic energy potential energy Lagrangian
positive definite
Euler-Lagrange equations
k = 1,...,N
Robotics 2 18
) = L (q, q
L j = b kj q k q j
b kj d L j + iq j = b kjq q k dt q j i, j qi L 1 bij U iq j = q qk 2 i, j qk q k
1 b kj b ki b ij + + qiq j + qj qk i, j 2 qi
ckij = ckji Christoffel symbols
of the first kind
Robotics 2
20
U = uk qk
k = 1,,N
INERTIAL terms
bkj(q) = inertia seen at joint k when joint j accelerates ckii(q) = coefficient of the centrifugal force at joint k when joint i is moving (ciii = 0, i) ckij(q) = coefficient of the Coriolis force at joint k when both joint i and joint j are moving
Robotics 2 21
1.
2.
NOTE: these models are in the form as expected
Robotics 2
,q ) = u (q, q
A structural property
(when using Christoffel symbols to define matrix S)
2S is skew-symmetric matrix B
Proof b kj i b kj = q i qi
b kj b ki b ij 1 i = 2 i 2s kj = 2 c kjiq + q qj qk i i 2 qi
b ij b ki i = nkj b kj 2s kj = q qj i qk
Robotics 2
2S x = 0, x xT B
23
Energy conservation
total robot energy its evolution over time (using the dynamic model)
=q (q)q TB(q)q + 1 q TB + U q E 2 q 1 T T (u S(q, q )q g(q)) + q B(q)q +q T g(q) =q 2 (q) 2S(q, q Tu + 1 q T B ) q =q 2
here, any factorization of vector c by a matrix S can be used
1 T + U(q) E = T +U = q B(q)q 2
=0 E
2S q T B = 0, q, q q
weaker than skew-symmetry, as the external velocity is the same that appears in the internal matrices
=q Tu E
in general, the variation of the total energy is equal to the work of non-conservative forces
24
Robotics 2
T = T1 + T2
pc2 q2
U = constant
(on horizontal plane)
1 2 1 T1 = m1q 2
q1
1 1 T T T2 = m 2 v c2 v c2 + 2 I 2 2 2 2
v c2 1 d sin q2 q 2 q 2 = d cos q2 q 0
0 2 = 0 q 2
Robotics 2
1 1 2 2 2 2 T2 = m2 q1 + d q2 2d sinq2 q1 q2 + I2,zz q 2 2 2
25
) c1 (q, q ) = c(q, q c q , q 2 ( )
) = q T C k (q)q c k (q, q
T 1 b k b k B where Ck (q) = + 2 q q qk 0 0 0 0 0 1 0 C1 (q) = + 2 0 m2d cosq2 0 m2d cosq2 0 0 ) = m2d cos q2 q 2 c1 (q, q 2
+ c(q, q ) = u B(q)q
m1 + m2 m d sin q 2 2 1 m2d cos q2 q 2 m2d sinq2 q u1 2 + = 2 2 I2,zz + m2d q 0 u2
Q1: why Coriolis terms are not present? Q2: when applying a force u1, does the second joint accelerate? always? Q3: what is the expression of a factorization matrix S? is it unique? Q4: which is the configuration with maximum inertia?
Robotics 2 27
1 T B(q)q U(q) L= q [0 2
N
... 1 ... 0]
i-th position
) S(q, q
g(q)
28