Gazebo resources: Tutorials | Q&A | Documentation | Blog

Distributed simulation performance

I just tried the distributed simulation with levels demo that you have here.

I found that running this on my machine as a standalone simulation, the performance was much better (real time factor of about 100%) where as when I ran them distributed as a primary and two secondaries, the performance was considerably worse (real time factor of about 60%). Is this to be expected or am I doing something wrong here?

If it is to be expected, are there any benefits to using distributed simulation at the moment? And are there plans to make it any better?

I’m asking because I’m looking at ways to scale up my current gazebo simulation to include more robots, whilst still maintaining the same real time factor.

That’s expected at the moment. We’re currently running an analysis on the distributed simulation approach to determine at which point it becomes better than running a standalone simulation. We’re also investigating alternative approaches which may have better performance.

It would be interesting for us to learn more about your use case. Could you share the number of robots you’re simulating, how many sensors of each kind, how large is the world, etc? Thanks!

Thanks for the reply Louise, I would be interested to know the results of that analysis.

Sensors are: IMU, LIDAR, Camera (although for the purposes of a scale simulation, could do with just a LIDAR) on each robot. Robot itself is just a chassis on 3 wheels with some control logic in a plugin. World is about 100 x 50m base with little to no obstacles apart from the robots themselves. I would like to run as many robots as I can at close to real time (50 would be a nice number), and this may perhaps expand the world as well. I was hoping that the distributed simulation would be a means to scale up the number of robots with secondary servers available. Hope that helps.

1 Like