Estoy tratando de reconstruir la trayectoria de un objeto con una IMU atada a bordo para hacer navegación a estima. Un filtro de Kalman parece estar en orden. Pero el filtro de Kalman parece estar orientado hacia actualizaciones de posición en tiempo real. Sin embargo, tengo el lujo de no tener que averiguar la posición del objeto mientras se mueve. Al final de la ruta, tendré todos los datos (giroscopios, acelerómetros y tal vez magnetómetros) que puedo usar para calcular la ruta. ¿Hay algo mejor que Kalman que se pueda usar?
En este momento tengo una comprensión superficial del filtro de Kalman, así que perdónenme si esta pregunta es un poco tonta. No quería involucrarme con el filtro de Kalman si es subóptimo.
El filtro de Kalman hace más que simplemente "filtrar". Elimina la ambigüedad de las aceleraciones de traslación de las reorientaciones con respecto a la gravedad, y utiliza entradas de acelerómetros y giroscopios para producir algo que se asemeje a la verdadera posición en el espacio. No puede hacer eso con filtros de una sola entrada y una sola salida.
Puedes probar filtfilt en Matlab. Filtra los datos hacia adelante con el filtro FIR de su elección y luego los vuelve hacia atrás. Los datos filtrados no tienen retraso ni cambio de fase, en comparación con todos los filtros en tiempo real. filtfilt prácticamente determina el límite y las condiciones iniciales, por lo que se adapta al primer y último dato en la tabla/búfer de datos.
EDITAR:
https://github.com/xioTechnologies/Oscillatory-Motion-Tracking-With-x-IMU/blob/master/Script.m
Encontré un ejemplo de matlab de xio Technologies. El tipo es el famoso Madgwick, autor del algoritmo IMU de fusión utilizado en cuadricópteros. Bueno, de hecho, también usa filtfilt para calcular datos en Matlab.
Eugenio Sh.
AndrejaKo
Eugenio Sh.
Eugenio Sh.
skvery
Eugenio Sh.
Chu