Detección de caídas con acelerómetro

2

Ahora estoy desarrollando un sistema basado en microcontroladores que detecta cuando una persona se cae con el Acelerómetro. El acelerómetro podría colocarse en los bolsillos de tela de la persona. Lo importante es distinguir la señal durante una caída de una señal durante movimientos normales. Se realizará mediante un microcontrolador. Esto significa que la señal analógica del acelerómetro debe convertirse a digital antes de entregarse al controlador.

Pero los valores digitales son algo así como 241, 314, 102, etc. No sé cómo corregir el valor de señal que se generará durante una caída, es decir, el umbral en el que el microcontrolador detecta la caída. ¿Cómo hacer esto?

    
pregunta Dharmaputhiran

4 respuestas

3

Si vas a hacer esto de alguna manera útil, necesitarás hacer algo mucho más sofisticado que una simple verificación de umbrales en los datos sin procesar del acelerómetro.

En primer lugar, los acelerómetros se desvían, y usted tendrá que corregirlos. Entonces, como no conoce la orientación de un dispositivo en el bolsillo de alguien, tendrá que calcular de forma continua el vector de aceleración 3D y luego evaluar si hay eventos significativos, como cambios en el ángulo y / o magnitud. .

Considere las consecuencias de los errores, tanto los "falsos positivos" (que crean una alerta cuando no se produce una caída real) como los "falsos negativos" (que no detecta una caída real). Si cualquiera de estos se produce a una tasa significativa, su producto será un fracaso.

Tendrá que construir una cantidad significativa de dispositivos y simplemente recopilar datos de muchos usuarios diferentes que realizan muchas actividades diferentes (incluida la caída) y luego determinar si puede reconocer de manera confiable los eventos de caída entre todos la otra actividad.

    
respondido por el Dave Tweed
3

No estoy seguro de qué tipo de "caída" estás intentando detectar. Pero comencemos con la teoría básica, que es bastante sencilla, y luego pasemos a las no idealidades y los detalles de la implementación. Supongo que tiene un acelerómetro de 3 ejes.

Un acelerómetro mide la aceleración . La gravedad actúa sobre un acelerómetro en reposo y aparece como una fuerza de 1G. Si hay una caída libre, el vector de gravedad medido se reducirá a 0. Por lo tanto, como primer paso, puede establecer un umbral de la norma tridimensional del vector de aceleración. Si la norma 3-D cae por debajo del umbral, estás en una caída libre. Debido a que simplemente estás mirando la magnitud del vector, la orientación no importa.

¿Cuándo fallará este enfoque de "primer orden"? Puedo pensar en dos situaciones a primera vista ...

  • Fallará si hay alguna aceleración adicional durante una caída (¿tal vez una caída de salto / buceo?)
  • O, podría fallar si la caída no es una caída libre (tal vez alguien se las arregla para atraparse a sí mismo a mitad de camino o se deja caer suavemente)

Como ideas adicionales para un enfoque de segundo orden: puede intentar ver el perfil de magnitud. Esperamos ver una región de caída libre, tal vez alrededor de 0.3G, luego un pico por encima de 1G cuando la persona toca el suelo, seguida de aproximadamente un período de 1G de estar en el suelo. El otro póster es correcto: es probable que se requiera cierta experimentación para cuantificar el comportamiento repetible durante las caídas.

Finalmente, detalles de la implementación: si el acelerómetro genera valores analógicos, su ADC convierte de analógico a digital, lo que ve como 241, 314, 102, etc. Mire la hoja de datos del acelerómetro para ver los valores de conversión, probablemente algo en unidades de voltios / G . Luego, asegúrese de saber su conversión de ADC, probablemente en unidades de enteros / voltios. Esto debería ser suficiente para convertir su resultado en unidades de G.

    
respondido por el ejk
3

Hay ciertos acelerómetros que incluyen esta función (se utiliza en portátiles con discos duros mecánicos para bloquear la unidad en caso de una caída). Estos dispositivos pueden generar una interrupción en caída libre.

Uno de estos dispositivos es el MMA8452 de Freescale. Aquí hay una nota de aplicación con más detalles: enlace

    
respondido por el Lior Bilia
1

Primero, probaría para ver si la función de "interrupción de caída libre" que todos mencionan detectará una caída humana (que puede ser más lenta que la caída libre real, porque te estás ayudando a bajar, al menos de alguna manera, en todo menos en un viaje completo, caiga plano sobre su tipo de cara).

Suponiendo que no funciona el 100% del tiempo, registraría algunos conjuntos de datos de varias caídas. Querrá tomar un sensor de acelerómetro de 3 ejes y calcular la magnitud del vector de aceleración (voy a suponer que estamos hablando de g, ya que la mayoría de los factores de escala de MEM se dan para convertir a g). Recuerde: siempre hay 1 g en usted si está sentado quieto, por lo que la diferencia del vector medido y 1 es la aceleración del cuerpo. Busque eventos de alta frecuencia en los que la magnitud del vector de aceleración sea mucho menor que 1. La deriva no debería ser un problema, ya que una caída realmente debería sobresalir en el conjunto de datos.

Asegúrese de obtener un sensor MEM que no esté clasificado para una gran cantidad de g: algunos dispositivos emiten en el rango de 10 o 100 de g. Obtenga una que sea de escala completa 2 o 4 g para que tenga una buena resolución. Estos dispositivos no se rompen después de 2 o 4 g, solo tienen una buena resolución en ese rango.

Tienes suerte, porque la actitud (determinar qué camino está hacia arriba) realmente no importa en este problema: solo te importa la magnitud del vector de aceleración.

    
respondido por el Bob

Lea otras preguntas en las etiquetas