Rosanswers logo


I'm seeing a segmentation fault running robot_self_filter_color in ROS Fuerte using the default installation of PCL, which I believe is PCL 1.5. I am using the following launch file to start the Kinect and filter out the PR2 using the self filter

  <arg name="kinect_frame_prefix" default="/head_mount_kinect" />
  <arg name="kinect_camera_name" default="head_mount_kinect" />
  <arg name="high_res" default="false" />

  <!-- separate self filter Kinect points for creating object models with higher resolution-->
  <node pkg="robot_self_filter_color" type="self_filter_color" respawn="true" name="object_modeling_kinect_self_filter" output="screen" launch-prefix="gdb -ex run --args">
     <remap from="cloud_in" to="/$(arg kinect_camera_name)/depth_registered/points" />
     <remap from="cloud_out" to="/$(arg kinect_camera_name)/rgb/object_modeling_points_filtered"/>
      <param name="sensor_frame" type="string" value="$(arg kinect_frame_prefix)_rgb_optical_frame" />
      <param name="subsample_value" type="double" value=".005"/>
      <rosparam command="load" file="$(find pr2_object_manipulation_launch)/config/object_modeling_self_filter.yaml" />

  <!-- start the Kinect -->
  <include file="$(find rgbd_assembler)/launch/openni_node.launch">
        <arg name="kinect_frame_prefix" value="$(arg kinect_frame_prefix)"/>
        <arg name="kinect_camera_name" value="$(arg kinect_camera_name)"/>
        <arg name="high_res" value="$(arg high_res)"/>


The segmentation fault is in PCL called from filter on line 105 of self_filter_color.cpp. The backtrace from GDB is: (Unfortunately, I don't have a specially compiled version of PCL and the released one doesn't include debug tags.)

    #0  0x00007ffff6ac8c4f in void pcl::getMinMax3D(pcl::PointCloud const&, Eigen::Matrix&, Eigen::Matrix&) () from /opt/ros/fuerte/lib/libpcl_filters.so.1.5
    #1  0x00007ffff6ad3cda in pcl::VoxelGrid::applyFilter(pcl::PointCloud&) ()
       from /opt/ros/fuerte/lib/libpcl_filters.so.1.5
    #2  0x0000000000434867 in filter (output=..., this=0x7fffffffda70) at /opt/ros/fuerte/include/pcl-1.5/pcl/filters/filter.h:117
    #3  SelfFilter::cloudCallback (this=0x7fffffffd560, cloud2=...)
        at /tmp/buildd/ros-fuerte-pr2-object-manipulation-0.6.7/debian/ros-fuerte-pr2-object-manipulation/opt/ros/fuerte/stacks/pr2_object_manipulation/perception/robot_self_filter_color/src/self_filter_color.cpp:105

Playing with the self_filter_color.cpp file has revealed very little. Any hints would be great.



Originally posted by jbarry on ROS Answers with karma: 280 on 2013-05-31

Post score: 0


1 Answer 1


Rosanswers logo

Hi Jenny,

take a look at this ticket on Github: https://github.com/ros-perception/perception_pcl/issues/10 - I had a problem with robot_self_filter too, resulting in an error. After updating my pcl lib with the ones mentioned in the ticket, I had no problems.

Originally posted by alex_rockt with karma: 76 on 2013-06-04

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.