Strona głównaArtykułyRobotyka

Scansowanie LiDAR: Przekształcanie eco laserowych w mapę

Pomiar dystansu na podstawie czasu, rzutienie promieni do ścian i sposób, jak siatka log-odds zajętości przekształca szumowe chmury punktów w pewną mapę pomieszczenia.

mysimulator teamZaktualizowano — czerwiec 2026≈ 8 min czytania▶ Otwórz symulację

Harmonizacja sygnału światła

LiDAR (Lekcja Detekcji i Odrzucania Słonecznego Oświetlenia) pomierza odległość mierząc czas przepływu pociągu laserowego do powierzchni i z powrotem. Ponieważ światło podróżuje około 3×10⁸ m/s, elektroniki harmonizujące muszą mieć precyzję w skali pikosekund, aby rozwiązać odległości w centymetrach – przebieg pociągu do ściany o odległości 15 metrów trwa tylko około 100 nanosekund. Jeden obrot 2D wykonuje to system zasięgu ciągle, strzelając tysiące impulsów na sekundę pod nieco innych kątów, a każda powrotna odległość przyporządkowana do jej kąta strzału tworzy jeden punkt w 360° skanie.

distance = c · t_roundtrip / 2

c = speed of light ≈ 3×10⁸ m/s
t_roundtrip = time between pulse emission and detected return
demo na żywo · powiązana symulacja● LIVE

Ray marching i chmura punktów

W symulacji lub modelu oprogramowania LiDAR zastępuje się fizyczne pomiar czasu geometrią: każda strzałka jest przesuwana (lub analitycznie przecinana) od czujnika w kierunku najbliższego obstaculu, dokładnie powtarzając to, co zreperowałaby rzeczywista strzałka. Koniec każdej strzałki — przekonwertowany z lokalnych współrzędnych biegunowych czujnika (kąt, odległość) na globalne współrzędne kartezjańskie przy użyciu pozycji i kierunku czujnika — staje się jednym punktem w chmurze punktów. Jest to niewyraźna, niestruktowana zbiórka próbek powierzchniowych bez jasnej połączenia między nimi.

Z punktów do siatki: mapa zajączystości

Wektor punktowy jest szumowaty i rzadszy — rzeczywiste czujniki się mylą, odbijają od szyb lub łapią przesuwające się przeszkody. Zamiast tego roboty akumulują skany w siatkę zajęczystości: środowisku podzielonym na małe komórki, każda z której przechowuje przekonanie o tym, czy jest wolna lub zajęta. Jedna strzałka dostarcza jednocześnie dwa rodzaje dowodów — jej końcówka prawdopodobnie jest zajęta, a każdą komórkę, którą przebyła na trasie do tego miejsca, definiuje jako wolną przestrzeń, ponieważ przez definicję strzałka dotarła tam tylko wtedy, gdy przechodzące obiekty nie blokowały jej drogi.

Log-oddy: łączenie dowodów ekonomicznie

Zagregowanie powtarzających się, niezależnych i szumowych obserwacji tego samego komórki za pomocą zasady Bayesa oznacza mnożenie prawdopodobieństw — co jest numerycznie trudne i wolne. Standardowa technika, używana w prawie każdej systemie mapowania od pracy Elfes'a z grupą zajmującą się siatką zajętości (1989) do dziś, polega na śledzeniu log-oddy każdego komórki, ponieważ aktualizacje Bayesa w przestrzeni log-oddy redukują się do prostej dodawania:

l(komórka) = log( p(zajęta) / (1 − p(zajęta)) ) na promieniu przechodzącym przez wolną komórkę: l += l_wolna (l_wolna < 0) on promieniu kończącego się (zderzającym się) w końcowej komórce: l += l_zderzenie (l_zderzenie > 0) odzyskaj prawdopodobieństwo kiedykolwiek: p = 1 / (1 + e^(−l)) Każda nowa skanowanie dodaje małą dodatnią lub ujemną wartość do całkowitej bieżącej wartości każdej zarafiowanej komórki. Komórki, które powtarzają się widzą dowody wolnych przestrzeni, odrażają się ku silnie ujemnym log-oddy (konfidencjalnie wolne); komórki, które są wielokrotnie zderzane końcami promieni, odrażają się dodatnio (konfidencjalnie zajęte); komórki rzadko obserwowane pozostają blisko zera (niewiadome). Ponieważ jest dodawalne i odwracalne, ta sama schemat naturalnie pozwala komórkom na odwrót od zajętego do wolnego, jeśli środowisko zmienia się — krzesło się przesuwa, drzwi otwierają się — bez żadnej logiki przypadkowej.

l(cell) = log( p(occupied) / (1 − p(occupied)) )

on a ray passing through a free cell:      l += l_free    (l_free < 0)
on a ray ending (hit) at the endpoint cell: l += l_hit     (l_hit > 0)

recover probability any time: p = 1 / (1 + e^(−l))

Często zadawane pytania

Jak LiDAR rzeczywiście mierzy odległość?

Większość rotujących jednostek 2D LiDARA używa czasu podrzucania: emitem impulsu laserowego i pomiaru czasu, aż jego odbicie wróci, następnie przelicza to czas na odległość przy użyciu prędkości światła, odległość = c razy czas podzielone przez 2. Niektóre jednostki z mniejszym zakresem pomiaru mierzą zamiast tego przesunięcie fazowe odbicia kontynuowanego sygnału modulowanego, tracąc przy tym dalszy zakres, ale zdobywając lepsze rozdzielczość w bliskim zakresie.

Dlaczego siatkę zajętości używa log-odds zamiast prostych prawdopodobieństw?

Log-odds przekształca aktualizację bayesowską z powtarzanej mnożenia prawdopodobieństw, które jest niestabilne numerycznie i wolne, w proste dodawanie — każda nowa strzałka daje prostą dodatkową dowodność, która jest po prostu dodawana do bieżącego log-odds wartości komórki. Znacznie bardziej naturalny jest on również przy handlaniu konfliktującymi dowodami w czasie: komórki zaczynają zrównywac się powoli i mogą odzyskać status wolnego, jeśli dostarczy się wystarczająco dużo nowych obserwacji wolnych obszarów, co dokładnie jest zachowaniem, które chcesz mieć w sytuacji, gdy meble w pokoju są przesuwane.

Dlaczego komórki po stronie strzałki LiDARA są oznaczone jako wolne, a nie tylko końcowy punkt?

Miarę zwracaną przez zakres powrotnej strzałki mówi jednocześnie dwie rzeczy: prawdopodobnie jest tam zajęte miejsce, a każda komórka, którą przechodziła strzałka przed końcem, musiała być wolna, inaczej laser odbiłby się wcześniej. Oznaczanie całego biegunu, a nie tylko jego konca, pozwala na to, że mało skanów może zmyć duże obszary otwartych przestrzeniami, zamiast ich pozostawiać nieskończenie nieznane.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz LiDAR Scanning i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację LiDAR Scanning

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)