Page 1 of 1

Revolute Joint axis moves out of joint

Posted: 15 Apr 2021, 13:56
by hassan.farag
Hello,

We imported our urdf into coppelia. The Revolute Joint axis moves out of joint when starting the simulation. We checked all inertia and center of masses according to urdf and adjusted all collisions. Please see the attached scene and check if it can be fixed? Please check the attached scene.
https://www.dropbox.com/s/pxoqsgqg52g6j ... d.ttt?dl=0

Re: Revolute Joint axis moves out of joint

Posted: 15 Apr 2021, 18:40
by Al.mirante
Hi,

did you check the inertia tensors and the centers of mass? I notice that centers of mass are out of link respondable shapes and the inertia tensors are miss oriented. You can quickly check using the inertia visualization: right key -> view ->visualize inertia.

Dimension of blu boxes are proportional to the mass values and red boxes are the inertia tensors orientation.

cheers.

Re: Revolute Joint axis moves out of joint

Posted: 16 Apr 2021, 09:53
by coppelia
Hello,

check also that you don't have too large differences between adjacent masses/inertias, depending on the physics engine you use. Additionally, try to use a more precise dynamics configuration mode.

Edit: and yes, your inertias look very wrong. Additionally, your model appears very detailed and unnecessary heavy. Make sure to also have a look at this tutorial that illustrates how to build a clean model of a robot.

Cheers

Re: Revolute Joint axis moves out of joint

Posted: 16 Apr 2021, 11:29
by hassan.farag
Thanks for the reply. I modified the orientation of the inertia frame and use even approximated inertia values but still the Revolute Joint axis moves out of joint and robot this tilt to side. We will change visuals and lighten the model (collisions are made according to the tutorial and no of vertices is around 10,000). but first needs to fix that joint issue. You can check the new corrected model here https://www.dropbox.com/s/etnnt1xet4pn3 ... s.ttt?dl=0. We will use ode engine but what is the main reason for this issue? how dynamics engine configuration will help? we use the default configuration of ode at coppelia.

Re: Revolute Joint axis moves out of joint

Posted: 16 Apr 2021, 13:01
by coppelia
The arm now behaves already much better. With a physics engine you won't have the same stability as with a kinematics control.

There are many parameters that can be adjusted in your robot model. Each joint has a position controller, based on PID. You can modify those values. You can also write your own controller. You can also switch to a more precise dynamics configuration mode, etc. It is always a trade-off between calculation speed, precision, functionality, etc.

Make sure to follow design considerations 7 & 8: by increasing a bit the inertias, you'll get much better stability with ODE and Bullet.

In doubt, always try to switch to another engine and see if you get a similar result. In your case, try the Newton engine and you'll see that you won't notice any tilting.

Cheers