@AlesBorovicka I’m really sorry for tagging you… But I eagly want to solve this problem… for our work. So Would you give me some advice for this problem?
Is there any solution to solve this problem?
Thank you so much… :)
Hi,
No worries, I am here to help :-)
What robot are you using? I tried to repro with Kaya robot, but I did not see this problem.
So with the settings - min frame rate 240 and time steps per seconds 240 PhysX is doing one simulation step at this frequency. However the rest of the update loop is still running at the variable step.
The problem might be caused by two issues:
PhysX is having a problem to simulate at this frequency, you can try to change the values to 60 to see if the problem persists. One can also play with GPU vs CPU simulation or TGS vs PGS solver toggles. If you open Window->Simulation->Debug you can override the settings there for quick testing
Something else is touching the camera transformation at a different rate, you can try in the rendering settings set the fixed rate to 240 and enforce the fixed rate.
What robot are you using? I can try to repro this issue and see what can be done. Sorry for the trouble.
Regards,
Ales
Now, I use the carter_v1 ( two wheel model ) like below figure.
In my case, I handled the above two parameters. to 240 in the multi-robot hospital example scene. In that case, when the simulation starts, the robot vibrates a lot even though the robot stopped. And also when i use the “teleop_twist_keyboard” method to navigate the robot and use the “j”/“l” buttons, also the robot vibrates alot while it rotating left/right.
And when i set the above two parameters to ~ 90, the robot does not vibrate. But over 90, the robot starts to vibrate a lot. But because I’m trying to publish the imu sensor data to over 200hz, so i couldn’t decrease both parameter to under 200… T…T
Thanks I was able to reproduce the issue. It looks like to be related to cylinders being simulated as custom geometry. Please change the behavior of the cylinders to use convex approximation instead, this can be done in the physics settings:
So a custom cylinder is simulated differently the a convex approximation. There are situations where the cylinder behavior is better because its not just approximated.
To illustrate the different behavior I would recommend you to check our Custom Cylinder demo, see Window->Simulation->demos then custom cylinder demo.
The custom cylinder contacts are computed based on a combination of capsule and box collisions and produce expected behavior on the edges, it rolls nicely. But its a CPU only feature for now and seems like to still have some side effects. I did created internal ticket for the PhysX SDK team to investigate further.
Regards,
Ales