-
Notifications
You must be signed in to change notification settings - Fork 116
Padding not used consistantly #341
Comments
+1 |
Maybe hold this change back a bit. Yesterday I experienced a strange situation, in which the planner returned a path we seemed valid to the planer, but turned invalid when doing path validation. Calling the planner multiple times (including changing the number of planning attempts) didn't solve this situation. Only after I set the paddings back to the defaults, I was getting valid solutions (was using paddings of 0.01). Here is the log:
I got the feeling the planner/state sampler is not using the paddings, but the following path validation does. I'll investigate this further when I find time. For now I will just leave the settings at their defaults. |
This sounds like inconsistent use of parameters, indeed. |
Any work on this issue? Thanks :) |
… padding/scale for CollisionRobotUnpadded, see Issue moveit#341
Hi, I look into this problem this weekend and here is what I understand. I'm not sure if this is correct or right direction, so I welcome your comments/corrections.
The system has two collision robot model, one is named "collision robot" and the other named "collision robot unpadded" (https://github.com/ros-planning/moveit_core/blob/hydro-devel/planning_scene/src/planning_scene.cpp#L306) It seems that CollisionRobot is used for checking collision with world and CollisionRobotUnpadded is used for self collisions. (https://github.com/ros-planning/moveit_core/blob/hydro-devel/planning_scene/src/planning_scene.cpp#L538) So the problem is that they only change padding value for CollisionRobot, and the padding parameter for CollisionRobotUnpadded remains 0, which is used for self collision checking 2 Padding for self collision What we (at least I) requested at this issues is that we need safety-margin for self collision. Since the motion planner is likely to move very close to the (for example) base of the robot and that's is usually very dangerous for rigidly controlled robot. So I think many (non-PR2, non-Baxer) robot users wants to add 5-10mm safety margin. Currently system has
and default_robot_padd is used for padding parameter for CollisionRobot, which means collision between robot and world uses this value, but there are no parameters for CollisionRobotUnpadded.
One solution is to add new parameter for CollisionRobotUnpadded,
Another approach could be:
|
Hello everyone, I just tried the last version from source as of now and I was playing with adding padding to the hands of our robot. I see no difference. So I started putting really big paddings... like one meter! And it makes no difference at all. I tried setting a virtual obstacle to see if it's avoiding it (maybe this is just not working with self collision) and, indeed, it's avoiding it in the plan but ignoring the padding too. My paddings.yaml looks like:
I'm sorry if I'm not understanding something in this conversation, but I thought this padding was used in planning time. So when I add 1meter of padding I expected to have some "starting in collision" message. Contact me (or @adolfo-rt) if you need any help on testing this, as we would really like to have this feature. |
Any progress on this? I think this I can add this configuration file to the Setup Assistant once its format and functionality is stable. |
Similar problem here - something with |
@awesomebytes Have you checked into which namespace you uploaded your padding data? Normally, |
So the |
While working more with the planning scene, I noticed the link paddings and scales, but didn't remember to have set them anywhere.
Turns out those values are the defaults, since the standard moveit config does not set them. Hence, I suggest to add them somewhere in the launchers or configs.
For example, I did this:
In
planning_context.launch
:And a new
paddings.yaml
in the config folder looking like this:This example contains the default values.
The text was updated successfully, but these errors were encountered: