google-deepmind / google-deepmind/mujoco
Improved MuJoCo Simulation Scaling
- Dominant language
- C++
- Stars
- 15.2k
- Forks
- 1.8k
- Avg merge
- 10d 16h
- Merged PRs (30d)
- 25
Description
Hello MuJoCo Team,
We are currently exploring the creation of complex simulation environments where robots interact with numerous contact objects. A representative example is a robot navigating a space filled with many objects (e.g., boxes) that may be moved or interacted with. These objects remain mostly static unless the robot interacts with them while performing specific tasks.
We've observed that the real-time rate (ratio of wall clock time to simulation time) decreases sharply as the number of contact boxes increases. With a couple hundred contact objects, performance can drop quite steeply. Since we noticed the MuJoCo team was working on the lock joint effort ([#7](https://github.com/google-deepmind/mujoco/issues/7)), we’ve been experimenting with adding welded boxes to the world for static objects. In the scheme we explored, objects remained locked unless they were close to the robot; this improved performance but we still noticed some overhead that increased linearly based on the number of objects (possibly from traversing some parts of the “scene graph”). Both issues represent significant challenges as we scale use of MuJoCo to different use cases.
Are there any efforts in the area of scaling MuJoCo to larger scenes? This feels like a critical area of investment that would further strengthen MuJoCo. In the meantime, any guidance you can provide on how to better manage or optimize larger worlds would be greatly appreciated.
Thanks in advance - and keep up the great work!
Contributor guide
Assessment
This issue has not been assessed yet.