Robotics StackExchange | Archived questions

Removing points from collision maps

I'm trying to allow collisions between an arm and certain parts of the environment. Although the planning environment supports setting some allowed collisions, I've never seen this working for motion planning purposes (see some past questions of mine on this purpose). So I tried to publish a planningscenediff with some of the boxes removed. However it is my understanding that these a planning scene diff is an incremental update, i.e. only new obstacles can be added. Is this true? How can I remove parts of the collision map?

Asked by Lorenzo Riano on 2012-07-20 06:17:25 UTC

Comments

It's possible to have more precision ?

If you use a octomap for motion planning, it's easy. Just write your collision_map in the good topic of environment_server. Environment server see only the last map. You don't need to remove parts of the collision map.

Asked by jep31 on 2012-08-20 01:24:57 UTC

That's what I'm doing. I though I could manipulate the octomap without having to write a new node!

Asked by Lorenzo Riano on 2012-08-20 06:01:04 UTC

There is a service call in octomap_server to delete obstacles in a certain bounding box, I believe collider should also have that...

Asked by AHornung on 2012-08-20 06:04:30 UTC

The collider node has a bbxquery service, but it's used to retrieve the status of an area of the octomap. AFAIK there's no service to clear parts of the map. I ended up writing my own node for this, and this spawned a new question "Service spoofing - overriding - renaming" (the link is to long)

Asked by Lorenzo Riano on 2012-08-21 05:32:49 UTC

If you feel like recompiling yourself, it should be pretty easy to add the clearBBXSrv functionality from OctomapServer.cpp to collider.

Asked by AHornung on 2012-08-21 22:22:58 UTC

Answers