Actualmente, udacity ofrece un curso gratuito en línea Programación de un automóvil robótico que le enseña cómo lo hace Google para sus automóviles autónomos. Básicamente utilizan el GPS para un posicionamiento general junto con mapas almacenados y sensores de visión para la localización con un alto grado de precisión. El software usa filtros de partículas.
Podría hacerlo solo con el GPS si utilizara el costoso equipo diferencial GPS utilizado por los topógrafos, pero eso difícilmente sería rentable. Como sugiere, si usa un par de transceptores de bajo costo (¿Xbee quizás?), Podría medir fácilmente la distancia con un grado extremadamente alto de precisión transmitiendo un pulso y midiendo el tiempo que toma viajar desde el transmisor en el robot al Repetidor remoto y posterior. Esto es como RADAR, excepto que en lugar de rebotar la señal de una superficie pasiva, sus transpondedores estacionarios la envían de regreso.
EDITAR: Dado que Kevin me llamó en este caso, tal vez mejor lo explique ;-) (Todo en buena diversión, tengo el mayor respeto por Kevin y él es bastante correcto que no proporcioné suficientes detalles para mostrar cómo implementar esto).
Para medir el retraso de propagación entre dos puntos con precisión se requieren principalmente dos cosas: 1) Una ruta de señal en línea recta ya que las reflexiones crearán distorsiones. 2) Algunos componentes electrónicos en ambos extremos que utilizan relojes sincronizados y la capacidad de medir intervalos de tiempo con la precisión requerida.
Los relojes sincronizados son relativamente fáciles ya que la estación receptora puede derivar su reloj de la señal transmitida por la otra estación. Esta es una transmisión de datos síncrona estándar con recuperación de reloj.
Aquí hay un documento que mide el retraso de propagación en un enlace de datos bidireccional de 1.25 Gbps donde obtienen fácilmente este tipo de precisión en una pieza de fibra óptica de 10 km de largo. Afirman: "Debería poder sincronizar ~ 1000 nodos con una precisión de subnanosegundos en longitudes de hasta 10 km".
En esta nota se describe un método para determinar el desplazamiento de tiempo entre dos nodos. Estos nodos se conectan a través de un canal de comunicación punto a punto bidireccional codificado a 1,25 Gbps de 8B / 10B, como por ejemplo 1000BASE-X (Gigabit Ethernet). El desplazamiento de tiempo se determina midiendo el retraso de propagación utilizando una señal de marcador. La señal se envía desde un maestro a un nodo esclavo y se devuelve utilizando la funcionalidad de serializador / deserializador (SerDes) en FPGA (Virtex-5). El reloj recuperado en el nodo esclavo se utiliza como reloj de transmisión del esclavo, por lo que el sistema completo es sincrónico. Para un canal de comunicación en serie de 1.25 Gbps, el retraso se conoce con una resolución de un intervalo de unidad individual (es decir, 800 ps). Esta resolución se puede mejorar aún más midiendo la relación de fase entre el reloj de transmisión y recepción del nodo maestro. Se ha demostrado que la técnica funciona sobre una sola fibra de 10 km que se usa en dos longitudes de onda, para facilitar una conexión bidireccional punto a punto entre el nodo maestro y el nodo esclavo.
además
Se construyó una primera configuración de prueba para verificar el principio de medir el retraso de propagación entre un transmisor y un receptor utilizando un canal de comunicación serial codificado operado a 3.125 Gbps. El transmisor y el receptor residen en FPGA en dos placas de desarrollo separadas. Esta primera configuración de prueba mostró que es factible medir el retraso de propagación en una fibra de 100 km con una resolución de un intervalo de unidad (es decir, 320 ps a 3.125 Gbps).
EQUIPAMIENTO USADO:
La configuración de prueba consta de dos placas de desarrollo ML507 Xilinx [7]. Un FPGA Virtex-5 está montado en cada placa. Una placa de desarrollo ML507 se designa como nodo maestro, la otra como nodo esclavo. El maestro y el esclavo están conectados a través de transceptores conectables de factor de forma pequeño (SFP) y 10 km de fibra, creando un enlace bidireccional. Se utiliza una sola fibra que funciona a doble longitud de onda.
Ahora, claramente, esta configuración particular es exagerada para la mayoría de los proyectos de robótica de hobby, pero podría reproducirse fácilmente en casa ya que utiliza tableros de desarrollo listos para usar y no requiere talentos especiales para trabajar. En el caso del robot, el enlace sería de radio en lugar de un cable de fibra óptica. Quizás incluso podría ser un enlace IR como el control remoto de un televisor, aunque sospecho que afuera, a pleno sol, eso podría ser problemático. ¡Por la noche podría funcionar muy bien!