Struktura danych najbliższego sąsiada dla przestrzeni konfiguracyjnej innej niż euklidesowa


15

Próbuję zaimplementować strukturę najbliższego sąsiada do użycia w narzędziu do planowania ruchu RRT. Aby zrobić coś lepszego niż liniowe wyszukiwanie najbliższego sąsiada z użyciem brutalnej siły, chciałbym zaimplementować coś w rodzaju drzewa kd. Wydaje się jednak, że klasyczna implementacja drzewa kd zakłada, że ​​każdy wymiar przestrzeni można podzielić na „lewy” i „prawy”. Pojęcie to nie wydaje się mieć zastosowania na przykład do przestrzeni innych niż euklidesowe, takich jak SO (2).

Pracuję z szeregowym ramieniem manipulatora z w pełni obrotowymi łącznikami, co oznacza, że ​​każdy wymiar przestrzeni konfiguracyjnej robota to SO (2), a zatem nie-euklidesowy. Czy można zmodyfikować algorytm drzewa KD, aby obsługiwał tego rodzaju podprzestrzenie? Jeśli nie, to czy istnieje inna struktura najbliższego sąsiada, która może obsługiwać te nie-euklidesowe podprzestrzenie, a jednocześnie jest łatwa do aktualizacji i wyszukiwania? Spojrzałem również na FLANN , ale z ich dokumentacji nie było dla mnie jasne, czy mogą one obsługiwać nie-euklidesowe podprzestrzenie.


Nawiasem mówiąc, przybliżenie najbliższych sąsiadów również jest w porządku (nawet preferowane, jeśli przyspieszenie jest znaczne)
giogadi

1
Chociaż zaakceptowałeś doskonałą odpowiedź, zwykle dobrym pomysłem jest zaczekać kilka dni przed zaakceptowaniem odpowiedzi, aby nie zniechęcać do dalszych odpowiedzi, które mogą zapewnić inne opcje.
Mark Booth

Dzięki Mark, właściwie nie byłem pewien, jak długo czekać, zanim zaakceptuję odpowiedź.
giogadi

Odpowiedzi:


6

Masz rację, że drzewa kd zwykle działają tylko w małych, euklidesowych przestrzeniach metrycznych. Ale jest dużo pracy dla ogólnych aplikacji najbliższych sąsiadów w przestrzeniach metrycznych (gdziekolwiek można zasadniczo zdefiniować funkcję odległości).

Klasyczna praca dotyczy drzewek kulowych , które następnie uogólniono na drzewa metryczne .

Istnieje kilka nowszych prac zwanych drzewami okładkowymi, które mają nawet kod GPL. Od ponad dwóch lat chciałem przyjrzeć się charakterystyce wydajności tych drzew i drzew KD.

Mam nadzieję, że pasuje do twojej aplikacji.


Przepraszam, że nie akceptuję; po prostu podążając za radą innego komentatora, aby dać temu pytaniu jeszcze kilka dni na „duszenie”. Naprawdę uważam, że twoja odpowiedź była pomocna!
giogadi

Booo. Żartuję. Cieszę się, że okaże się to pomocne.
Chris Mansley,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.