The most minimal hello world with gnuplot visualization!!! stackoverflow.com/questions/11175694/bullet-physics-simplest-collision-example/36987063#36987063
Does not seem to support it unfortunately:
- 2015 thread: pybullet.org/Bullet/phpBB3/viewtopic.php?t=10783. On the reply pybullet.org/Bullet/phpBB3/viewtopic.php?p=36197&sid=5fbceed0c3a5ebcf233d328bb4ee1342#p36197 Erwin Coumans says there's no support, and no support planned.
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.
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:
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
bin/basic ../doc/_static/hello.xml
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:
Test soure code: github.com/google-deepmind/mujoco/tree/5d46c39529819d1b31249e249ca399f306a108ac/simulate. Mentioned at: mujoco.readthedocs.io/en/2.2.2/programming.html#sasimulate
bin/simulate ../doc/_static/hello.xml
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:
under "Control" you move each joint of the robot separately which is quite cool.
bin/simulate ../model/humanoid/humanoid.xml
There's also a
Mentioned at: mujoco.readthedocs.io/en/2.2.2/programming.html#sarecord but TODO that produced a broken video, related issues:
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
Had hardware acceleration in mind from the very start, and for a long time that has meant GPU acceleration.