Ask Your Question
0

Problem with AllowedCollisionMatrix and octomap in MoveIt!

asked 2018-04-05 13:57:21 -0500

znbrito gravatar image

updated 2018-04-05 22:48:29 -0500

v4hn gravatar image

Hi,

I am on Ubuntu 16.04 LTS and ROS Kinetic. I am now working with the manipulator Robotis Manipulator-H standing on top of a Husky robot and I intend to do path planning with the manipulator using MoveIt! so that I can take in account the restrictions from my environment. I am just simulating my system in Gazebo. Right now I am using the laser Hokuyo UST-10LX integrated with the "occupancy_map_monitor/PointCloudOctoMapUpdater" MoveIt! plugin to map my environment and make MoveIt! aware of it in order to correctly perform path planning to my desired goals poses. In the following image you can see the octomap of the tree that I am mapping right now, after I move Husky in order to map her (the laser is the grey thing, right now I don't really care how it looks):

mappedTree.png

My goal points are already known and some of them are inside the obstacles that I identify (map) with the laser. In order to plan to those poses I am currently updating my AllowedCollisionMatrix with a small cube centered (with millimiter dimentions) in my goal position, making all collisions with that cube possible, which automatically updates my octomap and opens a small gap in it, making it possible for MoveIt! to plan to the goal position because the manipulator has now an open path to the goal pose. In this 2 following images you can see the example that I tried. I set my goal point to be inside the tree's limits (reachable for the manipulator), so naturally the manipulator can't reach it:

goalPointNotR.png

And after I update my AllowedCollisionMatrix, the octomap is automatically updated and it looks like this (the small cube can't be seen because it is really small, smaller than the axes):

goalPointReachable.png

Which means that, in fact, the octomap is being correctly updated and after that I can perform the path planned to that point without any problems, everything is fine till here. The problem is that a few seconds after the "hole" open in the octomap, I get the following error messages:

[ERROR] [1522945517.882926418, 54.358000000]: Internal error. Shape filter handle 22 not found [ERROR] [1522945518.668399924, 54.874000000]: Internal error. Shape filter handle 22 not found

I searched about them and I didn't find anything except the fact that they have something to do with the octomap generated by MoveIt!. Is this a bug that's ocorring because the octomap was "updated" because of the AllowedCollisionMatrix? If you think this is relevant, I can send you the code where I update the collision matrix. If there is a better way to do what I did, I would like you to tell me please.

I think it should also be interesting (and profitable, in my case), if I could regulate the size of the box (hole) that eliminates points from the octomap), because if the box is hole in the octomap is to big, it can eliminate objects that will actually interfere ... (more)

edit retag flag offensive close merge delete

Comments

Please attach all images directly to your post.

gvdhoorn gravatar imagegvdhoorn ( 2018-04-05 14:11:06 -0500 )edit

@gvdhoorn just did it. Thanks for letting me upload photos!

znbrito gravatar imageznbrito ( 2018-04-05 18:10:58 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2018-04-06 05:59:39 -0500

v4hn gravatar image
  1. Is this error something bad and I should worry?

Maybe. Apparently there is an error in the management of ShapeHandles somewhere in the interaction between planning_scene_monitor, point_containment_filter, and pointcloud_octomap_update Feel free to investigate. It might be that this is a cleanup problem that does not notably affect normal operation.

  1. Can I resize the size of the hole (or box or w/e) that is done in the octomap?

Yes. This corresponds to the padding_offset parameter here: http://docs.ros.org/kinetic/api/movei...

edit flag offensive delete link more

Comments

@v4hn the padding_offset worked! I just think it is strange that a parameter from a file where I configure the collision octomap affects an operation where I insert an object that "collides" with the octomap. I was not expecting that this would have anything to do with the allowed collision matrix

znbrito gravatar imageznbrito ( 2018-04-06 08:10:43 -0500 )edit

As for the ShapeHandle, It doesn't really seem to affect anything else. However, I recorded a video of me simulating my tests for you to see when the error pops up. Should I upload it?

znbrito gravatar imageznbrito ( 2018-04-06 08:13:52 -0500 )edit

In this video I already altered the padding_offset and also the resolution of my octomap so that the points of the matrix are closer and the objects that I am mapping look more realistic

znbrito gravatar imageznbrito ( 2018-04-06 08:14:45 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2018-04-05 13:57:21 -0500

Seen: 268 times

Last updated: Apr 06 '18