segmentation fault in robot_self_filter_color
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