Publish even when pointcloud is null, otherwise system hangs

This commit is contained in:
JRombouts
2015-07-08 21:36:06 -07:00
parent 37a53d91c2
commit 59986a8066
+24
View File
@@ -140,11 +140,35 @@ private:
pcl::PointCloud<pcl::PointXYZ>::Ptr originalCloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::fromROSMsg(*cloudMsg, *originalCloud);
if(originalCloud->size() == 0)
{
ROS_ERROR("Recieved empty point cloud!");
if(groundPub_.getNumSubscribers())
{
sensor_msgs::PointCloud2 rosCloud;
pcl::toROSMsg(*originalCloud, rosCloud);
rosCloud.header.stamp = cloudMsg->header.stamp;
rosCloud.header.frame_id = frameId_;
//publish the message
groundPub_.publish(rosCloud);
}
if(obstaclesPub_.getNumSubscribers())
{
sensor_msgs::PointCloud2 rosCloud;
pcl::toROSMsg(*originalCloud, rosCloud);
rosCloud.header.stamp = cloudMsg->header.stamp;
rosCloud.header.frame_id = frameId_;
//publish the message
obstaclesPub_.publish(rosCloud);
}
return;
}
originalCloud = rtabmap::util3d::transformPointCloud(originalCloud, localTransform);