Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

Gazebo and ROS inertia problems for small robot

I'm trying to control a gazebo robot using ros control but I have some problems after I load the joint controllers. This is the robot model before I load the controllers, the model seems to be correct (https://drive.google.com/file/d/1cd0wJ7a1CKTUxc9Ea9O5tCBsYIOt5z4j/view) but when I load the joint controllers the model implodes on the origin (https://drive.google.com/file/d/1diBVLdekb7B0nmhUfaoFl2MAVnPytmWG/view), the controller.launch it's not showing errors.

This is my robot model (https://drive.google.com/file/d/1YKo-hhw-49teBewpwiAC2bPbAlu2HoUC/view), this is the inertia matrix of one joint

<inertia ixx="4.5e-05" ixy="-3e-06" ixz="1e-06" iyy="3e-05" iyz="5e-06" izz="3.6e-05"/>

I can get the some information from the fusion 360 model. For exemple this is a leg informations:

Leg1

Component instances (1)
Area    1.787E+04 mm^2
Density 9.520E-04 g / mm^3
Mass     66.794 g
Volume  7.016E+04 mm^3

Bounding box
    Length   150.172 mm
    Width    26.00 mm
    Height   35.00 mm
X, Y, Z global   0.00 mm, 0.00 mm, 0.00 mm
Center of mass  -68.611 mm, -83.519 mm, 118.34 mm

Moment of inertia at the center of mass   (g mm^2)
    Ixx = 7016.191
    Ixy = 1551.50
    Ixz = 15.726
    Iyx = 1551.50
    Iyy = 1.078E+05
    Iyz = -0.298
    Izx = 15.726
    Izy = -0.298
    Izz = 1.085E+05

Moment of inertia on origin   (g mm^2)
    Ixx = 1.408E+06
    Ixy = -3.812E+05
    Ixz = 5.423E+05
    Iyx = -3.812E+05
    Iyy = 1.358E+06
    Iyz = 6.602E+05
    Izx = 5.423E+05
    Izy = 6.602E+05
    Izz = 8.888E+05

The inertias seems to be okay (https://drive.google.com/file/d/1puhupxqPyo5Kq0d6QnYa4RyxA1pMM84q/view), so why I get the robot parts on the origin? If I use bigger values (but with big values the model it's not correct) the robot works fine.