Spisu treści:

Robot podążający za linią do uczenia algorytmów sterowania: 3 kroki
Robot podążający za linią do uczenia algorytmów sterowania: 3 kroki

Wideo: Robot podążający za linią do uczenia algorytmów sterowania: 3 kroki

Wideo: Robot podążający za linią do uczenia algorytmów sterowania: 3 kroki
Wideo: Rekordowo malutki robocik DIY (Line follower) 2024, Lipiec
Anonim
Image
Image
Robot podążający za linią do uczenia algorytmów sterowania
Robot podążający za linią do uczenia algorytmów sterowania
Robot podążający za linią do uczenia algorytmów sterowania
Robot podążający za linią do uczenia algorytmów sterowania

Zaprojektowałem tego robota śledzącego linię kilka lat temu, kiedy byłem nauczycielem robotyki. Celem tego projektu było nauczenie moich uczniów, jak kodować robota podążającego za linią na zawody, a także porównanie między sterowaniem If/Else i PID. I nie mniej ważne, jak mechanika i długość robota wpływa na te algorytmy sterowania. Celem było uczynienie go szybszym i niezawodnym.

Zrobiłem go tak, aby był programowany za pomocą Arduino IDE, ale możliwe jest również korzystanie z preferowanego IDE programistycznego. Ma potężny PIC32 z bootloaderem USB, więc nie potrzebujesz programisty. Posiada również włącznik/wyłącznik, reset i przycisk start/program. Diody LED są podłączone do sygnału PWM silników, dzięki czemu można łatwo zobaczyć moc, którą stosujesz.

Robot jest całkowicie modułowy do eksperymentowania i łatwy do naprawy w razie wypadku. To sprawia, że ten robot jest idealnym narzędziem do nauki programowania w bardzo zabawny sposób. Moi uczniowie używali go przez długi czas i za każdym razem uczyli się czegoś nowego, nawet sterowania PID. Nie wspominając już o tym, że pasek czujnika wykorzystuje algorytm zwracający liczbę całkowitą, ujemną wartość robota znajduje się po lewej stronie, dodatnią po prawej, a cero znajduje się na środku linii.

Kieszonkowe dzieci

2x 6V Micro metalowe motoreduktory z przedłużonymi wspornikami (Każde przełożenie jest w porządku, moje to 10:1)

1x tablica czujnika linii;

1x główna jednostka sterująca

1x 20 za pomocą płaskiego drutu, rozstaw 1mm. Mój ma 20 cm długości.

1x Łącznik akrylowy (wycięty w przezroczystym akrylu o grubości 3 mm)

1x kula samonastawna 1/8 (moja jest metalowa)

2x Koło gumowe o średnicy 3 cm.

1x bateria Lipo. Możesz zasilać robota do 10V, ale pamiętaj, że silniki są przystosowane do napięcia 6V.

Kilka śrub i nakrętek M2 do łączenia wszystkiego razem.

Jeśli chcesz stworzyć własne pliki projektowe, schematy i wszystko, co potrzebne do jego zbudowania, załączamy w następnym kroku.

Krok 1: Sprzęt

Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt
Sprzęt

Jak widać na zdjęciach wszystkie elementy są SMD, to doskonała okazja do poćwiczenia umiejętności lutowania. Ten robot został zlutowany przez 3 moich uczniów, więc możesz to zrobić bez kłopotów. Wszystkie pliki projektowe są załączone, możesz je zobaczyć w EAGLE. Gerbery są również dołączone, jeśli chcesz płytki do ulubionego producenta PCB.

Dwie deski są połączone ze sobą akrylowym elementem, dołączony jest również wycięty laserowo wzór. Użyłem śrub i nakrętek M2, aby utrzymać go na miejscu. W tym miejscu znajduje się również kółko kulkowe. A jeśli rozbijesz robota, akryl pęknie i ochroni deski przed uszkodzeniem, idealny do testów! Płaski przewód służy do wykonania połączenia między procesorem a płytą czujnika. Silniki są łatwo połączone przewodami z płytą procesora.

Uwaga: PIC używa niestandardowego oprogramowania układowego, jest zmodyfikowaną wersją oryginalnego oprogramowania układowego DP32. Oprogramowanie układowe można pobrać tutaj. Połączenie ICSP znajduje się na spodzie płyty procesora.

Krok 2: Oprogramowanie

Oprogramowanie
Oprogramowanie
Oprogramowanie
Oprogramowanie

Do programowania robota polecam używać Arduino IDE. Jak powiedziałem wcześniej, ten wyznacznik linii bazuje na PIC32MX250 i czyni go kompatybilnym z chipKIT DP32. Wystarczy zainstalować pakiet chipKIT w menedżerze pakietów w Arduino IDE i gotowe. Możesz również zaprogramować go na MPLAB lub IDE, które chcesz, ale możesz nauczyć się podstaw na Arduino.

Reszta jest jak programowanie dowolnej innej płytki Arduino. Podłącz robota do komputera kablem micro USB i wciśnij przycisk programu zaraz po wciśnięciu resetu. Następnie wyślij szkic z przyciskiem upload w IDE.

W tym samouczku zamieściłem 3 szkice. Pierwszy testuje układ czujników, drugi to śledzący linię If/Else, a ostatni to śledzący linię PID. Wszystko już działa, jednak jeśli zmienisz projekt, będziesz musiał dostosować niektóre wartości. A także możesz zrobić własne! Są lepsze sposoby na wykonanie algorytmu śledzenia linii, eksperymentowanie jest kluczem do sukcesu.

Krok 3: Eksperymentowanie

Eksperymentowanie
Eksperymentowanie
Eksperymentowanie
Eksperymentowanie
Eksperymentowanie
Eksperymentowanie

To jest naprawdę najważniejsza część, powinieneś wypróbować wszystkie możliwości i znaleźć tę, która działa dla Ciebie.

Zapraszam do eksperymentowania z kołami i materiałami o różnej średnicy. Zmień długość robota modyfikującego złącze akrylowe. Użyj innej baterii, nawet o innym napięciu. Może być również mniejszy lub większy. Może inne przełożenie silników.

Zmodyfikuj oprogramowanie tak, aby zużywało mniej czujników lub nawet wypróbuj inne algorytmy, możesz być zaskoczony, jak bardzo może zmienić się wydajność. Albo dlaczego nie, jeśli jesteś zaawansowanym użytkownikiem, zrób to z MPLAB.

Niebo jest granicą!

Dodatkowa wskazówka… Strojenie wzmocnienia PID to fascynująca podróż, w której można poznać działanie robota podczas poruszania się po linii o różnych wartościach Kp, Kd i Ki. Godziny i godziny nauki gwarantowane!!! Dzieci nie zauważą, że w rzeczywistości używają matematyki do wykonywania wszystkich wymaganych zadań.

Mam nadzieję, że spodoba ci się ta instrukcja, jeśli potrzebujesz czegoś, zapytaj mnie w komentarzach. Dziękuję za przeczytanie:)

Zalecana: