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

Revision history [back]

Real-time physics simulation is hard to make stable for every use-case a user throws at it. I also experienced quite a few cases of physically correct (or at least plausible) models having tremors or just exploding. A combination of these knobs makes things work for me most of the time:

  • Adjust controller gains. Note that per default, joint velocities in Gazebo often exhibit high jitter, so I'd recommend to use low D gains.
  • Adjust intertial parameters of the model. Too high differences between masses and intertia tensors of different links can lead to instabilities that make the physics engine fail (in my experience current standard Gazebo versions have to be restarted in that case). Of course, it's not really desirable to change the model to have intertial parameters the real thing does not have, but this can often cause things to work. What you can do is make a specialized model for Gazebo with (hopefully slightly) adjusted parameters, but keep using the correct model in other applications.
  • Adjust the physics engine parameters (time step and iterations) so the physics are more accurate, but slower.

See also useful answers here: Controller makes robot unstable,Gazebo model jittering.

Real-time physics simulation is hard to make stable for every use-case a user throws at it. I also experienced quite a few cases of physically correct (or at least plausible) models having tremors or just exploding. A combination of these knobs makes things work for me most of the time:

  • Adjust controller gains. Note that per default, joint velocities in Gazebo often exhibit high jitter, so I'd recommend to use low D gains.
  • Adjust intertial parameters of the model. Too high differences between masses and intertia inertia tensors of different links can lead to instabilities that make the physics engine fail (in my experience current standard Gazebo versions have to be restarted in that case). Of course, it's not really desirable to change the model to have intertial inertial parameters the real thing does not have, but this can often cause things to work. What you can do is make a specialized model for Gazebo with (hopefully slightly) adjusted parameters, but keep using the correct model in other applications.
  • Adjust the physics engine parameters (time step and iterations) so the physics are more accurate, but slower.

See also useful answers here: Controller makes robot unstable,Gazebo model jittering.

Real-time physics simulation is hard to make stable for every use-case a user throws at it. I also experienced quite a few cases of physically correct (or at least plausible) models having tremors or just exploding. A combination of these knobs makes things work for me most of the time:

  • Adjust controller gains. Note that per default, joint velocities in Gazebo often exhibit high jitter, so I'd recommend to use low D gains.
  • Adjust intertial inertial parameters of the model. Too high differences between masses and inertia tensors of different links can lead to instabilities that make the physics engine fail (in my experience current standard Gazebo versions have to be restarted in that case). Of course, it's not really desirable to change the model to have inertial parameters the real thing does not have, but this can often cause things to work. What you can do is make a specialized model for Gazebo with (hopefully slightly) adjusted parameters, but keep using the correct model in other applications.
  • Adjust the physics engine parameters (time step and iterations) so the physics are more accurate, but slower.

See also useful answers here: Controller makes robot unstable,Gazebo model jittering.