Co to jest robot mobilny? Roboty mobilne To kompozycja różnorodnych fizycznych i informatycznych składników tworząca 4 podstawowe podsystemy: - Ruchu (locomotion) - Detekcji (sensing) - Wnioskowania (reasoning) - Komunikacji (communication) Historia robotów mobilnych - 1970 SHAKEY - 1979 Stanford cart - 1983 3D One-Leg Hopper - 1989 Genghis - 1997 Nomad - 1997 Pathfinder (Sojourner) - 2000 Sony AIBO - 2000 Honda ASIMO - 2003 Mars Exploration Rover - 2004 Robosapien
SHAKEY 1968-1972 - Stanford Research Institute - Kamera, skaner laserowy, czujniki zderzakowe - Łączność bezprzewodowa - Percepcja, tworzenie modelu otoczenia - Mógł poruszać się jedynie w wysoce ustrukturalizowanych pomieszczeniach - Z żółwią prędkością 2m/h - Nazwa pochodzi od szarpanych ruchów Stanford cart 1979 - Stanford Research Institute - Kamery do tworzenia map 3D otoczenia - Planowanie ścieżki, omijanie przeszkód - 4-6m/h w 10-15 minutowych zrywach - Komputer pokładowy i wielkie komputery stacjonarne
3D One-Leg Hopper 1983 - MIT LegLab - Pierwszy robot swobodnie skaczący - 1.1m, 17.3kg - Napęd hydrauliczno-pneumatyczny Genghis 1989 - MIT Mobile Robotics Group - Wzorowany na owadach - 1kg, 35cm długości - Czółki, inklinometry, czujniki zbliżeniowe podczerweni - 4 ośmiobitowe CPU na pokładzie - Sterowanie metodą wielowarstwowych automatów o skończonych stanach
Nomad 1997 - CMU - Robot 4 kołowy z manipulatorem - Stereowizja, skaner laserowy, radar, GPS, inne czujniki, zdalnie sterowany - 4 komputery pokładowe - 725kg, Pathfinder 1997 - NASA JPL - Lądownik i Mars Rover - 6-kołowy, 10 kg -Zasilanie - baterie słoneczne, 83 dni pracy - Prędkość maksymalna 0.4m/min - Czujniki laserowe, stereowizja, odometria, żyroskopy, inne czujniki naukowe - Niewielki komputer ok. 0.1 MIPS, 0.5 MB RAM
Mars Exploration Rovers 2003 - NASA JPL - Spirit i Oportunity - 90 dniowa misja - 174 kg - Średnia prędkość 34m/h - 20 MIPS CPU, 128 MB RAM - 9 kamer, kompensacja poślizgu - Manipulator i instrumenty pomiarowe Sony AIBO 2000 - Sony Corp. - Potrafi chodzić, kopać, rozpoznaje i śledzi obiekty, omija przeszkody, rozpoznaje, dźwięki i wydaje odgłosy, rozpoznaje ładowarkę gdy kończy mu się energia - Kamera, wykrywanie krawędzi, czujniki taktylne, czujniki przyspieszenia, wibracji, odległości, mikrofon, łącze bezprzewodowe - 20 DOF, 576MHz 64-bit CPU 64 MB RAM
Od 1986 roku HONDA prowadzi prace nad robotem humanoidalnym.
Honda ASIMO 2003-120cm wysokości, 52kg wagi, 1.6km/h - 26DOF, żyroskopy i akcelerometry, czujniki taktylne - Koszt leasingu 160 000 $/miesiąc ASIMO 2004 - Bieg 3km/h, normalny chód 2.5km/hour - Wysokość 130cm - Waga 54kg - Czas pracy 1h - 34 DOF
Robosapien 2004 - Robot biomorficzny - Gładkie ruchy, standardowe programy ruchu oraz możliwość programowania własnych zachowań - Generator mowy - Robot do inspekcji rur kanalizacyjnych - 6 czujników zbliżeniowych podczerwieni, 3 czujniki momentu, czujnik przechylenia, 2 czujniki położenia w każdym segmencie oraz kamera
OmniTread ACM Genbu SlimSlime robot
Czynnikiem, który klasyfikuje roboty mobilne jest sposób poruszania. Według tego kryterium roboty można podzielić na kilka grup: jeżdżące 1. dwukołowe 2. trzykołowe z biernym trzecim kołem 3. trzykołowe z aktywnym trzecim kołem 4. czterokołowe 5. sześciokołowe 6. gąsienicowe chodzące (kroczące) pływające latające 1. helikoptery 2. sterowce roboty wykorzystywane w przestrzeni kosmicznej
Rodzaje mobilnych robotów kołowych Najważniejszym i najistotniejszym podziałem mobilnych robotów kołowych jest podział ze względu na rodzaj i ilość posiadanych kół. Na rysunkach zostały przedstawione cztery podstawowe, stosowane rodzaje kół. Koło zwykłe-stałe nie posiada możliwości zmiany kierunku ruchu, jego ruch odbywa się poprzez toczenie.
Koło szwedzkie umożliwia ruch w dowolnym kierunku, sterowanie kierunkiem toczenia odbywa się, poprzez obrót walców przymocowanych do obwodu koła o pewien zadany kąt. Koło samonastawne, w przeciwieństwie do poprzedniego, posiada możliwość obrotu wokół osi prostopadłej do kierunku ruchu i osi obrotu koła.
Koło sferyczne jest kołem nie posiadającym głównej osi obrotu oraz bezpośrednich ograniczeń ruchu. Drugą klasyfikacją mobilnych robotów kołowych jest podział ze względu na ilość posiadanych kół. Na rysunku zostały przedstawione podstawowe kombinacje architektury robotów mobilnych ze względu na ilość kół.
Opis każdej kombinacji jest następujący: (a) robot z jednym kołem kierującym i jednym kołem napędowym; (b) robot z dwoma kołami w układzie różnicowym oraz środkiem ciężkości pomiędzy kołami; (c) robot z dwoma kołami ustawionymi centralnie i napędem różnicowym oraz punktem podparcia; (d) robot z jednym kołem napędzająco-kierującym i dwoma wolnymi kołami; (e) robot z kołami szwedzkimi lub sferycznymi w układzie trójkąta, każde z kół posiada napęd; (f) robot z dwoma niezależnie napędzanymi kołami i wolnym kołem wielokierunkowym; (g) robot z dwoma kołami połączonymi i napędzanymi oraz jednym kołem sterującym; (h) robot z trzema kołami synchronicznie napędzanymi i kierowanymi;
(i) robot z dwoma kołami połączonymi i napędzanymi oraz dwoma kołami połączonymi i kierowanymi; (j) robot z czterema kołami napędzanymi i kierowanymi; (k) robot z czterema kołami wielokierunkowymi; (l) robot z dwoma kołami połączonymi, kierowanymi i napędzanymi oraz dwoma kołami wolnymi; (m) robot z dwoma kołami w układzie różnicowym oraz dwoma kołami wielokierunkowymi; (n) robot z kołami wleczonymi i napędzanymi; (o) robot z dwoma kołami w układzie różnicowym i dwoma punktami podparcia; (p) robot z dwoma kołami umieszczonymi centralnie, kierowanymi i napędzanymi oraz czterema kołami wielokierunkowymi umieszczonymi w rogach pojazdu; (r) robot z dwoma kołami w układzie różnicowym umieszczonymi centralnie oraz czterema kołami wielokierunkowymi w narożnikach pojazdu; (s) robot z wszystkimi kołami napędzanymi w układzie różnicowym.
Dwa niezależne koła napędowe współosiowe, środek masy robota powyżej tej osi wymaga aktywnego balansowania: Segway RMP Dwa niezależne koła napędowe współosiowe + trzeci punkt podparcia: robot Scout Dwa koła napędowe (mechanizm różnicowy) + koło sterujące z przodu: skuter Piaggio Koło napędowo-sterujące z przodu + dwa koła swobodne z tyłu: robot Neptun CMU
Roboty 3-kołowe Nomad 200 Roboty 4-kołowe
Czujniki pomiarowe mobilnych robotów Czujniki pomiarowe mobilnych robotów, tak samo jak zmysły człowieka, są elementami umożliwiającymi komunikację z otaczającym środowiskiem. Dzięki nim układ sterujący odczytuje aktualny stan otaczającego środowiska i wyznacza odpowiednie działanie dla ruchu i zachowania robota. Sensory ludzkie takie jak: wzrok, słuch, dotyk, równowaga, smak, węch mają swoje techniczne odpowiedniki, co stwarza możliwość budowy prostych elektroniczno-mechanicznych kopii organizmów żywych. Ponadto istnieje duża ilość sensorów nie występujących wśród istot biologicznych, co pozwala na większe możliwości kombinacji architektury robotów. Sensory pomiarowe dzieli się na trzy podstawowe grupy, ze względu na: 1. mierzone wielkości: wewnętrzne - mierzące wielkości wewnętrzne robota, zewnętrzne - służące do pomiaru stanu otoczenia; 2. wpływ na otoczenie: pasywne - odbierające energię z otoczenia, aktywne - emitujące energię do otoczenia lub modyfikujące otoczenie; 3. kontakt z otoczeniem: kontaktowe bezpośredni kontakt z otoczeniem, bezkontaktowe nie ma bezpośredniego kontaktu z otoczeniem.
Czujniki dotykowe: kontaktowe czujniki zderzakowe; niekontaktowe czujniki bliskości (czujniki zbliżeniowe podczerwieni) Czujniki obrotu kół: rezolwery; potencjometry; enkodery optyczne; enkodery magnetyczne; enkodery indukcyjne; enkodery pojemnościowe Czujniki orientacji i przyspieszenia: kompasy; żyroskopy; inklinometry; akcelerometry Markery: GPS; radiolatarnie; latarnie światła widzialnego; latarnie ultradźwiękowe; latarnie światła odbitego Emitery: sensory odbiciowe; sensory ultradźwiękowe (sonary); dalmierze optyczne; dalmierze laserowe Czujniki wizyjne: Kamery CCD/CMOS
Robot Khepera III jest robotem dwukołowym o dwóch niezależnie napędzanych kołach, z jednym punktem podparcia, posiadającym koła zwykłe-stałe. Mobilny robot kołowy Khepera III Każde z kół robota zasilane jest osobnym, bezszczotkowym silnikiem prądu stałego. Silnik posiada wbudowaną przekładnię 27:1, a dodatkowa przekładania posiada redukcję 1.6:1 co w sumie daje redukcję silnika w stosunku do koła 43.2:1. Wbudowany na silniku enkoder inkrementalny daje 16 impulsów na obrót silnika. W efekcie otrzymano rozdzielczość 691,2 impulsów na obrót koła. Oznacza to 54 impulsy na 10mm jazdy robota. Na jeden obrót koła, przy średnicy koła wynoszącej 41 mm, przypada 128,8 mm ruchu robota. Możliwe jest sterowanie robotem poprzez zadawanie konkretnej wartość prędkości. Regulator sterujący silnikiem, utrzymuje zadaną wartość. Maksymalna prędkość robota, podawana przez producenta, jest następująca: 333 mm / s w pętli otwartej, bez regulatora 298 mm / s z udziałem regulatora. Minimalna prędkość z udziałem regulatora to 13,9 mm / s. Możliwa jest także inna metoda poruszania robotem poprzez dojeżdżanie do określonej wartości enkodera. Wartość ta podawana jest w ilości impulsów. Regulator, przy pomocy trapezoidalnego profilu prędkości, mając wartość zadaną, wartość maksymalną prędkości i przyspieszenia, realizuje ruch. Prędkość maksymalna jak i przyspieszenie mogą być modyfikowane przez użytkownika przy pomocy odpowiedniej komendy.
Trapezoidalny profil prędkości
Robot Kherpera III posiada 11 czujników podczerwieni. 9 z nich znajduje się na zewnątrz robota, a 2 znajdują się od spodu. Czujniki zbudowane są z nadajnika światła podczerwonego i odbiornika. Taka budowa czujników umożliwia dokonywanie dwojakich pomiarów: Rozmieszczenie czujników podczerwieni (widok od spodu) - Pomiar natężenia podczerwieni w otoczeniu robota. Ten rodzaj pomiaru wykorzystuje jedynie część odbiorczą czujnika, nie jest emitowane żadne światło z nadajnika. Każdy pomiar według specyfikacji trwa 33ms. Podczas tego czasu, wartość pomiarów z jedenastu czujników jest odczytywanych sekwencyjnie po 3 ms na czujnik. Pomiar światła otaczającego jest silnie uwarunkowany od otoczenia robota. Zależnie od rodzaju użytego oświetlenia, jego koloru, odległości, pomiar światła otaczającego może być znacząco odmienny. Nie zaleca się stosowania źródeł światła emitujących duże ilości światła w zakresie podczerwieni ponieważ może to zdezorientować robota. Pomiar tego typu może być wykorzystany np. do implementacji algorytmów podążania za źródłem ciepła. - Pomiar natężenia światła odbitego. Ten rodzaj pomiaru jest wykonywany z wykorzystaniem obu części czujnika: odbiornika i nadajnika. Wartość zwracanego pomiaru jest różnicą pomiędzy pomiarem dokonanym podczas emitowania światła przez nadajnik, a pomiarem bez użycia nadajnika (pomiarem natężenia światła otaczającego). Tak jak w poprzednim przypadku pomiar trwa 33 ms, a wartości pomiarów z czujników odczytywane są sekwencyjnie. W tym trybie czujniki są używane do detekcji obiektów w otoczeniu robota. Pomiary światła odbitego są uwarunkowane od zdolności obiektów do odbijania promieni jak i warunków oświetleniowych wokół robota. Kolor obiektów, materiał z którego są wykonane jak i rodzaj powierzchni mogą również mieć wpływ na wyniki pomiarów.
Na obwodzie robota znajduje się 5 czujników ultradźwiękowych. Każdy czujnik ultradźwiękowy składa się z nadajnika i odbiornika. Działają one na zasadzie sonarów, dlatego czasami też można spotkać się z określeniem czujniki sonarowe. Pięć czujników jest w zasadzie pięcioma parami ultradźwiękowych urządzeń gdzie każda para jest złożona z nadajnika i odbiornika. Rozmieszczenie czujników ultradźwiękowych Czujniki ultradźwiękowe są zasilane prądem stałym o napięciu 20 V. Nominalna częstotliwość pracy czujników to 40 khz +/- 1 khz. Parametry takie jak maksymalna liczba ech, czas pomiaru i aktywne czujniki są ustawiane poprzez komendy z interfejsu programistycznego. Domyślnie ustawienia te mają następujące wartości: maksymalna liczba ech równa 3, aktywny sensor sensor nr 3 (sensor przedni), czas pomiaru ustawiony jest tak aby sensor swoim zasięgiem pokrywał obszar od 0.2 m do 4.0 m. Ostatni parametr jest ustawiony dla domyślnej sytuacji gdy górna obudowa robota jest zainstalowana. W takim przypadku, pojawiają się zakłócenia odczytów spowodowane odbiciami dźwięku, które są usuwane programowo. Jednak poprzez zdjęcie obudowy możemy usprawnić wykrywanie obiektów w najbliższym otoczeniu robota ( 0.2-0.4 m). Każdy pomiar zwraca liczbę wykrytych ech, dystans w centymetrach od przeszkody, amplitudę echa oraz czas (znacznik czasowy) kiedy echo zostało wykryte.
Równania kinematyki dla rozpatrywanego robota w postaci ciągłej, zapisane są układem równań: x y R ( 1 2) cos 2 R ( 1 2) sin 2 R ( 2 1) L gdzie: x, y współrzędne środka osi kół robota Szkic kinematyki robota Khepera III θ - orientacja robota R - promień kół L - długość osi kół α 1 α 2 - kąt obrotu prawego koła - kąt obrotu lewego koła
Dyskretna postać powyższych równań opisana jest wzorami: x x x x e e y i i i y i 1 i 1 i 1 y gdzie: Δe 1, Δe 2 - ilość impulsów enkodera k 2 1 2 k y e1 e2 2 k e2 e L 1 cos sin k=0.0466 [mm] - odległość jaką przebywa robot przy zmianie enkodera o jeden impuls. Powyższe wzory kinematyki robota kołowego wyprowadzone są dla przestrzeni dwuwymiarowej i obiektu o trzech stopniach swobody, bez uwzględnienia tarcia. i i Za pomocą powyższych równań, zwanych odometrią robota, wyznacza się trasę przejazdu robota. Uzyskiwane tą metodą aktualne położenie pojazdu, jest najbardziej podstawowym i najczęściej stosowanym rozwiązaniem. Problem jaki niesie ta metoda, to sumowanie się błędów wyznaczania rzeczywistego położenia pojazdu, wynikające z: występowanie poślizgów oraz przyjętych zaokrągleń dotyczących wymiarów fizycznych robota.