GPU acceleration for pybullet3? #3745
Replies: 8 comments 3 replies
-
Heh, I'm a bit sceptical about benchmark papers, since most of the 'scientific papers about physics engine benchmarks' so far turn out to be advertisements: they are written by an author who has a physics engine in the race, and magically the physics engine by the author always comes out best. Usually they 'thank' the other physics engine creators at the end, as if it is an endorsement. Bullet still has an OpenCL GPU backend, we haven't enabled it at the moment in PyBullet, but we may do so in the future. Tuning parameters depends on the scenario, there is not one 'best' set of parameters (otherwise we could get rid of them). It takes time to tune a physics engine to work best for a scenario or benchmark. Some nice features of PyBullet:
|
Beta Was this translation helpful? Give feedback.
-
This became very apparent to us as well. We have no affiliation with any engine / simulation author. We are a consortium of several research institutes (DLR, Fraunhofer) and a few robotics and aerospace companies. The goal is to figure out, which engine and simulation is best suited for certain tasks. Thank you for your list of information. In a feature overview, some of these things will certainly be listed. While it is not in the scope of this paper, I would be very interested in the implemented IK solution. Especially for RL, very fast IK is critical. So far I use IKFast, as it is several orders of magnitude faster than numerical solvers. Can you link me to some documentation?
|
Beta Was this translation helpful? Give feedback.
-
PyBullet's IK is numerical, using selectively damped least squares.
> Does it support any number of DOF?
Yes, PyBullet supports any number of DOF, you just load the URDF (or SDF, MJCF etc).
We also use IK for motion retargeting of a quadruped robot (tree structure), see
https://github.com/google-research/motion_imitation/tree/master/retarget_motion
> So far I use IKFast, as it is several orders of magnitude faster than numerical solvers.
No, that is not my experience at all, IKFast was must slower than PyBullet.
Timings were in the file: IKFast was 300us versus PyBullet 150us, for the
IK on Xarm6. But I'm not a IKFast expert, so perhaps a matter of tuning?
Aside of being slower, IKFast also often didn't produce a solution, while PyBullet always provided a reasonable solution.
See
https://github.com/erwincoumans/xArm-Python-SDK/blob/master/example/wrapper/xarm6/xarm_sim.py
S-DLS method is described here:
https://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/SdlsPaper.pdf
We use our custom code for computing the Jacobians, and made some improvements of S-DSL,
using velocity IK, using null-space and a few other bits.
At the moment, no motion planning published, some projects using learning
for motion planning.
We also used Reflexxes 2, by Torsten Kroeger, for motion planning before,
also not released.
PyBullet does have various collision queries that can help motion planning.
We didn't expose the swept volumes in Python yet, should be easy to do.
We use PyBullet primarily for quadruped locomotion research @ Google Robotics, sim-to-real,
motion imitation etc, reinforcement learning etc,
and for arm grasping research and robot development. We also did some
projects for miniature car driving (MIT racecar etc).
There are also related projects, such as Stanford Gibson 1/2, and Facebook Habitat that have nicer rendering with PyBullet.
https://pybullet.org/wordpress/index.php/2019/11/22/facebook-habitat-v0-1-3-adds-bullet-physics/
http://gibsonenv.stanford.edu/
We have some nicer render plugins that we didn't open source yet.
Thanks!
Erwin
…On Fri, 9 Oct 2020 at 02:22, Simon Steinmann ***@***.***> wrote:
Heh, I'm a bit sceptical about benchmark papers, since most of the
'scientific papers about physics engine benchmarks' so far turn out to be
advertisements: they are written by an author who has a physics engine in
the race, and magically the physics engine by the author always comes out
best
This became very apparent to us as well. We have no affiliation with any
engine / simulation author. We are a consortium of several research
institutes (DLR, Fraunhofer) and a few robotics and aerospace companies.
The goal is to figure out, which engine and simulation is best suited for
certain tasks. Thank you for your list of information. In a feature
overview, some of these things will certainly be listed.
While it is not in the scope of this paper, I would be very interested in
the implemented IK solution. Especially for RL, very fast IK is critical.
So far I use IKFast, as it is several orders of magnitude faster than
numerical solvers. Can you link me to some documentation?
- Is it analytical or numeric?
- Does it support any number of DOF?
- Does pybullet include a motion planning framework akin to OMPL or
MoveIt?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#3105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAFRDXHWCDQUPT4FULXOKALSJ3I4ZANCNFSM4SI5QCUA>
.
|
Beta Was this translation helpful? Give feedback.
-
(re-open to keep some discussion going) |
Beta Was this translation helpful? Give feedback.
-
There is a motion plan system for game agents called phase function neural
network, I believe making a plan with this and simulating it could be
supperior to IK and faster.
…On Sun, Oct 11, 2020, 10:05 PM erwincoumans ***@***.***> wrote:
(re-open to keep some discussion going)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#3105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABW3SWKKOZQVIM5TTRER2YLSKKFBPANCNFSM4SI5QCUA>
.
|
Beta Was this translation helpful? Give feedback.
-
The question is very legit and early closing the ticket would be questionable. |
Beta Was this translation helpful? Give feedback.
-
@Simon-Steinmann I am interested in reading your conclusions, where can I find your paper ? |
Beta Was this translation helpful? Give feedback.
-
That is the one. Sorry, I missed the question. @tlemarec Let me know if you have any questions. |
Beta Was this translation helpful? Give feedback.
-
Hello,
since pybullet is now on bullet3, is gpu compute supported? The documentation is not clear on this. We are working on a scientific paper about a simulation benchmark, comparing different simulation environments (Gazebo, Mujoco, Webots, Pybullet) with a focus on industrial application and reinforcement learning. Currently the gpu is not used at all on pybullet. Can gpu acceleration be enabled? The scientific paper should reflect the state of the art.
We oriented ourselves on the quickstart guide, however, if you have other suggestions, that would improve pybullets performance, feel free to mention anything. Currently the used settings are the following:
and for objects: (pick and place scenario):
Beta Was this translation helpful? Give feedback.
All reactions