Jest to robot o dwóch kołach napędowych z oponami zapewniającymi mu wysoką przyczepność do podłoża i metalowym ball-caster'em jako trzecie koło o dwóch stopniach swobody ruchu, co zapewnia mu wysoką zwrotność. Użytkownik zdalnie steruje robotem za pomocą 4 przycisków, a on zwraca swoją informację o prędkości na podstawie odczytów z enkoderów silników, co jest to drukowane na ekranie laptopa.
1. 2x płytka ESP8266 NodeMCU
2. 1x płytka ESP32
3. Dwukanałowy sterownik silników DC
4. 2x silnik 6V z enkoderem kwadraturowym
5. czujnik IMU ISM330DHCX + przewód qwiic
6. akumulator LiPo 7.4V (2 cell)
7. opony do odkurzacza iRobot Roomba
8. 2x piasta sześciokątna do koła
9. przewody o większym przekroju - na ~6-7A
10. przewody raster 2.54mm
11. Śrubki M2.5, M3 i M4 o różnych długościach
12. L7805ABV - stabilizator napięcia na 5V DC
13. Port kompatybilny z portem akumulatora (w zależności od portu akumulatora: XT90/XT60/XT30/Gold 4mm)
1. Drukarka 3D - pole robocze min. 200x200mm
2. Lutownica
3. Śrubokręt krzyżakowy
4. Kombinerki
Płytka ESP8266 w panelu sterowania przesyła komendy ruchu poprzez sieć WLAN ESP-NOW do płytki ESP8266 na robocie, która steruje ruchem robota przesyłając sygnał PWM o zadanym wypełnieniu i częstotliwości odpowiednim kanałem. Użytkownik porusza robotem za pomocą przycisków Pull-up-button.
Obecna na pokładzie płytka ESP-32, z racji znacznie większej pamięci RAM i użytecznych pinów GPIO zlicza impulsy z enkoderów.
Za pomocą odczytów impulsów z enkoderów kwadraturowych (dwufazowych) zintegrowanych z silnikami, jesteśmy w stanie bardzo łatwo obliczać prędkość robota - jest ona równa połowie różnicy obecnego odczytu enkodera i odczytu z poprzedniej iteracji, odczytane w ten sposób dane są przekształcone na obroty na sekundę, a następnie metry na sekundę, przy znajomości promienia koła napędowego oraz założeniu braku istnienia poślizgu między nim, a podłożem. Wysyłamy je następnie w strukturze danych przez ESP-NOW bezpośrednio na płytkę pilota, która wyświetla ich wartości na ekranie laptopa.
Alternatywna wersja projektu - z wyznaczaniem pozycji przy pomocy czujnika IMU:
UWAGA: wersja wymaga dopracowania, gdyż biblioteka zajmuje bardzo dużą część pamięci płytki ESP32 - tworzone klasy obiektów na potrzeby komunikacji WiFi przez ESP-NOW nie mają w niej już wolnego miejsca - komunikacja nie działa.
Przed startem, robot potrzebuje 30 sekund na kalibrację odczytów z akcelerometru i żyroskopu z czujnika IMU - by maksymalnie "wyzerować" ich wartości w punkcie startu.
Program dwukrotnie całkuje przyspieszenia, jednokrotnie całkuje prędkość kątową wokół osi OZ, odczytaną z żyroskopu oraz liczy pierwszą pochodną kąta obliczonego z enkodera - w ten sposób uzyskuje prędkość kątową koła robota, zakładając brak poślizgu znamy, tym samym, moduł wektora prędkości liniowej geometrycznego środka robota.
Pozycję odczytujemy za pomocą wymnażania pozycji robota w związanym z nim układzie odniesienia przez macierz obrotu R(fi) wokół osi OZ w funkcji odczytanego kąta fi, do tego dodajemy, wyznaczony we wcześniejszej iteracji, wektor położenia w globalnym układzie współrzędnych, związanym z miejscem startu robota.
ZIP poniżejhttps://botland.com.pl/silniki-dc-z-przekladnia-i-enkoderami/9530-silnik-z-przekladnia-6v-100rpm-enkoder-6959420912476.html
https://botland.com.pl/przejsciowki-do-silnikow/6090-szesciokatny-adapter-do-kol-12mm4mm-2szt-pololu-2684-5904422367930.html
https://allegro.pl/oferta/opony-do-irobot-roomba-kola-500-600-700-800-900-e5-s9-i3-i4-i5-i6-i7-i7-j7-14751067790?utm_feed=aa34192d-eee2-4419-9a9a-de66b9dfae24&utm_source=google&utm_medium=cpc&utm_campaign=_elktrk_rtvagd_pla_ss&ev_adgr=rtv-ss&ev_campaign_id=22975392160&gad_source=1&gad_campaignid=22975392160&gclid=Cj0KCQiAgP_JBhD-ARIsANpEMxz5lEd7diaohjLe8gWz-h_8v00SWd_AEAtzgE7mYf-N2b-NQQ5RhrYaAi1OEALw_wcB&dd_referrer=https%3A%2F%2Fwww.google.com%2F
https://botland.com.pl/sterowniki-silnikow-moduly/15819-cytron-mdd3a-dwukanalowy-sterownik-silnikow-dc-16v3a-5904422324841.html
https://botland.com.pl/czujniki-9dof-imu/16458-ism330dhcx-6dof-imu-3-osiowy-akcelerometr-i-zyroskop-adafruit-4502-5904422344528.html
https://botland.com.pl/regulatory-napiecia/81-stabilizator-5v-l7805abv-tht-to220-5904422307202.html