Open tulku opened 8 years ago
Lidié con esto en mi tesis. Ahí cada dato tiene un timestamp del micro asignado (un timer que cuente microsegundos). El tema es que tenés drift de los micros. En mi tesis sincronizamos todo con GPS, pero acá no tenemos eso.
Podemos hacer que la pi resincronice los clocks de todos los micros dado cierto tiempo, por ahi colocar un GPIO en cada micro y usar uno en la PI para eso. Podemos hacer que la Pi tenga un solo cable al nodo y de ahí tenes conectores para las placas con los xmega. Tambien podemos hacer que sea por una orden via I2C/serie desde la pi, va a tomar mas tiempo pero deberia ser constante.
Necesitamos tener un reloj común en el robot, cosa de saber en qué momento se tomaron las mediciones de los sonares o de la IMU para luego incorporar esa información al mapa de obstáculos (tenemos que saber donde estábamos cuando vimos el obstáculo, para saber donde está el obstáculo!) o para el algoritmo de localización (en qué momento medimos la aceleración).
El sistema va a tener el reloj de la rpi, pero de alguna forma tenemos que sincronizar las mediciones con el arduino que maneja los motores y los xmega con los sonares.