[PROBLEM] ROS Camera FPS is NOT desired FPS

Since the newer update Camera’s FPS publish rate is related to the render rate of a SINGLE render passage.
This means that if the scene is super-complex or super-simple we get two different FPS out of the camera. This makes the simulation “unusable” to test robotics applications.
IMO only when the frame is fully rendered (so after 64 “single-render” calls if we’re doing path tracing for example), the camera should publish a message, and the FPS of the camera should match the desired framerate of the simulation and NOT being variable.

You can easily test this with the carter scene (isaac->example->navigation), or by generating a new scene.

If the GPU takes 0.4s to render a frame for whatever reason (maybe you don’t have a good gpu for example) then the rostopic hz /rgb_left gives 2.smth fps instead of 24/30/whatever we want.

Is there a way to obtain the desired behaviour (even in complex scenes, for simple scenes you can just cramp it down to the desired rate). This was possible in the 2021 version by manually ticking the components, not seemingly it does not work anymore.

I’m good with either pythonic or actiong graphs solutions.


@marc2002 answering related questions here:

To clarify, is your usecase running with isaac-sim.sh and using path-traced rendering?
or are you also fine running with a standalone app via SimulationApp?

There might be some logic missing to handle your usecase correctly that we need to look into.