Estoy leyendo sobre el filtrado de Kalman en este momento. En particular, estoy interesado en usar las variantes "extendida" y "sin perfume" para la fusión y calibración del sensor IMU.
En una comparación del filtrado de Kalman sin perfume y extendido para estimar el movimiento del cuaternión, los cuaterniones se usan para representar la rotación 3d.
Entiendo que los cuaterniones de unidades se pueden usar para representar una rotación 3D . Se adaptan para representar la actitud absoluta (una rotación desde una referencia universal), la rotación relativa o la velocidad angular (una rotación que representa la velocidad por segundo o algún otro período de tiempo fijo).
Sin embargo, estos documentos discuten el uso de la integración Runge-Kutta , específicamente RK4. Utiliza RK4 con los cuaterniones, pero no parece proporcionar detalles de lo que esto implica o por qué es necesario. Aquí está la parte del documento que lo menciona ...
Dado el vector de estado en el paso k - 1, primero realizamos el paso de predicción al encontrar la estimación de estado a priori xˆ − k integrando la ecuación 1 [f = dq / dt = qω / 2] a través del tiempo por ∆t (es decir, 1.0 dividido por la frecuencia de muestreo actual) usando un esquema Runge-Kutta de 4to orden.
Me he encontrado con Runge Kutta antes para integrar posiciones en cinemática. Realmente no entiendo cómo o por qué sería necesario aquí.
Mi enfoque ingenuo sería simplemente multiplicar la actitud existente q por la velocidad angular ω para obtener la nueva q esperada. No veo por qué es necesaria la integración numérica. ¿Quizás sea para "escalar" la unidad de tiempo ω al cambio que ocurre en ∆t, pero seguramente eso se puede hacer simplemente manipulando directamente ω (elevándolo a una potencia fraccional ∆t)?
¿Nadie sabe?