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

Not getting topic in /tabletop_segmentation_markers

asked 2013-09-10 04:40:51 -0600

ctguell gravatar image

updated 2013-11-18 19:22:32 -0600

tfoote gravatar image

Im trying to get the segmentation part of the tabletop_object_detector stack to work. To do this I launched the tabletop_segmentation.launch and changed the params in it as seen in this question http://answers.ros.org/question/63378/tabletop_segmentation-in-rviz/ But the difference is that my Kinect does not give a /camera/depth_registered/points topic but a /camera/depth/points, both being a message type pointcloud2 But when I either rostopic echo tabletop_segmentation_markers or try to see it in rviz with segmentationObject I get either no response or a empty topic.

right now im working with a kinect in fuerte and to obtain the point cloud i used the openni camera deprecated stack, I would really appreciate any help.

My tabletop_segmentation.launch is:

<launch>

<arg name="tabletop_segmentation_points_in" default="/camera/depth_registered/points" />
<arg name="tabletop_segmentation_convert_to_base_link" default="false" />
<arg name="tabletop_segmentation_clustering_voxel_size" default="0.003" />
<arg name="flatten_table" default="false"/>
<arg name="table_padding" default="0.02"/>

<node pkg="tabletop_object_detector" name="tabletop_segmentation" type="tabletop_segmentation" respawn="true" output="screen">
<!--topic remapping-->
    <remap from="cloud_in" to="$(arg tabletop_segmentation_points_in)" />
    <remap from="segmentation_srv" to="tabletop_segmentation" />
    <remap from="markers_out" to="tabletop_segmentation_markers" />

<param name="clustering_voxel_size" value="$(arg tabletop_segmentation_clustering_voxel_size)" />
<param name="inlier_threshold" value="300" />
<param name="plane_detection_voxel_size" value="0.01" />
<param name="cluster_distance" value="0.03" />
<param name="min_cluster_size" value="300" />
<param name="flatten_table" value="$(arg flatten_table)" />
<param name="table_padding" value="$(arg table_padding)" />

<!-- processing and filtering frame -->
<!-- all clouds converted to and processed in base link frame -->
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="processing_frame" value="base_link" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="up_direction" value="1.0" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="z_filter_min" value="0.35" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="z_filter_max" value="1.0" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="y_filter_min" value="-1.2" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="y_filter_max" value="1.2" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="x_filter_min" value="0.3" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="x_filter_max" value="1.0" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="table_z_filter_min" value="-0.5" />
<param if="$(arg tabletop_segmentation_convert_to_base_link)" name="table_z_filter_max" value="-0.01" />        

<!-- all clouds will be processed in the incoming frame, which is -->
<!-- assumed to the the camera's optical frame -->
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="processing_frame" value="" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="up_direction" value="-1.0" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="z_filter_min" value="0.4" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="z_filter_max" value="1.25" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="y_filter_min" value="-1.2" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="y_filter_max" value="1.2" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="x_filter_min" value="-1.2" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="x_filter_max" value="1.2" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="table_z_filter_min" value="0.01" />
<param unless="$(arg tabletop_segmentation_convert_to_base_link)" name="table_z_filter_max" value="0.5" />          

</node>

</launch>

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-09-10 05:10:26 -0600

updated 2013-09-10 05:12:04 -0600

The openni_launch wiki page describes how to enable depth registration using dynamic_reconfigure.

edit flag offensive delete link more

Comments

Thanks, but the rqt_reconfigure stack is not available for fuerte, so can i use the groovy one in fuerte? Also even though I dont have the /camera/depth_registered/points , the tabletop_segmentation should work if i have the /camera/depth/points because both are PointCloud2? Or am I missing something?

ctguell gravatar image ctguell  ( 2013-09-12 03:27:13 -0600 )edit

Right now I can see the /camera/depth_registered/points , but the weird thing is that when i roslaunch tabletop_object_detector tabletop_segmentation.launch the kinect does not "turn on" i dont see the laser coming out of it, but when i do rostopic echo /camera/depth_registered/points the kinect "turns on" and i can see the topic, so i think i have a problem with the .launch that is not obtaining correctly the topic. Does this make sense?

ctguell gravatar image ctguell  ( 2013-09-12 04:02:30 -0600 )edit

In fuerte, you can use rosrun `dynamic_reconfigure reconfigure_gui` I don't think I understand what you mean about a laser or the kinect "turning on." Regardless of anything else you're running, the kinect should always be producing data. rostopic hz should help determine if it is.

Dan Lazewatsky gravatar image Dan Lazewatsky  ( 2013-09-12 05:01:40 -0600 )edit

What i mean is that the Kinect gives the data when a node is subscribed to this topic, so what i found was that my launch file is not subscribing correctly to the data given by the kinect, so the segmentation is not working. Do you know why this is happening?

ctguell gravatar image ctguell  ( 2013-09-12 05:10:39 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-09-10 04:40:51 -0600

Seen: 198 times

Last updated: Sep 12 '13