So I built a human-like robot with some 3d models. It worked pretty well with the default inertial settings. But after I tried to simulate using real inertia parameters, following the [tutorial](http://gazebosim.org/tutorials?tut=inertia&cat=build_robot), it just behave strangely (exploding, jittering, etc.). So at the end I have to pretend it is a robot one order of magnitude greater (so the mass and inertia tensor are much greater as well). The new inertia tensor pretty much solved my problems except for one new problem.
When gravity is on, one of the arms just rotate by itself as the photo below shows:
When robot just spawned in the world
[C:\fakepath\1.png](/upfiles/14600161403419754.png)
After a few second
[C:\fakepath\2.png](/upfiles/14600162233166529.png)
If I turned off the gravity for this arm (for both upper arm and forearm, turning off one segment doesn't help) it will be alright. And I also tried to detach the arm from the shoulder (remove the joint), even on the ground it is moving by itself toward the same direction. I literally copied the setting of the normal arm and applied it on this problematic arm (changed the direction of course), no help. In the world sdf file I explicitly defined the gravity direction to be 0 0 -9.8, nothing changed. I adjusted the damping and friction of the shoulder and elbow joint from 0 to several thousand, still the same.
It seems like the gravity of this arm has a different direction and there is no way to fix it. Does anyone have any idea what could be the cause of the problem? Thanks a lot!
Edit: I attached the sdf file. But I am not sure if it helps, because I can't upload proprietary model files so it is hard to replicate the problem. But the model files for both arms are also identical except for the orientation so it should not be the cause of the problem.
[C:\fakepath\model.sdf](/upfiles/14600448422090365.sdf)
↧