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?
źródło
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.
źródło