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 » Thu Jun 14, 2018 4:23 pm

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? Do you think it would be possible to achieve similar results to what they see with Mujoco, or are some rendering components for Bullet not quite there yet?

What about for 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? I mainly ask because most of the results I have seen use Mujoco, and I was wondering if that only had to do with its greater current popularity in the field, or with some limitations for randomization in Bullet. Thanks.

User avatar
Erwin Coumans
Site Admin
Posts: 4103
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 » Thu Jun 14, 2018 6:48 pm

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