A-LOAM算法流程:主要运行以下3个cpp文件
流程框图在文末
scanRegistration.cpp 雷达信息预处理进程
-
ros::Subscriber subLaserCloud = nh.subscribe<sensor_msgs::PointCloud2>(“/velodyne_points”, 100, laserCloudHandler);
-
laserCloudHandler{} 点云处理回调函数
算法原理细节在这里面有讲解
A-LOAM(前端-1)的特征提取及均匀化-算法流程+代码注释
A-LOAM(前端-2)异常点的剔除-算法流程+代码注释
- ①计算曲率
- ②根据曲率提取特征点,分曲率大与一般大两种角点
- ③角点均匀化
- ④根据曲率提取面点
- ⑤对面点进行体素滤波
- ⑥将曲率大、曲率一般大、全部面点、体素滤波后的面点、全部点云,共5中点云发布出去,分别对应5个话题发布,在laserOdometry.cpp中接收
laserOdometry.cpp
-
订阅scanRegistration.cpp 发布的话题信息