Movie Segment: Robotic Reconnaissance Team, University of Minnesota, ICRA 2000 Video Proceedings

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Movie Segment

Robotic Reconnaissance Team,


University of Minnesota,
ICRA 2000 video proceedings

Dynamics

• Rigid Body Dynamics


• Newton-Euler Formulation
• Articulated Multi-Body Dynamics
• Recursive Algorithm
• Lagrange Formulation
• Explicit Form

MA23

1
Joint Space Dynamics

M (q )q + V (q, q ) + G (q ) = Γ
q: Generalized Joint Coordinates
M (q ) : Mass Matrix - Kinetic Energy Matrix
V (q, q ) : Centrifugal and Coriolis forces
G (q) : Gravity forces
Γ: Generalized forces

Formulations n f n f
Newton-Euler Lagrange
Fi -ni+1
Ni
-n
I Ci -f link 3
-fi+1 n3
-ni mi
Link i Kinetic Energy: Ki∑ τ3 f3
-fi Potential Energy i
-f3 -n3
Newton: m v C = F Generalized Coordinates n2
Euler: N i = I C ω i + ω i × I C ωi τ2 -f2 link 2
1 T
i i
K = q M q f1 f2
Eliminate Internal Forces 2 τ1 -n1 -n2
τi =
RS n . Zi
T
i revolute M q + V + G = τ
Tf .Z
i
T
i prismatic
-f1 n1 link 1

-fi+1 Newton-Euler Algorithm


-ni+1
Ni Fi
s and Inertial f
a tion or
Link i eler ces
I Ci , acc
ies
mi Pi+1
lo cit
Ve
es
forc
Recursive Equations
ni fi fi = Fi + fi +1
ni = N i + ni +1 + p Ci × Fi + p i +1 × fi +1

τi =
RS
ni . Zi revolute
T
fi . Zi prismatic

2
a particle Angular Momentum
Newton’s Law F F
m m v = F m
F = ma a take the moment /0 p

p × m v = p × F
0 0
inertial v inertial mv
Frame Frame
N

=0
d
( p × mv ) = p × mv + v × mv = p × mv
d dt
( mv ) = F rate of change of the d
dt linear momentum is equal (p × m v ) = N
to the applied force dt
Linear Momentum applied moment
ϕ = mv angular momentum φ = p × mv

Rigid Body vi = ω × pi
Rotational Motion
ω
mi φ = ∫ p × (ω × p ) ρ dv
V
pi p × (ω × p ) = p ( − p )ω

Angular Momentum = ∑ p i × mi v i
i
z
φ = [ − pp
  ρdv ]ω
V
Inertia Tensor
φ = ∑ mi p i × (ω × p i )
i φ = Iω
mi → ρdv ( ρ: density )
φ = ∫ p × (ω × p ) ρ dv
V

Inertia Tensor
Linear Momentum Angular Momentum
z
  ρdv
I = − pp ( − pp
  ) = ( p T p ) I3 − pp T

LMx OP I = z [(p p) I − pp ]ρdv


ϕ = mv φ = Iω V T
3
T

V
Newton Equation Euler Equation
MM z PP
p = y ;p p = x + y + z
T 2 2
F1
2
0 0 I
NQ (p p) I = ( x + y + z )G 0 JJ
d d
( mv ) = F ( Iω ) = N GH 0
T 2 2 2
1 0
1K
3
dt dt
LM x OP LM x xy xzOP 2 0
pp = y a x y z f = M xy y yz P
ϕ = F φ = N
T
MM z PP MN xz yz z PQ
2

NQ 2

ma = F Iω + ω × Iω = N LMy + z − xy − xz OP
2 2

ˆ ˆ ) = M − xy z + x
MN − xz − yz x + y PPQ
( − pp − yz 2 2

2 2

3
Inertia Tensor
LM I xx − I xy − I xz OP Parallel Axis theorem
I = M− I
MN− I
xy I yy
− I yz
− I yz
I zz
PP
Q
z
V
  ρdv
I = − pp
{A}
p
m

zzz
xz

I xx = ( y 2 + z 2 )ρdxdydz
( − pp
  ) = ( p T p ) I3 − pp T pc R| x c U|
S| y V|
Moments of I yy = zzz ( z 2 + x 2 )ρdxdydz Tz
c

c W
zzz
Inertia
Izz = ( x + y )ρdxdydz I A = I C + m [(p C p C ) I 3 − p C p C T ]
T
2 2

I xy = zzz xyρdxdydz
I A zz = I C zz + m ( x C2 + y C2 )
Products of I xz = zzz xzρdxdydz
I A xy = I C xy + m x C y C
zzz
Inertia
I yz = yzρdxdydz

a
Example 2 Newton-Euler Algorithm
I C zz = ∫a ∫∫ ρ ( x + y 2 ) dxdydz
2
{C}

nd Inertia
ions a
2
l fo
I Czz =
1
ρ a5; m = ρa 3 el erat rce
, acc s
6 ies
cit
a
ma 2 Ve
lo
I Cxx = I Cyy = I Czz =
es
6 forc
a
A
x c = yc = z c =
A A
{A} 2
ma2 2 2
I Axx = I Ayy = I Azz = ICzz + = ma
2 32
ma
I A xy = I A xz = I A yz =
4

Newton-Euler Equations Angular Acceleration


ωι+1
Translational Motion m . v C = F
m {i}
m v C = F IC
ωι
ω i +1 = ω i + Ω i +1
Rotational Motion
Ω i +1 = θ i +1 Zi +1
I C ω + ω × I C ω = N
b
ω i +1 = ω i + θ i +1 ω i × Z i +1 + θ i +1 Zi +1 g

4
Linear Acceleration Velocity and Acceleration
Zι+1
Zι at center of mass
pι+1
ωι xι+1 ωι+1 vCi+1
vi+1 = vi +ωi × pi+1 +Vi+1

xι vi+1 Ci+1
{i+1} p Ci+1
Vi +1 = di +1 Zi +1
Pi +1 = ai x i + di +1 Z i +1 v Ci +1 = v i +1 + ω i +1 × p Ci +1
v i +1 = v i + ω i × p i +1 + ω i × p i +1 + Vi +1 v Ci +1 = v i +1 + ω i +1 × p Ci +1 + ω i +1 × (ω i +1 × p Ci +1 )
v i +1 = v i + ω i × p i +1 + ω i × (ω i × p i +1 )
+ 2 d ω × Z + d Z
i +1 i i +1 i +1 i +1

Dynamic forces on Link i − fi +1


− fi +1 − ni +1
ICiω i + ωi × ICiωi − ni +1
p i +1
mi vCi fi Fi
ni Link i
Ni
mi v Ci = ∑ forces fi pCi
I C iω i + ω i × I C iω i = ∑ moments / ci Fi = fi − fi +1
ni
Inertial forces/moments N i = ni − ni +1 + ( − p Ci ) × fi + (p i +1 − p Ci ) × ( − fi +1 )
Fi = mi v Ci
N i = I C iω i + ω i × I C iω i

Newton-Euler Algorithm Recursive Equations


fi = Fi + fi +1
ni = N i + ni +1 + p Ci × Fi + p i +1 × fi +1
s and Inertial f
tion
,a
cce
lera or ces
τi =
RS
ni . Zi revolute

lo c ities T
fi . Zi prismatic
Ve Fi = mi v Ci
es with
N i = I C iω i + ωi × I C iωi
forc
where ω i +1 = ω i + Ω i +1 = ω i + θ i +1 Zi +1
ω i +1 = ω i + ω i × Zi +1θ i+1 + θi +1 Zi +1
v i +1 = v i + ω i × pi +1 + ω i × (ω i × pi +1 ) + 2di +1ω i × Zi +1 + di +1 Zi +1
v C = v i +1 + ω i +1 × pC + ω i +1 × (ω i +1 × pC )
i +1 i +1 i +1

5
Outward iterations: i : 0 5
i +1
ω i +1 = i +i1Ri ω i + θ i +1 i +1 Zi +1
i +1
ω i +1 = i +i1Ri ω i + i +i1Ri ω i × i +1Zi +1θ i +1 + θ i +1 i +1 Zi +1
i +1
v i +1 = i +i1R( i ω i × i pi +1 + i ω i ×( i ω i × i pi +1 )+ i v i )
i +1
v Ci+1 = i +1 ω i +1 × i +1 pCi+1 + i +1 ω i +1 ×( i +1 ω i +1 × i +1 pCi+1 )+ i +1 v i +1
i +1
Fi +1 = mi +1 i +1 v Ci+1 Movie Segment
i +1
Ni +1 = Ci +1
Ii +1 ω i +1 + ω i +1 ×
i +1 i +1 Ci +1
Ii +1 ω i +1
i +1

Inward iterations: i : 6 1
i
fi = i +1iRi +1fi +1 + iFi Space Rover, EPFL, Switzerland,
i i i i +1
ni = Ni + R ni +1 + p Ci × Fi + p i +1 × R fi +1
i i i i i +1 ICRA 2000 video proceedings
i +1 i +1

Gravity: set v 0 = 1G
0
τ i = i niT i Zi

Lagrange Equations
d ∂L ∂L
( )− =τ
dt ∂ q ∂q
Lgrangian Kinetic Energy
L = K −U
Potential Energy
Since U = U (q)
d ∂ K ∂ K ∂U
( )− + =τ
dt ∂ q ∂q ∂q
Inertial forces Gravity vector

Lagrange Equations Inertial forces


d ∂K ∂K 1
d ∂K ∂K ∂U ( )− =τ −G K = qT M (q) q
( )− = τ − G; G = dt ∂ q ∂q 2
dt ∂ q ∂q ∂q ∂K ∂ 1 T
= [ q M ( q ) q ] = M (q) q
Inertial forces ∂ q ∂ q 2
d ∂K d
( )= ( M q ) = M q + M q
dt ∂ q dt
M (q)q + V (q, q ) = τ − G(q) ⎡ T
⎢ q
∂M ⎤
q
∂ q1 ⎥
d ∂K ∂K ⎢
−1⎢

( )− = M q + Mq #  + V ( q , q )
⎥= M q
dt ∂ q ∂q 2⎢
∂M ⎥
⎢ q T q ⎥
⎢⎣ ∂ qn ⎥⎦

6
∂K ∂ 1 Equations of Motion
= M q ⎡⎢ K = mx 2 ; ( mx 2 ) = mx ⎤⎥
1

∂ q ⎣ 2 ∂ x 2 ⎦ ⎡ T ∂M ⎤
⎢ q q
∂ q1 ⎥
K=
1 T
q M (q)q d ∂K ∂K ⎢
−1⎢

2 ( )− = M q + Mq #  + V ( q , q )
⎥= M q
1 dt ∂ q ∂q 2⎢
∂M ⎥
v = M 1/ 2 q → K = v T v ⎢ q T q ⎥
2 ⎣⎢ ∂ qn ⎥⎦
∂ K ∂ K ∂v
= = M 1/ 2 v = Mq
∂ q ∂ v ∂ q M (q)q + V (q, q ) + G(q) = τ
1
∂ 1 T
( v v) = v M 1/ 2 M(q): K = qT M q M (q) ⇒ V (q, q)
∂v 2 2

Equations of Motion Kinetic Energy


ωi vci
Work done by external forces to
Link i bring the system from rest to its
Pci current state.

Total Kinetic Energy: K v F 1


m K = mv 2
2
1
K = ∑K Link i ≡ qT M q τ ω 1
2 K = ω T IC ω
IC 2

Equations of Motion Explicit Form Equations of Motion Explicit Form


ωi vci ωi vci

Link i Link i

Pci Pci
Generalized Coordinates q
1
K i = ( mi vCT i vCi + ω iT I C iω i ) Generalized Velocities q
2 Kinetic Energy 1
n Quadratic Form of K = qT M q
Total Kinetic Energy K = ∑Ki Generalized Velocities 2
1 T 1 n
q M q ≡ ∑ ( mi vCTi vCi + ω iT I C iω i )
i=1

2 2 i =1

7
Equations of Motion Explicit Form Equations of Motion Explicit Form
ωi vci ωi vci

Link i Link i

Pci Pci
vCi = J vi q
ωC = Jω q
1 ⎡ n ⎤
i i
1 T
1 T 1 n q M q = q T ⎢ ∑ ( mi J vT J v + J ωT I C i J ω ) ⎥ q
q M q = ∑ ( mi vCT i vCi + ωiT I Ci ωi ) 2 2 ⎣ i =1 i i i i

2 2 in=1
1 n
= ∑
2 i =1
( mi q T J vTi J vi q + q T J ωTi I C i J ωi q ) M = ∑ ( mi J vTi J vi + J ωTi I C i J ωi )
i =1

Equations of Motion Explicit Form


ωi vci

⎡ m11 m12 " m1n ⎤ Link i

⎢m m22 " m2 n ⎥⎥
Pci
vCi = J vi q
M ( q ) = ⎢ 21 ωC = Jω q
( n×n )
⎢ # # # # ⎥ i i

⎢ ⎥ ∂ pC ∂ pC ∂ pC
⎣⎢ mn1 mn 2 " mnn ⎦⎥ Jv = [ " 0 0 " 0]
i i i
i
∂ q1 ∂ q2 ∂ qi
Jω = [ε1 z1 ε 2 z2 " ε i zi 0 0 " 0]
i

∂m11
Vector V ( q, q ) Centrifugal & Coriolis Forces Vector V ( q, q ) ∂M
∂ q1
∂q1
LMq FG m m121 IJ q OP
Lq M q OP = FG m IJ
111

MM FH mm KP
T
T
m 12
 q − 1 M
V=M
11
q −
1 m221
2 Nq M q Q H m K IJ q P
q1 121
T
m 22
MNq GH m
m122
K PQ
q2 12 2 T 112

122 m222
m 11 = m111q1 + m112q2

⎛ m11 m12 ⎞ ⎡q1 ⎤ ⎡v1 ⎤ ⎡ g1 ⎤ ⎡τ1 ⎤ ⎡1 ⎤ ∂ m 22


1
⎢ 2 (m111 + m111 − m111 ) 2 (m122 + m122 − m221 ) ⎥ ⎡ q12 ⎤
⎜ ⎟⎢ ⎥ + ⎢ ⎥ + ⎢ ⎥ = ⎢ ⎥ V (q, q ) = ⎢ ⎥⎢ 2⎥ ∂ q2
⎣τ 2 ⎦
⎢ 1 (m + m − m ) 1 (m + m − m )⎥ ⎣ q2 ⎦
⎝ 12
m m22 ⎠⎣q2 ⎦ ⎣v2 ⎦ ⎣ g2 ⎦ ⎣⎢ 2
211 211 112
2
222 222 222
⎦⎥

+
LM m 112 + m121 − m121 OP q q
Nm 212 + m221 − m122 Q 1 2

8
∂mij
Christoffel Symbols ∂qk Potential Energy
1
bijk = ( mijk + mikj − m jki )
Ci
Link i mi
2
V=
LMb 111 b122 q OP LM OP LM
2
1
+
2 b112 OP
q q
pCi
hi
g

Nb 211 b222 q QN Q N
2
2
2 b212 1 2 Q U i = mi g0 hi + U 0
C (q ) B(q )
LMb 1,11 b1, 22 " b1,nn OP LMq OP
2
1 U i = mi ( − g T p Ci ); U = ∑ Ui
C(q)[q ] = M
MM #
b 2 2 ,11 b2, 22 " b2,nn
PP MMq PP
2
2
Gravity Vector
∂U n ∂p C i
# # #
PQ MNq# PQ Gj = = − ∑ ( mi g T ) i

F I
( n×n ) ( n ×1 )

Nb bn, 22 " bn,nn n2 ∂q j i =1 ∂q j m1g


G J
n ,11

LM2b 2 b1,13 " 2 b1,( n −1) n q1q2 OPLM OP


 ] = M
2b
1,12

2 b2 ,13 " 2 b2 ,( n −1) n q1q3


PPMM PP G = − J vT1 d J vT2 " J vTn iGG m# gJJ 2

GH m gJK
2 ,12
B(q ) [qq
( n×
( n −1 ) n
MM #( n−1 ) n
×1 )
# # # #
PQMN PQ
N2 b
) (

2 bn,13 " 2 bn,( n −1) n q( n −1) qn


2 2
n
n ,12

Gravity Vector

c3 g
m2
c2 IC2
cn
m3g
c1 l1
y0
m2g mng
m1
m1g d2
IC1
θ1
x0
G = − ( J vT1 ( m1 g ) + J vT2 ( m2 g ) +"+ J vTn ( m n g ))

Matrix M The matrices Jω and Jω 2 are given by


1

M = m J J v1 + J ω1 I C1 J ω1 + m2 J J v2 + J ω2 I C2 J ω2
T
1 v1
T T
v2
T
Jω 1 = ∈1 z1 0 = and Jω 2 = ∈1 z1 ∈2 z 2
Jv1 and Jv : direct differentiation of the vectors: Joint 1 is revolute and joint 2 is prismatic:
g
Ll c O Ld c O
2
m2
⎡0 0⎤
IC2

= Ml s P; and = Md s P
1 1 2 1
g
MM 0 PP MM 0 PP = ⎢⎢ 0 0 ⎥⎥
0 0 m2 l1
p C1 p C2
1 1 2 1 IC2 1
J ω1 = 1 J ω 2 y0I m1
N Q N Q l1
⎢⎣1 0 ⎥⎦ θ1
C1
d2

In frame {0}, these matrices are: y0 m1


d2
And x0
IC1
⎡−l1s1 0⎤ ⎡−d2s1 c1⎤ ⎡I 0⎤ ⎡I 0⎤
θ1 x0
1 T1
( Jω1 I C1 1
Jω1 ) = ⎢ zz1 ⎥ ; and ( 1JωT2 1IC2 1Jω2 ) = ⎢ zz 2 ⎥
0
Jv1 = ⎢⎢ lc ⎥ 0 ⎢ ⎥
1 1 0⎥; and Jv2 = ⎢ d2c1 s1⎥
⎣ 0 0 ⎦ ⎣ 0 0 ⎦
⎢⎣ 0 0⎥⎦ ⎢⎣ 0 0⎥⎦
This yields
Lm l 0OP; and m ( J
2
Lm d 2
OP
Finally,
M=
LMm l 2
11 + I zz1 + m2 d22 + I zz 2 OP 0
)=M )=M
0
N m Q
0 T 0 11 0 T 0 2 2
m1 ( J J v1 J v2
v1
N 0 0Q 2 v2
N 0 m2 Q 0 2

9
Centrifugal and Coriolis Vector V Vector V
LM2m d OP θ d + LM 0 0OP LMθ OP. 2
1
c h V=
2 2 1
bi , jk =
2
mijk + mikj − m jki
N 0 Q N− m d 0Q Nd Q
1 2
2 2
2
2
∂ m ij The Gravity Vector G
where m ijk = ; withbiii = 0 and biji = 0 for i > j
∂q k
G = − J vT1 m1g + J vT2 m2 g .
For this manipulator, only m11 is configuration dependent
- function of d2. This implies that only m112 is non-zero, In frame {0}, g
0
= 0 a −g 0 f T
and the gravity vector is
m112 = 2 m 2 d 2 .
OP LM− m0 gOP − LM− d s OP LM OP
g m2
Matrix B LM2b OP = LM2m d OP.
IC2
LM−l s l1c1 0 d2 c1 0
0

0Q M
MN 0 PPQ N c Q MMN PP
G=− − m2 g
0 1 1 2 1
B= l1
N0
112 2 2

N0Q N 0 Q y0I m1 0 1
1 s1 0
0 Q
Matrix C
C=M
L 0 b OP = LM 0 122 0OP θ C1
d2
and
Nb 0 Q N − m d 211 2 2 0 Q 1
.
x0 0
G=
LMbm l + m d ggc OP
11 2 2 1

Matrix V L2m d OP θ d + LM 0 0 O Lθ O


2
N m gs Q
0 PQ MNd PQ
V=M
2 2 1 2 1

N 0 Q N− m d 1 2
2 2
2
2
.

Equations of Motion

LMm l + I + m d + I 0 OP LMθ OP
2
11 zz1 2
2
2 zz 2 1

N 0 m Q Nd Q 2 2

+M
L2m d OP θ d + LM 0 0OP LMθ OP
2 2
2
1 g m2

N 0 Q N− m d 0Q Nd Q
1 2
IC2
2
2 2 2 l1

Lbm l + m d ggc OP = Lτ O. y0I m1


d2
+M
N m gs Q MNτ PQ
11 2 2 1 1 C1

2 1 2
θ1 x0

10

You might also like