Pobierz materiały

Transkrypt

Pobierz materiały
NAUKA
mgr inĪ. Jakub Bartoszek, dr inĪ. Maciej Trojnacki, mgr inĪ. Piotr Bigaj
Przemysáowy Instytut Automatyki i Pomiarów w Warszawie
ANALIZA WRAĩLIWOĝCI ALGORYTMU SEMIAUTONOMII
ROBOTA MOBILNEGO NA AWARIĉ CZUJNIKÓW OTOCZENIA
– BADANIA SYMULACYJNE
Praca dotyczy analizy wraĪliwoĞci algorytmu semiautonomii mobilnego robota
bojowego na awariĊ czujników otoczenia. Opisano w niej konstrukcjĊ robota i zastosowane na nim czujniki. Przedstawiono algorytm sáuĪący do realizacji trybu
semiautonomii i uwzglĊdniający awarie czujników otoczenia. Zaprezentowano
wyniki badaĔ symulacyjnych algorytmu semiautonomii w Ğrodowisku MATLAB/Simulink. Badania te wykonano dla przypadków normalnej pracy czujników
otoczenia oraz awarii wybranych z nich. Na tej podstawie dokonano oceny wraĪliwoĞci algorytmu na awariĊ wybranych czujników otoczenia.
SENSITIVITY ANALYSIS OF SEMIAUTONOMY
ALGORITHM OF MOBILE ROBOT TO ENVIRONMENTAL
SENSORS FAILURES – SIMULATION RESEARCH
This work is concerned on sensitivity analysis of semiautonomy algorithm of mobile combat robot to environmental sensors’ damage. The construction of the robot, semiautonomy algorithm and used sensors have been described. This algorithm takes into account environmental sensors’ damage. Simulation research results of semiautonomy algorithm using MATLAB/Simulink package was presented. This research was performed for normal environmental sensors’ operation
and for selected sensors’ damage. On that basis, sensitivity of semiautonomy algorithm to selected environmental sensors damage was tested.
1. WSTĉP
Niezwykle duĪe Ğrodki finansowe i praca wielu oĞrodków badawczych rozmieszonych w róĪnych rejonach globu skupione są na opracowywaniu coraz doskonalszych algorytmów sterowania robotami mobilnymi. Prace te w duĪej mierze mają na celu osiągniĊcie stanu rozwoju
robotyki mobilnej okreĞlanego mianem peánej autonomii. Chwila, w której cel ten zostanie
osiągniĊty bĊdzie miaáa niezwykle istotny wpáyw na kierunek i szybkoĞü dalszego rozwoju
naszej cywilizacji. OsiągniĊcie stanu peánej autonomii pozwoli wielokrotnie zwiĊkszyü funkcjonalnoĞü i zarazem liczbĊ moĪliwych zastosowaĔ pojazdów autonomicznych. NajwaĪniejszą cechą tych pojazdów bĊdzie brak koniecznoĞci sterowania nimi przez czáowieka oraz
ograniczenie jego nadzoru.
Jednym z najczĊĞciej poruszanych zagadnieĔ w badaniach nad autonomią robotów
mobilnych jest problem ich przemieszczania siĊ w dynamicznym, silnie zróĪnicowanym
i nieznanym Ğrodowisku [1]. Zagadnienie to w duĪym uproszczeniu moĪna sprowadziü
do wyznaczenia trajektorii ruchu robota od pozycji aktualnej do wyznaczonego celu w sposób
bezkolizyjny i pozwalającej osiągnąü zadane poáoĪenie w jak najkrótszym czasie [2]. Algorytmy pozwalające wybraü optymalną trasĊ ze wzglĊdu na róĪne wskaĨniki jakoĞci są rozwijane przez róĪne oĞrodki naukowe na caáym Ğwiecie. KaĪdy z algorytmów korzysta z co najmniej dwóch rodzajów czujników – stanu i otoczenia.
2/2011 Pomiary Automatyka Robotyka
441
NAUKA
Do czujników stanu naleĪy zaliczyü wszystkie czujniki pozwalające okreĞliü aktualny
stan robota. W najczĊstszym przypadku umoĪliwiają one okreĞlenie jedynie jego poáoĪenia
w przestrzeni. Metody wyznaczania poáoĪenia w zaleĪnoĞci od dostĊpnych danych moĪna
podzieliü na kilka odrĊbnych grup. Pierwsza z nich związana z zastosowaniem odometrii wiąĪe siĊ z nieraz szybko narastającym báĊdem wraz z wykonywaniem kolejnych pĊtli programu
sterownika. Druga polega na znajomoĞci statycznej mapy terenu i okreĞlaniu pozycji na podstawie znaczników rozmieszczonych na trasie robota lub okreĞlaniu punktów charakterystycznych za pomocą np. systemu wizyjnego. Trzecia grupa bazuje na GPS lub pochodnych
systemach. KaĪda ze wspomnianych metod obarczona jest pewną niepewnoĞcią i związana
jest z koniecznoĞcią zabezpieczenia programu przed wpáywem niepoprawnych danych. Dane
te mogą byü skutkiem awarii jednego z czujników lub, w przypadku takich systemów, jak
GPS, utraty sygnaáu z satelity.
Czujniki otoczenia to grupa czujników pozwalających stworzyü wirtualny model Ğrodowiska na bazie Ğrodowiska rzeczywistego, w którym aktualnie znajduje siĊ robot. W zaleĪnoĞci od liczby czujników i ich rodzaju model otoczenia moĪe byü dwu lub trójwymiarowy.
Z kolei ze wzglĊdu na moc obliczeniową jednostki centralnej robota model ten moĪe przyjmowaü róĪne formy. PodejĞcie, w którym budowano reprezentacjĊ modelu otoczenia robota
zastosowano w publikacjach [3, 4], a pominiĊto i wyznaczano sterowanie jedynie na podstawie sygnaáów z czujników, np. w [5]. Gáówną cechą charakterystyczną tej grupy czujników
jest ich ograniczony zakres. Czujniki te, gdy zastosowane są w robotach mobilnych przeznaczonych do pracy w Ğrodowisku zewnĊtrznym, dodatkowo mają jeszcze jedną istotną cechĊ
wspólną í naraĪone są na róĪnorakie awarie. Mogą one byü spowodowane czynnikami zewnĊtrznymi, takimi jak zderzenia z przeszkodami czy wibracje powstaáe w skutek ruchu robota lub czynnikami wewnĊtrznymi, np. przegrzaniem siĊ elementów elektronicznych.
Awarie czujników są w wiĊkszoĞci przypadków niezwykle trudne do przewidzenia.
Ich charakter czĊsto moĪna okreĞliü dopiero w chwili, gdy juĪ wystąpiáy i konieczne jest ich
poprawne zdiagnozowanie. Dlatego teĪ sposób diagnozowania i reagowania na awarie czujników powinien zostaü uwzglĊdniony juĪ we wstĊpnej fazie projektowania caáego systemu.
W literaturze wymieniane są dwa podejĞcia do tego problemu [6í8]. Jedno z nich opiera siĊ
na okreĞleniu modelu pozwalającego wykryü awarie czujnika [9í12]. Niektóre z nich wymagają ingerowania w strukturĊ systemu ze wzglĊdu na wykrytą awariĊ [13].
Zupeánie inne podejĞcie do problemu detekcji i reagowania na awarie czujników
przedstawiá Martin Soika w [6]. Celem jego pracy byáo opracowanie metody, która bĊdzie
umoĪliwiaáa wykrycie wczeĞniej nieuwzglĊdnionej awarii czujnika i prawidáową reakcjĊ
na jej wystąpienie. Metoda przez niego opracowana bazowaáa na okreĞlaniu stopnia pewnoĞci
danych przesyáanych przez czujnik. Healey [14] stworzyá system bazujący na modelu awarii
czujników jednakĪe wykorzystujący sztuczną sieü neuronową do wykrywania samych awarii.
Takie rozwiązanie pozwala na implementacjĊ metody w sterowniku robota w sposób nieograniczający tym samym jego autonomicznoĞci, niestety znacznie zwiĊksza záoĪonoĞü obliczeniową algorytmu.
WaĪnym czynnikiem pozwalającym automatycznie reagowaü i diagnozowaü uszkodzenia czujników jest ich redundancja. Model otoczenia jest w takim przypadku tworzony
na podstawie danych z wiĊkszej liczby czujników, co pozwala w moĪliwie áatwy sposób wykryü potencjalną awariĊ jednego z nich. WiĊksza liczba czujników, czĊsto korzystających
z róĪnych metod pomiaru, wymaga zastosowania bardziej wyszukanych i lepiej zoptymalizowanych algorytmów budowania modelu otoczenia robota. To z kolei pociąga za sobą koniecznoĞü zastosowania w sterowniku robota jednostek obliczeniowych o duĪo wiĊkszej wydajnoĞci. Z tego powodu w niektórych przypadkach konieczna staje siĊ rezygnacja z redundancji czujników.
442 Pomiary Automatyka Robotyka 2/2011
NAUKA
W ramach niniejszej publikacji zaprezentowane zostaáy metody reagowania na awarie
czujników zastosowane w algorytmie sterowania robotem IBIS. Algorytm ten zostaá szerzej
opisany w [15].
2. MOBILNY ROBOT BOJOWY
IBIS w wersji komercyjnej (rys. 1a) jest robotem do zastosowaĔ pirotechnicznych i bojowych. Przystosowany zostaá do operacji w trudnym i zróĪnicowanym terenie, takim jak piach,
Ğnieg czy podáoĪe skalne. DuĪa prĊdkoĞü robota umoĪliwia dynamiczne przeprowadzanie
akcji. Manipulator zapewnia duĪy zasiĊg dziaáania, a zastosowane rozwiązanie napĊdu zapewnia páynnoĞü ruchu w peánym zakresie prĊdkoĞci.
b
a
Rys. 1. Robot IBIS: a – wersja komercyjna z manipulatorem,
b – wersja do badaĔ autonomii
Podstawowe dane techniczne
robota są nastĊpujące: masa
295 kg, wymiary (dáugoĞü ×
szerokoĞü × wysokoĞü) 1,3 ×
0,85 × 0,95 m, prĊdkoĞü
maksymalna
10
km/h,
udĨwig manipulatora 30 kg,
maksymalny zasiĊg manipulatora 3,15 m [16, 17].
Do celów badawczych zostaáa opracowana wersja robota IBIS bez manipulatora (rys. 1b). Robot
w tej wersji wyposaĪony zostaá w dodatkowy nakáadany stelaĪ. Stanowi on moduá robota przeznaczony do realizacji trybu semiautonomii. Moduá ten zawiera ukáady mikroprocesorowe, zestawy czterech kamer oraz czujników lokalizacyjnych i wykrywających przeszkody. Robot moĪe
poruszaü siĊ w dwóch trybach, tj. teleoperacji – gdy jest sterowany przez operatora, semiautonomii – kiedy samodzielnie realizuje zadane zachowanie pod kontrolą operatora.
3. CZUNIKI ROBOTA
Baza mobilna robota nadbudowana zostaáa specjalnie zaprojektowaną ramą zapewniającą
dokáadne pozycjonowanie czujników oraz kontrolerów: nawigacyjnego i pozycyjnego. Architektura fizyczna caáoĞci systemu skáada siĊ z czterech bloków rozdzielonych funkcjonalnie
i fizycznie: czujników, kontrolera pozycyjnego (okreĞlającego aktualne poáoĪenie robota),
kontrolera nawigacyjnego (przetwarzającego dane wyjĞciowe i wystawiającego sterowanie)
oraz sterowników silników. Sterowanie ruchem w trybie teleoperacji jest przekazywane do
robota za poĞrednictwem modemu ISM, natomiast ruch w trybie semiautonomii jest w caáoĞci
obliczany przez kontroler nawigacyjny.
Czujniki lokalizacyjne umieszczone są na kontrolerze pozycyjnym i sáuĪą do okreĞlenia pozycji i peánej orientacji robota w przestrzeni. Pozycja okreĞlana jest w trzech wymiarach: dáugoĞü, szerokoĞü geograficzna i wysokoĞü nad geoidą Ziemi zgodnie ze specyfikacją NMEA, dziĊki czemu moĪe byü przedstawiona w dowolnym oprogramowaniu GIS.
Do wyznaczenia aktualnej pozycji robota uĪyto jednofazowego odbiornika GPS wspomaganego przez INS. OkreĞlenie wspóárzĊdnych robota w systemie WGS-84 uzyskiwane jest za
2/2011 Pomiary Automatyka Robotyka
443
NAUKA
pomocą filtracji Kalmana pozycji GPS oraz nawigacji inercyjnej. Azymut robota ustalany
jest za pomocą cyfrowego kompasu z kompensacją przechyáu. Do okreĞlenia przechylenia i
pochylenia robota stosowane są czujniki inklinacji: inklinometry oraz akcelerometry.
a
b
MR
FR
MR
BR
BR
FR
F
FR
BR
FL
BL
F
FL
FL
skaner laserowy
dalmierze laserowe
ML
BL
ML
BL
czujniki radarowe
zderzaki
Rys. 2. Rozmieszczenie czujników: a – widok z lewej strony robota, b – widok z góry
Na ramie noĞnej robota zamontowano cztery rodzaje czujników do detekcji przeszkód: dwuwymiarowy skaner laserowy, dalmierze laserowe, czujniki radarowe obecnoĞci przeszkody
i czujniki taktylne (zderzaki). Czujniki te są rozmieszczone w taki sposób (rys. 2), aby pokrywaáy maksymalną przestrzeĔ wokóá robota i aby wiĊksza czĊĞü informacji z czujników
przypadaáa na przestrzeĔ przed robotem.
Zadaniem dwuwymiarowego skanera laserowego jest wykrywanie przeszkód znajdujących siĊ przed robotem. Zakres kątowy jego pracy ustawiono na 100º. Jego maksymalny
zasiĊg 80 m wynika z ograniczeĔ sprzĊtowych samego czujnika, natomiast aktualny zakres
widzenia zaleĪy od ustawienia kąta, pod którym kierowana jest wiązka. Skaner skierowany
jest pod niewielkim kątem w dóá, co pozwala wykryü przeszkody o wysokoĞci mniejszej niĪ
wysokoĞü na jakiej zostaá on umieszczony.
Dalmierze laserowe sáuĪą do wykrywania przeszkód w najbliĪszej okolicy robota. Są
one umieszczone pod róĪnymi kątami w dóá, co pozwala na detekcjĊ zarówno wypukáych, jak
i wklĊsáych przeszkód. Jeden z nich ma wiązkĊ skierowaną w górĊ, co pozwala z kolei na
wykrycie zbyt niskich przeszkód. Zastosowane dalmierze umoĪliwiają pomiar odlegáoĞci
do najbliĪszej przeszkody w zakresie 0,5–10 m.
Czujniki radarowe są przeznaczone do wykrycia przeszkód w duĪej odlegáoĞci od robota. Zwracają one tylko informacjĊ, czy coĞ znajduje siĊ w zdefiniowanej odlegáoĞci. Zakres
ich dziaáania obejmuje odlegáoĞci 2–15 m. UmoĪliwiają one wczesne wykrycie przeszkód
znajdujących siĊ w okolicy robota.
444 Pomiary Automatyka Robotyka 2/2011
NAUKA
Zadaniem czujników taktylnych (zderzaków) jest wykrycie przeszkód, które nie zostaáy wykryte przez pozostaáe czujniki i spowodowanie awaryjnego zatrzymania robota w przypadku uderzenia w przeszkodĊ.
4. ALGORYTM SEMIAUTONOMII
ĩaden z dotychczas zaprojektowanych algorytmów nie zapewnia robotom mobilnym bezbáĊdnego wykonywania powierzonych im zadaĔ. Wynika to m.in. z faktu, Īe twórcy algorytmów
nie potrafią przewidzieü wszystkich moĪliwych sytuacji, a czujniki nie są w stanie zawsze wykryü i sklasyfikowaü wszystkie przeszkody. Z tych powodów w prezentowanych badaniach
korzysta siĊ z pojĊcia semiautonomii. Oznacza to, Īe robot wykonuje swoje zadanie samodzielnie, ale pod kontrolą operatora, który moĪe w dowolnej chwili przerwaü realizacjĊ zadania.
Celem badaĔ opisanych w niniejszej pracy byáo zbadanie wpáywu awarii czujników na
dziaáanie algorytmu umoĪliwiającego robotowi IBIS osiąganie zadanego celu, z omijaniem
przy tym wykrytych ze pomocą czujników przeszkód.
Algorytm sterowania skáada siĊ z czterech podzachowaĔ. Pierwsze podzachowanie związane jest z ustawianiem siĊ robota w kierunku celu. Drugie podzachowanie związane jest z ustaleniem prĊdkoĞci ruchu robota i zaleĪy od odlegáoĞci robota od celu i najbliĪszej przeszkody. JeĪeli robot znajduje siĊ w duĪej odlegáoĞci od celu, a najbliĪsza przeszkoda znajduje siĊ w odlegáoĞci wiĊkszej niĪ zasiĊg czujników, wówczas robot porusza siĊ z maksymalną prĊdkoĞcią. Trzecie
podzachowanie związane jest ze skanerem laserowym, który traktowany jest jak 101 pojedynczych wiązek. Do przetworzenia pozyskiwanych ze skanera informacji o otoczeniu wykorzystuje
siĊ zmodyfikowany algorytm VFH [18, 19]. Czwarte podzachowanie wzorowane jest na idei algorytmu Braitenberga, który opiera swoje dziaáanie na bezpoĞrednim poáączeniu czujników
z elementami wykonawczymi, przy czym kaĪde poáączenie ma osobną wagĊ. W zaleĪnoĞci
od wskazaĔ czujników i wartoĞci wag robot moĪe wykonywaü róĪne zadania. Algorytm semiautonomii z podziaáem na jego poszczególne podzachowania zostaá szerzej opisany w [15].
Wagi dla kaĪdego z podzachowaĔ ustalane są na podstawie aktywnego zachowania.
JeĪeli aktualne zachowanie jest za maáo efektywne wirtualny zbiornik (WaterTank) przepeánia siĊ i nastĊpuje przeáączenie do innego zachowania. O tym, jakie jest nowe zachowanie
decyduje jakoĞciowa ocena wzajemnego poáoĪenia wzglĊdem robota przeszkód i najbliĪszego
celu. Na przykáad, jeĪeli w momencie przerwania zachowania „podąĪaj do celu i omijaj przeszkody” przed robotem są przeszkody, a cel znajduje siĊ prosto i na prawo, wówczas robot
moĪe przeáączyü siĊ na realizacjĊ zachowania „ĞledĨ przeszkody po lewej stronie”. Przy
zmianie zachowania wirtualny zbiornik jest na początek opróĪniany.
Jedną z najwaĪniejszych cech charakteryzującą wspóáczesne algorytmy sterowania jest
odpornoĞü na awarie czujników. Czujniki, które ulegáy awarii, mogą powodowaü znaczne
zmiany zachowania robota nieraz prowadzące do jego uszkodzenia lub stwarzające zagroĪenie dla osób znajdujących siĊ w jego otoczeniu. W celu unikniĊcia takich sytuacji prezentowany algorytm zostaá zmodyfikowany pod kątem moĪliwoĞci wykrycia w sterowniku niepoprawnych danych przesyáanych przez uszkodzone czujniki.
Czujnik lokalizacyjny w postaci odbiornika GPS w przypadku utracenia sygnaáów
z nadajników lub wystąpienia duĪych róĪnic w wyznaczanych wspóárzĊdnych poáoĪenia robo2/2011 Pomiary Automatyka Robotyka
445
NAUKA
ta (powyĪej 10 m) powoduje przeáączenie siĊ trybu pracy robota z semiautonomii na teleoperacjĊ. Czynnikami decydującymi o poprawnym dziaáaniu czujnika lokalizacyjnego są róĪnice
w poáoĪeniu robota oraz jego odlegáoĞci od celu w kolejnych iteracjach programu sterownika.
Czujniki otoczenia znajdujące siĊ na robocie to m.in. siedem dalmierzy laserowych
i skaner 2D. Awaria tych czujników moĪe przejawiaü siĊ w zaleĪnoĞci od jej charakteru w róĪny sposób.
Pierwszy typ awarii wystĊpuje gdy niemoĪliwe jest nawiązanie komunikacji z czujnikiem lub gdy sam czujnik po zainicjalizowaniu przesyáa informacje o báĊdzie. Mikroprocesor,
odpowiedzialny za zbieranie informacji o czujnikach i komunikacjĊ z nimi, przesyáa w takim
przypadku do mikroprocesora gáównego informacjĊ o awarii czujnika. Informacja ta przesyáana jest w taki sam sposób, jak poprawna wartoĞü zwracana przez czujnik, ale przyjmuje ona
wartoĞü 0,01 m. Odpowiada to sytuacji, w której przeszkoda znajduje siĊ w takiej wáaĞnie
odlegáoĞci od czujnika i jest ona w normalnych warunkach pracy niemoĪliwa do otrzymania.
Drugi typ awarii jest bardziej skomplikowany do wykrycia. WystĊpuje, gdy z jakiegoĞ
powodu czujnik zwraca wartoĞci niemające odzwierciedlenia w jego rzeczywistym otoczeniu.
Awaria tego typu moĪe byü spowodowana wieloma róĪnymi czynnikami, takimi jak np. duĪe
wibracje platformy mobilnej wystĊpujące podczas szybkiej jazdy po nierównym terenie czy
odbicia wiązki czujników laserowych od páaskich powierzchni skierowanych pod maáym kątem. Wykrycie i odfiltrowanie báĊdnych danych w takich przypadkach jest niezwykle trudne.
W algorytmie sterowania jedynie wartoĞci wychodzące poza zakres pomiarowy wynikający z
konstrukcji robota mobilnego oraz sposobu zamontowania czujników zostają odfiltrowane.
Wykrycie i prawidáowe zdiagnozowanie awarii powoduje zmianĊ wag dla odpowiedniego podzachowania. W przypadku wykrycia awarii skanera waga dla podzachowania trzeciego zostaje ustawiona na zero, co w rezultacie równoznaczne jest z wyáączeniem jego
wpáywu na dziaáanie algorytmu i samego robota. W przypadku awarii jednego lub kilku dalmierzy zmieniana jest waga dla podzachowania czwartego. Waga ta jest modyfikowana na
podstawie wspóáczynnika wiarygodnoĞci, którego sposób wyznaczania przedstawiony zostaá
poniĪej.
Sterowania dla kóá robota obliczane są z zaleĪnoĞci:
ui
4
¦c u
j
ij
,
(1)
j 1
gdzie: i = {L, R}, L i R – odpowiednio lewe i prawe koáa robota, j – numer podzachowania,
cj – waga dla podzachowania j definiująca udziaá sterowania związanego z tym podzachowaniem w sterowaniu caákowitym, uij – sterowanie dla koáa i oraz podzachowania j.
Wagi związane z poszczególnymi podzachowaniami wynoszą odpowiednio: c1 = 1
(nie analizuje siĊ awarii czujnika związanego z okreĞleniem orientacji robota), c2 = 1 (nie analizuje siĊ awarii czujnika związanego z okreĞleniem prĊdkoĞci robota), c3 = 0 w przypadku
awarii skanera laserowego, c3 = c3* = 0,6 jeĪeli skaner jest sprawny, natomiast waga dla ostatniego podzachowania obliczana jest ze wzoru:
c4
c4* '
446 Pomiary Automatyka Robotyka 2/2011
(2)
NAUKA
gdzie: c4* = 0,4 oznacza wagĊ dla podzachowania związanego z dalmierzami laserowymi jeĪeli wszystkie dalmierze są sprawne, ' – wspóáczynnik wiarygodnoĞci informacji pochodzących
z dalmierzy laserowych zaleĪny od liczby uszkodzonych dalmierzy.
NaleĪy zwróciü uwagĊ, Īe w przypadku awarii któregoĞ z czujników zachodzi zaleĪnoĞü:
c3 c 4 1 .
(3)
W celu zapewnienia wiĊkszego bezpieczeĔstwa pracy robota przyjĊto podejĞcie, w którym
awaria czujnika otoczenia powoduje ograniczenie maksymalnej prĊdkoĞci ruchu robota. Przy
innym podejĞciu moĪna by byáo zwiĊkszaü wagĊ dla tego podzachowania, dla którego czujniki są sprawne, tak, aby suma c3 i c4 byáa równa 1.
Wspóáczynnik wiarygodnoĞci wyznaczany jest
z zaleĪnoĞci:
'
1.2
0.8
'
0.4
0
n
-0.4
0
2
4
6
8
Rys. 3. Zmiana wspóáczynnika wiarygodnoĞci
w zaleĪnoĞci od liczby dalmierzy laserowych,
które ulegáy awarii
1
0,13 ,
n 0,88
(4)
gdzie: n oznacza liczbĊ dalmierzy laserowych,
które ulegáy awarii.
Zmiana wartoĞci tego wspóáczynnika w zaleĪnoĞci od liczby dalmierzy laserowych, które ulegáy
awarii zostaáa zilustrowana na rys. 3.
5. BADANIA SYMULACYJNE
W celu przeprowadzenia badaĔ symulacyjnych opracowywanych metod autonomii przygotowane zostaáo Ğrodowisko symulacyjne oparte na pakiecie Matlab/Simulink. Oprogramowanie
odpowiedzialne za symulacjĊ Ğrodowiska i wyznaczanie wskazaĔ wirtualnych czujników zostaáo oddzielone od oprogramowania realizującego algorytm sterowania robota w trybie teleoperacji i semiautonomii. To drugie oprogramowanie zostaáo przygotowane w taki sposób,
aby byáa moĪliwoĞü jego áatwej i szybkiej implementacji na mikrokontrolerze robota. Otoczenie robota do symulacji zostaáo przygotowane z zastosowaniem programu V-Realm Builder.
W oprogramowaniu symulacyjnym poszczególne obiekty sceny zostaáy przybliĪone za pomocą prostopadáoĞcianów i walców.
W niniejszej pracy zaprezentowano wyniki badaĔ dla przypadku, w którym na drodze
robota do celu wystĊpowaáy cztery przeszkody. Robot realizowaá záoĪone zachowanie „podąĪaj do celu i omijaj przeszkody”. W ramach badaĔ symulacyjnych dokonano oceny wraĪliwoĞci algorytmu semiautonomii dla mobilnego robota bojowego na awariĊ wybranych czujników otoczenia.
W celu uzyskania miarodajnej oceny wyników wprowadzono nastĊpujące wskaĨniki jakoĞci:
a) suma kwadratów odlegáoĞci robota od celu
E
n
¦e
2
i
't ,
(5)
i 1
gdzie ei – odlegáoĞü robota od celu w i-tej iteracji, n – liczba iteracji do czasu osiągniĊcia przez robota celu lub zakoĔczenia symulacji w przypadku nieosiągniĊcia celu,
b) odchylenie standardowe prĊdkoĞci ruchu robota
2/2011 Pomiary Automatyka Robotyka
447
NAUKA
n
¦ (v
i
v )2
i 1
S
n 1
,
(6)
gdzie: vi – prĊdkoĞü robota w i-tej iteracji, v - Ğrednia prĊdkoĞü ruchu,
c) dáugoĞü drogi od pozycji początkowej do celu
n
s
¦v
i
't ,
(7)
i 1
d) czas ruchu robota do celu T, zakáadając, Īe cel jest osiągany dla e ” 0,5 m,
e) maksymalna prĊdkoĞü ruchu robota vmax (w przedziale czasu od t0 do T, gdzie t0 jest
chwilą czasu, w której nastąpiáa awaria czujnika),
f) Ğrednia prĊdkoĞü ruchu robota v (w przedziale czasu od 0 do T).
NaleĪy zauwaĪyü, Īe dla wskaĨników a–d naleĪy dąĪyü do ich minimalizacji, natomiast
dla wskaĨników e i f do ich maksymalizacji.
W przypadku, gdy robotowi nie uda siĊ dotrzeü do celu w zaáoĪonym czasie Tmax, zakáada
siĊ, Īe wskaĨniki jakoĞci s i T osiągają wartoĞü +’, natomiast pozostaáe wskaĨniki osiągają
wyliczone wartoĞci dla czasu Tmax. W niniejszej pracy przyjmuje siĊ Tmax = 100 s.
Symulacja 1 – wszystkie czujniki otoczenia są sprawne
Pierwsza prezentowana symulacja zostaáa wykonana dla zaáoĪenia, Īe wszystkie czujniki otoczenia umieszczone na robocie są sprawne. Wyniki tej symulacji, przedstawione na rys. 4
i w tab. 1, stanowią punkt odniesienia dla pozostaáych symulacji, w których zakáada siĊ awariĊ wybranych czujników.
PrzyjĊte na rys. 4e oznaczenia dalmierzy laserowych są zgodne z rys. 2. Oznaczając
wiązki skanera laserowego na rys. 4f, przyjĊto natomiast konwencjĊ, Īe są one nazywane jako
LD, gdzie D jest kątem (w stopniach) odchylenia wiązki od osi podáuĪnej skanera. Kąt dodatni
oznacza odchylenie w lewo, a ujemny w prawo. Na rys. 4f pokazano odczyty co dziesiątej
wiązki skanera. Na rys. 4g i 4h zamieszczono wartoĞci sterowaĔ dla lewych i prawych kóá robota (uLi i uRi, i = 1 ... 4) dla opisanych wczeĞniej podzachowaĔ oraz sterowania caákowite
(uL i uR). W trakcie ruchu robota wagi dla poszczególnych podzachowaĔ robota są staáe
(rys. 4i). Wagi te są zmieniane wyáącznie w przypadku wykrycia awarii czujników otoczenia.
Z wykonanej symulacji wynika, Īe opracowana metoda pozwala na ominiĊcie przez
robota wystĊpujących przeszkód i dotarcie do zdefiniowanego celu. Robot porusza siĊ ze
zmienną prĊdkoĞcią, co jest związane z tym, Īe zwalnia tym bardziej im bliĪej niego znajdują
siĊ przeszkody. Praktycznie caáy czas podczas ruchu robota jego odlegáoĞü od celu ulega
zmniejszaniu. W trakcie omijania przeszkód uwidacznia siĊ dziaáanie dalmierzy i skanera
laserowego, których odczyty ulegają wówczas istotnym zmianom. EfektywnoĞü zachowania
jest oceniana przy pomocy parametru WaterTank, którego najwiĊksze wartoĞci wystĊpują
w chwilach, gdy robot przemieszcza siĊ pomiĊdzy przeszkodami, co jest widoczne na rys. 4c.
Tab. 1. Uzyskane wartoĞci wskaĨników jakoĞci dla Symulacji 1
WskaĨnik
jakoĞci
E [m2s]
S [m/s]
s [m]
T [s]
vmax [m/s]
v [m/s]
WartoĞü
8 533
0,284
28,2
38,8
1,34
0,726
448 Pomiary Automatyka Robotyka 2/2011
NAUKA
a
b
15
Trajektoria ruchu robota
PoáoĪenie celu
Przeszkody
y [m]
10
c
vL [rad/s]
vR [rad/s]
8
vA [m/s]
WaterTank
1.6
1.2
6
5
0.8
4
0
0.4
2
-5
0
0
-10
x [m]
-15
-15
-10
-5
0
5
10
t [s]
-2
15
0
d
10
20
30
40
0
50
e
2L [m]
dJ [o]
60
10
20
30
40
50
f
Odczyty dalmierzy [cm]
600
F
FL
FR
ML
MR
BL
BR
500
30
400
0
t [s]
-0.4
300
200
Odczyty skanera [cm]
600
L-50
L-40
L-30
L-20
L-10
L0
L+10
L+20
L+30
L+40
L+50
500
400
300
200
-30
100
t [s]
-60
0
10
20
30
40
100
t [s]
0
50
0
g
10
20
30
40
50
0
h
800
uL [-]
uL1 [-]
uL2 [-]
uL3 [-]
uL4 [-]
600
uR [-]
uR1 [-]
uR2 [-]
uR3 [-]
uR4 [-]
800
600
200
200
0.4
0
0
0.2
10
20
30
40
50
30
40
50
t [s]
-200
0
10
20
30
40
50
c1 [-]
c2 [-]
c3 [-]
c4 [-]
0.8
0.6
0
20
1
400
t [s]
10
i
400
-200
t [s]
0
t [s]
0
0
10
20
30
40
50
Rys. 4. Wyniki Symulacji 1: a – trajektoria ruchu robota z zaznaczeniem poáoĪenia celu i przeszkód, b – zadane
prĊdkoĞci liniowe dla lewych i prawych kóá robota, c – prĊdkoĞü ruchu robota i zmiana parametru WaterTank,
d – odlegáoĞü i odchylenie robota od celu, e – odczyty dalmierzy laserowych, f – odczyty skanera dla
wybranych 11. wiązek, gíi – wartoĞci sterowaĔ i wagi dla poszczególnych podzachowaĔ
Symulacja 2 – dalmierz oznaczony jako FR ulega awarii po czasie 1 s
Druga symulacja zostaáa przeprowadzona dla przypadku awarii dalmierza laserowego oznaczonego na rys. 2 jako FR. Awaria czujnika nastąpiáa po 1 [s] symulacji. Wyniki tej symulacji zilustrowano na rys. 5 i w tab. 2. W efekcie wykrycia przez algorytm semiautonomii awarii dalmierza zostaáa zmodyfikowana waga dla pierwszego podzachowania (rys. 5i) związanego ze zmodyfikowanym algorytmem Braitenberga bazującym na wskazaniach dalmierzy laserowych.
2/2011 Pomiary Automatyka Robotyka
449
NAUKA
Tab. 2. Uzyskane wartoĞci wskaĨników jakoĞci dla Symulacji 2
WskaĨnik
jakoĞci
E [m2s]
S [m/s]
s [m]
T [s]
vmax [m/s]
v [m/s]
WartoĞü
11 016
0,116
27,7
50,0
0,681
0,555
a
b
15
Trajektoria ruchu robota
PoáoĪenie celu
Przeszkody
y [m]
10
c
vL [rad/s]
vR [rad/s]
8
vA [m/s]
WaterTank
1.6
1.2
6
5
0.8
4
0
0.4
2
-5
0
0
-10
x [m]
-15
-15
-10
-5
0
5
10
t [s]
-2
15
0
d
20
40
0
60
e
2L [m]
dJ [o]
60
t [s]
-0.4
20
40
60
f
Odczyty dalmierzy [cm]
600
30
400
0
Odczyty skanera [cm]
600
F
FL
FR
ML
MR
BL
BR
L-50
L-40
L-30
L-20
L-10
L0
L+10
L+20
L+30
L+40
L+50
500
400
300
200
-30
200
t [s]
-60
0
20
40
t [s]
0
60
0
g
10
20
30
40
0
h
800
uL [-]
uL1 [-]
uL2 [-]
uL3 [-]
uL4 [-]
400
t [s]
100
50
20
40
60
i
uR [-]
uR1 [-]
uR2 [-]
uR3 [-]
uR4 [-]
800
400
1
c1 [-]
c2 [-]
c3 [-]
c4 [-]
0.8
0.6
0
0
0.4
-400
-400
t [s]
-800
0
20
40
60
0.2
t [s]
-800
0
20
40
60
t [s]
0
0
10
20
30
40
50
Rys. 5. Wyniki Symulacji 2: a – trajektoria ruchu robota z zaznaczeniem poáoĪenia celu i przeszkód, b – zadane
prĊdkoĞci liniowe dla lewych i prawych kóá robota, c – prĊdkoĞü ruchu robota i zmiana parametru WaterTank,
d – odlegáoĞü i odchylenie robota od celu, e – odczyty dalmierzy laserowych, f – odczyty skanera dla wybranych
11. wiązek, gíi – wartoĞci sterowaĔ i wagi dla poszczególnych podzachowaĔ
Porównując wyniki Symulacji 1 i 2 moĪna stwierdziü, Īe w przypadku awarii dalmierza laserowego FR robot osiągnąá cel po dáuĪszym czasie. Odnotowano gorsze wartoĞci wskaĨników ja1
PominiĊto początkowe maksymalne wartoĞci, które są efektem dziaáania algorytmu przed awarią czujnika.
450 Pomiary Automatyka Robotyka 2/2011
NAUKA
koĞci E, T, vmax i v . Z kolei wskaĨniki jakoĞci S i s osiągnĊáy lepsze wartoĞci. MoĪna to wytáumaczyü tym, Īe w związku z awarią czujnika robot jechaá wolniej, ale z bardziej równomierną
prĊdkoĞcią i poruszaá siĊ bliĪej przeszkód przez co droga przez niego wykonana byáa krótsza.
Symulacja 3 – skaner laserowy ulega awarii – po czasie 1 [s]
Ostatnią symulacjĊ wykonano przy zaáoĪeniu, Īe w nastĊpuje awaria skanera laserowego
po 1 s. Wyniki symulacji pokazane są na rys. 6 i w tab. 3.
a
b
15
Trajektoria ruchu robota
PoáoĪenie celu
Przeszkody
y [m]
10
c
vL [rad/s]
vR [rad/s]
8
vA [m/s]
WaterTank/5
1.6
1.2
6
5
0.8
4
0
0.4
2
-5
-10
0
0
x [m]
-15
-15
-10
-5
0
5
10
t [s]
-2
15
0
d
10
20
30
40
0
50
e
2L [m]
dJ [o]
60
10
20
30
40
50
f
Odczyty dalmierzy [cm]
600
F
FL
FR
ML
MR
BL
BR
500
30
t [s]
-0.4
400
0
300
Odczyty skanera [cm]
600
L-50
L-40
L-30
L-20
L-10
L0
L+10
L+20
L+30
L+40
L+50
400
-30
200
200
-60
100
t [s]
-90
0
10
20
30
40
t [s]
0
50
0
g
20
40
0
60
h
800
uL [-]
uL1 [-]
uL2 [-]
uL3 [-]
uL4 [-]
400
t [s]
0
20
40
60
i
uR [-]
uR1 [-]
uR2 [-]
uR3 [-]
uR4 [-]
800
400
1
c1 [-]
c2 [-]
c3 [-]
c4 [-]
0.8
0.6
0
0
0.4
-400
-400
t [s]
-800
0
20
40
60
0.2
t [s]
-800
0
20
40
60
t [s]
0
0
10
20
30
40
50
Rys. 6. Wyniki Symulacji 3: a – trajektoria ruchu robota z zaznaczeniem poáoĪenia celu i przeszkód, b – zadane
prĊdkoĞci liniowe dla lewych i prawych kóá robota, c – prĊdkoĞü ruchu robota i zmiana parametru WaterTank,
d – odlegáoĞü i odchylenie robota od celu, e – odczyty dalmierzy laserowych, f – odczyty skanera dla wybranych
11. wiązek, gíi – wartoĞci sterowaĔ i wagi dla poszczególnych podzachowaĔ
2/2011 Pomiary Automatyka Robotyka
451
NAUKA
Tab. 3. Uzyskane wartoĞci wskaĨników jakoĞci dla Symulacji 3
WskaĨnik
jakoĞci
E [m2s]
S [m/s]
s [m]
T [s]
vmax [m/s]
v [m/s]
WartoĞü
10 564
0,177
28,9
47,2
0,852
0,6133
W tym przypadku uzyskano gorsze wartoĞci wszystkich wskaĨników jakoĞci w porównaniu
z Symulacją 1 poza wskaĨnikiem S, co byáo związane z tym, Īe robot poruszaá siĊ z mniejszą
i bardziej równomierną prĊdkoĞcią. W porównaniu z Symulacją 2 robot osiąga cel szybciej
poruszając siĊ z wiĊkszą Ğrednią prĊdkoĞcią, co byáo związane z tym, Īe robot miaá uboĪszą
informacjĊ o przeszkodach, przez co poruszaá siĊ bardziej swobodnie.
W ramach realizacji niniejszej pracy wykonano takĪe badania symulacyjne zakáadające awariĊ pozostaáych czujników dla przypadku awarii pojedynczego czujnika.
Na podstawie wszystkich wykonanych symulacji moĪna stwierdziü, Īe w wiĊkszoĞci
przypadków opracowany algorytm semiautonomii dobrze radzi sobie z awarią pojedynczego
czujnika.
Animacje ruchu robota zrealizowane z zastosowaniem przybornika Simulink 3D Animation dla opisanych w pracy przypadków symulacji moĪna znaleĨü pod adresem [17].
6. PODSUMOWANIE, WNIOSKI I KIERUNKI DALSZYCH BADAē
W niniejszej pracy opisano wyniki prac badawczych dotyczących analizy wraĪliwoĞci algorytmu semiautonomii mobilnego robota bojowego na awariĊ czujników otoczenia. Opracowany algorytm semiautonomii uwzglĊdniaá moĪliwoĞü wystąpienia awarii czujników, korygując w odpowiedni sposób podzachowania robota. Przedstawiono wyniki badaĔ symulacyjnych
zrealizowanych z zastosowaniem pakietu Matlab/Simulink dla przypadków normalnej pracy
czujników otoczenia oraz awarii wybranych z nich. Dokonano porównania uzyskanych wyników symulacji za pomocą przyjĊtych szeĞciu wskaĨników jakoĞci. Uzyskane wyniki Ğwiadczą
o tym, Īe opracowany algorytm semiautonomii wykazuje duĪą odpornoĞü na awariĊ czujników. Co wiĊcej, w przypadku awarii niektórych czujników uzyskuje siĊ lepsze wartoĞci
wskaĨników jakoĞci. Takie zachowanie algorytmu moĪna wyjaĞniü tym, Īe robot wskutek
awarii jednego z czujników przejeĪdĪa bliĪej niektórych przeszkód, przez co jego droga do
celu staje siĊ krótsza. Nie Ğwiadczy to jednak o tym, Īe w tym przypadku algorytm lepiej
funkcjonuje i Īe naleĪy usunąü z robota czujnik, który ulegá awarii.
Kierunki dalszych badaĔ bĊdą dotyczyü symulacji awarii wiĊkszej liczby czujników
oraz implementacji zmodyfikowanego algorytmu semiautonomii na mobilnym robocie bojowym oraz realizacji badaĔ eksperymentalnych związanych z analizą wraĪliwoĞci tego algorytmu na imitowaną awariĊ czujników otoczenia.
2
PominiĊto początkowe maksymalne wartoĞci, które są efektem dziaáania algorytmu przed awarią czujnika.
452 Pomiary Automatyka Robotyka 2/2011
NAUKA
BIBLIOGRAFIA
[1] A. Woáoszczuk, M. Andrzejczak i P. Szynkarczyk, "Architecture of mobile robotics
platform planned for intelligent robotic porter system – IRPS project," Journal
of Automation, Mobile Robotics & Intelligent Systems, vol. 1, 59–63, 2007.
[2] M. Trojnacki i P. Szynkarczyk, "Tendencje rozwoju mobilnych robotów lądowych (3).
Autonomia robotów mobilnych – stan obecny i perspektywy rozwoju", Pomiary
Automatyka Robotyka, Nr. 9/2008, 5–9.
[3] A. Ghorbani, S. Shiry and A. Nodehi, "Using Genetic Algorithm for a Mobile Robot Path
Planning," in International Conference on Future Computer and Communication,
164–166, 2009.
[4] M. Wang i J. N. K. Liu, "Fuzzy logic-based real-time robot navigation in unknown
environment with dead ends," Robotics and Autonomous Systems vol. 56, 625–643, 2008.
[5] X.-J. Jing, "Behaviour dynamics based motion planning of mobile robots in uncertain
dynamic environments," Robotics and Autonomous Systems vol. 53, 99–123, 2005.
[6] M. Soika, "A sensor failure detection framework for autonomous mobile robots",
in Intelligent Robots and Systems, 1997. IROS '97., Proceedings of the 1997 IEEE/RSJ
International Conference on, 1997, 1735–1740 vol.3.
[7] N. Ranganathan, M. I. Patel and R. Sathyamurthy, "An intelligent system for failure
detection and control in an autonomous underwater vehicle," Systems, Man and
Cybernetics, Part A: Systems and Humans, IEEE Transactions on, vol. 31, 762–767, 2001.
[8] K. Bouibed, A. Aitouche and M. Bayart, "Sensor fault detection by sliding mode observer
applied to an autonomous vehicle," in Advances in Computational Tools for Engineering
Applications, 2009. ACTEA '09. International Conference on, 621–626, 2009.
[9] I. J. Rudas, I. Ori and A. Toth, "Design methodology and environment for robot
diagnosis," in Industrial Electronics, 1993. Conference Proceedings, ISIE'93 - Budapest.,
IEEE International Symposium on, 367–372, 1993.
[10] K. Kroschel and A. Wernz, "Sensor Fault Detection and Localisation Using Decorrelation
Methods," A Sesnsors and Actuators, vol. 25–27, pp. 43–50, 1991.
[11] G. J. S. Rae and S. E. Dunn, "On-Line detection for AUV," in IEEE Symp. Autonomous
Underwater Vehicle Technology, 383–392, 1994.
[12] T. J. Farrel and B. Appleby, "Using leraning techniques to accommodate unanticipated
faults," in IEEE Trans. Control Syst. Technol., 1993, 40–49.
[13] M. L. Visinsky, J. R. Cavallaro and J. D. Walker, "Expert System Framework for Fault
Detection and Fault Tolerance in Robotics," Computers & Electrical Engineering, vol.
20(5), 421–435, 1994.
[14] "Toward an automatic health monitor for autonomous underwater vehicles using
parameter identification," in Amer. Control Conf., 585–589, 1993.
[15] P. Bigaj, M. Trojnacki i J. Bartoszek, "Robot IBIS – realizacja ruchu w trybie teleoperacji
i semiautonomii," Prace naukowe Politechniki Warszawskiej, Seria: Elektronika, Zeszyt
175, Tom 1, 135–148, 2010.
[16] Oferta robota IBIS produkcji PIAP (stan na dzieĔ 24.11.2010) dostĊpna na stronie
internetowej: http://www.antyterroryzm.com/robot_bojowy.php
[17] Filmy prezentujące moĪliwoĞci robota IBIS produkcji PIAP dostĊpne pod adresem (stan
na dzieĔ 24.11.2010): http://www.youtube.com/user/osmpiap
[18] J. Borenstein and Y. Koren, "High-speed obstacle avoidance for mobile robots",
in Intelligent Control, 1988. Proceedings., IEEE International Symposium on, 382–384,
1998.
[19] I. Ulrich and J. Borenstein, "VFH+: reliable obstacle avoidance for fast mobile robots",
in Robotics and Automation, 1998. Proceedings. 1998 IEEE International Conference on,
1572–1577, 1998.
2/2011 Pomiary Automatyka Robotyka
453

Podobne dokumenty