Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'minisumo'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

  1. Witam wszystkich konstruktorów, robotyków, majsterkowiczów. Pierwszy raz za swoją "karierę" elektronika-hobbysta zdecydowałem wziąć udział w konkursie walk robotów minisumo, zacząwszy od analizy projektów z zawodów zauważyłem że większość robotów posiada analogowe czujniki firmy Sharp. Z doświadczenia wiem że są inne czujniki odległościowe takie jak laserowe VL53l0x albo ultradźwiękowe HC-SR04 i chyba są nawet tańsze od sharpów. Z jakiego powodu konstruktorzy decydują się na użycie sharpów? Domyślam się że analiza danych z analogowych czujników jest prostsza od cyfrowych, krótszy czas reakcji. Próbowałem znaleźć dyskusję na ten temat na forumach ale nic ciekawego nie znalazłem. Za wcześnie dziękuję za zaangażowanie w temat.
  2. Witam, zlecę wykonanie płytki do minisumo. Chodzi o projekt i wykonanie płytki ewentualne polutowanie elementów. Docelowo chciałbym wykonywać większą ilość elementów elektronicznych, ale jest to pierwsze zlecenie tego typu z mojej strony. Więc zanim przejdę do jakiś konkretnych większych/poważniejszych projektów. Muszę wiedzieć z czym takie zlecenie i projekt wg moich uwag się je. Osoby zainteresowane bardzo proszę o info na maila pierona60@gmail.com, później będę edytował post i dodawał szczegóły, tylko muszę wiedzieć co dodać do takiego zlecenia, jakie informacje. Liczę na pomoc i współpracę. Pozdrawiam
  3. StealthMamut to nasz drugi robot minisumo. Robot startował na zawodach ze zmiennym szczęściem. Ale miał swoje chwile chwały 😊 Największe sukcesy to 2 miejsce w Rzeszowie oraz 1 miejsce na RA w 2014 roku. Od konceptu do realizacji U początku całej koncepcji znalazł się pomysł, żeby zbudować robota, który będzie słabo wykrywalny przez czujniki przeciwnika, czyli technologia znana jako Stealth 😊 Pierwsze testy polegały na sprawdzeniu sposobu reakcji czujników Sharp (najpopularniejsze) gdy skierujemy je pod kątem ok. 45 stopni na lustro. Zgodnie z przewidywaniem promienie były odbijane przez lustro i czujnik lustra nie wykrywał. Zrozumieliśmy, więc że robot z obudową w kształcie piramidy z luster ustawionych pod kątem będzie odbijał promienie czujników i będzie teoretycznie w 100% niewidoczny. Pierwszy projekt powstał w sketchupie na wiosnę 2013 i był to 4 kołowy robot, z 4 silnikami, 3 czujnikami Sharp GP2Y0D340K. Bryła robota byłą w kształcie ściętego ostrosłupa o podstawie ośmiokąta. Projekt ten był ciekawy, natomiast bardzo trudny w realizacji. Dlatego zawiesiliśmy prace i pomysł musiał dojrzeć. Pod koniec 2013 roku koncepcja zaczęła się krystalizować. Pierwszym krokiem było uproszczenie projektu o następujące założenia: Robot 2 kołowy z dwoma silnikami – dzięki temu było dużo więcej miejsca oraz odpadał problem docisku noża pojawiający się przy 2 osiach Tylko 1 czujnik przeciwnika Powstał kolejny projekt w Sketchupie, oraz film animowany prezentujący koncepcje: Aby projekt można było urzeczywistnić, kluczową sprawą było znalezienie dostawcy odpowiednich luster. Stanęło na lustrach z plexi z firmy Audioplex. Były one w miarę łatwe w obróbce i wytrzymalsze niż lustra szklane. Zakupiliśmy arkusz luster i okazał się on odpowiedni do naszych potrzeb. Gdy mieliśmy już materiał wykonany prototyp obudowy z zakupionych „luster”, tak aby sprawdzić skuteczność koncepcji Stealth. Okazało się, że koncepcja stealtch działa 😊 Oczywiście w praktyce prototyp nie był w 100% niewidzialny – szczególnie na krawędziach. Natomiast był na tyle niewidzialny że technologię uznaliśmy za wartą przeniesienia na prawdziwego robota. Robot został stworzony w rekordowo krótkim czasie kilku tygodni. Bardzo pomogły doświadczenia z poprzednimi robotami. W pierwszych kilku zawodach robot borykał się z chorobami wieku dziecięcego (zarówno mechanicznie jak i program), ale po kolei wszystko zostało dopracowane i mógł stanąć w szranki z najlepszymi. Projekt 3D Robot był od początku do końca szczegółowo zaprojektowany w 3D w programie SketchUp.. Względem projektu z końca 2013 dodaliśmy dodatkowy czujnik (w sumie 2 czujniki) oraz został wybrany akumulator (Dualsky). Zostało też zaprojektowane całe wnętrze tak aby sprawdzić czy wszystkie części na pewno się mieszczą. Po dopracowaniu projektu ogólnego, dolna stalowa podstawa została zaprojektowana w programie Inventor. Elektronika Podstawowe elementy wykorzystane w układzie to: Procesor Atmega 16 - sterowanie całym robotem 2 czujniki 40 cm Sharp GP2Y0D340K - czujniki przeciwnika ustawione na wprost. 2 czujniki linii – CNY70 - do wykrywania linii oczywiście. TB6612– dwa mostki dla silników głównych, sterowany sygnałami PWM z procesora Stabilizator napięcia LM1117 dla zapewnienia 5V zasilania dla układów. Ze względu na kształt robota, podzieliliśmy elektronikę na 3 płytki. Dla oszczędzenie miejsca zastosowaliśmy w większości elementy typu SMD. Płytka główna wypełnia przestrzeń w obudowie i jest bazą dla procesora oraz zapewnia złącza dla czujników linii. Diody na tej płytce wykorzystywane były tylko do celów testowych. W pierwotnej koncepcji zasilanie czujników miało być wyłączane w pewnych fazach walki tak aby czujniki nie emitowały wiązki i tym samym zdradzały pozycji. Okazało się jednak, że przy obecnym tempie walk dużo ważniejsza jest świadomość sytuacyjna niż jakikolwiek niewielki efekt wyłączenia czujników. Schemat głównej płytki poniżej: Środkowa płytka jest bazą dla mostków dla silników oraz stabilizatora. Schemat poniżej: W końcu górna płytka jest tylko bazą dla złącza programatora, przycisków, diod oraz głośnika. Ciekawa jest geneza wykorzystania głośnika. Ze względu na górną obudowę, która jest także z lustra nie widać na zewnątrz żadnych diod. Tak wiec aby wybrać program startowy używamy przycisku po naciśnięciu którego liczba piknięć głośnika mówi jaki program został wybrany. Oczywiście obecnie większość robotów ma tak nisko czujniki że nie omiata wiązką górnej powierzchni, ale 1 lub dwa takie się zdarzały. Dodatkowo użycie u góry lustra poprawia estetykę całego robota. Schemat górnej płytki poniżej: Generalnie elektronika spełnia dobrze swoje zadania, chodź można było na pewno jeszcze bardziej upchać elementy oraz zastosować lepsze taśmy to łączenia sygnałów pomiędzy poszczególnymi płytkami. Płytki PCB Płytki zostały wykonane w Eaglu. Ich wykonanie zostało zlecone do firmy, która wykonuje PCB, a lutowanie było już po naszej stronie. Najtrudniejszym elementem było przylutowanie procesora oraz mostków, ale udało się to zrobić. Łączenie pomiędzy płytkami zostało wykonane na taśmach z goldpinami i jest to chyba najgorzej wykonany element robota. Płytki zostały osadzone na 2 długich śrubach przytwierdzonych do podłoża. Zasilanie Zdecydowaliśmy się na zasilanie 11,1 V z 3 celowego pakietu Dualsky 400 mAh. Odpowiednie napięcie dla układów elektronicznych (5V) zapewnia stabilizator liniowy. Jeśli chodzi o silniki to PWM tak dobiera napięcie średnie aby ich nie spalić (max 9V). Mechanika Podstawa robota wykonana jest z stalowej blachy i stanowi oparcie dla ścian obudowy z luster. Niestety ze względu na problemy technologiczne elementy podpierające lustra prościej nam było zrobić z balsy, przez co podstawa jest trochę za lekka i trzeba było próbować dociążyć robota dodatkowymi odważnikami z ołowiu. Niestety udało się to tylko połowicznie ponieważ nie było tyle miejsca. Cięższy materiał do dociążenia (np. iryd czy osm, czyli metale o większej gęstości) jest niestety cenowo poza zasięgiem. Silniki główne to Pololu 30:1. Są one bardzo dobre dla tego robota, ponieważ jest on przez to szybki i może wykonywać zwody i manewry okalające szczególnie w pierwszej części walki. Niestety w zwarciu przegrywają z silnikami 50:1. Koła sami odlewamy koła z silikonu co bardzo dobrze wpływa na przyczepność robota. Niestety sama wymiana kół jest trudna dlatego nie zawsze są czas i chęci na zrobienie tego przed zawodami co skutkuje gorszymi parametrami podczas walk. Obudowa typu Stealth W praktyce obudowa typu stealth nie jest tak idealna, jak w założeniach. Można jednak powiedzieć, żę w miarę dobrze spełnia swoją rolę. Niestety są elementy, które ułatwiają lokalizacje robota: Otwory na czujniki Metalowa podstawa (kilka mm od podłogi) 2 śruby po bokach przytrzymujące obudowę Dodatkowo w trakcie walk w kilku miejscach lustra zostały porysowane przez noże innych robotów. Naprawienie tego wymagało by wymiany obudowy, ale jest to bardzo czasochłonne wiec nie zostało to nigdy zrealizowane. Program Program bazuje na programie z moich poprzednich robotów – FlyingMamut oraz MicroMamut. Został stworzony jest w oparciu o konkretne reguły odpowiadające staną czujników oraz stanowi logiki. Na podstawie stanu czujników i stanu obecnego ustalany jest stan następny. Program został napisany w języku C. Używałem WinAVR. Programuję przez USBAsp. Do debugowania programu używam złącza RS-232, którego moduł z układem MAX232 podpisany jest dodatkowo do robota. W toku prac i testów program został rozwinięty o specjalne manewry używane przy starcie robota do walki, tak aby korzystając z „niewidzialności” mógł zajść przeciwnika od tyłu. Niestety część robotów używa najprawdopodobniej algorytmów „na ślepo” atakujących w najbardziej prawdopodobne miejsce gdzie będzie nasz robot, a na małej planszy 77cm nie ma dużego pola manewru. Z powyższego powodu dobrze szło naszemu robotowi na planszy 144 cm na zawodach Robotic Arena we Wrocławiu. Dodatkowym mankamentem jest to, że gdy nasz robot ustawia się przodem to jest bardziej widoczny dla przeciwnika. Podsumowanie Jesteśmy bardzo zadowoleni z tego robota szczególnie, dlatego że udało się wprowadzić do zawodów kolejnego po FlyingMamucie robota, który nie bazuje tylko i wyłącznie na czystej sile i mocnym, ostrym klinie. Oprócz dobrej zdolności do walki, nasz robot jest też jednym z robotów o najczystszej formie i najlepszym designie (zewnętrznym). Dużym komplementem dla nas było to, gdy jeden z sędziów na pierwszych zawodach tego robota w Wałbrzychu powiedział „Nie myślałem jeszcze jakiś robot zaskoczy mnie w zawodach Minisumo”. Sukcesy tego robot sprawiły, że cały czas myślimy nad kolejnym nietypowym robotem, który mógłby walczyć o zwycięstwo 😉
  4. Witajcie! Mam przyjemność przedstawić mojego "nowego" robota minisumo - Predator. Stworzyłem go mianowicie w II Liceum (2016-17) ale jako, że jest teraz czas sesji to jako wzorowy student postanowiłem go tutaj opisać. Koncepcja, projektowanie konstrukcji i późniejsze jej wykonanie oraz zaprogramowanie układu sterującego zajęło do 6 miesięcy. Robot wziął udział w swoim pierwszym turnieju na Cyberbocie w Poznaniu, po czym przeszedł na urlop aż do obecnego roku gdzie wziął udział w Robotic Arenie we Wrocławiu. Mechanika: Konstrukcja składa się głównie z laminatu i stali. Podwozie robota zbudowane jest z 2 płyt 10x10 (z docięciami na koła i śruby) o szer. 2mm i 3mm jedna na drugiej, przy czym na końcu ostatniej zamocowane jest ostrze kupione jako "nóż do strugarek HSS". Reszta obudowy to laminat zlutowany ze sobą i połączony śrubami z elektroniką i podwoziem. Obudowa pomalowana czarnym sprayem (głównie dla estetyki, ale też aby był cięższy do wykrycia). Napęd w robocie stanowią 2 silniki micro Pololu 50:1 a sterują nimi 2 mostki H TB6612. Felgi zostały zrobione na zamówienie przez użytkownika HungryDevil, a opony są odlane z silikonu. Sam projekt był tworzony w Inventorze, niestety wraz z rozpoczęciem studiów zmieniłem komputer, a stary był sformatowany 😞 Elektronika: Płytki PCB zaprojektowane zostały w programie Eagle i wytrawione domowymi sposobami. Sercem robota jest Atmega328P w wersji SMD. Układy zasilane są z LiPo'la 2s, 20c, 3,85Wh przez stabilizator liniowy 5V 7805. Czujnikami zastosowanymi do wykrywania przeciwnika są legendarne cyfrowe czujniki Sharp 40cm w liczbie czterech. Planowane były również czujniki linii, jednak płytki z czujnikami nie działały przed zawodami tak jak powinny także usunąłem je na czas zawodów Cyberbot. Ich implementacja miała się odbyć tuż po zawodach, ale z dzisiejszej perspektywy po 2 latach mogę powiedzieć, że raczej Predator się ich już nie doczeka 🙂 Na górnej płytce, oprócz wejścia programatora i wejścia na moduł startowy, znajdują się przełączniki, których zadaniem miało być wyłączanie/pomijanie czujników które doznały awarii podczas walki (w praktyce nie użyte ani razu). Software: Program napisany w Atmel Studio. Raczej nie należy do zaawansowanych i w głównej mierze został wykonany metodą prób i błędów. Strategia robota to często używane tzw. "Tornado". Robot obraca się dopóki nie wykryje przeciwnika a po jego znalezieniu, rusza prosto na niego. Podsumowanie: Predator nie do końca wyszedł w taki sposób jaki miał. Posiada sporo wad, jako główną podałbym oczywiście brak czujników podłoża. Dodatkowo niedokładność konstrukcji spowodowała delikatne wystawanie przednich czujników poza obudowe. Mimo tego jestem bardzo zadowolony z niego, ponieważ jest to dopiero mój drugi robot, którego zbudowałem. Mam nadzieję, że ten post pomoże innym początkującym konstruktorom. Osiągnięcia: I miejsce na XI Robotic Arena 2019 we Wrocławiu Tu dorzucam jeszcze parę dodatkowych zdjęć: Pozdrawiam i do zobaczenia na kolejnych zawodach, Paweł 😉
  5. Cześć! Jako że już po sezonie to postanowiłem opisać tu moją i mateuszm konstrukcję. Robot powstał w ramach rekrutacji do koła naukowego robotyków KoNaR i debiutował na Robotic Arenie 2015. Był to nasz debiut w konstruowaniu robotów, ponieważ wcześniej żaden z nas tego nie robił. Mechanika Głównym założeniem mechaniki robota było wykorzystanie w pełni maksymalnej dopuszczalnej masy oraz skupienie jej w podstawie. W osiągnięciu tego celu pomógł nam projekt Autodesk Inventor, w którym to został wykonany szczegółowy projekt robota uwzględniający wszystkie drobne elementy mechaniczne. Podstawa robota została wykonana z trzech elementów: - ostrze z węglika spiekanego - płytka stalowa 3mm - płytka górna, 2mm, która łączyła dwa elementy wymienione wyżej W płytkach zostały wycięte otwory, w których następnie umieszczone były małe, okrągłe płytki z czujnikami białej linii. Stal była cięta laserowo oraz później frezowana. Napęd robota stanowiły znane i lubiane silniczki Pololu HP z przekładnią 50:1 przykręcone bezpośrednio do podstawy za pomocą dedykowanych mocowań. Podpięte do elektroniki były przy pomocy złączy ARK co umożliwiło ich łatwy demontaż w celach serwisowych. Obudowa robota została wykonana z laminatu 1mm. Na obudowie znajduje się nazwa robota oraz nasze imiona i nazwiska. Obudowa mocowana jest do podstawy za pomocą śrub, a jej elementy są do siebie lutowane. Dach robota wykonaliśmy z 2 mm przeźroczystego szkła akrylowego. Finalnie robot mierzy w najwyzszym miejscu 33,7 milimetra od podstawy do dachu, a od podłoza do dachu 37,2. Jego podstawa ma wymiary 98,9 mm na 99,6 mm. Masa waha się od 490 do 499g w zależności jak bardzo nakarmimy robota przed zawodami 🙂 Elektronika Priorytetem projektu robota była jego dobra konstrukcja mechaniczna, w wyniku czego wymiary płytki z elektroniką były z góry narzucone. Elektronika została zaprojektowana w programie KiCad po zaimportowaniu wymiarów przeznaczonych na nią z programu Inventor. Elektronika robota dzieli się na dwie płytki: główną, która znajduje się tuż nad podstawą robota oraz dodatkowej, na której umieściliśmy włącznik zasilania, interfejs komunikacyjny oraz złącze na moduł startowy. Płytki połączone zostały ze sobą taśmą FFC. Mała płytka widoczna na zdjęciu nad płytką główną służy nam jako podstawka pod akumulator LiPo 7.4V, którym zasilamy robota. Sercem naszego robota został mikroprocesor STM32F1. Wybór tej rodziny wynikał z łatwości ich programowania przez początkujących. Czujniki odległości wykorzystane w robocie to znane i lubiane cyfrowe Sharpy 40cm. Umieściliśmy je 4, dwa z przodu oraz po jednym na bokach. Na czujniki białej linii użyliśmy dwa KTIRy 0711S. Jak wcześniej wspomniałem zostały one umieszczone na małych płytkach, które umieściliśmy w wycięciach w podstawie. Na sterowniki silników wybraliśmy dwa, podwójne mostki H TB6612. Zostały one dobrane ze względu na ich dobrą wydajność prądową, co umożliwiło nam skuteczne wysterowanie silników Pololu bez obawy o to, że przy pełnym zwarciu mostki ulegną uszkodzeniu. Płytki zostały wykonane metodą termotransferu oraz wyfrezowane za pomocą Dremela i pilników ręcznych. Software Kod robota został napisany w środowisku System Workbench for STM32 (SW4STM32) z użyciem generatora kodu konfiguracyjnego STM32CubeMX. Program podzielony był na dwie sekwencje: startową i walki. W pierwszej ustawiana była konfiguracja algorytmu robota oraz dostępne były funkcje testu czujników (widoczny na zdjęciu poniżej - cztery czerwone diody, które odpowiadały za pokazanie aktualnego stanu czujników) oraz czyszczenia kół (drobna funkcja pomocnicza ustawiająca małą prędkość na kołach). Sekwencja walki załączała się po otrzymaniu przez robota sygnału startowego z modułu. Większa część algorytmu walki opierała się na prostych if-ach z odpowiednio dobranymi nastawami silników w każdym przypadku, co okazało się wystarczające w większości starć. Następnie zostały dodane pewne udoskonalenia, o których już rozpisywać się nie będę 🙂 Osiągnięcia - II miejsce Robomaticon 2016 - I miejsce Robotic Tournament 2016 - III miejsce Festiwal Robotyki Cyberbot 2016 - II miejsce [Minisumo] oraz I miejsce [Minisumo Deathmatch] Trójmiejski Turniej Robotów 2016 - II miejsce Opolski Festiwal Robotów 2016 - I miejsce Robotic Day 2016 [Praga] A poniżej kilka filmów z udziałem robota: 2Weak4U vs Hellfire 2Weak4U w Wiedniu 2Weak4U vs Dzik 2Weak4U vs Shevron (chyba) 2Weak4U w Deatmatchu [Rzeszów] 2Weak4U vs Szwagier Pozdrawiam i do zobaczenia w następnym sezonie, Aleksander
  6. RoDAP – Robot Dzielnie Atakujący Przeciwników Jest to robot minisumo zrobiony przez Pojemnika i mnie na kółku robotycznym KRÓL, które prowadzimy od zeszłego roku szkolnego. Założenia projektu nie były zbyt wygórowane: chcieliśmy tylko wygrać z innymi robotami z naszego kółka. Robotowi daleko do sprawnego działania, ale i tak zwyciężył ze wszystkimi konstrukcjami na zawodach wewnątrzszkolnych. Konstrukcja mechaniczna: Głównym elementem robota jest odpowiednio wycięta blacha (2mm). Za napęd odpowiedzialne są dwa silniczki N20-BT24. Są dużo za słabe do wypychania silniejszych przeciwników, ale były najtańsze. 😁 Felgi toczone z aluminium ”po znajomości”, oponki odlewane z silikonu w domu. (Zostały nam po linefollowerze RoChN3 gdzie się nie sprawdziły.) Przed mocowaniami silników znajduje się akumulator Li-Po 800mAh przyciśnięty płytką z elektroniką (wchodzi ”na wcisk”, nigdy się nie wysunął). Delikatne elementy osłania pług zrobiony z laminatu przylutowanego do miedzianych drutów trzymających całą konstrukcję w jednym kawałku. Docisk opon zapewniają dwa kawałki stali przyczepione trytkami 🙃 (nie mieliśmy innego pomysłu), które zamontowaliśmy dopiero po pierwszych zawodach. Elektronika: Mikrokontroler: Atmega328p Sterowniki silników: 2x TB6612 (jeden układ na silnik) Optyczne czujniki przeciwnika: 4x TSSP77038 60cm (widziały podłogę więc musieliśmy je trochę zakryć, teraz zasięg wynosi około 25cm) Czujniki linii: 2x KTIR0711S Starter na attiny13 działający na piloty od TV Stabilizator LDO na 5V, kilka guzików, LEDów i goldpinów. Płytka jednowarstwowa trawiona w domu. Program: Robot początkowo kręci się spodziewając się działającego przeciwnika. Jeżeli takowego nie ma w ringu to zaczyna go szukać jeżdżąc od krawędzi do krawędzi. 4 czujniki bardzo dobrze sprawdzają się w szukaniu martwych robotów. Sukcesy: Nieprzegranie wszystkich walk „do zera” na zawodach uBot 2019 w Krakowie. 😁 Wygranie z każdym z robotów z naszego kółka na wewnętrznych minizawodach na koniec roku szkolnego. Wnioski: Jak na pierwszego naszego robota w tej kategorii (w dodatku zrobionego w dwa tygodnie) niczego więcej się nie spodziewaliśmy. Jedyne zakupione elementy to czujniki IR, silniczki, i ich sterowniki. Całą resztę znaleźliśmy w szufladach i piwnicach. Gdybyśmy chcieli robić kolejnego minisumo, to na pewno użylibyśmy lepszych silników, opon i pługu, ale aktualnie zajmujemy się linefollowerami i nanosumo oraz prowadzeniem kółka. Chętnie odpowiemy na wszystkie pytania w komentarzach. 🙂
  7. Minisumo MS_bot v2 Przedstawiony robot powstał jako moja pierwsza konstrukcja i został stworzony w 2015 roku, kiedy to uczęszczałem jeszcze do technikum. Robot przeznaczony był do walki w zawodach robotów minisumo, głównie organizowanych co roku przez Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy [chyba największe zawody szkół średnich w naszej okolicy]. Zaliczył również kilka występów w zawodach organizowanych na wyższym szczeblu [politechniki itp]. Poniższe fotografie przedstawiają moje dzieło. Mechanika Konstrukcja robota powstała z odpowiedno wygiętej blachy aluminiowej, co zapewniło stosunkowo łatwą realizację podstawy robota. Tu warto wspomnieć o dużej wadzie robota – mianowicie lemierzu który nie do końca dobrze przylegał do podłoża – przez co nieraz zdarzało mi się przegrać walkę. Silniki robota przymocowane do konstrukcji aluminiowej małymi śrubkami – zgodnie z przeznaczonymi do tego otworami w silnikach. Same motory to 4 x DC DG2425-016 [6v – 320 RPM ] firmy mobot. Z tego co widzę niedostępne już na stronie tego producenta. Podobnie z kółkami, które nie były demonami przyczepności. Zastosowane silniki jak i użyte koła były identyczne jak w tym projekcie. Silniki z lewej jak i z prawej strony zostały połączone równoległe uzyskując tym sposobem większy moment obrotowy i dopasowanie do istniejącej już platformy opisanej poniżej, która posiadała tylko dwa mostki H na silnik prawy i lewy. Elektronika Platforma robota to układ skonstruowany i zaprojektowany przez organizatora zawodów – UTP w Bydgoszczy – oparty o procesor AtMega32. W późniejszych latach oparty już o mikrokontroler STM zgodnie z opisem na stronie zawodów. Ja jednak używałem starej konstrukcji znając już tajniki programowania uC AVR. Schemat układu łącznie ze standardowym prosty programem dostarczanym przez w/w uczelnię został przedstawiony w załączniku [sumolib 4.3 i sumo-pack]. Jako czujniki podłoża zostały użyte dwa komplety czujników odbiciowych QTR-1a. Natomiast czujniki odległości, które zalecane przez konstruktora płytki bazowej miały być analogowymi, zastąpiłem moim zdaniem lepszymi czujnikami cyfrowymi firmy sharp - GP2Y0D340K, które zostały niestety wycofane z oferty botland ze względu na koniec produkcji przez producenta firmy sharp 😞 Zasilanie robota stanowi pakiet Li-Pol GPX Extreme 800mAh 40C 2S 7,4V. Nie będę więcej pisał o gotowej platformie, gdyż przygotowana przez Uniwersytet była w pełni przygotowana pod wszelkie czujniki, silniki lub serwa, a także inne niezbędne elementy. Natomiast schemat urządzenia przedstawiony przeze mnie wydaje się być bardzo przejrzysty i prosty do zrozumienia 🙂 Software Napisany przy użycia środowiska Eclipse wraz z pluginem AVR-Toolchain. Część bibliotek wykorzystałem z programu „standardowego” udostępnianego przez UTP, natomiast częśc dopisałem samemu. Program był bardzo prosty polegał na jeździe robota naprzód i odwracaniu się, aż do momentu napotkania przeciwnika, wtedy robot kierował się dokładnie na wprost przeciwnika [ dzięki dwóm czujnikom odległości ] i uderzał z pełną siłą. Gdy robot dojechał do linii i nie napotkał przeciwnika odwracał się o określony kąt oszacowany za pomocą czasu odwrotu. Warto dodać, że robot miał świetną skrętowność dzięki czterem silnikom. Wbrew pozorom taka taktyka na zawodach szkół średnich przynosiła bardzo dobre rezultaty 😁 😁. Podsumowując MS-bot nie należał do najlepszych robotów, ale mimo wszystko dał mi bardzo dużo satysfakcji, szczególne dlatego, że stworzyłem, go nie posiadając jeszcze za dobrych umiejętności programowania, programów CAD, a także co ważne większych środków finansowych. Najlepszym osiągnięciem tego minisumo był występ w półfinałach zawodów robotycznych w Bydgoszczy, gdzie przegrał tylko z trzema lepszymi robotami na około 100 występujących. Pozdrawiam Atomowy 🙂 sumo-pack.zip sumolib_v4.3.zip
  8. Cześć ! 🙂 Chciałbym przedstawić moją pierwszą poważną konstrukcje robota minisumo, która obejmuje temat mojej pracy inżynierskiej. Praca zajęła mi 4 miesiące nie licząc pracy pisemnej - przez ten czas praca objęła: • Przegląd typowych rozwiązań technicznych podobnych konstrukcji • Projekt platformy w programie Autodesk Inventor Professional 2015 • Projekt ideowy schematu układu elektronicznego w programie Eagle 7.7.0 • Projekt dwustronnych obwodów drukowanych w programie Eagle 7.7.0 • Złożenie konstrukcji: wytrawienie obwodów drukowanych i montaż SMD/THT • Oprogramowanie mikrokontrolera przy użyciu programu Atmel Studio 6.2 oraz testy Założeniem projektowym było stworzenie uniwersalnego robota - uniwersalność tą udało się uzyskać, dodając panel użytkownika, czyli wyświetlacz LCD oraz klawiaturę. Dzięki wyświetlaczowi LCD, robot posiada dodatkowe funkcje informacyjne, natomiast dzięki klawiaturze – możliwe jest dokonywanie różnych ustawień i testów. Oczywiście dla niektórych użytkowników panel ten będzie wydawał się zbędnym dodatkiem w tego typu konstrukcjach, dlatego na wstępie zaznaczam, że jest to robot minisumo bardziej o charakterze edukacyjnym. 😉 Innymi założeniami, które udało się zrealizować to: a) Odejście od gotowych platform programistycznych - zaprojektowano od podstaw systemu mikroprocesorowy w środowisku Atmel z użyciem programatora AVR Dragon. b) Bazowanie na komponentach firmy Analog Devices - zaprojektowano układ elektroniczny z wykorzystaniem układów scalonych oferowanych przez czołowego producenta przyrządów półprzewodnikowych – firmy Analog Devices. Głównym źródłem informacji stały się dokumentacje elementów, wedle których powstawały poszczególne moduły robota. W sumie wykorzystano 6 układów scalonych tejże firmy. c) Redukcja zakłóceń – na etapie projektowania obwodu drukowanego – zastosowano różne techniki optymalizujące działanie układu elektronicznego. d) Budowa kanapkowa robota – pierwsza tak poważna konstrukcja wymagała przemyślanej budowy, którą w razie problemów, można byłoby modyfikować. Tak powstała cztero – warstwowa struktura robota: aluminiowa podstawa, dwie płytki drukowane oraz panel użytkownika. Zasilanie Źródłem zasilania są ogniwa litowo - polimerowe firmy Redox 1100 mAh o napięciu 7,4 V. Logika zasilana jest napięciem 3,3 V, natomiast optoelektronika (czujniki IR, wyświetlacz) napięciem 5 V. Układ zabezpieczony jest przed odwrotną polaryzacją tranzystorem MOSFET. W trakcie działania silników, możliwa jest opcja podglądu aktualnego napięcia - stworzono układ pomiarowy z wykorzystaniem między innymi dzielnika napięcia i sprzętowego ADC mikrokontrolera. Mikrokontroler Systemem mikroprocesorowym sterującym całym układem elektronicznym jest 8 bitowy mikrokontroler ATmega644PA. Wybrano jeden z najbardziej rozbudowanych mikrokontrolerów 8 – bitowych oferowanych przez producenta Atmel. Wybór był przede wszystkim podyktowany ilością wejść/wyjść, ponieważ wykorzystano wszystkie piny mikrokontrolera. Ponadto stosunkowo wysoka pojemność pamięci FLASH, SRAM, EEPROM wynika z chęci dalszej rozbudowy części programowej robota. Napęd i sterowanie Do napędu wykorzystano popularne silniki Pololu HPCB 50:1 z obustronnym wałem oraz wyposażono je w kompatybilne enkodery magnetyczne równiez firmy Pololu Sterownikiem silników jest popularny scalony mostek H o nazwie TB6612. Jako jeden z niewielu oferowanych sterowników, umożliwia przepływ stosunkowo dużego ciągłego prądu wyjściowego o wartości maksymalnej 2 A. Taką wydajność prądową udało się uzyskać scalając dwa kanały mostka H, w rezultacie jeden mostek H steruje jednym silnikiem. Czujniki Wszystkie czujniki na swoich wyjściach wystawiają sygnał cyfrowy. Wykorzystano popularne czujniki KTIR0711S w roli czujników ringu. Aby uzyskać cyfrowy odczyt skorzystano z zewnętrznego komparatora AD. Możliwe jest ustawienie progu czułości czujników na poziomie programowym, funkcję tą zapewnia potencjometr cyfrowy AD. Po zapoznaniu się z bardzo dobrym artykułem na stronie https://www.forbot.pl/forum/topics61/czujnik-optyczny-vt4761.htm zdecydowałem się stworzyć własne czujniki przeciwnika. Po za tym nie chciałem inwestować w stosunkowo drogie, powszechnie stosowane czujniki SHARP 😐 . Udało się skonstruować czujniki wykrywające obiekty w odległości nawet ok. 30 cm. 🙂 Program Mówi się, że hardware to tylko połowa sukcesu i tak też sprawdziło się w przypadku mojej konstrukcji 😕 Dużo czasu zajęło mi napisanie dobrego programu. Panel użytkownika przysporzył dłuższej pracy nad programem. W rezultacie powstał bardzo rozbudowany kod rozłożony na kilka własnych bibliotek. Jakkolwiek uważam prace nad projektem zakończoną i udaną jak na pierwszą autonomiczną konstrukcję. Program powstał w języku C. Zastosowano tzw. sterowanie bez namysłu, czyli szybkie podejmowanie decyzji przez robota podczas walki na zasadzie określenia par typu bodziec - odruch. Zewnętrznymi źródłami przerwań są sygnały pochodzące od enkoderów oraz czujników ringu. Na wszystkie pytania chętnie odpowiem w komentarzach 😃 Pozdrawiam, 🙂 Konrad Galeria: Filmy:
  9. Cześć, przedstawiamy Wam naszego pierwszego robota zbudowanego w ramach drużyny Magnat Cyber Forge Team. W skład drużyny wchodzą: mechanik Mateusz Piotrzkowski, elektronik Szymon Zagórnik oraz programista Piotr Krzemiński. Konstrukcja powstawała przez prawie 2 lata - od pierwszej burzy mózgów i szkiców na komputerze, przez zbieranie funduszy, wykonanie elementów, montaż, programowanie, aż do pierwszego startu w konkursie. Robot ma już swoje lata, lecz mimo to postanowiliśmy go tu opisać. Koncepcja i napęd robota Panujący obecnie w robotach sumo trend skłania do wyboru konstrukcji z dwoma kołami napędowymi. Roboty o takiej strukturze napędu są tanie w budowie, a przy tym zapewniają dobre przyleganie krawędzi tnącej ostrza do podłoża. Problemem w ich przypadku jest nieoptymalne przeniesienie ciężaru robota na podłoże oraz duży moment bezwładności robota. Konstrukcja z czterema kołami napędowymi jest mało popularna lecz rozwiązuje wiele problemów robotów wyposażonych tylko w dwa koła. Pierwszą zaletą jest możliwość zapewnienia przeniesienia prawie całego ciężaru robota przez opony. Kolejną zaletą jest przesunięcie środka obrotu robota do przodu oraz łatwość wpadania w poślizg robotem. Zalety te są nieznaczące w obliczu problemów z zamocowanym nieruchomo ostrzem. W przypadku gdy koła stanowią trzy niezbędne punkty podparcia bardzo trudno jest zamocować ostrze z taką dokładnością aby przylegało do podłoża. Zdecydowaliśmy się zaryzykować. Wybór padł na konstrukcję z czterema kołami oraz ruchome mocowanie ostrza - tak aby połączyć zalety struktur napędu z dwoma i czterema kołami. Szukając silników napędu kół robota wybór ograniczyliśmy do 3 firm oferujących jakościowo najlepsze mikrosilniki elektryczne na świecie - firm Maxon, Faulhaber i Portescap. Głównym ograniczeniem determinującym wybór silników do robota minisumo jest ich maksymalna długość. Zdecydowaliśmy że każde z kół będzie napędzane niezależnie, więc długość silnika wraz z przekładnią i enkoderem nie mogła przekroczyć 50 mm. Po przejrzeniu ofert wymienionych firm okazało się że najmocniejszą konfiguracją o wymaganych wymiarach są silniki Faulhaber 1717 006 SR wraz z przekładnią 16/7 14:1 oraz enkoderami IE2. Silniki te są marginalnie mocniejsze od popularnie stosowanych mikrosilników firmy pololu, lecz mają wielokrotnie większą żywotność. Zdarzały nam się sytuacje całkowitego zatrzymania wszystkich 4 silników na regulaminowe 3 minuty walki a silniki dalej pracują jak nowe. Mechanika Konstrukcja robota składa się z 11 elementów. Siedem z nich zostało zoptymalizowanych pod kątem wykonania metodami skrawania z aluminium, stali oraz węglika wolframu. Pozostałe 4 elementy zostały wydrukowane w technologii PolyJet. Głównym elementem konstrukcyjnym jest płyta centralna. Przykręcone do niej są: tulejki mocujące silniki, element mocujący ostrze, mocowania czujników robota przeciwnika oraz płytka drukowana sterująca robotem. Poniżej znajduje się jeden z siedmiu rysunków wykonawczych tego elementu. Element mocujący ostrze wykonano ze stali 40 HM utwardzonej do wartości 50 HRC. Dzięki temu wypolerowana powierzchnia trudno się rysuje, a przeciwnicy gładko prześlizgują się na zamocowane wyżej rogi. Element ten posiada oś obrotu oraz jest dociskany dwoma sprężynami - niezależnie z każdej strony. Sprawia to że ostrze dociśnięte jest równomiernie do podłoża. Ostrza które stosujemy są wykonane dla nas na zamówienie z węglika wolframu. Poniżej zdjęcie porównawcze tego ostrza ze starą wersją zintegrowaną z mocowaniem do płyty centralnej. Felgi robota mają średnicę 24 mm. Posiadamy kilka kompletów z poliamidu i kilka z aluminium. Nie zauważyliśmy większej różnicy w działaniu robota na różnych kompletach. Opony mają zewnętrzną średnicę 30 mm co daje grubość opon równą 3mm. Przetestowaliśmy wiele materiałów na opony od firmy Smooth-On: Mold Star 15, Mold Star 30, Mold Max 20, Vyta Flex 10, Vyta Flex 30, Vyta Flex 20. Ten ostatni wykazał najlepsze własności mechaniczne i jest przez nas aktualnie stosowany. Do mieszanki dodajemy czarny barwnik, co zwiększa nieco nieco lepkość opon. Waga robota waha się w zależności od zastosowanych felg i baterii od 460 do 495 gramów. Elektronika Płyta sterowania robota to laminat FR4 o grubości 0.8mm. By spełnić wymagania związane z fizycznym rozmieszczeniem układów na płytce, wykorzystaliśmy technologię produkcyjną umożliwiającą nam użycie ścieżek o szerokości 0.2mm oraz rastrze podobnej szerokości. Znajdujące się na płytce układy zapewniają prawidłową pracę robota w trybie domyślnym tj. walka na ringu (bez opcji wybierania taktyki i różnych trybów). Program robota wykonywany jest przez wcześniej wspomniany 32-bitowy mikrokontroler ST32F107R8T6. Został on wybrany ze względu na aż cztery dostępne timery, które są niezbędne do obsługi sygnałów z enkoderów silników. Na płycie sterowania znajdują sie również cztery mostki H, złącza od czujników przeciwnika sześć transoptorów i dwa stabilizatory napięcia na 3.3V i 5V. Moduł interakcji użytkownika z robotem stanowi płytka drukowana umieszczona pod górną pokrywą robota. Jest ona w znacznym stopniu mniej skomplikowana od płytki sterującej, niemiej jednak zawiera ona oddzielny mikroprocesor STM32F103CVT. Obsługuje on wyświetlacz OLED o rozdzielczości 128x64 piksele poprzez interfejs SPI. Wykrywa on również sygnał z zmieszczonego na płytce odbiornika podczerwieni oraz czterech przycisków stykowych. Dzięki przyciskom lub bezprzewodowo z pomocą pilota RC5 użytkownik jest w stanie włączyć robota i wybrać algorytm pracy robota wyświetlany na wyświetlaczu OLED. Komunikacja między górnym i dolnym mikroprocesorem odbywa się za pomocą interfejsu UART. Obie płytki drukowane są połączone ze sobą taśmą FFC. Zasilanie Zastosowaliśmy dwukomorową baterię litowo-polimerową, która przy maksymalnym naładowaniu daje 8.4V. Nie wyróżnia się ona niczym szczególnym poza rozmiarem i kształtem, który jest idealnie dopasowany do konstrukcji robota i wewnętrznego rozmieszczenia elementów. Pojemność baterii to 900 mAh Czujniki Sensorami umożliwiającymi wykrywanie przeciwnika są popularne Sharpy GP2Y0D340K. Są to czujniki IR o zasięgu do 40 cm. Są cyfrowe, tj. wskazują pojawienie się obiektu lub jego brak. W środku sensora umieszczony jest układ cyfrowy kondycjonujący otrzymaną wiązkę podczerwieni oraz emitujący cyfrowy sygnał wykrycia do mikrokontrolera. Zasilany jest wyłącznie 5V więc sygnał Vout również jest na tym poziomie. Fakt ten nie komplikuje układu, gdyż użyty mikrokontroler ma wejścia kompatybilne z 5V mimo, że sam jest zasilany na 3.3V. W celu skutecznego wykrywania przeciwnika umieszczono aż 6 sensorów ułożonych w konfiguracji: 2 patrzące do przodu, 2 pod skosem 45 stopni oraz 2 patrzące na boki robota. Jednostki obliczeniowe Dolna płytka zawiera główny procesor STM32F107 taktowany zegarem o częstotliwości 72 MHz. Zajmuje się przetwarzaniem informacji z czujników linii oraz przeciwnika, a także wysterowuje silniki korzystając z wbudowanych fabrycznie enkoderów magnetycznych i regulatora PID. Na górnej płytce znajduje się drugi procesor STM32F103 (również 72 MHz) zajmujący się obsługą wejścia/wyjścia czyli przycisków, wyświetlacza i wbudowanego odbiornika podczerwieni. Taki podział zadań pomiędzy dwa procesory wydaje się zbędny/przesadzony, lecz jest to pozostałość z pierwszych wersji robota.. Programowanie Do komunikacji z robotem użyto dwóch interfejsów: SWD (Serial Wire Debug) – szeregowa odmiana popularnego interfejsu JTAG. Umożliwia on programowanie oraz debugowanie mikrokontrolera sterującego. Do komunikacji między dwoma modułami (mikroprocesorami) oraz komunikacji komputer – mikroprocesor użyto interfejsu UART. Fizyczne połączenie robota z komputerem stanowi złącze MicroHDMI. Zostało ono wybrane ze względu na liczbę dostępnych pinów oferowane przez standard HDMI, trwałość mechaniczną i dostępność. Medium łączące wymienione interfejsy i komputer jest przejściowa płytka drukowana z standardowymi złączami dla programatorów. Rysunek poniżej przedstawia omawianą „przejściówkę”. Oprogramowanie Program dla robota pisany jest w języku C, z użyciem Standard Peripheral Library. W newralgicznych miejscach, aby przyśpieszyć kod, wykonywane są operacje bezpośrednio na rejestrach - dzięki temu został zachowany balans między czytelnością a wydajnością kodu. Jeśli chodzi o IDE, początkowo wykorzystywane było TrueSTUDIO Lite, lecz ze względu na swój limit wielkości programu wynikowego (32 kB?) byliśmy zmuszeni do przejścia na CoIDE. Silniki wysterowywane są regulatorem PID, lecz tak naprawdę tylko człon P jest aktywny. Zaimplementowany został pełny regulator PID, lecz okazało się, że na członie P robot zachowuje się dobrze i nie ma potrzby uaktywniać pozostałych współczynników. Magnetyczne enkodery wbudowane w silnik dostarczają aż 7168 impulsów na obrót, co zapewnia wysoką dokładność. Został wykorzystany wbudowany w STM32F107 interfejs dla enkoderów, dzięki czemu zliczanie impulsów sygnału kwadraturowego odbywa się niejako "w osobnym wątku" - nie są potrzebne przerwania, wystarczy odczytywać położenie koła ze wskazanego rejestru. Dzięki czterem czujnikom linii z przodu, możemy obliczyć w przybliżeniu kąt pod jakim podjeżdżamy do linii. Wystarczy prosta trygonometria - znamy odległość między czujnikami, znamy też dystans jaki robot przejechał od momentu zobaczenia linii zewnętrznymi czujnikami do momentu zauważenia jej czujnikami wewnętrznymi. Znając kąt pomiędzy osią robota a linią, możemy odpowiednio wykonać manewr wycofania się ku środkowi planszy. Odbiornik podczerwieni na górnej płytce służy nam głównie do odbierania sygnałów z pilotów sędziowskich. Zastosowaliśmy własny odbiornik przede wszystkim aby zaoszczędzić na miejscu, lecz również aby móc odbierać niestandardowe komendy dla robota, np. wskazówki dotyczące taktyki. Dzięki "deweloperskiej" wersji aplikacji Sumo Remote możemy wysyłać w zasadzie dowolny kod do robota - po dopracowaniu funkcja ta będzie dostępna publicznie. Monochromatyczny wyświetlacz OLED o rozdzielczości 128x64 umieszczony na górnej płytce umożliwia wybór taktyk, a także wyświetlanie informacji testowych. Nie posiada on wbudowanej czcionki, więc konieczna była implementacja wyświetlania własnych czcionek/obrazków. Aby zaoszczędzić miejsce w pamięci Flash procesora, obrazy kompresowane są algorytmem RLE za pomocą konwertera w postaci aplikacji na PC, po czym na robocie dekompresowane są w locie. Dzięki temu możemy użyć dużych i czytelnych czcionek, czy też schematycznych ikon obrazujących manewry robota. Krótkie demo działania wyświetlacza: (muzyka niestety nie jest odtwarzana z robota 😃). Po więcej szczegółów zapraszamy na naszą stronę: http://mcft.eu/_portal/page/knowledge_base/cat/6/Enova_MiniSumo#art_Enova_MiniSumo. Osiągnięcia Sezon 2013/2014: 1. miejsce na Roboxy 2014 w kategorii Minisumo 1. miejsce na Trójmiejskim Turnieju Robotów 2014 w kategorii Minisumo Deathmatch 3. miejsce na Trójmiejskim Turnieju Robotów 2014 w kategorii Minisumo 1. miejsce na Cyberbot 2014 w kategorii Minisumo Deathmatch 2. miejsce na Cyberbot 2014 w kategorii Minisumo 1. miejsce na Robot-SM 2014 w Göteborgu w kategorii Minisumo 1. miejsce na Ogólnopolskich Zawodach Robotów ROBOmotion 2014 w kategorii Minisumo 1. miejsce na Ogólnopolskich Zawodach Robotów ROBOmotion 2014 w kategorii Minisumo Deathmatch 1. miejsce na Robotic Tournament 2014 w kategorii Minisumo 1. miejsce na Robotic Tournament 2014 w kategorii Minisumo Deathmatch 1. miejsce na Copernicus Robots' Tournament 2014 w kategorii Minisumo 1. miejsce na Copernicus Robots' Tournament 2014 w kategorii Minisumo Deathmatch 1. miejsce na Robotic Arena 2013 w kategorii Minisumo Debel (z robotem Mirror Mateusza Paczyńskiego) 2. miejsce na Robotic Arena 2013 w kategorii Minisumo Enhanced 2. miejsce na Robotic Arena 2013 w kategorii Minisumo Classic 2. miejsce na Sumo Challenge 2013 w kategorii Minisumo+ 1. miejsce na Sumo Challenge 2013 w kategorii Minisumo 1. miejsce w konkursie robotów Gdańskich Dni Elektryki Młodych 2013 w kategorii Minisumo Sezon 2012/2013: 1. miejsce na Leś-Tech 2013 w kategorii Minisumo 1. miejsce na Roboxy 2013 w kategorii Minisumo 1. miejsce na CybAiRBot 2013 w kategorii Minisumo 1. miejsce na Robocomp 2013 w kategorii Minisumo 1. miejsce na ROBOmotion 2013 w kategorii Minisumo Deathmatch 1. miejsce na ROBOmotion 2013 w kategorii Minisumo 1. miejsce na Copernicus Robots Tournament 2013 w kategorii Minisumo Deathmatch 1. miejsce na Copernicus Robots Tournament 2013 w kategorii Minisumo 3. miejsce na Trójmiejskim Turnieju Robotów 2013 w kategorii Sumo² 1. miejsce na Trójmiejskim Turnieju Robotów 2013 w kategorii Minisumo 1. miejsce na Robotic Tournament 2013 w kategorii Minisumo 1. miejsce na RobotChallenge 2013 w Wiedniu w kategorii Minisumo 1. miejsce na Robomaticon 2013 w kategorii Minisumo 1. miejsce na T-BOT 2013 w kategorii Minisumo 1. miejsce na Robotic Arena 2012 w kategorii Minisumo Enhanced 2. miejsce na Robotic Arena 2012 w kategorii Minisumo Poniższy film prezentuje walki Enovy na konkursie RobotChallenge 2013 w Wiedniu: A tutaj kompilacja walk Enovy z konkursu Robocomp 2013 w Krakowie:
  10. Witam, chciałbym przedstawić mojego robota, minisumo. Jest to mój pierwszy robot tej klasy ale mam nadzieję, że nie ostatni 🙂 Nazywa się RaRis. Konstrukcje wykonałem na wakacjach. Podczas budowy opierałem się o ten artykuł. Bardzo chciałbym podziękować autorowi temu artykułu za kawał dobrej roboty ale też za pomoc na pw. W trakcie budowania robota nauczyłem się bardzo wielu rzeczy. Napisałem również swój pierwszy program w bascomie. Elektronika Elektronika jest dokładnie ta sama co artykule. Czyli: -Mikrokontroler atmega 8 -Dwa mostki L293D, -Dwa czujniki lini CNY70, -Sharp GP2Y0A41SK0F ( na razie jest jeden, ale w najbliższym czasie dodam drugi) -Zasilanie to pakiet li-pol Turnigy ( to z nim miałem najwięcej problemów, bo jak się później okazało zepsuła mi się ładowarka, przez co źle ładowało mi poprzedni akumulator ) Tutaj jest schemat: Mechanika -Dwa silniki pololu z przekładnią 30:1 -Mocowania wraz z śrubkami firmy pololu -Oraz oczywiście Koła tej samej firmy Obudowa Obudowa została wykonana z laminatu. Całość została pomalowana sprejem na czarno. Jej wymiary to 10x10cm i około 2-3cm wysokości. Cały robot waży około 270g. Nie jest to jakaś super przemyślany kształt, ponieważ miał on na początku wyglądać tak: Ale ostatecznie jest on prostokątny i ma inny kolor. Po prostu nie dałbym rady całej elektroniki tam upakować. Jest czarny, ponieważ ten kolor bardziej mi się podoba i jest mniej wykrywalny dla przeciwnika. Program Program jest nowy napisany przeze mnie w bascomie. Nie ma tam czegoś nadzwyczajnego, po prostu prosty program który każe robotowi jeździć po całym ringu w różne strony a gdy wykryje przeciwnika to go spycha. Tutaj dodaje jeszcze trochę zdjęć: I film: Podsumowując Ogólnie jestem bardzo zadowolony z mojej konstrukcji. Nie jest to robot który wygra zawody ale przynajmniej mogłem się czegoś nauczyć. O pieniądze wydane w robota (czyli około 350zł) też się nie martwię ponieważ w większości części użyje do następnej konstrukcji, np: silniki, koła, atmegę. Proszę również o waszą opinie, bardzo mile widziane komentarze 😃
  11. Witajcie! Z okazji przejścia tych dwóch stareńkich robotów na emeryturę (oraz dlatego, że zaraz sesja i szukam zajęć zastępczych) postanowiłem je opisać na forum. W wakacje między I/II klasą LO (2013) popełniłem trzy roboty minisumo. Pierwszy nazywał się Swift i wyglądał tak: Niestety robot nie działał najlepiej ze względu na kilka dość poważnych problemów konstrukcyjnych więc został dawcą dla nowego pokolenia złomków. Ze względu na to, że Swift był dobrze wyposażony (7 czujników przeciwnika i 4 moduły napędowe) postanowiłem zbudować dwa gorzej wyposażone klony: Bong i Bang. Z założenia miało to ułatwić obiektywne porównywanie skuteczności algorytmów i w razie kłopotów z jednym robotem w trakcie zawodów drugi nadal zostawał w grze 😉 W dodatku w ekstremalnej sytuacji teoretycznie miało być możliwe przełożenie płyt głównych między maszynami. Raz zdarzyło mi się z tej możliwości skorzystać w czasie RA 🤣 Chociaż szczerze mówiąc to nie wyszło mi to najlepiej bo do jednej z płyt był przymocowany tymczasowy ciężarek i przy ponownym ważeniu wyszło >500g i niestety musiałem poddać walkowerem walkę o III miejsce 👹 Przykładowy filmik z walki: Krótka specyfikacja techniczna robotów: - napęd: pololu HP 30:1 + felgi aluminiowe od użytkownika hungrydevil z odlanym ogumieniem silikonowym wedle własnego przepisu - zasilanie: li-po 7,4V 300mAh Dulasky, stabilizacja +5V na ldo - uC: ATmega644A - mostki H: TB6612FNG x 2 ze zmostkowanymi kanałami - czujniki przeciwnika: 4 x Sharp 40cm - czujniki linii: 4 x KTIR Roboty dodatkowo mogą zostać wyposażone w moduły rozszerzeń - miały wziąć udział w deblu ale konkurencja zniknęła równie szybko jak się pojawiła więc moduły nigdy nie powstały... Jak widać w elektronice nie ma absolutnie żadnej magii. Podobnie w sofcie. Są to dwa perfekcyjnie zwykłe minisumo. 🙂 Osiągnęły raz IV i raz II miejsce na RA. Na tegorocznym ostatni żywy bliźniak uległ usterce i dostał taki łomot, że aż przykro mi było na to patrzeć. I żeby nikt nie mówił, że są tylko do ozdoby: 😅 Teraz odrobina info o konstrukcji: chassis jest wykonane z mosiężnej blachy o grubości 1mm oraz płytki głównej PCB, które razem tworzą coś w rodzaju pudełka na akumulator i moduł rozszerzenia. Rozwiązanie okazało się skuteczne ale na dłuższą metę dość naiwne bo po ok 2 latach łupania na zawodach konstrukcje były już lekko wypaczone. Połączenia miedzy mosiężnymi elementami były lutowane bądź śrubowane. Usunięcie akumulatora odbywa się poprzez podnoszoną na zawiasie i blokowaną magnesem neodymowym tylną klapkę. To też się w miarę sprawdziło ale nienawidziłem tego rozwiązania ponieważ podczas intensywnego testowania szybko mi się kończyła skóra na palcach 😋 Lemiesz jest pieczołowicie wypilniczkowany i wyfrezowany z mosiężnej blachy - ostrzony na brzytwę poprzez długotrwałe jeżdżenie robotem po drobnym papierze ściernym. (nie przepadałem za tą procedurą 😋 ) Kilka zrzutów z Inventora: Kilka słodkich zdjęć: I elektronika... Jest tak zwykła na ile to możliwe. Podzespoły są w SMT. Projekt powstał w Eagle. Mozaikę ścieżek przeniosłem przy pomocy papieru kredowego i laminatora na sterydach. Soldermaska została wykonana tajemną techniką robiącą użytek z lakierów do ceramiki firmy Pebeo, piekarnika spoży... przemysłowego oraz pędzelka i drobnego frezu. Schemat: PCB: Od kilku lat nie zbudowałem nowego minisumo chociaż zabierałem się do tego kilka razy między większymi projektami - głównie z sentymentu. Problem polega na tym, że w tej konkurencji od tak dawna nic się nie zmieniło, że stała się już zwyczajnie monotonna. Nostalgia za przepychającymi się kupami złomu i kabli jest brutalnie rozjeżdżana przez błyszczące w blasku fleszy żelazka na czujnikach Sharp, silniczkach Pololu i mostkach TB. Z kolegą postanowiliśmy zorganizować niewielki powiew świeżości i za jakiś czas pojawi się on na zawodach pod nazwą Jakul. 😉 Na wszystkie pytania chętnie odpowiem w komentarzach. 😃
  12. Robot kategorii MiniSumo. Powstał jako realizacja projektu zaliczeniowego na jeden z przedmiotów na studiach. Jego efektem był robot NiGa, którym wzięliśmy udział w RoboticArena2012. Nie udało się wtedy wejść do rozgrywek finałowych, jednak dzięki zdobytemu doświadczeniu i przetestowaniu robota w boju wiedzieliśmy jakie są wady, co należy zmienić, dodać itd. Tak powstała Antiga. Podwozie stanowi blacha stalowa o grubości 5mm. Wyfrezowane zostały 4 "sloty" na KTIR'y (jednak zamontowane są tylko 2 z przodu) do wykrywania białego obrzeża dohyo. Przód ma postać klina. Nadwozie zostało wydrukowane z tworzywa ABS na drukarce 3D RepRap. Posiada wszystkie niezbędne otwory na czujniki, złącze programowania, gniazdo modułu startowego, włącznik, przyciski oraz okienko nad 4 LEDami. Czujniki zastosowane w robocie to już wspomniane 2 czujniki odbiciowe KTIR0711S, a do wykrywania służą 4 dalmierze cyfrowe Sharp GP2Y0D340K. Dwa patrzące do przodu oraz dwa patrzące na boki. Zastosowany mikrokontroler to ATmega16A taktowana zegarem 16MHz. Program zajmuje jakieś 10-15% pamięci FLASH. UI stanowią 4 LEDy oraz 2 microswitche. Zasilanie z LiPo 2S 850mAh. Napęd to dwa mikrosilniki Pololu z przekładniami 30:1. Koła o średnicy ~30mm w całości (felgi + odlanie opon) wykonane przez hungrydevila z GROMu. Na RA2012 oraz na Robomaticon2013 mieliśmy jeszcze koła Solarbotics RW2i. Mostki-H nimi sterujące to 2 układy Toshiby TB6612FNG ze zmostkowanymi kanałami. Sukcesy: II miejsce w kategorii MiniSumo (Classic) - SumoChallenge2013 I miejsce w kategorii MiniSumo Classic - RoboticArena2013 I miejsce w kategorii MiniSumo Enchanced - RoboticArena2013 II miejsce w kategorii MiniSumo - Robomaticon2014
  13. Witam. Po dłuższym czasie mojej nieobecności na forum postanawiam przedstawić mojego (z kilku na które przyjdzie czas by je zaprezentować ) robota. Zwie się on FRodo i jest robotem o niekonwencjonalnej budowie. Strona techniczna FRodo posiada przekładnię Tamiya i gąsienice pololu. Mimo tak słabego napędu robot mało co nie rwie gruntu dzięki ustawieniu go na najmniejsze przełożenie i dołożenie mu mocniejszych silników. Podwozie to płyta główna na której znalazły się tradycyjne mostki L293Dx2, sharp 340K oraz atmega32. Brakuje tam czujnika odbiciowego ale to sprawia że robot niczego się nie boi. Nad podwoziem znajduje się owa przekładnia ,bateria(500mAh) ,trochę ołowiu i coś czego jeszcze nie było w żadnej maszynie czyli podnośnik. Znajduje się tam także 3-kierunkowy przełącznik z cd-roma do wcześniejszego wpisania do pamięci gdzie znajduje się przeciwnik. Podnośnik i wola powstania Siedząc raz na lekcji wpadłem na pomysł jak przeważyć na przeciwnikiem przy użyciu serwa i kawałka laminatu. Wykonałem na szybko płytę główną. Ze złomu znalezionego z rozebranych starych robotów zmontowałem nowe podwozie o wysokości 3,5cm i zainstalowałem serwo po czym doczepiłem do niego kawałek laminatu.Tak oto powstał FRodo wtedy jeszcze figurujący pod nazwą player1. Po kłopotach z silnikami w przekładni oraz znacznej modyfikacji tej maszyny nazwałem go FRodo. Tryb koło włącznika funkcjonuje jako łożysko do podnośnika aby serwo zbytnio się nie męczyło. Oprogramowanie Soft został napisany w bascomie zajmuje on 25% pamięci. Kod ma ponad 550 linijek i zakłada on wliczanie kontu przyłożenia oraz tworzy tablicę obecności przeciwnika właśnie z takiego powodu mam tylko jeden czujnik ponieważ przy większej ilości musiał bym strwożyć nowe tablice danych a gromadzenie większej ilości danych zabiera takty procesora i wymaga bardziej rozbudowanego kodu. Skrypt ten zastosowałem w obydwu moich nowych minisumo i obydwa nie powalają sposobem wykonania ale za to dostały się do półfinałów. Pod podnośnikiem znajduje się deska rozdzielcza na której znajdują się złącza jednym z nich jest rs232. Podłączam do niego moją elektroniczną ściągę i mogę zmieniać wypełnienie PWM oraz wprowadzać wartości rożnych zmiennych takich jak współrzędne na dohyo. Wnioski z budowy robota Ogólnie jestem zadowolony z maszyny. Fakt że wydałem na niego tylko 60zł jest tym śmieszniejszy że odbywając 3 walki z robotem Enova wygrałem 2 więc śmiało stwierdzam że ta maszyna jest czarnym koniem zawodów 😃 w Rzeszowie. W przyszłości dołożę więcej czujników i wymienię podnośnik na metalowy. Poniżej dodaję zdjęcia.
  14. Witam, Chciałbym przedstawić mojego robota minisumo. Jest to moja druga konstrukcja tego typu, pierwszej nie prezentowałem gdyż nie była tego warta(choć i t nie jest wolna od wad). Ale do rzeczy. Mechanika Konstrukcja nośna oparta jest o laminat, pocięty przy pomocy miniszlifierki i polutowany. Napęd stanowią 4 silniki Pololu 50:1 z kołami z aluminium z sylikonowymi oponami Elektronika Sterowaniem zajmuje się atmega32, która współpracuje z takimi układami jak: 4 mostki TB6612 (po jednym dla silnika), MBI5026GF (sterownik diod, które obrazują prace czujników) oraz LM339 (komparator obsługujący 4 czujniki podłoża). Płytka zaprojęktowana została samodzielnie w Eagle'u i wyprowadzone zostały na niej oprócz SPI także złącza ISP i USART oraz przeprowadzone napięcia ze złącza balance baterii. Płytka nie wyszła do końca taka jak planowałem, a zwłaszcza estetycznie. Dla dociekliwych: Taki szary zaciek na spodniej stronie to klej którym musiałem oblać kable przyłączeniowe baterii bo miały tendencję do obłamywania. Na stronie wierzchniej to dziwne coś obok elementu w pomarańczowej koszulce termokurczliwej to wspomniany LM339(lepiej widać na całościowym zdjęciu konstrukcji). Wlutowany zgodnie z projektem komparator smd odmawiał posłuszeństwa zaszła więc potrzeba jego wymiany. Ponieważ jednak robot miał działać na zawody, przesyłka z układem nie dotarłaby na czas a w lokalnym sklepie była tylko wersja dip konieczna była taka modyfikacja. Elektronika generalnie działa choć czasami jest problem z zakłóceniami. Przy silnikach mam już po 4 kondensatory 100nf ale i tak czasami, choć rzadko następuje reset uC. Co do rozwoju robota pod względem elektroniki to planowałem panel operatorski z wyświetlaczem od Nokii 3310, który pozwalałby na start z pilota, podejrzenie wartości z czujników, sprawdzenie stanu baterii czy ustawienie prędkości silników. Do wspomnianego panelu powstał nawet projekt pcb i część oprogramowania ale projekt z braku czasu nie został skończony. Oprogramowanie Napisane w całości w C. Robot startował w zawodach na UTP w Bydgoszczy gdzie uniwersytet udostępnia oprogramowanie dla zawodników(zawody dla początkujących) skorzystałem więc z tego gotowca 🙂 dostosowując tylko funkcje obsługi silników i niektórych czujników do swoich potrzeb. Generalnie do zmiany została tylko obsługa MBI5026 bo nie obsługuje wszystkich dostępnych dód. Czujniki Robot posiada 6 czujników przeciwnika i 6 czujników podłoża. Z przodu jak i z tyłu pracują 2 analogowe Sharp'y jako czujniki przeciwnika i 2 Qrd1114 jako czujniki linii. Po bokach natomiast pracują Sharp cyfrowy i Qrd po lewej jak i prawej stronie. Co do zasięgu czujników przeciwnika to wiem tylko, że cyfrówki mają 40cm analogowych natomiast nie znam bo je dostałem i nie sprawdzałem w dokumentacji. Z tego co jednak zauważyłem analogi mają niższy zasięg. Zasilanie Robot zasilany jest z pakietu 2S 7.4V 900 mAh. Posiadam 2 takie pakiety, które pracują na zmianę. Zdjęcia konstrukcji Podsumowanie Najbardziej jestem zadowolony z konstrukcji mechanicznie. Robot na swoich 4 silnikach jest silny a i wydaje mi się, że udało mi się wszystko dość sensownie upchnąć. Humor psują mi trochę te rzadkie ale niechciane resety no i niezbyt profesjonalny wygląd elektroniki. W planach miałem stworzenie nowego pcb ale w tym roku kończę szkołę, dla której robot powstawał a z braku czasu raczej już nic nie zdążę zrobić. Dlatego też zdecydowałem się zaprezentować tą konstrukcję. MOV20130620_003.avi
  15. Witam ! Co prawda robota skończyłem już dawno ale ponieważ wysłałem projekt do szkoły konstruktorów EDW to wstrzymałem się z publikacją. Ponieważ projekt nie został w żaden sposób opublikowany (otrzymałem tylko informacje że został przyjęty) to postanowiłem opisać go tutaj. Generalnie opis budowy był prowadzony w worklogu który znajduje się tutaj Robot to klasyczna "kostka" o wymiarach 9x9x10 robot waży około 300g więc ma sporo "niedowagi" co było chyba jego kluczowym mankamentem. Konstrukcja do laminat+dystanse mosiężne (całkiem fajne rozwiązanie możemy wszystko rozłożyć na czynniki pierwsze). To może teraz mała specyfikacja: ➡️ Napęd: dwa serwa standard 50g marki Hobby King ➡️ Zasilanie li-po 2S 1000mAh ➡️ Koła: Nakrętki po miodzie o średnicy 8cm naciągnięte na nie są opaski na rękę ➡️ "Mózg" ATmega 8 taktowana kwarcem 8Mhz ➡️ Mostek: L298 ➡️ Czujniki przeciwnika: 2x Sharp cyfrowy 40cm ➡️ Czujnik Linnii 4x KTIR0711S Rysunek podglądowy konstrukcji: Schemat: Płytka: Mocowanie serw Kilka innych ujęć : Jak już wspominałem konstrukcja jest bardzo typowa po więcej detali zapraszam do odwiedzenia Worklogu. Chyba jedyną innowacją jest opuszczanie klina który zrealizowałem elektromagnetycznie a nie jak w większości tego typu konstrukcji grawitacjnie I na koniec Jeszcze dynamiczne ujęcie z zawodów : Widać na nim jak mój robot dostaje baty od Hakera II zbudowanego przez użytkownika klonyyy... Zapraszam do komentowanie nie wiem co jeszcze mogłoby was zaciekawić... Płytka.pdf
  16. FlyingMamut to nasz pierwszy robot. Założenia były takie żeby na nim się nauczyć. Robot był rozwijany od września 2012 do maja 2013. Dzięki udziałowi w międzyczasie w zawodach udało się w miarę możliwośći projekt na tyle poprawić że na ostatnich zawodach - Robocomp 2013 zajęliśmy 3 miejsce. Projektowanie Robot nie był jakoś szczególnie projektowany. Wykonaliśmy kilka szkiców i obraliśmy ogólną koncepcję. Robot miał być kostką, a z przodu miała wysuwać się tzw "Łapa" czyli blaszka pełniąca rolę klina. Jeśli chodzi o elektronikę to założyłem płytkę 1 stronną o wymiarach zbliżonych do 10x10, w technologii przewlekanej (2,54mm). Schemat i płytki Schemat i płytki zostały wykonane w Eaglu. Płyta głowna ma dosyć duży rozmiar, który na pewno mógłbły być mniejszy gdyby płytka była dwustronna. Dodatkowo zaprojektowałem osobne płytki dla elementów potrzebnych dla czujników CNY70 oraz Sharp 10 i 5 cm. Od tych czujników do głównej płytki biegną 3 żyłowe przewody. Elektronika Postawowe elementy wykorzystane w układzie to: 1. Procesor Atmega 16 - sterowanie całym robotem 2. 5 czujników 40 cm Sharp GP2Y0D340K - czujniki przeciwnika ustawione pod kątem 45 st. tak że pokrywają kąt widzenia 180 st. 3. 4 czujniki linii - CNY70 - do wykrywania linii oczywiście. 4. 2 czujniki 10 cm Sharp GP2Y0D810Z0F oraz 2 czujniki 5 cm Sharp GP2Y0D805Z0F. Czujniki te początkowo miały służyć dla wykrywania celów pod "łapą". Obecne informują że robot jest w zwarciu i pomagają reagować odpowiednio. 5. L298N - dwukanałowy mostek H dla silników głównych, sterowany sygnałami PWM z procesora 6. Jednokanałowy mostek H L293D, początkowo używany dla sterowania silnikiem łapy a następnie silnika otwierania skrzydeł. Sterowany zero-jedynkowo z procesora. 7. Stabilizator napięcia LM7805 dla zapewnienia 5V zasilania dla układów. Płytka została zrobiona medotą domową (termotransfer), podobnie jak lutowanie. Nadspodziewany rozmiar diod 1N5822 sprawił, że musiały one zostać powyginane w artystyczny sposób 🙂 Generalnie elektronika spełnia dobrze swoje zadania, chodź korzystając z technologii powierzchniowej i płytki dwustronnej można by dużo miejsca zaoszczędzić. Nie została ona w żaden sposób zmodyfikowana od początku istnienia robota. Zasilanie Zdecydowaliśmy się na zasilanie 11,1 V z 3 celowego pakietu Dualsky. Początkowo był to pakiet 800 mAh, a następnie daliśmy wersję 400 mAh która w zupełności wystarcza a jest dużo mniejsza. Odpowiednie napięcie dla układów elektronicznych (5V) zapewnia stabilizator liniowy. Jeśli chodzi o silniki to PWM tak dobiera napięcie średnie aby ich nie spalić (max 9V). Mechanika Podstawa robota wykonana jest z stalowej blachy wycinanej poprzez cięcie wodą i odpowiednio powyginanej. Górna obudowa wykonana jest z cieńskiego aluminium. Materiały zostały wzięte z przedmiotów codziennego użytku typu tace itd. Silniki główne to kultowe Pololu 50:1. Są one bardzo dobre dla potrzeb Minisumo. Niestety było z nimi najwięcej awarii - dwa już się spaliły :/ Silniki początkowo zajdowały się w przedniej części robota, a obecnie znajdują się z tyłu, co bardzo poprawiło przyczepność podczas zwarcia, dzięki czemu robot nie daje się tak łatwo przepchnąć. Silniki i akumulator umieszczone są na spodzie robota a nad nimi płytka z elektroniką. Z przodu w rogach obudowy znajdują czujniki linii, jeden znajduje się z tyłu. W ostatecznej wersji przód robota uformowany jest w tzw. klin. Klin ma dość stromy kąt ze względu na duże rozmiary płytki z elektroniką. Początkowo wykorzystywaliśmy koła Pololu ale zupełnie nie spełniały one swojej funkcji. Robot pływał nawet przy niewielkich zakrętach. Obecnie sami odlewamy koła z silikonu co bardzo poprawiło przyczepność robota. Łapa Łapa w zamyśle miała służyć to podcięcia i wyrzucenia innych robotów z ringu. Niestety jej zamysł niezbyt się sprawdził. Przed walką znajdowała się pod robotem i następnie przy starcie walki była wysuwana poprzez silnik Pololu 1000:1 na którego był osadzony nagwintowany pręt. Położenie łapy było kontrolowane przez dwa styczniki informujące o skrajnych położeniach. W momencie wykrycia wjazdu przeciwnika na łapę (czujniki 5cm) miała ona możliwość podniesienia się pod kątem 45stopni. Niestety niezbyt to działało przy obciążeniu, a dodatkowym problemem był fakt że roboty z dobryk klinem wbiłały się pod łapę. Skrzydła Skrzydła są elementem podpatrzonym na filmikach z zawodów w Japoni. Mają one w zamyśle zmylać czujniki przeciwnika, podobnie jak płahta działa na byka 🙂 Skrzydła przed walką są w pozycji pionowej tak aby zmieścić się w obrysie 10x10 cm a następnie są rozkładane poprzez wyciągniecie zawleczki przez silnik umieszczony na obudowie robota. Były one rozwijane w kilku fazach. Poszczególne elementy takie jak system otwierania, ich ułożenie, amortyzatory były kilkakrotnie ulepszane. Skrzydła na pewno w niektórych walkach pomogły, a pozatym są charakterystycznym elementem robota zapewniającym jego rozpoznawalność. Początkowy wygląd robota Robot w wersji końcowej Program Program stworzony jest w oparciu o konkretne reguły odpowiadające staną czujników oraz stanowi logiki. Na podstawie stanu czujników i stanu obecnego ustalany jest stan następny. Program został napisany w języku C.Używałem WinAVR. Programuję przez USBAsp. Do debugowania programu używam złącza RS-232, którego moduł z układem MAX232 podpisany jest dodatkowo do robota. W przyszłości planujemy skorzystać z modułów radiowych lub bluetooth. Podsumowanie Mimo wiadomych wad, jesteśmy zadowoleni z tego robota. Na pewno pozwolił on się nam dużo nauczyć i rozwinąć jako konstruktorzy robotów. Dzięki modyfikacją z zawodów na zawody stawał się coraz lepszy i udało się w końcu stanąć na podium. Zdajemy sobie oczywiście sprawę, że nie jest w stanie rywalizować z robotami z najwyższej półki. Mimo to robot będzie startował w kolejnych zawodach, przynajmniej do momentu aż powstanie nasz następny minisumo.
  17. Witam wszystkich Dzisjaj chciałbym przedstawić moją konstrukcję - robota minisumo. Powstał on ponad rok temu, ale dopiero teraz znalazłem chwilę aby przedstawić go forumowej społeczności 🙂 Niestety do tej pory nie startował on w żadnych zawodach, ze względu na brak czasu choć możliwe, że niedługo uda mi się pojawić na jakiś zawodach. Głównym celem dla którego wiesio został powołany do życia była chęć zdobycia doświadczenia w projektowaniu układów elektronicznych i mogę śmiało powiedzieć, że podczas pracy nad tą konstrukcją zdobyłem naprawdę dużo doświadczenia. Niestety ze względu na wcześniejszą awarie komputera utraciłem wszystkie pliki które utworzyłem podczas projektowania łącznie ze schematem, projektem płytki i rysunkami. 1.Mechanika "zbroja" czyli obudowa robota została zaprojektowana w programie google sketchup, ale ze względu na problemy podczas eksportowania plików .DXF z tegoż programu, musiałem przeprosić się z inventorem i ostatecznie w inventorze wygenerowałem pliki .dxf który był potrzebny do wycięcia obudowy laserem. Wykonana jest ona z blachy aluminiowej(a dokładniej stopu 6061, czyli najtańszego 🙂 ).Następnie została ona powyginana w warunkach domowych do aktualnego kształtu . W wypadku silników, kół i mocowań do tematu podszedłem dośc mało ambitnie(delikatnie mówiąc).Silniki to pololu Hp z przekładnią 1:50, koła również z pololu zazwyczaj spotykane w linefollower-ach, prawdę mówiąc średnio nadają się do minisumo, ale jako że na zawodach jeszcze nie zagościłem to nie mogłem sprawdzić ich w boju .Mocowania silników jak widać są trochę patenciarskie, ale to ze względu, że jedno z oryginalnych mocowań zaginęło w ferworze pracy i niestety do tej pory figuruje na liście zaginionych. Jednak w razie gdyby robot miał startować w zawodach to jest możliwośc zamontowania oryginalnego mocowania bo choć te opaski na ktorych aktualnie tryzmają się silniki sprawują się nadzwyczaj dobrze to w przypadku konfrontacji z innymi robotami to nie wymagał bym od nich cudów. Elektronika: elektronika byłą częścią której poświęciłem najwięcej uwagi i czasu płytka została zaprojektowana w programie eagle, a następnie wykonana w satlandzie. Choć starałem się ją zaprojektować bez błędów to niestety wkradł się jeden mały chochlik przy gnieździe ISP ze względu na to, że nie doczytałem że atmega128 której użyłem ma troszkę inaczej wyprowadzone piny do programowania niż większość mikrokontrolerów z rodziny ATMEGA Procesorem który steruje wiesiem jest atmega128, ale jest to strzelanie do muchy z armaty i spokojnie wystarczył by jakiś zdecydowanie mniejszy, no ale chociaż nie miałem problemów z wyroutowaniem płytki. Czujniki przeciwnika to 2 sharpy cyfrowe (GP2Y340K) o zasięgu do 40cm, przydało by się ich trochę więcej, ale niestety są troszkę drogie i ostatecznie zdecydowałem się na dwa. Czujniki linii to typowe dla takich konstrukcji transoptory odbiciowe (KTIR340K) podłączone za pomocą komparatora do mikrokontrolera co w zamyśle miało odciązyć mikrokontroler od obsługi przetwornika AC, ale prawdę mówiąc w przypadku mojego robota to rozwiązanie ma więcej wad niż zalet a to ze względu na to, że przedni i tylny czujnik są w innej odległości nad podłożem przez co cięzko jest ustawić odpowiedni próg za pomocą potencjometru(jest tylko jeden na wszystkie kanały).Aha no i jak widać na zdjęciach czujniki są troszkę głupio rozmieszczone bo wkońcu doszedłem do wniowsku, że lepiej by było gdyby były w narożnikach. energie wiesiowi zapewnia akumualtor litowo-polimerowy o napięciu znamionowym 11,1V i pojemności 500mAh.Silniki zasilane są bezpośrednio z akumulatora a częśc cyfrowa zasilana jest z 3 stabilizatorów z których jeden zasila procesor, drugi mostki H i czujniki a trzeci zapewnia napięcie 3,3v dla akcelerometru. Silnikami sterują mostki H TB6612 po jednym na silnik (kanały zostały połączone dla zwiększenia prądu ktorym mogą sterować). Na płytce znajduję się również akcelermetr który miał służyć do wykrywania zderzeń z przeciwnikiem ale nie został on jeszcze oprogramowany. Do głównej płytki za pomocą taśmy FFC podłączana jest płytka na której znajdują się 4 diody LED i 2 przyciski służące do sterowania robotem . Wyprowadziłem również złączne na którym dostępny jest UART gdzie można podłączyć moduł bluetooth. Software: Program był częscią której poświęciłem zdecydowanie najmniej uwagi i prawdę mówiąc to jest częśc którą można by jeszcze dopracować i dlatego narazie go nie publikuje, ale jeśli ktoś by chciał to mogę go przesłać. Podsumowanie: Jak widać w konstrukcji można by dużo poprawić, ale na usprawiedliwienie powiem, że był to mój drugi robot, wcześniej zbudowałem prostego linefollowera i konstrukcja wiesia była jak na tamten czas dośc dużym wyzwaniem któremu udało mi się sprostać i mimo wszystko jestem z tego projektu zadowolony, ponieważ spełnił on podstawowe zadanie jakim było zdobycie doświadczenia co pozwoli na ulepszenie konstrukcji w przyszłości 🙂 filmiki dodam jutro, ponieważ dziś nie miałem dostępu do aparatu z kamerą pozdrawiam __________ Komentarz dodany przez: Treker Temat poprawiłem i opublikowałem.
  18. Przedstawiam Wam robota „Rush” klasy minisumo. Prace nad nim rozpocząłem w listopadzie w 2012r. i po ok. 5 miesiącach konstrukcja była gotowa. Pierwszym turniejem robota miał być Robomaticon, lecz z powodu awarii silnika nie mogłem wystartować. A teraz kilka słów o nim... Elektronika Całość elektroniki znajduje się na jednej płytce, która stanowi jednocześnie podstawę konstrukcji. Mózgiem robota jest procesor Atmega32 o taktowaniu zewnętrznym 16MHz. Jako czujnik przeciwnika wykorzystane zostały czujniki cyfrowe Sharp o zasięgu 40cm, ułożone w półokręgu, jeden patrzący w przód, dwa pod kątem 45° i 2 patrzące na boki. Do wykrywania linii służą cztery KTIRy, dwa z przodu i dwa z tyłu, podłączone do procesora przez komparator. Do zatrzymywania robota służy odbiornik TSOP. Sterowaniem silników zajmują się dwa mostki TB6612, po jednym na silnik. Robot zasilany jest z pakietu Li-pol 2S 700mAh. Płytka została wykonana w firmie Satland Prototype. Mechanika Podstawą konstrukcji jest płytka z elektroniką o grubości 1,5mm, do której przymocowane są silniki i metalowa obudowa. Robot napędzany jest dwoma silnikami Pololu HP 30:1. Koła składają się z felg wykonanych metodą druku 3D oraz opon odlanych z silikonu. Robot waży 470g. Program Program napisany został w bascomie. Robotem steruje regulator P. Osiągnięcia 3. miejsce – ROBO~motion 2013 Rzeszów Podsumowanie Ogólnie jestem zadowolony z konstrukcji, choć zawiera ona kilka niedociągnięć. Założenia zostały spełnione, nabrałem nowego doświadczenia, które na pewno przyda się przy budowie kolejnego robota. Zapraszam do zadawania pytań. 😉 Zdjęcia Filmiki (po więcej filmików zapraszam na kanał)
  19. Prezentuję moją najnowszą konstrukcję. Jest to robot klasy minisumo "Jeżyk". Jest to robot napędzany dwoma mocnymi silnikami firmy Dunkermotoren, poruszający się na gąsienicach i wyposażony w 8 czujników linii, 16 czujników przeciwnika, enkodery, układy do pomiaru poboru prądu i napięcia oraz ciekawy interfejs użytkownika. Robot posiada zwartą, solidną konstrukcję i estetyczny wygląd. PROJEKT: Projekt robota jak większość moich projektów wykonany został przy pomocy dwóch programów: Autodesk Inventor oraz Altium Designer. Nie będę się tu rozpisywał na temat projektu, przedstawię tylko efekty mojej pracy oraz przedstawię kilka pomysłów, które wykorzystałem. Płytki zderzaków oraz płytki boczne robota zostały ukształtowane tak, aby robot nie tracił przyczepności nawet gdy zostanie uniesiony. Płytki boczne dodatkowo ukształtowane są tak, że chronią gąsienice i utrudniają zaklinowanie koła klinem przeciwnika (rysunki poniżej). Na rysunku poniżej widać jak dzięki projektowaniu trójwymiarowemu i przeniesieniu całego projektu z Inventora do Altium Designera (a później z powrotem do Inventora) mogłem bardzo dokładnie rozmieścić elementy. Widać jak blisko są elementy umieszczone silników i przekładni. Czujniki linii zostały rozlokowane po dwa na każdym narożniku robota (strzałki wskazują czujniki na rysunkach poniżej). Dzięki czemu uzyskałem dużą odporność na uszkodzenia mechaniczne czujników, jak jeden zostanie uszkodzony to działa jeszcze drugi. Jeden z czujników został umieszczony pod kątem, dzięki czemu wykrywa on białą linię o kilkanaście milimetrów wcześniej niż czujnik skierowany prostopadle do podłoża. Pozwala to na osiąganie przez robota większych prędkości, ponieważ zwiększa się odległość jaką może wykorzystać robot na wyhamowanie przed krańcem ringu. Robot został wyposażony w 12 czujników Sharp GP2Y0D340K. Rozlokowane zostały ona tak, że każdy kolejny czujnik obrócony jest względem poprzedniego o 30 stopni. Tak duża ilość czujników pozwala zminimalizować martwą strefę, czyli powierzchnię ringu na, której może znajdować się robot przeciwnika niezauważony przez mojego robota. Ponieważ czujniki z przodu i z tyłu robota zostały umieszczone dość wysoko (ok 35mm, w przeciwieństwie do czujników umieszczonych bardzo nisko po bokach między kołami), robot został wyposażony w dodatkowe cztery czujniki przeciwnika zbudowane na bazie układów Sharpa IS471F umieszczonych na płytkach zderzaków nisko z przodu i z tyłu robota. Rozmieszczenie czujników przedstawione jest na rysunkach poniżej. Zderzaki robota zostały zaprojektowane tak, aby można było na nich zamontować kliny w formie blachy jak i w wformie kolców (widok poniżej). Przedstawione poniżej projekty płytek drukowanych mają na celu zaprezentowanie jak dokładnie można odwzorować w projekcie rzeczywisty układ (i przy okazji pochwalenie się efektami mojej pracy 🙂 ) Płyta główna: Na płycie głównej robota zostało umieszczonych większość elementów: procesor, układ zasilania, mostki H, większość czujników, układ pomiaru prądu i napięcia, akcelerometr, odbiornik IR, klawiatura, złącza do pozostałych modułów (płytek), złącze programowania (tylko 4 styki), diody RGB, złącza do silników i włącznik. Płyta główna mocowana jest do robota za pomocą czterech czernionych śrubek M2. Do płytki przylutowane zostały 4 kabelki silikonowe zakończone konektorami (osłonięte koszulkami termokurczliwymi) do podłączenia silników. Moduł: Płytka modułu mieszczonego nad płytą główną została zaprojektowana tak, aby w jej miejsce można było zaprojektować inny moduł,. Np. Zwiększający możliwości robota lub z wyświetlaczem OLED. Na górnej stronie płytki umieszczone zostało 10 diod RGB oraz zbudowane z pojedynczych czerwonych diod LED 3 wyświetlacze siedmiosegmentowe. Na spodzie płytki umieszczony został moduł Bluetooth BTM-220 wraz z anteną. Płytki boczne: Płytki boczne zostały zaprojektowane tak, że lewa i prawa płytka są identyczne. Zostały na nich umieszczone dwa czujniki linii zamontowane na brzegu płytki i umieszczone pod kątem 45 stopni do podłoża, czujniki optyczne przetwornika obrotowo-impulsowego oraz jeden czujnik przeciwnika. Na płytce tej przewidziane zostały również otwory do zamontowania silników oraz miejsca na wlutowanie nakrętek M2 do których przykręcona zostaje płyta główna oraz klapka akumulatora. Zderzaki: Na płytach zderzaków zostały umieszczone dwa czujniki IS471F wraz z diodami nadawczymi oraz dwa czujniki linii. Dodatkowo na płytce umieszczone zostały pola lutownicze do których przylutowane zostały nakrętki M2, do których z kolei przykręcane są kliny robota. Klapka akumulatora: Efekt po wyeksportowaniu płytek z Altium Designer z powrotem do Inventora: ELEKTRONIKA: Do sterowania robotem wybrałem jeden z najnowocześniejszych mikrokontrolerów ośmiobitowych, mikrokontroler firmy Atmel z serii AVR ATXmega128A1. Wyposażony jest on w 128 kilobajtów pamięci flash, 8 kilobajtów pamięci SRAM oraz 4 kilobajty pamięci EEPROM. Zasilany jest napięciem z zakresu 1,6-3,6 wolta i może pracować z częstotliwością do 32 MHz. W projekcie wykorzystana została wersja mikrokontrolera w stu pinowej obudowie TQFP. Posiada on 78 programowalnych linii wejścia/wyjścia które w całości zostały przeze mnie wykorzystane. Mikrokontroler ten programowany jest poprzez interfejs PDI, który wymaga tylko podłączenia dwóch pinów mikrokontrolera (RESET/PDI_CLOCK oraz PDI_DATA) oraz zasilania (Vcc i GND). Do zasilania robota został wybrany akumulator o napięciu nominalnym 11,1 V, zbudowany z trzech ogniw litowo-polimerowych. Akumulator został umieszczony pomiędzy silnikami robota i mocowany jest przy pomocy przykręcanej klapki wykonanej z laminatu. Współcześnie większość elementów elektronicznych wykorzystywanych w zastosowaniach amatorskich (amatorskim zastosowaniem jest właśnie robot minisumo) zasilanych jest napięciem 3,3 V lub 5 V. W zbudowanym robocie wykorzystywane zostały elementy zasilane zarówno napięciem 3,3 V (m.in. mikrokontroler) jaki i 5 V (m.in. czujniki Sharp). Aby zminimalizować straty mocy podczas obniżania napięcia zasilania w układzie zasilacza zastosowane zostały przetwornice impulsowe. W układzie zasilania pracują dwie przetwornice ST1S10, jedna obniża napięcie do wartości 5V druga zaś do wartości 3,3 V. Przetwornica ST1S10 pracuje z częstotliwością nominalną 900 kHz i ma sprawność do 90%. Do współpracy z przetwornicami wybrane zostały kondensatory tantalowe low ESR (low Equivalent Series Resistance) oraz ceramiczne w obudowach SMD. Z każdą przetwornicą współpracują po dwa kondensatory tantalowe o pojemności 100 μF i ceramiczne o pojemności 22 μF. Napięcie wyjściowe przetwornicy ST1S10 ustalane jest za pomocą dzielnika rezystorowego. Wartości rezystorów (rezystory R68 - R70 widoczne na rysunku poniżej) zostały dobrane według wzorów podanych w nocie katalogowej układu ST1S10. Równolegle do rezystorów R68 i R70 podłączone zostały kondensatory ceramiczne o pojemności 4,7 nF. Kondensatory te są potrzebne gdy do wyjścia przetwornicy podłączona jest pojemność powyżej 100 μF i zabezpieczają układ przed zadziałaniem zabezpieczenia zwarciowego przetwornicy podczas włączania zasilania. Do włączania układu zasilania, a co za tym idzie całego robota wykorzystane zostały wejścia Enable układów, do których podłączony został niewielki przełącznik suwakowy. Poniżej przedstawiony został jeden z dwóch identycznych układów sterowania silnikiem prądu stałego. Jest to schemat przerysowany bez zmian z noty katalogowej układu VNH3SP30. W kodzie źródłowym programu robota (w załączniku) można znaleźć gotową napisaną przeze mnie bibliotekę obsługi dwóch układów VNH3SP30 dla mikrokontrolerów z z serii Xmega. Robot wyposażony został w układy pomiaru napięcia akumulatora oraz pomiaru pobieranego z akumulatora prądu. Pomiar napięcia dokonywany jest przy pomocy wbudowanego w mikrokontroler przetwornika ADC, który mierzy napięcie na wyjściu dzielnika (rysunek poniżej). Do pomiaru prądu wykorzystany został układ ACS715. MECHANIKA: Napęd robota stanowią dwa silniki komutatorowe prądu stałego (G30.2) wraz z przekładniami planetarnymi (PLG30) firmy Dunkermotoren (zdjęcie poniżej). Podstawowe parametry napędu: -waga 140 gram -moment znamionowy 4,05 Ncm -moment trzymający 11,34 Ncm -prąd znamionowy 0,6 A -prąd zwarciowy (rozruchowy) 1,4 A -napięcie znamionowe 12 V -znamionowa prędkość obrotowa (na wyjściu przekładni) 644 obr/min Jako koła wybrałem stosowane w przemyśle do przenoszenia napędu koła zębate 16T2.5 40/2F (zdjęcie poniżej). Koła te musiałem podtoczyć aby dopasować do projektu oraz aby zmniejszyć ich wagę. Gąsienice wykonałem z paska zębatego T2.5 o długości 200mm i szerokości 7mm. Pasek obkleiłem przy pomocy kleju cyjano-akrylowego paskiem gumy modelarskiej o grubości 1mm. Główny szkielet robota stanowią silniki wraz z przekładniami połączone płytkami laminatu (rysunek poniżej). Koła napędowe mocowane są do osi przekładni za pomocą dwóch śrubek umieszczonych w piaście koła. W koło wolne zostały wbite dwa łożyska kulkowe. Koło wraz z łożyskami umieszczone jest na wytoczonej z aluminium osi, która przykręcona została do silnika (mocując jednocześnie płytkę drukowaną) i zabezpieczone pierścieniem segera (rysunek poniżej). PROGRAM: Kod źródłowy programu znajduje się w załączniku. Program napisany został w darmowym środowisku programistycznym ECLIPSE, a do kompilacji programu posłużył darmowy kompilator GCC WinAVR. Kod programu odpowiedzialny za obsługę scalonych mostków H i pośrednio za sterowanie silnikami został napisany w formie biblioteki dołączonej do głównego programu. Dzięki czemu może być wykorzystany w innych projektach wykorzystujących dwa scalone mostki H VNH3SP30. Do obsługi przetworników ADC w które wyposażony jest mikrokontroler ATXmega128A1 (czyli pośrednio do obsługi czujników linii i przetworników obrotowo impulsowych) wykorzystane zostały gotowe biblioteki (www.atmel.com). Obsługa czujników przeciwnika odbywa się poprzez zwykłe odczytywanie stanu portów wejściowych do których podłączone zostały czujniki. Do sterowania diodami wykorzystane zostało sześć sygnałów PWM generowanych przez liczniki wbudowane w mikrokontroler. Ogólna struktura programu jest wspólna dla wszystkich dla wszystkich algorytmów walki i została przedstawiona w formie schematu blokowego na rysunku poniżej. Mikrokontroler po włączeniu i ustabilizowaniu się napięcia zasilającego przechodzi do wykonywania programu. Pierwszą czynnością mikrokontrolera jest ustawienie taktowania. Domyślnie mikrokontroler taktowany jest z wewnętrznego oscylatora 2MHz. Natomiast w programie taktowanie przełączane jest na wewnętrzny kalibrowany oscylator RC o częstotliwości 32MHz. Procedura przełączania źródła taktowania wygląda następująco: 1. włączenie oscylatora 32 MHz, 2. ustawienie dzielnika częstotliwości dla oscylatora 32 MHz, 3. oczekiwanie na ustabilizowanie się oscylatora 32 MHz, 4. zmiana źródła taktowania z oscylatora 2 MHz na oscylator 32 MHz, 5. wyłączenie oscylatora 2 MHz, 6. auto kalibracja wewnętrznego oscylatora RC 32 MHz. Po ustawieniu taktowania konfigurowane są porty oraz peryferia mikrokontrolera, a także układ przerwań. Następnie program oczekuje na wciśnięcie przycisku START. Jeżeli przycisk START zostanie wciśnięty i przytrzymany dłużej niż 1 sekundę program przejdzie do funkcji diagnostycznej, w której odczyty z czujników przeciwnika oraz linii można zaobserwować na diodach LED, a na wyświetlaczach siedmiosegmentowych wyświetlane jest napięcie akumulatora. Jeżeli przycisk START zostanie wciśnięty na czas krótszy niż jedna sekunda program przejdzie do odliczenia pięciu sekund i do wykonywania algorytmu walki. W ramach opracowywania programu dla robota powstały dwa algorytmy walki. Jako pierwszy powstał prosty algorytm decyzyjny realizujący prostą funkcję sterowania nadążnego. Uproszczona struktura algorytmu w formie schematu blokowego przedstawiona została na rysunku poniżej z lewej. Po rozpoczęciu odliczeniu pięciu sekund robot wykonuje krótkie szarpnięcie do przodu i do tyłu aby rozłożyć kliny. Następnie program wchodzi w główną pętle w której realizowana jest strategia walki. W pętli wykonywane są kolejno poszczególne elementy programu. Sprawdzane są wyniki konwersji przetwornika ADC. Jeżeli biała linia została zauważona czyli wynik jednego z pomiarów przetwornika ADC był poniżej założonego progu program przechodzi do funkcji obsługi czujników linii. Funkcja obsługi linii w zależności od tego w którym kierunku jechał robot i którym czujnikiem zauważył białą linię wykonuje kolejno: hamowanie, zmiana kierunku jazdy na przeciwny i skierowanie robota w kierunku środka ringu a następnie wraca do głównej pętli programu. Robot kierowany jest na środek ringu aby znaleźć przeciwnika i jednocześnie aby znaleźć się jak najdalej od krawędzi ringu tym samym utrudniając przeciwnikowi zepchnięcie z dohyo. Przetwornik ADC pracuje w trybie free run czyli kolejno wykonuje pomiary napięcia na wyjściu wszystkich czujników linii. Przetwornik taktowany jest z częstotliwością 250 kHz. Taka częstotliwość taktowania pozwala na wykonywanie pomiarów z częstotliwością 62,5 kHz (4 takty na pomiar) co dla ośmiu czujników linii sprawia, że każdy czujnik sprawdzany jest co 128 μs. Dla robota jadącego z prędkością 1m/s daje to około ośmiu pomiarów każdego czujnika na każdy milimetr przejechany przez robota. Jest to wystarczająca wartość aby robot był w stanie wykryć linię z minimalnym tylko opóźnieniem i wykorzystać to do wyhamowania i zmiany kierunku jazdy. Kolejnym etapem jest odczytanie stanu portów do których dołączone zostały czujniki przeciwnika i w zależności od tego czy przeciwnik został zauważony wykonywana jest odpowiednia reakcja lub program powraca do swobodnej jazdy po ringu. Funkcja wykonująca reakcję robota na zauważenie przeciwnika w zależności od tego który czujnik wystawił na wyjściu stan aktywny wykonuje obrót robota o odpowiedni kąt, tak aby robot ustawił się przodem lub tyłem na wprost przeciwnika. Jeżeli przeciwnik zostanie zauważony środkowym tylnym lub przednim czujnikiem robot z maksymalną prędkością zaczyna jechać (w przód lub w tył) aby uderzyć w przeciwnika.Ostatnią rzeczą wykonywaną w pętli głównej programu jest wyświetlenie na diodach stanu czujników oraz sprawdzenie czy nie wystąpiły zdarzenia mające zatrzymać robota. Robot może zostać zatrzymany na dwa sposoby. Poprzez naciśnięcie przycisku START w trakcie walki lub po odebraniu sekwencji impulsów z pilota sterującego. Jeżeli robot zostanie zatrzymany to program zatrzyma silniki, wejdzie w nieskończoną pętlę i będzie oczekiwać na wyłączenie zasilania. Drugim napisanym algorytmem sterowania robota w trakcie walki jest automat również realizujący funkcję podążania nadążnego Po rozpoczęciu walki robot rozkłada kliny i wchodzi do głównej pętli programu (rysunek poniżej z prawej). W pierwszej kolejności sprawdzane są stany portów do których podłączone są czujniki przeciwnika. Jeżeli przeciwnik zostanie zauważony z przodu lub z tyłu na wprost robota to program zapętla się. Ignorowane są wtedy odczyty czujników linii oraz pozostałych czujników przeciwnika. Ma to na celu zabezpieczenie przed zmyleniem robota gdy ten np. przechyli się na bok podczas przepychania przeciwnika i boczne czujniki zostaną skierowane w kierunku powierzchni dohyo lub gdy robot najedzie na klin przeciwnika i czujniki linii zwrócą wartość odpowiadającą najechaniu na białą linię. Podczas przepychania przeciwnika zmieniana jest prędkość obrotowa silników, ma to na celu zwiększenie przyczepności robota. Działa to w ten sposób, że współczynnik tarcia znacznie zmniejsza się gdy gąsienica zaczyna ślizgać się po ringu, zmniejszenie prędkości ma na celu zmniejszenie lub wyeliminowanie poślizgu i zwiększenie współczynnika tarcia. Uwzględnione zostało to, że robot może zauważyć przeciwnika więcej niż jednym czujnikiem na raz. Gdy robot nie widzi przeciwnika na wprost siebie sprawdzane są czujniki białej linii i wykonywana ewentualna reakcja (taka sama jak w algorytmie prostym). Jeżeli robot zauważy przeciwnika jednym (lub więcej) czujnikiem i nie znajduje się on na wprost robot wykona obrót o odpowiedni kąt tak aby jak najszybciej przeciwnik znalazł się na wprost z przodu lub z tyłu robota. Odczyt napięcia z czujników linii odbywa się w przerwaniu przetwornika ADC. Aby odciążyć program i zmniejszyć czas wykonywania się głównej pętli programu obsługa przycisku zatrzymującego robota oraz odbiornika podczerwieni odbierającego sygnały z pilota zostały umieszczone w procedurze obsługi przerwania. OSIĄGNIĘCIA: I miejsce na zawodach "Robomaticon" w Warszawie II miejsce na "Trójmiejskim Turnieju Robotów" na Politechnice Gdańskiej II miejsce na zawodach "RoboXY" na Politechnice Gdańskiej IV miejsce na zawodach "Robocomp" w Akadami Górniczo Hutniczej w Krakowie Robot brał również udział w Największych zaodach autonomicznych robotów mobilnychj w Europie „RobotChallenge the European championship for self-made, autonomous, and mobile robots”. Na mistrzostwach tych po przejściu dwóch faz eliminacyjnych wszedł do fazy finałowej do której dostało się tylko 16 najlepszych robotów z całej europy. Niestety z powodu awarii akumulatora robot przegrał pierwszą walkę fazy finałowej i odpadł z rozgrywek DODATKI: Robot powstawał z przerwami od 2008 roku. Powstało kilka prototypów. Prezentowany w tym temacie robot jest czwartą wersją Jeżyka. Poniżej dwa zdjęcia z budowy prototypów. Filmik z walkami jeżyka z zawodów RoboXY 2011: W załączniku znajduje się kod źródłowy programu. Jest w nim całkiem sporo komentarzy, więc mam nadzieję, że będzie on zrozumiały. Załączam również wyeksportowany z Inventora projekt w formacie STEP. Jest to okrojony ze szczegółów projekt 3D. Nie załączam projektów robota w Inventorze i w Altiumie ponieważ każdy z nich zajmuje kilkadziesiąt MB. Jeśli ktoś chce to mogę wyciąć z projektu w Altiumie schematy i projekty płytek (bez modeli 3D) i wstawić. robot z klapkami.rar Program.rar
  20. Witam! Przedstawiam mojego pierwszego robota minisumo, który powstał w ramach szkolnego koła robotyki ZONA, działającego przy II LO w Wałbrzychu. Robot spełnił moje oczekiwania wobec niego. Realizując ten projekt zdobyłem sporo cennego doświadczenia, które mam zamiar przekuć na kolejną maszynę. Phantom z założenia miał wystartować na zawodach RA 2012, jednak w wyniku nieziemskich problemów technicznych nie udało mi się go wtedy wystawić i po tej klęsce w zasadzie wymieniłem w nim wszystko z wyjątkiem kół i akumulatora. Krótki opis konstrukcji: - zastosowałem mikrokontroler ATmega16 i muszę przyznać, że bardzo tej decyzji żałuję. Brakuje mi w nim przerwań i timerów. - użyte mostki H to układy TB6612, zamontowałem po jednym na silnik. Jestem z nich bardzo zadowolony i na pewno użyję ich w kolejnej konstrukcji. - na płycie głównej umieszczone jest małe "gniazdo" tranzystorów, które z założenia miały być odpowiedzialne za sterowanie czujnikami przeciwnika własnego projektu, ale nic z tego nie wyszło bo prawdopodobnie uszkodziłem dwa wyprowadzenia ATmegi ładunkiem elektrostatycznym z palca... - jako czujników użyłem trzech detektorów przeciwnika opartych o układy TSOP2236 i dwóch CNY70 do wykrywania linii. Z ani jednych ani drugich nie jestem zadowolony. Czujniki - samoróbki da się, owszem. Tylko po co? Miałem z nimi zdecydowanie za dużo problemów i mój kolejny robot będzie korzystał ze znacznie bardziej niezawodnych Sharpów. CNY70 natomiast sprawdzają się, ale są zwyczajnie duże... - użyte silniki to 2x Pololu HP 50:1 - zastosowałem koła o średnicy 32mm z silikonowym ogumieniem. Felgi są wykonane na zamówienie. - akumulator to pakiet Redox 500mAh 7,4V. Oczywiście Li-PO. Wybrałem go ze względu na małe wymiary. - robot "fabrycznie" waży ledwie 300g, więc został dociążony odważnikami do wagi szalkowej owiniętymi taśmą izolacyjną. - obudowa jest wykonana z polutowanych ze sobą laminatowych płyt - to rozwiązanie przypadło mi do gustu, ponieważ jest proste w realizacji i daje wytrzymałą konstrukcję. - pług jest wykonany z aluminiowego płaskownika zaostrzonego pilnikiem. Teraz trochę filmików z walk 😅 I zdecydowanie najpiękniejsza walka w krótkiej karierze Phantoma : A to są schematy płyty głównej: Pozdrawiam wszystkich i życzę jak największej satysfakcji z własnych konstrukcji 😅
  21. Witam. Przedstawiam kolejną konstrukcję. Jak to u mnie bywa zrobiony został dla zabawy, satysfakcji oraz w celach pokazowych dla dzieci i młodzieży. Stąd też walory estetyczne biorą górę nad właściwościami MECHANIKA: Buda wydrukowana na RepRapie, koła również, opony z 5 pasków 2mm od magnetowidu. Napęd stanowią wyciągnięte z poprzedniego minisumo 2 serwa tp5010. Z przodu pług wyfrezowany z czarnego laminatu z wygrawerowaną nazwą. ELEKTRONIKA: 2 czujniki sharp GP2Y0D340K. Mają one strasznie wąski kąt widzenia. Myślałem że 2 wystarczą ale się myliłem. Umieszczone są pod katem ok 10stopni na zewnątrz. 2 czujniki KTIR0711S. Użyty został procesor Atmega8 w granym bootloaderem megaload, komunikacja i programowanie przez uart. Serwa zasilane są poprzez tranzystor aby w spoczynku nie pracowały. Całą płyta pochylona jest w dół pod kątek ok 4stopnie by wykrywać niższych przeciwników oraz żeby pług był trochę niższy. SOFTWARE: Dopiero się zabieram za to. Dla potrzeb filmiku na szybko coś skleciłem. Oczywiście w Bascomie Oto Kilka fotek, schemat i film. Miłego oglądania Sławek
  22. Przedstawiamy naszego pierwszego robota. Przygodę z robotyką zaczęliśmy 1 marca z zerową wiedzą na temat elektroniki i programowania. Po niespełna dwóch miesiącach wystartowaliśmy na pierwszych zawodach w Gdańsku (TTR 2012). W przerwie między zawodami (Gdańsk-Poznań) robot został wyposażony w nową płytkę oraz pakiet Li-pol. Wykorzystując zaoszczędzone miejsce po bateriach R6 i płytce DIP udało się zamknąć wszystko pod daszkiem. Mechanika: -Korpus wykonany z laminatu, zlutowany i polakierowany, wszystko w kuchni studenckiego mieszkania. -Silniki: 4x Pololu 50:1 HP. -Koła: 4x Solarbotics RW2i, aktualnie silikonowe odlewy. Elektronika: -Czujniki 4x Sharp GP2Y0D810Z0F (10cm), 1x Sharp GP2Y0D340K (40cm). 3x TCRT7000 (czujniki linii). -Mikrokontroler Atmega 32 -Mostek L298 -Komparator LM339 -Zasilanie pakiet Li-pol Dualsky 7,4V 800mAh 20C. Wnioski: -Koła Solarbotics... Nędza. -Konstrukcja z opadającym grawitacyjnie klinem - bez szans na zwycięstwo z szybkimi przeciwnikami. -Zbyt wysoko położony środek ciężkości (w drugiej wersji poprawione). -Jeden mostek L298 to zbyt mało na cztery silniki. -Słaby program. -Plątanina kabli ujmuje wizualnie i praktycznie. Pomimo wielu niedociągnięć jesteśmy dumni ze swojej konstrukcji. W kwietniu wystartowaliśmy w zawodach, gdy na początku marca nie mieliśmy kompletnie pojęcia o podstawach elektroniki i programowaniu mikrokontrolerów. Z pewnością największym sukcesem robota jest masa wiedzy i doświadczenia, które pozwolił nam zdobyć. Mamy nadzieję, że następny zawodnik minisumo dostarczy również radości z wyników na zawodach. __________ Komentarz dodany przez: Treker Poprawiłem post zgodnie z wymogami działu (zdjęcie jako załącznik, brak grafik na początku, proszę o tym pamiętać następnym razem).
  23. Witam wszystkich, chciałbym wam zaprezentować mojego pierwszego robota kategorii minisumo, którego zrobiłem 2 lata temu. Wystartował on w zawodach na Uniwersytecie Technologiczno - Przyrodniczym w Bydgoszczy. Wygrał tylko 2 rundy w całych zawodach. Chciaż dla mnie sam udział był już sukcesem. Elektronika Płytkę sterującą dostałem od uniwersytetu w Bydgoszczy. - 3x czujniki analogowe Sharp - zasięg 80cm, - 4x czujniki odbiciowe QRD1114, - akumulator 11,1V o pojemności 1500mAh Mechanika - 2x serwomechanizmy Towerdpro MG996R, które przerobiłem na silniki, - koła o średnicy 82 mm i szerokości 10 mm, - guma na kołach to owijka od rakiet tenisowych. Ogółem cały robot wykonany jest z aluminium. Na zawodach robot walczył pod nazwą "Obrowianek", była to nazwa tymczasowa, potem uległa zmianie. Minusy konstrukcji: ➖ zbyt wysoki, ➖ zbyt wolny, ➖ zbyt słaba przyczepność, ➖ wadliwy program. Plusy: ➕ pierwsza konstrukcja - zakończona pomyślnie, ➕ obudowa użyta jako radiator, przez co dobrze oddawał ciepło, ➕ chyba solidnie zrobiony, gdyż na zawodach nie miał żadnych usterek 🙂 Filmik z zawodów:
  24. Witam. Chciałbym zaprezentować mojego robota klasy minisumo. Jest nim Lumia - dopisek (T30) oznacza że, był robiony 30 dni a T oznacza czołg (ang.TANK). A teraz fakty. Głównym celem było wykonanie robota minisumo z użyciem wyświetlacza i gąsienic o możliwie dobrych parametrach. Robot ma siłę wystarczającą aby przepchać 4kg mąki ziemniaczanej. Elektronika -Jako procesor wybrałem atmegę8 ze względu na wystarczającą ilość wejść-wyjść. -Niebieski wyświetlacza2x8. -2x silniki pololu 100:1. -2x 16-pinowe mostki H. -Gąsienice pololu. -Czujniki SHARP 40 cm. -1 czujnik koloru umieszczony na samum dole i połączony z ADC. -zasilanie to Pakiet Li-Pol 3E Model 11,1V 1000mAh 20C +kilkadziesiąt diod krzemowych 1A + stabilizator 5v 1A OBUDOWA I KONSTRUKCJA NOŚNA -Podwozie zostało wykonane z metalu aby całość dociążyć i aby było stabilnie. -Obudowa to laminat . Oprogramowanie Całość została napisana w bascomie (próbowałem w c ale nie mogłem tam wszystkiego spójnie połączyć więc wróciłem do bascoma). Co zostało wykorzystane: -PWM -ADC -przerwania -obsługa rc5 (chwilowo nie aktywna ale w kodzie jest) -uart Uzyskane funkcje: -inteligentne zarządzanie zasilaniem -funkcja ataku -funkcja ucieczki -3 tryby szukania przeciwnika -funkcja kalibracji czujników oraz zapisywanie danych w pamięci procesora -komunikacja z komputerem za pomocą uart -zdalne sterowanie przez rc5 -regulacja wypełnienia w pwm -pomiar napięcia -regulacja czułości czujników koloru ZAKOŃCZENIE Moim zdaniem całość wyszła świetnie.Obeszło się bez kleju ani innych.W następnej konstrukcji zastosuję więcej czujników silniejsze silniki.Na zdjęciach brakuje klapki opadającej która została zamontowana kilka dni później. Teraz kilka fotek:
  25. Witam, chciałbym przedstawić mojego robota -Hakera. Jest to moja pierwsza konstrukcja typu minisumo i jestem z niej bardzo zadowolony. Podziękowania należą się użytkownikom forum a najbardziej Piotreks'owi89. Napęd stanowią 2 przerobione serwa tower pro SG5010. Było to dobre rozwiązanie pod względem mocy, ale prędkość jest niezadowalająca. By osiągnąć większą prędkość musiałem dać ogromne koła co również nie było najlepszym rozwiązaniem. Elektronika: -mostek H L298 - dobrze się spisywał (tylko te ogromne diody zajmują dużo miejsca) -procesor atmega8 - 4 czujniki linii -2 czujniki przeciwnika (i tu podziękowania dla piotreks'a89)-czujniki spisały się znakomicie jedynie za wysoko je umieściłem przez co nie wykryłby bardzo niskiego przeciwnika. Czujniki : Jak pisałem wyżej czujników jest 6 - 4x tcrt5000 rozmieszczonych na brzegach robota i 2x czujniki na tsopach 4836 i dwóch diodach LD271. Czujniki odległości są na oddzielnych płytkach - mają po jednym attiny13, który steruje diodami i odbiera sygnały z tsopów. Zasięg czujnika wynosi (w najlepszym przypadku) ok 56cm (testowane na dłoni ). Zasilanie to niestety baterie- ponieważ paczka z Hobby Kinga nie zdążyła przyjść 😉 Następna konstrukcja doczeka się li-pola. Program pisany w Bascomie polega na tym że procek sprawdza czunik linii a potem dwa czujniki przeciwnika i tak na każdy czujnik linii. Program spełnia moje oczekiwania i jestem z niego zadowolony 😉 Zawody Z Hakerem byłem na Robomaticonie i spisywał się wspaniale . Co prawda odpadł w ćwierć finałach, ale dla mnie to już jest wielki sukces. Wygrał cztery walki- przegrał również cztery 🤣. Na początku były problemy z wagą ale po obcięciu mu po kawałku flagi z każdej strony było równiutko 500g. Poniżej filmiki (będę dodawał po kolei bo są bardzo duże i wolno przesyłają się na you tuba.) Niestety na początku opadła flaga i było kilka falstartów 😉 Zdjęcia Hakera: (również będę dodawał cały czas bo muszę ich poszukać) Podsumowanie Robot jak najbardziej spełnił moje oczekiwania, prędkość mogłaby być lepsza, ale nie ma co narzekać bo już powstaje Haker2 w którym napęd będą stanowiły przekładnie, które już testowałem i jestem bardzo zadowolony. Cieszę się że na zawodach przeszedł do ćwierć finałów- myślałem że nie wygra nawet jednej walki 😉
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.