With the recent open sourcing of Mujoco, Deepmind has highlighted that there is still a lot of work to do in physics simulations for robotics. Over the past few years, while models of computer vision and language generation graduated from research artifacts to real world applications, the use of artificial intelligence in robotic control and planning has remained limited.
What exactly is hindering the application of AI in real world robotics? Where does the gap in performance between simulated and real robots come from?
The paper [Cho21U] gives a good overview of the current state of the art and problems. Among them, we found most interesting:
- Need for large collaborations: Simulators are inherently multidisciplinary, and as such it is more difficult to assemble a group of engineers with the right skills within the same company or organization.
- Accuracy of interactions: Since most simulators were initially designed for gaming and animation, they often simplify calculations to prioritize rendering or speed over accuracy. For instance, they may ignore gyroscopic forces or directly modify velocities. An RL agent can quickly discover and exploit these deviations from reality.
- Uncertainty is not properly handled: All the physics interactions in a simulation come with an inherent amount of uncertainty. These effects should be robustly handled by providing confidence bounds which signal how much one can rely on the simulation results.
The paper ends with the recommendation to foster the development and validation of open source simulators, both from industry and academia. In fact, this may be the only way to reach out to the much needed domain experts and make them work together.
It seems that Deepmind has indeed answered to this call by releasing Mujoco, which has finally joined the likes of Bullet, google’s Brax, PhysX by Nvidia and Webots in the open source community. Their self stated plan for near-future involves working on multi-threading, better composability, and better rendering through Unity integration. More details can be found on the Mujoco documentation page.