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

Problem with feeding PointCloud2 messages from SwissRanger 4000 to Octomap Server

asked 2012-03-30 14:21:26 -0600

hank0113 gravatar image

I am trying to get the PointCloud2 messages published by swissranger_camera node and feed it to octomap_server which subscribes to "cloud_in" (PointCloud2). I am available to visualize the point cloud in RViz. However, when I run the octomap_server node, it is constantly giving me the PCL error:

[pcl::SampleConsensusModelPlane::optimizeModelCoefficients] Not enough inliers found to support a model (0)! Returning the same coefficients.

Here is the launch file for octomap_server I am using:

<launch>
<node pkg="octomap_server" type="octomap_server_node" name="octomap_server">
    <param name="resolution" value="0.05" />

    <!-- fixed map frame (set to 'map' if SLAM or localization running!) -->
    <param name="frame_id" type="string" value="map" />

    <!-- maximum range to integrate (speedup!) -->
    <param name="max_sensor_range" value="5.0" />

    <!-- data source to integrate (PointCloud2) -->
    <remap from="cloud_in" to="/swissranger/pointcloud2_raw" />

</node>

</launch>

The octomap_server also gives two warnings:

  1. No plane found in cloud.
  2. No ground plane found in scan.

The PCL error and the warnings seems to happen when octomap_server is doing ground plane filtering. Does it imply that the PointCloud2 output by the swissranger_camera is not good/clean enough and I have to do some processing with it before I feed it to octomap_server?

Thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2012-04-01 11:28:52 -0600

AHornung gravatar image

updated 2012-04-26 05:05:19 -0600

Do you actually need the built-in ground plane filter? For mere map building there's usually no need and you can set the parameter ~filter_ground to false. By default (in the latest version of octomap_server), it should be false.

Otherwise you usually need to adjust the PCL plane detection parameters to your sensor, it is currently tuned to the PR2's stereo camera by default. Best have a look at the code, not all parameters are explained on the wiki site in detail.


Edit: There was also a problem with pointcloud transformations in the released version 0.3.7 for electric, that was fixed in octomap_mapping trunk but not yet released (see this question. A maintenance release 0.3.8 for electric will be pushed out soon, otherwise you could use octomap_mapping from SVN.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2012-03-30 14:21:26 -0600

Seen: 1,667 times

Last updated: Apr 26 '12