[DIY] Robot MiniSumo – tajniki konstrukcji

Tematem artykułu jest konstrukcja robota minisumo, który wystartował w marcowych zawodach Robomaticon 2015. Zgodnie z regulaminem zawódów robot może mieć wymiary 10×10 cm, nieograniczoną wysokość i masę do 500g. Celem rozgrywki minisumo jest wypchnięcie przeciwnika poza matę. Mata to czarne koło z białą obramówką.

Pierwszym etapem pracy było kompletowanie elementów. Zdecydowaliśmy sie na zbudowanie robota w oparciu o płyte główną Arduino Uno R3 i sterownik silników Arduino L298. Wykorzystany napęd to dwa silniki DC Pololu z przekładnią 30:1. Dodatkowo, żeby robot mógł wykrywać białą linię i wyszukiwać przeciwnika, wyposażony został w dwa czujniki odległości Sharp o zasięgu 10-80 cm i listwę czujników odbiciowych QTR-8A, wszystko zasilane akumulatorem Li-Pol 7,4 V.

Po skompletowaniu elementów przyszedł czas na zaprojektowanie podwozia. Zostało ono wykonane z blachy grubości 150 μm wyciętej laserowo za pomocą urządzenia LPKF w firmie Semicon (rysunek 1).

 

Rys. 1. Szablon podwozia robota

 

 

Fot. 2. Wygląd zmontowanego robota

 

Poszczególne części projektu (zmontowanego robota pokazano na fotografii 2):

  1. Mocowania silników
  2. Listwa czujników odbiciowych.
  3. Czujniki odległości o zasięgu 10-80 cm
  4. Dodatkowy czujnik odbiciowy.
  5. Czoło robota.
  6. Tylna osłona chroniąca elektronikę robota.

Przyszedł czas na ożywienie robota, czyli program.

 

Czujniki, interpretacja wartości

Na początek zbadałem, jak zachowują się czujniki. Możliwe są po dwa stany pracy czujnika odległości( widzi, lub nie widzi przeciwnika) i czujnika odbiciowego(wykrywa krawędź maty, czyli białą linię lub widzi czarne pole).

Na podstawie moich obserwacji wywnioskowałem, że czujnik odległości mimo że „nie widzi” przeciwnika wysyła sygnał o wartości między 4 a 170. W celu wyeliminowania wpływu szumów na działanie robota, przyjąłem, że w momencie zauważenia przeciwnika czujnik wysyła sygnał o wartości >=175.

Z czujnikami odbiciowymi jest nieco łatwiej, ponieważ nie pojawiają się takie szumy. Czujnik w momencie wykrycia białej linii wysyła wartośc mniejszą niż 50, kiedy widzi czarne pole wartośc ta jest znacznie większa. Na rysunku 3 pokazano przykładowe odczyty.

 

Rys. 3. Odczyty z testowanych sensorów

 

O autorze