[代码阅读]lego-loam 代码细节详解(一)-image_projection

在这里插入图片描述

1 image_projection

input topic:
velodyne_points 点云的输入话题,在utils.h里面可以修改
output topic
full_cloud_projected
full_cloud_info
ground_cloud 地面点云
segmented_cloud 只去除了outlier的点云(降采样)
segmented_cloud_pure 去除了outlier点和地面点的所有的点云(没有降采样)
segmented_cloud_info 自定义消息类型
outlier_cloud 不属于规则聚类的点

以上加粗的三个话题是传递给下一个节点所需的。

这个cpp的划分十分工整,在雷达的回调函数里进行了以下7个功能的处理;

    1. Convert ros message to pcl point cloud

copyPointCloud(laserCloudMsg);

    1. Start and end angle of a scan

    findStartEndAngle();

    1. Range image projection

projectPointCloud();

    1. Mark ground points

groundRemoval();

    1. Point cloud segmentation

cloudSegmentation();

    1. Publish all clouds

publishCloud();

    1. Reset parameters for next iteration

resetParameters();

下面,对每个函数的功能做一个详细的解答;

1.1 copyPointCloud(laserCloudMsg)

概述:将ROS_MSG -> PCL Poindcloud

没什么好说的,就是将点云的消息类型从ROS格式转换成了PCL的格式。

1.2 findStartEndAngle()

找到雷达旋转的开始的角度和结束的角度

atan2()范围在 ( − π , π ) (-\pi,\pi) (π,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值