robotology / human-gazebo

URDF models of humans created to perform human robot interaction experiments.
GNU Lesser General Public License v2.1
136 stars 40 forks source link

Add model tests to check symmetry in geometry and intertial parameters #11

Closed yeshasvitirupachuri closed 4 years ago

yeshasvitirupachuri commented 4 years ago

In some recent tests related to human-dynamics-estimation, we suspected there may be some inconsistencies in the model geometry and inertial parameters. So, we decided to add a model test script that will assist in assessing the human models saved in this repo. A matlab script model_test.m is available at feature/model-test.

@prashanthr05 @lrapetti @claudia-lat @traversaro @kouroshD @DanielePucci

yeshasvitirupachuri commented 4 years ago

I added inertial parameters check https://github.com/robotology/human-gazebo/commit/d3c8f139d7a7a412a1508c04252618097bb7e6d5, and there seems to a mismatch between the LeftHand and RightHand for all the models

Subject 01

Warning: Mismatch in mass 
Warning: LeftHand link mass is 0.373200 Kgs 
Warning: RightHand link mass is 1.033200 Kgs 
Warning: Mismatch in center of mass position 
Warning: LeftHand link center of mass is (0.000000, 0.031195, 0.000000) 
Warning: RightHand link center of mass is (0.000000, -0.086363, 0.000000) 
Warning: Mismatch in inertia 
Warning: LeftHand link inertia elements are (0.003525, 0.000000, 0.000000, 0.000434, 0.000000, 0.003863) 
Warning: RightHand link inertia elements are (0.009758, 0.000000, 0.000000, 0.001202, 0.000000, 0.010695) 

Subject 02

Warning: Mismatch in mass 
Warning: LeftHand link mass is 0.476400 Kgs 
Warning: RightHand link mass is 1.136400 Kgs 
Warning: Mismatch in center of mass position 
Warning: LeftHand link center of mass is (0.000000, 0.040975, 0.000000) 
Warning: RightHand link center of mass is (0.000000, -0.097741, 0.000000) 
Warning: Mismatch in inertia 
Warning: LeftHand link inertia elements are (0.004762, 0.000000, 0.000000, 0.000586, 0.000000, 0.005221) 
Warning: RightHand link inertia elements are (0.011360, 0.000000, 0.000000, 0.001397, 0.000000, 0.012454) 

Subject 05

Warning: Mismatch in mass 
Warning: LeftHand link mass is 0.330000 Kgs 
Warning: RightHand link mass is 0.990000 Kgs 
Warning: Mismatch in center of mass position 
Warning: LeftHand link center of mass is (0.000000, 0.028196, 0.000000) 
Warning: RightHand link center of mass is (0.000000, -0.084587, 0.000000) 
Warning: Mismatch in inertia 
Warning: LeftHand link inertia elements are (0.003256, 0.000000, 0.000000, 0.000401, 0.000000, 0.003569) 
Warning: RightHand link inertia elements are (0.009769, 0.000000, 0.000000, 0.001204, 0.000000, 0.010707) 

Subject 08

Warning: Mismatch in mass 
Warning: LeftHand link mass is 0.331200 Kgs 
Warning: RightHand link mass is 0.991200 Kgs 
Warning: Mismatch in center of mass position 
Warning: LeftHand link center of mass is (0.000000, 0.028724, 0.000000) 
Warning: RightHand link center of mass is (0.000000, -0.085964, 0.000000) 
Warning: Mismatch in inertia 
Warning: LeftHand link inertia elements are (0.003368, 0.000000, 0.000000, 0.000415, 0.000000, 0.003691) 
Warning: RightHand link inertia elements are (0.010079, 0.000000, 0.000000, 0.001243, 0.000000, 0.011045) 

I believe there is an error in the urdf template @claudia-lat This explains the offset of the model center of mass offset in the y direction during neutral T pose

@prashanthr05 @lrapetti @claudia-lat @traversaro @kouroshD @DanielePucci

yeshasvitirupachuri commented 4 years ago

As a quick test, I set the mass and inertial values of the RightHand to be the same as the LeftHand in humanSubject02 model and the center of mass y value is 0

comPositionInWorldFrame-1

claudia-lat commented 4 years ago

Yes @Yeshasvitvs you're right! They are wrong. By construction, the code in https://github.com/dic-iit/human-model-generator/tree/master/human_23links builds symmetric hands:

You are using the models stored in May, they for sure have been generated with an error. I would suggest you to generate the models again (for all the subjects) and overwrite the wrong ones. Run the script https://github.com/dic-iit/human-model-generator/blob/master/human_23links/computeHumanURDF.m by having a data folder structured as described in the header of the script itself.

claudia-lat commented 4 years ago

@claudia-lat please open an issue to create the new models in this repo. We can close this issue since we found the problem.