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 ?
OpenSim + IMU data - drift when executing the movement of the model
- Emilia Sokol
- Posts: 1
- Joined: Mon Jan 17, 2022 3:14 am
- Carmichael Ong
- Posts: 401
- Joined: Fri Feb 24, 2012 11:50 am
Re: OpenSim + IMU data - drift when executing the movement of the model
The validation paper for OpenSense (which the IMU Inverse Kinematics tool uses), describes how they chose the filter gain for their experiments in the Methods section.