Udało mi się ogarnąć kod zarówno ESP8266 jak i aplikacji desktopowej na tyle, aby rozpocząć pierwsze testy praktyczne robota. Jako że internet w 99% składa się z filmików z kotami – ja również nie będę gorszy – poniżej film pokazujący pierwsze testy prototypu u użytkowników końcowych 🙂
Pomijając kwestię aplikacji mobilnej, której nie zacząłem jeszcze przygotowywać, już na tym etapie pojawiło się kilka problemów wymagających rozwiązania.
Robot nie jedzie do końca prosto
Tutaj są w zasadzie trzy możliwe powody. Jednym z nich jest nie do końca dobrze przemyślane mocowanie silników napędowych. Ponieważ obudowa jest giętka, mogą następować ugięcia w trakcie jazdy. Druga to problem z oponami na kołach. Jedna z nich jest nieco odkształcona – to akurat powinno być jednak łatwe do poprawy. Trzecia możliwość to zbytnia bezwładność trzeciego kółka – to jest jednak mało prawdopodobne bo widziałem już takie rozwiązania w innych robotach i tam się sprawdzały.
Dziwne opóźnienia w komunikacji
Pomimo zastosowania szybkiej komunikacji po UDP i prostego protokołu pojawiają się jakieś opóźnienia, które powodują że sterowanie robotem w trybie ręcznym jest bardzo niewygodne. Reakcja zarówno po naciśnięciu przycisku jak i jego zwolnieniu jest dość opóźniona. Nie do końca udało mi się zdiagnozować gdzie jest problem. Mocne uproszczenie głównej pętli robota, czy też usunięcie tymczasowe potwierdzeń z protokołu komunikacyjnego nie załatwia sprawy. Podejrzewam, że problem jest gdzieś w opieszałości działania ICommand. Być może napiszę jakąś prostą konsolową aplikację, która pozwoli to wyjaśnić.
Aktualny kod oczywiście na github.
Już wkrótce kolejne wieści z placu boju 🙂
Czy żaden kot nie ucierpiał podczas testów?
Żaden. Robot też przeżył 🙂