Seguimiento del posicionamiento 2D con el sensor IMU

0

Estoy usando un automóvil en miniatura y quiero estimar la posición. No podemos usar módulos GPS y la mayoría de los sistemas de rastreo que vi, están usando IMU senson con el módulo GPS. En nuestro automóvil podemos encontrar nuestra ubicación exacta exacta con el procesamiento de imágenes, pero para algunas partes que no tienen suficientes marcas no podemos hacer esto. Por eso queremos usar la IMU como respaldo para nuestro posicionamiento. por lo tanto, siempre y cuando el posicionamiento esté cerca es bueno para nosotros.

Y solo nos interesa nuestra posición 2D ya que el auto está en un terreno plano.

Estoy usando un sensor IMU 9DOF y quiero calcular mi movimiento. He visto algunos trabajos asombrosos con IMU para rastrear los movimientos del cuerpo, pero no hay código ni una explicación sencilla. Así que básicamente Tengo la lectura de acelerómetro, giroscopio y magnetómetro. También tengo orientación en los quartes. Desde el dispositivo también obtengo la aceleración lineal, pero incluso cuando no la muevo en ninguna dirección, los valores no son 0, lo que es realmente confuso.

¿Puedes ayudarme, por favor, cómo abordar esto?

Gracias de antemano

Actualización:

Así que ahora mismo estamos obteniendo el título perfecto de los valores de cuaternión. También tenemos el tiempo delta entre cada encabezado. Entonces, lo que creo que necesitamos ahora es la velocidad. ya sea como un vector o como un valor total.

    
pregunta Khashayar

1 respuesta

1

Las tasas distintas a cero son normales para acelerómetros y giroscopios MEMS. Este es un error persistente. Se elimina de alguna manera asegurándose de que el dispositivo esté parado durante un par de segundos (para que la salida se estabilice) y luego obtenga una lectura. De aquí en adelante, restando este error de estado estable de todas las mediciones futuras. Busque la hoja de datos de su sensor: habrá valores máximos para este y otros tipos de tolerancias de medición.

Ahora, el tema mucho más complejo de fusionar los datos del acelerómetro, el giro y la brújula. Esto puede complicarse enormemente, utilizando el filtro de Kalman , como hizo Apolo una vez. Sin embargo, también puede ser bastante simple.

La idea general es que el sensor magnético tiene una respuesta lenta, baja precisión, pero el error no aumenta. Por otro lado, la salida de un giroscopio es la velocidad, que se integra para obtener la posición angular. El error crece muy rápido : por lo general, no se puede realizar un cómputo injustificado durante más de un minuto con solo un giro. El acelerómetro es peor: ¡genera una aceleración, que se integra dos veces !

Por lo tanto, un filtro de fusión simple sería una combinación lineal de las lecturas del acelerómetro y la brújula, con el coeficiente frente al giroscopio que disminuye sobre el timo.

Aquí es una discusión de mucho más conocedor La gente que yo sobre el tema.

Nota: lo que estás tratando de hacer se llama recuento muerto .

    
respondido por el Vorac

Lea otras preguntas en las etiquetas