Zbudowałem robota z zestawu Makeblock o nazwie Rolling Tank.
Przetestowałem też przewroty.
Zbudowałem robota z zestawu Makeblock o nazwie Rolling Tank.
Napiszę, czego użyłem do tej pory:
Hardware:
- Lego Mindstorms Robot Inventor (51515) - zestaw klocków z czujnikami, silnikami i inteligentną kostką (tzw. Hubem) - już wycofano ze sprzedaży
Tutaj jest gotowa instrukcja budowy pojazdu. Pojazd ma podpięte 2 silniki. Jeden napędza tylne koła, drugi skręca przednimi kołami. Opcjonalnie można zamontować czujnik koloru z przodu do oświetlania linii.
- Płytka LMS-ESP32 - sprzedawana w sklepie Anton's Mindstorms płytka z mikrokontrolerem ESP32 - pomost pomiędzy elementami lego, a inną nie-legową elektroniką - ja mam wersję 1.0 - wersję 2.0 można kupić tutaj, jeszcze trzeba wgrać firmware tutaj
- Kamera AI HuskyLens - kamera z gotowymi algorytmami między innymi z rozpoznawaniem linii, działa również z Arduino, niedawno wyszła wersja 2.0 - ja swoją kupiłem tutaj (jest to wersja 1)
- Powerbank - 5V/1A do zasilania samej kamery - ja użyłem modelu TP-Link TL-PB2600 (2600 mAh)
Software:
- biblioteka Pybricks - do obsługi Huba
- biblioteka PyHuskyLens - do obsługi kamery, ja użyłem tej, obsługuje HuskyLens 1 i 2, zarówno Robot Inventora jak i Spike Prime
Tutaj jest tutorial z którego najwięcej korzystałem.
Ostatni filmik z serii. Dodałem z przodu oświetlenie i testowałem jazdę po ciemku.
Poprawiłem jazdę robota. Przesunąłem kamerkę bliżej środka i ustawiłem bardziej poziomo. Teraz pojazd bierze linię między kołami.
Przerobiłem pojazd. Zamiast czujnika koloru ma teraz kamerę. Dodałem też powerbank. Dzięki kamerze pojazd śledzi narysowaną flamastrem linię.
Hardware:
- Kamera AI HuskyLens
- Płytka LMS-ESP32
- Lego Mindstorms Robot Inventor
- Powerbank
Software:
- biblioteka PyBricks
- biblioteka PyHuskyLens
Udało mi się poprawić jazdę Hot Roda. W regulatorze PID dodałem człon różniczkujący (D), dzięki czemu zniknęły oscylacje skręcania kół przy jeździe na wprost.
Zbudowałem pojazd typu Line Follower na bazie Lego Mindstorms (zestaw Robot Inventor #51515). Pojazd bazuje na instrukcji Hot Roda ze strony Antons Mindstorms. Nieco go przerobiłem: dodałem z przodu czujnik koloru, a w wersji ostatecznej usunąłem dach. Kod jest napisany w Pythonie i używa biblioteki Pybricks. Wpierw na arkuszu brystolu czarną taśmą zrobiłem trasę. Potem przerobiłem pojazd. Pierwsza wersja działała dość wolno, ale najważniejsze, że pojazd jechał wzdłuż linii.
Przy pisaniu kodu pomagał ChatGPT, który miał pomysły na rozwój projektu: kalibrację kolorów dla linii i tła, samoczynne zatrzymanie po oddaleniu się od linii itp. Miałem sporo zabawy z dobieraniem odpowiednich współczynników, ale końcowy efekt mi to wynagrodził.