Jaki jest najlepszy sposób, aby obliczyć prawdopodobieństwo probabilistyczne robota wyposażonego w czujnik wizyjny?

12

Próbuję wdrożyć planowanie przestrzeni przekonań dla robota, którego głównym czujnikiem jest kamera. Podobnie jak SLAM, robot ma mapę punktów 3D i lokalizuje się, wykonując dopasowanie 2D-3D ze środowiskiem na każdym kroku. Na potrzeby tego pytania zakładam, że mapa się nie zmienia.

W ramach planowania przestrzeni przekonań chcę zaplanować ścieżki dla robota, które zabiorą go od początku do celu, ale w taki sposób, aby jego dokładność lokalizacji była zawsze zmaksymalizowana. Dlatego musiałbym zbadać możliwe stany robota, nie ruszając się tam, i obserwacje, jakie robot poczyniłby, gdyby znajdowały się w tych stanach, które razem (popraw mnie, jeśli się mylę) tworzą „wiarę” robota , następnie kodując niepewność lokalizacji w tych punktach. A potem mój planista spróbuje połączyć węzły, które dają mi najmniejszą niepewność (kowariancję).

Ponieważ moja niepewność lokalizacji dla tego robota opartego na kamerze zależy całkowicie od takich rzeczy, jak liczba punktów charakterystycznych widocznych z danej lokalizacji, kąt nachylenia robota itp .: Potrzebuję oszacować, jak „zła” moja lokalizacja przy określonej próbce byłoby ustalić, czy powinienem to odrzucić. Aby się tam dostać, jak zdefiniować model pomiarowy do tego, czy byłby to model pomiarowy kamery, czy byłby to coś związanego z pozycją robota? Jak „odgadnąć” moje pomiary i jak obliczyć kowariancję robota na podstawie tych zgadywanych pomiarów?

EDYCJA: Głównym odniesieniem dla mnie jest pomysł szybkiego odkrywania drzew losowych przekonań , który jest rozszerzeniem metody mapy drogowej wiary . Kolejny istotny artykuł wykorzystuje RRBT do ograniczonego planowania. W tym artykule próbkowane są stany podobne do konwencjonalnych RRT, reprezentowane jako wierzchołki jako wykres, ale kiedy wierzchołki mają zostać połączone, algorytm propaguje przekonania z bieżącego wierzchołka do nowego (funkcja PROPAGATE w sekcji V 1 ) i oto, gdzie utknąłem: nie do końca rozumiem, w jaki sposób mogę propagować wiarę wzdłuż krawędzi bez faktycznego przemierzania jej i uzyskiwania nowych pomiarów, a tym samym nowych kowariancji z lokalizacji. Papier RRBT mówi „prognozy kowariancji i równania oczekiwań kosztów są zaimplementowane w funkcji PROPAGATE”: ale jeśli zastosowana zostanie tylko predykcja, to skąd ona wie, powiedzmy, czy w przyszłej pozycji jest wystarczająca liczba funkcji, które mogłyby poprawić / obniżyć dokładność lokalizacji?

Wysokie napięcie
źródło
Czy czytałeś o tym literaturę?
Jakob,
Tak, dodałem więcej szczegółów w pytaniu o odpowiednie artykuły, z którymi się spotkałem.
HighVoltage,
Och, myślę, że rozumiem. Pozwólcie mi sparafrazować, czy rozumiem i dla odniesienia się do innych. Chcesz przetestować cały region, aby określić potencjalne widoki w dużej liczbie lokalizacji, a następnie wybrać serię lokalizacji, które oferują zarówno trasę od początku do końca, jak i widoki, które umożliwiają widoki „dobrych” punktów orientacyjnych na korzystać z lokalizacji w stylu SLAM. Twoje pytanie brzmi: jak obliczyć, jak „dobry” lub „zły” jest pogląd i jak ten „dobro poglądowe” odnosi się do kowariancji. Czy to jest uczciwe podsumowanie?
Chuck
1
W skrócie, tak! Zostało to już osiągnięte w artykule RRBT, ale mam problem z zrozumieniem matematyki.
Wysokie napięcie
1
To brzmi jak fajna koncepcja. Jestem dzisiaj na telefonie komórkowym, ale jutro przeczytam gazety i spróbuję się włączyć. Zgaduję, że cały algorytm opiera się na domysłach (przekonaniach) na temat tego, co według ciebie wyczujesz na dowolnym etapie , co oznacza, że ​​rzeczywiste pomiary nie należą do algorytmu i dlatego nie powinieneś faktycznie przechodzić przez żadną spację. Wygląda na to, że cały algorytm opiera się na znajomości mapy a priori i zależy od tego, czy ma być dokładny pod względem jakości wyników.
Chuck

Odpowiedzi:

2

Użyj lokalizacji tylko łożysk do modelowania informatywności kamery i symuluj pomiary przy zerowym hałasie (np. Bez innowacji).

Z różnych powodów jest to właściwie rozsądny teoretycznie sposób oszacowania informatywności ścieżki.

Istnieje wiele wskaźników informacyjnych „bez pomiaru”, takich jak matryca informacji Fisher . Wszystko, czego potrzebujesz, to pozycje robota i pozycje punktów orientacyjnych na mapie, aby określić, ile informacji o pozycji robota można uzyskać, mierząc lokalizacje punktów orientacyjnych. (Lub odwrotnie, innowacja z pomiarów jest stosowana zarówno do celu, jak i robota (czy to SLAM, prawda?), Więc ta sama metryka działa dla obu).

Zacznę od czujnika namiaru, ponieważ jest to dobry, dobrze przyjęty model czujnika wizyjnego. Oblicz „szum” w pomiarach łożyska, zakładając kilka pikseli błędu w lokalizacji obiektów na świecie. Niech stanem systemu będzie pozycja robota plus jego niepewność, a następnie próbki ścieżek (jak sugerujesz). Z każdej pozycji na próbkowanej ścieżce ponownie obliczyłem przewidywane niepewność za pomocą FIM. Nie jest to trudne, wystarczy założyć, że pomiary nie są błędne (tzn. Nie będzie „innowacji” w przekonaniu robota, ale nadal będzie występować spadek niepewności związany z kurczeniem się kowariancji w oszacowaniu pozycji robota. nie aktualizuj lokalizacji lub niepewności punktów orientacyjnych, aby uprościć problem.

Jest to dość dobrze rozumiane podejście z tego, co pamiętam w mojej ostatniej recenzji tej literatury, ale nie wierz mi na słowo (przejrzyj siebie!). Przynajmniej powinno to stanowić podstawowe podejście, które można łatwo zasymulować. Wykorzystajmy moc literatury. Możesz przeczytać tę tezę dla konfiguracji i równań.

Zreasumowanie

  1. xΣ
  2. Σi
  3. Niech „kosztem” trajektorii będzie wypukła kombinacja postępu w kierunku celu i odwrotności kowariancji (np. Matryca informacji )

Niektóre subtelności

Użyj najmniejszego wektora stanu, który ma sens. Jeśli możesz założyć, że robot może skierować kamerę niezależnie od ruchu lub ma wiele kamer, zignoruj ​​orientację i po prostu śledź pozycję. Będę postępować tylko w pozycjach 2D.

Będziesz musiał wyprowadzić zlinearyzowany system, ale możesz go pożyczyć na podstawie powyższej tezy. pamiętaj, aby nie zawracać sobie głowy symulowaniem pomiarów (np. jeśli wykonujesz tylko aktualizacje EKF z „symulowanymi pomiarami”, to załóż, że pomiary są prawdziwe i bez szumu.

Pi|i1=FiTPi1|i1Fi+Q
P=PPHT(HPHT+R)1HP

Jeśli zastosujemy tożsamość matrycy Woodbury

P1=P1+HTR1H

n

I=i=1nHiTR1Hi

Ri=1nHiTR1Hi

HHnx2nn2Rn×nσIn×nσ

Jakie jest równanie pomiarowe? Jego

tan1ytyrxtxr

tr


Odwijanie rekurencji. Postępowałbym w następujący sposób:

  1. Napisz algorytm wyszukiwania ścieżki, który znajdzie swoją drogę bez uwzględnienia niepewności.
  2. H
  3. trace(HTRH)
  4. Zauważ, że wynik pasuje do FIM trajektorii (ćwiczenie pozostawione czytelnikowi), a ty poprawnie i teoretycznie poprawnie wyznaczyłeś najbardziej pouczającą trajektorię.
Josh Vander Hook
źródło
Dziękuję za doskonałą odpowiedź! Właściwie poszedłem bardzo podobną drogą, używając metryk opartych na kamerze jako moich oszacowań R w połączeniu z RRT (bardzo niedawno myślałem, że powinienem odpowiedzieć na moje własne pytanie, ale pobiłeś mnie!). Nawiasem mówiąc, myślę, że twoje uproszczone równanie aktualizacji powinno mieć w sobie inv (R): co oznacza maksymalizację śladu sumy (inv (R)) lub minimalizację sumy (R) na całej ścieżce (ignorowanie H)
HighVoltage
Dobry chwyt. Zaktualizuję.
Josh Vander Hook