Robot kroczący Hexapod Zebulon
W artykule prezentujemy projekt budowy sześcionożnego robota kroczącego, zrealizowany przez członków Studenckiego Koła Naukowego INTEGRA. Omówiono założenia projektowe oraz sposób ich realizacji. Opisana została konstrukcja elektroniczna i sposób sterowania ruchem robota.
Roboty mobilne są coraz powszechniejsze i znajdują liczne zastosowania, zarówno militarne jak i komercyjne. Konstrukcje kołowe są dobrze znane, natomiast intensywne badania dotyczą robotów kroczących, a tworzone rozwiązania mają charakter eksperymentalny.
1. Założenia konstrukcyjne
Kluczowym czynnikiem determinującym projekt robota kroczącego jest liczba odnóży. Robot Zebulon wyposażony został w sześć nóg. Liczba ta stanowi kompromis między kosztem skonstruowania robota, a stopniem skomplikowania sterowania zapewniającego stabilność statyczną [1]. Pojedyncza noga ma trzy stopnie swobody w konfiguracji stawowej. Dzięki temu zbiór punktów osiągalnych ma dużo korzystniejszy kształt w porównaniu do nogi o dwóch stopniach swobody [2, 3]. Założono, że w robocie nie będzie wyróżnionego przodu, co skutkuje okrągłym korpusem, symetrycznym rozmieszczeniem czujników oraz uniwersalnym algorytmem generowania sekwencji chodu.
2. Realizacja
Elementy konstrukcji mechanicznej robota zostały zaprojektowane w środowisku Autodesk Inventor (rys. 1). Następnie wykonano je z aluminium oraz pleksi, stosując technologię cięcia laserowego.
W układzie napędowym zastosowano serwomechanizmy modelarskie. Po oszacowaniu wymaganej mocy i uwzględnieniu kosztów, wybrano modelu Hitec HS-485HB. W najbliższym czasie nastąpi wymiana serwomechanizmów na model HS-645MG, który umożliwia uzyskanie większego momentu napędowego oraz ma trwalszą, metalową przekładnią.
Robot jest zasilany pakietem akumulatorów litowo-polimerowych. O wyborze zadecydowała korzystna relacja przechowywanej energii do masy pakietu oraz wysoka wydajność prądowa. W efekcie konieczne było zastosowanie przetwornicy napięcia z 11,1 V lub 7,4 V (napięcie zależy od liczby ogniw) na 5 V , wymagane przez układy elektroniczne i serwomechanizmy [4].
3. Elektronika
Układy elektroniczne zostały zdekomponowane ze względu na pełnioną rolę w sterowaniu robotem. Wyodrębnione zostały trzy zasadnicze zadania: akwizycja danych z czujników, koordynacja pracy elementów wykonawczych oraz realizacja algorytmów sterujących pracą robota.
3.1. Moduły akwizycji danych
Układ pomiarowy robota składa się z sześciu symetrycznie rozmieszczonych czujników zbliżeniowych Sharp GP2D12, modułu czujników inercyjnych zawierającego akcelerometr, inklinometr i magnetometr oraz sześciu zestawów pomiarowych, po jednym dla każdej nogi. W skład zestawu wchodzą czujniki mierzące pobierany prąd i położenie kątowe orczyków serwomechanizmów oraz nacisk końcówki nogi na podłoże. Robot będzie wyposażony w sześć modułów akwizycji danych. Obecnie prototyp modułu znajduje się w fazie testów.
3.2. Sterownik serwomechanizmów
Zadaniem sterownika serwomechanizmów jest przetwarzanie rozkazów otrzymanych z jednostki centralnej. Pojedynczy rozkaz niesie informację o docelowych kątach, na jakie mają zostać przestawione serwomechanizmy. Prędkości obrotowe orczyków dobierane są tak, aby wszystkie napędy w danej nodze kończyły przemieszczenie w tym samym momencie. W efekcie końcówka nogi wykonuje ruch quasi-liniowy.
Serwomechanizm sterowany jest sygnałem PWM o okresie ok. 20 ms. Współczynnik wypełnienia sygnału jest proporcjonalny do pożądanego położenia kątowego osi. Taka zasada działania określa reżim czasowy pracy sterownika. W czasie·jednego okresu PWM komunikuje się on z jednostką centralną, przetwarza otrzymane dane i równolegle generuje sterowanie dla wszystkich napędów.
3.3. Jednostka centralna
Głównym zadaniem jednostki centralnej robota jest wyznaczanie parametrów chodu i generowanie trajektorii końcówek nóg robota. Dodatkowo musi istnieć możliwość bezprzewodowej komunikacji robota z komputerem PC pełniącym funkcję panelu operatorskiego oraz magazynu danych pochodzących z czujników.
Do realizacji powyższych zadań wybrany został moduł rozwojowy Devkit8000, wyposażony w procesor Omap3530. Zaletami tego urządzenia są: duża szybkość procesora i wielkość pamięci operacyjnej oraz liczba dostępnych peryferiów. Ponadto istnieje możliwość uruchomienia na tej platformie systemu operacyjnego Linux, co pozwala na wygodne tworzenie oprogramowania oraz dostęp do rozwiązań z licencją typu open source. Moduł ma interfejs USB, co umożliwia zastosowanie uniwersalnych urządzeń, jak na przykład karta Wi-Fi lub kamera.
4. Sterowanie
W ramach projektu została stworzona aplikacja służąca do projektowania sekwencji chodu robota. Zaimplementowane zostały równania kinematyki prostej i odwrotnej nogi. Możliwe jest również sterowanie pozycją i orientacją korpusu nieingerujące w ruch poszczególnych końcówek nóg. Z komputera PC wysyłane są rozkazy odtwarzania przygotowanych wcześniej sekwencji sterujących.
Aktualnie trwają prace nad stworzeniem algorytmu automatycznie generującego sterowanie serwomechanizmów na bazie podstawowych parametrów chodu, do których należą m.in. długość i wysokość kroku oraz kierunek i szybkość ruchu robota.
5. Podsumowanie
Obecny stan rozwoju projektu został zaprezentowany na rys. 2 . Do tej pory robot prezentowany był publicznie na licznych pokazach i festiwalach. Konstrukcja zdobyła pierwsze miejsca w kategorii Freestyle w zawodach robotów, które odbyły się w Krakowie i Bratysławie.
Opiekunem naukowym projektu jest dr inż. Mariusz Pauluk. Przedsięwzięcie zostało sfinansowane w ramach Grantów Rektorskich AGH na lata 2010 i 2011.
Bibliografia
- Zielińska T.: Maszyny kroczące: podstawy, projektowanie, sterowanie i wzorce biologiczne, Wydawnictwo Naukowe PWN, Warszawa 2003.
- Spong M., Vidyasagar M.: Dynamika i sterowanie robotów, WNT, Warszawa 1997.
- Craig J.: Wprowadzenie do robotyki: mechanika i sterowanie,WNT, Warszawa 1993.
- Harding Battery Handbook For Quest Rechargeable Cells and Battery Packs.
Paweł Bańka, Jacek Chmiel, Julia Szymura
AGH Akademia Górniczo-Hutnicza, Katedra Automatyki, Studenckie Koło Naukowe INTEGRA
Keywords
hexapod, robot kroczący, servomotorThe, serwomechanizm, walking robot