Symulacja dynamiki pªaskich ªa«cuchów kinematycznych

Transkrypt

Symulacja dynamiki pªaskich ªa«cuchów kinematycznych
Symulacja dynamiki
pªaskich ªa«cuchów kinematycznych
Raport nr 05-06 Instytutu Automatyki i Informatyki Stosowanej
Paweª Wawrzy«ski
listopad 2005
Wersja zremasterowana w sierpniu 2009
Spis tre±ci
1 Sformuªowanie problemu i zaªo»enia
3
I Endogeniczne przyspieszenia k¡towe
4
2 Oznaczenia
4
3 Symulacja
5
4 Siªy dziaªaj¡ce na obiekt poza jego dynamik¡, obliczanie Fie
6
5 Iteracja
7
4.1
4.2
4.3
5.1
5.2
Grawitacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Przykªadane momenty . . . . . . . . . . . . . . . . . . . . . .
Opór . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Krok 1. Funkcja fei . . . . . . . . . . . . . . . . . . . . . . . . . 8
Krok 2. Funkcja e
ai . . . . . . . . . . . . . . . . . . . . . . . . . 10
6 Przypadki szczególne
6.1
6.2
6.3
6.4
Zª¡cze
Zª¡cze
Zª¡cze
Zª¡cze
7 Zderzenia
7.1
7.2
6
6
7
prowadzone . . . . . . . . . . . . . .
ko«cz¡ce . . . . . . . . . . . . . . . .
poruszaj¡ce si¦ po prostej . . . . . .
ko«cz¡ce i poruszaj¡ce si¦ po prostej
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
11
12
13
14
Wbicie si¦ w punkt . . . . . . . . . . . . . . . . . . . . . . . . 14
Odrywanie si¦ od punktu . . . . . . . . . . . . . . . . . . . . . 16
8 Wyznaczanie siª powoduj¡cych zadane przyspieszenie
16
II Egzogeniczne przyspieszenia k¡towe
20
9 Zª¡cze aktywne
20
10 Iteracja
22
11 Przypadki szczególne
25
12 Symulacja z ograniczeniami na k¡ty
33
III
40
8.1
8.2
Zale»no±¢ momenty przyspieszenia k¡towe . . . . . . . . . . 18
Wymuszenie przyspieszenia k¡towego . . . . . . . . . . . . . . 18
11.1 Zª¡cze prowadzone i aktywne nast¦pne . . . . . . . . . . . . . 26
11.2 Zª¡cze prowadzone i nieaktywne nast¦pne . . . . . . . . . . . . 29
11.3 Zª¡cze nieprowadzone i nieaktywne nast¦pne . . . . . . . . . . 31
12.1 K¡t traa na ograniczenie, zwarcie . . . . . . . . . . . . . . . 33
12.2 Anomalie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Przykªadowe obiekty
13 Wahadªa z jednym nieruchomym zª¡czem
40
14 Wahadªa z jednym zª¡czem na prostej
44
Literatura
50
13.1 Jedno ogniwo . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
13.2 Dwa ogniwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
13.3 Trzy ogniwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
14.1 Jedno ogniwo . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
14.2 Dwa ogniwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
14.3 Trzy ogniwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2
1 Sformuªowanie problemu i zaªo»enia
W niniejszym dokumencie zostanie przedstawiony pewien algorytm symulowania pªaskich ªa«cuchów kinematycznych. Jest on oparty na metodzie
Eulera-Newtona. Przyjmuje si¦, »e w ci¡gu kwantu czasu przyspieszenia
w obiekcie s¡ staªe. Istot¡ algorytmu jest zatem znalezienie tych przyspiesze«.
Koszt obliczeniowy tej operacji jest liniowy w liczbie elementów obiektu.
Rozwa»amy pªaski ªa«cuch kinematyczny w postaci pr¦tów (ogniw) poª¡czonych obrotowymi stopniami swobody (zª¡czami). Ogniwa s¡ sztywne,
a caªa masa obiektu jest rozlokowana w zª¡czach. Przeanalizowane s¡ zª¡cza
kilku typów: poruszaj¡ce si¦ bez ogranicze«, poruszaj¡ce si¦ po prostej,
poruszaj¡ce si¦ z zadanym przyspieszeniem. Ponadto k¡t mi¦dzy ogniwami
s¡siaduj¡cymi ze zª¡czem mo»e by¢ staªy lub zmienia¢ stosowanie do indukowanych w ªa«cuchu przyspiesze« zª¡cz.
Napisanie niniejszego dokumentu byªo stymulowane potrzeb¡ sformuªowania metodologii pozwalaj¡cej symulowanie zªo»onych obiektów dynamicznych
do testowania algorytmów uczenia si¦ przez wzmacnianie. Powstaje pytanie
dlaczego tymi obiektami maj¡ by¢ dwuwymiarowe ªa«cuchy kinematyczne.
Czy nie lepiej aby byªy to ogólne trójwymiarowe obiekty? Otó» po pierwsze, symulowanie ogólnych trójwymiarowych ukªadów dynamicznych jest
znacznie bardziej skomplikowane. Po drugie, dla mechanizmu uczenia si¦
przez wzmacnianie nie jest istotne, czy ma on do czynienia z obiektami dwuczy trójwymiarowym o ile ich dynamika ma podobn¡ zªo»ono±¢.
3
Cz¦±¢ I
Endogeniczne przyspieszenia
k¡towe
W Cz¦±ci I b¦dziemy rozwa»a¢ problem symulacji obiektu, w którym nie
istniej¡ ograniczenia na k¡ty mi¦dzy ogniwami. Istnienie takich ogranicze«
tworzy nowe problemy, które przedyskutujemy w Cz¦±ci II.
2 Oznaczenia
Indeksy:
i = 1, 2, . . . , n indeksy zª¡cz,
Staªe:
li odlegªo±¢ mi¦dzy i-tym a i + 1-szym zª¡czem, dªugo±¢ i-tego ogniwa,
mi masa i-tego zª¡cza.
Stan obiektu na pocz¡tku kwantu czasu:
xi poªo»enie i-tego zª¡cza w staªym ukªadzie odniesienia (SUO),
ri jednostkowy wektor wskazuj¡cy kierunek od i-tego do i+1-szego zª¡cza,
vi pr¦dko±¢ i-tego zª¡cza w SUO,
Fie siªa zewn¦trzna, dziaªaj¡ca na zª¡cze poza dynamik¡ obiektu: grawitacja, siªy oporu, przykªadane momenty itd.,
Fid siªa napr¦»enia przykªadana do i-tego zª¡cza poprzez i−1-sze ogniwo;
poniewa» ka»da siªa indukuje siª¦ dziaªaj¡c¡ przeciwnie, wi¦c caªkowita
d
.
siªa dziaªaj¡ca na i-te zª¡cze wynosi Fie + Fid − Fi+1
Funkcje oddziaªywa« w obiekcie:
e
ai (·) wektor przyspieszenia i-tego zª¡cza jako funkcja siªy dziaªaj¡cej
z i − 1-szego zª¡cza,
fei (·) wektor siªy, któr¡ i-te zª¡cze dziaªa na i + 1-sze jako funkcja siªy
dziaªaj¡cej z i − 1-szego zª¡cza. Zachodzi
d
Fi+1
= fei (Fid ).
4
Caªy problem polega w istocie na tym, aby wyprowadzi¢ e
ai oraz fei jako
funkcje liniowe:
e
ai (F ) = Ai F + bi
fei (F ) = Ci F + di
(1)
(2)
B¦dzie si¦ to odbywaªo iteracyjnie: e
ai oraz fei b¦dzie wyznaczane na podstawie e
ai+1 oraz fei+1 .
Rzutowanie wektora na kierunek.
Niech r jest wektorem o jednostkowej dªugo±ci. Wyznacza on pewien
kierunek. Dªugo±¢ rzutu dowolnego wektora y na ten kierunek wynosi
y T r = rT y.
Wart¡ uwagi zale»no±ci¡ jest
(y T r)r = rrT y,
która wyznacza rzut wektora y na wektor jednostkowy r. Pozwala ona
niekiedy zamieni¢ mno»enie przez skalar na mno»enie czysto wektorowe.
3 Symulacja
Celem symulacji jest obliczenie aproksymacji poªo»e« i pr¦dko±ci zª¡cz w dyskretnych momentach czasu 0, δ, 2δ, . . . , gdzie δ to g¦sto±¢ dyskretyzacji czasu.
Poªo»enia i pr¦dko±ci w kolejnej chwili obliczane s¡ w nast¦puj¡cej p¦tli:
1. Dla i = n, n − 1, . . . , 1 wyznacz e
ai , fei czyli Ai , bi , Ci , di .
d
2. Przyjmij F1d = 0 i dla i = 1, 2, . . . , n − 1 oblicz Fi+1
= fe(Fid ).
3. Dla i = 1, 2, . . . , n oblicz
1
xi := xi + δvi + δ 2e
ai (Fid )
2
vi := vi + δe
ai (Fid ).
4. Dla i = 1, 2, . . . , n − 1, oblicz ri := (xi+1 − xi )/kxi+1 − xi k.
5. Ewentualnie popraw bª¦dy numeryczne.
5
Niedokªadno±ci numeryczne mog¡ sprawi¢, »e przestan¡ by¢ speªnione
warunki, które stan obiektu musi speªnia¢, mianowicie
kxi−1 − xi k = li ,
(vi+1 − vi )T (xi+1 − xi ) = 0.
W zasadzie nale»aªoby po ka»dej iteracji przywraca¢ speªnienie powy»szych
równa«. Jest to jednak kosztowne obliczeniowo. Dlatego rozwi¡zaniem, które
zazwyczaj wystarcza jest modykacja xi oraz vi tak aby bª¦dy powy»szych
równo±ci nieco zmniejszy¢ np. w przybli»eniu 2-krotnie. Systematyczne
podej±cie do zagadnienia bª¦dów numerycznych zostanie zaproponowane w sekcji 12.2.
4 Siªy dziaªaj¡ce na obiekt poza jego dynamik¡,
obliczanie Fie
Poza dynamik¡ obiektu istnieje kilka ¹ródeª siª dziaªaj¡cych na i-te zª¡cze.
Te ¹ródªa to grawitacja, przykªadane momenty, opór i by¢ mo»e inne, zaprojektowane przez konstruktora. Fie jest sum¡ takich siª.
4.1 Grawitacja
Siªa grawitacyjna oddziaªuj¡ca i-te zª¡cze wynosi
·
¸
0
−gmi
gdzie g = 9.81ms−2 to ziemskie przyspieszenie grawitacyjne.
4.2 Przykªadane momenty
Zdeniujmy
ri∗
jako taki wektor jednostkowy, »e k¡t mi¦dzy ri∗ a ri wynosi π/2. ri∗ jest to
wi¦c wektor ri skr¦cony o k¡t prosty w lewo. Jednocze±nie zdeniujmy
Li = ri∗ /li .
Przyªo»enie momentu τi do i-tego zª¡cza jest równoznaczne z przyªo»eniem
nast¦puj¡cych siª (Góra Rysunku 1):
1. Do zª¡cza i − 1, siªa ri∗ τi /li = Li−1 τi .
2. Do zª¡cza i, siªa −ri∗ τi /li = −Li−1 τi .
3. Do zª¡cza i, siªa −ri∗ τi /li = −Li τi .
4. Do zª¡cza i + 1, siªa ri∗ τi /li = Li τi .
6
4.3 Opór
Zdeniujmy pr¦dko±¢ k¡tow¡ i-tego ogniwa jako
ωio = (ri∗ )T (vi+1 − vi )/li = LTi (vi+1 − vi ).
Pr¦dko±¢ k¡towa i-tego zª¡cza jest ró»nic¡ pr¦dko±ci k¡towych s¡siednich ogniw i wynosi
o
.
ωiz = ωio − ωi−1
Mo»na rozwa»a¢ siª¦ oporu tocznego zwi¡zan¡ z pr¦dko±ci¡ k¡tow¡ i-tego
zª¡cza. Jest ona równoznaczna przyªo»eniu do tego» zª¡cza momentu o wielko±ci
−kω ωiz
gdzie kω jest pewnym dodatnim skalarem.
Mo»na tak»e rozwa»a¢ opór zwi¡zany z bezwzgl¦dn¡ pr¦dko±ci¡ i-tego
zª¡cza, np. opór powietrza. Siªa taka wynosi
−kv vi kvi k
gdzie kv to dodatni skalar.
5 Iteracja
Caªe poni»sze wyprowadzenie opiera si¦ na poni»szych obserwacjach:
1. Moment przykªadany w zª¡czu mo»na przetªumaczy¢ na zwykªe siªy
dziaªaj¡ce na dane zª¡cze i zª¡cza s¡siednie (Góra Rysunku 1). W zwi¡zku z tym, je±li w zª¡czach przykªadane s¡ znane momenty, mo»emy
stosownie do nich wyznaczy¢ siªy Fid i dalej, niejako, nie zajmowa¢ si¦
tymi momentami.
2. Siªa przykªadana do zª¡cza z jednej strony ukªadu propaguje si¦ na
drug¡ stron¦ jedynie wzdªu» ogniwa z drugiej strony zª¡cza (Dóª Rysunku 1).
d
jed3. i-te zª¡cze dziaªaj¡c poprzez i-te ogniwo na zª¡cze i + 1 siª¡ Fi+1
d
nocze±nie jest przedmiotem dziaªania siªy −Fi+1 (wynika to z III prawa
dynamiki Newtona, Rysunek 2).
Powiedzmy zatem, »e znamy funkcj¦
d
d
+ bi+1
) = Ai+1 Fi+1
e
ai+1 (Fi+1
Zadanie polega na wyznaczeniu funkcji e
ai (1) oraz fei (2), których argumentem
d
jest wektor Fi oznaczaj¡cy arbitraln¡ siª¦ dziaªaj¡c¡ na zª¡cze i. Najpierw
zostanie wyznaczona funkcja fei a potem e
ai .
7
Rysunek 1: Siªy dziaªaj¡ce na zª¡cza. Góra: Przyªo»enie momentu siªy do
i-tego zª¡cza jest równoznaczne z przyªo»eniem zwykªych siª do danego
zª¡cza i s¡siadów. Siªy te, wraz siªami grawitacyjnymi skªadaj¡ si¦ na siªy
zewn¦trzne oznaczane przez F e . Dóª: Poza siªami z zewn¡trz (grawitacj¡
i przykªadanymi momentami), zª¡cza zachowuj¡ si¦ jakby byªy zupeªnie swobodne. Oznacza to, »e siªa przyªo»ona do i − 1-szego zª¡cza oddziaªuje na
i-te zª¡cze jedynie skªadow¡ równolegª¡ do i − 1-szego ogniwa.
5.1 Krok 1. Funkcja fei .
d
Siªa Fi+1
z jak¡ i-te zª¡cze dziaªa na i + 1-sze jest równolegªa do ri i wynosi
d
= ri φi .
Fi+1
gdzie φi to pewien skalar, którego b¦dziemy teraz poszukiwa¢ jako funkcji
argumentu Fid . Przyjmijmy dla uproszczenia oznaczenie
Fid = F.
Dªugo±¢ rzutu przyspieszenia i-tego zª¡cza na kierunek ri wynosi (Rysunek
2)
d
F + Fie − Fi+1
F + Fie − ri φi
riT
= riT
.
mi
mi
8
Rysunek 2: Siªy dziaªaj¡ce na i-te zª¡cze.
Dªugo±¢ rzutu przyspieszenia i + 1-szego zª¡cza na ri wynosi za±
¡
¢
d
riT Ai+1 Fi+1
+ bi+1 = riT (Ai+1 ri φi + bi+1 ) .
Ró»nica pr¦dko±ci s¡siednich zª¡czy sprawia, »e poruszaj¡ si¦ one wzgl¦dem siebie z przyspieszeniem wzdªu» ª¡cz¡cego je ogniwa. Dªugo±¢ rzutu
tej ró»nicy przyspiesze« na ri wynosi1
ei = kvi+1 − vi k2 /li .
(3)
Poni»ej zapiszemy, kluczowe dla naszych rozwa»a«, równanie ogniwa. Jest
ono konsekwencj¡ faktu, »e dªugo±¢ ogniwa pozostaje staªa. W zwi¡zku z tym
(i) ró»nica vi+1 − vi jest prostopadªa do ri , oraz (ii) dªugo±¢ rzutu ró»nicy
przyspiesze« s¡siednich zª¡cz na ri jest równa ei . Mamy
riT
F + Fie − ri φi
− riT (Ai+1 ri φi + bi+1 ) = ei .
mi
(4)
Z równania ogniwa wynika natychmiast
φi =
riT (F + Fie )/mi − riT bi+1 − ei
.
riT ri /mi + riT Ai+1 ri
1 Krótkie
(5)
preliminaria zyczne: Powiedzmy, »e punkt porusza si¦ po okr¦gu o promieniu
l, przy czym warto±¢ bezwzgl¦dna jego pr¦dko±ci nie zmienia si¦ i wynosi kvk. Jakie jest
przyspieszenie takiego punktu? Otó» jest ono skierowane do ±rodka okr¦gu a jego wielko±¢
wynosi kvk2 /l. Wzór (3) jest prostym rozszerzeniem tych rozwa»a« na sytuacj¦, w której
dwa punkty poruszaj¡ si¦ wzgl¦dem siebie ale odlegªo±¢ mi¦dzy nimi jest staªa.
9
d
Bior¡c pod uwag¦, »e Fi+1
= ri φi oraz riT ri = 1, powy»szy wyraz deniuje
funkcj¦ fei , mianowicie
ri riT
1 + mi riT Ai+1 ri
ri riT Fie − mi ri (riT bi+1 + ei )
mi ri (riT bi+1 + ei )
e
di =
=
C
F
−
.
i i
1 + mi riT Ai+1 ri
1 + mi riT Ai+1 ri
Ci =
(6)
(7)
5.2 Krok 2. Funkcja eai .
Aby wyznaczy¢ funkcj¦ e
ai , zauwa»amy, »e przyspieszenie i-tego zª¡cza wynosi
F + Fie − ri φi
m
µ i
¶
I
ri riT /mi
=
−
F
mi riT ri + mi riT Ai+1 ri
µ e
¶
Fi
ri riT Fie /mi − ri (riT bi+1 + ei )
+
−
.
mi
riT ri + mi riT Ai+1 ri
A zatem funkcj¦ e
ai deniuj¡ macierz i wektor
I
ri riT /mi
−
mi 1 + mi riT Ai+1 ri
ri (riT bi+1 + ei )
Fie ri riT Fie /mi − ri (riT bi+1 + ei )
e
−
= Ai Fi +
.
bi =
mi
1 + mi riT Ai+1 ri
1 + mi riT Ai+1 ri
Ai =
(8)
(9)
6 Przypadki szczególne
W niniejszej sekcji rozwa»ymy zª¡cza, które s¡ w jakim± sensie wyj¡tkowe.
6.1 Zª¡cze prowadzone
W niniejszym podrozdziale zajmiemy si¦ zª¡czem, którego przyspieszenie jest
okre±lone poza ukªadem. Zª¡cze takie b¦dziemy nazywali prowadzonym. Najprostszy przykªad to zª¡cze nieruchome, np. tkwi¡ce sztywno w jakim± obiekcie. Wyniki, które tu wyprowadzimy posªu»¡ tak»e do modelowania takich
zjawisk jak zderzenia zª¡cz z innymi obiektami.
Niech wymuszon¡ warto±ci¡ przyspieszenia b¦dzie aw
i . Oczywi±cie mamy
i
wobec
tego
e
ai ≡ aw
i
Ai = 0
bi = aw
i .
10
Jednocze±nie pozostaje w mocy zale»no±¢ mi¦dzy przyspieszeniami s¡siednich
zª¡cz, mianowicie dªugo±¢ rzutu ich ró»nicy na ri musi by¢ równa ei , czyli
T
d
riT aw
i − ri (Ai+1 Fi+1 + bi+1 ) = ei .
d
Poniewa» Fi+1
równa si¦, jak dotychczas, φi ri , to ªatwo wywie±¢, »e
d
= ri
Fi+1
T
riT aw
i − ri bi+1 − ei
riT Ai+1 ri
A wobec tego
Ci = 0
di =
T
ri (riT aw
i − ri bi+1 − ei )
.
riT Ai+1 ri
Nast¦pne zª¡cze prowadzone lub zª¡cze ko«cz¡ce
Powstaje pytanie co si¦ dzieje je±li prowadzone jest zª¡cze i-te oraz i + 1sze. Ich przyspieszenia mog¡ wówczas pozostawa¢ w konikcie w tym sensie,
»e mog¡ generowa¢ zmian¦ dªugo±ci i-tego ogniwa. Problem ten zmusza
nas do okre±lenia priorytetów: czy, w razie koniktu, wa»niejsze jest wymuszone przyspieszenie czy dªugo±¢ ogniwa. B¦dziemy zakªadali, »e to pierwsze.
Dla i-tego zª¡cza prowadzonego, je±li zª¡cze i + 1-sze jest tak»e prowadzone,
b¦dziemy przyjmowali
di = 0.
Oczywi±cie b¦dziemy post¦powali podobnie je±li i + 1-szego zª¡cza nie ma
wcale czyli zª¡cze i-te jest ko«cz¡ce.
6.2 Zª¡cze ko«cz¡ce
Zª¡cze i-te rozumiemy jako ko«cz¡ce wówczas gdy nie istnieje i-te ogniwo.
Wtedy oczywi±cie nie ma sensu mówi¢ o sile dziaªaj¡cej na i + 1-sze zª¡cze
i mo»na ±miaªo przyj¡¢
fei ≡ 0,
Ci = 0,
di = 0.
Tymczasem przyspieszenie i-tego zª¡cza wynosi
e
ai (F ) =
a zatem
Ai =
F + Fie
,
mi
I
,
mi
11
bi =
Fie
.
mi
6.3 Zª¡cze poruszaj¡ce si¦ po prostej
W niniejszej podsekcji analizujemy dynamik¦ zª¡cza, którego ruch jest ograniczony do prostej. Takie zª¡cze mo»e by¢ modelem cz¦±ci obiektu, która je¹dzi,
czy ±lizga si¦, po pewnym torze.
Niech i-te zª¡cze porusza si¦ po prostej prostopadªej do jednostkowego
wektora si .2 Zª¡cze jest utrzymywane na prostej dzi¦ki dodatkowej sile
Fis = si ζi
prostopadªej do prostej; ζi jest skalarem. Wektor przyspieszenia i-tego zª¡cza
jest wyznaczany przez wyra»enie
d
Fie + F − Fi+1
+ Fis
F e + F − ri φi + si ζi
= i
.
mi
mi
d
Poszukujemy teraz dwóch siª: Fis oraz Fi+1
. Wynikaj¡ one z rozwi¡zania
nast¦puj¡cego ukªadu równa«
(
F e +F −ri φi +si ζi
− riT (Ai+1 ri φi + bi+1 ) = ei
riT i
mi
e
(10)
F +F −ri φi +si ζi
=
0.
sTi i
mi
Pierwsze z powy»szych to równanie ogniwa odpowiadaj¡ce (4) a drugie mówi
tylko tyle, »e przyspieszenie i-tego zª¡cza jest prostopadªe do si . Je±li ksi k =
1, z drugiego równania dostajemy
ζi
ri φi − Fie − F
= sTi
mi
mi
co pozwala na eliminacj¦ ζi z ukªadu i wyznaczenie φi jako
φi =
riT (I − si sTi )(Fie + F ) − mi (riT bi+1 + ei )
.
mi riT Ai+1 ri + 1 − (sTi ri )2
d
Skalar φi okre±la Fi+1
, zatem z powy»szego wynika natychmiast funkcja fei :
ri riT (I − si sTi )
mi riT Ai+1 ri + 1 − (sTi ri )2
ri riT (I − si sTi )Fie − mi (riT bi+1 + ei )ri
di =
mi riT Ai+1 ri + 1 − (sTi ri )2
mi (riT bi+1 + ei )ri
= Ci Fie −
.
mi riT Ai+1 ri + 1 − (sTi ri )2
Ci =
2W
przestrzeni 2-wymiarowej mo»na mówi¢ o prostej prostopadªej do wektora. Gdyby
liczba wymiarów byªa wi¦ksza mówiliby±my raczej o ruchu zª¡cza po pewnej hiperpªaszczy¹nie prostopadªej do si .
12
Z równa«
Fie + F − ri φi + si ζi
= Ai F + bi
mi
wynika denicja funkcji e
ai , mianowicie
e
ai (F ) =
I − si sTi
(I − si sTi )ri riT (I − si sTi )/mi
−
mi
mi riT Ai+1 ri + 1 − (sTi ri )2
(I − si sTi )Fie (I − si sTi )ri riT (I − si sTi )Fie /mi − (riT bi+1 + ei )(I − si sTi )ri
−
bi =
mi
mi riT Ai+1 ri + 1 − (sTi ri )2
(riT bi+1 + ei )(I − si sTi )ri
e
= Ai Fi +
.
mi riT Ai+1 ri + 1 − (sTi ri )2
Ai =
6.4 Zª¡cze ko«cz¡ce i poruszaj¡ce si¦ po prostej
W niniejszej podsekcji modelujemy dynamik¦ zª¡cza poruszaj¡cego si¦ po
prostej, za którym nie ma ju» »adnego innego zª¡cza.
Niech i-te zª¡cze porusza si¦ po prostej prostopadªej do jednostkowego
wektora si . Jak w poprzedniej sekcji, zª¡cze jest utrzymywane na prostej
dzi¦ki dodatkowej sile
Fis = si ζi
prostopadªej do prostej; ζi jest skalarem. Wektor przyspieszenia i-tego zª¡cza
jest wyznaczany przez wyra»enie
Fie + F + Fis
Fie + F + si ζi
=
mi
mi
przy czym jest to wektor prostopadªy do si , czyli
sTi
Fie + F + si ζi
= 0.
mi
Z powy»szego wynika, »e
e
ζi
T Fi + F
= −si
mi
mi
sk¡d dostajemy
ai =
(I − si sTi )F + (I − si sTi )Fie
Fie + F + si ζi
=
.
mi
mi
A zatem
I − si sTi
mi
(I − si sTi )Fie
bi =
= Ai F e .
mi
Ai =
13
Oczywi±cie
fei ≡ 0,
Ci = 0,
di = 0.
7 Zderzenia
W rozdziale omówimy co si¦ dzieje kiedy zª¡cze zderza si¦ z jakim± nieruchomym przedmiotem lub odrywa si¦ od niego po zderzeniu, które miaªo
miejsce wcze±niej. B¦dziemy zakªadali, »e zderzenia nie s¡ spr¦»yste, a zatem zª¡cze, niejako, wbija si¦ w punkt, w którym styka si¦ z przedmiotem.
7.1 Wbicie si¦ w punkt
Rozwa»amy teraz sytuacj¦, w której i-te zª¡cze wbija si¦ w pewien punkt.
B¦dzie to oznaczaªo, »e zª¡cze porusza si¦ do punkt z pewn¡ niezerow¡ pr¦dko±ci¡ by chwil¦ pó¹niej znajdowaªo si¦ w tym punkcie i jego pr¦dko±¢ byªa
zerowa. To co si¦ dzieje w mi¦dzyczasie b¦dziemy rozumieli w ten sposób,
»e w ci¡gu bardzo krótkiego kwantu czasu na to zª¡cze dziaªa siªa, która
wyhamowuje jego ruch. Powiedzmy, »e dªugo±¢ kwantu czasu to ² a hamuj¡ce przyspieszenie zª¡cza jest staªe. Je±li pierwotna pr¦dko±¢ wynosi vi , to
wektor przyspieszenia jest równy
aw
i = −vi /².
W dalszej analizie zastanawiamy si¦ co si¦ dzieje kiedy ² d¡»y do zera. Poj¦cie
o tym daje zmiana skali czasu. Powiedzmy, »e jednostk¡ czasu jest teraz
² sekundy. Warto±¢ pr¦dko±ci k -tego zª¡cza wyra»ana dotychczas w [m/s]
wynosi teraz vk0 = ²vk . Przyspieszenia do±rodkowe, mierzone dotychczas w
[m/s2 ] wynosi e0k = ²2 ek , za± siªa dziaªaj¡ca poza dynamik¡ obiektu, mierzona
dotychczas w [kg · m/s2 ] wynosi teraz Fke 0 = ²2 Fke .
W zmienionej skali czasu jedyn¡ wielko±ci¡ nie zmnimalizowan¡ przez
² jest wymuszone zderzeniem przyspieszenie i-tego zª¡cza, którego warto±¢
wynosi teraz −vi . Dla dostatecznie maªej wielko±ci ² warto±ci e0k oraz Fke 0
w formuªach na Ak , bk , Ck , dk b¦d¡ nie do odró»nienia od bª¦du numerycznego
(inne warto±ci w formuªach b¦d¡ relatywnie tak du»e). A zatem, im krótszy
jest czas wbijania si¦ zª¡cza w punkt, tym bardziej pomijalne s¡ siªy dziaªaj¡ce na zª¡cza poza dynamik¡ ukªadu oraz pr¦dko±ci zª¡cz. Mo»na wi¦c
zastosowa¢ nast¦puj¡c¡ metod¦ przeliczania konsekwencji wbicia si¦ i-tego
zª¡cza:
e
Z1. Przyjmij aw
i = −vi oraz Fk = 0, ek = 0 dla k = 1, . . . , n (przej±cie na
skal¦ czasu o jednostce ² d¡»¡cym do zera).
14
Z2. Oblicz Ak , bk , Ck , dk a nast¦pnie przyspieszenia ak dla k = 1, . . . , n
zgodnie z dotychczas wyprowadzonymi wzorami.
Z3. (Powrót do pierwotnej skali czasu) Oblicz vk := vk +ak dla k = 1, . . . , n.
Wbicie si¦ zª¡cza w punkt nast¦puje w pewnym momencie mi¦dzy dyskretnymi chwilami czasu symulacji. Na ogóª ªatwo jest wykry¢ post factum, »e
do wbicia si¦ doszªo. W tej sytuacji nale»y wykona¢ nast¦puj¡ce czynno±ci:
a) cofn¡¢ si¦ w czasie o do chwili wbicia si¦, powiedzmy, »e staªo si¦ to
wcze±niej o ²,
b) wyznaczy¢ pr¦dko±ci po zderzeniu, np. wg. kroków Z1, Z2, Z3,
c) unieruchomi¢ zª¡cze, które si¦ wbiªo, czyli przyj¡¢ aw
i = 0,
d) przesymulowa¢ wydarzenia, które nast¦puj¡ potem w ci¡gu czasu o dªugo±ci ².
Kiedy doszªo do wbicia si¦? Powiedzmy, »e tym w co mo»e wbi¢ si¦ zª¡cze
jest prosta zaczepiona w punkcie z 0 prostopadªa do wektora z .3 Powiedzmy,
»e z wskazuje t¡ dobr¡ stron¦ prostej, po której zª¡cze mo»e si¦ bez przeszkód porusza¢. Do wbicia si¦ dochodzi kiedy przeliczamy wspóªrz¦dne zgodnie
z krokami przedstawionymi w sekcji 3 i okazuje si¦, »e
z T (xi − z 0 ) < 0.
Chcemy obliczy¢ dodatni¡ wielko±¢ ², która mówi jak dawno temu doszªo do
wbicia si¦. Speªnia ona zale»no±¢
z T (xi − z 0 − ²vi − 0.5²2 ai ) = 0,
w której ai jest przyspieszeniem zª¡cza obliczonym przed wbiciem si¦, za± vi
oraz xi to, odpowiednio, pr¦dko±¢ i poªo»enie zª¡cza po kwancie czasu (czyli
ju» po wbiciu si¦). Powy»sze równanie ma dwa rozwi¡zania:
√
√
T
T
−z
v
+
−z
v
−
∆
∆
i
i
,
²00 =
,
²0 =
T
T
z ai
z ai
gdzie
∆ = (z T vi )2 − 2z T ai z T (z 0 − xi ).
Uwa»na analiza ujawnia, »e dobrym rozwi¡zaniem jest jednak tylko ² = ²00 .
3 Podobnie
jak w przypadku poruszania si¦ po prostej, w dwóch wymiarach mamy do
czynienia z prost¡ prostopadª¡ do wektora. Gdyby za± liczba wymiarów byªa wi¦ksza byªaby to hiperpªaszczyzna.
15
7.2 Odrywanie si¦ od punktu
Procesem odwrotnym do wbijania si¦ w punkt jest odrywanie si¦ od punktu.
Ró»ne zjawiska mog¡ temu towarzyszy¢, np. zª¡cze mogªo, w jakim± sensie,
ugrz¦zn¡¢ w punkcie. Zajmiemy si¦ najprostszym wariantem polegaj¡cym na
tym, »e zª¡cze jest wbite w powierzchni¦ i odrywa si¦ od niej je±li tylko suma
siª dziaªaj¡cych na nie odpycha zª¡cze od powierzchni. Je±li powierzchnia jest
wyznaczana przez wektory z 0 (zaczepienie) i z (wektor prostopadªy) a suma
siª wynosi Fi , to oderwanie si¦ nast¦puje wówczas gdy
z T Fi > 0.
8 Wyznaczanie siª powoduj¡cych zadane
przyspieszenie
W niniejszej sekcji przeanalizujemy szczegóªowo zale»no±¢ mi¦dzy siªami Fje
a przyspieszeniami ai dla dowolnych i, j . Znajomo±¢ tej zale»no±ci pozwala
w szczególno±ci wyznacza¢ takie siªy aby uzyskiwa¢ zadane przyspieszenia.
Umo»liwia tak»e zadawanie momentów siª aby uzyskiwa¢ zadane przyspieszenia k¡towe, cho¢ akurat ten problem zostanie lepiej rozwi¡zany w Cz¦±ci II
dokumentu.
Punktem wyj±cia do rozstrzygni¦cia jak Fje wpªywa na ai b¦dzie wyprowadzenie ddFaie , przy czym wyraz ten b¦dzie rozumiany jako macierz Jakobiego
j
speªniaj¡ca równanie
dai
∆ai =
∆Fje
dFje
w jego najbardziej oczywistym rozumieniu.
Rysunek 3 pokazuje kolejno±¢ dziaªa« prowadz¡cych od Fje do ai . Z zestawienia tego wynika natychmiast sposób obliczania dai /dFje oparty na propagacji wstecznej:
1. Oblicz
∂ai
dai
=
= Bi .
d
dF i
∂Fid
2. Dla k = n, n − 1, . . . , i,
dai
dFkd
= 0 za± dla k = i − 1, i − 2, . . . , 2 oblicz
d
dai
dai ∂Fk+1
dai
=
=
Ck .
d
d
d
d
dF k
dFk+1 ∂Fk
dFk+1
16
Rysunek 3: Kolejno±¢ dziaªa« prowadz¡cych od Fje do ai .
3. Dla k = n, n − 1, . . . , i,
dai
ddk
= 0, za± dla k = i − 1, i − 2, . . . , 1 oblicz
d
dai
dai ∂Fk+1
dai
.
=
=
d
d
ddk
dFk+1 ∂dk
dFk+1
4. Dla k = 1, 2, . . . , j , oblicz
dai
dai ∂dk−1
dai ∂bk−1
∂ak
= [k > 1]
+ [k > 1]
+ [k = i]
.
db k
ddk−1 ∂bk
dbk−1 ∂bk
∂bk
Pewnym uproszczeniem jest fakt, »e ∂ak /∂bk = I , za± dla wszystkich
dotychczas rozwa»anych przypadków zachodzi ∂bk−1 /∂bk = Ck−1 .
5. Oblicz
dai ∂dj
dai ∂bj
da i
da i
da i
=
+
=
Cj +
Aj .
e
e
e
dF j
ddj ∂Fj
dbj ∂Fj
ddj
dbj
Warto zauwa»y¢, »e aby wyznaczy¢ komplet warto±ci dai /dFje dla j =
1, . . . , n, nie potrzeba powtarza¢ caªej procedury n-krotnie. Wystarczy, »e
krok 4 zostanie wykonany dla j = n i jedynie krok 5 zostanie wykonany
n-krotnie dla j = 1, 2, . . . , n.
17
8.1 Zale»no±¢ momenty przyspieszenia k¡towe
Niekiedy interesuj¡ce jest obliczenie pochodnej przyspieszenia k¡towego itego zª¡cza po j -tym momencie przykªadanym do i-tego zª¡cza. Pami¦tamy,
»e
αiz = LTi ai+1 − (Li + Li−1 )T ai + LTi−1 ai−1 .
e
e
,
, Fje i Fj+1
Droga wynikania jest tu nast¦puj¡ca: Moment τj wpªywa na Fj−1
z
które wpªywaj¡ na ai−1 , ai oraz ai+1 , które z kolei wpªywaj¡ na αi . Ze wzorów
na siªy wynikaj¡ce z przykªadanych momentów (Rozdziaª 4) ªatwo wynika,
i»
µ
¶
dαiz
dai−1
dai−1
dai−1
T
= Li−1
Li−1 −
(Li−1 + Li ) +
Li
e
e
dτj
dFi−1
dFie
dFi+1
µ
¶
dai
dai
da i
T
− (Li + Li−1 )
Li−1 −
(Li−1 + Li ) +
Li
e
e
dFi−1
dFie
dFi+1
µ
¶
dai+1
dai+1
dai+1
T
+ Li
Li−1 −
(Li−1 + Li ) +
Li .
e
e
dFi−1
dFie
dFi+1
8.2 Wymuszenie przyspieszenia k¡towego
W podsekcji 6.1 zajmowali±my si¦ wymuszaniem przyspieszenia i-tego zª¡cza.
Niniejsza podsekcja zawiera analogiczny materiaª z tym, »e teraz rozwa»amy
zestaw momentów siª wymuszaj¡cy odpowiednie przyspieszenia k¡towe. Innemu rozwi¡zaniu tego samego problemu b¦dzie po±wi¦cona Cz¦±¢ II niniejszego dokumentu.
Rozwa»my zª¡cza i1 , i2 , . . . , im . Chcemy, aby ich przyspieszenia k¡towe
wynosiªy αiw1 , αiw2 , . . . , αiwm . Zajmiemy si¦ zagadnieniem wyznaczenia momentów siªy τi1 , τi2 , . . . , τim tak, aby osi¡gn¡¢ zadane przyspieszenia k¡towe. Dzi¦ki wyprowadzeniom z poprzedniej podsekcji wiemy w jaki sposób zmiany
przykªadanych momentów skutkuj¡ zmianami przyspiesze« k¡towych. Z ksztaªtu odpowiednich pochodnych wiemy, »e zale»no±ci te s¡ w ka»dej chwili
liniowe. Pozwala to sformuªowa¢ nast¦puj¡c¡ procedur¦ wyznaczania momentów τi1 , τi2 , . . . dla znanych przyspiesze« k¡towych.
1. Przy pomocy standardowej procedury (Rozdziaª 3) wyznacz przyspieszenia zª¡cz a nast¦pnie przyspieszenia k¡towe αiz1 , . . . , αizn−1 przy zaªo»eniu, »e nie s¡ przykªadane dodatkowe momenty.
18
2. Przy pomocy metody z poprzedniej podsekcji wyznacz macierz
 dαz
dαzi 
i1
1
.
.
.
dτi1
dτim
z

dα
..
.. 
..
=
.
. 
 .z

dτ
dαim
dαzim
. . . dτi
dτi
1
m
3. Wyznacz momenty τi1 , . . . , τim rozwi¡zuj¡c równanie
£
αiw1 . . . αiwm
¤T
£
¤T d α z
= αiz1 . . . αizm +
[τi1 . . . τim ]T .
dτ
4. Wyznacz przyspieszenia zª¡cz ponownie, tym razem przykªadaj¡c momenty τi1 , . . . , τim .
Kluczowym zastosowaniem dla wymuszania przyspieszenia k¡towego zª¡cza jest sytuacja, w której k¡t zª¡cza zbli»a si¦ do swojego ograniczenia,
np. maksymalnego wygi¦cia stawu. W takim razie jego pr¦dko±¢ k¡towa
jest wyzerowana (zajmiemy si¦ w tym w kolejnej podsekcji) i taka pozostaje.
Gdy k¡ty s¡ utrzymywane na swoich ograniczeniach, zale»y nam aby αiwm =
· · · = αiwm = 0. W Cz¦±ci II zajmiemy si¦ tymi zagadnieniami dokªadniej.
19
Cz¦±¢ II
Egzogeniczne przyspieszenia
k¡towe
W Cz¦±ci I jedynie wspomniane zostaªy zjawiska, które wymuszaj¡ okre±lone
przyspieszenia k¡towe. Tymczasem zjawiska takie s¡ bardzo typowe. Dla
przykªadu zaªó»my, »e ogniwa i zª¡cza modeluj¡, odpowiednio, ko±ci i stawy.
Stawy nie mog¡ obraca¢ si¦ w sposób nieograniczony. Kiedy k¡t mi¦dzy ogniwami (ko±¢mi) dochodzi do swojej granicznej warto±ci, pojawia si¦ wymuszone przyspieszenie k¡towe (dziaªaj¡ ±ci¦gna), które wyhamowuje jego dalszy obrót. Kiedy nast¦pnie k¡t ten pozostaje na granicy, pojawia si¦ wymuszone przyspieszenie k¡towe o zerowej warto±ci (znowu ±ci¦gna). W Cz¦±ci
II zajmiemy si¦ wi¦c symulacj¡ uwzgl¦dniaj¡c¡, »e w niektórych zª¡czach
obiektu istniej¡ wymuszone przyspieszenia k¡towe.
9 Zª¡cze aktywne
Problem omawiany w Cz¦±ci II jest jedynie wzbogacon¡ wersj¡ problemu
dyskutowanego w Cz¦±ci I. Zdecydowana wi¦kszo±¢ oznacze« jest taka jak
poprzednio. Znaczenie wyrazów i, n, li , mi , xi , ri , vi , Fie pozostaje. W stosunku do problemu omawianego w Cz¦±ci I, rozwa»amy tutaj jeden dodatkowy element. Mianowicie, w kwancie czasu istnieje zestaw indeksów
i1 , . . . , im takich, »e przyspieszenia k¡towe zª¡cz wskazywanych przez te indeksy jest dane i wynosi αiw1 , . . . , αiwm . Zª¡cze, którego przyspieszenie k¡towe
jest ustalone b¦dzie nazywane aktywnym.
Zdeniujmy teraz dokªadnie przyspieszenia k¡towe. Przypomnijmy, »e
wektor ri∗ zostaª zdeniowany jako wektor jednostkowy powstaªy z ri przez
skr¦cenie w lewo. Stosowane byªo tak»e oznaczenie
Li = ri∗ /li .
(11)
Przyspieszenie k¡towe i-tego ogniwa deniujemy jako
αio = (ri∗ )T (ai+1 − ai )/li = LTi (ai+1 − ai ).
Tymczasem przyspieszenie k¡towe i-tego zª¡cza to ró»nica przyspiesze« k¡towych s¡siaduj¡cych ogniw:
o
.
αiz = αio − αi−1
20
(12)
Zachodzi
αiz = LTi ai+1 − (Li + Li−1 )T ai + LTi−1 ai−1
(13)
Zaªó»my zatem, »e przyspieszenie k¡towe i-tego zª¡cza jest dane i wynosi
Sposobem na jego wymuszenie b¦dzie pojawienie si¦ tam wymuszaj¡cego
momentu τiw . Aby uwzgl¦dni¢ τiw , musimy nieco inaczej ni» w Cz¦±ci I spojrze¢ na dynamik¦ ukªadu. Do ustalenia co si¦ dzieje ze zª¡czem i + 1-szym
nie wystarczy nam wiedza o sumie siª dziaªaj¡cych na zª¡cze i-te. Potrzebna
jest nam tak»e wiedza o momencie indukowanym w tym zª¡czu.
W ogólno±ci, b¦dziemy rozwa»ali nast¦puj¡cy model propagacji dynamiki
obiektu. B¦dzie to komplet czterech funkcji opisuj¡cych dziaªanie i-tego ogniwa. Argumentem wszystkich tych funkcji jest siªa przykªadana do i-tego
ogniwa i indukowany tam moment.
αiw .
• Przyspieszenie i-tego zª¡cza:
w
ai = e
ai (Fid , τiw ) = Ai Fid + bw
i τi + bi .
• Przyspieszenie k¡towe i-tego ogniwa:
αio = α
eio (Fid , τiw ) = pTi Fid + qiw τiw + qi .
• Siªa, któr¡ i-te zª¡cze dziaªa na i + 1-sze poprzez i-te ogniwo:
d
w
Fi+1
= fei (Fid , τiw ) = Ci Fid + dw
i τi + di .
• Moment wymuszaj¡cy w i + 1-tym zª¡czu:
w
w
τi+1
= gei (Fid , τiw ) = giT Fid + hw
i τi + hi .
Obliczanie przyspiesze« w danym kwancie czasu zachodzi wedªug nast¦puj¡cej procedury:
w
1. Dla i = n, n−1, . . . , 1 wyznacz gei , fei , e
ai oraz α
eio czyli gi , hw
i , h i , C i , di , di ,
w
A i , bw
i , bi oraz pi , qi , qi .
2. Przyjmij zerowe F1d i τiw . Dla i = 1, 2, . . . , n − 1 oblicz
d
= fei (Fid , τiw )
Fi+1
w
τi+1
= gei (Fid , τiw )
3. Dla i = 1, 2, . . . , n oblicz
ai = e
ai (Fid , τiw ).
21
10 Iteracja
Przeanalizujemy sposób wyznaczania funkcji gei , fei , α
eio oraz e
ai w najbardziej
typowej sytuacji gdy zª¡cze i-te nie jest prowadzone za± zª¡cze i + 1-sze
istnieje i jest aktywne. Powiedzmy zatem, »e znamy funkcje
w
d
w
d
+ bw
) = Ai+1 Fi+1
, τi+1
e
ai+1 (Fi+1
i+1 τi+1 + bi+1 ,
o
d
w
d
w
w
α
ei+1
(Fi+1
, τi+1
) = pTi+1 Fi+1
+ qi+1
τi+1
+ qi+1 .
Poszukujemy funkcji opisuj¡cych dynamik¦ i-tego zª¡cza, których argumentami s¡ wektory Fid , τiw wyra»aj¡ce arbitraln¡ siª¦ i moment dziaªaj¡ce na
zª¡cza i-te. Oznaczmy
F = Fid ,
τ = τiw .
Rozwa»my siª¦ napr¦»enia oddziaªuj¡ce na i + 1-sze zª¡cze poprzez i-tego
ogniwo. Jest to wypadkowa dwóch siª: (a) równolegªej do ri , odpowiedzialnej za to, »e zª¡cza i-te oraz i + 1-sze nie zmieniaj¡ odlegªo±ci od siebie,
(b) równolegªej do ri∗ , zwi¡zanej z pojawieniem si¦ momentów wymuszaj¡w
cych τiw oraz τi+1
. Ostatecznie
d
w
w
Fi+1
= ri φi + (ri∗ /li )(τiw − τi−1
) = ri φi + Li (τ − τi+1
).
w
gdzie φi oraz τi+1
to pewne skalary, które teraz musimy wyznaczy¢.
Wyznaczmy caªkowit¡ siª¦ Fi dziaªaj¡c¡ na i-te ogniwo. Jest to suma siªy
zewn¦trznej i siª przenoszonych przez s¡siednie ogniwa. Zatem
d
Fi = Fie + Fid − Fi+1
w
=Fie + F − ri φi − Li τ + Li τi+1
w
Do wyznaczenia φi oraz τi+1
posªu»y nam ukªad dwóch równa«. Pierwsze
z nich, równanie ogniwa, mówi, »e zª¡cza i-te oraz i + 1-sze nie oddalaj¡ ani
nie przybli»aj¡ si¦ do siebie.
ei = riT (ai − ai+1 )
¢
¡
w
d
)
, τi+1
ai+1 (Fi+1
= riT Fi /mi − e
³ 1 ¡
¢
w
= riT
Fie + F − ri φi − Li τ + Li τi+1
mi
¢´
¡
w
w
.
− Ai+1 (ri φi + Li τ − Li τi+1
) + bw
τ
+
b
i+1
i+1 i+1
22
Warto±¢ ei = kvi+1 − vi k2 /li to przyspieszenie do±rodkowe zª¡cz. Je±li przyjmiemy oznaczenia
k0 = −1/mi − riT Ai+1 ri
riT Ai+1 Li
k1 = 0 +
k2 = ri /mi
−
(14)
riT bw
i+1
(15)
(16)
k3 = 0 − riT Ai+1 Li
k4 =
riT Fie /mi
−
(17)
riT bi+1
(18)
− ei ,
to otrzymamy równanie
w
+ kT2 F + k3 τ + k4 .
0 = k0 φi + k1 τi+1
Drugie równanie wynika z (12) i wyznacza pr¦dko±¢ k¡tow¡ i-tego zª¡cza
tak, aby byªa ona równa zadanej warto±ci αiw . Mamy
w
o
αi+1
=αi+1
− αio
o
d
w
d
w
=e
αi+1
(Fi+1
, τi+1
) − LTi (e
ai+1 (Fi+1
, τi+1
) − ai )
d
w
w
d
w
=pTi+1 Fi+1
+ qi+1
τi+1
+ qi+1 − LTi (Ai+1 Fi+1
+ bw
i+1 τi+1 + bi+1 − Fi /mi )
w
w
w
=pTi+1 (ri φi + Li τ − Li τi+1
) + qi+1
τi+1
+ qi+1
w
w
− LTi (Ai+1 (ri φi + Li τ − Li τi+1
) + bw
i+1 τi+1 + bi+1 )
¢
1 ¡ e
w
Fi + F − ri φi − Li τ + Li τi+1
+ LTi
mi
Je±li przyjmiemy oznaczenia
k5 = pTi+1 ri − LTi Ai+1 ri − 0
−pTi+1 Li
k6 =
k7 = Li /mi
+
w
qi+1
+
LTi Ai+1 Li
(19)
−
LTi bw
i+1
2
+ kLi k /mi
(20)
(21)
k8 = pTi+1 Li − LTi Ai+1 Li − kLi k2 /mi
(22)
w
k9 = qi+1 − LTi bi+1 + LTi Fie /mi − αi+1
,
(23)
dostaniemy równanie
w
+ kT7 F + k8 τ + k9
0 = k5 φi + k6 τi+1
i, w rezultacie, ukªad równa«
¸
¸ · T
¸·
·
k2 F + k3 τ + k4
φi
k0 k1
,
+ T
0=
w
k7 F + k8 τ + k9
k5 k6 τi+1
23
którego rozwi¡zaniem jest
·
¸
·
¸−T · T
¸
φi
k0 k1
k2 F + k3 τ + k4
=−
w
τi+1
k5 k6
kT F + k8 τ + k9
· 7T
¸
1
k6 (k2 F + k3 τ + k4 ) − k1 (kT7 F + k8 τ + k9 )
=
k1 k5 − k0 k6 k0 (kT7 F + k8 τ + k9 ) − k5 (kT2 F + k3 τ + k4 )
· T ¸
· ¸
· ¸
k12
k14
k16
= T F+
τ+
k13
k15
k17
gdzie
k11
k12
k13
k14
k15
k16
k17
= k5 k1 − k0 k6
= (k2 k6 − k7 k1 )/k11
= (k7 k0 − k2 k5 )/k11
= (k6 k3 − k1 k8 )/k11
= (k0 k8 − k5 k3 )/k11
= (k4 k6 − k1 k9 )/k11
= (k0 k9 − k5 k4 )/k11 .
W ostatnim kroku wyznaczamy funkcje gei , fei , e
ai oraz α
eio . B¦dziemy je
wyznacza¢ w takiej wªa±nie kolejno±ci. Funkcja gei jest oczywista
w
τi+1
= kT13 F + k15 τ + k17
czyli
gi = k13 ,
hw
i = k15 ,
hi = k17 .
Dalej,
d
w
Fi+1
=ri φi + Li τiw − Li τi+1
=(ri kT12 − Li kT13 )F + (ri k14 + Li − Li k15 )τ + ri k16 − Li k17
=Ci F + dw
i τ + di .
Zatem
Ci =ri kT12 − Li kT13
dw
i =ri k14 + Li − Li k15
di =ri k16 − Li k17 .
Funkcja e
ai b¦dzie wynikaªa z fei .
d
)/mi = Ai F + bw
ai = e
ai (F, τ ) = Fi /mi = (F e + F − Fi+1
i τ + bi
24
czyli
Ai = (I − Ci )/mi
w
bw
i = −di /mi
bi = (Fie − di )/mi .
Funkcja α
eio b¦dzie wynikaªa z e
ai oraz e
ai+1 , mianowicie
αio =LTi (ai+1 − ai )
d
w
=LTi (e
ai+1 (Fi+1
, τi+1
)−e
ai (Fid , τiw ))
³
´
¡
¢
=LTi e
ai+1 fei (F, τ ), gei (F, τ ) − e
ai (F, τ )
³
=LTi Ai+1 Ci F + Ai+1 dw
i τ + Ai+1 di
T
w
w
w
+ bw
i+1 gi F + bi+1 hi τ + bi+1 hi + bi+1
´
− Ai F − bw
τ
−
b
i
i
=pTi F + qiw τ + qi .
sk¡d mamy
T
T
T
pi =(LTi Ai+1 Ci + LTi bw
i+1 gi − Li Ai )
T w
w
T w
qiw =LTi Ai+1 dw
i + Li bi+1 hi − Li bi
T
T
qi =LTi Ai+1 di + LTi bw
i+1 hi + Li bi+1 − Li bi .
Podsumowuj¡c, sposób wyznaczania gei , fei , e
ai oraz α
eio jest nast¦puj¡cy:
Najpierw obliczamy Li , Li−1 , potem wielko±ci oznaczane przez k lub k, w takiej kolejno±ci jak na to wskazuj¡ ich indeksy. Nast¦pnie obliczane s¡ gi , hw
i , hi ,
w
w
w
Ci , di , di , Ai , bi , bi oraz pi , qi , qi .
Wyprowadzenia byªy oparte na zaªo»eniu, »e zarówno zª¡cze i-te nie
jest prowadzone, natomiast zª¡cze i + 1-sze istnieje i jest aktywne. Dalej
rozwa»ymy co si¦ dzieje je±li który± z tych warunków nie jest speªniony.
11 Przypadki szczególne
W niniejszej sekcji rozwa»ymy przypadki szczególne. Musimy rozwa»y¢ rozmaite cechy zª¡cza i-tego oraz i + 1-szego. Poniewa» ka»de z nich mo»e by¢
i nie by¢ aktywne oraz mo»e by¢ i nie by¢ prowadzone, to w zasadzie mo»na
rozwa»a¢ (2 · 2)2 = 16 ró»ne przypadki. Na szcz¦±cie nie wszystkie z nich
musz¡ by¢ dyskutowane odr¦bnie.
25
11.1 Zª¡cze prowadzone i aktywne nast¦pne
Niech i-te zª¡cze b¦dzie prowadzone w odró»nieniu od i+1-szego, które niech
jednak b¦dzie aktywne. Powiedzmy zatem, »e znamy funkcje
d
w
d
w
e
ai+1 (Fi+1
, τi+1
) = Ai+1 Fi+1
+ bw
i+1 τi+1 + bi+1 ,
w
w
d
w
d
o
+ qi+1 .
τi+1
+ qi+1
) = pTi+1 Fi+1
, τi+1
(Fi+1
α
ei+1
Zadanie polega na wyznaczeniu funkcji gei , fei , α
eio oraz e
ai , których argumend
w
tami s¡ wektory Fi , τi wyra»aj¡ce arbitraln¡ siª¦ i moment dziaªaj¡ce na
zª¡cza i-te. Oznaczmy
τ = τiw .
F = Fid ,
Rozwa»my siª¦ napr¦»enia oddziaªuj¡ce na i + 1-sze zª¡cze poprzez i-tego
ogniwo. Jest to wypadkowa dwóch siª: (a) równolegªej do ri , odpowiedzialnej za to, »e zª¡cza i-te oraz i + 1-sze nie zmieniaj¡ odlegªo±ci od siebie,
(b) równolegªej do ri∗ , zwi¡zanej z pojawieniem si¦ momentów wymuszaj¡w
cych τiw oraz τi+1
. Ostatecznie
d
w
w
Fi+1
= ri φi + (ri∗ /li )(τiw − τi−1
) = ri φi + Li (τ − τi+1
).
w
gdzie φi oraz τi+1
to pewne skalary, które teraz musimy wyznaczy¢.
w
Do wyznaczenia φi oraz τi+1
posªu»y nam ukªad dwóch równa«. Pierwsze
z nich, równanie ogniwa, mówi, »e zª¡cza i-te oraz i + 1-sze nie oddalaj¡ ani
nie przybli»aj¡ si¦ do siebie.
ei = riT (ai − ai+1 )
¡
¢
d
w
= riT aw
ai+1 (Fi+1
, τi+1
)
i −e
³
¡
¢´
T
w
w
w
w
= ri ai − Ai+1 (ri φi + Li τ − Li τi+1 ) + bi+1 τi+1 + bi+1 .
Je±li przyjmiemy oznaczenia
k0 = −riT Ai+1 ri
k1 =
k3 =
k4 =
riT Ai+1 Li − riT bw
i+1
T
−ri Ai+1 Li
T
riT aw
i − ri bi+1 − ei ,
to otrzymamy równanie
w
+ k3 τ + k4 .
0 = k0 φi + k1 τi+1
26
(24)
(25)
(26)
(27)
Drugie równanie wynika z (12) i stabilizuje pr¦dko±¢ k¡tow¡
w
o
αi+1
=αi+1
− αio
o
d
w
d
w
=e
αi+1
(Fi+1
, τi+1
) − LTi (e
ai+1 (Fi+1
, τi+1
) − ai )
d
w
w
d
w
w
=pTi+1 Fi+1
+ qi+1
τi+1
+ qi+1 − LTi (Ai+1 Fi+1
+ bw
i+1 τi+1 + bi+1 − ai )
w
w
w
+ qi+1
τi+1
) + qi+1
=pTi+1 (ri φi + Li τ − Li τi+1
w
w
− LTi (Ai+1 (ri φi + Li τ − Li τi+1
) + bw
i+1 τi+1 + bi+1 )
+ LTi aw
i
Je±li przyjmiemy oznaczenia
k5 = pTi+1 ri − LTi Ai+1 ri
k6 =
k8 =
w
−pTi+1 Li + qi+1
+ LTi Ai+1 Li
pTi+1 Li − LTi Ai+1 Li
(28)
−
LTi bw
i+1
w
k9 = qi+1 − LTi bi+1 + LTi aw
i − αi+1 ,
(29)
(30)
(31)
dostaniemy równanie
w
0 = k5 φi + k6 τi+1
+ k8 τ + k9 .
Ostatecznie dostajemy ukªad równa«
·
¸·
¸ ·
¸
k0 k1
φi
k3 τ + k4
0=
+
,
w
k5 k6 τi+1
k8 τ + k9
którego rozwi¡zaniem jest
·
¸
·
¸−T · T
¸
φi
k0 k1
k2 F + k3 τ + k4
=−
w
τi+1
k5 k6
kT F + k8 τ + k9
· 7
¸
k6 (k3 τ + k4 ) − k1 (k8 τ + k9 )
1
=
k k − k k k (k τ + k9 ) − k5 (k3 τ + k4 )
· 1 5 ¸ 0 ·6 0¸ 8
k16
k14
τ+
=
k17
k15
gdzie
k11
k14
k15
k16
k17
= k5 k1 − k0 k6
= (k6 k3 − k1 k8 )/k11
= (k0 k8 − k5 k3 )/k11
= (k4 k6 − k1 k9 )/k11
= (k0 k9 − k5 k4 )/k11 .
27
(32)
W ostatnim kroku wyznaczamy funkcje gei , fei , e
ai oraz α
eio . B¦dziemy je
wyznacza¢ w takiej wªa±nie kolejno±ci. Funkcja gei jest oczywista
w
τi+1
= k15 τ + k17
czyli
gi = 0,
hw
i = k15 ,
hi = k17 .
Dalej,
w
d
Fi+1
=ri φi + Li τiw − Li τi+1
=(ri k14 + Li − Li k15 )τ + ri k16 − Li k17
=Ci F + dw
i τ + di ,
sk¡d wynika funkcja fei , mianowicie
Ci =0
dw
i =ri k14 + Li − Li k15
di =ri k16 − Li k17 .
Funkcja e
ai b¦dzie wynikaªa z fei .
ai = aw
ai (F, τ ) = Ai F + bw
i =e
i τ + bi
czyli
Ai = 0
bw
i = 0
bi = aw
i .
Funkcja α
eio b¦dzie wynikaªa z e
ai oraz e
ai+1 , mianowicie
αio =LTi (ai+1 − ai )
d
w
=LTi (e
ai+1 (Fi+1
, τi+1
) − aw
i )
´
³
¡
¢
=LTi e
ai+1 fei (F, τ ), gei (F, τ ) − aw
i
³
=LTi Ai+1 Ci F + Ai+1 dw
i τ + Ai+1 di
w
w
w
w
T
+ bw
i+1 gi F + bi+1 hi τ + bi+1 hi + bi+1 − ai
=pTi F + qiw τ + qi .
28
´
sk¡d mamy
pi =0
T w
w
qiw =LTi Ai+1 dw
i + Li bi+1 hi
T
T
qi =LTi Ai+1 di + LTi bw
i+1 hi + Li bi+1 − Li bi .
W omawianym przypadku wyprowadzili±my funkcje gei , fei , e
ai oraz α
eio
w taki sposób, »e wektory je opisuj¡ce zale»¡ od siebie. Nale»y je wi¦c wyznacza¢ w takiej wªa±nie kolejno±ci jak podana powy»ej.
Sytuacje wyj¡tkowe
W szczególnych przypadkach ukªad równa« (32) mo»e nie mie¢ rozwi¡za«
lub mie¢ ich niesko«czenie wiele. Z pewno±ci¡ równanie pierwsze nie b¦dzie
miaªo rozwi¡zania je±li zª¡cze i + 1-sze jest prowadzone. Je±li dodatkowo
prowadzone jest zª¡cze i + 2-gie, wówczas tak»e równanie drugie nie b¦dzie
miaªo rozwi¡zania. Je±li zª¡cze i + 2-gie b¦dzie prowadzone ale zª¡cze i + 1sze nie, wówczas oba równania b¦d¡ miaªy rozwi¡zania, tyle, »e b¦d¡ one
sprzeczne. W podobnych przypadkach, których listy bynajmniej tu nie wyczerpali±my, nale»y zamieni¢ równania na takie, których rozwi¡zaniami s¡
w
zerowe φi (przyjmuj¡c k0 = 1, k1 = k3 = k4 = 0) i/albo τi+1
(przyjmuj¡c
k6 = 1, k5 = k8 = k9 = 0). Wszystkie takie sytuacje mo»emy wykry¢
badaj¡c czy wspóªczynnik k11 jest na poziomie bª¦du numerycznego. Je±li
tak, musimy rozwa»y¢ z osobna ka»d¡ z nast¦puj¡cych mo»liwo±ci:
1. Warto±¢ |k0 |+|k1 | jest na poziomie bª¦du numerycznego lub |k0 |+|k1 | <
|k5 | + |k6 |. Zmieniamy pierwsze równanie na daj¡ce zerowe φi .
2. Warto±¢ |k5 |+|k6 | jest na poziomie bª¦du numerycznego lub |k0 |+|k1 | ≥
w
|k5 | + |k6 |. Zmieniamy drugie równanie na daj¡ce zerowe τi+1
.
11.2 Zª¡cze prowadzone i nieaktywne nast¦pne
Zaªó»my, »e zª¡cze i-te jest prowadzone, za± i + 1-sze jest nieaktywne. Zª¡cze
i-te mo»e by¢ przy tym aktywne lub nie. W takim razie przyspieszenie
w
i-tego zª¡cza wynosi aw
i i nie istnieje moment wymuszaj¡cy τi+1 . Wobec tego
ei ≡ 0. Musimy jednak wyznaczy¢ pozostaªe funkcje opisuj¡ce
e
ai ≡ aw
i za± g
dynamik¡ i-tego zª¡cza. Znamy funkcj¦
d
w
d
w
e
ai+1 (Fi+1
, τi+1
) = Ai+1 Fi+1
+ bw
i+1 τi+1 + bi+1 .
29
Zadanie polega na wyznaczeniu funkcji fei i α
ei0 , których argumentami s¡ wekd
w
tory Fi , τi wyra»aj¡ce arbitraln¡ siª¦ i moment dziaªaj¡ce na zª¡cza i-te.
Oznaczamy
F = Fid ,
τ = τiw .
Rozwa»my siª¦ napr¦»enia oddziaªuj¡ce na i + 1-sze zª¡cze poprzez i-tego
ogniwo. Jest to wypadkowa dwóch siª: (a) równolegªej do ri , odpowiedzialnej za to, »e zª¡cza i-te oraz i + 1-sze nie zmieniaj¡ odlegªo±ci od siebie,
(b) równolegªej do ri∗ , zwi¡zanej z pojawieniem si¦ momentu wymuszaj¡cego
τiw . Mamy
d
Fi+1
= ri φi + (ri∗ /li )τiw = ri φi + Li τ.
gdzie φi to pewien skalar, który teraz musimy wyznaczy¢.
Do wyznaczenia φi posªu»y nam równanie ogniwa, które mówi, »e zª¡cza
i-te oraz i + 1-sze nie oddalaj¡ ani nie przybli»aj¡ si¦ do siebie.
ei = riT (ai − ai+1 )
¡
¢
d
w
= riT aw
ai+1 (Fi+1
, τi+1
)
i −e
³
¡
¢´
w
−
A
(r
φ
+
L
τ
)
+
b
·
0
+
b
.
= riT aw
i+1 i i
i
i+1
i
i+1
Z powy»szego dostajemy
φi =
T
riT (aw
i − bi+1 ) − ei − ri Ai+1 Li τ
riT Ai+1 ri
a poniewa»
d
Fi+1
= fei (F, τ ) = Ci F + bw
i τ + bi = ri φi + Li τ
ªatwo dostajemy
Ci = 0
ri riT Ai+1 Li
dw
=
L
−
i
i
rT A r
¢
¡ T iw i+1 i
ri ri (ai − bi+1 ) − ei
di =
.
riT Ai+1 ri
Funkcje gei i e
ai , jak wspomniano wy»ej, maj¡ tym razem proste postaci
gei (F, τ ) = giT F + hw
i τ + hi ≡ 0
w
e
ai (F, τ ) = Ai F + bw
i τ + bi ≡ ai
30
w
co wyja±nia warto±ci wspóªczynników gi , hw
i , hi , Ai , bi , bi . W ko«cu, funkcj¦
α
eio (F, τ ) = pTi F + qiw τ + qi
mo»na wyznaczy¢ stosuj¡c wzory na pi , qiw , qi z poprzedniego rozdziaªu bior¡c
jednak pod uwag¦, »e bw
i+1 = 0. Dostajemy zatem
pi =0
T w
qiw =LTi Ai+1 dw
i − L i bi
qi =LTi Ai+1 di + LTi bi+1 − LTi bi .
Sytuacje wyj¡tkowe
W szczególnym przypadku przyspieszenie i+1-szego zª¡cza nie zale»y od siªy
do« przykªadanej (np. gdy zª¡cze to jest prowadzone). Dostajemy wówczas
riT Ai+1 ri na poziomie bª¦du numerycznego i obliczanie Fid mija si¦ z celem.
d
Nale»y wówczas przyj¡¢ Fi+1
= fei (F, τ ) ≡ 0.
11.3 Zª¡cze nieprowadzone i nieaktywne nast¦pne
Zaªó»my, »e zª¡cze i + 1 nie jest aktywne. W takim razie nie istnieje moment
w
wymuszaj¡cy τi+1
i mamy gei ≡ 0. Musimy jednak wyznaczy¢ pozostaªe
funkcje. Powiedzmy zatem, »e znamy funkcj¦
d
w
d
w
e
ai+1 (Fi+1
, τi+1
) = Ai+1 Fi+1
+ bw
i+1 τi+1 + bi+1 .
Jak zwykle oznaczamy
F = Fid ,
τ = τiw .
Tym razem siªa napr¦»enia oddziaªuj¡ce na i+1-sze zª¡cze poprzez i-te ogniwo jest wypadkow¡ dwóch siª: (a) równolegªej do ri , odpowiedzialnej za to,
»e zª¡cza i-te oraz i + 1-sze nie zmieniaj¡ odlegªo±ci od siebie, (b) równolegªej
do ri∗ , zwi¡zanej z pojawieniem si¦ momentu wymuszaj¡cego τiw . Ostatecznie
d
Fi+1
= ri φi + (ri∗ /li )τiw = ri φi + Li τ.
gdzie φi to pewien skalar, który teraz musimy wyznaczy¢.
Wyznaczmy caªkowit¡ siª¦ Fi dziaªaj¡c¡ na i-te zª¡cze. Jest to suma siªy
zewn¦trznej i siª przenoszonych przez s¡siednie ogniwa. Zatem
d
Fi = Fie + Fid − Fi+1
=Fie + F − ri φi − Li τ
31
Do wyznaczenia φi posªu»y nam równanie ogniwa, które mówi, »e zª¡cza
i-te oraz i + 1-sze nie oddalaj¡ ani nie przybli»aj¡ si¦ do siebie.
mi ei = mi riT (ai − ai+1 )
¢
¡
d
w
ai+1 (Fi+1
, τi+1
)
= riT Fi − mie
³¡
¢
= riT Fie + F − ri φi − Li τ
¡
¢´
− mi Ai+1 (ri φi + Li τ ) + bw
·
0
+
b
.
i+1
i+1
Z powy»szego dostajemy
φi =
riT F − (riT Li + mi riT Ai+1 Li )τ + riT Fie − (riT bi+1 + ei )mi
riT Ai+1 ri mi + 1
a poniewa»
d
Fi+1
= fei (F, τ ) = Ci F + bw
i τ + bi = ri φi + Li τ
ªatwo dostajemy
ri riT
riT Ai+1 ri mi + 1
ri (0 + riT Ai+1 Li mi )
dw
=
L
−
i
i
riT Ai+1 ri mi + 1
ri riT Fie − ri (riT bi+1 + ei )mi
di =
riT Ai+1 ri mi + 1
Ci =
Funkcja e
ai jest, jak zwykle, nieco bardziej kªopotliwa
d
ai = e
ai (F, τ ) = Fi /mi = (F e + F − Fi+1
)/mi = Ai F + bw
i τ + bi
czyli
Ai = (I − Ci )/mi
w
bw
i = −di /mi
bi = (Fie − di )/mi .
W ko«cu, funkcj¦
α
eio (F, τ ) = pTi F + qiw τ + qi
mo»na wyznaczy¢ stosuj¡c wzory na pi , qiw , qi z poprzedniego rozdziaªu bior¡c
jednak pod uwag¦, »e bw
i+1 = 0. Dostajemy zatem
pi =(LTi Ai+1 Ci − LTi Ai )T
T w
qiw =LTi Ai+1 dw
i − L i bi
qi =LTi Ai+1 di + LTi bi+1 − LTi bi .
32
12 Symulacja z ograniczeniami na k¡ty
W niniejszym rozdziale zajmiemy si¦ symulowaniem obiektu, w którym k¡ty
mi¦dzy s¡siaduj¡cymi ogniwami s¡ ograniczone do pewnego przedziaªu. Zdeniujmy k¡t w i-tym ogniwie, θi , jako k¡t mi¦dzy ri a ri−1 . Przyjmujemy,
»e θi ∈ [θim , θiM ]. Dopóki θi ∈ (θim , θiM ), nie maj¡ miejsca »adne zjawiska,
które nale»aªoby byªo modelowa¢ przez wymuszone przyspieszenie k¡towe.
Konieczno±¢ taka pojawia si¦, kiedy (i) θi dochodzi do θim lub θiM , oraz (ii) gdy
θi pozostaje na θim lub θiM . Zdarzenia te omówimy w kolejnym podrozdziale.
12.1 K¡t traa na ograniczenie, zwarcie
W podsekcji 7.1 rozwa»ali±my zjawiska towarzysz¡ce zderzeniu zª¡cza z nieruchomym przedmiotem. W niniejszej sekcji dyskutujemy zjawisko analogiczne
polegaj¡ce na tym, »e k¡t mi¦dzy i − 1-szym a i-tym ogniwem natraa na
swoje ograniczenie. To co wówczas nast¦puje b¦dziemy nazywali zwarciem
k¡ta z jego ograniczeniem. W ci¡gu bardzo krótkiego kwantu czasu dziaªa
moment siªy, który wyhamowuje pr¦dko±¢ k¡tow¡ zª¡cza. Analiza wyst¦puj¡cych tu zjawisk jest identyczna do dyskusji tego co si¦ dzieje gdy zª¡cze
wbija si¦ w punkt. Tam w krótkim kwancie czasu dziaªaªa na zª¡cze bardzo
du»a siªa. Tutaj na takie zderzaj¡ce si¦ ograniczeniem zª¡cze dziaªa przez
krótk¡ chwil¦ du»y moment siªy. Procedura jego obliczania jest analogiczna
do opisanej w podsekcji 7.1 i wygl¡da w sposób nast¦puj¡cy
Z1. Przyjmij Fke = 0, ek = 0 dla k = 1, . . . , n oraz αiw = −ωiz (przej±cie na
skal¦ czasu o jednostce ² d¡»¡cym do zera).
ak , τek a nast¦pnie przyspieszenia ak dla k = 1, . . . , n zgodZ2. Wyznacz fek , e
nie z dotychczas wyprowadzonymi wzorami.
Z3. (Powrót do pierwotnej skali czasu) Oblicz vk := vk +ak dla k = 1, . . . , n.
Zwarcie k¡ta z jego ograniczeniem nast¦puje w pewnym momencie mi¦dzy
dyskretnymi chwilami czasu symulacji. Na ogóª ªatwo jest wykry¢ post factum, »e do zwarcia doszªo. Wtedy bowiem dla pewnego i mamy θi ∈
/ [θim , θiM ].
W tym momencie nale»y podj¡¢ szereg czynno±ci rozpoczynaj¡cy si¦ od ustalenia jaki kwant czasu ² temu doszªo do zwarcia. Powiedzmy, »e θi > θiM .
Mamy
θi − θiM = ωiz ² − 0.5αiz ²2
co daje
√
z
−
ω
∆
,
²0 = i z
αi
√
z
+
ω
∆
²00 = i z
,
αi
33
∆ = (ωiz )2 − 2αiz (θi − θiM ).
Nale»y przyj¡¢ jako ² mniejsz¡ dodatni¡ spo±ród liczb ²0 , ²00 .
Nast¦pnie nale»y wykona¢ nast¦puj¡ce czynno±ci:
a) cofn¡¢ si¦ w czasie o do chwili zderzenia,
b) wyznaczy¢ pr¦dko±ci po zderzeniu, np. wg. kroków Z1, Z2, Z3,
c) uaktywni¢ zª¡cze, które si¦ zderzyªo i przypisa¢ mu αiw = 0.
d) przesymulowa¢ wydarzenia, które nast¦puj¡ potem w ci¡gu czasu o dªugo±ci ².
Po zwarciu, zª¡cze pozostaje aktywne tak dªugo, jak dªugo konieczny jest
moment τiw odpychaj¡cy k¡t θi od ograniczenia. Z chwil¡ gdy okazuje si¦,
»e taki moment w istocie dociska k¡t θi do ograniczenia, nale»y takie zª¡cze
uczyni¢ nieaktywnym. W szczególnym przypadku zª¡cze staje si¦ aktywne
tylko na kwant czasu kiedy jego pr¦dko±¢ k¡towa zostaje wyhamowywana
i natychmiast potem znowu staje si¦ nieaktywne. Tak si¦ dzieje, gdy siªy
egzogeniczne odpychaj¡ k¡t od ograniczenia, jednak dochodzi do zwarcia
przez inercj¦ jego ruchu.
12.2 Anomalie
Oprogramowuj¡c symulacj¦ z ograniczeniami na k¡ty mi¦dzy ogniwami nale»y
pami¦ta¢ o kilku nietypowych zjawiskach, które mog¡ mie¢ miejsce w jej trakcie. Omówimy je jako sztywno±¢, szuranie, klekotanie oraz problemy
z dyskretyzacj¡ czasu.
Sztywno±¢
Powiedzmy, »e zª¡cza n − 1-sze i n-te s¡ prowadzone, natomiast zª¡cza od
i-tego do n − 1-szego s¡ aktywne. W takim razie obiekt mi¦dzy zª¡czami
i − 1-szym a n-tym zachowuje si¦ jak sztywno osadzona w przestrzeni bryªa.
W szczególno±ci, przyspieszenie zª¡cza i − 1-ego nie zale»y od tego jaka
zostanie przyªo»ona do niego siªa. Propagacja funkcji opisuj¡cych dynamik¦
zª¡cz ujawni, »e Ai−1 = 0. W zasadzie wi¦c, powinni±my ze zª¡czem tym
post¦powa¢ jak z prowadzonym. Je±li np. zª¡cze i − 2-gie jest prowadd
tak aby zachowa¢ odpowiednie
zone, wówczas próba znalezienia siªy Fi−1
przyspieszenie mi¦dzy i − 2-gim a i − 1-szym zª¡czem mo»e sko«czy¢ si¦
jedynie dzieleniem przez zero.
Powy»szy przykªad mo»na zgeneralizowa¢ w nast¦puj¡cy sposób: na skutek faktu, »e dwa zª¡cza s¡ prowadzone za± zª¡cza mi¦dzy nimi s¡ aktywne,
34
Rysunek 4: Szuranie. Obiekt jest nieruchomy; zª¡cze 1 jest przy ziemi, k¡t
mi¦dzy ogniwami osi¡gn¡ª swoj¡ najwi¦ksz¡ warto±¢. Zª¡cze 3 jest ci¡gni¦te
siª¡ F .
mamy do czynienia z ukªadem, który jest w pewnej cz¦±ci sztywny. Przykªadanie siª do zª¡cz nale»¡cych do tej cz¦±ci nie zmienia ich przyspiesze«.
Wyranowane remedium na tego rodzaju trudno±ci polega na tym, aby wykrywa¢ sztywne cz¦±ci obiektu i dziaªa¢ tak, jakby nale»¡ce do nich zª¡cza
byªy prowadzone. Rozwi¡zanie mniej eleganckie, jednak bardziej uniwersalne polega na tym, aby przy wyznaczaniu funkcji dynamiki i-tego zª¡cza
za ka»dym razem czy aby Ai+1 nie ma bardzo maªych warto±ci. W poprzednich podrozdziaªach opisujemy jak nale»y reagowa¢ na tak¡ sytuacj¦.
Zaªó»my teraz, »e n-te zª¡cze jest prowadzone, natomiast zª¡cza od itego do n − 1-szego s¡ aktywne. Wówczas obiekt mi¦dzy zª¡czami i-tym
a n-tym zachowuje si¦ jak sztywne wahadªo. Siªa dziaªaj¡ca na i-te zª¡cze
wpªywa na tylko jeden wymiar jego przyspieszenia. Powiedzmy teraz, »e
zª¡cze i − 2-gie jest prowadzone. W takim razie przy zachowanej dªugo±ci
i−1-szego ogniwa nie jeste±my w stanie kontrolowa¢ przyspieszenia k¡towego
i-tego zª¡cza. Wysiªek w tym kierunku musi sko«czy¢ si¦ dzieleniem przez
zero. Poprzez analiz¦ manipulatora mo»emy wykrywa¢ tego rodzaju sytuacj¦
poªowicznej sztywno±ci. Rozwi¡zaniem mniej eleganckim jest sprawdzanie,
czy przyspieszenie k¡towe ka»dego i+1-szego w ogóle zale»y do przykªadanego
w nim momentu. Je±li nie zale»y, trzeba zrezygnowa¢ z jego wyznaczania.
Szuranie
Zjawisko szurania pojawia si¦ przy okazji odrywania zª¡cz od punktów, w których s¡ utkwione lub od ogranicze« na k¡ty. Mo»e si¦ wtedy okaza¢, »e nie da
si¦ tak okre±li¢ przyspiesze« aby odpowiadaªy one temu, które ograniczenia
s¡ aktywne.
Przykªad szurania jest przedstawiony na Rysunku 4. Algorytm próbuj¡cy
obliczy¢ przyspieszenia w tym ukªadzie mo»e wpa±¢ w poni»sz¡ niesko«czon¡
35
p¦tl¦. Powiedzmy, »e na pocz¡tku zª¡cze 1 nie stoi na ziemi za± zª¡cze 2 jest
nieaktywne.
1. Algorytm stwierdza, »e zª¡cze 1 porusza si¦ z przyspieszeniem w dóª
i w takim razie nale»y je postawi¢ czyli uczyni¢ prowadzonym.
2. Zª¡cze 2 ma teraz dodatnie przyspieszenie k¡towe, nale»y je uczyni¢
aktywnym.
3. Teraz zª¡cze 1 jest ci¡gni¦te do góry i wobec tego powinno przesta¢ by¢
prowadzone.
4. W tym momencie okazuje si¦, »e zª¡cze 1 swoj¡ mas¡ skªada zª¡cze
2. Aby teraz w zª¡czu 2 mogªo by¢ utrzymane zerowe przyspieszenie
k¡towe, musi tam zadziaªa¢ moment, który dopycha je do ograniczenia.
W tym momencie nale»y zrezygnowa¢ z przykªadania takiego momentu
i p¦tla zamyka si¦.
W rzeczywistym ukªadzie zycznym zª¡cze 1 poruszaªoby si¦ po podªo»u,
czyli wªa±nie szuraªo po nim.
Recept¡ na opisywane zjawisko jest pozostawianie ogranicze« aktywnymi
nawet je±li nie ma to zycznego sensu. W powy»szym przykªadzie oznaczaªoby to pozostawienie zª¡cza 1 prowadzonym w momencie stwierdzenia zap¦tlenia.
Klekotanie
Klekotanie polega na tym, »e odlegªo±ci czasowe miedzy traeniami obiektu
na ró»ne ograniczenia s¡ coraz mniejsze. W ten sposób symulator musi analizowa¢ coraz wi¦cej wydarze« w kwantach czasu tej samej dªugo±ci. Sytuacja
taka mo»e towarzyszy¢ nast¦puj¡cej kombinacji okoliczno±ci:
• Obiekt jest w pobli»u co najmniej dwóch ogranicze«.
• Zetkniecie obiektu z ka»dym z ogranicze« odbija obiekt od niego i przybli»a do innego.
• Droga do kolejnego ograniczenia zajmuje coraz krótszy przedziaª czasu.
Idea klekotania zostaªa zaprezentowana w lewej cz¦±ci Rysunku 5. Cz¦±¢
prawa dostarcza ilustracji. Dochodzi tam do nast¦puj¡cej sekwencji zdarze«:
1. Zewn¦trzny moment τ w zª¡czu 3 przybli»a zª¡cze 2 do zª¡cza 4.
36
Rysunek 5: Klekotanie. Lewo: idea. Prawo: ilustracja. Zª¡cze 1 jest blisko
ziemi, k¡t zª¡cza 3 jest blisko swojej najmniejszej warto±ci. Dodatkowo w
zª¡czu 3 dziaªa zewn¦trzny moment dopychaj¡cy to zª¡cze do ograniczenia.
Obiekt porusza si¦ w stron¦ ziemi z pr¦dko±ci¡ v .
2. W pewnym momencie ograniczenie na k¡t 3 staje si¦ aktywne; w tym
momencie p¦d zª¡cza 2 jest przekazany do zª¡cza 4.
3. Obiekt ci¡gle opada, wi¦c zª¡cze 1 w pewnym momencie styka si¦
z ziemi¡. Ze wzgl¦du na zewn¦trzny moment τ , zaraz po zetkni¦ciu z ziemi¡ zª¡cze to jest ±ci¡gane w stron¦ zª¡cza 4. W momencie
zderzenia z ziemi¡, pr¦dko±¢ zª¡cza 4 zmienia si¦ i porusza si¦ ono w
stron¦ zª¡cza 2 i p¦tla zdarze« zamyka si¦.
Poniewa» caªy obiekt jest coraz ni»ej, odcinki czasu mi¦dzy zdarzeniami s¡
coraz krótsze. W rzeczywisto±ci przyniosªoby to taki efekt, »e niesko«czona
sekwencja zdarze« odbyªaby si¦ w sko«czonym czasie i obiekt klekocz¡c
wyl¡dowaªby na ziemi. Nie jest natomiast mo»liwe aby tak¡ niesko«czon¡
p¦tl¦ zdarze« zasymulowa¢.
Remedium na klekotanie polega na pozostawieniu ogranicze« aktywnymi
je±li s¡ dezaktywowane zbyt wiele razy w ci¡gu krótkiego przedziaªu czasu.
Bª¦dy numeryczne
Kªopoty zwi¡zane z bª¦dami numerycznymi zostaªy zasygnalizowane ju» w sekcji 3. Przypomnijmy: na skutek niedokªadno±ci prowadzonych oblicze« ogniwa mog¡ si¦ wydªu»a¢ lub skraca¢. Dodatkowo mo»e nam zale»e¢ aby k¡ty
mi¦dzy niektórymi ogniwami pozostawaªy staªe. Niedokªadno±ci numeryczne
mog¡ temu przeszkadza¢. Proponujemy systematyczne remedium na te problemy oparte na idei regulatora PD. Rozwa»my δ² > 0 i równanie ró»niczkowe
²̈ = −²/δ²2 − 2²̇/δ² .
37
(33)
Rysunek 6: Problemy z dyskretyzacj¡ czasu. Zª¡cza 1 i 3 stoj¡ na ziemi.
Niewielkie przyspieszenia stabilizuj¡ce dªugo±¢ ogniw przekªadaj¡ si¦ na
dowolnie du»e przyspieszenie zª¡cza 2.
Z teorii równa« ró»niczkowych zwyczajnych wiemy, »e bez wzgl¦du na warunki
pocz¡tkowe funkcja ² opisana powy»szym równaniem zbiega do zera, przy
czym jej zbie»no±¢ asymptotyczna jest wykªadnicza ze staª¡ czasow¡ δ² .
Powiedzmy, »e pewna dynamiczna wielko±¢ (dªugo±¢ ogniwa lub k¡t)
powinna mie¢ staª¡ warto±¢ ȳ . Tymczasem jej faktyczna warto±¢ w danej
chwili to y . Powiedzmy ponadto, »e jeste±my w stanie obliczy¢ pr¦dko±¢
zmian y , czyli ẏ . Staªo±¢ y jest wymuszana przez odpowiednie równanie,
w którym parametrem jest przyspieszenie (lub przyspieszenie k¡towe). Proponowane tu remedium na bª¦dy numeryczne polega na tym aby potraktowa¢
² jako bª¡d wielko±ci y , czyli przyj¡¢
² = y − ȳ,
²̇ = ẏ,
oraz zmodykowa¢ przyspieszenie (przyspieszenie k¡towe) w odpowiednim
równaniu o praw¡ cz¦±¢ (33). W ten sposób pojawiaj¡ce si¦ bª¦dy numeryczne powinny zanika¢ wykªadniczo ze staª¡ czasow¡ δ² . Pozostaje pytanie jak dobra¢ t¡ staª¡. Otó» powinna ona by¢ kilkukrotnie (np. 5-krotnie)
wi¦ksza ni» staªa δ u»ywana jako odlegªo±¢ mi¦dzy dyskretnymi momentami
symulacji. Chodzi o to, aby wykªadniczy zanik bª¦dów mógª by¢ dobrze
przybli»any kawaªkami, w których przyspieszenia s¡ staªe.
Problemy z dyskretyzacj¡ czasu
Okre±lenie odlegªo±ci mi¦dzy dyskretnymi chwilami symulacji jest zagadnieniem, które znalazªo systematyczne rozwi¡zanie, np. w postaci metody
Rungego-Kutty numerycznego rozwi¡zywania ukªadów równa« ró»niczkowych.
38
Tutaj proponujemy podej±cie znacznie prostsze, które mo»na nazwa¢ metod¡
Eulera z cofaniem si¦ przy detekcji bª¦dów. Przyjmujemy mianowicie, »e
odlegªo±¢ mi¦dzy dyskretnymi chwilami symulacji jest staªa dopóki pewne
oszacowanie bª¦du jest dostatecznie maªe. Je±li oszacowanie to przekracza
pewien próg, wówczas przedziaª czasu jest dzielony na dwie poªowy. Obie
poªowy s¡ tak»e poddawane testowi na bª¦dy i ewentualnie dzielone (i tak
rekurencyjnie).
Najpierw zademonstrujemy na przykªadzie sk¡d mog¡ si¦ bra¢ bardzo
du»e bª¦dy numeryczne. Przyjrzyjmy si¦ Rysunkowi 6. Zaªó»my, »e na skutek
bª¦dów numerycznych ogniwa s¡ nieco krótsze ni» ich nominalne dªugo±ci.
Powiedzmy, »e bª¦dy te s¡ kompensowane przyspieszeniami od±rodkowymi
ko«ców ogniw. Nawet je±li te przyspieszenia s¡ maªe, przyspieszenie zª¡cza
2 jest tym wi¦ksze, im k¡t mi¦dzy ogniwami jest bli»szy π i mo»e by¢ dowolnie du»e. W rezultacie, w ci¡gu kwantu czasu o z góry zadanej dªugo±ci
zª¡cze 2 mo»e zosta¢ rozp¦dzone do dowolnej pr¦dko±ci, po czym poci¡gnie
za sob¡ pozostaªe zª¡cza. Daªoby to zabawny efekt wystrzeliwania obiektu
w gór¦. Efekt ten nie miaªby miejsca w rzeczywisto±ci, poniewa» przyspieszenie zostaªoby zredukowane kiedy tylko bª¦dy dªugo±ci ogniw zostaªyby skompensowane a to staªoby si¦ bardzo szybko.
Powy»szy przykªad mo»na uogólni¢ w nast¦puj¡cy sposób: kiedy k¡ty
mi¦dzy kilkoma s¡siednimi ogniwami s¡ bliskie π , za± zewn¦trzne zª¡cza
takiego ukªadu s¡ w jaki± sposób usztywnione, wówczas umiarkowane przyspieszenia zª¡cz stabilizuj¡ce dªugo±ci ogniw mog¡ si¦ przeªo»y¢ na bardzo
du»e przyspieszenia tych samych zª¡cz prostopadªe do ogniw. Przyspieszenia
te dziaªaj¡ jednak bardzo krótko i je±li symulator zaªo»y ich staªo±¢ przez
do±¢ dªugi kwant czasu, mo»e to doprowadzi¢ do absurdalnych przesuni¦¢
i pr¦dko±ci zª¡cz.
Jako remedium na trudno±ci podobne do opisanych powy»ej proponujemy
cofanie czasu przy stwierdzeniu znacznych bª¦dów numerycznych. Powiedzmy,
»e na pocz¡tku czasu przyspieszenie i-tego zª¡cza wynosi ai za± po tym kwancie czasu wynosi a0i . Nie wiemy jak przyspieszenie zmieniaªo si¦ w tym czasie.
Posªu»ymy si¦ wi¦c heurystyk¡, która mówi, »e bª¡d oszacowania pr¦dko±ci
pod koniec kwantu czasu zwi¡zany ze zmian¡ przyspieszenia jest na poziomie
ka0i − ai kδ.
Odpowiada to sytuacji, w której przyspieszenie zmieniªo si¦ na a0i natychmiast po rozpocz¦ciu kwantu czasu i takie ju» pozostaªo. Je±li dla pewnego i
powy»szy bª¡d przekracza pewien próg (np. równy 1), wówczas przywracany
jest stan obiektu sprzed kwantu czasu, po czym symulacja wydarze« z tego
kwantu odbywa si¦ w dwóch etapach równej dªugo±ci.
39
Cz¦±¢ III
Przykªadowe obiekty
Niektóre pªaskie ªa«cuchy kinematyczne odgrywaj¡ rol¦ obiektów testowych
sªu»¡cych do ewaluacji i porównywania rozmaitych algorytmów. Zwykle dynamika takich obiektów jest znana w postaci zwartych wzorów na drugie
pochodne (po czasie) wszystkich zmiennych stanu. Prezentujemy kilka takich przykªadowych obiektów. W znacznej cz¦±ci nie speªniaj¡ one zaªo»enia,
które towarzyszyªo nam w poprzednich cz¦±ciach niniejszego dokumentu ich masa mo»e by¢ rozlokowana w ogniwach a nie jedynie w zª¡czach.
13 Wahadªa z jednym nieruchomym zª¡czem
Niniejszy rozdziaª po±wi¦cony jest pªaskim ªa«cuchom kinematycznym których jedno z kra«cowych zª¡cz (powiedzmy, »e pierwsze) jest nieruchome. S¡
one sterowane przez przykªadanie momentów siª do zª¡cz; zwykle zarówno
do ruchomych jak i do nieruchomego. Obiekty tego rodzaju s¡ zwykle interpretowane jako wahadªa (and. pendulum). Problem sterowania z nimi
zwi¡zany polega na tym aby je stabilizowa¢ pionowo w górze lub doprowadzi¢
do ustawienia pionowo w górze i wtedy stabilizowa¢.
13.1 Jedno ogniwo
Jednym z najprostszych obiektów dynamicznych jest pojedyncze wahadªo [6],
skªadaj¡ce si¦ ze sztywnego ogniwa o jednostkowej dªugo±ci i jednostkowej
masie skupionej w jego ko«cu, Rys. 7. Stan obiektu opisywany jest przez k¡t
θ mi¦dzy wahadªem a pionem oraz pr¦dko±¢ k¡tow¡ θ̇. Dynamika obiektu
Rysunek 7: Pojedyncze wahadªo: Ša«cuch z jednym zª¡czem nieruchomym
i jednym ogniwem.
40
Rysunek 8: Podwójne wahadªo: Ša«cuch z jednym zª¡czem nieruchomym
i dwoma ogniwami.
opisana jest równaniem
θ̈ = sin θ + τ
przy czym τ jest to moment przykªadany do nieruchomego zª¡cza o takim
kierunku jak k¡t θ. Na ogóª przyjmuje si¦, »e τ ∈ [−0.225, 0.225] a celem
sterowania wahadªem jest ustawienie wahadªa w górze i jego stabilizacja.
Osi¡gni¦cie tego celu jest o tyle kªopotliwe, »e maksymalny moment nie
wystarczy aby przenie±¢ wahadªo z doªu do góry i wobec tego nale»y je
rozbuja¢.
13.2 Dwa ogniwa
Manipulator z jednym zª¡czem nieruchomym i dwoma ogniwami nosi nazw¦
Acrobot i jest interpretowany jako akrobata, który buja si¦ na dr¡»ku operuj¡c
jedynie momentem siªy w biodrach. W poni»szym opisie zaªo»ymy, »e mo»e
tak»e przykªada¢ moment siªy w nadgarstku.
Mamy 4 zmiennych opisuj¡cych stan: k¡ty θ = [θ1 , θ2 ]T mi¦dzy s¡siednimi
ogniwami oraz ich pochodne po czasie θ̇ = [θ̇1 , θ̇2 ]T . Sterowanie ªa«cuchem
odbywa si¦ poprzez przykªadanie momentów siªy τ1 , τ2 do zª¡cz. Momenty
te maj¡ taki kierunek jak k¡ty θ1 , θ2 , odpowiednio. Przyspieszenia k¡towe
zª¡cz wynikaj¡ z momentów jako rozwi¡zanie nast¦puj¡cego równania.
B(θ)θ̈ + c(θ, θ̇) + h(θ) = τ
41
gdzie
B1,2
¡
¢
2
2
B1,1 = m1 lc1
+ m2 l12 + lc2
+ 2l1 lc2 cos(θ2 ) + I1 + I2
¡2
¢
= B2,1 = m2 lc2
+ l1 lc2 cos(θ2 ) + I2
2
+ I2
B2,2 = m2 lc2
c1 = − m2 l1 lc2 θ̇22 sin(θ2 ) − 2m2 l1 lc2 θ̇1 θ̇2 sin(θ2 )
c2 =m2 l1 lc2 θ̇12 sin(θ2 )
h1 =(m1 lc1 + m2 l1 )g cos(θ1 ) + m2 lc2 g cos(θ1 + θ2 )
h2 =m2 lc2 g cos(θ1 + θ2 ).
Staªe pojawiaj¡ce si¦ w powy»szych wzorach maj¡ warto±ci i interpretacje
przedstawione w poni»szej tabeli.
staªa
l1 , l2
lc1 , lc2
m1 , m2
I1 , I2
opis
dªugo±ci ogniw
±rodki masy ogniw
masy ogniw
inercje ogniw
warto±¢
1.0
0.5
1.0
1.0
13.3 Trzy ogniwa
Manipulator z jednym zª¡czem nieruchomym i trzema ogniwami zostaª wykorzystany do demonstracji pewnego algorytmu uczenia si¦ w [7]. Miaª tam
interpretacj¦ ramienia podnosz¡cego ci¦»arek przymocowany na ko«cu ostatniego ogniwa (Rys. 9).
Mamy 6 zmiennych opisuj¡cych stan: k¡ty θ = [θ1 , θ2 , θ3 ]T mi¦dzy s¡siednimi ogniwami oraz ich pochodne po czasie θ̇ = [θ̇1 , θ̇2 , θ̇3 ]T . Sterowanie
ªa«cuchem odbywa si¦ poprzez przykªadanie momentów siªy τ1 , τ2 , τ3 do zª¡cz.
Przyspieszenia k¡towe zª¡cz wynikaj¡ z momentów jako rozwi¡zanie nast¦puj¡cego równania.
B(θ)θ̈ + c(θ, θ̇) + h(θ) = τ
42
Rysunek 9: Manipulator z jednym zª¡czem nieruchomym i trzema ogniwami.
gdzie
B1,2
B1,3
B2,3
B1,1
= B2,1
= B3,1
B2,2
= B3,2
B3,3
= 3 + 2 cos θ2 + m(3 + 2 cos θ2 + 2 cos(θ2 + θ3 ) + 2 cos θ3 )
= 1 + cos θ2 + m(2 + cos θ2 + cos(θ2 + θ3 ) + 2 cos θ3 )
= m(1 + cos(θ2 + θ3 ) + cos θ3 )
= 1 + m2(1 + cos θ3 )
= m(1 + cos θ3 )
=m
43
c1 = − θ̇1 θ̇2 2(sin θ2 + m(sin θ2 + sin(θ2 + θ3 )))
− θ̇1 θ̇3 m2(sin(θ2 + θ3 ) + sin θ3 )
− θ̇22 (sin θ2 + m(sin θ2 + sin(θ2 + θ3 )))
− θ̇2 θ̇3 m2(sin(θ2 + θ3 ) + sin θ3 )
− θ̇32 m(sin(θ2 + θ3 ) + sin θ3 )
c2 =θ̇12 (sin θ2 + m(sin θ2 + sin(θ2 + θ3 )))
− θ̇1 θ̇3 m2 sin θ3
− θ̇2 θ̇3 m2 sin θ3
− θ̇32 m sin θ3
c3 =θ̇12 m(sin(θ2 + θ3 ) + sin θ3 )
+ θ̇1 θ̇2 m2 sin θ3
+ θ̇22 m sin θ3
h1 =g((2 + m) cos θ1 + (1 + m) cos(θ1 + θ2 ) + m cos(θ1 + θ2 + θ3 ))
h2 =g((1 + m) cos(θ1 + θ2 ) + m cos(θ1 + θ2 + θ3 ))
h3 =gm cos(θ1 + θ2 + θ3 ).
We wzorach na h, staªa g = 9.81 oznacza ziemskie przyspieszenie grawitacyjne.
14 Wahadªa z jednym zª¡czem na prostej
Niniejszy rozdziaª po±wi¦cony jest takim obiektom, »e ruch jednego z ich
kra«cowych zª¡cz jest ograniczony do prostej. Obiekty tego rodzaju s¡
zwykle interpretowane jako wielostopniowe wahadªa przymocowane do wózka
(owo szczególne zª¡cze). Sterowanie obiektem polega na przykªadaniu siªy
do wózka a jego celem jest stabilizacja wahadªa pionowo w górze.
14.1 Jedno ogniwo
Rozwa»amy zª¡cze, którego ruch jest ograniczony do prostej, a które jest
zwi¡zane z pojedynczym ogniwem. Obiekt ten jest bardzo cz¦sto bywa u»ywany do testowania algorytmów uczenia si¦ przez wzmacnianie. Jest interpretowany jako wózek z wahadªem, przy czym sterowanie wahadªem odbywa
si¦ wyª¡cznie przez przykªadanie siªy do wózka. Istniej¡ dwa warianty celu
44
Rysunek 10: Pojedyncze wahadªo na wózku.
sterowania. Wariant pierwszy (inverted pendulum [2, 1]) polega na stabilizacji wahadªa w górze. Drugi (Cart-Pole Swing-Up [4, 5]) polega na tym aby
wahadªo rozbuja¢, ustawi¢ pionowo w górze i dopiero wtedy stabilizowa¢.
Zª¡cze, którego ruch jest ograniczony do prostej b¦dziemy dalej nazywa¢
wózkiem za± jedyne ogniwo wahadªem.
Mamy cztery zmienne stanu: pozycja wózka x, k¡t θ mi¦dzy wahadªem
a pionem oraz ich pochodne po czasie ẋ, θ̇. Zmienn¡ steruj¡c¡ jest siªa F
przykªadana do wózka. Dynamika obiektu jest opisywana przez nast¦puj¡ce
równania.
Ã"
#
! ·
¸−1
−F − mp lθ̇2 sin θ + µc sgn ẋ
µp θ̇ −1 4 mp cos2 θ
θ̈ =
cos θ + g sin θ +
l
−
mc + mp
mp l
3 mc + mp
F + mp l[θ̇2 sin θ − θ̈ cos θ] − µc sgnẋ
ẍ =
.
mc + mp
Pojawiaj¡ce si¦
x
xmax = 2.4
θ
F ∈ [−10, 10]
g = 9.81
mc = 1
mp = 0.1
l = 0.5
µc = 0.0005
µp = 0.000002
powy»ej staªe maj¡ nast¦puj¡ce interpretacje i warto±ci:
pozycja wózka,
max. akceptowalna warto±¢ |x|,
k¡t wahadªa,
siªa aplikowana do wózka (w przypadku problemu
stabilizacji stosuje si¦ raczej F ∈ {−10, 10}),
ziemskie przyspieszenie grawitacyjne,
masa wózka,
masa wahadªa,
poªowa dªugo±ci wahadªa,
wspóªczynnik tarcia w ruchu wózka,
wspóªczynnik tarcia w ruchu obrotowym wahadªa.
45
Rysunek 11: Podwójne wahadªo na wózku.
14.2 Dwa ogniwa
Obiektem dynamicznym stanowi¡cym wi¦ksze ni» wózek z wahadªem wyzwanie dla algorytmów sterowania jest wózek z podwójnym wahadªem [3], Rys.
11. Obiekt jest sterowany przez siª¦ u przykªadan¡ do wózka. Celem sterowania jest stabilizacja wahadªa pionowo w górze. Stan obiektu opisywany jest
przez poªo»enie wózka, x, k¡ty θ1 , θ2 i pochodne tych wielko±ci po czasie.
Je±li oznaczmy
q = [x, θ1 , θ2 ]T
to dynamika obiektu jest opisywana przez równanie
B(q)q̈ + C(q, q̇)q̇ + h(q) = f (u)
gdzie4


d1
d2 cos θ1
d3 cos θ2
d4
d5 cos(θ1 − θ2 )  ,
B(q) =  d2 cos θ1
d3 cos θ2 d5 cos(θ1 − θ2 )
d6


0
−d2 sin(θ1 )θ̇1
−d3 sin(θ2 )θ̇2
C(θ, θ̇) =  0
0
d5 sin(θ1 − θ2 )θ̇2  ,
0 −d5 sin(θ1 − θ2 )θ̇1
0


 
0
u
h(θ) =  −f1 sin θ1  ,
f (u) =  0  ,
−f2 sin θ2
0
4 Wzory
zostaªy przepisane z [3] prawdopodobnie bez bª¦du. Poniewa» jednak w tym
przypadku trudno wykluczy¢ bª¦dy, materiaª z sekcji 14.2 nale»y raczej traktowa¢ jako
niedoskonaªe tªumaczenie odpowiedniej cz¦±ci raportu [3] i to do niego zainteresowany
czytelnik powinien si¦gn¡¢ implementuj¡c ten obiekt.
46
Tabela 1: Staªe i wspóªczynniki zwi¡zane z wózkiem z podwójnym wahadªem
staªe
d1
d2
d3
d4
d5
d6
f1
f2
= m0 + m1 + m2
= m1 l1 + m2 L1
= m2 l2
= m1 l12 + m2 L21 + I1
= m2 L1 l2
= m2 l22 + I2
= (m1 l1 + m2 L1 )g
= m2 l2 g.
g
m0
m1
m2
L1
L2
li
Ii
wspóªczynniki
9.81m/s , przyspieszenie grawitacyjne
1.5kg , masa wózka
0.5kg , masa 1-szego ogniwa
0.75kg , masa 2-go ogniwa
0.5m, dªugo±¢ 1-szego ogniwa
0.75m, dªugo±¢ 2-go ogniwa
Li /2, odlegªo±¢ mi¦dzy pocz¡tkiem
a ±rodkiem ci¦»ko±ci i-tego ogniwa
Mi L2i /12, inercja i-tego ogniwa.
2
Wspóªczynniki oraz staªe pojawiaj¡ce si¦ w powy»szych wzorach maj¡ znaczenie i warto±ci przedstawione w Tabeli 1.
14.3 Trzy ogniwa
Obiektem dynamicznym stanowi¡cym du»e wyzwanie dla algorytmów sterowania jest potrójne wahadªo na wózku [8], Rys. 12. Obiekt jest sterowany przez
siª¦ u przykªadan¡ do wózka. Celem sterowania jest stabilizacja wahadªa pionowo w górze. W odró»nieniu od poprzednio omawianych obiektów typu
wahadªo na wózku, w tym przypadku masa obiektu rozmieszczona jest w ogniwach nierównomiernie. Stan obiektu opisywany jest przez poªo»enie wózka,
x, k¡ty θ1 , θ2 , θ3 i pochodne tych wielko±ci po czasie. Je±li oznaczmy
q = [x, θ1 , θ2 , θ3 ]T
to dynamika obiektu jest opisywana przez równanie
B(q)q̈ + C(q, q̇)q̇ + h(q) = f (q, u)
gdzie5


A1
A2 cos(θ1 )
A3 cos(θ2 )
A4 cos(θ3 )
 A9 cos(θ1 )
A10
A11 cos(θ1 − θ2 ) A12 cos(θ1 − θ3 ) 
,
B(q) = 
 A18 cos(θ2 ) A19 cos(θ1 − θ2 )
A20
A21 cos(θ2 − θ3 ) 
A28 cos(θ3 ) A29 cos(θ1 − θ3 ) A30 cos(θ2 − θ3 )
A31
5 Wzory
zostaªy przepisane z [8] prawdopodobnie bez bª¦du. Poniewa» jednak w tym
przypadku trudno wykluczy¢ bª¦dy, materiaª z sekcji 14.3 nale»y raczej traktowa¢ jako
niedoskonaªe tªumaczenie odpowiedniej cz¦±ci artykuªu [8] i to do niego zainteresowany
czytelnik powinien si¦gn¡¢ implementuj¡c ten obiekt.
47
Tabela 2: Staªe pojawiaj¡ce si¦ we wzorach opisuj¡cych dynamik¦ wózka
z potrójnym wahadªem.
Staªa
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
A16
A17
A18
A19
A20
warto±¢
M + m1 + m2 + m3
m1 l1 + (m2 + m3 )L1
m2 l2 + m3 L2
m3 l3
Cc
−m1 l1 − (m2 + m3 )L1
−(m2 l2 + m3 L2 )
−m3 l3
m1 l1 + (m2 + m3 )L1
I1 + m2 l12 + (m2 + m3 )L21
(m2 l2 + m3 L2 )L1
m3 l3 L1
C1 + C2
(m2 l2 + m3 L2 )L1
−C2
m3 l3 L1
−g(m1 l1 + m2 L1 + m3 L1
m2 l2 + m3 L2
(m2 l2 + m3 L2 )L1
I2 + m3 L22 + m2 l22
Staªa
A21
A22
A23
A24
A25
A26
A27
A28
A29
A30
A31
A32
A33
A34
A35
A36
A37
A38
A39
A40
warto±¢
m3 l3 L2
−(m2 l2 + m3 L2 )L1
−C2
C2 + C3
m3 l3 L2
−C3
−g(m2 l2 + m3 L2 )
m3 l3
m3 l3 L1
m3 l3 L2
I3 + m3 l32
C3
−m3 l3 L1
−gm3 l3
−m3 l3 L2
−C3
1.3
0.506
0.219
0.568


A5
A6 sin(θ1 )θ̇1
A7 sin(θ2 )θ̇2
A8 sin(θ3 )θ̇3

 0
A13
A14 sin(θ1 − θ2 )θ̇2 + A15
A16 sin(θ1 − θ3 )θ̇3
,
C(q, q̇) = 
 0 A22 sin(θ1 − θ2 )θ̇1 + A23
A24
A25 sin(θ2 − θ3 )θ̇3 + A26 
0
A33 sin(θ1 − θ3 )θ̇1
A35 sin(θ2 − θ3 )θ̇2 + A36
A32


0
 A17 sin(θ1 ) 

h(q) = 
 A27 sin(θ2 )  ,
A34 sin(θ3 )

Ks u − sign(x)µx A37
 − sign(θ1 )µ1 A38 

f (q, u) = 
 − sign(θ2 )µ2 A39  .
− sign(θ3 )µ3 A40

Staªe pojawiaj¡ce si¦ w powy»szych wzorach zostaªy zestawione w tabeli 2
oraz wspóªczynniki zestawione w tabeli 3.
48
Tabela 3: Warto±ci i znaczenie wspóªczynników rz¡dz¡cych dynamik¡ wózka
z potrójnym wahadªem.
g
M
m1
m2
m3
l1
l2
l3
L1
L2
L3
I1
I2
I3
Cc
C1
C2
C3
Ks
µx
µ1
µ2
µ3
9.8m/s2 , przyspieszenie grawitacyjne
1.014kg , masa wózka
0.4506kg , masa pierwszego ogniwa
0.219kg , masa drugiego ogniwa
0.0568kg , masa trzeciego ogniwa
0.37m, odlegªo±¢ od pocz¡tku 1-szego ogniwa do ±rodka jego masy
0.3m, odlegªo±¢ od pocz¡tku 2-go ogniwa do ±rodka jego masy
0.05m, odlegªo±¢ od pocz¡tku 3-go ogniwa do ±rodka jego masy
0.43m, dªugo±¢ 1-szego ogniwa
0.33m, dªugo±¢ 2-szego ogniwa
0.13m, dªugo±¢ 3-szego ogniwa
0.0042kgm2 , intercja 1-szego ogniwa wzgl. jego ±rodka masy
0.0012kgm2 , intercja 2-go ogniwa wzgl. jego ±rodka masy
0.00010609kgm2 , intercja 3-go ogniwa wzgl. jego ±rodka masy
5.5N ms, wpóªczynnik tarcia dynamicznego wózka o podªo»e
0.00026875N ms, wsp. tarcia dynamicznego 1-szego zª¡cza
0.00026875N ms, wsp. tarcia dynamicznego 2-go zª¡cza
0.00026875N ms, wsp. tarcia dynamicznego 3-go zª¡cza
24.7125N/V , wzmocnienie sterowanie/siªa przykªadana do wózka
0.07, wsp. tarcia coulombowskiego wózka
0.003, wsp. tarcia coulombowskiego 1-szego ogniwa
0.003, wsp. tarcia coulombowskiego 2-go ogniwa
0.003, wsp. tarcia coulombowskiego 3-go ogniwa
Rysunek 12: Potrójne wahadªo na wózku.
49
Literatura
[1] C. W. Anderson, Learning to Control an Inverted Pendulum Using
Neural Networks, IEEE Control System Magazine, vol. 9, pp. 31-37,
April 1989.
[2] A. G. Barto, R. S. Sutton, and C. W. Anderson, Neuronlike Adaptive
Elements That Can Learn Dicult Learning Control Problems, IEEE
Transactions on Systems, Man, and Cybernetics, vol. 13(5), pp. 834-846,
1983.
[3] A. Bogdanov, Optimal Control of a Double Inverted Pendulum on a
Cart, Technical Report CSE-04-006, December 2004.
[4] K. Doya, Ecient Nonlinear Control with Actor-Tutor Architecture,
Advances in Neural Information Processing Systems, vol. 9, pp. 10121018, MIT Press: Cambridge, MA, 1997.
[5] K. Doya, Reinforcement Learning in Continuous Time and Space, Neural Computation, 12:243-269, 2000.
[6] T. J. Perkins, A. G. Barto, Lyapunov Design for Safe Reinforcement
Learning, Journal of Machine Learning Research 3 (2002) 803-832.
[7] M. T. Rosenstein and A. G. Barto, Robot Weightlifting By Direct Policy Search, Proceedings of The 17th International Joint Conference on
Articial Intelligence, Seattle, Washington, August 2001, pp. 839-846.
[8] J. Si and Y.-T. Wand, On-Line Learning Control by Association and
Reinforcement, IEEE Transactions on Neural Networks, vol. 12, pp.
264-276, March 2001.
50

Podobne dokumenty