Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
Bugfix: revert concave early out, see https://github.com/bulletphysics/bullet3/issues/4263
Another fix from 3.24: avoid memory buildup when using createMultiBody, thanks to Jason Peng for the report and reproduction case. Minor fix, related to issue with debug line drawing, introduced in addUserDebugPoints patch. Also, remove C++11 'override'.
For further changes see the commit history.
See fast debug point rendering for point clouds in this PR: https://github.com/bulletphysics/bullet3/pull/3996
There is a zip file with an example how to use it.
Another fix from 3.24: avoid memory buildup when using createMultiBody, thanks to Jason Peng for the report and reproduction case. Minor fix, related to issue with debug line drawing, introduced in addUserDebugPoints patch. Also, remove C++11 'override'.
See fast debug point rendering for point clouds in this PR: https://github.com/bulletphysics/bullet3/pull/3996
There is a zip file with an example how to use it.
This updated Bullet Physics release was used for the "Learning Agile Robotic Locomotion Skills by Imitating Animals" research., led by Jason Peng.
See also https://xbpeng.github.io/projects/Robotic_Imitation/index.html And a video here: https://www.youtube.com/watch?v=lKYh6uuCwRY There is also an example of model-predictive-control (MPC) for quadruped locomotion. See the repository here: https://github.com/google-research/motion_imitation Install PyBullet using: pip3 install pybullet --user --upgrade
This updated Bullet Physics release was used for the "Learning Agile Robotic Locomotion Skills by Imitating Animals" research., led by Jason Peng.
See also https://xbpeng.github.io/projects/Robotic_Imitation/index.html And a video here: https://www.youtube.com/watch?v=lKYh6uuCwRY There is also an example of model-predictive-control (MPC) for quadruped locomotion. See the repository here: https://github.com/google-research/motion_imitation Install PyBullet using: pip3 install pybullet --user --upgrade
Bullet 2.89 includes a new implementation of volumetric deformable objects and cloth based on the Finite Element Method, thanks to Xuchen Han. Two-way coupling between deformables and rigid/multi body is achieved using a unified constraint solver.
PyBullet is improved for robotics sim-to-real with realistic models of Laikago quadruped and an implementation of Deep Mimic.
pip3 install pybullet python3 -m pybullet_envs.examples.laikago python3 -m pybullet_envs.deep_mimic.testrl --arg_file run_humanoid3d_backflip_args.txt
Video of Deep Mimic backflip: https://www.youtube.com/watch?v=aiWxIjtMMFI See also the PyBullet Quickstart Guide
Finite Element Deformable kept in a grasp using friction:
A lot of work this year went into improving PyBullet for robotics and reinforcement learning research. The SDK was used in several published research papers by Google Brain Robotics, including our RSS 2018 paper "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots" , see the video here Some of the improvements are related to maintaining determinism when saving and restoring a simulation, and improving the accuracy of GJK convex collision detection and btMultiBody.
Bullet 2.87 has improved support for robotics, reinforcement learning and VR. In particular, see the "Reinforcement Learning" section in the pybullet quickstart guide at http://pybullet.org . There are also preliminary C# bindings to allow the use of pybullet inside Unity 3D for robotics and reinforcement learning.
Here are some videos:
Some example training the pybullet_pendulum using TensorFlow Agents PPO: pip install pybullet, agents, tensorflow, gym
python -m pybullet_envs.agents.train_ppo --config=pybullet_pendulum --logdir=pendulum tensorboard --logdir=pendulum --port=2222 python -m pybullet_envs.agents.visualize_ppo --logdir=pendulum/xxxxx --outdir=pendulum_video
Tensorboard training progress image for the Minitaur locomotion: