Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to control simulation speed from API ?


I launch and interact with Gazebo from the API, and I would like to programmatically change the max_step_size attribute from a (c++) program. For now, I can change it from the .sdf file of my world, like the following :

<physics name="4ms" type="ode">

I set real_time_factor to -1 because I don't want it to interfere with the steps of the simulation. I want Gazebo to aim at a running speed of max_step_size * real_time_update_rate.

In am able to control real_time_update_rate from the ServerConfig API with ServerConfig.SetUpdateRate() :

        // Object to pass custom configuration to the server
        gz::sim::ServerConfig serverConfig;

        // Populate with some configuration, for example, the SDF file to load
        serverConfig.SetUpdateRate(250); // in Hz

        // Instantiate server
        gz::sim::Server server(serverConfig);

In essence, I would like to have a ServerConfig.SetMaxStepSize(), do you know if there is a way to do that ?

  • Gazebo Garden (so gz-sim7)
  • Ubuntu 22.04

Thanks in advance !