PyBullet and ROS?

Official Python bindings with a focus on reinforcement learning and robotics.
jonathans
Posts: 1
Joined: Fri Mar 08, 2019 2:56 pm

PyBullet and ROS?

Post by jonathans »

So I'm wondering if there's a reasonably simple way of connecting ROS and PyBullet? Is there a tutorial somewhere? I've looked but couldn't find anything.

What I want is a good, free physics engine to simulate a robot that is in contact with the environment. I want friction and all these other contact related things too. I want it to be fast and stable as well which is why I figured it might be better to go with PyBullet than Gazebo-Bullet. I want ROS mainly for doing all the control, kinematics and path planning etc. so I don't have to implement that from scratch.

If you recommend some completely different sw setup for this, I'd be happy to hear it.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: PyBullet and ROS?

Post by Erwin Coumans »

It should be reasonably easy to write a bridge between ROS and PyBullet, for example in Python.

PyBullet can already load URDF and SDF files and you can get all information and control through Python.
Python can communicate to a PyBullet simulator and share ROS topics.
There is no out-of-the box solution at the moment though.


I created this issue, in case someone has time to help out:
https://github.com/bulletphysics/bullet3/issues/2151

As alternative, there is Gibson, which uses PyBullet and its own rendering. It seems to be ROS bindings: https://github.com/StanfordVL/GibsonEnv
cemr
Posts: 2
Joined: Thu Mar 24, 2022 2:49 pm

Re: PyBullet and ROS?

Post by cemr »

Hi, we have developed an interface between ROS and PyBullet that was recently accepted at CoRL 2022:

https://arxiv.org/abs/2210.06887

We will be making the code open source very soon (link in the paper).