Robotyka, Embedded, C
Jedną z największych zalet procesorów STM32F4 i ogólnie Cortex-M4 jest jednostka Floating Point Unit (FPU) przyspieszająca obliczenia na liczbach zmiennoprzecinkowych. Jej wykorzystanie wymaga od użytkownika włączenia FPU podczas działania programu oraz kompilacji z odpowiednimi flagami, aby używać instrukcji FPU. W tym wpisie omawiam jak obsługiwać FPU zarówno od strony programu jak i kompilatora oraz jak […]
Jedną z największych zalet procesorów STM32F4 i ogólnie Cortex-M4 jest jednostka Floating Point Unit (FPU) przyspieszająca obliczenia na liczbach zmiennoprzecinkowych. Jej wykorzystanie wymaga od użytkownika włączenia FPU podczas działania programu oraz kompilacji z odpowiednimi flagami, aby używać instrukcji FPU. W tym wpisie omawiam jak obsługiwać FPU zarówno od strony programu jak i kompilatora oraz jak […]
Dzisiaj opiszę problem orientacji mapy labiryntu, czyli odniesienie mapy do kierunków w przestrzeni i do numeracji pól. Co ciekawe, z początku w ogóle nie zdawałem sobie sprawy, że jest to ważna decyzja projektowa, która może ułatwić lub utrudnić dalsze prace. Po prostu myślałem, że numeracja jest prowadzona w jedyny słuszny sposób wykorzystywany we wszystkich innych […]
Dzisiaj opiszę problem orientacji mapy labiryntu, czyli odniesienie mapy do kierunków w przestrzeni i do numeracji pól. Co ciekawe, z początku w ogóle nie zdawałem sobie sprawy, że jest to ważna decyzja projektowa, która może ułatwić lub utrudnić dalsze prace. Po prostu myślałem, że numeracja jest prowadzona w jedyny słuszny sposób wykorzystywany we wszystkich innych […]
W dzisiejszym wpisie prześledzimy całą drogę od pomiaru odległości przez czujnik ściany do ostatecznego dodania tej ściany do mapy labiryntu w pamięci robota. Na tej drodze znajduje się wiele akcji pośrednich takich, jak określenie współrzędnych wykrytej ściany, czy potwierdzenie wykrycia w kilku pomiarach. Architektura rozwiązania Elementy biorące udział w dodawaniu informacji o ścianach do mapy […]
W dzisiejszym wpisie prześledzimy całą drogę od pomiaru odległości przez czujnik ściany do ostatecznego dodania tej ściany do mapy labiryntu w pamięci robota. Na tej drodze znajduje się wiele akcji pośrednich takich, jak określenie współrzędnych wykrytej ściany, czy potwierdzenie wykrycia w kilku pomiarach. Architektura rozwiązania Elementy biorące udział w dodawaniu informacji o ścianach do mapy […]
Ostatnio przeczytałem książkę “Wojny konsolowe. SEGA, Nintendo i batalia, która zdefiniowała pokolenie” autorstwa Blake J. Harrisa. Była to okazja, by przenieść się do świata gier z początku lat 90-tych. Zaczęto wtedy odkrywać, że gry to nie jest chwilowa moda, ani rozrywka tylko dla małych dzieci, tylko potężna gałąź przemysłu o ogromnym potencjale. Pojedynek Dawida z […]
Ostatnio przeczytałem książkę „Wojny konsolowe. SEGA, Nintendo i batalia, która zdefiniowała pokolenie” autorstwa Blake J. Harrisa. Była to okazja, by przenieść się do świata gier z początku lat 90-tych. Zaczęto wtedy odkrywać, że gry to nie jest chwilowa moda, ani rozrywka tylko dla małych dzieci, tylko potężna gałąź przemysłu o ogromnym potencjale. Pojedynek Dawida z […]
Ostatnio mocno pogłębiłem wiedzę dotyczącą algorytmów SLAM. Krótkoterminowym celem jest oczywiście inspiracja przy tworzeniu jak najlepszego sposobu lokalizacji i nawigacji w robocie Micromouse. W dzisiejszym wpisie przedstawię różnice między Micromouse, a typowym problemem SLAM oraz pomysły na implementację będące konsekwencją tych różnic. Wykorzystanie wiedzy o labiryncie Labirynt, w którym porusza się robot, jest zbudowany według […]
Ostatnio mocno pogłębiłem wiedzę dotyczącą algorytmów SLAM. Krótkoterminowym celem jest oczywiście inspiracja przy tworzeniu jak najlepszego sposobu lokalizacji i nawigacji w robocie Micromouse. W dzisiejszym wpisie przedstawię różnice między Micromouse, a typowym problemem SLAM oraz pomysły na implementację będące konsekwencją tych różnic. Wykorzystanie wiedzy o labiryncie Labirynt, w którym porusza się robot, jest zbudowany według […]
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 […]
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 […]
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ą […]
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ą […]
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. Rozpoczęcie studiów Na doktorat zapisałem się latem 2014 roku na kierunek […]
Robotyka, Embedded, C
Programowaniem zajmuję się zawodowo od 2012 roku. Moją specjalnością są systemy embedded, pracowałem już nad systemami safety critical, inteligentymi budynkami, czy Internet of Things. Jestem również wielkim fanem robotyki i w wolnym czasie robię własnego robota micromouse.