Do tej pory zepsute lipole zdarzały mi się co kilka miesięcy. Zawsze scenariusz był taki sam. Co jakiś czas sprawdzałem miernikiem napięcie na baterii i wszystko było w porządku. Nagle robot przestaje działać. Nie wiem co jest powodem i próbuję zdebugować, ale nic się nie udaje. Dopiero po jakimś czasie sprawdzam napięcie na baterii i jest już rozładowana grubo poniżej limitu. Próbuję jeszcze ją podładować, ale się nie udaje. Kolejny pakiet do wyrzucenia. Jednak od dziś to się zmieni. Teraz mój soft jest wyposażony w procedurę ochrony baterii i nie dopuści do nadmiernego rozładowania. W tym artykule opiszę dokładnie jak działa ta procedura.
Kategoria: Micromouse
Czujniki ścian – pierwsze starcie
Po dłuższej przerwie wracam do prac nad micromousem. Została mi do zrobienia jeszcze ostatnia część sprzętowa – czujniki ścian. Roboty jest dosyć sporo, więc nie udało mi się wszystkiego machnąć za jednym podejściem. Przy okazji jak zwykle wynikły nieprzewidziane problemy.
Usuwanie dryftu żyroskopu
Dzisiaj zaprezentuję jak wyeliminowałem wpływ dryftu żyroskopu z pomiaru prędkości kątowej wykorzystując Rozszerzony Filtr Kalmana. Będzie miejsce na teoretyczny opis problemu i implementację najpierw w środowisku symulacyjnym, a następnie w robocie Micromouse.
Implementacja EKF na robocie
W dzisiejszym wpisie przedstawię implementację Rozszerzonego Filtru Kalmana dla robota Micromouse. Aby dojść do tego momentu musiałem najpierw wyznaczyć model ruchu robota oraz sprawdzić działanie EKF w środowisku symulacyjnym. Można o tym poczytać we wcześniejszych wpisach.
EKF – Rozszerzony filtr Kalmana
Poprzednio wyprowadziłem model stanowy robota i przygotowałem symulację do testowania algorytmów określania pozycji. Przyszła więc kolej na ich implementację. W tym wpisie skupię się na Rozszerzonym Filtrze Kalmana. Znajdzie się miejsce na wstęp teoretyczny oraz analizę implementacji w środowisku symulacyjnym. Starałem się wszystko opisać jak najprościej. Jednak aby wszystko dobrze zrozumieć potrzebna będzie zaawansowana wiedza z matematyki. Dobrze również wiedzieć coś o teorii sterowania. Dla mnie była to okazja do przypomnienia sobie co nieco ze studiów i wyprowadzenia kilku wzorów na kartce.
Początek prac nad estymatorem pozycji robota
Mając gotowe regulatory prędkości silników mogę przystąpić do modułu estymacji pozycji. W tym wpisie umieszczę garść ogólnych informacji dotyczących pracy estymatora, a także wyprowadzenie modelu matematycznego robota, który będzie potrzebny do wewnętrznych obliczeń.
Regulator prędkości obrotowej
W końcu udało mi się zakończyć pracę nad regulatorem prędkości obrotowej robota, z którym walczyłem od dłuższego czasu. W poprzednich wpisach opisywałem problemy z żyroskopem i spalenie płytki, co wiązało się z nowym projektem PCB. Nareszcie udało doprowadzić się temat do końca. We wpisie znajdziecie trochę matmy, dużo wykresów i opis kolejnych przygód z zepsutym hardwarem.
Zabawy z folią aluminiową
Po zlutowaniu nowego PCB, zgodnie z planem opisanym poprzednio, przystąpiłem do strojenia regulatorów silników. O ile z ruchem postępowym poszło szybko – w końcu robiłem to już któryś raz – tak z ruchem obrotowym natrafiłem na kolejne problemy. Jako sprzężenie zwrotne dla regulatora używam żyroskopu i okazało się, że odczyty są mocno zaszumione. Zakłócenia są obecne tylko przy podłączonych silnikach. Głównym podejrzanym jest pole elektromagnetyczne generowane przez silniki. W ruch poszła więc tytułowa folia aluminiowa. Efekty były dosyć komiczne.
Micromouse ma nowe PCB
Pracując nad regulatorami silników zrobiłem zwarcie na płytce czyniąc ją niezdatną do użytku. Pisałem o tym w poprzednim tekście o Micromouse – link. Miałem w zapasie jeszcze części i PCB, więc przystąpiłem do lutowania. Niestety na drugiej płytce również miałem problemy z poprawnym działaniem robota. Przy okazji spaliłem programator ostatecznie tracąc szanse na sprawdzenie czegokolwiek na sprzęcie. Przyszła więc pora na zrobienie nowej wersji płytki. Poza tym miałem problem z jednym mocowaniem kół – w konkretnym ułożeniu zębatek stawiało ono opór i w rezultacie nie kręciło się tak dobrze jak drugie. Na tych dwóch rzeczach skupiałem się w swych ostatnich pracach nad robotem.
Postępy prac nad Micromouse
Dawno nic nie było o postępach w pracach nad Micromousem, więc pora na mały update. Od ostatniego wpisu o regulatorze obrotów z sierpnia udało się zrobić parę rzeczy. Udało się również parę rzeczy zepsuć. Projekt posunął się do przodu na różnych frontach, ale postępy przystopowało trochę spalenie płytki.