Cálculo de la distancia a partir de la aceleración medida frente al tiempo

Tengo un Acelerómetro conectado a un dispositivo que alimenta los valores instantáneos de la aceleración en las 3 direcciones. Intenté calcular la distancia para un movimiento vertical usando estos valores con Excel (aplicando dos veces una integración), pero de alguna manera parece que no funciona correctamente.

¿Cómo sería una buena manera de calcular la distancia recorrida a partir de la aceleración medida utilizando tablas de Excel?

Si solo está interesado en el desplazamiento vertical, solo necesita la aceleración vertical también. ¿Puedes mostrarnos lo que hiciste?
De hecho me interesa el desplazamiento en todas las direcciones, pero para empezar he probado lo más sencillo posible...
Tengo una larga lista de valores, y como conozco el intervalo de tiempo para las medidas, he intentado calcular primero la media de la aceleración, y luego x = a * 0.5 * t^2... el resultado de la prueba está lejos diferente a la distancia esperada
Mire Eurequa ( creativemachines.cornell.edu/eureqa ) donde puede tomar datos medidos, suavizar, ajustar y aplicar funciones de cálculo.

Respuestas (1)

A partir de pag o s i t i o norte z = z = 0 y v ( z ) = 0 y mediante el seguimiento de múltiples valores de aceleración, ya sea con un intervalo de tiempo o a intervalos fijos, t , entonces puedes conseguir el puesto... un poco. Se desviará con el tiempo. Además, su dispositivo no puede girar en absoluto, o necesita un giroscopio para rastrear eso y luego usar la trigonometría para orientar correctamente los valores xy y z del acelerómetro. Asumiendo que siempre está orientado de tal manera que el a ( z ) siempre es una aceleración vertical perfecta (si está en un vehículo que siempre está plano, en cuyo caso z no importa, o si está en un riel de guía vertical),

pag ( z ) = 0 t v ( z )   d t = 0 t a ( z )   d t

Además, desde aquí :

Respuesta corta: Olvídalo.

Respuesta más larga: a menos que esté en un riel perfectamente recto, no logrará lo que quiere hacer sin (a) un conjunto de giroscopios; y (b) Sensores mucho más precisos que los que tiene.

Los acelerómetros miden la aceleración en el marco de referencia fijo del cuerpo, mientras que necesita algo de desplazamiento en un marco fijo en la tierra.

Por lo tanto, no solo necesita integrar los acelerómetros, sino también rotarlos en el marco fijo a tierra antes de realizar la integración.

Esto es asumiendo sensores perfectos. Los sensores MEMS están lejos de ser perfectos: he escrito una publicación sobre algunos de los errores aquí.

Considere dos errores: 1. Un sesgo en el acelerómetro. 2. Un error de actitud inicial (inclinación).

Además de cualquier señal de aceleración que haya, integre un sesgo y obtendrá un error de rampa con el tiempo. Integre la rampa y obtendrá un error cuadráticamente creciente con el tiempo. Esto se acumulará muy, muy rápido.

Considere un error de inclinación. Ahora medirá parte del vector de gravedad en la dirección de avance (o en la dirección que sea). Integre este error dos veces y tendrá el mismo problema que el sesgo.

Entonces, mi consejo nuevamente es ¡NO LO HAGAS! Encuentra otro método.

Además, consulte este libro para obtener diseños más detallados, o use cualquier sensor y algoritmo en el que estén estos tipos:

http://www.youtube.com/watch?v=6ijArKE8vKU

Si todavía quiere intentarlo, use el método Trapezoidal en Excel, es bastante fácil. Hay una página de explicación aquí con una muestra, pero aquí hay una forma más completa:

1  Time [A]  Acceleration [B]   Velocity [C]                Distance [D]
2  0         a(z)               0                           0
3  1         a(z)               =C2+(A3-A2)*(B2+B3)/2       =D2+(B3-B2)*(C2+C3)/2
4  2         a(z)               =C3+(A4-A3)*(B3+B4)/2       =D3+(B4-B3)*(C3+C4)/2
5  3         a(z)               =C4+(A5-A4)*(B4+B5)/2       =D4+(B5-B4)*(C4+C5)/2
6  4         a(z)               =C5+(A6-A5)*(B5+B6)/2       =D5+(B6-B5)*(C5+C6)/2
7  5         a(z)               =C6+(A7-A6)*(B6+B7)/2       =D6+(B7-B6)*(C6+C7)/2
8  6         a(z)               =C7+(A8-A7)*(B7+B8)/2       =D7+(B8-B7)*(C7+C8)/2
9  7         a(z)               =C8+(A9-A8)*(B8+B9)/2       =D8+(B9-B8)*(C8+C9)/2
10 8         a(z)               =C9+(A10-A9)*(B9+B10)/2     =D9+(B10-B9)*(C9+C10)/2
11 9         a(z)               =C10+(A11-A10)*(B10+B11)/2  =D10+(B11-B10)*(C10+C11)/2
12 10        a(z)               =C11+(A12-A11)*(B11+B12)/2  =D11+(B12-B11)*(C11+C12)/2
   ...       ...                ...                         ...
Si bien tiene toda la razón en que este no es un método confiable, realmente depende de la aplicación. Para algo como un cohete modelo con una gran aceleración en una dirección, esto puede funcionar muy bien, mientras que rastrear la posición de una persona usando un teléfono inteligente sin GPS es inútil.
El modelo de cohete experimentará una cierta cantidad de 'inclinación' e incluso puede invertir la dirección en el descenso, lo que sesgará sus mediciones al proporcionar aceleraciones z más pequeñas que las precisas, y luego agregará a la posición al caer, respectivamente. En un vehículo terrestre, x e y pueden ser útiles, pero una vez que introduce la suspensión, realmente necesita un giroscopio para rastrear el balanceo, el cabeceo y la guiñada del acelerómetro para tener mucha precisión.