Questions about the Analyze tool(body kinematic)

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
yanran jiang
Posts: 9
Joined: Sun Mar 29, 2020 4:19 am

Questions about the Analyze tool(body kinematic)

Post by yanran jiang » Sat Jun 20, 2020 8:51 am

Hi,

I'm using the Analyze tool to get results of body kinematic (inputs: scaled model, the result of inverse kinematic to, ground reaction force file). I'm not quite sure the labels meaning in the output file. What's the difference between "pelvis_X" and "pelvis_Ox"? Which one is the linear acceleration and rotational acceleration?

Additionally, is there any reference theory of the computation of body kinematic? How does the OpenSim apply the central difference scheme to calculate the velocity and acceleration?
Attachments
Screenshot (7).png
Screenshot (7).png (553.9 KiB) Viewed 601 times

Tags:

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Questions about the Analyze tool(body kinematic)

Post by Dimitar Stanev » Sun Jun 21, 2020 11:22 pm

Hi Yanran,

pelvis_[X, Y, Z] are the linear accelerations and [Ox, Oy, Oz] are the rotational accelerations. The represent the position and orientation of the body reference frame as observed by the ground reference frame.

Body kinematics are calculated as follows:

1. The coordinates from IK are filtered and then splines are used to calculate first and second derivatives.
2. These are used to update the state of the model.
3. The position of the bodies is calculated by setting the pose of the model from the kinematics
4. The velocity and accelerations are calculated using specific formulas that take into account the velocity and acceleration of the parent body and joint's motion.

https://simbody.github.io/3.7.0/classSi ... ml#details
A good link to understand more about the algorithms implemented: http://royfeatherstone.org/

User avatar
yanran jiang
Posts: 9
Joined: Sun Mar 29, 2020 4:19 am

Re: Questions about the Analyze tool(body kinematic)

Post by yanran jiang » Fri Jul 03, 2020 9:21 am

Hi Dimitar,

Sorry for the late reply for thanks. I'm still struggling to understand the theory behind the acceleration calculation in Opensim. Which specific formulas are used for point acceleration in the Opensim.

Or a quick question is the linear acceleration calculated as the second derivative of the origin of the segment coordinate systems?

I get my body kinematic and point kinematic results from the Analyze tool with inverse kinematic results as input. But the acceleration values are wired. From the result of velocity, I can see the change of velocity is very small (vel=-0.0013761 (t=0s), -0.00131352(t=0.01s),-0.131224(t
0.02s),-0.139191(t=0.03s)...). But whether the linear accelerations or angular accelerations are quite large (almost 114 rad/s), which looks impossible.
In the Analyse tool setup file, I only provide IK results and ground reaction force. I didn't add actuator and control. I really don't know how to find the reason now. Do you know any possible reasons?

Thanks,
Yanran
Attachments
Screenshot (8)-min.png
Screenshot (8)-min.png (711.77 KiB) Viewed 460 times
Screenshot (10)-min 2.jpg
Screenshot (10)-min 2.jpg (516.63 KiB) Viewed 460 times

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Questions about the Analyze tool(body kinematic)

Post by Dimitar Stanev » Sat Jul 11, 2020 3:55 pm

Hi Yanran,

Sorry for my delayed answer.

I am not sure, but it is possible that during the body kinematics analysis your actuators actuate the model producing large accelerations. Can you try removing the force set of the model and re-run the analysis? Unfortunately, the AnalyzeTool does not work as you might think. The best way to understand how they work is to look at the source code.

https://github.com/opensim-org/opensim- ... l.cpp#L526
https://github.com/opensim-org/opensim- ... s.cpp#L438

Dimitar

POST REPLY