Dear Cecilia,
I am Fangshi Zhu, a postdoctoral research fellow from the University of Texas Health Science Center. Sorry I am not writing this post to answer your question. Instead, I am seeking your help.
I am trying to use the OpenSim IMU inverse kinematics tool with a different kind of IMU sensor and
met some technical difficulties with IMU sensor calibration (base sensor heading correction and sensor rotation settings). It seems like you are using the Xsens IMU sensors (same as the tutorial) and have no issue with it. I am wondering if you could provide some help on this?
In the online tutorial:
https://simtk-confluence.stanford.edu:8 ... h+IMU+Data, it says that to place/calibrate the IMU sensors, you need to:
- Specify the <base_imu_label> (pelvis_imu)
- Specify the <base_heading_axis> (The axis of the base IMU that represents its heading direction)
- Specify the <sensor_to_opensim_rotations>
However, the explanation is not detailed enough and I had a hard time guessing the right way of setting those parameters.
In the example, the pelvis_imu is the base reference sensor, and the sensor is attached vertically on the back of the subject pelvis (facing backward). Assume the Xsens sensor local frame is
Z up, Y to the left when placing flat on the ground, then on the subject body, the
pelvis_imu +Z is facing the OpenSim -X (subject backward direction). In this case, isn't the heading correcting correction setting should be:
pelvis_imu, -z?
Also, I don't quite understand what is the
<sensor_to_opensim_rotations>. When we do rotation, do we place the reference base sensor flat on the ground and then rotate it to the OpenSim frame? Or do we place the reference sensor on the subject first (pelvis back in the example), and then rotate it from there to the OpenSim world frame? Do we take heading correction into consideration? (after heading correction, does that specified direction become the new +x direction for the base sensor local world frame)? When rotating, how to determine the sign of the angle? (does the positive mean the rotation follows the right-hand rule direction?).
In our experiment,
we collected data under two different initial IMU world frame settings (our IMU sensor and software allows us to freely calibrate the IMU sensor local world frame orientation at the beginning of the experiment), as shown in the following picture:
https://www.dropbox.com/s/gmv3cef18o25m ... p.png?dl=0
I am wondering how should I set up the IMU calibration in the OpenSim in those two scenarios (assuming the pelvis_imu is the base IMU). Could you please provide some help on this?
Here is a more detailed post explaining my problem:
viewtopicPhpbb.php?f=91&t=13986&p=0&sta ... a36d8dd460.
Thank you very much!
P.S. I found editing the text format is quite difficult. Feel free to send my an email at
Fangshi.Zhu@uth.tmc.edu