Home | Tutorials | Wiki | Issues
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Wrong direction of gravity

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, it just behave strangely (exploding, jittering, etc.). So at the end I have to pretend it is a robot one order of magnitude greater. 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

After a few second

C:\fakepath\2.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!

Wrong direction of gravity

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, it just behave strangely (exploding, jittering, etc.). So at the end I have to pretend it is a robot one order of magnitude greater. 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

After a few second

C:\fakepath\2.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. C:\fakepath\model.sdf

Wrong direction of gravity

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, 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

After a few second

C:\fakepath\2.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

Wrong direction of gravity

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, 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

After a few second

C:\fakepath\2.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

Edit2: I also attached the sdf file with real inertia. But the assumed damping and friction may not be very accurate. C:\fakepath\model real inertia.sdf