Create a bridge between ROS and PyBullet #3597
Replies: 10 comments
-
As alternative, there is Gibson, which uses PyBullet and its own rendering. It seems to be ROS bindings: https://github.com/StanfordVL/GibsonEnv |
Beta Was this translation helpful? Give feedback.
-
It would be convenient for people who use ROS to have a bridge between ROS and PyBullet. |
Beta Was this translation helpful? Give feedback.
-
I agree, it would be very convenient. In our project qibullet we ended up creating a wrapper class, creating a bridge between ROS and our simulated model |
Beta Was this translation helpful? Give feedback.
-
I have started a pybullet ROS wrapper here, still in early stage but help and coments are welcome ; ) |
Beta Was this translation helpful? Give feedback.
-
Thanks @oscar-lima and self-contained pybullet ROS wrapper would be nice. What features do you plan to wrap? I imagine there could be control (setJointMotorControl2), sensors (joint angle encoder), camera vision (getCameraImage), LIDAR (using rayTestBatch batch ray cast, see example code), touch/contact (using getContactPoints). |
Beta Was this translation helpful? Give feedback.
-
Also related to ROS+PyBullet is this project: |
Beta Was this translation helpful? Give feedback.
-
Control and sensors was on my list, but I welcome your suggestions. Thanks! |
Beta Was this translation helpful? Give feedback.
-
@erwincoumans, basic implementation is done, more urgently what I am missing is the parallelization of the plugins in threads. Can you please take a look and provide some feedback? (main loop here) |
Beta Was this translation helpful? Give feedback.
-
Thanks for the update, that looks great from a first glance! What do mean by parallelization? Is this a C plugin for PyBullet or a Python plugin for ROS? |
Beta Was this translation helpful? Give feedback.
-
Thanks! :D
pybullet plugins? Is something that I invented, pseudocode goes like this:
Note all pybullet plugins share the same import, for that I use importlib like this:
and then I share self.pb to dynamically loaded plugins (also using importlib iterating over the required plugins)
Here is where I have the main problem, because e.g. the laser task (rayTestBatch) takes a long to compute and slows down the flow. The synchronization you mention is something I would have to implement manually right? Can you provide with an example? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
See also https://pybullet.org/Bullet/phpBB3/viewtopic.php?f=24&t=12623
Beta Was this translation helpful? Give feedback.
All reactions