Video 1. Simulation on the GPU by Ten Minute Physics (2022) Source. The author is a big PhysX guy.
Figure 1. gnuplot plot of the y position of a sphere bouncing on a plane simulated in Bullet Physics. Source. From: What is the simplest collision example possible in a Bullet Physics simulation?
Does not seem to support it unfortunately:
Python library for Bullet Physics.
Became very popular as of result of people using Bullet Physics for reinforcement learning AI training robot simulations.
Website: pybullet.org/
Source code: somewhere inside the main Bullet Physics source tree. Yay.
Figure 1. Source.
Was a closed source project by "Roboti LLC", which was then acquired by DeepMind in October 2021 and open sourced March 2022: www.deepmind.com/blog/open-sourcing-mujoco
This library is quite cool. Feel very brutally lean and mean.
Tested on Ubuntu 23.10;
git clone https://github.com/google-deepmind/mujoco
cd mujoco
git checkout 5d46c39529819d1b31249e249ca399f306a108ac
mkdir -p build
cd build
cmake ..
make -j
Now let's play. Minimal interactive UI simulation of a simple MJCF scene with one falling cube:
bin/basic ../doc/_static/hello.xml
Test soure code: github.com/google-deepmind/mujoco/blob/5d46c39529819d1b31249e249ca399f306a108ac/sample/basic.cc. The only thing you can do is rotate the scene with the computer mouse it seems. Mentioned at: mujoco.readthedocs.io/en/2.2.2/programming.html#sabasic
Some more interesting models can be found under the model/ directory: github.com/google-deepmind/mujoco/tree/5d46c39529819d1b31249e249ca399f306a108ac/model E.g. the imaginary humanoid robot DeepMind used in many demos can be seen with:
bin/basic ../model/humanoid/humanoid.xml
A more advanced UI with a few controls:
bin/simulate ../doc/_static/hello.xml
Test soure code: github.com/google-deepmind/mujoco/tree/5d46c39529819d1b31249e249ca399f306a108ac/simulate. Mentioned at: mujoco.readthedocs.io/en/2.2.2/programming.html#sasimulate
A very cool thing about that UI is that you can manually control joints. There are no joints in the hello.xml, but e.g. with the humanoid model:
bin/simulate ../model/humanoid/humanoid.xml
under "Control" you move each joint of the robot separately which is quite cool.
Video 1. Demo of MuJoCo's built-in simulate viewer by Yuval Tassa (2019) Source.
There's also a bin/record test executable that presumably renders the simulation directly to a file:
bin/record ../doc/_static/hello.xml 5 60 rgb.out
ffmpeg -f rawvideo -pixel_format rgb24 -video_size 800x800 -framerate 60 -i rgb.out -vf "vflip" video.mp4
Mentioned at: mujoco.readthedocs.io/en/2.2.2/programming.html#sarecord but TODO that produced a broken video, related issues:
Had hardware acceleration in mind from the very start, and for a long time that has meant GPU acceleration.
Figure 1. Source.

Discussion (0)

Sign up or sign in create discussions.

There are no discussions about this article yet.