Why asymmetric

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Jiang Ping
Posts: 132
Joined: Sun Aug 26, 2012 4:09 am

Why asymmetric

Post by Jiang Ping » Sun Dec 15, 2013 1:47 pm

hi, all

I used the gait2392 model in which muscles and joints were
distributed symmetrically. I make it fall down from a certain
height, and I think the initial acceleration for joints of left
and right legs should be the same, but the following result shows
that they were not same.

Acceleration diff. : t= 0 hip_adduction_r: -19.2421 vs hip_adduction_l: -19.2421 Difference = -3.55271e-015
Acceleration diff. : t= 0 hip_flexion_r: 2.815e-316 vs hip_flexion_l: 2.83736e-316 Difference = -2.23567e-318
Acceleration diff. : t= 0 knee_angle_r: 2.81501e-316 vs knee_angle_l: 2.815e-316 Difference = 5.92879e-322
Acceleration diff. : t= 0 ankle_angle_r: 1.4854e-313 vs ankle_angle_l: 1.2732e-313 Difference = 2.122e-314

Any ideas for this problem?

thanks,
jiang

User avatar
Michael Sherman
Posts: 800
Joined: Fri Apr 01, 2005 6:05 pm

Re: Why asymmetric

Post by Michael Sherman » Sun Dec 15, 2013 2:36 pm

Hi, Jiang.

Numbers like 2.83736e-316 are almost never produced by any legitimate computation. Instead they represent uninitialized memory. Quite commonly these arise from problems with the print statement rather than the actual computation (like leaving off an argument to a printf() in C++, for example).

Regards,
Sherm

User avatar
Jiang Ping
Posts: 132
Joined: Sun Aug 26, 2012 4:09 am

Re: Why asymmetric

Post by Jiang Ping » Sun Dec 15, 2013 3:04 pm

sherm wrote:Hi, Jiang.

Numbers like 2.83736e-316 are almost never produced by any legitimate computation. Instead they represent uninitialized memory. Quite commonly these arise from problems with the print statement rather than the actual computation (like leaving off an argument to a printf() in C++, for example).

Regards,
Sherm
hi, Sherm

Thanks for your reply.

but with the increasing of simulation time, the difference still exists.
I removed all the muscles, the same problem happened.

Acceleration diff. : t= 0.003333333333333334 hip_flexion_r: -215.24446443993924 vs hip_flexion_l: -215.24446443993921 Difference = -2.8421709430404007e-014
Acceleration diff. : t= 0.003333333333333334 hip_adduction_r: -18.788083835242926 vs hip_adduction_l: -18.788083835242887 Difference = -3.907985046680551e-014
Acceleration diff. : t= 0.003333333333333334 hip_rotation_r: -272.71645102562871 vs hip_rotation_l: -272.71645102562866 Difference = -5.6843418860808015e-014
Acceleration diff. : t= 0.003333333333333334 knee_angle_r: 252.50055022851404 vs knee_angle_l: 252.50055022851399 Difference = 5.6843418860808015e-014
Acceleration diff. : t= 0.003333333333333334 hip_flexion_r: -98.982343638806014 vs hip_flexion_l: -98.982343638806 Difference = -1.4210854715202004e-014
Speed diff. : t= 0.003333333333333334 hip_flexion_r: -0.71724414523093494 vs hip_flexion_l: -0.71724414523093483 Difference = -1.1102230246251565e-016
Acceleration diff. : t= 0.003333333333333334 hip_adduction_r: -18.756573449710849 vs hip_adduction_l: -18.756573449710828 Difference = -2.1316282072803006e-014
Speed diff. : t= 0.003333333333333334 hip_adduction_r: -0.063383592139211659 vs hip_adduction_l: -0.063383592139211603 Difference = -5.5511151231257827e-017
Acceleration diff. : t= 0.003333333333333334 hip_rotation_r: -229.21853893765567 vs hip_rotation_l: -229.21853893765564 Difference = -2.8421709430404007e-014
Speed diff. : t= 0.003333333333333334 hip_rotation_r: -0.90923711088953718 vs hip_rotation_l: -0.90923711088953707 Difference = -1.1102230246251565e-016
Speed diff. : t= 0.003333333333333334 knee_angle_r: 0.83753130552525623 vs knee_angle_l: 0.83753130552525612 Difference = 1.1102230246251565e-016

best regards,
jiang

User avatar
Ilan Eskinazi
Posts: 24
Joined: Fri Mar 19, 2010 5:35 am

Re: Why asymmetric

Post by Ilan Eskinazi » Mon Dec 30, 2013 2:44 pm

It seems to me like this is a machine precision issue. 1e-14 could be considered zero (epsilon), as far as PC simulation goes.
http://en.wikipedia.org/wiki/Machine_epsilon

POST REPLY