mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-12 20:49:50 +08:00
Publish even when pointcloud is null, otherwise system hangs
This commit is contained in:
@@ -140,11 +140,35 @@ private:
|
|||||||
|
|
||||||
pcl::PointCloud<pcl::PointXYZ>::Ptr originalCloud(new pcl::PointCloud<pcl::PointXYZ>);
|
pcl::PointCloud<pcl::PointXYZ>::Ptr originalCloud(new pcl::PointCloud<pcl::PointXYZ>);
|
||||||
pcl::fromROSMsg(*cloudMsg, *originalCloud);
|
pcl::fromROSMsg(*cloudMsg, *originalCloud);
|
||||||
|
|
||||||
if(originalCloud->size() == 0)
|
if(originalCloud->size() == 0)
|
||||||
{
|
{
|
||||||
ROS_ERROR("Recieved empty point cloud!");
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
originalCloud = rtabmap::util3d::transformPointCloud(originalCloud, localTransform);
|
originalCloud = rtabmap::util3d::transformPointCloud(originalCloud, localTransform);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user