OpenSim + IMU data - drift when executing the movement of the model
Posted: Sat Nov 02, 2024 9:24 am
Hello, I have created a model of the spine in OpenSim. Using Shimmer accelerometers, I record movements of the upper body and want the model to perform this movement. My problem is that there is a drift in the movement of the model as time passes.
When executing the movement, I focus exclusively on the flexion and extension of the upper body.
I use MATLAB for the complete processing of the acceleration data. Here I first filter the data with a low-pass filter of 10 Hz. I then use the Madgwick and Mahony AHRS filter to create quaternions (sample period=1/1024 , beta= 0.0035). I create a storage file from the quaternions, calibrate the model and track the movement.
The movement is initially executed well by the model. However, as time passes, a drift occurs and the model tilts backwards.
If I chose a beta value of zero, the drift becomes smaller, but this does not makes sense to me.
Has anyone had similar experiences with the development of a drift when executing the movement of the model and have a solution for me or a hint where the problem may be ?
When executing the movement, I focus exclusively on the flexion and extension of the upper body.
I use MATLAB for the complete processing of the acceleration data. Here I first filter the data with a low-pass filter of 10 Hz. I then use the Madgwick and Mahony AHRS filter to create quaternions (sample period=1/1024 , beta= 0.0035). I create a storage file from the quaternions, calibrate the model and track the movement.
The movement is initially executed well by the model. However, as time passes, a drift occurs and the model tilts backwards.
If I chose a beta value of zero, the drift becomes smaller, but this does not makes sense to me.
Has anyone had similar experiences with the development of a drift when executing the movement of the model and have a solution for me or a hint where the problem may be ?