6 Przykład 2. Platforma mobilna klasy (1,1)
Platforma mobilna klasy (1,1), nazywana również samochodem kinematycznym, jest przykładem platformy z ograniczoną mobilnością.
Figure
Figure 2: Schemat kinematyczny platformy mobilnej klasy (1,1).
6.1 Kinematyka
6.1.1 Kinematyka we współrzędnych uogólnionych
Na początek wybieramy wektor zmiennych stanu
q = | ⎛ ⎜ ⎜ ⎜ ⎜ ⎜
⎜ ⎜ ⎜ ⎜ ⎝
|
| ⎞ ⎟ ⎟ ⎟ ⎟ ⎟
⎟ ⎟ ⎟ ⎟ ⎠
|
, |
| (72) |
gdzie:
- (x,y) - położenie początku układu lokalnego stowarzyszonego z robotem w układzie bazowym,
- θ - orientacja platformy,
- β - kąt skrętu kierownicy,
- φi - kąt obrotu i-tego koła.
W przypadku platformy mobilnej klasy (1,1) wprowadzamy do modelu zarówno ograniczenia na brak poślizgów wzdłużnych - jak i poprzecznych - wszystkich kół.
Ograniczenia te dla poszczególnych kół, zgodnie z oznaczeniami na rysunku, dane są odpowiednio wzorami:
- Ograniczenia na brak poślizgów poprzeczych kolejnych kół
|
|
⋅
x
|
sin(θ+β) − |
⋅
y
|
cos(θ+β)=0, |
|
|
⋅
x
|
2
|
sinθ− |
⋅
y
|
2
|
cosθ = 0, |
|
|
⋅
x
|
3
|
sinθ− |
⋅
y
|
3
|
cosθ = 0, |
|
|
|
| (73) |
- Ograniczenia na brak poślizgów wzdłużnych kolejnych kół
|
|
⋅
x
|
cos(θ+β) + |
⋅
y
|
sin(θ+β) − Rφ1=0, |
|
|
⋅
x
|
2
|
cosθ+ |
⋅
y
|
2
|
sinθ− Rφ2=0, |
|
|
⋅
x
|
3
|
cosθ+ |
⋅
y
|
3
|
sinθ− Rφ3=0. |
|
|
|
| (74) |
Następnym krokiem jest wyrażenie równań (
74) i (
75) za pomocą zmiennych stanu. Do tego celu wykorzystujemy widoczne na rysunku zależności
|
|
x2=x1+bsinθ, y2=y1−bcosθ, |
|
x3=x1−bsinθ, y3=y1+bcosθ. |
|
|
|
| (75) |
Różniczkując (
76) po czasie otrzymujemy:
|
|
⋅
x
|
1
|
= |
⋅
x
|
+l |
⋅
θ
|
sinθ, |
⋅
y
|
1
|
= |
⋅
y
|
−l |
⋅
θ
|
cosθ, |
|
|
⋅
x
|
2
|
= |
⋅
x
|
1
|
+b |
⋅
θ
|
cosθ, |
⋅
y
|
2
|
= |
⋅
y
|
1
|
+b |
⋅
θ
|
sinθ, |
|
|
⋅
x
|
3
|
= |
⋅
x
|
1
|
−b |
⋅
θ
|
cosθ, |
⋅
y
|
3
|
= |
⋅
y
|
1
|
−b |
⋅
θ
|
sinθ. |
|
|
|
| (76) |
Podstawiając powyższe do (
74), (
75), otrzymujemy ograniczenia fazowe w postaci Pfaffa:
| ⎧ ⎪ ⎪ ⎪ ⎪ ⎨
⎪ ⎪ ⎪ ⎪ ⎩
|
|
⋅
x
|
sin(θ+β) − |
⋅
y
|
cos(θ+β)=0, |
|
|
⋅
x
|
cos(θ+β) + |
⋅
y
|
sin(θ+β) − Rφ1=0, |
|
|
⋅
x
|
sinθ− |
⋅
y
|
cosθ+l |
⋅
θ
|
=0, |
|
|
⋅
x
|
cosθ+ |
⋅
y
|
sinθ+b |
⋅
θ
|
− Rφ2=0, |
|
|
⋅
x
|
cosθ+ |
⋅
y
|
sinθ− b |
⋅
θ
|
− Rφ3=0, |
|
|
|
| (77) |
Ograniczenia te, dla podanej na początku kolejności zmiennych w wektorze stanu, zapisujemy w formie macierzowej (
5), gdzie A(q) przybiera postać
A(q) = | ⎡ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎦
|
. |
| (78) |
6.1.2 Kinematyka we współrzędnych pomocniczych
Znalezione w pierwszym podrozdziale ograniczenia, teraz zapisujemy w postaci bezdryfowego układu sterowania (
9). Wpierw określamy liczbę sterowań. Jest ona równa ilości zmiennych stanu pomniejszonej o liczbę nałożonych na układ ograniczeń nieholonomicznych i w tym przypadku wynosi 2. Wektory g
1 i g
2 dobieramy w taki sposób by sterowania miały sens fizyczny
g1= | ⎛ ⎜ ⎜ ⎜ ⎜ ⎜
⎜ ⎜ ⎜ ⎜ ⎝
|
| ⎞ ⎟ ⎟ ⎟ ⎟ ⎟
⎟ ⎟ ⎟ ⎟ ⎠
|
, g2= | ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜
⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝
|
| ⎞ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟
⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠
|
. |
| (79) |
Zatem:
|
⋅
q
|
=G(q)η = | ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
|
. | ⎛ ⎜
⎜ ⎝
|
| ⎞ ⎟
⎟ ⎠
|
, |
| (80) |
przy czym u
1 steruje bezpośrednio kątem skrętu kierownicy β, a u
2 ma sens prędkości liniowej platformy.
6.2 Dynamika
Na rysunku
2 zaznaczono lokalny układ współrzędnych stowarzyszony z platformą mobilną (x
p,y
p). Jest on zaczepiony na środku przodu robota (poza środkiem masy). Przyjmujemy, że lokalne układy związane z każdym z obracających się kół znajdują się w środku danego koła, a ich osie są głównymi osiami bezwładności.
6.2.1 Energia kinetyczna platformy
Przy założeniu, że grubośc platformy jest pomijlnie mała, współrzędne środka masy w lokalnym układzie odniesienia (
17) wynoszą odpowiednio
Moment bezwładności platformy względem osi z
p (lokalnego układu odniesienia) wynosi
Iz=[1/3]Mp((b−[(ω)/2])2+l2).
Powyższe należy podstawić do zależności opisującej energię kinetyczą platformy w układzie bazowym (
16).
Ekp= |
1
2
|
Iz |
⋅
θ
|
+ |
1
2
|
Mp( |
⋅
x
|
2
|
+ |
⋅
y
|
2
|
)+(−Mp |
l
2
|
)( |
⋅
y
|
cosθ− |
⋅
x
|
sinθ) |
⋅
θ
|
. |
| (83) |
Ostatecznie z (
18)
K(ξ) = | ⎡ ⎢ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎦
|
. |
| (84) |
6.2.2 Energia kinetyczna kół
Zgodnie z rysunkiem, parmatery przekształcenia (
20) wynoszą odpowiednio:
Podstawienie powyższego do wzoru () dla kolejnych kół daje następujące zależności na energię kinetyczną
| |
|
|
1
2
|
Izz1( |
⋅
θ
|
+ |
⋅
β
|
)2 + |
1
2
|
M( |
⋅
x
|
2
|
+ |
⋅
y
|
2
|
)+ |
1
2
|
Ixx1 |
⋅
φ
|
2 1
|
, |
| |
| |
|
|
1
2
|
Ixx2 |
⋅
φ
|
2 2
|
+ |
1
2
|
Izz2 |
⋅
θ
|
2
|
+ |
1
2
|
M( b2 |
⋅
θ
|
2
|
+l2 |
⋅
θ
|
2
|
+ |
⋅
x
|
2
|
+ |
⋅
y
|
2
|
+2b |
⋅
θ
|
( |
⋅
y
|
cos(θ− |
Π
2
|
)− |
⋅
x
|
sin(θ− |
Π
2
|
)) |
| |
| |
|
2(−l) |
⋅
θ
|
( |
⋅
y
|
cosθ− |
⋅
x
|
sinθ)), |
| | (86) |
| |
|
|
1
2
|
Ixx3 |
⋅
φ
|
2 3
|
+ |
1
2
|
Izz3 |
⋅
θ
|
2
|
+ |
1
2
|
M( b2 |
⋅
θ
|
2
|
+l2 |
⋅
θ
|
2
|
+ |
⋅
x
|
2
|
+ |
⋅
y
|
2
|
+2b |
⋅
θ
|
( |
⋅
y
|
cos(θ+ |
Π
2
|
)− |
⋅
x
|
sin(θ+ |
Π
2
|
)) |
| |
| |
|
2(−l) |
⋅
θ
|
( |
⋅
y
|
cosθ− |
⋅
x
|
sinθ)), |
| |
|
gdzie I
xx1=I
xx2=I
xx3 = I
xx oraz I
zz1=I
zz2=I
zz3=I
zz, zgodnie z przyjętym we wstępie założeniem o jednakowej masie oraz promieniu każdego z kół.
6.2.3 Energia kinetyczna całego układu
Energia kinetyczna całego układu jest to suma energii kinetycznych wszystkich jego elementów składowych.
Ek= |
⋅
x
|
2
|
|
1
2
|
Mc+ |
⋅
y
|
2
|
|
1
2
|
Mc+ |
⋅
θ
|
2
|
|
1
2
|
Ip + |
⋅
β
|
2
|
|
1
2
|
Izz+ |
⋅
φ1
|
2
|
|
1
2
|
Ixx+ |
⋅
φ2
|
2
|
|
1
2
|
Ixx + |
⋅
φ3
|
2
|
|
1
2
|
Ixx+ |
⋅
x
|
|
⋅
θ
|
A+ |
⋅
y
|
|
⋅
θ
|
B+ |
⋅
β
|
|
⋅
θ
|
Izz, |
| (88) |
gdzie:
M
c=M
p+3M,
I
p=I
z+3I
zz+2Mb
2+2Ml
2,
A=M
p[l/2]sinθ+2Mlsinθ,
B=−M
p[l/2]cosθ−2Mlcosθ.
Przekształcając równanie (
89) do postaci macierzowej (
15), otrzymano następującą macierz formy
M(q) = | ⎡ ⎢ ⎢ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎥ ⎦
|
. |
| (89) |
Energia potencjalna układu jest stała, zgodnie z założeniem o niedeformowalności kół, a więc nie wpływa na równania ruchu. Funkcja Lagrange'a jest zatem równa energii kinetycznej układu L(q,
· q) = E
k(q,
· q).
6.2.4 Równania dynamiki we współrzędnych uogólnionych
Najpierw należy wyliczyć wyrazy potrzebne do skorzystania ze wzoru (
26), czyli
| |
|
|
⋅⋅
x
|
Mc+ |
⋅⋅
θ
|
A+l |
⋅
θ
|
2
|
cosθ( |
Mp
2
|
+2M), |
| |
| |
|
|
⋅⋅
y
|
Mc+ |
⋅⋅
θ
|
B+l |
⋅
θ
|
2
|
sinθ( |
Mp
2
|
+2M), |
| |
| |
|
|
⋅⋅
θ
|
Ip+ |
⋅⋅
x
|
A+ |
⋅⋅
y
|
B+ |
⋅⋅
β
|
Izz+l |
⋅
x
|
|
⋅
θ
|
cosθ( |
Mp
2
|
+2M)+l |
⋅
y
|
|
⋅
θ
|
sinθ( |
Mp
2
|
+2M), |
| |
| |
|
| |
| |
|
| | (90) |
| |
|
| |
| |
|
| |
| |
|
|
∂L
∂y
|
= |
∂L
∂β
|
= |
∂L
∂φ1
|
=0= |
∂L
∂φ2
|
= |
∂L
∂φ3
|
=0, |
| |
| |
|
|
⋅
x
|
|
⋅
θ
|
Mp |
l
2
|
cosθ+ |
⋅
x
|
|
⋅
θ
|
2Mlcosθ+ |
⋅
y
|
|
⋅
θ
|
Mp |
l
2
|
sinθ+ |
⋅
y
|
|
⋅
θ
|
2Mlsinθ. |
| |
|
Równania Lagrange'a dla układu swobodnego przyjmują więc postać
| ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨
⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩
|
|
⋅⋅
x
|
Mc+ |
⋅⋅
θ
|
A+l |
⋅
θ
|
2
|
cosθ( |
Mp
2
|
+2M)=0, |
|
|
⋅⋅
y
|
Mc+ |
⋅⋅
θ
|
B+l |
⋅
θ
|
2
|
sinθ( |
Mp
2
|
+2M)=0, |
|
|
⋅⋅
θ
|
Ip+ |
⋅⋅
x
|
A+ |
⋅⋅
y
|
B+ |
⋅⋅
β
|
Izz=0, |
|
|
|
|
|
|
|
| (91) |
Model dynamiki platformy mobilnej klasy (1,1) przedstawiamy w uporządkowanej postaci (
27), gdzie wektor grawiacji D(q) ≡ 0. Macierz inercji układu tożsama jest wcześniej obliczonej macierzy formy M(q). Macierz Coriolisa wyznaczamy natomiast ze wzoru (
69).
C(q, |
⋅
q
|
) = | ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣
|
| | | | | | |
| | | | | | |
|
1
2
|
l |
⋅
θ
|
cosθ( |
Mp
2
|
+2M) |
|
|
1
2
|
l |
⋅
θ
|
sinθ( |
Mp
2
|
+2M) |
|
|
1
2
|
l( |
Mp
2
|
+2M)( |
⋅
x
|
cosθ+ |
⋅
y
|
sinθ) |
| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦
|
. |
| (92) |
Na rozpatrywany układ działa wektor uogólnionych sil zewnętrznych u=(u
a, u
b)
T. Macierz B występująca w równaniach dynamiki, informuje nas, na które współrzędne dana siła działa bezpośrednio
B = | ⎡ ⎢ ⎢ ⎢ ⎢ ⎢
⎢ ⎢ ⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥ ⎥ ⎥
⎥ ⎥ ⎥ ⎥ ⎦
|
. |
| (93) |
6.2.5 Równania dynamiki we współrzędnych pomocniczych
Znając opis kinematyki oraz dynamiki układu we współrzędnych uogólnionych oraz postać bezdryfowego układu sterowania (
81), można równania dynamiki wyrazić we współrzędnych pomocniczych (
30). Dokonując stosownych podstawień otrzymuje się D
*(q)=0 oraz
M* = GT(q)M(q)G(q) = | ⎡ ⎢ ⎢ ⎢
⎢ ⎢ ⎣
|
| ⎤ ⎥ ⎥ ⎥
⎥ ⎥ ⎦
|
. |
| (94) |
C* = GT(q)(C(q,G(q)η)G(q)+M(q) |
⋅
G
|
(q,G(q)η)] = | ⎡ ⎢ ⎢
⎢ ⎣
|
| ⎤ ⎥ ⎥
⎥ ⎦
|
. |
| (95) |
B* = GT(q)B(q) = | ⎡ ⎢ ⎢
⎢ ⎣
|
| ⎤ ⎥ ⎥
⎥ ⎦
|
. |
| (96) |
gdzie:
M
1,1=M
c+2sin
2β([(M
p)/2]+2M)+[(sin
2β)/l]I
p+I
xx[1/(R
2)](1+cos
2β+b
2sin
2β),
C
1,1=cosβ[(sin
2β)/l]u
2([(M
p)/2]+2M)+[1/2][(sinβ)/l]I
pu
1cosβ−u
1sinβ([(2cosβ)/(R
2)]I
xx+[(2bsinβ)/(R
2l)]).