How do I get the inertia tensor of a link using it's actual density?

asked 2018-03-06 02:53:46 -0600

Tim Stadtmann gravatar image

updated 2018-03-06 03:00:26 -0600


my question concerns the calculation of the inertia tensor of a mesh.

I have read through the tutorial and different forum entries, but I still do not understand one part of the calculation. When letting MeshLab calculate the inertia tensor, a unit density is assumed. How do I combine this tensor with my actual density? In the SDF inertia tag, I add the mass of the mesh, which was calculated from the volume and density. Does Gazebo use this somehow?

If not, is it correct to just multiply MeshLab's inertia tensor with the density (assuming uniformly distributed mass)?

Edit: I tried out my simulation using the unmodified inertia tensor first, and the tensor multiplied with the actual density. The modified version lead to better results. Using the original tensor, I had cases of my object 'clipping' through other objects, and ODE throwing wild errors. (ODE Message 3: LCP internal error, s <= 0 (s=-1.0319e+05) and so on).

Thanks in advance. Tim

edit retag flag offensive close merge delete