You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After many attempts and experiments I have found the situation that causes my simulation to diverge. I am simulating a vehicle with custom constraints and as long as I stay on the same triangle mesh the simulation is deterministic. When I move onto another object, be a plane, a box or another triangle mesh, the simulation diverges slightly upon first contact.
My setup for testing are two identical vehicles which are spawned at the exact same position and orientation with collisions disabled between them and the same inputs are applied on both.
I have created a sample to showcase the problem. It's a vehicle created with hinge2's and you can move it forwards/backwards with the up/down keys. Drive it off the box and try to drive it back onto the box, collide with it. At some point the vehicles should diverge.
This discussion was converted from issue #1267 on April 26, 2021 03:53.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
After many attempts and experiments I have found the situation that causes my simulation to diverge. I am simulating a vehicle with custom constraints and as long as I stay on the same triangle mesh the simulation is deterministic. When I move onto another object, be a plane, a box or another triangle mesh, the simulation diverges slightly upon first contact.
My setup for testing are two identical vehicles which are spawned at the exact same position and orientation with collisions disabled between them and the same inputs are applied on both.
I have created a sample to showcase the problem. It's a vehicle created with hinge2's and you can move it forwards/backwards with the up/down keys. Drive it off the box and try to drive it back onto the box, collide with it. At some point the vehicles should diverge.
You can find the sample in my fork https://github.com/xissburg/bullet3/blob/master/examples/NonDeterminismExample/NonDeterminismExample.cpp.
I have also recorded a video https://youtu.be/psmZfdk-Rz4.
Thanks
Beta Was this translation helpful? Give feedback.
All reactions