Autonomiczne roboty mobilne

Transkrypt

Autonomiczne roboty mobilne
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Rozszerzony konspekt preskryptu do przedmiotu
„Autonomiczne Roboty Mobilne”
dr inż. Andrzej Chmielniak
Instytut Techniki Lotniczej i Mechaniki Stosowanej
Wydział Mechaniczny Energetyki i Lotnictwa
Politechnika Warszawska
Cel zajęć:
Celem zajęć jest przedstawienie studentom zagadnień związanych z projektowaniem,
budową, programowaniem i użytkowaniem robotów mobilnych oraz maszyn kroczących w
różnym stopniu autonomii.
Przegląd zagadnień:
W ramach przedmiotu omawiane są zagadnienia konstrukcji kołowych robotów mobilnych ze
szczególnym uwzględnieniem ich układów napędowych. Następnie opisywane są zagadnienia
dotyczące nawigacji robotów mobilnych oraz oczujnikowanie robotów. Opisywane są także
różne realizacje sprzętowe systemów sterowania robotów mobilnych oraz architektura
funkcjonalna sterowników robotów. Omawiane są także zagadnienia dotyczące systemów
wizyjnych. Następnie przedstawiane są różne rozwiązania techniczne maszyn kroczących i są
opisywane specyficzne zagadnienia dotyczące sterowania tego rodzaju robotami. Zakończenie
wykładu stanowi opis istniejących i potencjalnych zastosowań robotów mobilnych.
Forma zajęć:
Zajęcia są prowadzone w formie wykładu w wymiarze 2 godzin tygodniowo. Przewiduje się,
że ostatnie zajęcia w semestrze są przeznaczone na kolokwium zaliczeniowe.
Ramowy plan zajęć:
Wykład 1: Wstęp, podstawowe definicje, elementy składowe konstrukcji robota mobilnego
Wykład 2: Układy napędowe typowych kołowych robotów mobilnych
Wykład 3: Pojęcie nawigacji, samolokalizacja, odometria a konstrukcja robota
Wykład 4: Błędy odometrii, metody poprawy wyników samolokalizacji
Wykład 5: Nawigacja z wykorzystaniem znaczników w otoczeniu robota
Wykład 6: Określanie pozycji robota na podstawie mapy
Wykład 7: Planowanie ścieżki robota mobilnego - przestrzeń konfiguracyjna
Wykład 8: Planowanie ścieżki - najczęściej stosowane metody planowania
Wykład 9: Planowanie ścieżki - planowanie lokalne, metody probabilistyczne
Wykład 10: Systemy sterowania - zadania, budowa, architektura hierarchiczna
Wykład 11: Sterowanie behawioralne
Wykład 12: Systemy wizyjne w robotyce mobilnej
Wykład 13: Maszyny kroczące
Wykład 14: Zastosowania autonomicznych robotów mobilnych
Wykład 15: Zaliczenie
Proponowane pozycje literatury:
J.C. Latombe „Robot motion planning”, Kluwer Academic Publishers 1991
T. Zielińska „Maszyny kroczące: podstawy, projektowanie, sterowanie i wzorce biologiczne”,
PWN 2003
P. Ciesielski, J. Sawoniewicz, A. Szmigielski „Elementy robotyki mobilnej” P-JWSTK 2004
K. Tchoń „Manipulatory i roboty mobilne : modele, planowanie ruchu, sterowanie” PLJ,2000
Wykorzystane w przygotowaniu zajęć materiały dostępne w sieci:
J. Borenstein, H. R. Everett, L. Feng „Where am I? Sensors and Methods for Mobile Robot
Positioning”, 1996
L. E. Parker „Software for Intelligent Robotics”, 2002
R. Siegwart „Autonomous Mobile Robots”, EPFL
S. Marsland „Machine Learning for Autonomous Mobile Robots”
2
Wstęp
Rozwój robotyki przyniósł szybki wzrost liczby produkowanych i eksploatowanych
robotów mobilnych. Są one wyposażone w mniej lub bardziej zaawansowany system
sterowania, który zwykle zapewnia pewną autonomię działania robotów. W niniejszym
opracowaniu przybliżone zostaną zagadnienia związane z budową, sterowaniem i
użytkowaniem autonomicznych robotów mobilnych.
Autonomiczny robot mobilny jest definiowany jako urządzenie techniczne, które w celu
wykonania postawionego zadania przemieszcza się bezkolizyjnie w określonym środowisku i
bez bezpośredniej ingerencji operatora realizuje pod kontrolą systemu nadzorczego narzucony
z zewnątrz lub zaplanowany przez siebie ciąg czynności.
Inna definicja mówi, że autonomiczny robot mobilny to urządzenie techniczne o
następujących cechach:
• możliwość ruchu,
• możliwość rozpoznawania otoczenia,
• autonomia działania,
• możliwość wykonywania pewnych czynności w otoczeniu.
Z powyższej definicji można wywnioskować, jakie są podstawowe elementy składowe
robotów mobilnych:
• układ jezdny (pozwala zrealizować ruch robota w otoczeniu),
• układ czujników (pozwala na zbieranie danych o otoczeniu robota),
• układ sterujący (najczęściej komputer lub zestaw komputerów pozwalających na
autonomiczną pracę robota),
• układ zasilania (najczęściej akumulator - pozwala na funkcjonowanie
wszystkich zasilanych energią elektryczną elementów robota),
• wyposażenie dodatkowe (umożliwia wykonywanie pewnych czynności w
otoczeniu).
Kluczowym czynnikiem odróżniającym roboty mobilne od innych robotów jest
możliwość poruszania się. Roboty mobilne mogą poruszać się na wiele sposobów, co stanowi
kryterium klasyfikacji na:
• roboty latające,
• roboty pływające:
o po powierzchni wody,
o podwodne,
• roboty kroczące:
o po gruncie,
o po dnie zbiorników wodnych,
• roboty kołowe:
o do pracy wewnątrz pomieszczeń (ang. in-door),
o do pracy w otwartej przestrzeni (ang. out-door),
• roboty na gąsienicach
• roboty o napędach hybrydowych.
W niniejszym opracowaniu zagadnienia będą dotyczyły głównie robotów
przeznaczonych do poruszania się na lądzie, jednakże wiele proponowanych rozwiązań np.
czujników bądź systemów sterowania można zaaplikować do innych zastosowań, np. do
robotów pływających. Zagadnieniom dotyczącym robotów kroczącym będzie poświęcony
odrębny rozdział, w ramach którego zostaną omówione problemy, które nie pojawiają się w
przypadku budowy bądź eksploatacji pozostałych typów robotów, w szczególności kołowych.
W całym dalszym tekście określenie robot mobilny będzie tożsame z autonomicznym
robotem mobilnym, przy czym stopień autonomii może być bardzo zróżnicowany; od bardzo
3
małego (np. roboty zdalnie sterowane z przewodowym łączem z operatorem) aż do pełnej
autonomii (np. bezobsługowa kosiarka do trawy z systemem zasilania z wykorzystaniem
energii Słońca).
Budowa autonomicznego robota mobilnego
Jak wspomniano wcześniej, robot mobilny jest zbudowany z następujących elementów
składowych:
• układ jezdny,
• zestaw czujników,
• układ sterujący,
• układ zasilania,
• wyposażenie dodatkowe,
• korpus robota.
Każdy z tych elementów musi spełniać określone wymagania, aby mógł spełnić swoje
zadania w robocie. Poniżej określono pewne podstawowe wymagania odnośnie
poszczególnych elementów oraz opisano podstawowe realizacje.
Układ jezdny
Wymagania stawiane układowi napędowemu są następujące:
• zapewnienie realizacji ruchu robota w założonych warunkach środowiska
• zapewnienie wygenerowania i spożytkowania odpowiedniej mocy,
• możliwie niska masa na jednostkę mocy,
• łatwe sterowanie układem napędowym, które obejmuje możliwość (najlepiej)
płynnej zmiany położenia, prędkości (zarówno wartości bezwzględnej, jak i
znaku prędkości) i przyspieszenia, a niekiedy regulacji mocą,
• możliwość bezproblemowego ręcznego przepychania robota bez groźby
uszkodzenia układu jezdnego i pracującym w tym czasie systemie
samolokalizacji.
W układach jezdnych robotów mobilnych najczęściej stosuje się silniki elektryczne.
Najchętniej stosowanym typem silnika jest silnik szczotkowy prądu stałego. Użycie tego
rodzaju silnika wymusza zastosowanie przekładni mechanicznej w celu zredukowania
prędkości obrotowej. Zwykle stosuje się wielostopniowe przekładnie zębate zaopatrzone w
różnego typu systemy do kasowania luzów. Można zastosować także rozwiązania z
przekładnią łańcuchową, paskową (pasek zębaty) lub ślimakową. Silniki komutatorowe prądu
stałego charakteryzują się dosyć wysokimi znamionowymi prędkościami obrotowymi i
niewielką masą, a sterowanie takiego silnika jest bardzo proste. Najczęściej na wale silnika
umieszcza się przetwornik pomiarowy do pomiaru aktualnej prędkości obrotowej oraz
położenia wału.
Niedawno pojawiły się konstrukcje robotów bez przekładni mechanicznej z silnikami
typu direct drive, jednak silniki tego typu są dosyć kłopotliwe w sterowaniu. W celu
ułatwienia pozycjonowania położenia kątowego wału silnika stosuje się także silniki
krokowe, jednakże ich cechą charakterystyczną są duże chwilowe zmiany prędkości
obrotowej i momentu napędowego, co skutkuje niespokojną jazdą robota. Ponadto silniki
krokowe charakteryzują się niekorzystnym stosunkiem mocy do masy.
Rozwój technik modelarskich poskutkował coraz lepszymi konstrukcjami
bezszczotkowych asynchronicznych silników trójfazowych, które są produkowane jako
jednostki napędowe o bardzo korzystnym stosunku masy do uzyskiwanej mocy i są
wyposażane w dedykowane falowniki, które umożliwiają sterowanie prędkością silnika w
dosyć szerokich granicach. Zastosowanie tego typu silników skutkuje nadal koniecznością
użycia redukcyjnej przekładni mechanicznej.
4
W dużych konstrukcjach robotów mobilnych stosowane są również do napędu silniki
spalinowe. Utrudniają one jednakże badania i eksploatację robota w pomieszczeniach
zamkniętych. Systemy napędów spalinowych wymagają użycia przekładni mechanicznej,
hydraulicznej lub elektrycznej. W tym ostatnim przypadku silnik spalinowy stanowi
najczęściej źródło energii elektrycznej dla napędu elektrycznego (omówionego powyżej), a
także dla pozostałych elementów robota.
Zestaw czujników
Funkcje, jakie spełniają czujniki w robotach mobilnych, są następujące:
• badanie stanu wewnętrznego robota – zbieranie danych o parametrach, które
określają stan fizyczny elementów robota, np. stan naładowania akumulatorów
lub siły wewnętrzne w elementach konstrukcyjnych;
• samolokalizacja – zbieranie informacji pozwalających na określenie, gdzie
znajduje się robot względem nieruchomego układu współrzędnych związanego z
otoczeniem robota;
• rozpoznawanie otoczenia – wykrywanie określonego rodzaju obiektów w
otoczeniu robota, w szczególności tych, które mogą stanowić przeszkody dla
ruchu robota;
• inne funkcje, np. związane z określonymi zadaniami, które wykonuje robot, np.
pomiar parametrów fizycznych powietrza w otoczeniu robota.
Warto zaznaczyć, że niektóre czujniki mogą spełniać więcej, niż jedną z wyżej
wymienionych funkcji, np. czujnik odległości od obiektów w otoczeniu robota może służyć
do wykrywania przeszkód przy jednoczesnym określaniu, gdzie znajduje się robot. Istotne jest
także zaprojektowanie rozmieszczenia czujników w ten sposób, aby jak najlepiej spełniały
swoje zadania.
Wymagania stawiane czujnikom są następujące:
• określona dokładność działania,
• ograniczone poziom zużycia energii,
• łatwość przekazania wyników działania do systemu sterowania.
Najczęściej w robotach mobilnych stosuje się następujące typy czujników: mierniki
prądu i napięcia, przetworniki obrotowo-impulsowe na ruchomych osiach, tensometryczne
czujniki odkształceń, czujniki przyspieszenia, czujniki mechanicznego kontaktu z
przeszkodami, czujniki zbliżeniowe, ultradźwiękowe i laserowe czujniki odległości, systemy
wizyjne, czujniki współpracujące ze stacjonarnymi systemami nawigacyjnymi (np. GPS).
System sterowania
Najważniejszym elementem systemu sterowania w praktyce zawsze jest komputer.
Komputer sterujący najczęściej jest komputerem pokładowym, czyli na stałe związanym z
konstrukcją robota. Jeżeli zachodzi taka potrzeba, to część zadań dotyczących sterowania
wykonywana jest poza komputerem pokładowym, np. na komputerze (lub zespole
komputerów) stacjonarnym lub przenośnym, ale nie pokładowym.
Sprzęt stosowany w robotach mobilnych w charakterze komputerów pokładowych to
najczęściej:
• mikrokontrolery,
czyli
komputery
jednoukładowe
o
parametrach
obliczeniowych dobieranych do konkretnych zadań
• komputery klasy PC, najczęściej w postaci miniaturowych jednostek z
zapewnionym niskim poziomem zużycia energii.
Warunki stawiane komputerom sterującym to:
• praca w czasie rzeczywistym (gwarantowany maksymalny czas odpowiedzi
systemu komputerowego na zmiany w jego otoczeniu)
• energooszczędność
5
•
zapewnienie mocy obliczeniowej i pamięci pozwalającej na skuteczne
wykonywanie wszystkich zadań związanych ze sterowaniem
• niezawodność i odporność na warunki panujące w środowisku robota
• łatwość połączenia ze sterowanymi elementami robota, przede wszystkim z
czujnikami i układami wykonawczymi
• łatwość komunikacji z operatorem (użytkownikiem)
• łatwość komunikacji z innymi (niepokładowymi) komputerami.
Istotnymi elementami sprzętu komputerowego są moduły odpowiedzialne za
współpracę komputera z urządzeniami zewnętrznymi. Stosowane są tu przetworniki
analogowo-cyfrowe i cyfrowo-analogowe, magistrale służące do podłączenia inteligentnych
czujników (np. CAN, 1-Wire i inne) oraz inne specjalizowane układy wejścia-wyjścia, jak np.
karta przechwytująca sygnał wideo (ang. frame grabber) czy sprzętowy syntezator mowy.
Systemy operacyjne, stosowane w komputerach sterujących robotami mobilnymi, to
najczęściej systemy czasu rzeczywistego, które zapewniają łatwość wykonania sprawnego i
niezawodnego systemu sterowania. System czasu rzeczywistego pozwala na uruchomienie
aplikacji sterujących, które działają równolegle ze sterowanym procesem (tu: ruch i inne
zadania robota) zapewniając odpowiedź na zmiany stanu w zdeterminowanym czasie,
gwarantowanym przez system. Pod kontrolą systemu czasu rzeczywistego łatwo można pisać
własne oprogramowanie, które pozwala na bezpośrednią współpracę z nietypowymi
urządzeniami wejściowo-wyjściowymi.
Sposoby tworzenia systemów sterowania dla autonomicznych robotów mobilnych
zostaną omówione w późniejszych wykładach.
Zasilanie
Niemal wszystkie konstrukcje robotów mobilnych są zasilane energią elektryczną
pozyskiwaną z różnego typu akumulatorów. W większych konstrukcjach używa się
akumulatorów kwasowych, mniejsze konstrukcje korzystają z akumulatorów NiCd, NiNH,
LiJon i polimerowych. Wymagana jest tutaj jak największa wartość gęstości mocy na
jednostkę objętości lub masy akumulatora.
Ze względu na spore zużycie energii przez elementy robota i wiążący się z tym krótki
możliwy czas pracy na komplecie w pełni naładowanych akumulatorów (co utrudnia
eksploatację robota), pojawiają się konstrukcje wyposażone silniki spalinowe, napęd
pneumatyczny, ogniwa paliwowe itp. Niektóre z tych rozwiązań wprowadzają pewne
ograniczenia (np. brak możliwości pracy silnika spalinowego w pomieszczeniach) lub są
rozwiązaniami bardzo kosztownymi, co utrudnia ich stosowanie.
W warunkach laboratoryjnych i podczas testów często stosuje się zasilanie poprzez
przewód, ale wynikające z tego niedogodności skutkują traktowaniem takiego rozwiązania
jako prowizorycznego.
Wyposażenie dodatkowe
Wyposażenie dodatkowe robota mobilnego jest ściśle związane z zadaniami, do
rozwiązywania których jest przeznaczony. Stosuje się zatem wszelkiego rodzaju uchwyty i
manipulatory, a także urządzenia usługowe, np. kosiarki, czy odkurzacze. W robotach
policyjnych i wojskowych instalowane są także urządzenia do rażenia wroga.
Korpus robota
Zadaniem korpusu jest przede wszystkim zapewnienie pewnego zamocowania
wszystkich elementów: czujników, układów napędowych i elementów wykonawczych, a
także ochrona elementów robota przed zniszczeniem wskutek oddziaływań z zewnątrz robota
(np. deszcz) bądź kolizji z przeszkodami. Korpus powinien także by estetyczny, co może
zapewnić sukces komercyjny konstrukcji.
6

Podobne dokumenty