POLITECHNIKA POZNAŃSKA Wydział Informatyki i Zarządzania PRACA DYPLOMOWA INŻYNIERSKA. Planowanie trajektorii ruchu robota mobilnego



Podobne dokumenty
SML3 październik

PROGRAMOWALNE STEROWNIKI LOGICZNE

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

KONWERTER RS-232 TR-21.7

E-TRONIX Sterownik Uniwersalny SU 1.2

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Instrukcja do oprogramowania ENAP DEC-1

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

2.2 Opis części programowej

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

IZOLATOR FOTOELEKTRYCZNY Z INTERFEJSEM SZEREGOWYM RS-232

dokument DOK wersja 1.0

Rejestratory Sił, Naprężeń.

1. INSTALACJA SERWERA

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

. Rodzaje transmisji sygnału i RS-232

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

PRACA DYPLOMOWA MAGISTERSKA

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Zastosowania Robotów Mobilnych

PRACA DYPLOMOWA MAGISTERSKA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART


Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Analiza mechanizmu korbowo-suwakowego

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Webowy generator wykresów wykorzystujący program gnuplot

Modułowy programowalny przekaźnik czasowy firmy Aniro.

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

Raport z budowy robota typu Linefollower Mały. Marcin Węgrzyn

Licznik rewersyjny MD100 rev. 2.48

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

PL B1. HIKISZ BARTOSZ, Łódź, PL BUP 05/07. BARTOSZ HIKISZ, Łódź, PL WUP 01/16. rzecz. pat.

Technologie informacyjne - wykład 12 -

Politechnika Wrocławska

Spis treści. 1 Moduł Mapy 2

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

MultiTool instrukcja użytkownika 2010 SFAR

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

Specyfikacja techniczna:

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Dlaczego stosujemy edytory tekstu?

Interfejs USB-RS485 KOD: INTUR. v.1.0. Zastępuje wydanie: 2 z dnia

Wizualizacja płomienia

1. Opis. 2. Wymagania sprzętowe:

Laboratorium Elektroniki

rh-serwer 2.0 LR Sterownik główny (serwer) systemu F&Home RADIO. Wersja LR powiększony zasięg.

Moduł CON014. Wersja na szynę 35mm. Przeznaczenie. Użyteczne właściwości modułu

SML3 październik

Tworzenie prezentacji w MS PowerPoint

Laboratorium Komputerowe Systemy Pomiarowe

Tworzenie oprogramowania

Przemysłowe Sieci informatyczne

2. Zawartość dokumentacji. 1. Strona tytułowa. 2. Zawartość dokumentacji. 3. Spis rysunków. 4. Opis instalacji kontroli dostępu. 3.

SDD287 - wysokoprądowy, podwójny driver silnika DC

Rozdział II. Praca z systemem operacyjnym

Spis treści CZĘŚĆ I. NIEPARAMETRYCZNE PROJEKTOWANIE 2D...31

1 Moduł Neuronu Cyfrowego SM

KONWERTER RS-422 TR-43

Moduł Komunikacyjny MCU42 do systemu AFS42

Politechnika Śląska. Katedra Wytrzymałości Materiałów i Metod Komputerowych Mechaniki. Praca dyplomowa inżynierska. Wydział Mechaniczny Technologiczny

Parametryzacja przetworników analogowocyfrowych

PRACA PRZEJŚCIOWA SYMULACYJNA. Zadania projektowe

MOBOT-EXPLORER Wersja v2 Platforma robota mobilnego dla celów rozbudowy, edukacyjnych i uczelnianych

Szybkie prototypowanie w projektowaniu mechatronicznym

Proste układy wykonawcze


LEKCJA TEMAT: Zasada działania komputera.

Analiza kinematyczna i dynamiczna układu roboczego. koparki DOSAN

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Projektowanie baz danych za pomocą narzędzi CASE

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

Obiekt. Obiekt sterowania obiekt, który realizuje proces (zaplanowany).

W.J WIELICZKA

Laboratorium Podstaw Robotyki I Ćwiczenie Khepera dwukołowy robot mobilny

Przełącznik KVM USB. Przełącznik KVM USB z obsługą sygnału audio i 2 portami. Przełącznik KVM USB z obsługą sygnału audio i 4 portami

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

Opracował: Jan Front

Dodatek A. Spis instrukcji języka Prophio.

Instrukcja do konwertera USB-RS232

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

THP-100 su Obsługa oprogramowania oraz instrukcja wzorcowania

Instrukcja podłączenia i programowania modułu

202_NAND Moduł bramek NAND

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Badanie napędu z silnikiem bezszczotkowym prądu stałego

PUNKTOWE STEROWNIKI VERSAMAX MICRO

Układ ENI-EBUS/URSUS stanowi kompletny zespół urządzeń napędu i sterowania przeznaczony do autobusu EKOVOLT produkcji firmy URSUS..

Transkrypt:

POLITECHNIKA POZNAŃSKA Wydział Informatyki i Zarządzania Katedra Inżynierii Komputerowej PRACA DYPLOMOWA INŻYNIERSKA Planowanie trajektorii ruchu robota mobilnego Piotr Bablok Mariusz Jaśkowiak Paweł Sieczka Promotor: dr inż. Sławomir Stępień Poznań, 2007 r.

2

3

4

1. Wstęp... 7 2. Cel i zakres pracy... 8 3. Standard RS-232C... 11 3.1 Normy złącz... 11 3.2 Sygnały i styki... 12 3.3 Nazwy styków złącz... 12 3.4 Parametry elektryczne sygnałów... 13 3.5 Sposoby przesyłania danych... 13 3.6 Cechy interfejsu... 13 4. Robot mobilny MOBOT... 15 4.1 Jednostka sterująca... 16 4.2 Układ ładowania i łączności przewodowej... 18 4.3 Napęd DC Buehler Motors z przekładnią planetarną... 19 4.4 Zasilanie robota... 21 4.5 Koła zębate... 22 5. Kinematyka robota mobilnego... 23 6. Metody planowania trajektorii ruchu robota mobilnego.... 25 6.1 Metoda propagacji fali... 25 6.2 Metoda diagramu Woronoia... 28 6.3 Graf widoczności... 30 6.4 Metoda elastycznej wstęgi... 31 7. Wybór zintegrowanego środowiska programistycznego... 35 7.1 Środowiska IDE... 36 7.1.1 Microsoft Visual Studio 2005... 36 7.1.2 GNAT Programming Studio... 36 7.1.3 Dev-C++... 37 7.1.4 Anjuta... 37 7.1.5 KDevelop... 38 7.2 Porównanie... 38 8. Oprogramowanie... 41 8.1 Założenia oprogramowania... 41 8.2 Interfejs programu... 41 8.2.1 Opis menu górnego... 44 8.2.2 Opis zakładek funkcyjnych... 44 5

8.2.2.1 Opis zakładki Opcje...45 8.2.2.2 Opis zakładki Komunikacja...46 8.2.2.3 Zakładka Param trajektorii...47 8.2.3 Opis paska stanu...48 8.2.4 Opis grupy Sterowanie oraz Prędkość...48 8.2.5 Opis obszaru roboczego...49 8.2.6 Opis grupy Edycja...50 8.2.7 Opis grupy Pokaż...52 8.2.8 Opis grupy Wyczyść...53 8.2.9 Opis grupy Planowanie trajektorii...54 8.2.10 Opis przycisku Generuj i jedź...56 8.3 Budowa programu...57 8.3.1 Opis głównych obiektów wykorzystanych w programie...57 8.3.2 Opis ważniejszych zmiennych globalnych użytych w programie...58 8.3.3 Opis ważniejszych struktur danych użytych w programie...58 8.3.4.1 Funkcje wywoływane z poziomu kodu programu...60 8.3.4.2 Funkcje wywoływane podczas zajścia określonego zdarzenia...61 8.4. Budowa algorytmu szukania drogi pomiędzy dwoma punktami....62 9. OpenGL...67 10. Zakończenie...69 11. Bibliografia...71 6

1. Wstęp 1. Wstęp Robotyka mobilna jest bardzo dynamicznie rozwijającą się dziedzina nauki na świecie. Obecnie roboty mobilne znajdują coraz więcej nowych zastosowań. Używane są do badania i identyfikowania nieznanego i niebezpiecznego dla człowieka terenu, w przemieszczaniu środków materialnych na terenach zakładów produkcyjnych. Planowanie trajektorii ruchu robotów mobilnych zajmuje istotne miejsce wśród zadań robotyki, ponieważ to ruch jest jej najbardziej widowiskowym przejawem. Planowanie ruchu robota polega na celowym doborze oddziaływań na robota, by ten przemieścił się z zadanego punktu początkowego do końcowego, unikając kolizji z przeszkodami i przy zapewnieniu odpowiednich parametrów ruchu Planowanie trajektorii odgrywa istotną rolę podczas określania zadania robota mobilnego. Dla robotów mobilnych nie można zwykle oddzielić planowania toru i planowania trajektorii, bowiem roboty mobilne w większości przypadków, podlegają ograniczeniom wiążącym dopuszczalne położenia z prędkościami ruchu. Cechą charakterystyczną wielu zadań planowania ruchu jest ich złożoność obliczeniowa wynikająca z wielowymiarowej przestrzeni poszukiwań, z dynamicznych zmian środowiska i jego nieregularności. Dlatego zachodzi konieczność opracowania efektywnych obliczeniowo metod planowania ruchu, nawet za cenę ograniczenia ich optymalności. Do podstawowych narzędzi planowania trajektorii ruchu należą : techniki interpolacji, aproksymacji, optymalizacji w przestrzeni wielowymiarowych, analiza harmoniczna oraz aparat liniowej i nieliniowej teorii sterowania, w tym sterowania optymalnego.[1] Robotyka mobilna może być zaklasyfikowana jako część szeroko pojętej automatyki przemysłowej. Robotyka jako dyscyplina naukowa zajmuje się przede wszystkim: kinematyką robotów, dynamiką robotów, sterowaniem robotów, lokomocja, wizją, sztuczna inteligencją, architekturą komputerowych układów sterowania, językami programowania, sensoryką. Wiele placówek naukowych w Europie Zachodniej, Stanach Zjednoczonych i Japonii konstruuje i bada miniaturowe roboty mobilne. Prace te przynoszą bardzo ciekawe wyniki. W 1987 roku podczas 17 Międzynarodowego Sympozjum Robotów(17 International Symposium on Industrial Robots), powołano profesjonalną organizację non-profit pod nazwą Międzynarodowa Federacja Robotyki, w celu propagowania badań i zastosowań robotyki. Członkami założycielami było 15 krajów w tym także Polska. Podstawowym celem IFR jest promowanie badań i rozwoju oraz współpracy międzynarodowej. Bazę działalności IFR stanowią Członkowie Narodowych Stowarzyszeń i odpowiedni Narodowi Koordynatorzy. Nasz kraj reprezentują: Polskie Stowarzyszenie Pomiarów Automatyki i Robotyki POLSPAR.[1] 7

2. Cel i zakres pracy 2. Cel i zakres pracy Celem pracy było wykonanie oprogramowania, służącego do planowania trajektorii ruchu robota mobilnego firmy Wobit. Niniejsze opracowanie zostało podzielone na dwie zasadnicze części. W pierwszej przedstawione zostały zagadnienia dotyczące budowy i planowania trajektorii robota mobilnego. Druga część pracy opisuje oprogramowanie do zadawania trajektorii. Cele i założenia projektowe szczegółowo obejmują następujące zagadnienia: zapoznanie się z budową robota mobilnego jako środowiska realizacji pracy. przegląd wybranych metod planowania trajektorii zapoznanie się z dostępnymi zintegrowanymi środowiskami programistycznymi i wybór takowego uwzględniając potrzeby projektu stworzenie oprogramowania służącego do komunikacji z robotem mobilnym MOBOT zrealizowanie własnego algorytmu planowania trajektorii Poszczególne zagadnienia opisano w kolejnych rozdziałach pracy. W rozdziale trzecim zostały zawarte informacje na temat złącza komunikacyjnego wykorzystanego w robocie mobilnym MOBOT. Jest to port: szeregowy w standardzie RS232 służący do komunikacji robota ze światem zewnętrznym. Czwarty rozdział dotyczy budowy robota mobilnego MOBOT. Kolejny piąty rozdział zawiera opis modelu matematycznego i kinematycznego robota MOBOT. Szósty rozdziała zawiera opis problemu planowania trajektorii. Zawarte są w nim definicja trajektorii, opis podstawowych elementów składowych trajektorii oraz przykładowe algorytmy służące do wykonania zadania planowania trajektorii. Są to między innymi: metoda propagacji fali, metoda diagramu Woronoia, metoda grafu widoczności, metoda elastycznej wstęgi. Techniczne informacje o robocie, który został wykorzystany w projekcie, można znaleźć w rozdziale czwartym. Jego parametry, specyfikacja techniczna, istotne z punktu widzenia sterowania, zostały tu zawarte. Rozdział piąty to podejście teoretyczne do tematu kinematyki robota mobilnego. Bazując na tym modelu matematycznym zostało stworzone oprogramowanie, które to opisane jest w rozdziale ósmym. W rozdziale szóstym opisane zostały różne metody planowania trajektorii. Ten problem został przedstawiony szczególnie dokładnie, gdyż stanowi istotną część pracy. Na podstawie tych materiałów powstało właśnie oprogramowanie będące zwieńczeniem wysiłku włożonego 8

2. Cel i zakres pracy w przygotowanie teoretyczne, a także w warstwę sprzętową (komunikacja z robotem, jego programowanie). Ponieważ wybór zintegrowanego środowiska programistycznego (IDE) nie jest oczywisty, a jego wybór miał istotny wpływ na całokształt pracy, to cały proces stojący za tym wyborem znalazł swoje miejsce w rozdziale siódmym. Znajdują się tu porównania większych programów tego typu. Są to zarówno produkty komercyjne jak i pochodzące ze świata Wolnego Oprogramowania. Czynniki, które zadecydowały o wyborze konkretnego rozwiązania również zostały przedstawione. Oprogramowanie, jak już zostało to nadmienione powyżej, opisane zostało w rozdziale ósmym. Traktuje on zarówno o jego warstwie graficznej interfejsie użytkownika, jak i o tym, jaki jest mechanizm działania stworzonego oprogramowania. Opis interfejsu można z powodzeniem traktować jak instrukcję obsługi. Jego duża szczegółowość nie pozostawia wątpliwości w kwestii posługiwania się programem. Rozdział dziewiąty opisuje bibliotekę graficzną OpenGL wykorzystaną do wizualizacji przemieszczania się robota po stronie komputera klasy PC. Znajduje się tu także opis samej wizualizacji. W przedostatnim rozdziale, dziesiątym, zawarte zostało podsumowanie całej pracy. Osiągnięte cele, wyciągnięte wnioski, rezultaty pracy, a także plany rozwoju projektu. Rozdział jedenasty zawiera literaturę użytą w niniejszym opracowaniu oraz podczas realizacji części sprzętowej. 9

3. Standard RS-232C 10

3. Standard RS-232C 3. Standard RS-232C Standard RS 232C (Recommended Standard) został ustanowiony w 1969 r. przez Electronic Industries Association. Definiuje on sposób nawiązania i przeprowadzenia łączności między dwoma urządzeniami tzw. DTE ( Data Terminal Equipment) za pośrednictwem modemów tzw. DCE (Data Communication Equipment) lub bez nich. Jest to obecnie standard łącza szeregowego do połączenia komputera PC z urządzeniami zewnętrznymi. RS232 jest szeregowym interfejsem asynchronicznym. Określenie asynchroniczny oznacza, że przesyła się tylko sygnał danych a sygnał zegara jest odtwarzany przez odbiornik na podstawie sygnału danych i znanej prędkości transmisji. Określenie szeregowy oznacza, że poszczególne bity słowa wysyłane są jeden po drugim (jedna linia/sygnał) a nie jednocześnie (wiele linii/sygnałów). Konsekwencją braku linii zegara jest konieczność umieszczenia w sygnale danych dodatkowych bitów pozwalających na synchronizację odbiornika z nadajnikiem (odzyskiwanie zegara) [2]. 3.1 Normy złącz Połączenia między urządzeniami dokonuje się za pomocą złączy 25 stykowych lub 9 stykowych Rys 3.1 Przykłady wtyczek: 9-stykowej i 25-stykowej. 11

3. Standard RS-232C 3.2 Sygnały i styki 3.3 Nazwy styków złącz Linie Danych: TxD dane nadawane. RxD dane odbierane Linie sterujące (obowiązuje logika pozytywna): RTS żądanie nadawania danych zgłaszane przez terminal DTE CTS gotowość do nadawania zgłaszana przez modem DCE (przesyła potwierdzenie odebrania sygnału RTS) DSR gotowość modemu DCE do dalszej współpracy z DTE (aktywny przez cały czas trwania połączenia) DTR gotowość DTE do dalszej współpracy z DCE (aktywny przez cały czas trwania połączenia) DCD sygnał wykrycia przez modem fali nośnej (oznacza, że łączy się on z innym modemem) Linie masy: SG masa sygnałowa PG masa ochronna połączona z obudową urządzenia 12

3. Standard RS-232C 3.4 Parametry elektryczne sygnałów Napięcia na liniach danych: od -15V do -3V : 1 logiczna od 3V do 15 V: 0 logiczne Napięcia na liniach sterujących: od -15V do -3V : 0 logiczne od 3V do 15 V: 1 logiczna Czas przejścia przez obszar przejściowy < 3% czasu trwania bitu. Szybkość zmian sygnałów w liniach > 30 V/µs. 3.5 Sposoby przesyłania danych simpleks, czyli transmisja jednokierunkowa między dwoma urządzeniami pół-dupleks, czyli transmisja dwukierunkowa niejednoczesna po jednej linii transmisyjnej dupleks, czyli transmisja dwukierunkowa jednoczesna polegająca na jednoczesnym nadawaniu w obu kierunkach. (rozwiązanie to wykorzystano do komunikacji z robotem mobilnym) 3.6 Cechy interfejsu Szybkość transmisji od 1200 do 19200 b/szybkość Maksymalna długość przewodu 15m Nadajnik można podłączyć tylko z jednym odbiornikiem Do nawiązania komunikacji wystarczą dwa przewody (RxD oraz SGND). 13

4. Robot mobilny MOBOT 14

4. Robot mobilny MOBOT 4. Robot mobilny MOBOT Robot mobilny, który wykorzystujemy w naszej pracy jest platforma jezdną[3], wykonaną przez firmę P.P.H. WObit Witold Ober. Platforma robota została zaprojektowana w oparciu o konstrukcję gąsienicową. Na rys przedstawiony został widok ogólny robota. Zauważyć można, że konstrukcja zrobiona jest z kadłuba wykonanego z aluminium. Na zdjęciu widać jednostkę sterującą (płyta MOBOT-MB), a za nią układ ładowania i łączności przewodowej MOBOT- CHARGE. Pod płytą aluminiową znajdują się dwa akumulatory żelowe i dwa napędy DC jako silniki firmy Buehler Motors z przekładnią planetarną, napędzające prawą i lewą gąsienice. Rys. 4.1 Robot mobilny Mobot widok ogólny 15

4. Robot mobilny MOBOT 4.1 Jednostka sterująca Płyta MOBOT-MB zawiera: dwa pełne mostki MOSFET do sterowania silnikami efektywny dwustopniowy zasilacz +5 V 4 klucze tranzystorowe do sterowania dodatkowymi urządzeniami mikroprocesor ATmega128 sterownik silnika krokowego z podziałem kroku od ½ do 1/8 zestaw złącz do komunikacji oraz rozbudowy robota (interfejs SPI, złącze programowania ISP i inne) Rys. 4.2 Jednostka sterująca Jednostka sterująca zawiera niezbędne do funkcjonowania robota autonomicznego bloki funkcjonalne i posiada również możliwość rozszerzania o bloki dodatkowe. Zasilanie silników prądu stałego i krokowego jest dostarczane bezpośrednio ze źródła. Dioda Zenera oraz zespół 6 kondensatorów elektrolitycznych i ceramicznych chroni układ przed występowaniem zbyt wysokich napięć indukowanych podczas hamowania silników. Tak zabezpieczone napięcie 16

4. Robot mobilny MOBOT zasilania podawane jest do przetwornicy MC34063A. Układ ten po uzupełnieniu o kilka dodatkowych elementów biernych tworzy w pełni funkcjonalny konwerter DC/DC (obniżający napięcie step down) o napięciu wejściowym od około 7 do 40 V i napięciu wyjściowym około 7 V. Przetwornica ma zabezpieczenie przeciążeniowe działające przy prądzie około 1 A. Wstępnie obniżone napięcie trafia do układu 7805, klasycznego liniowego scalonego regulatora napięcia 5VDC. Napięcie uzyskane za tym elementem, oprócz zasilania układów logicznych jest również doprowadzone do złącz rozszerzeń. Na płycie zaimplementowano dodatkowe układy zabezpieczające działanie części logicznej. Pierwszym z nich jest monitor napięcia MAX7705. Układ ten kontroluje napięcie zasilania mikrokontrolera i wymusza aktywny sygnał zerujący mikrokontroler w przypadku spadku napięcia zasilania (5 V) poniżej 1 V. Kiedy napięcie ponownie wzrośnie powyżej 1 V, po 280 ms sygnał zerowania jest dezaktywowany. Zastosowanie tego układu znakomicie poprawia niezawodność podczas uruchamiania, wyłączenia i przeciążeniach na szynie zasilania. Drugim elementem zabezpieczającym mikrokontroler na wypadek odcięcia zasilania jest bateria 9 V, którą można włączyć jako zapasowe źródło zasilania części logicznej. Daje to szansę poprawnego zarządzania robotem nawet w sytuacji przeciążenia zasilania głównego. Do sterowania silników prądu stałego zastosowano nowoczesne układy IR3220 produkcji International Rectifier. Układ ten po dołączeniu dwóch tranzystorów MOSFET (dolnych tranzystorów mostka, IRF7484) i kilku elementów dyskretnych tworzy pełny mostek H. Układ zapewnia dostarczanie prądu o wartości 7 A przy napięciu zasilającym od 5.5 do 30 V. Na uwagę zasługuje dość wysoka, maksymalna częstotliwość kluczowania PWM, która sięga 20 khz, wkraczając w obszar niesłyszalnych dla ludzkiego ucha częstotliwości. W strukturze zawarte jest również zabezpieczenie przeciążeniowe, odcinające dopływ prądu do silnika, jeśli jego wartość przekroczy 30 A. Dla dodatkowych zadań związanych z pozycjonowaniem (takich jak ruch kamery, czy małego manipulatora) przewidziano stopień mocy dla małego, bipolarnego silnika krokowego. Napęd ten zrealizowano w oparciu o układ A3967 firmy Allegro. Sterownik umożliwia pracę z mikrokrokiem o stopniach podziału 2, 4 i 8 pełnego kroku, czyli 1/2, 1/4 i 1/8 kroku. Układ kontroluje wartość prądu fazy układem regulacji szerokości wypełnienia PWM, co w połączeniu z wysokim maksymalnym napięciem zasilania równym 30 V i sporym prądem maksymalnym o wartości 750 ma daje możliwość stworzenia dynamicznego napędu nawet przy użyciu niewielkiego silnika. Dodatkowo, na płytce znajdują się dwie zwory umożliwiające wybór stopnia podziału kroku. Tylko niewielka część wyprowadzeń mikrokontrolera została wykorzystana. Pozostałe wyprowadzenia zostały doprowadzone do 7 złącz. Dwa z nich przewidziane są do zamontowania nad płytką dodatkowego modułu rozszerzającego (tworząc z płytką główną tzw. kanapkę ). Do programowania mikrokontrolera służy 10 stykowe złącze zgodne z popularnym programatorem 17

4. Robot mobilny MOBOT STK200. Dwa złącza przystosowano do współpracy z czujnikami podczerwonymi. Do pierwszego z nich doprowadzono cztery linie procesora (z rezystorami podciągającymi), kolektor bipolarnego tranzystora kluczującego oraz linie zasilania i masy. Drugie złącze udostępnia dwie oddzielnie filtrowane linie zasilające, dwa wyjścia typu otwarty kolektor (tranzystory bipolarne z rezystorami ograniczającymi wartość prądu) oraz dwie buforowane linie prowadzące do procesora. Dzięki takiej organizacji złącz, po dołączeniu jednego z popularnych czujników podczerwonych (np. refleksyjny QRD1114) robot zyskuje możliwość wykrywania przeszkód. Warto wspomnieć, że dwa z trzech kluczy tranzystorowych sterujących pracą diód podczerwonych sterowanych jest z wyjść układów czasowych procesora. Pozwala to zrealizować modulację sygnału nadajnika, co zapewnia odporność na zakłócenia, np. światło słoneczne. Drugą możliwością, jaką daje układ czasowy, jest regulacja mocy nadawania poprzez zmianę stopnia wypełnienia impulsów - PWM. Uzupełnienie informacji na temat tego robota mobilnego opisuje autor w pozycji [3]. 4.2 Układ ładowania i łączności przewodowej Płyta rozszerzeń MOBOT zawiera ładowarkę impulsową do akumulatorów żelowych 12 V, sprzętowy interfejs RS232 oraz wygodne, 26-pinowe złącze IDC, na które wyprowadzone są wszystkie niewykorzystane wyprowadzenia procesora płyty głównej. Pracę urządzenia sygnalizują dwie diody LED: zasilanie zewnętrzne (zasilacz sieciowy) oraz 5 V. Dwa tryby pracy wybierane przełącznikiem: włączenie zasilania lub wyłączenie zasilania / ładowanie akumulatorów. Ładowarkę można zasilać dowolnym napięciem stałym lub zmiennym w zakresie 18-40 VDC lub 15-25 VAC. Maksymalny prąd ładowania akumulatorów 3 A. Za pomocą tej płyty możemy połączyć się z komputerem poprzez łącze szeregowe.[3] Rys. 4.3 Płyta rozszerzeń 18

4. Robot mobilny MOBOT Podstawowe parametry ładowarki: Parametr Wartość Napięcie zasilania 18-40 VDC lub 15-25 VAC Prąd ładowania 3 A Napięcie końcowe ładowania 14.4 V Liczba linii wyprowadzonych na zewnątrz 21 Rodzaj łącza szeregowego DB9M RTS/CTS Przedłużenie złącza programatora tak, STK200 Kontrola napięcia akumulatora tak 4.3 Napęd DC Buehler Motors z przekładnią planetarną Główny napęd robota stanowią najwyższej jakości silniki z wysokosprawną przekładnią planetarną. Seria silników o średnicy 31mm z komutatorem 7-segmentowym wyposażana jest w przekładnie planetarne w obudowie z tworzywa sztucznego o tej samej średnicy i przełożeniu od 12 do 250:1. Dzięki zastosowaniu przekładni planetarnej zespół napędowy ma wysoką sprawność. Prezentowany na zdjęciu silnik z przekładnią ma znamionową prędkość obrotową 40obr/min i osiąga moment znamionowy 1Nm przy zasilaniu z 12V prądem znamionowym 860mA. Silnik świetnie nadaje się do zastosowań w automatach, robotach mobilnych, układach przewijania. Zakres temperatur pracy silnika rozciąga się od -20oC do +70oC. [3] Rys. 4.4 Silnik Buehler Motors 19

4. Robot mobilny MOBOT Moment Prędkość prąd pr. biegu rezystancja przekładnia stopni znam. obr. znamion. jałowego 1Nm 40rpm 0,86A 60rpm 4,8om 73:1 3 Przekładnia planetarna Do głównych zadań przekładni należy zwiększenie momentu obrotowego kosztem zmniejsza prędkości obrotowej. Przekładnia składa się z dwóch współśrodkowych kół zębatych: koło słoneczne(centralne) o uzębieniu zewnętrznym oraz koło pierścieniowe (zewnętrzne) o uzębieniu wewnętrznym. Między nimi umieszczone są małe koła zębate, tzw. satelity, połączone ze sobą jarzmem (wodzidłem). Rys. 4.5 Przekładnia planetarna Satelity wykonują obrót, każdy wokół własnej osi, a wszystkie razem obiegają oś całego mechanizmu. Mechanizm planetarny stanie się przekładnią po wyposażeniu go w sprzęgło i hamulce, czyli wtedy, gdy istnieć będzie możliwość hamowania poszczególnych elementów lub łączenia ich ze sobą. Obecnie w przekładniach planetarnych stosuje się do tego celu wyłącznie małe sprzęgła i hamulce tarczowe, ponieważ nie wymagają regulacji i są bardzo trwałe. Docisk elementów ciernych podczas pracy wywołują siłowniki hydrauliczne. Zmiana biegu nie odbywa się bowiem tak, jak ma to miejsce w normalnej skrzyni przekładniowej, przez przesuwanie i zazębianie kół zębatych lub sprzęgieł, lecz poprzez unieruchamianie i łączenie (sprzęganie) ze sobą odpowiednich części przekładni. Hamować może każdy z trzech jej elementów, tzn. koło słoneczne, jarzmo lub koło pierścieniowe. Każdy z tych elementów może być napędzany, z każdego też może być odbierany napęd. [8] 20

4. Robot mobilny MOBOT 4.4 Zasilanie robota Główne zasilanie robota stanowią dwa akumulatory żelowe 2x6V. Akumulatory żelowe nie wymagają uzupełniania wody i ciągłej konserwacji elektrolitu (są szczelne - mogą więc pracować w dowolnej pozycji i w normalnych warunkach eksploatacji nie wydzielają gazów). Rys. 4.5 Robot mobilny widok z dołu Dzięki szczelności są bezpieczne w eksploatacji i nieszkodliwe dla otoczenia a także nie wymagają pomieszczeń ze specjalną, wymuszoną wentylacją. W porównaniu z klasycznymi akumulatorami mają niższą oporność wewnętrzną i są średnio o 70 [%] mniejsze i o 50 [%] lżejsze przy danej pojemności. [4] 21

4. Robot mobilny MOBOT 4.5 Koła zębate Koła zębate wyposażone są w 2 paski zębate pokryte warstwa specjalnej gumy. Koła pojazdu są silnie ułożyskowane, napęd przenoszony jest za pomocą sprzęgieł. Dzięki temu nie ma obaw o ewentualne uszkodzenie silnika bądź przekładni w wyniku kolizji koła robota z przeszkodą. [3] Rys. 4.6 Koło zębate robota mobilnego Każdy z dwóch zespół napędowych składa się z dwóch jednakowych kół wykonanych z duraluminium. Duraluminium charakteryzuje się wysoką wytrzymałością mechaniczną oraz uzyskuje najlepsze własności wytrzymałościowe po starzeniu naturalnym. Wadą duraluminium jest niewielka odporność korozyjna.[8] 22

5. Kinematyka robota mobilnego 5. Kinematyka robota mobilnego Do planowania i realizacji trajektorii w przestrzeni zadania niezbędna jest znajomość modelu kinematyki rozważanego robota mobilnego. Model kinematyki dowolnego systemu mechanicznego wynika z matematycznych relacji wiążących wszystkie prędkości występujące w rozważanym systemie. Uwaga nasza została skupiona na modelu robota mobilnego przedstawionego na rys. poniżej. Rys 5.1 Robot mobilny w globalnym układzie współrzędnych. Na rys. tym zaznaczono lokalny { x L, y } oraz globalny { x G, yg } układ współrzędnych. L Środek układu lokalnego przywiązano na osi kół i w połowie odległości pomiędzy kołami. Pozycję oraz orientację platformy wyrażoną w układzie globalnym oznaczono odpowiednio jako x, y oraz ϕ (zwrot strzałki oznacza dodatni przyrost kąta orientacji). Zaznaczono także prędkości kątowe kół: prawego ωp i lewego ω L oraz prędkości związane z cała platformą: prędkość postępową υ początku układu lokalnego ( znak + oznacza dodatni zwrot prędkości) oraz prędkość kątową ω (znak + oznacza dodatni kierunek obrotu platformy). Przy założeniu 23

5. Kinematyka robota mobilnego braku poślizgu kół ( zarówno poślizgu wzdłużnego jak i poprzecznego), relacje wiążące prędkości kół z prędkościami postępową υ i kątową ω całej platformy są następujące: [6] [ ωp( t) + ωl( t) ] υp( t) + υl( t) R υ( t) = = (5.1) 2 2 [ ωp( t) ωl( t) ] υp( t) υl( t) R ω( t) = = (5.2) b b gdzie υ L i υ P oznaczają liniowe prędkości związane z obwodem odpowiednio lewego i prawego koła, R jest długością promienia koła, a wartość b oznacza rozstaw między kołami. W oparciu o prostą interpolację geometryczną i korzystają z rys. 5.1 można zapisać następujące relacje różniczkowe: [7] dϕ = ω dt dx dt dy dt = υ cosϕ = υ sinϕ (5.3) (5.4) (5.5) gdzie dx dt υ χ i dy dt υ oznaczają składowe prędkości postępowej platformy wyznaczone γ jako ortogonalne rzuty na poszczególne osie układu bazowego { x G, y }. G 24

6. Metody planowania trajektorii ruchu robota mobilnego. 6. Metody planowania trajektorii ruchu robota mobilnego. Robot mobilny to robot zdolny do przemieszczania się. Zdolność lokomocyjna osiągana jest przy pomocy kół gąsienic, nóg, silników odrzutowych. Ze względu na ograniczenia, jakim podlegają roboty, dzielimy je na holonomiczne i nieholonomiczne. Roboty holonomiczne potrafią zmieniać orientacje praktycznie w miejscu (roboty typu omni directional ). Holonomiczność oznacza, ze ograniczenia prędkościowe ruchu robota są w pewnym sensie usuwalne. Podczas planowania toru ruchy dla tego typu robotów, zwykło się traktować je jako punkty materialne, które poruszają się w przestrzeni roboczej z przeszkodami powiększonymi o promień okręgu opisanego na robocie. [5] Roboty nieholonomiczne maja ograniczony promień skrętu (samochody, roboty latające, roboty podwodne). Nieholonomiczność oznacza, ze ograniczenia prędkościowe nie są usuwalne. Tą grupę robotów modelujemy jako układ sterowania, wyprowadzony z analitycznego zapisu ograniczeń ruchu danego robota. [5] W robotyce bardzo ważne miejsce zajmuje dział dotyczący planowania trajektorii. Występuje kilka sposobów planowania ruchu robota mobilnego. Chcielibyśmy pokrótce omówić kilka z nich, jednak odwołaliśmy się tylko do robotów holonomicznych. W poniższym tekście gdziekolwiek pojawia się słowo robot mamy na myśli robota holonomicznego. 6.1 Metoda propagacji fali Zastosowanie metody propagacji fali wykorzystywanie jest głównie w robotyce mobilnej. Do zaprezentowania tej metody używamy robota holonomicznego, poruszającego się na płaszczyźnie w dowolnym kierunku z jednakową łatwością. Metoda ma na celu podział dwuwymiarowej przestrzeni konfiguracji robota na elementarne komórki, zwykle jednorodną siatką. Aby zaplanować ruch trzeba każdej komórce przypisać znacznik oraz wagi. Znacznik zajęty przypisujemy tym komórkom, na których znajduje się przeszkoda (waga=-2), pozostałym przypisujemy znacznik wolny (waga=-1). Komórkom o wagach nieujemnych przypisujemy znacznik wypełniony. Obszar przestrzeni konfiguracyjnej jest jednospójny i ma skończoną liczbie elementarnych komórek. Planowanie trajektorii przebiega w dwóch fazach. W pierwszej fazie algorytmu następuje przypisanie każdej komórce wolnej i zajętej odpowiedniej wagi. Waga 0 przypisana jest komórce początkowej, jej sąsiadom pod 25

6. Metody planowania trajektorii ruchu robota mobilnego. warunkiem, że nie są to komórki zajęte - waga 1, ich sąsiadom - waga 2 itd. Algorytm propagacji fali jest następujący: Krok 1. Zadanej komórce początkowej nadać wagę 0 i ustalić wartość i poszukiwanej wagi na 0. Krok 2. Przeglądając wszystkie komórki przestrzeni konfiguracyjnej wykryć te o wadze równej i Krok 3. Jeśli nie znaleziono żadnych komórek o takiej wadze, algorytm zakańcza działanie. W przeciwnym wypadku wykonuje krok kolejny. Krok 4. Każdemu z sąsiadów znalezionej komórki, którego waga nie została uprzednio zdeterminowana przez nadanie statusu zajętej lub przypisanie wagi nieujemnej, nadać wagę (i+1). Krok 5. Gdy już wszystkie komórki o wadze i zostaną przeglądnięte, zwiększyć wartość i o jeden i kontynuować od kroku 2. W drugiej fazie algorytmu, dla dowolnie wybranej komórki wolnej od przeszkód, wyznaczamy drogę optymalną do komórki o wadze równej 0, czyli inicjującej działanie pierwszej fazy. Droga jest wyznaczana przez poszukiwanie wśród sąsiadów wybranej komórki, nazwijmy ją bieżącą, takiej, która ma wagę o jeden mniejszą. Z kolei ta komórka staje się bieżącą i proces poszukiwania drogi odbywa się iteracyjne, aż zostanie znaleziona droga do celu, czyli komórki inicjującej. Optymalna droga przebiega przez wszystkie wyznaczone komórki bieżące. Wykorzystanie metody propagacji fali w planowaniu ruchu robotów mobilnych jest w zasadzie ograniczone do zadań wielokrotnego wyznaczania drogi między dowolnym punktem przestrzeni konfiguracyjnej, a jednym, zadanym punktem, który inicjuje pierwszą fazę algorytmu metody propagacji fali. Podczas implementacji metody ważny jest sposób dyskretyzajcji konfiguracyjnej. Liczba komórek elementarnych powinna być umiarkowana. Przykład działania metody propagacji fali zamieszczamy na rysunku poniżej.[5] 26

6. Metody planowania trajektorii ruchu robota mobilnego. Przeszkody Rys. 6.1a Przeszkody Punkt początkowy Punkt końcowy Rys. 6.1b Rys.6.1 Metoda propagacji fali: a) po fazie wstępnej b) optymalny tor ruchu wybranej komórki o wadze 10 do komórki 0. 27

6. Metody planowania trajektorii ruchu robota mobilnego. Wykorzystana w przykładzie siatka sześciokątna ma zaletę jednakowej odległości euklidesowej od dowolnej komórki do wszystkich jej sąsiadów. 6.2 Metoda diagramu Woronoia Metoda ta polega na planowaniu skrajnie bezpiecznych torów ruchu robotów mobilnych poruszających się na płaszczyźnie. Zazwyczaj jest wykorzystywana w środowiskach o małej liczbie przeszkód stacjonarnych. Planowanie podobnie jak w metodzie propagacji fali przebiega w dwóch fazach. Najpierw, na podstawie mapy otoczenia robota, w której znajdują się przeszkody, nanosimy krzywe równoległe od przeszkód. Na przecięciach krzywych znajdują się wierzchołki tworzonego grafu. Punkt początkowy Przeszkody Punkt końcowy Rys 6.2 Przykładowy diagram Woronoia 28

6. Metody planowania trajektorii ruchu robota mobilnego. Punkt początkowy Punkt końcowy Przeszkody Rys 6.3 Tor przesadnie bezpieczny Cztery dodatkowe wierzchołki to wierzchołki początkowy i końcowy toru, oraz dwa wierzchołki usytuowane w grafie w miejscach najbliższych od wierzchołka początkowego i końcowego. Łukom powstałego grafu są przypisywane wagi równe długością toru między wierzchołkami mierzoną wzdłuż linii równoodległych od przeszkód. W drugiej fazie planowania przeszukujemy utworzony niekierowany graf, np. algorytmem Dijskstry, w celu znalezienia najkrótszej drogi łączącej wierzchołek początkowy z końcowym. Główna zaletą metody Woronoia jest bezpieczeństwo wynikowego toru tym bardziej, że informacja o odległościach od przeszkód może podwyższać wagi niektórych łuków. Bezpieczeństwo toru jest ważne także z powodu modelowania robota jako obiektu o nieograniczonych możliwościach ruchu w dowolnym kierunku. Dla rzeczywistych robotów mobilnych to założenie może nie być spełnione, jednak tor bezpieczny zapewni możliwość przeorientowania robota bez kolizji z przeszkodami. Jak łatwo zauważyć, liczba wierzchołków grafu jako funkcja liczby przeszkód rośnie szybciej niż liniowo. Z tego powodu warto rozważyć możliwość agregacji małych przeszkód położonych blisko siebie. Do wad metody diagramu Woronoia należy zaliczyć trudność w uwzględnianiu zmian środowiska, np. w wyniku ruchu przeszkód. Czasem także najkrótsza droga w grafie niekoniecznie musi być łatwa do realizacji przez poruszającego się robota. Wiele zakrętów w wynikowym torze, a także zmiany segmentu ruchu w optymalnej drodze pod kątami ostrymi, utrudniają fizyczną realizację zaplanowanego toru. Z tego powodu 29