How well suited is PyBullet to Domain Randomization for Sim-to-Real?

Official Python bindings with a focus on reinforcement learning and robotics.
Post Reply
matwilso
Posts: 1
Joined: Thu Jun 14, 2018 4:10 pm

How well suited is PyBullet to Domain Randomization for Sim-to-Real?

Post by matwilso »

I am interested in applying Bullet/PyBullet for a domain randomization project.

How well suited is PyBullet to handle texture randomization, like used in the OpenAI domain randomization work? What about dynamics randomization? I see that PyBullet has some demonstrated success in this area with robot locomotion, inSim-to-Real: Learning Agile Locomotion For Quadruped Robots.

Can anyone speak to this, and perhaps the relative capabilities between Bullet and Mujoco in this area? Thanks.
Last edited by matwilso on Sun Jul 08, 2018 3:25 pm, edited 1 time in total.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA
Contact:

Re: How well suited is PyBullet to Domain Randomization for Sim-to-Real?

Post by Erwin Coumans »

Various projects inside Google use PyBullet with domain randomization,
there are plenty of PyBullet Python APIs to change dynamics and visuals.

Aside from PyBullet APIs, you can also use the UrdfEditor to modify any URDF setting (link sizes, joint pivot location etc).

>> PyBullet to handle texture randomization
Yes, this can be done, you can load different textures and assign them to various links/objects.

Here are a few more project using PyBullet and randomization:

Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks
https://arxiv.org/abs/1612.05424

Using Simulation and Domain Adaptation to Improve Efficiency of Deep Robotic Grasping
https://arxiv.org/abs/1709.07857

Real-World Perception for Embodied Agents, they use their own rendering:
http://gibsonenv.stanford.edu

I'm not going in details about PyBullet versus MuJoCo, obviously as creator I think PyBullet is superior.
Post Reply