ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Expanding upon earlier comment:

One thing I would try is to make the robot's collision objects into actual geometries, rather than using CAD files. Also try to add a small amount of friction in the joints and see what happens, especially the joint above the casters.

Changing from CAD files to actual geometric objects simplifies the collision model object and reduces the chance that small imperfections in your CAD geometry will mess with Gazebo when it calculates collisions. From our experience, it also reduces the chance of spurious errors arising due to collision models intersecting at joint axes (even though these collisions should be turned off). We now use geometric objects for all our collision models, with CAD being visual-only. At a revolute joint, we also reduce the size of the collision object slightly so that two adjoining links do not have the collision models intersect ever. I would also guess that changing from CAD collision models would reduce the CPU intensity of the calculations.

With regards to friction, every moving joint in your URDF should have at least some friction applied. A completely friction free joint is fictitious, and will mess with Gazebo in some way. Small perturbations will have no reactive force, which will lead to odd behavior.