随手笔记——雷达点云话题转PCL,处理数据后再转为雷达点云话题常用方式
- 说明
- 主要函数
说明
将接收到的雷达点云话题转换为pcl点云格式,处理点云后,再次转换为点云话题并发布
主要函数
void laserCloudHandler(const sensor_msgs::PointCloud2ConstPtr &laserCloudMsg)
{......pcl::PointCloud<pcl::PointXYZ> laserCloud; // 输入点云,pcl点云格式pcl::fromROSMsg(*laserCloudMsg, laserCloud); // 将传入的ros消息格式转为pcl库里的点云格式int cloudSize = laserCloud.points.size();...... // 将pcl点云信息转换成ros消息并发布 时间都为laserCloudMsg->header.stampsensor_msgs::PointCloud2 laserCloudOutMsg;pcl::toROSMsg(*laserCloud, laserCloudOutMsg);laserCloudOutMsg.header.stamp = laserCloudMsg->header.stamp;laserCloudOutMsg.header.frame_id = "/camera_init";pubLaserCloud.publish(laserCloudOutMsg); // 去除掉一些无效点之后的原始点云数据}