POLITECHNIKA CZĘSTOCHOWSKA Wydział Inżynierii Mechanicznej i Informatyki Sprawozdanie z przedmiotu „Podstawy robotyki” Temat: Roboty mobilne Artur Krupski Grupa IV Studia zaoczne Wiadomości wstępne o robotach Robot jest to urządzenie techniczne przeznaczone do realizacji niektórych czynności manipulacyjnych, lokomocyjnych, informacyjnych i intelektualnych człowieka; częścią wykonawczą współczesnych robotów są manipulatory (pełniące funkcje kończyn górnych) oraz pedipulatory lub maszyny kroczące (pełniące funkcje kończyn dolnych); częścią napędową i sterującą są silniki, czujniki (sensory) i komputerowy układ sterowania; ważną grupę robotów stanowią roboty przemysłowe - programowane, wielofunkcyjne maszyny stosowane m.in. w przemyśle maszynowym, elektrycznym, precyzyjnym, do prac pod wodą; najnowsze roboty (tzw. III generacji) są wyposażone w układy wielosensorowe pełniące funkcje zmysłów wzroku, dotyku, słuchu i w układy sztucznej inteligencji. Robotyka mobilna w instytucie automatyki i robotyki Obecnie miniaturowe roboty mobilne znajdują coraz więcej zastosowań. Używane są w systemach dozoru, do penetracji i identyfikacji nieznanego i niebezpiecznego terenu, w transporcie elementów wewnątrz hal zakładów przemysłowych. Placówki naukowe stosują je do badań nad algorytmami sterowania oraz nawigacji. Na wielu uniwersytetach w Europie Zachodniej, Stanach Zjednoczonych i Japonii zespoły inżynierów i studentów zajmują się konstruowaniem i badaniem miniaturowych robotów mobilnych. Prace te przynoszą ciekawe wyniki. Opracowane rozwiązania techniczne nierzadko znajdują zastosowanie w przemyśle. Z tych powodów w Instytucie Automatyki i Robotyki Politechniki Warszawskiej w 1999 roku rozpoczęto prace badawcze związane z Robotyką Mobilną. Prac te zaowocowały powstaniem dwóch typów robotów: [DRM] Dydaktycznego Robota Mobilnego oraz [MRI] Miniaturowego Robota Inspekcyjnego. DRM wykorzystywany jest do zajęć dydaktycznych. Podczas zajęć z Podstaw Robotyki studenci specjalności Robotyka i Automatyka Przemysłowa mają możliwość zapoznać się z zagadnieniami związanymi z robotyką mobilną (budowa robotów, struktura układu sterowania, systemy nawigacyjne). Wiele tematów prac dyplomowych prowadzonych w IAiR związanych jest z robotyką mobilną. Podczas tych prac studenci pracują nad rozwijaniem konstrukcji oraz systemów nawigacji i sterowania robota. Ich prace wykorzystywane są podczas zajęć dydaktycznych. Roboty MRI przeznaczone są głównie do prac badawczych związanych z zagadnieniami sterowani nawigacji robotów mobilnych. Ich małe wymiary, modułowa budowa predysponuje je do tego typu zadań.Dodatkowo przystosowane są wykonywania do zadań inspekcyjnych w miejscach ciężko dostępnych i niebezpiecznych dla człowieka. Roboty te mogą być sterowane poprzez Internet, co jest przydatne w zadaniach inspekcyjnych. Prowadzone są badania nad robotami kroczącymi. Powstający robot będzie posiadał sześć niezależnych odnóży. Dzięki niemu możliwe staną się badania nad algorytmami sterowania i nawigacji tego typu robotów. Badania tego typu przyczynią się do powstawania nowych generacji robotów mobilnych. Miniaturowy robot mobilny Miniaturowy robot mobilny robot ma wymiary 225 x 174 x 235 mm. Robot ma strukturę modułową typu "SANDWICH". Można wyróżnić w niej moduł napędowy -platformę jezdną, moduł sterujący oraz moduł obserwacyjno - wykonawczy. Taka budowa zapewnia łatwy dostęp do wszystkich zespołów urządzenia, pozwala na wymianę poszczególnych modułów nie wpływając na inne elementy. W zależności od zaistniałej potrzeby możliwe jest tworzenie kolejnych wersji robota z różnymi modułami posiadającymi odpowiednie oprzyrządowanie, zależnie od przewidywanych zadań. Platforma mobilna robota została zaprojektowana ma podwoziu gąsienicowym. Złożona jest z kadłuba wykonanego z aluminium oraz dwóch zespołów napędowych napędzających prawą i lewą gąsienice. Każdy z dwóch zespół napędowych składa się z trzech jednakowych kół o średnicy 54 mm wykonanych z duraluminium. Gąsienice wykonane są z twardego poliuretanu wzmacnianego stalowymi linkami. Zapewniają dobrą przyczepność do szorstkich podłożach i dużą trwałość. Oba zespoły napędzane są przez dwa silniki prądu stałego o napięciu znamionowym 12V, ze zintegrowanymi reduktorami prędkości. Reduktory mają przełożenie 75:1 i pozwalają na uzyskanie maksymalnego momentu obrotowego równego 0.5 Nm. Silniki wyposażono w optoelektroniczne przetworniki obrotowo - impulsowe. W kadłubie w zależności od potrzeb można umieścić pakiet akumulatorów, zasilających robota podczas autonomicznego trybu pracy. Budowa podwozia pozwala na pokonywanie przeszkód poprzecznych do wysokości 25 mm oraz podjazdów o nachyleniu do 30°. Moduł sterowania został umieszczony bezpośrednio nad kadłubem. Składa się z duralowej obudowy przykrytej metapleksową pokrywą. Przymocowany jest do modułu napędowego za pomocą specjalnych klamer, dzięki którym, jeśli zajdzie potrzeba można go w prosty i szybki sposób odłączać. Wewnątrz znajduje się mikroprocesorowy sterownik kontrolujący pracę robota. W ściankach obudowy znajdują się okienka, w których zostały umieszczone czujniki działające w paśmie podczerwieni służące do lokalizowania przeszkód wokół robota. Moduł obserwacyjno wykonawczy znajduje się nad modułem sterowania. Składa się z czarno-białej kamery CCD wspomaganej oświetlaczami w zakresie podczerwień i z nadajnika służącego do przekazywania obrazu do komputera nadrzędnego. Kamera zamocowana została na obrotowym statywie, mogącym obracać się w dwóch osiach. Osie statywu poruszane są za pomocą dwóch modułowych serwomechanizmów, dzięki czemu kamera może obracać się automatycznie w poziomie w zakresie 90° oraz w pionie w zakresie 60°. Istnieje możliwość instalacji mikrofonu sprzężonego z kamerą, co przy niektórych rodzajach zadań jest dużym udogodnieniem. Miniaturowy Robot Inspekcyjny [MRI R1]- rysunek poglądowy Układ sterowania Głównym elementem układu sterowania jest jednostka centralna. Jednostka centralna oraz pozostałe elementy układu sterowania zasilane są z układu zasilania. Układ ten pozwala na zasilanie sterownika w bardzo szerokim zakresie napięć zasilania (8..48VDC). Układy sterowania silników pozwalają na realizację pracy nawrotnej. Układy te pracują w klasycznym układzie mostkowym i są sterowane przez jednostkę centralną metodą modulacji szerokości impulsu. Prędkość obrotową silników mierzona jest przez zliczanie w jednostkowych odcinkach czasu impulsów z fotooptycznych przetworników obrotowoimpulsowych zainstalowanych na wałkach silników napędowych. Dzięki temu w układzie sterowania napędu silników możliwe jest zrealizowanie układów automatycznej regulacji prędkości, różnicy prędkości i przemieszczenia kątowego. Jednostkę centralną tworzy pojedynczy układ mikrokontrolera jednomodułowego typu MSP430F149 firmy Texas Instruments. Jądrem mikrokontrolera jest szesnastobitowa jednostka arytmetyczno-logiczna o architekturze ortogonalnej ze zredukowaną listą rozkazów (RISC). Mikrokontroler posiada wewnętrzną reprogramowalną pamięć programu typu flash o pojemności 60 KB oraz 2KB pamięci o swobodnym dostępie typu RAM. Mikrokontroler zasilany jest ze źródła o napięciu 3,3V pobierając moc rzędu 5mW przy częstotliwości oscylatora kwarcowego równej 4,9152MHz. Mikrokontroler zawiera ponadto szereg dodatkowych modułów w tym: o o o o o 10 układów 16 bitowych modulatorów PWM 2 moduły dwukierunkowej, jednoczesnej transmisji szeregowej 12 kanałowy 12-to bitowy kompensacyjny przetwornik analogowo-cyfrowy porty wejść/wyjść cyfrowych układ pomiaru temperatury Mikrokontroler przystosowany jest do pracy w zakresie temperatur (-40 ..+85°C) określanych powszechnie zakresem "temperatur przemysłowych". Układ zasilania jest układem dwustopniowym. Pierwszy stopień zasilania tworzy hybrydowa wysokosprawna przetwornica DC/DC o prądzie jałowym niezależnym od obciążenia i nie przekraczającym wartości 5 mA. Przetwornica jest źródłem napięcia +5,0V koniecznych do zasilania niektórych elementów układu sterownika. Do zasilania mikrokontrolera i układów z nim współpracujących wykorzystywane jest napięcie 3,3V. Napięcie to powstaje w stabilizatorze liniowym charakteryzującym się bardzo niskim prądem biegu jałowego (rzędu 15mA) i podobnie jak w przypadku przetwornicy DC/DC niezależnego od obciążenia. Pierwszy stopień zasilania umożliwia zasilanie układu sterowania w bardzo szerokim zakresie napięć wejściowych (8..48V). Ponadto zapewnia ochronę przed odwrotną polaryzacją napięcia zasilania, posiada zabezpieczenie przeciwzwarciowe oraz zabezpieczenie termiczne. Stopień drugi układu zasilania jest zabezpieczony przed skutkami nawet długotrwałego zwarcia. W rezultacie układ zasilania skonstruowany został w taki sposób, aby spełnić wymogi energooszczędności i wysokiej niezawodności eksploatacyjnej. Podobnie jak pozostałe elementy układu sterowania napędu układ zasilania może pracować w zakresie temperatur (-40 ..+85°C). Układ sterowania napędów zaopatrzono w trzy opcjonalne interfejsy transmisji szeregowej: RS485, CAN 2.0B, RS232C. Dwa pierwsze przeznaczone są do zastosowań przemysłowych, ostatni do badań laboratoryjnych. Interfejs umożliwia dwukierunkową naprzemienną transmisję szeregową danych z prędkościami transmisji w zakresie 1 200..76 800Bd. Interfejs umożliwia sprzężenie jednostki sterowania napędami z zewnętrzną jednostką nadrzędną typu master drogą radiową (radiomodem) lub przez bezpośrednie połączenie kablowe. W warstwie aplikacyjnej zaimplementowano ogólnie znany i zweryfikowany w warunkach przemysłowych protokół komunikacyjny MODBUS-RTU zapewniający dostatecznie wysoki poziom bezpieczeństwa transmitowanych danych. Dla minimalizacji zużycia energii w kanale RS232 zastosowano energooszczędny układ z funkcją auto-shutdown, zaś w kanale RS485 układ sterownika magistrali o poborze prądu wynoszącym zaledwie 0,3mA. Do napędu silników zastosowano scalone sterowniki prądu stałego typu A3953 firmy Allegro. Sterowniki te pracują w klasycznym układzie pełno mostkowym umożliwiającym nawrotną pracę silnika włączonego w przekątną mostka. Diody gaszące zintegrowane są ze strukturą układu. Układ pozwala na zewnętrzne programowanie prądu maksymalnego płynącego przez silnik. W przypadku opisywanego sterownika programowanie polega na przyłączeniu odpowiedniego rezystora zewnętrznego. W układzie sterowania ograniczono ten prąd do wartości 1A. Układ A3953 zapewnia wysoką niezawodność przy współpracy z silnikiem. Posiada zabezpieczenia przeciążeniowe, przeciwzwarciowe, przed odwrotną polaryzacją napięcia zasilania oraz zabezpieczenie przed przegrzaniem struktury. Układ sterownika silnika sterowany jest bezpośrednio z jednostki centralnej w trybie 16-to bitowego programowalnego układu modulacji szerokości impulsu. Układ A3953 nie zapewnia liniowej charakterystyki statycznej przetwarzania. Skuteczna kompensacja tej nieliniowości możliwa jest do uzyskania w zasadzie dopiero w układzie sterowania ze sprzężeniem zwrotnym. Do pomiaru rzeczywistej prędkości obrotowej silników w miniaturowym robocie skonstruowano prosty przetwornik oborotowo-impulsowy. Przetwornik ten składa się z tarczy zaopatrzonej w 24 otwory osadzonej bezpośrednio na wałku silnika napędowego oraz układu fotooptycznego pracującego w zakresie bliskiej podczerwieni. Impulsy przetwornika obrotowo-impulsowego zliczane są przez jednostkę centralną w określonych jednostkowych odcinkach czasu. W ten sposób wyznaczana jest uśredniona prędkość obrotowa silnika w odcinku jednostkowym czasu. Ponieważ przełożenie mechaniczne wewnętrznej przekładni silnika napędu robota wynosi 1:75, stąd teoretyczna rozdzielczość kątowa wynosi 1800 impulsów na pełny kąt obrotu koła napędowego gąsienicy robota.Prędkość ta jest w przybliżeniu liniowo zależna od napięcia zasilania. W celu wyeliminowania wpływu wahań wartości napięcia zasilania oraz wpływu chwilowych obciążeń na prędkość obrotową silników konieczne jest zastosowanie układów automatycznej regulacji prędkości. Pomiar prędkości obrotowej wału silnika stwarza możliwości konstrukcji takich układów. Układ sterowania napędu robota mobilnego sterowany jest przez zewnętrzną, nadrzędną jednostkę sterującą. Dla celów komunikacyjnych wybrano protokół MODBUS-RTU dobrze ugruntowany w praktyce przemysłowej. W przypadku układu napędu robota przyjęto skrajnie zredukowaną listę rozkazów standardu MODBUS-RTU. Zaimplementowano tylko dwa, ale wystarczające do obsługi układu sterującego symetryczne rozkazy RTU a mianowicie: o o rozkaz czytania rejestrów (funkcja 03) rozkaz zapisu rejestrów (funkcja 16) Sterownik traktowany jest jako typowe urządzenie podporządkowane (slave) o programowalnym adresie z zakresu 1..247 i programowalnej prędkości transmisji z zakresu 1200..76800 Bd. Domyślny adres jest równy 1, zaś domyślna prędkość transmisji jest równa 9600Bd. W strukturze wewnętrznej interfejsu RTU sterownika wyróżniono 30 szesnastobitowych rejestrów RTU. Wszystkie rejestry są rejestrami typu zapis-odczyt, choć ze względów praktycznych wygodnie podzielić je na trzy grupy: o o o rejestry typu odczyt-zapis rejestry typy tylko odczyt rejestry typu tylko zapis Przykładem rejestrów typu odczyt-zapis są np.: rejestry słowa stanu sterowania umożliwiające między innymi bezpośredni dostęp do układów sterowania silników, czy uruchamiające sygnał dźwiękowy. Typowymi rejestrami typu tylko-odczyt są rejestry informujące o bieżącej wartości prędkości obrotowej każdego z silników czy rejestry informujące o drodze kątowej pozostałej do przebycia w przypadku wykorzystania regulatora przemieszczenia kątowego. Rejestry wartości zadanych prędkości obrotowej silnika, lub rejestry przechowujące wartość zadaną drogi kątowej wału silnika należą do grupy typowych rejestrów typu tylko zapis. Wizyjne systemy do samolokalizacji System nawigacji autonomicznego robota mobilnego składa się z następujących elementów: detekcja przeszkód, znajdowanie wolnej drogi prowadzącej z miejsca w którym znajduje się robot do miejsca docelowego, określenie pozycji robota oraz realizacja wyznaczonej ścieżki. W naszych eksperymentach wykorzystywany był robot mobilny B-14, wyposażony w 16 sonarów,16 czujników podczerwieni, komputer z procesorem Pentium oraz jedną kolorową kamerę. Mapa otoczenia jest reprezentowana jako siatka prostokątnych komórek i budowana jest na podstawie danych pochodzących z sonarów i czujników podczerwieni. Każda komórka może przyjmować jeden ze stanów: wolna, zajęta lub nieznana. Mapa jest budowana przyrostowo przy użyciu rozmytej metody agregacji [9]. Metoda agregacji wymaga znajomości aktualnego położenia robota w otoczeniu. Dlatego samolokalizacja, oparta na danych otrzymywanych z sensorów jest kluczowym komponentem systemu sterowania robota mobilnego. Prezentujemy system nawigacji, w którym do wyznaczenia położenia robota są stosowane sztuczne znaczniki Pokazujemy eksperymentalnie, że wynikowa metoda może być stosowana do lokalizacji robota mobilnego w częściowo znanym otoczeniu. Planowanie ścieżek z wykorzystywaniem sieci neuronowej komórkowej Problem planowania ścieżki jest definiowany następująco: znając położenie robota i celu trzeba planować ciągłą i bezkolizyjną ścieżkę prowadzącą od celu do aktualnego miejsca robota. Zastosowano metodę dyfuzyjną. Metoda ta, zaproponowana przez Steels w 1988 r., została zaimplementowana przez B. Siemiątkowską w 1994 r. Ta implementacja pozwala na planowanie ścieżek w czasie rzeczywistym. Jej zaletą jest m. in. brak problemu lokalnych minimum. Metoda jest szczególnie efektywna w przypadku, gdy wokół robota występuje wiele przeszkód. Sieć komórkową wykorzystywano również w przetwarzaniu obrazów [12] i samolokalizacji mobilnych robotów [9]. D-histogramy w systemie samolokalizacji C-histogramy są nową metodą samolokalizacji robotów mobilnych wyposażonych w laserowy czujnik odległości. W metodzie tej stosując transformatę Hough'a[1][13] i w otoczeniu robota poszukuje się kierunków głównych. Zmiana kierunków głównych określa jak zmieniła się orientacja robota. Opisaną metodę zaimplementowano w postaci liniowej sieci komórkowej, dzięki czemu może być ona stosowana w czasie rzeczywistym. Tworzenie rastrowych map otoczenia robota mobilnego Mapa otoczenia robota mobilnego jest tworzona na podstawie wskazań czujników odległości - sonarów lub lasera. W prowadzonych badaniach przyjeto rastrową metodę reprezentacji zaproponowaną przez Elfes'a i Moravec'a. Mapa jest reprezentowana jako prostokątna tablica liczb, każda klatka tablicy reprezentuje pewien podobszar otoczenia, a odpowiedznia liczba określa poziom wiarygodności hipotezy, że podobszar jest zajęty przez przeszkodę. Informacje pochodzące z różnych żródeł sš agregowane. Testowano następujące metody agregacji: metodę Bayes'a, agregację rozmytą i teorię Shaffera-Dempstera.