clvrai / furniture-bench

FurnitureBench: Real-World Furniture Assembly Benchmark (RSS 2023)
https://clvrai.com/furniture-bench/
MIT License
145 stars 16 forks source link

Sim steps calculation error #42

Open ankile opened 6 months ago

ankile commented 6 months ago

It seems dividing by substeps is not correct in this case as per the IsaacGym documentation:

What is the difference between dt and substep? dt is the time increment of the simulation. Every time you step the simulation via gym.simulate(...) you more the sim forward in time by dt. The substep is how many slices this dt is split into in order to do the simulation. The more substeps, the finer the slicing of time and the greater the accuracy of the simulation, but the more computationally intensive it becomes. For example: say your dt is 1/60 and your substep is 2. When you call gym.simulate(...) the physics is propagated forward 1/60th of a second in two time steps of 1/120th of a second each. You do not have access to the results of these 1/120th of a second time steps, only the total result at 1/60th of a second can be retrieved by calling gym.fetch_results(...). This is probably a consequence of certain numerical integration methods.

https://github.com/clvrai/furniture-bench/blob/cd22d7b5b83afce94b197b18a49816ab1c04fcff/furniture_bench/envs/furniture_sim_env.py#L729

The fix should be to just delete this line if you believe this issue to be correct. I'd be happy to make a simple PR for this as well if preferable!

Best, Lars