Opis układów niedosterowanych (underactuated multibody systems)
Maciej Romaniuk, e-mail: 269926@pw.edu.pl
12 listopada 2018
1 Różnice między otaczającym nas światem, a
metodami stosowanymi w klasycznej robotyce/mechanice
1.1 Mechanika lotu zwierząt, a pojazdy latające[1]
Współczesne samoloty projektowane są tak by zapewnić jak największą ekono- miczność lotu na stałej wysokości i w bezwietrznej pogodzie. Napędy wytwa- rzają ciąg bardzo efektywnie, a kształt skrzydeł pozwala na osiąganie dużych prędkości. Łatwo jest dojść do mylnego wniosku, że człowiek nie jest w sta- nie nauczyć się nic więcej od natury. Istnieje jednak zasadnicza różnica. Tak jak wspomniano, maszyny latające projektuje się głównie z myślą o spokojnym (konserwatywnym) locie, w którym kąt natarcia skrzydła nie zbliża się do kąta przeciągnięcia (kąt natarcia, w którym zanika siła nośna). W tym zakresie ruchu aerodynamika skrzydła jest doskonale znana inżynierom. Ptaki natomiast czę- sto wykonują manewry nie uwzględniane w ludzkich projektach np. lądowanie na gałęzi i znacznie bardziej efektywnie wykorzystują energię.
W rezultacie ptaki są w stanie migrować tysiące kilometrów, korzystając z bar- dzo małych zapasów ”paliwa”. Albatrosy potrafią latać całymi dniami bez po- jedyńczego uderzenia skrzydeł, a koszt energetyczny ich lotu jest nie do od- różnienia od zużycia energii przez ich ciała pozostające w spoczynku. Zwierzęta latające znacząco przewyższają swoją zdolnością manewrową najlepsze maszyny człowieka. Prędkość obrotu samolotu akrobatycznego A-4 Skyhawk wynosi około 720 stopni na sekundę. Jaskółka dymówka natomiast wykonuje ten manewr z prędkością 5000 stopni na sekundę. Nietoperz potrafi rozpędzić się do swej pręd- kości maksymalnej po czym poprzez dwa uderzenia skrzydeł kompletnie zmienić kierunek lotu bez zwalniania, podczas gdy myśliwiec F16 jest w stanie wyko- nać zakręt z maksymalną prędkością około 26 stopni na sekundę. Manewrowość zwierząt przypisywana jest ich niestabilnej aerodynamice.
1.2 Manipulacja[1]
Mimo długiej historii sukcesów w aplikacjacjach przemysłowych i konsumenc- kich, wciąż nie udało się zaprojektować robotycznego ramienia będącego w stanie wykonać sensownego zadania w ludzkim domu. Problem nie wynika jednak jedy- nie z niedoskonałości systemów percepcyjnych lecz z braku zręczności odpowia- dającej ruchom człowieka. Większość manipulatorów wykonuje pracę zgodnie z poniższym schematem:
• Wpierw wybieramy punkty efektora przeznaczone do kontaktu ze środo- wiskiem.
• Następnie wybieramy ścieżkę pozwalającą na doprowadzenie punktów kon- taktowych do celu, unikając przy tym kolizji z otoczeniem.
• Wysterowujemy efektor w nadziei, że został on dobrze ustawiony.
Jeśli maszynie nie uda się doprowadzić do kontaktu z elementem w zadanym miejscu i czasie, efekty mogą być fatalne. W całym procesie pomaga wykorzy-
poprzednie etapu procesu nie odpowiadają ludzkiemu postrzeganiu zadania ma- nipulacji.
1.3 Roboty kroczące, a chód człowieka[1]
Również w zadaniu chodu widać różnice między klasyczną myślą techniczną człowieka, a naturą. Dobrym przykładem na zobrazowanie problemu jest kon- strukcja robota mobilnego ASIMO. Prace nad tą maszyną rozpoczęły się w 1980 roku. Po ujawnieniu projektu był on przez 20 lat uznawany sa szczytowe osiągnięcie w dziedzinie maszyn kroczących.
Rysunek 1: Robot kroczący ASIMO [7].
Po zapoznaniu się z nagraniami obrazującymi ruch tego robota można być pod wrażeniem jego mobilności. Ruchy te jednak cechuje wysoka ”sztywność”, bę- dąca mocno nienaturalną cechą. Ruch ten można porównać do ruchów człowieka nieznającego dynamiki swego ciała tak jakby poruszał nie swoim własnym cia- łem. Jest to spowodowane faktem, iż ASIMO wykorzystuje sprzężenie zwrotne i duże momenty obrotowe w przegubach ciała aby zniwelować wpływ bezwład- ności swojego ciała i wymusić ścisłe przestrzeganie wyznaczonej trajektorii ru- chu. Ruch nóg ASIMO przypomina zatem ruch manipulatorów przemysłowych.
Wadą tej metody jest niemal dwudziestokrotnie większe niż u człowieka zużycie energii [6]. Oprócz tego ASIMO do poruszania się wymaga płaskich przestrzeni, aby jego stopa uzyskała solidne podparcie.
Aby dokładniej wytłumaczyć różnicę, można przeprowadzić prosty ekspery- ment. Należy wykonać kilka swobodnych kroków, a następnie powtórzyć ten ruch w zwolnionym tempie. Seria szybkich kroków jest jak się okazuje znacznie łatwiejsza do wykonania, a powolne kroki mogą nawet wywołać ból. Jest to spo- wodowane faktem, iż człowiek w naturalnym ruchu nie wykorzystuje siły mięśni przez cały cykl ruchu nogi, a jedynie nadaje jej prędkość na początku ruchu.
Reszta trasy jest pokonywana dzięki dynamice kończyny.
Robotem znacznie przewyższającym ASIMO pod względem płynności ruchów, jest konstrukcja Boston Dynamics o nazwie Atlas. Robot ten zdolny jest do wskakiwania na przeszkody, a nawet salt.
Rysunek 2: Robot kroczący atlas [8].
2 Układy niedosterowane
2.1 Definicja [1]
Na podstawie wiadomości z poprzedniego rozdziału, nasuwa się wniosek, że dy- namiki układu nie należy tłumić, lecz ją wykorzystywać w celu zmniejszenia wy- daktów energetycznych i poprawy parametrów ruchu. W uproszczeniu: układy tłumiące dynamikę nazywamy dosterowanymi, a nietłumiące jej niedosterowa- nymi. Układy niedosterowane i dosterowane możemy zdefiniować precyzyjniej na dwa sposoby:
• Układami dosterowanymi nazywamy układy, w których ilość napędów jest równa ilości stopni swobody. Układami niedosterowanymi nazywamy zaś układy o liczbie napędów niższej niż liczba stopni swobody (są to układy z tak zwanymi członami pasywnymi).
• Układami dosterowanymi nazywamy układy, które w dowolnym stanie w dowolnej chwili czasu są w stanie nadać natychmiastowe, dowolne przy- spieszenie. Układami niedosterowanymi nazywamy układy układy, które nie są w stanie nadać dowolnego przyspieszenia w każdym stanie i w każ- dej chwili czasu. Zapis matematyczny definicji układu niedosterowanego drugiego stopnia wygląda następująco:
¨
q = f1(q, ˙q, t) + f2(q, ˙q, t)u rank [f2(q, ˙q, t)] < dim [q]
2.2 Przykładowe układy niedosterowane
Oprócz przykładów opisanych w pierwszym rozdziale, przedstawionych zostanie kilka innych. Prostymi układami niedosterowanymi są:
• Wahadło odwrócone (cart-pole system) - jest to układ składający się z wózka poruszającego się wzdłuż jednej osi, oraz umocowanego do niego wahadła.
Rysunek 3: Wahadło odwrócone [1].
Zadaniem układu jest balansowanie wahadła w górnej pozycji (pozycji nie- stabilnej równowagi). Możemy zapisać równania kinematyki układu jako:
x1=x 0
, x2=x + l sin(θ)
−l cos(θ)
gdzie x1 to wektor położenia wózka na osiach x i y, a x2 to analogiczny wektor położenia środka ciężkości wahadła.
Na tej podstawie jesteśmy w stanie obliczyć energię potencjalną U oraz kinetyczną T układu:
T =21(mc+ mp) ˙x2+ mpx ˙˙θl cos θ +12mpl2θ˙2 U = −mpgl cos θ
Stosujemy Lagranżjan:
τi =dtd
δL δ ˙qi
−δqδL
i
gdzie L to wynik odejmowania energii potencjalnej od kinetycznej. Otrzy- mujemy:
(mc+ mp) ¨x + mpl ¨θ cos θ − mpl ˙θ sin θ = f mpl¨x cos θ + mpl2θ + m¨ pgl sin θ = 0
Równania ruchu wahadła odwróconego, możemy zapisać w standardowej formie manipulatorowej jako:
M (q) ¨q + C (q, ˙q) ˙q = τg(q) + Bu gdzie:
M (q) =mc+ mp mpl cos θ mpl cos θ mpl2
, C (q, ˙q) =0 −mpl ˙θ sin θ
0 0
,
τg(q) =
0
−mpgl sin θ
, B =1 0
W celu obliczenia f2, należy udowodnić odwracalność macierzy M (ze źródła wiemy, że macierz inercji jest zawsze odwracalna).
q =¨ M−1(q) τg(q) − M−1C (q, ˙q) ˙q + M−1(q) B u = f1(q, ˙q, t) + f2(q, ˙q, t)u
Wyznacznik macierzy M wynosi:
detM (q) = mcmpl2+ m2pl2sin2θ
Wyznacznik ten jest zawsze dodatni więc macierz odwrotna istnieje. Ma- cierz dopełnień algebraicznych wynosi:
Md(q) =
mpl −mpl cos θ
−mpl cos θ mc+ mp
Macierz odwrotna to:
M−1(q) = MDT(q) · detM (q)1 =
mpl2 mcmpl2+m2pl2sin2θ
−mpl cos θ mcmpl2+m2pl2sin2θ
−mpl cos θ mcmpl2+m2pl2sin2θ
mc+mp
mcmpl2+m2pl2sin2θ
Następnie:
M−1(q) B = M−1(q)1 0
=
l
− cos θ
·m 1
cl+mpl sin2θ
Na podstawie tego widzimy, że rząd badanej macierzy wynosi 1 lub 2 w zależności od kąta wychylenia wahadła. Wektor pozycji q ma natomiast zawsze wymiar 2. Wynika z tego niedosterowanie układu.
rank [f2(q, ˙q, t)] = rankM−1(q) B ¬ 2 = dim [q] = dimx θ
• układ ”żuraw” - bardzo podobna konstrukcja do wahadła odwróconego, lecz wahadło zwisa pionowo w dół.
Rysunek 4: Żuraw [5].
Zadaniem układu regulacji jest takie sterowanie ruchem wózka, aby zmniej- szyć niepożądane chwianie się ciężkiego ładunku umieszczonego na końcu wahadła.
• Acrobot - układ składający się z dwóch członów podobny do dwustopnio- wego wahadła. Pomiędzy członami znajduje się napęd.
Rysunek 5: Acrobot [1].
Podobnie jak w przypadku wahadła odwróconego, zadaniem układu jest balansowanie w pozycji równowagi niestabilnej czyli w górnym pionowym położeniu. Równania kinematyki prezentują się następująco:
x1= l1s1
−l1c1
, x2= x1+ l2s1+2
−l2c1+2
gdzie x1to wektor położenia środka ciężkości członu pierwszego na osiach x i y, a x2to analogiczny wektor położenia środka ciężkości drugiego członu.
Obliczamy energię potencjalną i kinetyczną:
T = T1+ T2 T1= 12I1q˙12
T2=12 m2l21+ I2+ 2m2l1lc2c2 ˙q21+12I2q˙22+ (I2+ m2l1lc2) ˙q1q˙2
U = −m1glc1c1− m2g (l1c1+ lc2c1+2) Po zastosowaniu równania Lagrange’a otrzymujemy:
I1+ I2+ m2l12+ 2m2l1lc2c2 ¨q1+ (I2+ m2l1lc2c2) ¨q2− 2m2l1lc2s2q˙1q˙2− m2l1lc2s2q˙22+ m1glc1s1+ m2g (l1s1+ lc2s1+2) = 0
(I2+ m2l1lc2c2) ¨q1+ I2q¨2+ m2l1lc2s2q˙21+ m2glc2s1+2= τ
Zadanie sterowania realizuje się poprzez zastosowanie dwóch regulatorów.
Pierwszy z nich oparty na obliczeniach energii kinetycznej służy do prze- mieszczenia układu z pozycji dolnej do górnej. Po osiągnięciu tego celu ukłąd przełącza się na regulator liniowy służący do balansowania układu wokół punktu równowagi.
• Pendubot - konstrukcja niemal identyczna do Acrobot. Jedyną różnicą jest umieszczenie napędu nie w zawiasie łączącym człon pierwszy z członem drugim lecz w bazie członu pierwszego.
Rysunek 6: Pendubot [5].
Zadaniem układu regulacji jest przemieszczenie układu z pozycji równo- wagi stabilnej (układ skierowany pionowo w dół) do punktu równowagi niestabilnej (pionowe w górę) i balansowanie układu dookoła tego punktu.
• Wahadło obrotowe - układ składający się z dwócz członów. Pierwszy z nich obraca się w płaszczyźnie poziomej, drugi zamocowany na końcu pierw- szego może się poruszać w płaszczyźnie pionowej związanej z układem członu pierwszego.
Zadaniem regulacji jest przemieszczenie układu z punktu równowagi sta- bilnej (możliwe dowolne położenie członu pierwszego, człon drugi skiero- wany pionowo w dół), do punktu równowagi niestabilnej (dowolne poło- żenie członu pierwszego, człon drugi ustawiony pionowo w górę).
Rysunek 7: Wahadło obrotowe [5].
• Wahadło z kołem zamachowym - układ składa się z pasywnego wahadła i umieszczonego na jego końcu koła zamachowego. Układ posiada dwa stopnie swobody i pojedyńczy aktuator wywołujący obrót koła.
Rysunek 8: Wahadło z kołem zamachowym [5].
Zadaniem regulacji jest ustawienie układu w pozycji równowagi niestabil- nej.
• System zawieszenia magnetycznego - układ składa się z elektromagnesu, zawieszonego obiektu i cewki. Układ jest szeroko wykorzystywany w prze- myśle np. łożyska magnetyczne i lewitujące pojazdy. Zachowanie układu jest wysoce nieliniowe co wymusza stosowanie wysoko wydajnych układów sterowania.
Zadaniem układu regulacji jest przemieszczenie obiektu z jego pozycji po- czątkowej do porządanej mimo zakłóceń pochodzących z zewnątrz układu.
Rysunek 9: Zawieszenie magnetyczne [5].
• Układ ruchomej równi (ball-and-beam system) - układ skłąda się z trzonu obracająego się w płaszczyznie poziomej, aktuatora obracającego trzon względem bazy (umieszczonego np. w połowie jego długości) i kuli pozba- wionej wiązań, mogącej przesuwać się wzdłuż trzonu.
Rysunek 10: Ball-and-beam [5].
Zadaniem regulacji jest przemieszczenie kuli z dowolnego położenia po- czątkowego do zadanego położenia końcowego poprzez przyłożenie mo- mentu obrotowego do członu.
• Niedosterowany manipulator - układ składający się z dwóch członów z których napędzany jest jedynie pierwszy. W zawiasie łączącym człony, umieszczone są hamulce pozwalające na zatrzymanie drugiego członu w oczekiwanej pozycji po uprzednim wprawieniu go w ruch.
Rysunek 11: Niedosterowany manipulator [2].
Rysunek 12: Schemat działania niedosterowanego manipulatora [2].
3 Zadanie sterowania na prostym przykładzie.
3.1 Linearyzacja sprzężenia zwrotnego [1]
Systemy dosterowane są o wiele prostsze w sterowaniu od systemów niedostero- wanych. Ważną obserwacją jest fakt, że dla systemów dosterowanych o znanej dynamice możliwe jest zastosowanie sprzężenia zwrotnego aby wyeliminować z analizowanego problemu wpływ elementów nieliniowych. Jest to bardzo ko- rzystna właściwość, gdyż układy liniowe są bardzo dobrze znane inżynierom.
Metoda stosowana do wyeliminowania nieliniowości zwie się łinearyzacją sprzę- żenia zwrotnego”.
Rozważmy układ opisany równaniem:
¨
q = f1(q, ˙q, t) + f2(q, ˙q, t) u
Jeśli macierz f2 jest pełnego rzędu to jest odwracalna i możemy wyznaczyć:
u = f2−1(q, ˙q, t) [u0− f1(q, ˙q, t)]
gdzie u’ to nowa wartość sterująca. Po wyrugowaniu u otrzymujemy:
q = u¨ 0
Niestety nie jest możliwe całkowite zlinearyzowanie układów niedosterowanych.
Możliwe jest jednak ich częściowe zlinearyzowanie wokół punktu pracy (w na- szym przypadku jest to punkt równowagi niestabilnej).
3.2 Partial Feedback Linearization na przykładzie waha- dła odwróconego [1]
Analiza systemu zlinearyzowanego lokalnie (wokół określonego punktu pracy, np. dzięki szeregowi Taylor’a) pozwala nam wyciągnąć wnioski na temat zacho- wania systemu nieliniowego. Stabilna linearyzacja w punkcie oznacza ekspone- nencjalną stabilność układu nielinowego dookoła tego punktu.
W poprzednim rozdziale wyznaczono równania manipulatora dla wahadła od- wróconego. Zastępując wszystkie stałe wartością 1 otrzymujemy:
2¨x + ¨θ cos θ − ˙θ2sin θ = f
¨
x cos θ + ¨θ + sin θ = 0 Po wyrugowaniu przyspieszenia kątowego otrzymujemy:
θ = −¨¨ xc − s
¨
x 2 − c2 − sc − ˙θ2s = f Stosujemy linearyzację sprzężenia zwrotnego w formie:
f = 2 − c2 ¨xd− sc − ˙θ2s
gdzie ¨xd to nowa wartość sterująca. W efekcie otrzymujemy:
¨ x = ¨xd θ = −¨¨ xdc − s
3.3 Swing-up na przykładzie wahadła odwróconego (cart- pole system) [1]
W celu doprowadzenia wahadła to punktu równowagi niestabilnej wykorzystać należy metodę zwaną kształtowaniem energii. Po częściowym zlinearyzowaniu układu jego równania prezentują się następująco:
¨ x = ¨xd θ = −¨¨ xdc − s
Energia całkowita wahadła (pamiętając o założeniu, że wszystkie stałe przyj- mują wartość 1) określona jest wzorem:
E(q, ˙q) = 12θ˙2− cos θ
Pożądana przez nas energia wahadła jest równa energii w pożądanym punkcie ustalonym:
Ed= 1
Po wyprowadzeniu pochodnej:
E(q, ˙˙˜ q) = ˙E(q, ˙q) = ˙θ ¨θ + ˙θs = ˙θ[−¨xdc − s] + ˙θs = −¨xdθ cos θ˙
W tym momencie należy zaprojektować kontroler, który doprowadzi do zmniej- szenia uchybu energii do zera:
¨
xd= k ˙θ cos θ ˜E, k > 0 E = −k ˙˙˜ θ2cos2θ ˜E.
Tak zaprojektowany regulator gwarantuje dążenie uchybu do zera. Jednak w sytuacji gdy θ = ˙θ = 0 układ nigdy się nie poruszy. Do tego momentu nie braliśmy pod uwagę ruchu wózka. Do regulacji jego ruchu możemy wykorzystać kontroler PD:
¨
xd = kEθ cos θ ˜˙ E − kpx − kdx˙
Literatura
[1] Russ Tedrake.: Underactuated robotics, 2018
[2] Control of Underactuated Manipulators [online], https//staff.aist.go.jp/h.arai/uam e.html
[3] Mark W. Spong.: ENERGY BASED CONTROL OF A CLASS OF UN- DERACTUATED MECHANICAL SYSTEMS
[4] Mark W. Spong.: Partial Feedback Linearization of Underactuated Mecha- nical Systems
[5] Yang Liu, Hongnian Yu.: A Survey of Underactuated Mechanical Systems [6] Steven H. Collins, Andy Ruina, Russ Tedrake, and Martijn Wisse.: Efficient
bipedal robots based on passive-dynamic walkers
[7] Strona internetowa: https//www.digitaltrends.com/cool-tech/honda- demonstrates-new-version-of-its-asimo-humanoid-robot/
[8] Strona internetowa: https//www.theguardian.com/technology/2013/dec/17/google- boston-dynamics-robots-atlas-bigdog-cheetah