OpenSim + IMU data - drift when executing the movement of the model

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Emilia Sokol
Posts: 1
Joined: Mon Jan 17, 2022 3:14 am

OpenSim + IMU data - drift when executing the movement of the model

Post by Emilia Sokol » 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 ?

Tags:

User avatar
Carmichael Ong
Posts: 401
Joined: Fri Feb 24, 2012 11:50 am

Re: OpenSim + IMU data - drift when executing the movement of the model

Post by Carmichael Ong » Mon Nov 18, 2024 5:29 pm

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.

POST REPLY