Tracking 3d gait from accelerometer data

17 views (last 30 days)
Giovanni Mastromatteo
Giovanni Mastromatteo on 16 Nov 2016
Answered: Guillaume on 17 Jun 2020
Hi, I'm testing a LPMS b2-bluetooth-imu board and I get from the device the accelerometer, gyro, magnetometer, Euler angles and Quaternions data.
The idea is to realize something similar to this (https://www.youtube.com/watch?v=6ijArKE8vKU).
Now, after two integrations of the linear acceleration data for three directions, I have found the resultant displacement.
How could I rebuild the step gait combining the result for each axis?
Thanking you in advance for your help in this matter.

Answers (2)

Sharah
Sharah on 16 Nov 2016
What do you mean by "rebuild the step gait combining the result for each axis"?
Usually you would do double integration on all 3 axis x y z. You shouldn't combined them all together if you want the real movement in all 3 direction. On the other hand, if you only require resultant displacement, then you'll combined the data from all theree axis as in:
xyz = sqrt(x^2 + y^2 + z^2)
And if you want a graphical representation of the gait, you will plot the data from all three axis.
_
SAM
Human Robotics Group
Imperial College London
  2 Comments
Giovanni Mastromatteo
Giovanni Mastromatteo on 16 Nov 2016
Sorry, I didn't explain well. What i would to track is the gait from the obtained values of displacement in the three axes. I've integrated the arrays of linear acceleration in 3-axis, in the sintax shown below:
vX=cumtrapz(Time, aX);
sX=cumtrapz(Time, vX);
vY=cumtrapz(Time, aY);
sY=cumtrapz(Time, vY);
vZ=cumtrapz(Time, aZ);
sZ=cumtrapz(Time, vZ);
Plotting the resulting arrays for the displacement I obtain these graphs
I wish to track the gait as this example
Thanks for your help
Sharah
Sharah on 16 Nov 2016
1) Your integration value especially from Z direction looks like there's drift, you might want to remove that
2) the picture you're showing looks like the force measure by a force plate during walking, so not sure what you're trying to see here.
3) If you think about a movement, there will always be a 3D representation of a movement. if you are interested in only the vertical (up and down the movement), just take the value from only that axis (either only x, y or z) depending on your measurement.

Sign in to comment.


Guillaume
Guillaume on 17 Jun 2020
Hi Giovanni.
I am currently working on small floating devices and I would like to use my LMPS B2 as a displacement tracker.
I am seeing that you have probably achieved what I am looking for.
Would you mind to share your MALTAB script ?
Are you satisfied with the final output ?
Many many thanks.

Categories

Find more on Simulation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!