Page 2 of 11

SLAM – Simultaneous Localisation and Mapping

Jednym z najważniejszych celów stawianych robotom mobilnym jest autonomiczność. Roboty powinny wykonywać swoje zadania przy minimalnym udziale człowieka. Aktualnie jest to możliwe w bardzo ograniczony sposób. Środowisko pracy robota musi być specjalnie przygotowane i się nie zmieniać, a czynności muszą być powtarzalne. Te założenia są spełnione na przykład w halach produkcyjnych, gdzie roboty zastępują człowieka od wielu lat przy żmudnych i powtarzalnych czynnościach. Marzy nam się jednak zwiększenie użyteczności robotów również w innych dziedzinach życia. Dla robotów mobilnych jednym z największych ograniczeń jest poruszanie się w nieznanym terenie. Występują tutaj dwa wzajemnie na siebie wpływające procesy. Określenie swojej pozycji w przestrzeni, czyli lokalizacja oraz rozpoznawanie i zapamiętywanie otoczenia, czyli mapowanie.

Continue reading

Tworzenie mapy labiryntu i wyznaczanie trasy

Głównym zadaniem robota Micromouse jest znajdowanie drogi w labiryncie. Może więc wydawać się dziwne, że siadłem do tego tematu dopiero teraz – po roku od rozpoczęcia prac. Jednak do stworzenia mapy potrzebna jest dobrze działająca lokalizacja i czujniki ścian. Te zagadnienia mam już jako tako opanowane, można więc przejść do wyznaczania trasy. Zrobiłem już pierwszą implementację, która okazała się zaskakująco prosta. Kod oczywiście dostępny jest na GitHubie.

Continue reading

Łączenie doktoratu z pracą na etacie

Minął już całkiem spory kawał czasu od kiedy zrezygnowałem z robienia doktoratu równolegle z pracą na etacie. Postanowiłem w końcu zebrać swoje przemyślenia na ten temat. Być może pomogą podjąć decyzję komuś, kto zastanawia się nad takim wyzwaniem, albo już jest w jego trakcie.

Continue reading

Lądowanie Falcon Heavy od strony technicznej

W zeszłym tygodniu cały świat mówił o Elonie Musku i o SpaceX, a wszystko za sprawą startu rakiety Falcon Heavy, który odbył się 6 lutego 2018. Największe wrażenie na wszystkich wywarło synchroniczne lądowanie dwóch bocznych rakiet. Przy okazji – wiecie, że SpaceX wcale nie wykonało takiego lądowania jako pierwsze? New Shepard firmy Blue Origin należącej do Jeffa Bezosa było wcześniej, tylko widocznie mają gorszy marketing. Dzięki studiowaniu automatyki mogłem od razu docenić kunszt inżynierów projektujących system sterowania. Postaram się wytłumaczyć z jakimi problemami musieli się zmierzyć. To tylko króciutkie wprowadzenie do ogromnego tematu jakim jest teoria sterowania, więc będę stosował pewne uproszczenia. Ale na początek polecam obejrzeć jeszcze raz nagranie z lądowania.

Continue reading

Nowy projekt płytki robota

Podczas próby zamontowania wszystkich czujników ścian okazało się, że aktualny projekt płytki nie przewidywał miejsca na uchwyty z drukarki 3D. Potrzebuję więc zmian w projekcie PCB i nowej wersji płytki. Decyzję ułatwił fakt, że wylała mi się woda na biurko i oczywiście zalała robota. Po osuszeniu nie chciał działać, ale poleżał jeszcze przez noc i teraz się uruchamia normalnie. W każdym razie nowa wersja płytki jest potrzebna. Tym bardziej, że mam jeszcze kilka mniejszych zmian do wprowadzenia. Dzisiaj opiszę planowane zmiany.

Continue reading

Kalibracja czujnika ściany

Czujnik ściany, którego zamontowanie i uruchomienie opisywałem poprzednio, daje pomiary w woltach wyrażonych w jednostkach ADC (zakres 0-4095 odpowiada 0 – 3.3 V). Taka wartość nie jest szczególnie przydatna, dopiero po konwersji na odległość w milimetrach może być wykorzystana do nawigacji w labiryncie.

Continue reading

Procedura ochrony baterii LiPol

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.

Continue reading

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.

Continue reading

Watchdog w środowisku wielowątkowym

W poprzednim artykule omówiłem działanie watchdoga i zastosowanie w prostych aplikacjach zawierających całą obsługę w pętli głównej. Dzisiaj zajmiemy się częściej spotykanym, ale i trudniejszym, problemem – implementacją watchdoga w aplikacjach wielowątkowych.

Continue reading

Watchdog timer

Każdy, kto miał do czynienia z elektroniką wie, że jeśli urządzenie przestało działać, należy je zresetować. W niektórych systemach robienie tego ręcznie nie jest możliwe. Przyczyną może być trudny, czy wręcz niemożliwy, dostęp dla operatora np. w przypadku sondy kosmicznej. Są też przypadki, gdy czas potrzebny na zauważenie usterki i ręczny reset jest zbyt długi np. w przypadku aparatury medycznej podtrzymującej życie. W takich sytuacjach z pomocą przychodzi nam watchdog timer.

Continue reading

© 2018 ucgosu.pl

Theme by Anders NorénUp ↑