Collision Avoidance Algorithm

Typically: "How do I... ", "How can I... " questions
Post Reply
Victoria Edwards
Posts: 6
Joined: 02 Feb 2021, 07:35

Collision Avoidance Algorithm

Post by Victoria Edwards »

Hello
I want to know how does collision avoidance algorithm works in the "motionPlanningDemo 1" example? I know that the collision avoidance algorithm have not been provided by the ompl, so it should be added by coppeliasim.
Could someone help me with this? I need this information for my thesis.
Thanks in advance.

coppelia
Site Admin
Posts: 10366
Joined: 14 Dec 2012, 00:25

Re: Collision Avoidance Algorithm

Post by coppelia »

Hello,

I am not sure I perfectly understand what you mean. Is your question about the collision detection itself, or about the task planning?
Path planning is often effectively doing collision avoidance, e.g. given a start and goal configuration, find a path that links both and that respects some constraints (e.g. does not collide). So OMPL typically produces many different configurations/states, and coppeliaSim will check additional constraints for those states, e.g. collision detection, but also others via a state validity callback function (if such a function is present).

Cheers

Victoria Edwards
Posts: 6
Joined: 02 Feb 2021, 07:35

Re: Collision Avoidance Algorithm

Post by Victoria Edwards »

Hello
Sorry for replying you late.
Yes you're right, first ompl produces many different configurations, then coppeliasim checks the constraints. Let the only constraint be collision avoidance. How coppeliasim knows that collision happens or not, in a configuration? I guess coppeliasim just solves the forward kinematics for each and every point of manipulator body and then by using objects position and orientations and geometries in the scene, it figures out that any point of robot body collides or not. But this method doesn't seem to be time efficient. Or a better collision avoidance method maybe calculating collision distance for robot. If this distance is zero then the robot collides with objects in the scene or itself.
I mean there must be an algorithm for figuring out collision, in coppeliasim. What is the logic of this algorithm. I wish l've made it clear now.
Thank you.

coppelia
Site Admin
Posts: 10366
Joined: 14 Dec 2012, 00:25

Re: Collision Avoidance Algorithm

Post by coppelia »

In CoppeliaSim you have two distinct functions: collision detection, and minimum distance calculation. Both are very efficient and fast. Of course, if you use minimum distance calculation to detect a distance of 0, you are effectively doing collision detection. But that will be quite slower than using collision detection in the first place.

When you say it doesn't seem to be time efficient, what do you mean exactly? How would you make it faster or more efficient?

Details on the algorithms themselves can be found here.

Cheers

Post Reply