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
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