Struttura dei dati più vicina per lo spazio di configurazione non euclideo


15

Sto cercando di implementare una struttura del vicino più vicino per l'uso in un pianificatore di movimento RRT. Per fare meglio di una ricerca lineare sul vicino più prossimo, mi piacerebbe implementare qualcosa come un kd-tree. Tuttavia, sembra che l'implementazione classica dell'albero kd presupponga che ogni dimensione dello spazio possa essere suddivisa in "sinistra" e "destra". Questa nozione non sembra applicarsi agli spazi non euclidei come SO (2), per esempio.

Sto lavorando con un braccio manipolatore seriale con collegamenti completamente rotazionali, il che significa che ogni dimensione dello spazio di configurazione del robot è SO (2), e quindi non euclidea. L'algoritmo kd-tree può essere modificato per gestire questo tipo di sottospazi? In caso contrario, esiste un'altra struttura del vicino più vicino in grado di gestire questi spazi secondari non euclidei pur essendo facile da aggiornare e interrogare? Ho anche dato un'occhiata a FLANN , ma dalla loro documentazione non mi era chiaro se fossero in grado di gestire sottospazi non euclidei.


A proposito, anche i vicini più vicini approssimativi
vanno

1
Mentre hai accettato una risposta eccellente, di solito è una buona idea attendere qualche giorno prima di accettare una risposta in modo da non scoraggiare ulteriori risposte che potrebbero fornire altre opzioni.
Mark Booth

Grazie Marco, in realtà ero incerto su quanto aspettare prima di accettare la risposta.
Giogadi,

Risposte:


6

Hai ragione sul fatto che i kd-alberi in genere funzionano solo in piccoli spazi metrici euclidei. Tuttavia, c'è molto lavoro per le applicazioni generali vicine più vicine negli spazi metrici (ovunque è possibile definire essenzialmente una funzione di distanza).

Il lavoro classico è su alberi a sfere , che poi sono stati generalizzati a alberi metrici .

C'è qualche lavoro più recente chiamato cover tree che ha anche il codice GPL. Ho voluto esaminare le caratteristiche prestazionali tra questi alberi e kd-alberi da oltre due anni.

Speriamo che si adatti alla tua applicazione.


Mi dispiace non accettare; semplicemente seguendo il consiglio di un altro commentatore di dare a questa domanda ancora qualche giorno per "stufare". Ho trovato davvero utile la tua risposta!
Giogadi,

Booo. Stavo solo scherzando. Sono solo felice che tu l'abbia trovato utile.
Chris Mansley,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.