# Carrito guiado por GPS



## METALLICA (May 19, 2011)

Hola a todos, como estan?
Estoy con un proyecto de hacer un carro que se guie por coordenadas gps, por ahora lo que he logrado es que el pic 18F4455 lea todos los datos que le manda el gps por serial y separe en una cadena la latitud, y en otra la longitud, y que las muestre en un lcd. Sin embargo, no consigo hacerme la idea de como calcular la trayectoria de un punto de gps a otro, o sea, de donde se encuentra el carro en este momento a un punto gps dado ubicado varias decenas de metros mas lejos. La idea mia es hacer todo ese procesamiento en el pic y con este mandarle comando a un freescale coldifre v1 que es el que mueve los motores, los comandos serian del tipo: avanzar, reducir la velocidad del motor derecho, reducir la velocidad del motor izquierdo, etc.

Alguien tiene documentacion que me pueda ser util? muchas gracias de antemano.


----------



## golumx (May 19, 2011)

Para poder trabajar con los datos del gps debes pasar de coordenadas geograficas (long, lat) a un sistema de coordenadas artesiano o por lo menos que localmente lo sea, como por ejemplo la proyeccion UTM. Esa transformacion la puedes realizar con el pic, pero ademas has de implementar en el pic un sistema de navegacion que de las ordenes Freescale, mirare a ver si encuentro las ecuaciones de la transformacion.


----------



## METALLICA (May 19, 2011)

Gracias golumx, buscare tambien como es lo que dices. Me recomendarion tambien trabajar calculando la pendiente entre el punto inicial y el final, luego calcular la pendiente de cada lugar a donde se mueva el carro, y con base ne la diferencia de pendientes sabria si tengo que corregir a la izquierda o a la derecha.


----------



## josb86 (May 20, 2011)

METALLICA dijo:


> Gracias golumx, buscare tambien como es lo que dices. Me recomendarion tambien trabajar calculando la pendiente entre el punto inicial y el final, luego calcular la pendiente de cada lugar a donde se mueva el carro, y con base ne la diferencia de pendientes sabria si tengo que corregir a la izquierda o a la derecha.



creo que solamente seria hacer la ecuación de la linea recta o algo parecido y asi uedes hallar el angulo de las ruedas ara llegar de un punto a otro


----------



## golumx (May 26, 2011)

Metallica, descríbenos un poco mejor tu proyecto, ¿De que distancias y precisiones en el posicionamiento estamos hablando? un receptor GPS basico tiene una precision real de unos 10m, si vas a incorporar algo mejor (y proporcionalmente mas caro) tipo GPS para GIS llegas a 1m y si necestitas precision centrimetrica, pues necesitas un GPS de topografia de dos frecuencias y que reciba correcciones en tiempo real bien via telefonia o a traves de otro equipo GPS via radiomodem.


----------



## lubeck (May 26, 2011)

> Sin embargo, no consigo hacerme la idea de como calcular la trayectoria de un punto de gps a otro, o sea, de donde se encuentra el carro en este momento a un punto gps dado ubicado varias decenas de metros mas lejos


 
Suena Obvio....

y si recurres a aquellos extraños e incomprensibles calculos trigonometricos... triangulaciones, teoremas de pitagoras , senos,cosenos, catetos e hipotenusas, angulos y cosas raras??

o no entendi cual es el problema...


----------



## golumx (May 28, 2011)

Como decia antes, antes de ponernos a calcular rumbos y distancias, para establecer la direccion de avance hay que transformar los datos que nos da el GPS, ya que el protocolo NMEA da coordenadas geograficas y hay que transformarlas a UTM (por ejemplo) para tener unas coordenas planas y a partir de estas, puedes ya calcular el rumbo (arcotangente del incremento de ordenadas entre abscisas)y la distancia (valor absoluto del incremento de abscisas y ordenadas). Pero por favor indica que modulo GPS empleas y pa recision con la que se tiene que posicionar el carro.
Te paso un link en el que explica como hacer los calculos para la transformacion de geograficas a UTM: http://recursos.gabrielortiz.com/index.asp?Info=058a


----------

