Replies: 6 comments 16 replies
-
If this is actually a question and not issue, it may be better for you to post it in the discussion as a Q&A category. https://github.com/bulletphysics/bullet3/discussions Just my two-cents, since erwin did create it I think as part of keeping the issues clean, which I appreciated. |
Beta Was this translation helpful? Give feedback.
-
@cadop That is fair. And i noticed very recently that he has included the performCollisionDetection call in a PR. I will close and move this to the discussion board. Thank you. |
Beta Was this translation helpful? Give feedback.
-
performCollisionDetection would be a replacement for stepSimulation, to provide contact points, only for getContactPoints. |
Beta Was this translation helpful? Give feedback.
-
BTW, this discussion belongs in the Discussions section. |
Beta Was this translation helpful? Give feedback.
-
From @cadop: 9 minutes ago As I understood, the reason you need to call it (or the benefit of it being added) is the simulation step is what is needed normally to update contact points, and just updating the bounding box doesn't solve it. |
Beta Was this translation helpful? Give feedback.
-
I hate to unearth an old discussion but I still can't seem to achieve what I need to perform collision checking for state validity checks in a sampling-based planning system. What I want to essentially perform is the following: For n of N-configurations:
I don't care about violated dynamics etc since I am not using the the physics client to execute simulated behavior during this process. Thus I don't think I need to create a separate 'world' or separate physics client as Erwin mentioned above. I am simply checking if certain arm arrangements will be in a collision. For some reason, p.resetJointState does not appear to update the physics simulation's current configuration of the robot arm. Is there a certain way I could do this? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am trying to use PyBullet for performing motion planning research.
Essentially I would like to disable actual physical collisions that occur during simulation (since this can bump collision objects out of place) to test a variety of robot configurations for collision free validity. However, I have an issue in that I cannot seem to get robot object collision detection queries to work well.
Questions:
I've read in the documentation that getClosestPoints or getContactPoints should be called after calling performCollisionDetection however there is no available performCollisionDetection() function in the Python API. How should I go about calling this function from the Python API? Is it even necessary to call if I use p.resetJointState to a test configuration and then call getClosestPoints() ?"
Does anyone have advice on how to perform collision queries for arbitrary arrangements of the robot and with static simulation objects?
Will using the p.setCollisionFilterGroupMask disable simulated collisions? Will it completely disable any form of collision detection? I don't want to disable collision detection but I do want to disable collisions actually having physical consequences to my environment.
Here is the gist of how I am performing collision validity queries. Please note that some of the functions/objects are wrappers around PyBullet core functions such that I've created a little bit of a higher-level interface for my purposes:
I first create a Python Context Manager to disable self collisions of the robot and between the robot and any simulation objects so that when I reset the robot joint state, the arm does not slam into objects in the environment and displace them from their validity position for planning.
I then perform self collision and robot object collisions with the following functions:
I have wrapper function called get_closest_points that adapts to the types of sim id's / links passed in as arguments:
The above function is then used for self-collision checking via the following function:
And within a robot-object collision checking function:
Beta Was this translation helpful? Give feedback.
All reactions