Hello - I have been using Isaac Sim for few months for simulated teleoperation through ROS2 with haptic feedback. For this I would like to maintain a stable ~200 Hz publishing rate for the publishing and subscribing of the robot joint states. For my controller I am using an Action Graph with a On Physics Step trigger. This is because my machine is not capable of rendering full frames at the desired frequency however every physics step can run extremely quickly at sub ms rates. After scouring the NVIDIA forums it seems the most pertinent parameters for timestepping are numPhysicsSteps and a large number of frame rate parameters. I have set numPhysicsSteps=200 and minFrameRate=1 as stable graphics rendering is secondary to my goal. With these settings I am able to achieve stable frame-rates of 60-100Hz however the time-stepping is extremely inconsistent. In particular I notice that the time between physics steps varies from 0.5-20ms which is unmanageable for a real time haptic controller. I am trying to avoid these latency spikes and make sure that physics steps always run every ~5ms. I have tried getting this to work in extension mode and standalone mode using the asyncio library to no avail. It seems I have tried every combination of settings and still cannot get this to work. Moreover I have tried to set FixedTimeStepping to False to at least get the physics stepping aligned with real time and still get constant physics steps. Playing around with AsyncRendering and AsynchronousPhysics also seem to have negligible effect on this. I have included an image of the timing of my physics loop where you can see sudden latency spikes and general instability. I have also included an image of some of the settings I have been playing with in my custom extension. I am working with Isaac Sim 4.5 on Ubuntu 22. My machine has an Ada 4000 GPU with an 13th Gen Intel i9 processor.
I have struggled with this for a couple months now and would appreciate any help with this issue from the community or developers. I understand this is an unorthodox request and hope that this desired behavior is even achievable with Isaac Sim. Thank you!