Strona główna Robotyka Skanowanie LiDAR

📡 Skanowanie LiDAR

Obrotowy LiDAR 2D wysyła promienie, które maszerują do ścian, tworząc zaszumioną chmurę punktów i siatkę zajętości w logarytmicznych szansach (wolne wzdłuż promienia, zajęte w punkcie trafienia). Przeciągaj czujnik po pokojach i korytarzach.

Robotyka2DZaawansowany60 FPS
lidar ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O tej symulacji

Ta symulacja modeluje obrotowy czujnik LiDAR 2D, który mierzy odległość metodą rzucania promieni (ray casting): pod każdym kątem testuje promień względem każdego odcinka ściany, korzystając z rzeczywistego wzoru przecięcia promienia z odcinkiem, i zapamiętuje najbliższe trafienie jako odczyt odległości — dokładnie tak jak czujnik czasu przelotu wybiera pierwszą powierzchnię, od której odbija się impuls lasera. Każde trafienie staje się punktem w rosnącej chmurze punktów, a komórki wzdłuż promienia oznaczane są jako wolne, a komórka trafienia jako zajęta w siatce zajętości opartej na logarytmicznych szansach — tej samej probabilistycznej technice mapowania, która jest używana w prawdziwych systemach SLAM. Do każdego odczytu odległości dodawany jest szum gaussowski, naśladując niedokładność prawdziwego czujnika.

🔬 Co pokazuje

Obrotowa wiązka zatacza 360° wokół czujnika umieszczonego w jednym z kilku układów ścian. Punkt trafienia każdego promienia jest rysowany po lewej jako chmura punktów i gromadzony po prawej w siatce zajętości, gdzie zielone komórki są zajęte (prawdopodobnie ściana), a ciemne komórki to wolna przestrzeń, przez którą wiązka przeszła bez przeszkód.

🎮 Jak korzystać

Przeciągnij żółtą kropkę czujnika po pomieszczeniu, aby zeskanować je z nowej pozycji (to czyści mapę). Suwakami zmień liczbę promieni na skan (rozdzielczość kątową), maksymalny zasięg, szum odległości σ i prędkość obrotu, a przyciskami presetów przełączaj środowiska: pusty pokój, zagracony, korytarz i pojedyncza przeszkoda. Kliknij „Wyczyść mapę”, aby zresetować zgromadzoną chmurę punktów i siatkę.

💡 Czy wiesz, że…

Prawdziwe jednostki LiDAR w samochodach autonomicznych i robotach działają na dokładnie tej samej zasadzie, tylko dużo szybciej i precyzyjniej: wystrzeliwują tysiące impulsów lasera na sekundę, mierzą czas, jaki zajmuje im odbicie się (albo przesunięcie fazowe), i przeliczają to na odległość. Zszywanie odległości z wielu kątów jest dokładnie tym, jak siatka zajętości w tej symulacji — i prawdziwe oprogramowanie mapujące robotów — buduje mapę otoczenia.

Najczęściej zadawane pytania

Co oznacza skrót LiDAR i jak mierzy odległość?

LiDAR to skrót od Light Detection and Ranging (wykrywanie i pomiar odległości za pomocą światła). Działa, emitując impuls lasera i mierząc, ile czasu zajmuje mu dotarcie do obiektu i odbicie z powrotem (czas przelotu), albo mierząc przesunięcie fazowe wiązki ciągłej. Ponieważ światło porusza się ze znaną, stałą prędkością, ten czas (lub różnica fazy) przelicza się bezpośrednio na pomiar odległości. Ta symulacja przybliża tę samą ideę w 2D, korzystając z geometrycznego rzucania promieni zamiast prawdziwego pomiaru czasu przelotu.

Czym jest rzucanie promieni i dlaczego wymaga przecięcia promienia z odcinkiem?

Rzucanie promieni wystrzeliwuje wyimaginowaną linię z czujnika w wybranym kierunku i znajduje miejsce, w którym po raz pierwszy napotyka przeszkodę. Aby znaleźć ten punkt, symulacja rozwiązuje przecięcie między promieniem a każdym odcinkiem ściany w scenie, korzystając z ich parametrycznych równań linii, a następnie zachowuje tylko najbliższe prawidłowe przecięcie. To ta sama podstawowa operacja geometryczna używana w renderowaniu czasu rzeczywistego, grach 2D i modelach czujników odległości w robotyce.

Czym jest chmura punktów?

Chmura punktów to po prostu zbiór współrzędnych 3D (lub tu — 2D), w których promienie czujnika faktycznie w coś trafiły. Każdy promień w tej symulacji, który trafia w ścianę, dodaje jeden punkt w tym miejscu; po wielu obrotach tysiące takich punktów gromadzą się w kształt odwzorowujący zarys pomieszczenia i przeszkód — dokładnie tak, jak prawdziwe jednostki LiDAR używane w robotyce i pojazdach autonomicznych budują obraz swojego otoczenia.

Czym jest siatka zajętości i jak powstaje z zaszumionych odczytów?

Siatka zajętości dzieli otoczenie na komórki i śledzi dla każdej z nich prawdopodobieństwo, że jest zajęta. Ta symulacja używa reprezentacji logarytmicznych szans: za każdym razem, gdy promień przechodzi przez komórkę bez zatrzymania, dodawany jest dowód wolnej przestrzeni dla tej komórki; gdy promień kończy się w komórce, dodawany jest dowód zajętości. Ponieważ każdy odczyt odległości zawiera szum gaussowski, żaden pojedynczy skan nie jest w pełni wiarygodny, ale uśrednianie wielu zaszumionych skanów w czasie sprawia, że siatka zbiega do dokładnej mapy — ta sama zasada, która stoi za prawdziwymi systemami SLAM (jednoczesną lokalizacją i mapowaniem).

Dlaczego zwiększenie „liczby promieni na skan” poprawia mapę i jaki jest tego koszt?

Więcej promieni na skan oznacza dokładniejszą rozdzielczość kątową, więc cieńsze przeszkody i ostrzejsze narożniki rzadziej umykają między dwiema sąsiednimi wiązkami, a wynikowa chmura punktów i siatka zajętości wyglądają bardziej szczegółowo. Kosztem, tak jak w prawdziwym sprzęcie, jest wydajność: więcej promieni na obrót wymaga wykonania i przetworzenia większej liczby pomiarów w tym samym czasie, co w fizycznej jednostce LiDAR oznacza szybszy (i zwykle droższy) mechanizm skanujący albo niższą maksymalną prędkość obrotu.

Podobne symulacje