Funcionalidad de los acelerómetros

¿Es posible hacer un velocímetro con un acelerómetro? Estoy trabajando con hardware Arduino.

Respuestas (3)

TL; DR Básicamente, no, para la mayoría de las situaciones.

Dado que la aceleración es la derivada de la velocidad, la integración de la salida de un acelerómetro debería darte la velocidad, sin embargo, hay varias fallas en ese ungüento (sic).

En primer lugar, si recuerda su cálculo, la integración deja una constante arbitraria, por lo que debe conocer la velocidad inicial para determinar una nueva velocidad. Para decirlo de otra manera, un objeto que se mueve a velocidad constante no tiene aceleración.

En segundo lugar, los acelerómetros MEMS utilizados en los acelerómetros de consumo típicos tienen mucho desplazamiento y deriva. La compensación también se integra y, por lo tanto, tiende a aumentar sin límite con el tiempo. Otros errores, como la histéresis y los errores de escala, también afectarán los resultados del cálculo.

En tercer lugar, el acelerómetro responderá a la fuerza de gravedad de 1g. Desde el punto de vista del acelerómetro, un acelerómetro sentado sobre la mesa parece estar acelerando Edición: HACIA ARRIBA a unos 10 m/s^2. Incluso si intenta ignorar ese eje, g puede colarse en los otros ejes. Un objeto en caída libre parecerá no tener aceleración, ya sea que esté cayendo hacia el suelo, en órbita o en algún lugar del espacio. Para aplicaciones normales, eso significa que la orientación del acelerómetro debe conocerse con gran precisión: un error de solo uno o dos grados provocará un gran error en la estimación de la velocidad en segundos.

Por lo tanto, un acelerómetro de bajo costo solo es útil en un subconjunto muy limitado de aplicaciones de estimación de velocidad: la "navegación a estima" no es muy útil con acelerómetros de bajo costo. Sin embargo, si la señal del acelerómetro pudiera combinarse de alguna manera con algún tipo de medición de posición precisa pero lenta (por ejemplo, GNSS como GPS o GLONASS), entonces podría tener una estimación de velocidad de respuesta rápida que no se desvía. Esto se puede hacer con un algoritmo que tenga en cuenta los errores de las dos medidas y los pondere adecuadamente (típicamente con un filtro de Kalman).

Es posible usar acelerómetros muy precisos en combinación con giroscopios precisos y muy costosos para determinar la velocidad y la posición bastante bien durante períodos de tiempo relativamente cortos. Esto es útil en caso de que quisiera entregar algo, digamos un 'paquete' importante de algún tipo, a personas en una parte distante de la tierra muy rápidamente (minutos) y no pudiera depender de una medición de posición absoluta (digamos ver un brillante estrella o GNSS) durante todo el viaje (probablemente conozca la posición inicial). La combinación de acelerómetros y giroscopios se denomina IMU (unidad de medida inercial). Cuando se combinan con GNSS, se denominan sistemas de navegación inercial asistidos por GNSS).

La gravedad acelera hacia arriba (Elevador de Einstein), pero por lo demás, ¡una gran respuesta!

Eso depende. Lo que quiere hacer es algo llamado navegación a estima, donde calcula la velocidad integrando la aceleración. El problema de hacer esto es que también integra cualquier error y ruido, por lo que con el tiempo su velocidad calculada se vuelve cada vez más inexacta. Desafortunadamente, todos los acelerómetros comerciales de bajo costo que puede comprar funcionan muy mal en esta área.

Sin embargo, he visto un rendimiento razonable (según sus necesidades) al integrar un sensor de bajo costo en el asiento del pasajero de un vehículo. En carreras cortas (<500 m) ciertamente dio una indicación razonable de velocidad. Pero si no tiene nada después de este tiempo para permitir que el sistema obtenga una referencia absoluta, entonces los resultados rápidamente se vuelven inutilizables.

La aceleración es la derivada de la velocidad, por lo que puede integrar la aceleración de su acelerómetro a lo largo del tiempo para obtener su velocidad actual si conoce la velocidad en un momento dado, por ejemplo, tiene que quedarse quieto (v = 0) cuando comienza medición.

Sin embargo, esto será muy inexacto, ya que también integrará todo el error de su acelerómetro.