EKF – Rozszerzony filtr Kalmana
|

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…

Regulator prędkości obrotowej
|

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…

Systemy bezpieczeństwa – sposoby przeciwdziałania błędom
|

Systemy bezpieczeństwa – sposoby przeciwdziałania błędom

W poprzednim artykule opisałem trochę podstawowych informacji dotyczących systemów bezpieczeństwa. Skupiłem się tam na podstawowych pojęciach i procesach. Dzisiaj mam zamiar omówić kilka aspektów technicznych. Będzie więc o tym jak takie systemy zachowują się w przypadku wykrycia błędu i jak minimalizują efekty ich wystąpienia.

Kiedy od softu zależy ludzkie życie – o systemach bezpieczeństwa
|

Kiedy od softu zależy ludzkie życie – o systemach bezpieczeństwa

W internecie można spotkać głosy, że programiści nie wykonują odpowiedzialnych zadań i nie ma żadnych regulacji, których muszą przestrzegać. Bo co złego może się stać, jeśli strona nie będzie działać, albo komputer wywali bluescreena. W końcu świat się od tego nie zawali. Być może jest to prawdą w 99% projektów programistycznych. Jednak tam, gdzie na…

Zabawy z folią aluminiową
|

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ą…

Micromouse ma nowe PCB
|

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…

Projekt jak wyścig kolarski
|

Projekt jak wyścig kolarski

W dobie Agile projekty informatyczne są często traktowane jako wiele następujących zaraz po sobie sprintów. Można się spotkać z głosami, że taki projekt to raczej maraton, gdzie powinniśmy się skupiać na celu w dłuższej perspektywie. Jednak indywidualny bieg nie oddaje dobrze wielu niuansów związanych z współpracą w zespole, dużo lepszym porównaniem jest wyścig kolarski.

TDD embedded – system buildowania
|

TDD embedded – system buildowania

Podstawą TDD jest szybki feedback jaki otrzymujemy z unit testów. Oznacza to, że kompilacja i uruchomienie testów powinno trwać kilka sekund. Kluczem do osiągnięcia tak krótkiego czasu jest odpowiednio skonfigurowany system buildowania. Wiadomo, że w te kilka sekund nie uda nam się zbudować od zera całego projektu. System buildowania musi więc udostępniać nam odpowiednie opcje….

Proces TDD dla systemów embedded
|

Proces TDD dla systemów embedded

Aby mikrocykl TDD Red-Green-Refactor był efektywny, kompilacja i wykonanie testu powinny trwać kilka sekund. W praktyce oznacza to, że testy nie są wykonywane na docelowej platformie i należy podjąć dodatkowe kroki w celu wykrycia ewentualnych problemów związanych ze sprzętem. W poprzednim wpisie wytłumaczyłem jak może w tym pomóc dual targeting. Dzisiaj opiszę jak powinien wyglądać…

End of content

End of content