Orientation Error from IMU IK

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Cecilia De Vicariis
Posts: 1
Joined: Thu Oct 31, 2019 2:26 am

Orientation Error from IMU IK

Post by Cecilia De Vicariis » Mon Oct 11, 2021 3:33 am

Hi all,

We are trying to use Opensense to compute inverse kinematic from data acquired using XSENS Inertial Motion Unit.

As a result we are obtaining a .mot file containing joint angles and a .sto file containing the orientation errors.
On the website we read that "orientation error is the orientation difference between the experimental IMU and the corresponding model's IMU, quantified by the the angle when representing the orientation difference by an axis-angle representation". In particular, we have angles, but we do not know which is the respective axis. Is it the heading reset axis, set in the calibration phase?

Thank you in advance for the help,

Cecilia

Tags:

User avatar
Fangshi Zhu
Posts: 4
Joined: Mon May 10, 2021 9:00 am

Re: Orientation Error from IMU IK

Post by Fangshi Zhu » Wed Oct 13, 2021 1:29 pm

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

POST REPLY