7
HELMUT Robot klasy mini sumo Sprawozdanie z projektu Spis treści: 1. Opis projektu 2. Konstrukcja 3. Elektronika 4. Program 5. Wnioski, błędy i przemyślenia

Sprawozdanie z projektu w pliku PDF

Embed Size (px)

Citation preview

Page 1: Sprawozdanie z projektu w pliku PDF

HELMUTRobot klasy mini sumo

Sprawozdanie z projektu

Spis treści:

1. Opis projektu

2. Konstrukcja

3. Elektronika

4. Program

5. Wnioski, błędy i przemyślenia

Page 2: Sprawozdanie z projektu w pliku PDF

1 Opis projektu.

Celem projektu było zbudowanie robota mobilnego klasy mini sumo. Zakładanym przez nas terminem ukończenia projektu była data zawodów turnieju Robotic Arena 2009, czyli 28. listopada 2009 r. Projekt udało się ukończyć przed tą datą, dzięki czemu robot, pokazany na Rys. 1, mógł wystartować w zawodach. Zbudowanie Helmuta (bo tak właśnie nazwaliśmy naszego robota) zajęło około miesiąca. Jako, że był to nasz pierwszy projekt z zakresu robotyki dążyliśmy do maksymalnego uproszczenia konstrukcji, co miało zagwarantować powstanie projektu na czas.

Rys.1: Robot mini sumo

2

Page 3: Sprawozdanie z projektu w pliku PDF

2 Konstrukcja.

Podstawowym materiałem jaki był użyty w konstrukcji robota było aluminium. Wybór taki został podyktowany łatwością obróbki tego materiału oraz jego dostępnością. Do przycinania aluminium wystarczająca okazała się piłka ręczna oraz Dremel, który także posłużył do wiercenia otworów. Do podwozia będącego jednocześnie szkieletem robota przymocowaliśmy silniki, czujniki koloru (QRD 1114), czujnik zbliżeniowy (SHARP GP2D12), oraz układ elektroniczny i źródło zasilania. Z przodu robota został zamocowany ruchomy pług, który opada grawitacyjnie tuż po starcie robota, jak pokazano na Rys. 2. Prostota zastosowanego rozwiązania sprawia, że pług wykorzystywany jest do wypychania przeciwnika i podważenia go.

Rys. 2: Podwozie robota wraz z pługiem. Rys. 3: Czujniki koloru (QRD 1114)

Czujniki koloru zostały umieszczone na osobnych, niewielkich płytkach, a następnie przykręcone do podwozia, co pokazano na Rys. 3.

Napęd robota zbudowany został w oparciu o zmodyfikowane serwomechanizmy (HITEC HS-475HB). Modyfikacja polegała na wyjęciu z głównego koła zębatego przekładni bolca zabezpieczającego przed całkowitym obrotem i oszlifowaniem otworu po bolcu. Ponadto usunięto potencjometr i oryginalną elektronikę sterująca serwomechanizmem oraz przylutowano nowe przewody zasilające.

Koła zostały wykonane z aluminium, które dodatkowo nawiercono, by całość była lżejsza. Aby uzyskać dobrą przyczepność zostały one oklejone uszczelką do okien, jak pokazano na Rys. 4.

Na podwoziu znalazł się pakiet zasilający złożony z pięciu baterii AA (patrz Rys. 5.), czyli tzw. „Paluszków”, co dało całkowite napięcie około 7,5 V.

Rys. 4: Koło robota. Rys. 5: Pakiet zasilający.

3

Page 4: Sprawozdanie z projektu w pliku PDF

3 Elektronika.

Schemat układu elektronicznego (pokazany na Rys. 7.) powstał w darmowej wersji programu Eagle. Układ został wykonany na płytce uniwersalnej o wymiarach 7,8 cm na 6,5 cm. Do realizacji projektu wybraliśmy mikrokontroler z rodziny AVR- Atmega8. Całość zasilana jest bateriami AA, natomiast napięcie ze stabilizatora L7805CV wynosi 5V.

Schemat elektroniczny zaprojektowany dla „Helmuta” można podzielić na 3 zasadnicze bloki:

1. Blok sterowania silnikami Silniki robota sterowane są przebiegiem PWM przy użyciu podwójnego mostka H wchodzącego w skład układu L298N. Kierunek ruchu robota zależy od polaryzacji obu silników. 2. Blok czujników koloru W celu wykrycia białej linii zastosowano układ 4 czujników koloru QRD1114. Są to czujniki zawierające w swej strukturze diodę LED jako oświetlacz oraz fototranzystor w roli detektora. 3. Blok czujników zbliżeniowych W robocie zastosowano czujnik SHARP GP2D12, którego zakres detekcji (operacyjny) wynosi 80cm. Wyjście czujnika jest analogowym wyjściem napięciowym z zakresu 0 –2,75V. Niestety, jak się okazało, sposób montażu czujnika, a w szczególności duża wysokość nad powierzchnią podłoża, nie pozwolił na detekcję niskich przeciwników.

Wykonanie samego układu nie sprawiło większych problemów technicznych, pomimo niewielkiego doświadczenia członków zespołu. Było za to doskonałą okazją dla nauki i doskonalenia umiejętności lutowania.

Rys. 6: Układ elektroniczny.

4

Page 5: Sprawozdanie z projektu w pliku PDF

Rys. 7: Schemat układu elektronicznego.

5

Page 6: Sprawozdanie z projektu w pliku PDF

4 Program.

Algorytm programu został napisany w języku Bascom i zawierał kilka podstawowych funkcji, na podstawie których podejmowane były decyzje o zmianie położenia.

1. Sprawdzenie czujników zbliżeniowych Funkcja zwracała wartość odpowiadającą widoczności (lub nie) obiektu w polu widzenia czujników2. Sprawdzenie koloru Funkcja zwracała numer czujnika koloru na którym pojawiał się stan odpowiadający wykryciu białej linii3. Rotacja i ruch Funkcja służąca do zmiany orientacji robota i poszukiwania przeciwnika.

Funkcją dominującą, o największym priorytecie była funkcja sprawdzająca czujnik zbliżeniowy, wówczas to następowała reakcja na sygnał odbity i ustawienie robota w takiej pozycji aby mógł najechać na wykrytego przeciwnika. Drugą w kolejności funkcją wpływającą na zmianę w ruchu robota było sprawdzenie koloru podłoża pod robotem. W zależności od bieżącej wartości na czujnikach koloru, robot mógł kontynuować ruch w stronę, w która się poruszał lub gdy osiągnął krawędź, zmieniał kierunek przez zmianę polaryzacji silników, a następnie wykonywał obrót.

Rys. 8: Schemat blokowy programu.

6

Page 7: Sprawozdanie z projektu w pliku PDF

5 Wnioski, błędy i przemyślenia.

Helmut jest naszą pierwszą konstrukcją robotyczną i w związku z tym przy jego budowie popełniliśmy szereg błędów konstrukcyjnych, które choć pozwalały robotowi spełniać swoje zadanie (jazda i wyszukiwanie wroga) to jednak uniemożliwiało nawiązanie równej walki z najlepszymi przeciwnikami w tej kategorii. Do napędzania zastosowaliśmy serwa modelarskie - dobre dla początkujących, gdyż po wcześniej wspomnianym przerobieniu, mogą pracować jak silniki - to znaczy mogą obracać się w sposób ciągły, a poza tym z łatwością można je zamontować dzięki uchwytom. Inną cenną zaletą serw są wbudowane przekładnie - dzięki którym robot miał spory moment obrotowy (a więc i siłę), co jednak okupione było znacznym spadkiem prędkości - Helmut był znacznie wolniejszy od większości robotów, w których zastosowane były małe silniczki prądu stałego o lepszej dynamice. W celu zwiększenia prędkości robota konieczne było zastosowanie dużych kół napędowych (zgodnie z wzorem prędkość = prędkość_kątowa * promień) co wiązało się ze znacznym zwiększeniem wysokości robota (co z kolei ułatwiało dostrzeżenie Helmuta przez przeciwnika), jak i zwiększeniem wysokości położenia środka masy (co wiązało się z gorszym rozłożeniem sił przy przepychaniu przeciwnika). Przy następnej konstrukcji postaramy się zastosować silniczki DC, najlepiej z wbudowanymi przekładniami. W celu wykonania części elektronicznej stworzyliśmy jej projekt w bardzo wygodnym narzędziu, jakim jest Eagle. Płytkę sterującą stworzyliśmy na bazie zakupionej w sklepie płytki uniwersalnej, co z jednej strony było wygodne (zwolniło nas z konieczności wytrawiania płytki, jak i konieczności nawiercania otworów), lecz wiązało się również z pewnymi niedogodnościami jak konieczność zastosowania większej ilości kabli, co wiązało się również ze zmniejszeniem niezawodności i narażeniem na przypadkowe uszkodzenia. Przy okazji następnego projektu będziemy chcieli wykorzystać płytki przez nas drukowane, co powinno zredukować liczbę kabli, a także rozmiar płytki. Do sterowania układem napędowym zastosowaliśmy gotowy układ podwójnego mostka H - L298. Układ tani, powszechny i masowo stosowany, jednak jak się okazało o nie najlepszych parametrach. Występował na nim duży spadek napięcia (około 1,5 V) co znacznie ograniczało moc silników. Znacznie lepszym rozwiązaniem byłoby zastosowanie mostka na tranzystorach unipololarnych (np. MOSFET), przy których praktycznie nie występuje spadek napięcia. Algorytm sterowania robotem nie był doskonały i różnił się od tego jaki wstępnie zakładaliśmy, jednak sprawdził się. Z uwagi na to, że robot był słabo oczujnikowany (z racji oszczędności tylko jeden czujnik odległości, czyli wykrywający przeciwnika) oraz wolny (przez zastosowanie serw) bezzasadne było stosowanie algorytmu bardziej skomplikowanego. Układ zasilania pięcioma bateriami AA dobrze spełnił swoje zadanie. Początkowe napięcie wynosiło 7,8 V, czyli jak najbardziej optymalnie. W następnych konstrukcjach pragniemy jednak zastosować akumulatorki, najlepiej litowo - polimerowe, które maja szereg zalet takich jak mały rozmiar i waga oraz duża wydajność prądowa. Nie zastosowaliśmy ich w obecnym projekcie głownie z racji ogromnych kosztów ładowarki, balancera jak i samych akumulatorków, co wielokrotnie przewyższyłoby koszty zbudowania całego Helmuta. Mimo wszystkich wyżej wymienionych wad jesteśmy zadowoleni z naszej konstrukcji. Co najważniejsze - robot działał i udało nam się ukończyć projekt na dzień zawodów Robotic Arena (28.11.2009 r.). Myślimy, ze doświadczenia zdobyte przy realizacji tego projektu zaprocentują przy okazji naszych następnych prac z zakresu robotyki.

7