Atualmente, a udacity está oferecendo um curso on-line gratuito, programando um carro robótico que ensina como o Google faz isso para carros autônomos. Basicamente, eles usam o GPS para posicionamento bruto, juntamente com mapas armazenados e sensor de visão para localização com alto grau de precisão. O software usa filtros de partículas.
Você poderia fazê-lo apenas com GPS se usasse o equipamento diferencial diferencial muito caro usado pelos pesquisadores, mas isso dificilmente seria rentável. Como você sugere, se você usar um par de transceptores de baixo custo (Xbee, talvez?), Poderá medir facilmente a distância com um grau extremamente alto de precisão transmitindo um pulso e medindo o tempo necessário para viajar do transmissor no robô até o repetidor remoto e volta. É como o RADAR, exceto que, em vez de refletir o sinal em uma superfície passiva, ele está sendo enviado de volta pelos seus transponders estacionários.
EDIT: Desde que fui chamado por Kevin neste caso, talvez eu explique ;-) (Todos se divertem, tenho o maior respeito por Kevin e ele está certo de que não forneci detalhes suficientes para mostrar como implementar isso).
Para medir com precisão o atraso de propagação entre dois pontos, são necessárias principalmente duas coisas: 1) Um caminho de sinal de linha reta, pois os reflexos criarão distorções. 2) Alguns componentes eletrônicos nas duas extremidades usam relógios sincronizados e a capacidade de medir intervalos de tempo com a precisão necessária.
Os relógios sincronizados são relativamente fáceis, pois a estação receptora pode derivar seu relógio do sinal transmitido pela outra estação. Esta é a transmissão de dados síncrona padrão com recuperação do relógio.
Aqui está um artigo: Medindo o atraso de propagação em um link de dados bidirecional de 1,25 Gbps, onde eles obtêm facilmente esse tipo de precisão em uma fibra óptica de 10 km de comprimento. Eles afirmam: "Ele deve ser capaz de sincronizar ~ 1000 nós com precisão de subnanosegundos em comprimentos de até 10 km".
Nesta nota, um método é descrito para determinar o deslocamento de tempo entre dois nós. Esses nós são conectados através de um canal de comunicação ponto a ponto bidirecional de 1,25 Gbps codificado em 8B / 10B, como, por exemplo, o 1000BASE-X (Gigabit Ethernet). O deslocamento de tempo é determinado medindo o atraso de propagação usando um sinal de marcador. O sinal é enviado de um mestre para um nó escravo e retornado usando a funcionalidade serializador / desserializador (SerDes) nos FPGAs (Virtex-5). O relógio recuperado no nó escravo é usado como o relógio de transmissão do escravo, para que o sistema completo seja síncrono. Para um canal de comunicação serial de 1,25 Gbps, o atraso é conhecido com uma resolução de um único intervalo de unidade (ou seja, 800 ps). Essa resolução pode ser aprimorada ainda mais medindo a relação de fase entre o relógio de transmissão e recepção do nó mestre. Foi demonstrado que a técnica trabalha em uma única fibra de 10 km usada em dois comprimentos de onda, para facilitar uma conexão bidirecional ponto a ponto entre o nó mestre e o escravo.
Além disso
Uma primeira configuração de teste foi construída para verificar o princípio da medição do atraso de propagação entre um transmissor e um receptor usando um canal de comunicação serial codificado operado a 3,125 Gbps. O transmissor e o receptor residem nos FPGAs em duas placas de desenvolvimento separadas. Essa primeira configuração de teste mostrou que é possível medir o atraso de propagação em uma fibra de 100 km com uma resolução de intervalo de uma unidade (ou seja, 320 ps a 3,125 Gbps).
EQUIPAMENTO USADO:
A configuração do teste consiste em duas placas de desenvolvimento ML507 Xilinx [7]. Um FPGA Virtex-5 é montado em cada placa. Uma placa de desenvolvimento do ML507 é designada como nó principal e a outra como nó escravo. O mestre e o escravo são conectados através de transceptores SFP (Small Form Factor Pluggable) e 10 km de fibra, criando um link bidirecional. É usada uma única fibra que é operada em comprimento de onda duplo.
Agora, claramente, essa configuração em particular é um exagero para a maioria dos projetos de robótica de hobby, mas pode ser facilmente reproduzida em casa, pois utiliza placas de desenvolvimento prontas para uso e não requer talentos especiais para trabalhar. No caso do robô, o link seria rádio, e não um cabo de fibra óptica. Talvez possa até ser um link de infravermelho, como um controle remoto de TV, embora eu suspeite que isso lá fora sob o sol forte possa ser problemático. À noite, poderia funcionar muito bem!