jueves, 17 de abril de 2008

Aceleraciones y ajustes

Llevo ya muchos días enfrascado trabajando con el acelerómetro del mando de la wii, este dispone de un acelerómetro ADXL330 para medir la fuerza que actúa sobre el mando en los tres ejes. De momento sólo trabajo con la información del eje Y, ya que el mando estará colocado de forma horizontal con los mandos hacia arriba y la cámara de infrarrojos hacia delante.

Con esta información no pretendo determinar la velocidad a la cual se desplaza el robot, sino la distancia que avanza. Si recordamos un poco de la física que estudiamos en el instituto (ha llovido mucho desde entonces...) derivando la distancia recorrido respecto del tiempo obtenemos la velocidad, y derivando de nuevo esta llegamos a la aceleración. Deshaciendo este camino llegamos de nuevo a la distancia.

Las pruebas realizadas no me han dejado muy contento, los datos obtenidos de la realidad distan bastante de los valores esperados, por lo que Javi me sugirió que utilizase el filtro de Kalman para suavizar el impacto de estos. Este filtro utiliza la información de la medición para intentar 'adivinar' con la mayor probabilidad posible el valor que debería tener el siguiente dato (en relación al que ha tenido). Si queréis ahondar un poco más, os dejo el enlace de la socorrida wikipedia.

Una vez implementado este filtro en python he pasado a realizar nuevas mediciones y he podido ver como los datos filtrados se ajustan más a la realidad que los propios datos leídos del mundo real.

Ahora sólo queda saber si con la aceleración filtrada puedo obtener una medida del espacio coherente, que será a lo que dedique los próximos experimentos.

Os dejo un gráfico que representa la aceleración del mando en su eje Y en un tiempo de aproximadamente dos segundos.


No hay comentarios: