MozhePoyedzye Robot klasy MiniSumo Konrad Bednarek Michał Rataj Koło Naukowe Robotyków KoNaR www.konar.pwr.edu.pl 6 stycznia 2016
SPIS TREŚCI SPIS TREŚCI Spis treści 1 Wstęp 2 2 Konstrukcja 2 2.1 Mechanika............................. 2 2.1.1 Podwozie......................... 3 2.1.2 Silniki i mocowanie.................... 3 2.1.3 Koła............................ 3 2.1.4 Modyfikacje........................ 3 2.1.5 Podsumowanie...................... 3 2.2 Elektronika............................ 4 2.2.1 Zasilanie.......................... 4 2.2.2 Mikrokontroler...................... 4 2.2.3 Czujniki.......................... 6 2.2.4 Sterowanie silnikami................... 6 2.3 Program.............................. 8 2.3.1 Algorytm sterowania................... 8 3 Podsumowanie 8 4 Materiały źródłowe 9 1
2 KONSTRUKCJA 1 Wstęp Raport przedstawia robota klasy minisumo enhanced o nazwie MozhePoyedzye, widocznego na rysunku 1. Robot powstał z myślą o wystartowaniu na Międzynarodowych Zawodach Robotów Robotic Arena 2015. Projekt był realizowany w dwuosobowym zespole w ramach warsztatów prowadzonych przez KNR KoNaR. Rysunek 1: Robot MozhePoyedzye i kwota na niego wydana 2 2.1 Konstrukcja Mechanika Na budowę robota miały wpływ ograniczenia konstrukcyjne podyktowane regulaminem w/w zawodów. Wymiary spełniają wymagania klasy minisumo, czyli szerokość i długość nie przekraczają 10 cm. Ponadto masa robota nie przekracza 500 gram. 2
2.1 Mechanika 2 KONSTRUKCJA 2.1.1 Podwozie Podwozie wykonano z blachy trapezowej grubości 1 mm. Dzięki temu konstrukcja jest bardzo lekka, a przy tym wytrzymała. Pozwala również w łatwy sposób montować poszczególne elementy konstrukcji. 2.1.2 Silniki i mocowanie Robot został wyposażony w dwa silniki o wysokiej mocy firmy Pololu z przekładnią 30:1, które są popularne w robotach kategorii minisumo, linefollower i micromouse. Mocowania silników są integralną częścią podwozia i tak jak ono zostały wykonane z odpowiednio wyprofilowanej blachy. Zastosowanie własnoręcznie wykonanych mocowań pozwoliło na schowanie części silników we wnętrzu koła, co nie udało by się przy oryginalnych mocowaniach dla tego typu silników. Dzięki temu możliwe było zwiększenie powierzchni jezdnej kół, a tym samym ich przyczepności. 2.1.3 Koła Podstawą do budowy kół był zabawkowy samochód z którego wyciągnięto plastikowe felgi. Opony wykonano własnoręcznie z sylikonu, by zapewnić im możliwie największą przyczepność. Dodatkowo dzięki schowaniu silników do wnętrza koła możliwe było poszerzenie bieżnika. Jedyną wadą było zastosowanie zbyt małej warstwy sylikonu, co spowodowało jego odrywanie się w czasie walki, a przez to spadek przyczepności. 2.1.4 Modyfikacje W pierwszej wersji robota została do niego dodana plastikowa nakładka widoczna na zdjęciach. Podyktowane było to brakiem wystarczającej przestrzeni wewnątrz robota. Obecnie nowa płytka została maksymalnie zmniejszona i nie ma już konieczności stosowania nakładki, jednak pozostała ona w konstrukcji, ponieważ stanowi dodatkową osłonę górnej części robota. 2.1.5 Podsumowanie Konstrukcja robota z założenia jest zwarta i stabilna. Wszystkie elementy są osłonięte blachą. Pług jest pochylony pod możliwie największym kątem. Nie ma dodatkowo wystających elementów które ułatwiałyby podważenie robota. Wszystko to sprawia, że MozhePoyedzye nie jest łatwym przeciwnikiem do pokonania. 3
2.2 Elektronika 2 KONSTRUKCJA 2.2 Elektronika Elektronika w robocie została wykonana dwukrotnie. Główną zmianą było zastąpienie mikrokontrolera STM32F103 dużo lepszą ATMegą32A. Zmiana ta siłą rzeczy podyktowała także inne drobne zmiany na pytce. Powstała również konieczność napisania nowego programu do sterowania robotem. 2.2.1 Zasilanie Do zasilania został użyty akumulator li-pol 7.4 V o pojemności 550 mah ze względu na duży dopuszczalny prąd rozładowania, który dla tego typu akumulatorów, wynosi 45 C (24,8 A), gdzie C to pojemność akumulatora. Do odcinania zasilania został użyty wyłącznik 3-pozycyjny, widoczny na rysunku 2. Do zasilania mikroprocesora oraz czujników Sharp użyto stabilizowanego napięcia 5 V. Stabilizator napięcia na 3V zapewnia pracę mostkom oraz czujnikom wykrywającym białą linię. Schematy obu stabilizatorów są widoczne na rysunku 3. Dla sygnalizacji prawidłowej pracy robota w konstrukcji pojawiła się dioda, która zapala się po włączeniu zasilania. Rysunek 2: Schemat akumulatora 2.2.2 Mikrokontroler Ze względu na to, że mikrokontroler STM32F103 stosowany w pierwszej wersji płytki sprawiał sporo problemów zarówno w kwestiach montażowych, jak i programowania oraz samej komunikacji, zdecydowano się na popularny produkt firmy Atmel ATMega 32A w obudowie przeznaczonej do montażu powierzchniowego. Taktowany jest on przez zewnętrzny rezonator kwarcowy o częstotliwości 16MHz. Schemat połączeń z mikrokontrolerem widoczny jest na rysunku 4. 4
2.2 Elektronika 2 KONSTRUKCJA Rysunek 3: Schemat stabilizatorów Rysunek 4: Schemat mikrokontrolera 5
2.2 Elektronika 2 KONSTRUKCJA 2.2.3 Czujniki W konstrukcji zastosowano 4 cyfrowe czujniki odległości Sharp GP2Y0D340K o zasięgu 40 cm, których schemat pokazano na rysunku 5. Dwa z nich zostały zamontowane frontalnie, a dwa pod kątem 45 stopni, co według ekspertów KNR KoNaR zapewnia największą ich skuteczność. Widać to dokładnie na zdjęciu 6. Oprócz tego robot posiada 2 czujniki odbiciowe KTIR0711S znajdujące się w dolnej części podłoża, które służą do wykrywania białej linii. Schemat tych czujników pokazany jest na rysunku 7. Rysunek 5: Schemat czujników odległości 2.2.4 Sterowanie silnikami Mostki H zapewniające sterowanie silników to układy TB6612. Wybrano właśnie takie układy ze względu na niewielkie rozmiary w wersji przeznaczonej do montażu powierzchniowego. Każdy układ zawiera dwa kanały, więc mógłby sterować dwoma silnikami, jednak ze względu na zwiększone zapotrzebowanie na prąd silników, zmostkowano wyjściowe i wejściowe kanały i zastosowano dwa mostki widoczne na rysunku 8. 6
2.2 Elektronika 2 KONSTRUKCJA Rysunek 6: Sposób rozmieszczenia czujników odległości Rysunek 7: Schemat czujników białej linii Rysunek 8: Schemat mostków 7
2.3 Program 3 PODSUMOWANIE 2.3 Program Do programowania wykorzystano Atmel Studio 7, który jest oprogramowaniem bezpłatnym i bazuje na MS Visual Studio jako na środowisku programisty, w którym wykorzystywane są kompilatory GCC. Komunikacja robota z komputerem odbywa się poprzez programator AVR USB (USBasp). 2.3.1 Algorytm sterowania Sterowanie odbywa się na stosunkowo prostym algorytmie. Zadaniem robota jest kręcenie się wokół własnej osi w prawo, aż do momentu wykrycia przeszkody. Następnie przechodzi on do ataku poprzez natarcie na przeciwnika. Po wypchnięciu rywala i przejechaniu białej linii robot się zatrzymuje. 3 Podsumowanie Dobrze wykonana i polutowana płytka drukowana jest niezbędnym warunkiem bezproblemowego działania robota (autor nieznany, ale cytat ładny - tak jak model płytki pokazany na rysunku 9). Kilkumiesięczna praca nad robotem zaowocowała powstaniem konstrukcji, która może jeszcze niejednokrotnie powalczy na zawodach robotów w swojej klasie. Rysunek 9: Model 3D płytki PCB 8
4 MATERIAŁY ŹRÓDŁOWE 4 Materiały źródłowe Podstawowym źródłem wiedzy były warsztaty robotyczne prowadzone przez koło naukowe KoNaR. Wiele przydatnych informacji znajdowało się także na stronie Forbot. Nieoceniona była również pomoc opiekuna Michała Swobody, a także Michała Burdki. 9