Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Opis stanowiska laboratoryjnego do projektowania i weryfikacji algorytmów sterujących autonomicznych pojazdów mobilnych ZumoRoboKiss2 na bazie Arduino UNO Opracowanie: Tomasz Rutkowski, dr inż. Gdańsk, 2015 1/8
Spis Treści 1. Opis pojazdu ZumoRobKiss2... 3 2. Podstawowa specyfikacja techniczna ZumoRoboKiss2... 5 2.1. Część mechaniczna... 5 2.2. Część elektroniczna... 5 2.3. Napęd... 6 2.4. Zasilanie... 7 3. Programowanie ZumoRoboKiss2... 8 4. Przydatne linki... 8 2/8
1. Opis pojazdu ZumoRobKiss2 Autonomiczny pojazd ZumoRoboKiss2 (Rysunki 1-4) jest dwugąsienicowym dydaktycznym pojazdem mobilnym, umożliwiającym rozwijanie myśli inżynierskiej w praktyce poprzez projektowanie, programową implementację oraz praktyczną weryfikację działania opracowanych algorytmów w warunkach rzeczywistych. Rysunek 1. Autonomiczne pojazdy ZumoRoboKiss2 w różnych konfiguracjach. Rysunek 3. Pojazd ZumoRoboKiss2 widok z góry (zdemontowany główny kontroler Arduino UNO) Rysunek 2. Pojazd ZumoRoboKiss2 - widok z przodu (czujnik odległości). Rysunek 4. Pojazd ZumoRoboKiss2 widok z boku. Do głównych zadań dydaktycznych realizowanych w trakcie zajęć laboratoryjnych, z wykorzystaniem pojazdów ZumoRoboKiss2, można zaliczyć: walki mini-sumo lokalizacja przez autonomiczny pojazd mobilny przeciwnika na arenie (dohyo, Rysunek 5), zaatakowanie go i wypchnięcie przeciwnika z areny (wykorzystanie czujnika odległości jako prostego radaru oraz czujników koloru do wykrycia granic areny), podążanie za linią (line follower) - realizacja przez autonomiczny pojazd mobilny zadanej ścieżki przejazdu (wykorzystanie czujników koloru umożliwiające wykrycie czarnej linii na białym tle, Rysunek 6), 3/8
labirynt poszukiwanie wyjścia z labiryntu (np. labirynt w postaci czarnej linii na białym tle, Rysunek 7). Poszczególne zadania realizowane są w kojcu bezpieczeństwa (Rysunek 8). Rysunek 5. Pełnowymiarowa, zgodna ze specyfikacją arena do walk mini-sumo. Rysunek 6. Zestaw podstawnych tras do realizacji przez pojazd zadanej ścieżki przejazdu. Rysunek 7. Przykładowa trasa labiryntu. Rysunek 8. Kojec w którym umieszczono trasę z labiryntem. 4/8
2. Podstawowa specyfikacja techniczna ZumoRoboKiss2 2.1. Część mechaniczna Konstrukcja pojazdu ZumoRoboKiss2 wykonana jest z twardego tworzywa sztucznego, wymiary jego podwozia przedstawiono na Rysunku 9. Rysunek 9. Wymiary podwozia ZumoRoboKiss2. http://www.pololu.com/ 2.2. Część elektroniczna Podstawą robota ZumoRoboKiss2 jest płytka bazowa (Rysunek 10), na której zamontowano: dwukanałowy sterownik silników DRV8835, pozwalający na podłączenie dwóch silników, 3-osiowy akcelerometr z magnetometrem LSM303DLHC, buzzer podłączony do wyprowadzenia PWM Arduino, co pozwala generować tony bez zużywania mocy obliczeniowej procesora, regulator napięcia step-up 7.5 V, służący do poprawnego zasilania modułu Arduino, wyprowadzenia pozwalające zamontować kontroler główny w postaci Arduino - Uno, Leonardo lub starszej wersji posiadającej tę samą formę wyprowadzeń np Duemilanove, przycisk użytkownika, przycisk reset oraz diodę LED, włącznik zasilania. Głównym kontrolerem robota ZumoRoboKiss2 jest Arduino UNO (Rysunek 11), o następującej specyfikacji: napięcie zasilania: 7V do 12V (zalecane), 6V-20V (maksymalne), mikrokontroler: ATmega328, maksymalna częstotliwość zegara: 16MHz, pamięć SRAM: 2 kb, pamięć Flash: 32 kb (5kB zarezerwowane dla bootloadera), pamięć EEPROM: 1kB, porty I/O: 14, 5/8
wyjścia PWM: 6, ilość wejść analogowych: 6 (kanały przetwornika A/C), interfejsy szeregowe: UART, SPI, I2C, zewnętrzne przerwania, podłączona dioda LED. Rysunek 10. Pojazd ZumoRoboKiss2 widok z góry (płytka bazowa, zdemontowany główny kontroler Arduino UNO); http://www.pololu.com. Rysunek 11. Główny kontroler Arduino UNO (widok z góry i z dołu). http://arduino.cc/en/main/arduinoboarduno 2.3. Napęd Napęd ZumoRoboKiss2 napędzają dwa miniaturowy silnik wysokiej mocy firmy Pololu z przekładnią 30:1, 50:1 i 75:1 (Rysunek 12). Specyfikację poszczególnych silników zestawiono w poniższej tabeli: Przekładnia Prędkość obrotowa Maksymalna prędkość pojazdu Moment obrotowy Maksymalny prąd 75:1 HP 400 RPM 0,80 m/s 1,6 kg*cm 1600 ma 50:1 HP 625 RPM 1,3 m/s 1,1 kg*cm 1600 ma 30:1 HP 1000 RPM 2,0 m/s 0,6 kg*cm 1600 ma 6/8
Rysunek 12. Miniaturowy silnik wysokiej mocy z przekładnią firmy Pololu. 2.4. Zasilanie Pojazd ZumoRoboKiss2 zasilany jest przez cztery wydajne akumulatorki Sanyo Eneloop R6 AA Ni-MH 2000mAh (Rysunek 13). Rysunek 13. Pojazd ZumoRoboKiss2 (widok od dołu) + akumulatory NiMH. 7/8
3. Programowanie ZumoRoboKiss2 Każde stanowisko, komputer PC służący do programowania pojazdu ZumoRoboKiss2 wyposażony jest: pakiet szybkiego programowania Matalb/Simulink umożliwiający programowanie ZumoRoboKiss2: o z wykorzystaniem przybornika StateFlow (system sterowany zdarzeniami, graf stanu), o z wykorzystaniem Simulinka oraz bibliotek Arduino i platformy Zumo, darmowe i ogólno dostępne środowisko Arduino IDE z biblioteką dedykowaną dla platformy Zumo. 4. Przydatne linki Platforma Zumo, Pololu: http://www.pololu.com/product/2506 Arduino UNO http://arduino.cc/en/main/arduinoboarduno Biblioteki Zumo i Arduino dla Matlab/Simulink http://www.mathworks.com/matlabcentral/fileexchange/45886-simulink-library-forzumo-robot http://www.mathworks.com/hardware-support/arduino-simulink.html Oprogramowanie Arduino IDE: http://arduino.cc/en/main/software Pełna dokumentacja języka programowania stosowanego w Arduino IDE: http://arduino.cc/en/reference/homepage Pierwsze część kursu programowania w Arduino IDE, opublikowane na łamach Elektroniki Praktycznej 2 2011 roku (kwiecień, maj): http://ep.com.pl/files/1403.pdf http://ep.com.pl/files/8238.pdf Biblioteki platformy Arduino-Zumo: https://github.com/pololu/zumo-shield 8/8