Robotics StackExchange | Archived questions

Odd robot/joint behaviour on high simulation speed

Dear All,

On an earlier question, Speeding Up Gazebo Physics Simulation, I found out how to increase the simulation speed significantly by using the latest gazebo and increasing maxstepsize.

Now, I want to discuss an odd behavior which I observed on all the robot models in gazebo, including Pioneer 3DX, Pioneer AT, PR2, Youbot, and iRobot which is observable when the speed of the simulator is increased.

My observation:

  1. With the default maxstepsize value(0.001), when the speed of the simulator is increased (by setting the realtimeupdate_rate to zero) all the above robots start moving around without any given value to the command velocity topic.
  2. If I increase the maxstepsize to (0.05), these movements become very very big (10 meters radius), and some robots will just cease to work.

My questions are:

  1. Why this happens?
  2. Does this mean that my velocity commands will be affected by this problem?
  3. Is there a way for me to find out whether the question number two happens? It is quite impossible for me to see anything by eye when the simulator is running at 500x normal speed.
  4. Is it possible to fix this?

You can also see this behavior in the following YouTube video. Video Link

The PC used is an i7 with 8GB RAM and GTX980 Graphic Card.

Asked by shantia on 2016-02-29 08:47:42 UTC

Comments

It looks like the robots are drifting (due to tiny precision errors?). When you increase max_step_size, the simulation becomes faster, look at how the real time factor becomes really high and the sim time is much higher than real time (the end of your video is 1 day of simulation!). I guess it moves a lot because the error accumulates over time. Maybe increasing friction/damping on the joints will decrease the error?

Asked by chapulina on 2016-02-29 11:46:11 UTC

So do you mean I should add friction/damping to the Joint? Because at this moment, the default SDF for the Pioneer3DX does not have it. It only has mu,mu2,slip1,slip2 for the link of the wheels, and not the joint.

Asked by shantia on 2016-03-01 06:42:14 UTC

Yes, I'm guessing that adding it to the joints might help.

Asked by chapulina on 2016-03-01 13:20:05 UTC

Answers