Estou lendo a filtragem Kalman no momento. Em particular, estou interessado em usar as variantes "estendida" e "sem cheiro" para fusão e calibração do sensor IMU.
Em uma comparação da filtragem Kalman sem cheiro e estendida para estimar o movimento do quaternion, os quaternions são usados para representar a rotação 3D.
Entendo que quaternions de unidade podem ser usados para representar uma rotação 3D . Eles servem para representar atitudes absolutas (uma rotação de uma referência universal), rotação relativa ou velocidade angular (uma rotação que representa a taxa por segundo ou outro período de tempo fixo).
No entanto, este artigo discute o uso da integração Runge-Kutta , especificamente o RK4. Ele usa o RK4 com os quaternions, mas não parece fornecer detalhes do que isso envolve ou por que é necessário. Aqui está a parte do artigo que menciona…
Dado o vetor de estado na etapa k - 1, primeiro executamos a etapa de predição encontrando a estimativa do estado a priori xˆ - k integrando a equação 1 [f = dq / dt = qω / 2] ao longo do tempo por ∆t (ou seja, 1,0 dividido pela taxa de amostragem atual) usando um esquema de 4ª ordem Runge-Kutta.
Eu encontrei o Runge Kutta antes por integrar posições na cinemática. Eu realmente não entendo como ou por que seria necessário aqui.
Minha abordagem ingênua seria simplesmente multiplicar a atitude existente q pela velocidade angular ω para obter o novo q esperado - não vejo por que a integração numérica é necessária aqui? Talvez seja "escalar" o tempo unitário ω para a mudança que ocorre em ∆t, mas certamente isso pode ser feito de maneira muito simples manipulando diretamente ω (elevando-o à potência fracionária ∆t)?
Ninguem sabe?