Raport Robot mobilny klasy micromouse. Adrian Gałęziowski Paweł Urbaniak



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

Konstrukcja Micro Mouse

Projekt i wykonanie robota klasy Micromouse

Micromouse Rapid Raport końcowy. Marcin Niestrój

Zastosowanie silników krokowych jako napęd robota mobilnego

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

Raport z budowy robota Krzysio

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

Linefollower Torpeda. Magdalena Kaczorowska

Robot micromouse Rzuf nincza. Hubert Grzegorczyk

MozhePoyedzye. Robot klasy MiniSumo. Konrad Bednarek Michał Rataj

ROBOT MOBILNY ZBIERAJĄCY INFORMACJE O POMIESZCZENIU

TIGER Autonomiczny robot mobilny typu Line Follower

REGULAMIN KONKURSU WIEDZY TECHNICZNEJ W ZAKRESIE PROJEKTOWANIA I KONSTRUOWANIA ROBOTA W KATEGORII MICROMOUSE

REGULAMIN ZAWODÓW ROBOTÓW Robotic Arena 2016

Autonomiczny robot mobilny LF3 klasy linefollower. Jacek Jankowski

- WALKER Czteronożny robot kroczący

Robot mobilny klasy mini-sumo Żubr

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Raport z budowy robota mobilnego klasy minisumo Łotrzyk. Maciej Majka Mateusz Ciszek

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

PRACA DYPLOMOWA MAGISTERSKA

Temat: Sterowanie mobilnością robota z wykorzystaniem algorytmu logiki rozmytej

Optymalizacja wież stalowych

rh-p1 Bateryjny czujnik ruchu systemu F&Home RADIO.

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

ROBOT MOBILNY TYPU LINE FOLLOWER JACK. Michał Rybczyński

rh-p1t1 Bateryjny czujnik ruchu z pomiarem temperatury otoczenia systemu F&Home RADIO.

Politechnika Wrocławska

Robot mobilny klasy micromouse. IPreferPI. Elżbieta Bundz. Bartosz Wawrzacz. Koło Naukowe Robotyków KoNaR.

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

MCAR Robot mobilny z procesorem AVR Atmega32

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

Zarządzanie pamięcią w systemie operacyjnym

Mechatronika i inteligentne systemy produkcyjne. Aktory

Serwomechanizm - zamknięty układ sterowania przemieszczeniem, o strukturze typowego układu regulacji. Wartość wzorcowa porównywana jest z

Wstęp do użytkowania modeli GP2D12 i GP2Y0A02 Podstawowe informacje techniczne Testy praktyczne czujnika GP2Y0A02

PRACA PRZEJŚCIOWA SYMULACYJNA. Zadania projektowe

SIMSON. Raport. Robot moblilny klasy Line follower. Łukasz Kaźmierczak. Dawid Kwaśnik. Małgorzata Lewandowska. Wrocław, r.

1. Kto wymyślił określenie robot?

KAmodRPiADCDAC. Moduł przetwornika A/C i C/A dla komputerów RaspberryPi i RaspberryPi+

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2013 CZĘŚĆ PRAKTYCZNA

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

HELMUT Robot klasy mini sumo

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

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

AUTONOMICZNY ROBOT DO MAPOWANIA KSZTAŁTÓW AUTONOMOUS ROBOT FOR MAPPING FLOOR PLANE SHAPE. Bartosz MARTYNIUK 1. Opiekun naukowy: Grzegorz BUDZYŃ 2

mbot Ranger Robot edukacyjny 3-w-1

CHŁOPCZYK Robot typu Line Follower

Test dysku Intel SSD DC S GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik :22

Bezprzewodowa sieć kontrolno-sterująca z interfejsem Bluetooth dla urządzeń mobilnych z systemem Android

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

STEROWNIKI ROBOTÓW ( PROJEKT ) ROBOT KLASY LINEFOLLOWER

Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Ćw. 18: Pomiary wielkości nieelektrycznych II

Zarządzanie pamięcią operacyjną

Enkoder magnetyczny AS5040.

LSPX-21 LISTWOWY MODUŁ WEJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2003 r.

TDWA-21 TABLICOWY DWUPRZEWODOWY WYŚWIETLACZ SYGNAŁÓW ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

Sensory i systemy pomiarowe Prezentacja Projektu SYNERIFT. Michał Stempkowski Tomasz Tworek AiR semestr letni

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Raport z budowy robota mobilnego klasy minisumo John Cena. Jędrzej Boczar Jan Bednarski Dominik Świerzko

WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA AUTOMATYKI. Robot do pokrycia powierzchni terenu

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Dydaktyka Informatyki budowa i zasady działania komputera

SpeakUp click, czyli jak bezstresowo dogadać się z lampką?

Zasady organizacji projektów informatycznych

Autonomiczny robot mobilny w kategorii linefollower MORPROF

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

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

OPBOX ver USB 2.0 Miniaturowy Ultradźwiękowy system akwizycji danych ze

Pomiar prędkości obrotowej

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Robot Mobilny Mobot-Explorer

KA-NUCLEO-UniExp. Wielofunkcyjny ekspander dla NUCLEO i Arduino z Bluetooth, MEMS 3DoF, LED-RGB i czujnikiem temperatury

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

Mechatronika i inteligentne systemy produkcyjne. Sensory (czujniki)

Robot mobilny klasy minisumo Buster

ĆWICZENIE NR.6. Temat : Wyznaczanie drgań mechanicznych przekładni zębatych podczas badań odbiorczych

Roboty grają w karty

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Aplikacje Systemów. Nawigacja inercyjna. Gdańsk, 2016

Innowacje wzmacniające system ochrony i bezpieczeństwa granic RP

Laboratoria badawcze

Asystent termiki oraz wiatru W systemie FPV Pitlab & Zbig

Sprawozdanie z realizacji projektu:

dr inż. Jarosław Forenc

TEMAT: PARAMETRY PRACY I CHARAKTERYSTYKI SILNIKA TŁOKOWEGO

ELEMENTY SYSTEMU KONTROLI DOSTĘPU

LSPY-21 LISTWOWY MODUŁ WYJŚĆ ANALOGOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, październik 2003 r.

Instrukcja programowania płytek edycji 2014

Ćw. nr 31. Wahadło fizyczne o regulowanej płaszczyźnie drgań - w.2


REFERAT O PRACY DYPLOMOWEJ

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

MIKROKONTROLERY ARM DOKUMENTACJA WSTĘPNA PROJEKTU GRA PONG

Wykład 2. Mikrokontrolery z rdzeniami ARM

Transkrypt:

Raport Robot mobilny klasy micromouse Adrian Gałęziowski Paweł Urbaniak Wrocław, 12 marca 2013

Spis treści 1. Założenia projektu.................................... 2 2. Model w programie Autodeksk Inventor....................... 2 3. Konstrukcja mechaniczna................................. 4 4. Konstrukcja elektroniczna................................ 5 5. Algorytm........................................... 9 6. Problemy........................................... 9 7. Planowane modyfikacje.................................. 10 1

1. Założenia projektu Celem projektu było zbudowanie robota mobilnego klasy 2.0, typu micromouse, który mógłby z powodzeniem rywalizować z podobnymi konstrukcjami na zawodach robotów. Robota udało mi się ukończyć przed zawodami Robotic Arena 2012, co pozwoliło na sprawdzenie konstrukcji podczas zawodów. Niniejszy raport ma na celu przedstawienie kolejnych etapów budowy robota począwszy od modelów 3D w programie Autodesk Inventor, aż po finalną konstrukcję. 2. Model w programie Autodeksk Inventor. Pracę nad projektem rozpocząłem od wykonania kilku modeli 3D w programie Autodesk Inventor, w celu wybrania najlepszej koncepcji co do kształtu robota, a także żeby mieć pewność, że wszystkie zaplanowane elementy zmieszczą się w konstrukcji robota. Poniżej prezentuje kolejne stadia projektu. Rysunek 1. Wczesne stadium - pierwsza koncepcja na wygląd robota. 2

Rysunek 2. Drugi projekt. Rysunek 3. Ostateczna wersja. 3

W pierwszym założeniu robot był krótki, ale zbyt szeroki, co pozostawiałoby mu bardzo mały margines błędu podczas pokonywania zakrętów. W drugiej konstrukcji robot został znacząco wydłużony, jednakże całościowo był zbyt duży. Ostatecznie robot został skrócony i maksymalnie zwężony do minimalnej szerokości wyznaczonej przez silniki i enkodery, które zostały zaplanowane pomiędzy silnikami. Ostateczne wymiary robota są następujące: 10cm x 10 cm. 3. Konstrukcja mechaniczna. Bazę dla całej konstrukcji robota stanowi jego płytka z elektroniką. W robotach micromouse jednym z ważniejszych parametrów jest niska masa, stąd decyzja o zrezygnowaniu z płytki bazowej. Silniki zostały podniesione o ok. 3mm i zamocowane na dodatkowej płytce z pleksiglasu, w celu obniżenia prześwitu robota. Dzięki temu uzyskałem również miejsce na moduł bleutooth, który został umieszczony pod silnikami. Płytki z enkoderami zostały przyklejone do płytki z pleksiglasu. Pomiędzy nimi została umieszczona płytka antymagnetyczna w celu wykluczenia występujących zakłóceń pomiędzy enkoderami. Do napędu robota posłużyły silniki Pololu z przekładnią 10:1 (1000 obr/min), zapewniając mu bardziej niż wystarczające osiągi. Powszechnie dostępne koła modelarskie zapewniają stosunkowo słabą przyczepność, dlatego koła zostały wykonane samodzielnie, z użyciem sylikonu sanitarnego, który spisywał się bardzo dobrze przy wysokich prędkościach zapewnianych przez silniki (Vmax = 3m/s) Rysunek 4. Dexter. 4

4. Konstrukcja elektroniczna. 1. Mikroprocesor. Micromouse potrzebuje procesora o dużej mocy obliczeniowej, który byłby wstanie na bieżąco aktualizować mapę labiryntu, obliczać sterowanie dla silników i obsługiwać wszystkie peryferia, w szczególności enkodery. Wybór padł na procesor z rdzeniem Cortex-M3 - STM32F103RBT6. Kilka parametrów technicznych, które zdecydowały o wyborze: Maksymalna częstotliwość pracy: 72 MHz; 128 kb Flash; 20 kb RAM; Minimalny czas przetwarzania ADC: 1µs; Sprzętowa obsługa enkoderów. 2. Enkodery. Do pomiaru przemieszczenia robota użyłem enkoderów magnetycznych AS5040, które mierzą przemieszczenie z rozdzielczością 10 bitów zapewniając 1024 tiki na jeden obrót koła. Enkodery współpracują z magnesami AS5000-MD6H-2 zalecanymi przez producenta. 3. Żyroskop. W celu dokładniejszego pomiaru kąta obrotu robot został wyposażony w żyroskop analogowy LY3200ALH, który potrafi zmierzyć maksymalną prędkość obrotu na poziomie 2000dps. 4. Czujniki. Czujniki do wykrywania ścian zostały również wykonane samodzielnie na podstawie podczerwonej diody nadawczej SFH4550 emitującej falę o długości 850nm oraz fototranzystora SFH313. 5. Komunikacja. W robocie istnieje możliwość komunikacji trzema różnymi sposobami, za pomocą interfejsu SWD, JTAG oraz bezprzewodowo za pomocą modułu bluetooth BTM-222. Poniżej zamieszczam schemat elektroniczny robota: 5

Rysunek 5. Schemat elektroniczny cz.1

Rysunek 6. Schemat elektroniczny cz.2

5. Algorytm. Podstawowym elementem robota micromouse poza przemyślaną i zwartą konstrukcją mechaniczną jest optymalny pod względem szybkości i jakości działania algorytm rozwiązywania labiryntu. W robocie został zaimplementowany algorytm zalewania wodą (Bellmana - Forda). Główną idą tego algorytmu jest przypisanie każdemu z pól w labiryncie odpowiedniej wartości liczbowej. Wiąże się to z dużą złożonością pamięciową jak na możliwości mikroprocesorów, ponieważ potrzebujemy tablicy 256 bajtowej do przechowywania wag każdego z pól oraz kolejnej tablicy 256 bajtowej do przechowywania informacji o położeniu ścian w dane komórce oraz innych informacji, które uznamy za niezbędne. Jak wiadomo każdy bajt ma 8 bitów, więc taka tablica powinna nam w zupełności wystarczyć do przechowywania wszystkich niezbędnych informacji. 1. Zasada wypełniania tablicy Algorytm przypisuje wartość 0 środkowi labiryntu. Następnie każdemu sąsiadowi danej komórki, który nie jest oddzielony ścianą przypisujemy wartość o 1 większą. W ten sposób przechodzimy po wszystkich polach tablicy. Procedura ta musi być powtórzona w momencie gdy robot wykryje kolejną ścianę w labiryncie podczas przejazdu rozpoznawczego. W ten sposób poruszając się od kwadratu o największej wartości do najmniejszej otrzymujemy najkrótszą drogę do celu. 2. Droga do celu W momencie, gdy robot zbada cały labirynt otrzymujemy najkrótszą, ale nie niekoniecznie najszybszą drogę do celu. Robot w każdym ruchu powinien wykonać nastepujące czynności: 1) Z a k t u a l i z u j mapę ś c i a n. 2) Z a k t u a l i z u j t a b l i c ę wag poszczególnych pól. 3) Zdecyduj, który z sąsiadów danego pola ma najmniejszą wartość o d l e g ł o ś c i. 4) Przejdź do pola, o n a j m n i e j s z e j w a r t o ś c i o d l e g ł o ś c i. 6. Problemy. Podczas tworzenia konstrukcji jak i podczas zawodów spotkałem się z następującymi problemami. Poniżej prezentuję krótki opis problemu oraz moje własne pomysły na jego rozwiązanie. 8

1. Czujniki. Najwięcej problemów podczas zawodów sprawiły czujniki, które wykazują brak odporności na zmienne oświetlenie. Z tego powodu robot nie był również w stanie dojechać do środka labiryntu podczas zawodów. Planuję poprawić obecnie zaimplementowany pomiar różnicowy, który w obecnej postaci nie spełnia swojego zadania. Dodatkowo chcę wprowadzić dynamiczne ustawianie wszystkich progów, a nie tylko niektórych jak to ma miejsce obecnie, przed starterem robota. 2. Resetowanie mikroprocesora. Znacznie większym problemem jest resetowanie się mikroprocesora. Podejrzewam, że obecnie zaimplementowany algorytm obliczania ścieżki powinien zostać zoptymalizowany, przede wszystkim operacje na tablicach powinny zostać zastąpione operacjami na stosie. Ponadto resetowanie następuje w momencie zerowania zmiennych odpowiadających za pomiar przemieszczania, należy więc zmienić moment resetowania tych zmiennych. 7. Planowane modyfikacje. 1. Uruchomienie komunikacji bluetooth z laptopem, ponieważ z powodu problemów sprzętowym z laptopem możliwa jest jedynie komunikacja z telefonem komórkowym. 2. Optymalizacja algorytmu zalewania wodą. Nie jest konieczne przeglądanie całej tablicy po wykryciu nowej ścianki. Wystarczy jedynie zaktualizować tę część labiryntu, której ta ściana dotyczy. Przechowywanie labiryntu na stosie zamiast w tablicy. 9