Quaternion Drift Problem

Hi Folks,

I'm having a problem with the set of MMC sensors I have drifting when used at higher speeds. We are using 3 sensors on each leg to get joint angle information and animate an avatar's legs that follow the user's own legs as closely as possible. Here is a video of it working as intended:

When I move to the treadmill in the lab and start walking at higher speeds, we encounter a problem with drift of the quaternions as is demonstrated in the other video below:

As soon as I step onto the sides of the treadmill and remain stationary, the correct orientation is quickly returned to, but it is a problem for us that we can't track the motion of legs that are walking quickly (ideally we would even like to be able to capture jogging accurately). I have tried using the NDOF mode on the sensors instead of IMU_PLUS but the problem persisted. Any suggestions while I troubleshoot?



  • Quantify "higher speeds".

    What are your sensor fusion settings?

  • @Eric said:
    Quantify "higher speeds".

    What are your sensor fusion settings?

    I would have to do further testing to be able to quantify this. I just noticed that as I increased the speed on the treadmill the drift got quite bad as you can see in the second video.

    My sensor fusion is set up as follows (note that I tried switching to NDOF but it didn't help so I changed back):


  • I'm going to try to up the Gyro speed and see if that helps.

  • edited June 2019

    Increasing the Acc/Gyro ranges did the trick. Not sure why I didn't think to try this before posting. If anyone else is having a similar issue make sure your ranges are set to be large enough for your application. I actually ended up using this site (https://musculoskeletalkey.com/biomechanics-2/) to find the expected angular velocities of joint angles for human gait and went from there. The application is working very well now.

Sign In or Register to comment.