Kroczący robot mobilny Hexor Sześcionożny dydaktyczny kroczący robot mobilny Hexor anatomicznie i w sposobie poruszania odwzorowuje skorpiona. Podstawowe elementy wyposażenia Robot jest wyposażony w szereg komponentów przeznaczonych do interakcji z otoczeniem, możemy do nich zaliczyć: Mechanizm kroczący: Mechanizm kroczący robota Hexor to konstrukcja sześcionożna, o budowie kończyn i regułach ruchu wzorowanych na lokomocji owadów. Wynika to z faktu, że zasady ruchu owadów są stosunkowo dobrze poznane, oraz łatwe do naśladowania. Należy zwrócić uwagę, że owady poruszają się powoli, a ich zdolności do omijania przeszkód i zwrotności nie da się porównać z dużymi możliwościami ruchowymi ssaków palcochodnych czworonogów (w szczególności koni). Zaproponowany mechanizm kroczący został uproszczony, a ilość serwonapędów zredukowana do trzech. Konstrukcja mechanizmu została zaprojektowana tak, aby odwzorować chód trójpodporowy. Robot Hexor, jako maszyna wielonożna, porusza się chodem stabilnym statycznie. 1
Głowica kamery: Mocowanie kamery posiada dwa stopnie swobody, w standardowej wersji możliwe jest ustawienie po dwa stany pracy na każdą z dwóch osi, czyli: 180 o poziomo i 180 o pionowo. Kamera wideo jest zamontowana na szczycie konstrukcji ogona. Wysoko położona kamera wideo zapewnia dość szeroki obszar widzenia robota. Głowica jest poruszana przez dwa impulsowe serwonapędy prądu stałego, zamocowane na szczycie ogona. Płyta Główna: Płyta gówna mikrokontrolera wykonana w technologii montażu powierzchniowego jest przykładem układu mikroprocesorowego o architekturze rozproszonej. Układ zaprojektowano i zrealizowano pod kątem stosowania w autonomicznych robotach mobilnych, wyposażonych w autonomiczne źródło zasilania i sterowanych bezprzewodowo. Układ sterowania może współpracować z kołowym podwoziem robota lub kroczącą platformą mobilną. Główny procesor sterujący robotem - AVR Mega 128, wyposażony w pamięć programu użytkownika 128 kb, ma możliwość programowania w językach Basic (pakiet Bascom), asembler lub C np. kompilator GCC. Czujniki podczerwieni: Moduł czujników podczerwieni został zaprojektowany i wykonany pod kątem zastosowania go w systemach nawigacji autonomicznych robotów mobilnych. Na płycie modułu znajdują się detektory przeszkód, wyposażone w diody nadawcze emitujące promieniowanie podczerwone modulowane prostokątnym sygnałem o częstotliwości 38 khz oraz odbiorniki podczerwieni. Odbiornik reaguje na promieniowanie podczerwone odbite od przeszkody, która została oświetlona przez nadajnik podczerwieni. Czujniki tego typu wykrywają przeszkodę, lecz nie zapewniają możliwości określenia odległości do niej. 2
Sonar: Sonar umieszczony na szczycie ogona, jest urządzeniem wykorzystującym fale dźwiękowe do wykrywania obiektów i pomiaru odległości. Urządzenie emituje fale akustyczne, a następnie realizuje pomiar czasu powrotu echa fali odbitej od przeszkody. W pomiarze odległości przy pomocy sonaru nie ma znaczenia moc fali odbitej a jedynie czas zarejestrowania echa przez odbiornik. Na tej podstawie można ocenić w jakiej odległości znajduje się przeszkoda. Emitowana przez sonar fala akustyczna nie jest słyszana przez ludzi ponieważ odpowiada częstotliwości ultradźwięków. Czujniki dotykowe: Umożliwiają wykrywanie takich przeszkód, których nie rejestrują pozostałe typy czujników. Przełączniki krańcowe czujników podłączone są do wejść na płycie czujników podczerwieni, w zależności od sposobu podłączenia, mogą reagować na dotknięcie przeszkody zwarciem lub rozwarciem odpowiednich styków. Przełączenie czujnika stykowego przez przeszkodę powoduje zmianę poziomu logicznego w układzie mikroprocesorowym. 3
Możliwości i ograniczenia robota Hexor Możliwości Robota Hexor II wynikają z jego budowy i zastosowanych w nim elementów. Pokrótce zostanie opisanych parę z nich: Robot potrafi poruszać się do przodu, do tyłu oraz skręcać w lewo i prawo. Porusza się najszybszym z możliwych chodów - trójpodporowym. Odbiór i przesył obrazu Hexor potrafi rejestrować obraz z kamery umieszczonej na jego odwłoku. Ta możliwość może być wykorzystana do opracowania algorytmów ruchu robota. Ruch kamerki w górę i w dół, jak również w lewo i w prawo. Dzięki możliwości sterowania położeniem kamery wizyjnej robota uzyskał on nowe narzędzie do interakcji z otoczeniem, ruchomy zmysł wzroku. Można to wykorzystać w chwili, gdy robot straci kontakt wzrokowy ze śledzonym obiektem, w takiej sytuacji może rozejrzeć się po okolicy i odnaleźć zgubiony obiekt. Detekcja obiektów i określanie odległości od nich, za pomocą sonaru. To narzędzie umożliwia określenie odległości od przeszkody, którą musi maszyna ominąć, dzięki temu możliwe jest rozpoczęcie manewru omijania w odpowiednim miejscu. Innym zastosowaniem jest określenie odległości od śledzonego obiektu, a co za tym idzie, uruchomienie odpowiedniej instrukcji sterującej. Niestety produkt firmy Stenzel nie jest pozbawiony wad, do największych jego ograniczeń można zaliczyć: Robot wykonuje polecenia poruszania się aż do otrzymania komendy stopu, brak możliwości wykonywania pojedynczej komendy ruchu. To stanowi dość duży mankament, gdyż próbując napisać program sterujący automatycznie robotem, należy bardzo często umieszczać komendy zatrzymujące go. Hexor porusza się tylko jednym rodzajem chodu, jest to chód trójpodporowy, nie można w nim ustawić żadnych innych rodzajów chodu, np. pięciopodporowego. Odnóża robota mają tylko jeden stopień swobody każda. Nogi środkowe przemieszczają się tylko w pionie, pozostałe w poziomie, ogranicza to zdolność poruszania się robota do płaskich powierzchni. Pomimo tego, że jest możliwość sterowania kamerką w dwóch płaszczyznach to i tak może ona zajmować tylko położenia skrajne. Nie ma możliwości ustawienia jej w położeniach pośrednich. W chwili napotkania przeszkody, następuje zatrzymanie się robota. Robot, gdy wykryje przeszkodę, czujnikami podczerwieni lub dotykowymi, zatrzymuje się uniemożliwiając dalsze wykonywanie programu. 4
Robot nie wysyła potwierdzeń wykonania rozkazu, wysyła tylko komendy odebrania polecenia. To ograniczenie powoduje, iż nie mamy informacji o statusie wykonywania danego polecenia, dostajemy tylko informację, że nasze polecenie zostało przyjęte przez robota. Sposób programowania Robot mobilny Hexor II posiada własne oprogramowanie, zostało ono napisane w języku Bascom. Wewnętrzne oprogramowanie zapewnia wykonywanie manewrów: skręcania, cofania, pójścia naprzód, sterowania kamerą, czy także podawania odległości z sonaru i wysyłanie obrazu. Komunikacja z maszyną odbywa się na zasadzie wysyłania i odbierania ramek danych. Dane są zapisane w systemie heksadecymalnym. Wymiana danych pomiędzy robotem a komputerem jest realizowana za pośrednictwem łącza radiowego. Od strony komputera moduł transmisji radiowej jest obsługiwany przez interfejs wirtualnego portu szeregowego udostępnianego przez układ FTDI 232BM podłączony do portu USB. Układ ten stanowi konwerter pomiędzy interfejsem USB a interfejsem szeregowym typu UART. Wirtualny port szeregowy dostępny w systemie Windows pracuje jako typowe łącze szeregowe. Przesyłana informacja jest zorganizowana w formie ramek złożonych z bajtów zgodnie z poniższym formatem: długość ramki zarezerwowane odbiorcy nadawcy(0) Kod rozkazu CRC Jeżeli rozkaz będzie zawierał jeden lub więcej argumentów, to zostaną one wysłane jako kolejne bajty po kodzie rozkazu: długość ramki zarezerwo wane odbiorcy nadawcy (0) Kod rozkazu argumenty CRC HEXOR - ramki Ustawienia portu: COM5, Baudrate 115200, Parity even Init (otwarcie połączenia) [07 01 01 00 24 02 81] Ruchy robota Forward [07 01 01 00 20 01 58] Backward [07 01 01 00 20 04 67] 5
Stop [07 01 01 00 20 00 06] Turn Left [07 01 01 00 20 02 BA] Turn Right [07 01 01 00 20 03 E4] Ruchy kamery: Up [08 01 01 00 34 05 4A 8C] Down [08 01 01 00 34 05 EF 1C] Left [08 01 01 00 34 04 4A 48] Right [08 01 01 00 34 04 DC 84] Center [08 01 01 00 34 04 9B 41] Close (zamknięcie połączenia) [07 01 01 00 24 00 3D] Program ćwiczenia: W środowisku Matlab-a zaprogramować działanie robota wykorzystując dostępne rozkazy. 6