Jakiego algorytmu mogę użyć do skonstruowania mapy badanego obszaru za pomocą szeregu czujników ultradźwiękowych?


9

Czujniki ultradźwiękowe są obecnie niezwykle tanie, co czyni je popularnym wyborem dla wielu hobbystycznych aplikacji robotycznych, i chciałbym użyć ich kilku (powiedzmy 10) wokół robota z algorytmem, aby zbudować przybliżoną mapę obszaru (jako robot bada go.) Nie jestem zainteresowany zajmowaniem się ruchomymi obiektami na tym etapie, tylko lokalizowaniem obiektów stacjonarnych, a ja będę używał GPS do lokalizacji. Zdaję sobie sprawę, że inne elementy, takie jak skaner laserowy, dawałyby znacznie dokładniejsze wyniki, jednak takie urządzenia są również astronomicznie droższe.

Czy istnieje algorytm do tego celu?

Odpowiedzi:


5

Algorytmy są zasadniczo takie same, niezależnie od używanych czujników.

Prawdziwym problemem, o którym mówił Chris , jest to, że SLAM jest trudny nawet przy bardzo dobrych czujnikach.

Uważałbym, że GPS, odometria kół i IMU są konieczne, aby nawet spróbować uderzenia ultradźwiękiem.

Jeśli szukasz taniej lokalizacji, polecam również spojrzenie na szlem oparty na wizji / kinect. Zarówno kamery internetowe, jak i kinect są bardzo tanie, a szlem wizualny przeszedł długą drogę.

Kinect jest praktycznie świętym Graalem pod względem wydajności / kosztu czujnika, dopóki przebywasz w pomieszczeniu.

Oto przykład kinect na robocie i wiele matematyki: http://www.youtube.com/watch?v=9Y4RQVpp-BY


6

Istnieje cały obszar literatury na ten temat. Najbardziej ogólną ideą jest koncepcja równoczesnej lokalizacji i mapowania ( SLAM ), w której robot musi zbudować mapę w tym samym czasie, w którym znajduje się na tej mapie. W zależności od dokładności map, możesz spróbować prostszego problemu z utworzeniem mapy siatki obecności , która zakłada, że ​​znasz lokalizację robota.

Ogólnie rzecz biorąc, GPS jest dość okropny, więc generowanie siatki obłożenia za pomocą GPS jako głównego źródła lokalizacji generuje dość rozmyte mapy. Możliwe jest jednak zintegrowanie GPS z przyspieszeniem, żyroskopami, kompasami, kamerami, koderami kół i innymi czujnikami, aby przybliżyć dobrą pozycję na świecie. W przeciwnym razie będziesz musiał zajrzeć do prostego systemu SLAM, aby poradzić sobie z problemami.

Przyjemny pakiet open source g2o , dla tak zwanego GraphSLAM, umożliwia nałożenie ograniczeń, takich jak GPS i względna pozycja względem ścian. To może nie być dokładne dopasowanie, ale jest dość ogólne.


1
Dodatkowym pomysłem byłoby zebranie wszystkich danych, przy użyciu podstawowych zachowań unikania, aby upewnić się, że robot nie zderzył się z niczym, a następnie użyć SLAM wykresu przetwarzania końcowego. Może to wykorzystać wszystkie przechwycone dane, w przeciwieństwie do wcześniejszych danych dla jednego punktu. Możesz to sprawdzić: openslam.org/ssa2d.html lub robots.stanford.edu/papers/thrun.graphslam.html
Barrett Ames

2

Aby wykonać SLAM, potrzebujesz względnie dobrego oszacowania pozycji.

Roboty korzystające ze skanerów laserowych mogą zadowolić się jedynie odometrią, ponieważ dane są względnie dokładne, a dane skanera mogą być wykorzystane do lokalizacji w kolejnych krokach czasowych.

Czujniki ultradźwiękowe są bardzo rozmyte, na ogół mają rozmycie w kierunku 20+ stopni i wszystko w kierunku ogólnym zostanie wykryte.

W związku z tym są one nieistotną pomocą w lokalizacji (z wyjątkiem bardzo ustrukturyzowanych środowisk).

Aby uzyskać rozsądną lokalizację, można użyć kombinacji GPS / IMU. Oczywiście zależy to od skali robota, a jeśli znajduje się w pomieszczeniu, GPS może nie być praktyczny.

Jeśli jesteś w stanie dokładnie kontrolować poślizg kół, odometria koła może znacznie poprawić lokalizację w krótkim okresie (chociaż preferowana jest bezwzględna metoda lokalizacji). Bez bezwzględnego odniesienia (np. GPS), nawet w przypadku skanera laserowego, będziesz w stanie rozwiązać problem „zamknięcia pętli”.

Strukturyzowane środowiska mogą mieć niższe wymagania dotyczące dokładności. Na przykład środowisko przypominające labirynt ze ścianami o regularnych kwadratowych odległościach od siatki, w których łatwo jest wykryć obecność ściany w każdym kierunku komórki siatki.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.