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

segmentation fault in robot_self_filter_color

asked 2013-05-31 13:19:02 -0500

jbarry gravatar image

updated 2013-05-31 13:20:55 -0500

Hi,

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

  <launch>
  <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" />
  </node>

  <!-- 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)"/>
  </include>

</launch>

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::pointxyzrgb>(pcl::PointCloud<pcl::pointxyzrgb> const&, Eigen::Matrix<float, 4,="" 1,="" 0,="" 4,="" 1="">&, Eigen::Matrix<float, 4,="" 1,="" 0,="" 4,="" 1="">&) () from /opt/ros/fuerte/lib/libpcl_filters.so.1.5
    #1  0x00007ffff6ad3cda in pcl::VoxelGrid<pcl::pointxyzrgb>::applyFilter(pcl::PointCloud<pcl::pointxyzrgb>&) ()
       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.

Thanks,

Jenny

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-06-04 02:55:59 -0500

alex_rockt gravatar image

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.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2013-05-31 13:19:02 -0500

Seen: 165 times

Last updated: May 31 '13