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.