Uniform fps

I have a simulation for grasping task, where in some part of the task there is only navigation and in some parts I collect data as well. I use fps=40 and initialize the world with physics_dt and rendering_dt equal to 1/fps:

# Initialize World
    world_settings = {
        "stage_units_in_meters": 1.0,
        "physics_dt": 1.0 / config["fps"],
        "rendering_dt": 1.0 / config["fps"],
    }
    my_world = World(**world_settings)

I also use the SteadyRate class to limit the fps to 40

rate = SteadyRate(config["fps"])

The problem is that when I collect data the fps suddenly becomes very low (around 1.8). And while the fps is this low, the robot motion is smooth and therefore do not follow the controller commands fully. How can I have a uniform fps even when the workload is high?

Hi @mokhtars - someone from our team will review and provide you answer.

1 Like