Cytat dnia:  Człowiek mądry więcej uczy się od swoich wrogów, niż głupiec od przyjaciół.  Benjamin Franklin
   /od JB

Zespół MiTM

Zamknij Konf. TMiUM 2014

Zamknij Dydaktyka

Zamknij Koło Naukowe Mechatroniki

Zamknij Laboratorium Mechatroniki i Robotyki

Zamknij Pracownicy

Badania

Zamknij Profil badawczy Zakladu

Zamknij Publikacje

Zamknij Robot kołowo-kroczący "LegVan"

Licznik

 443062 odsłon

 3 odwiedzających online

Robot kołowo-kroczący "LegVan" - Algorytmy sterowania

Algorytmy sterowania robota

Urządzenie techniczne jakim jest robot powinno charakteryzować się pewnym poziomem autonomii. Oznacza to, że podczas działania powinien on wykonywać zadania samodzielnie, pozyskując informacje z czujników. Ruchy robota w takim przypadku oparte są na algorytmie działania i to od niego zależy skuteczność jego funkcjonowania.

Główne zadania stawiane robotowi to utrzymywanie poziomu platformy oraz kroczenie, które możliwe są do realizacji niezależnie. Strategię działania robota oparto o koncepcie sterownika behawioralnego. Podczas pracy pojawia się zdarzenie, a następnie to zdarzenie jest interpretowane i wykonywana odpowiednia reakcja.

Zapewnienie kontaktu kół z podłożem
Poruszanie się robota po nierównej powierzchni oraz przyjęte założenia w modelach wymagają, aby wszystkie koła miały kontakt z podłożem. Dzięki temu uniknie się sytuacji, kiedy robot znajdzie się w niebezpiecznej konfiguracji i utraci jeden lub więcej punktów kontaktu z podłożem.

Jakkolwiek możliwe jest poruszanie się robota na trzech kołach, to przy pewnej zmianie kąta nachylenia podłoża robot może gwałtownie zmienić punkty podparcia, co doprowadzi do niestabilności. W takiej sytuacji robot będzie miał chwilowy kontakt z podłożem tylko dwoma kołami znajdującymi się na przekątnej, co nie jest dopuszczalne ze względu na jego bezpieczeństwo.

Ciągły kontakt z podłożem wszystkich kół robota został zapewniony przez algorytm, który zmienia wysokość podniesienia danej kończyny w zależności od stopnia nacisku na podłoże. Nacisk na podłoże każdego z kół został ustalony na eksperymentalnie wyznaczoną wartość. Gdy nacisk na którymś z kół odbiegnie od ustalonej wartości (w pewnym marginesie) wtedy następuje reakcja tej kończyny. Jeśli poziom nacisku przyjmie za dużą wartość, następuje uniesienie kończyny do momentu, gdy wartość znajdzie się w zakładanym przedziale. Natomiast gdy poziom nacisku na podłoże ma za małą wartość, następuje obniżanie danej kończyny.

Zapewnienie stateczności podczas kroczenia

Uruchomienie funkcji kroczenia robota oznacza uniesienie jednej z kończyn. Robot wtedy posiada trzy punkty podparcia. Zapewnienie stateczności polega na utrzymaniu środka masy robota w polu trójkąta, wyznaczonym przez koła posiadające kontakt z podłożem.

Stabilność podczas kroczenia została zapewniona przez monitorowanie wartości nacisku kół na podłoże, w szczególności  znajdującego się na przekątnej do koła podnoszonego. Na podstawie badań eksperymentalnych wyznaczono dopuszczalny poziom nacisku, który gwarantuje bezpieczne działanie.

Gdy nacisk kończyny na podłoże będzie zbliżał się do wartości granicznej następuje automatyczna korekcja uniesienia kończyny. Przedstawiona zasada obowiązuje dla wszystkich kończyn, gdy poszczególne z nich są unoszone.

Jest oczywistym, że podczas funkcji kroczenia nie zawsze można zapewnić utrzymanie poziomu platformy. Założono, że dla globalnego wykonania zadania chwilowy brak poziomu jest dopuszczalny, aby móc dalej kontynuować jego wykonywanie po pokonaniu napotkanej przeszkody.


Kroczenie - algorytm pokonywania przeszkód (przeszkoda przed jednym z kół)

Algorytm sterowania działa poprzez sekwencyjne wykonywanie procedur, które mają doprowadzić do celu. Poszczególne procedury zapisane są w postaci bloków, wywoływanych z określonymi parametrami, przyporządkowanymi danej kończynie. Wybór listy procedur przygotowanej do realizacji określonego celu jest dokonywany na podstawie informacji pochodzących z czujników robota.

Poszczególne etapy pokonania przeszkody widoczne są na rys. 1, a  przebiegi obrazujące proces przedstawiono na rys. 2.

Robot porusza się, realizując zadaną trajektorie. W pewnym momencie czujniki umieszczone przed jednym z kół robota (w tym przypadku lewym) dają informację,o zbliżaniu się do przeszkody (rys. 2 punkt A). Prędkość robota zostaje zmniejszona (punkt B), a po dojechaniu na odległość 15 mm robot zostaje zatrzymany (punkt C). Następnie robot przygotowuje się do podniesienia kończyny znajdującej się przed przeszkodą. Aby zapewnić stateczność obniża przeciwległą kończynę do momentu osiągnięcia określonego nacisku, wcześniej wyznaczonego eksperymentalnie.

krocz_wer_1.png
Rys. 1. Pokonanie przeszkody wersja 1

Podniesienie kończyny nad przeszkodę odbywa się w pierwszym etapie z mniejszą prędkością (punkt D), do momentu znalezienia krawędzi przeszkody przez czujnik odległości. Gwałtowny skok wartości odległości przeszkody oznacza znalezienie się czujnika nad krawędzią przeszkody (punkt E). Dalsze podniesienie (z większą prędkością) ma na celu umieszczenie koła nad krawędzią przeszkody (punkt F). Z uniesioną kończyną robot przejeżdża nad przeszkodą, do momentu, gdy tylne koło znajdzie się przed przeszkodą.

Gdy tylne koło znajdzie się przed przeszkodą, następuje opuszczenie przedniej kończyny, a podniesienie tylnej (punkt H). Pozostaje jeszcze przejechanie robotem z uniesionym tylnym kołem (punkt I) i opuszczeniem go na podłoże (punkt J). Po pokonaniu przeszkody robot kontynuuje swoją drogę, a po chwili zatrzymuje się i obniża platformę (punkt K).

krocz_wer_1_przebieg.png
Rys. 2. Przebiegi czasowe obrazujące proces pokonywania przeszkody



Kroczenie - wersja 2
Przed rozpoczęciem kroczenia w wersji drugiej robot również posiada kontakt wszystkich kół z podłożem oraz platformę w poziomie (jak to ma miejsce w przypadku 1 wersji sekwencji kroczenia). Czujniki odległości w tym przypadku dają informację, że przed dwoma kołami robota znajduje się przeszkoda.

Robot ze zmniejszoną prędkością zbliża się do przeszkody i zatrzymuje. Procedura kroczenia rozpoczyna się od kończyny znajdującej się bliżej przeszkody. W tym przypadku pokonanie przeszkody polega na wkroczeniu na nią całym robotem. Sekwencja postępowania w takim przypadku przebiega następująco (poszczególne czynności są podobne jak to miało miejsce w wersji 1 kroczenia):

krocz_wer_21.png
Rys. 3. Kroczenia wersja 2 -etap 1

krocz_wer_22.png
Rys. 3. Kroczenie wersja 2 -etap 2

Algorytm poziomowania platformy

Algorytm poziomowania ma na celu doprowadzenie platformy robota do odpowiedniej orientacji (względem osi x oraz y). Poziomowanie platformy będzie używane szczególnie w nierównym terenie (pochyłości). Robot, posiadając informacje z inklinometrów, dostosuje konfigurację tak, aby utrzymać poziom platformy. Utrzymywanie poziomu platformy, czyli zmiana położenia układu zawieszenia tak, aby odchyłka była jak najmniejsza wpływa na usytuowanie środka masy robota i jego bezpieczeństwo.

Przekonfigurowanie robota (wartości uniesienia czterech kończyn) musi nastąpić w zależności od zmiany orientacji platformy w dwóch kierunkach (pochylenie przód-tył oraz na boki).

poz_.png
Rys. 4. Robot na torze przeszkód

poz_przebieg1.png
Rys. 5. Działanie funkcji poziomowania


Rysunek 4 przedstawia tor, na którym testowano funkcję poziomowania, natomiast na rys. 5 umieszczono przebiegi z eksperymentów (przy wyłączonej oraz załączonej funkcji poziomowania). 

Jarosław Szrek


Podgląd wydruku Podgląd wydruku     Drukuj Drukuj


Mechatronika
Laboratorium Mechatroniki i Robotyki L7
>> Odwiedź stronę
robot.gif
Kalendarz
^ Góra ^