ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Run tabletop_collision_map_processing node

asked 2011-12-27 01:45:23 -0500

Hououin Kyouma gravatar image

updated 2014-01-28 17:11:03 -0500

ngrennan gravatar image

Hi, does someone know how to run the tabletop_collision_map_processing_node from the tabletop_collision_map_processing package? I try to use the tabletop package to create collision maps and to detect objects for my own made robot, which uses a Kinect camera. The robot needs to detect objects and has to grab the object when it's near.

This is what I've tried so far:

roslaunch image_processing database.launch
roslaunch tabletop_object_detector tabletop_complete.launch
rosrun tabletop_collision_map_processing tabletop_collision_map_processing_node

When I do this, I get the following error:

[INFO] [1325000064.590086400]: waitForService: Service [/collision_map_self_occ_node/reset] has not been advertised, waiting...

However, I don't know which node advertises this service.. Do I have to advertise this myself?

image_processing is my own package, I imported the database from svn and the launch file looks like this:

    <!-- load database connection parameters -->
    <rosparam command="load"
        file="$(find image_processing)/config/household.yaml"/> 
    <!-- start the database wrapper node -->
    <node pkg="household_objects_database" name="objects_database_node" 
    type="objects_database_node" respawn="true" output="screen"/>

The yaml file looks like this:

  database_host: localhost
  database_port: 5432 
  database_user: willow
  database_pass: willow
  database_name: household_objects

Thanks in advance!

edit retag flag offensive close merge delete

5 Answers

Sort by ยป oldest newest most voted

answered 2012-01-04 04:58:59 -0500

hsiao gravatar image

I know you're not using a PR2, but it may be helpful to look at what we launch in our PR2 manipulation pipeline: pr2_tabletop_manipulation.launch in package pr2_tabletop_manipulation_launch which includes pr2_manipulation_prerequisites.launch and pr2_manipulation.launch from pr2_object_manipulation_launch the first of which includes laser+stereo-perception.launch (also in pr2_object_manipulation_launch) which runs collider_node in package collider, which generates and dynamically maintains the octomap, which is what we use in Electric instead of the old static collision maps. (The launch file you were looking for that is not there, is not there for a reason.) All of the above launch files contain stuff that you probably want to use for your robot.

edit flag offensive delete link more

answered 2012-01-03 01:54:24 -0500

Guido gravatar image

Hi Hououin,

Try adding the following .launch to your list:

roslaunch pr2_arm_navigation_perception collision_map_self_occ.launch

Hope this helps,


edit flag offensive delete link more


Thanks, I'll try that and let you know whether it works =)
Hououin Kyouma gravatar image Hououin Kyouma  ( 2012-01-03 06:14:06 -0500 )edit

answered 2012-01-03 21:40:41 -0500

Hououin Kyouma gravatar image

Hi Guido, the launch file you're talking about is not available in the pr2_arm_navigation_perception package, maybe it was removed in some revision. Luckily, I was able to find the launch file on the Internet and running it solves the error I get. However, I get a new error now:

[ INFO] [1325676522.708759545]: waitForService: Service [/find_cluster_bounding_box] has not been advertised, waiting...

Do you know what I should run or launch next? Thanks for your help!

edit flag offensive delete link more


Indeed, this is the old way to launch it. You can add "rosrun object_manipulator", but if you are running electric, I'm not sure if this file still exists.
Guido gravatar image Guido  ( 2012-01-03 22:59:47 -0500 )edit

answered 2012-01-04 00:13:14 -0500

Hououin Kyouma gravatar image

I'm indeed running electric, but luckily the node is still there. I ran that node and everything seems to work now, except that I get the following message:

"Make static collision map action server is not connected".

I'm sorry that I'm asking so much, but it'd be great if you know how to solve this too.

edit flag offensive delete link more

answered 2012-01-08 20:51:08 -0500

Hououin Kyouma gravatar image

Hi Hsiao, thanks for your answer, but it seems like I will need a URDF description of my robot since the collider_node says that it cannot find /robot_description. The problem with my robot is that it is not possible to create a URDF model for it because of the construction of its arm.

The reason I didn't look at the pr2 manipulation pipeline was because I thought that it was really pr2 specific, but indeed, after looking at those files it became clear to me what is needed to make everything work. I think that I will have to find an alternative for collision detection for my case, but thanks for the help anyways.

edit flag offensive delete link more


I don't really know what are your needs, but you can still use the object detection without launching the collision processing nodes. You will get the occupied cells octmap and objects poses. Though you will have to build a collision environement by yourself.
Guido gravatar image Guido  ( 2012-01-09 04:28:36 -0500 )edit
Yeah that's what I do at the moment, I already had the object segmentation and recognition up and working, but it would be nice if I could also make also make use of the collision processing nodes. I will try to find another method for creating collision models, thanks for the advice!
Hououin Kyouma gravatar image Hououin Kyouma  ( 2012-01-09 21:40:11 -0500 )edit

Question Tools


Asked: 2011-12-27 01:45:23 -0500

Seen: 540 times

Last updated: Jan 08 '12