Zależność między mapami chmur punktów i mapami wykresów

9

Najbardziej znam mapy SLAM, które są chmurami punktów, zwykle w postaci wektora takiego jak . Rozumiem także, jak stworzyć taką mapę za pomocą EKF.<x,y,θ,f1x,f1y,...,fnx,fny>

Dzisiaj spotkałem format pliku .graph , który, jak można się spodziewać, składa się z wierzchołków i krawędzi w formacie:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

Wiem, że istnieje związek między macierzami i wykresami (na przykład macierz przylegania). Ale nie jest dla mnie jasne, w jaki sposób ten format wykresu mapy jest równoważny znanej mi mapie chmury punktów.

Jaki jest związek? Czy wierzchołki są zarówno pozami, jak i punktami orientacyjnymi? Czy są w globalnej ramce odniesienia? Jak powstaje to na podstawie informacji o prędkości i czujnika zasięgu / namiaru? Czy istnieje transformacja między mapą graficzną a chmurą punktów?

Munka
źródło

Odpowiedzi:

4

Jak napisano w opisie formatu pliku, jest to podejście oparte na grafach SLAM. Działają one na zminimalizowaniu błędu sieci z ograniczeniem pozycji. Możesz myśleć o tym w ten sposób: Istnieje wiele ramek odniesienia (twoje wierzchołki), a następnie masz wiedzę na temat transformacji między tymi ramkami. Przemiany te wiążą się z niepewnością. Ramy optymalizacji wykresów pozy, takie jak np. TORO , HogMan , G2O itd. , Dadzą ci maksymalne prawdopodobieństwo twoich pozycji wierzchołków, biorąc pod uwagę ograniczenia.

W praktyce robota oznacza to zwykle:

  • Każda pozycja robota w czasie ma własną ramkę odniesienia, a zatem wierzchołekpkk
  • W zależności od podejścia możesz także dodawać punkty orientacyjne jako wierzchołki. Nie musisz jednak.
  • Za każdym razem, gdy otrzymujesz nowe informacje na temat relacji między dwoma pozami, dodajesz je do wykresu ograniczeń. Np. Twoja odometria da ci transformację między a .pkpk+1
  • Jeśli twoje podejście działa w oparciu o punkty orientacyjne, dodajesz transformacje do punktów orientacyjnych. Jeśli znasz tylko położenie swojego punktu orientacyjnego, ustawiasz dużą niepewność na informacje o rotacji swojej transformacji.
  • Jeśli twoje podejście nie wie o punktach orientacyjnych, np. Masz duże chmury punktów, które pasują do ICP, możesz dodać wyniki ICP do wykresu ograniczeń.

Ograniczenia ułożenia są zwykle przechowywane jako rzadkie macierze o rozmiarze gdzie jest liczbą wierzchołków (ponownie pozycji i punktów orientacyjnych robota) na wykresie.n×nn

Sam format pliku zapewnia wstępne domysły dla położenia wierzchołków za pomocą VERTEX2(dla modeli 2D) i VERTEX3(dla modeli 3D). Nie możesz mieszać tych dwóch. Wiązania są dodawane, aby można było określić transformację między ramkami odniesienia (wierzchołkami) podanymi przez from_idi to_id. Transformacja jest podawana zarówno przez, jak EDGE2i EDGE3jako translacja i obrót w kątach eulera, a także macierz informacji o niepewności. W tym przypadku macierz informacji jest odwrotnością macierzy kowariancji dla wektora transformacji .[xyzrollpitchyaw]

W zależności od struktury zwykle jeden z wierzchołków jest uziemiony w globalnej ramce odniesienia.

Graficzne optymalizatory pozów są uważane za zaplecza SLAM. Sposób generowania ograniczeń, np. Z danych zakresu, stanowi problem front-end. W tych notatkach z wykładów znajduje się ładny przegląd .

Jakob
źródło
1

Jest post na forum z bardziej szczegółowymi informacjami na temat formatu. Wygląda na to, że wartości węzłów wykresu są wstępnymi oszacowaniami siebie, a krawędzie kodują ograniczenia ułożenia reprezentowane przez filtr informacji , podwójny filtr Kalmana.

Z tego, co mogę powiedzieć, ten format mapy zawiera tylko informacje o własnym położeniu, a nie punkty orientacyjne, więc nie byłoby bezpośredniej konwersji z mapy chmury punktów.

surtur
źródło
1
Wyjaśnij różnicę między informacjami o pozach a punktami orientacyjnymi. Ogólnie punkty orientacyjne są szacowane na podstawie ich pozy.
Josh Vander Hook
1
Podczas równoczesnej lokalizacji i procesu mapowania zwykle zachowuje się oszacowania własnej pozycji i orientacji podczas przemieszczania się przez otoczenie, a także oszacowania kilku możliwych do zidentyfikowania punktów w środowisku, które na ogół uważa się za nieruchome, często nazywane punktami orientacyjnymi. Dokładne oszacowanie pozy dla punktów orientacyjnych pomaga zmniejszyć niepewność co do własnej pozycji i odwrotnie. To, co określałem mianem informacji o pozie, było ograniczeniem samo-pozowania, chociaż można je prawdopodobnie wyprowadzić z obliczeń obejmujących punkty orientacyjne.
surtur