Attualmente udacity offre un corso gratuito online per la programmazione di un'auto robotica che ti insegna come Google lo fa per le sue auto a guida autonoma. Fondamentalmente usano il GPS per il posizionamento grossolano insieme a mappe memorizzate e sensori di visione per la localizzazione con un alto grado di precisione. Il software utilizza filtri antiparticolato.
Potresti farlo con il solo GPS se utilizzassi le costose apparecchiature GPS differenziali utilizzate dai topografi, ma difficilmente sarebbe conveniente. Come suggerisci, se usi un paio di ricetrasmettitori a basso costo (forse Xbee?) Potresti facilmente misurare la distanza con un grado di precisione estremamente elevato trasmettendo un impulso e misurando il tempo necessario per viaggiare dal trasmettitore sul robot al ripetitore remoto e ritorno. Questo è come RADAR, tranne per il fatto che invece di far rimbalzare il segnale da una superficie passiva, viene inviato dai transponder stazionari.
EDIT: Da quando sono stato chiamato da Kevin su questo, forse spiegherò meglio ;-) (Tutto molto divertente, ho il massimo rispetto per Kevin ed è abbastanza corretto che non ho fornito dettagli sufficienti per mostrare come attuare questo).
Per misurare accuratamente il ritardo di propagazione tra due punti sono necessarie principalmente due cose: 1) Un percorso del segnale in linea retta poiché le riflessioni creeranno distorsioni. 2) Alcuni componenti elettronici su entrambe le estremità utilizzano orologi sincronizzati e la capacità di misurare gli intervalli di tempo con la precisione richiesta.
Gli orologi sincronizzati sono relativamente facili in quanto la stazione ricevente può ricavare il suo orologio dal segnale trasmesso dall'altra stazione. Questa è la trasmissione di dati sincrona standard con ripristino dell'orologio.
Ecco un documento Misurare il ritardo di propagazione su un collegamento dati bidirezionale da 1,25 Gbps in cui ottengono facilmente questo tipo di precisione su un pezzo di fibra ottica lungo 10 km. Dichiarano : "Dovrebbe essere in grado di sincronizzare ~ 1000 nodi con precisione subnanoseconda su lunghezze fino a 10 km".
In questa nota viene descritto un metodo per determinare l'offset temporale tra due nodi. Questi nodi sono collegati tramite un canale di comunicazione punto-punto seriale bidirezionale codificato 8B / 10B da 1,25 Gbps, come ad esempio viene utilizzato da 1000BASE-X (Gigabit Ethernet). L'offset temporale viene determinato misurando il ritardo di propagazione utilizzando un segnale marker. Il segnale viene inviato da un master a un nodo slave e viceversa utilizzando la funzionalità serializzatore / deserializzatore (SerDes) in FPGA (Virtex-5). Il clock recuperato sul nodo slave viene utilizzato come clock di trasmissione dello slave, quindi l'intero sistema è sincrono. Per un canale di comunicazione seriale da 1,25 Gbps, il ritardo è noto con una risoluzione di un intervallo di unità singola (cioè 800 ps). Questa risoluzione può essere ulteriormente migliorata misurando la relazione di fase tra il clock di trasmissione e di ricezione del nodo master. È stato dimostrato che la tecnica funziona su una singola fibra da 10 km che viene utilizzata a due lunghezze d'onda, per facilitare una connessione bidirezionale punto a punto tra nodo master e nodo slave.
anche
È stata creata una prima configurazione di prova per verificare il principio di misurazione del ritardo di propagazione tra un trasmettitore e un ricevitore utilizzando un canale di comunicazione seriale codificato operato a 3,125 Gbps. Il trasmettitore e il ricevitore risiedono in FPGA su due schede di sviluppo separate. Questa prima configurazione di prova ha dimostrato che è possibile misurare il ritardo di propagazione su una fibra di 100 km con una risoluzione di un intervallo di unità (cioè 320 ps a 3.125 Gbps).
EQUIPAGGIAMENTO UTILIZZATO:
L'impostazione del test è composta da due schede di sviluppo Xilinx ML507 [7]. Un FPGA Virtex-5 è montato su ogni scheda. Una scheda di sviluppo ML507 è designata come nodo principale, l'altra come nodo secondario. Master e slave sono collegati tramite ricetrasmettitori inseribili con fattore di forma ridotto (SFP) e 10 km di fibra, creando un collegamento bidirezionale. Viene utilizzata una singola fibra che viene azionata a doppia lunghezza d'onda.
Ora chiaramente questa particolare configurazione è eccessiva per la maggior parte dei progetti di robotica per hobby, ma potrebbe essere facilmente riprodotta a casa poiché utilizza schede di sviluppo standardizzate e non richiede talenti speciali per funzionare. Nel caso del robot il collegamento sarebbe radio piuttosto che un cavo in fibra ottica. Forse potrebbe anche essere un collegamento a infrarossi come un telecomando della TV, anche se sospetto che fuori, sotto il sole, potrebbe essere problematico. Di notte potrebbe funzionare alla grande!