Motion planning only works without collision detection
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Motion planning only works without collision detection
Hi everyone,
I need help regarding motion planning. I have a 6 DOF robot, which is able to plan a path to a certain target and move there. I used motionplanningdemo1 as a template.
However, this only works, as long as I have collision detection turned off and in some cases the robot will move 'through’ the floor or even worse, 'through’ itself. When I turn on collision detection in the motion planning module the robot won’t move at all.
Is this a common problem and what should I work on to solve it?
Thanks in advance!
Regards,
Richie
I need help regarding motion planning. I have a 6 DOF robot, which is able to plan a path to a certain target and move there. I used motionplanningdemo1 as a template.
However, this only works, as long as I have collision detection turned off and in some cases the robot will move 'through’ the floor or even worse, 'through’ itself. When I turn on collision detection in the motion planning module the robot won’t move at all.
Is this a common problem and what should I work on to solve it?
Thanks in advance!
Regards,
Richie
Re: Motion planning only works without collision detection
Hello,
you very probably have a situation of constant collision state. In that case, all the moves (or nodes) that are tried out will fail. Best is to start by only enabling robot-environment collision detection. If that works, you can then only test the robot self-collision detection. If both work individually, then you can enable them at the same time.
The best would be to first create collision objects by specifying the same collision entities as in the motion planning dialog. When running the simulation and a collision is detected, then colliding entities will change colors. (this does not happen when using the motion planning functionality, since in that case thousands of collisions are tested, and collision detection is silent).
Cheers
you very probably have a situation of constant collision state. In that case, all the moves (or nodes) that are tried out will fail. Best is to start by only enabling robot-environment collision detection. If that works, you can then only test the robot self-collision detection. If both work individually, then you can enable them at the same time.
The best would be to first create collision objects by specifying the same collision entities as in the motion planning dialog. When running the simulation and a collision is detected, then colliding entities will change colors. (this does not happen when using the motion planning functionality, since in that case thousands of collisions are tested, and collision detection is silent).
Cheers
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Re: Motion planning only works without collision detection
Hi,
I created collision objects for both cases. And in both cases the whole robot changes color right at the beginning. So I think you are right, there is constant collision. But the problem must lie in the definition of collision, right? Of course the parts of the robot touch, but I don't want him to see that as collision. Where can I define these things?
Or do you think that the problem lies somewhere else?
Thanks for your help,
Richie
I created collision objects for both cases. And in both cases the whole robot changes color right at the beginning. So I think you are right, there is constant collision. But the problem must lie in the definition of collision, right? Of course the parts of the robot touch, but I don't want him to see that as collision. Where can I define these things?
Or do you think that the problem lies somewhere else?
Thanks for your help,
Richie
Re: Motion planning only works without collision detection
Hello Richie,
yes, definition of self-collision collections might be a little bit tricky, if you want adjacent shapes to be allowed to collide, but not others.
In that case, define a collection with all objects in your manipulator. Then, for each collidable shape in the manipulator, adjust the collection self-collision indicator.
Cheers
yes, definition of self-collision collections might be a little bit tricky, if you want adjacent shapes to be allowed to collide, but not others.
In that case, define a collection with all objects in your manipulator. Then, for each collidable shape in the manipulator, adjust the collection self-collision indicator.
Cheers
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Re: Motion planning only works without collision detection
Thank you coppelia, you really helped me a lot! I got everything working so far.
Cheers,
Richie
Cheers,
Richie
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Re: Motion planning only works without collision detection
Hi coppelia,
it seems like not everything works as expected earlier. At the moment, no collisions are detected at all and the robot moves 'through' itself and the floor. I checked all object properties and everything is collidable. Collision detection is turned on. I don't know what else to check. Could you maybe help me and take a look at my scene? It is uploaded here: https://www.dropbox.com/s/2ch0h1ftjje4k ... 2.ttt?dl=0
Thank you very much!
Richie
it seems like not everything works as expected earlier. At the moment, no collisions are detected at all and the robot moves 'through' itself and the floor. I checked all object properties and everything is collidable. Collision detection is turned on. I don't know what else to check. Could you maybe help me and take a look at my scene? It is uploaded here: https://www.dropbox.com/s/2ch0h1ftjje4k ... 2.ttt?dl=0
Thank you very much!
Richie
Re: Motion planning only works without collision detection
Hello Richie,
your robot collection is not correctly defined. It says:
but it should be
Then, your gripper is self-colliding. You can notice this is in the collision dialog you turn on Compute collision contour (you will see where it is colliding). Your robot is also colliding with the floor.
Before trying to compute anything with the motion planning, make sure your collision entities are correctly defined, otherwise it will be very difficult to find out what is going on.
Cheers
your robot collection is not correctly defined. It says:
Code: Select all
+ From objects (incl.) down [ABB_IRB2600]
Code: Select all
+ From objects (incl.) up [ABB_IRB2600]
Before trying to compute anything with the motion planning, make sure your collision entities are correctly defined, otherwise it will be very difficult to find out what is going on.
Cheers
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Re: Motion planning only works without collision detection
Hi coppelia,
thanks for your help! Unfortunately, that doesn't make it any easier :)
I changed the self-collection indicators of all my parts, so every two parts touching each other have a difference of 1. That is the right way to do it, isn't it? But still I get self-collision in the gripper and collison with the floor.
For the collision with the floor I also tried working with complimentary respondable masks in my base and the floor, but it did not help.
What can I do about the gripper? Is the self-collison indicator the only way to work around self-collision? I think in the gripper there are too many parts touching each other to make it work like that..
Here you can find the updated scene: https://www.dropbox.com/s/2ch0h1ftjje4k ... 2.ttt?dl=0
Cheers,
Simon
thanks for your help! Unfortunately, that doesn't make it any easier :)
I changed the self-collection indicators of all my parts, so every two parts touching each other have a difference of 1. That is the right way to do it, isn't it? But still I get self-collision in the gripper and collison with the floor.
For the collision with the floor I also tried working with complimentary respondable masks in my base and the floor, but it did not help.
What can I do about the gripper? Is the self-collison indicator the only way to work around self-collision? I think in the gripper there are too many parts touching each other to make it work like that..
Here you can find the updated scene: https://www.dropbox.com/s/2ch0h1ftjje4k ... 2.ttt?dl=0
Cheers,
Simon
Re: Motion planning only works without collision detection
Hello Simon,
the gripper is indeed a little bit tricky, since the self-collision indicator only works well with simple chains (branched chains can be problematic). Maybe the easiest would be to have a bounding volume for your gripper, and only that bounding volume will be colliding (make sure not to mix-up collidable and respondable, which are two different things).
To avoid having your floor collide with the base of the robot, you could slightly shift the robot up, or make the base of the robot non-collidable (but in that case your gripper (for instance) will not detect collisions with the base of the robot too). The best would be to define a second collection that doesn't include the base of the robot, and to indicate that collection for the robot-environment collision checking.
Cheers
the gripper is indeed a little bit tricky, since the self-collision indicator only works well with simple chains (branched chains can be problematic). Maybe the easiest would be to have a bounding volume for your gripper, and only that bounding volume will be colliding (make sure not to mix-up collidable and respondable, which are two different things).
To avoid having your floor collide with the base of the robot, you could slightly shift the robot up, or make the base of the robot non-collidable (but in that case your gripper (for instance) will not detect collisions with the base of the robot too). The best would be to define a second collection that doesn't include the base of the robot, and to indicate that collection for the robot-environment collision checking.
Cheers
-
- Posts: 11
- Joined: 03 Oct 2014, 16:55
Re: Motion planning only works without collision detection
Hello coppelia,
The floor-collision is fixed. I moved the robot up a little bit. Defining a second collection just shifted the collision from floor-base to base-link1.
For the gripper, I would like to try building a bounding volume, but I am not sure how to do it. I cannot just put a big cuboid around the gripper, because that would cause collisions. So do I need to add several cuboids? How do i fix them and make them invisble? Can you please help me on that?
Thank you very much.
Cheers
The floor-collision is fixed. I moved the robot up a little bit. Defining a second collection just shifted the collision from floor-base to base-link1.
For the gripper, I would like to try building a bounding volume, but I am not sure how to do it. I cannot just put a big cuboid around the gripper, because that would cause collisions. So do I need to add several cuboids? How do i fix them and make them invisble? Can you please help me on that?
Thank you very much.
Cheers