优化网站的目的,wordpress使用用,博客网站模版,填空秒懂网站前言#xff1a;
LIO-SAM中ImageProjection类和featureExtraction类的内容比较简单#xff0c;这里就放在一起记录#xff0c;这两部分属于点云的预处理前端#xff0c;ImageProjection用来点云的运动去畸变和为每帧点云位姿进行粗略初始化#xff0c;featureExtraction类…前言
LIO-SAM中ImageProjection类和featureExtraction类的内容比较简单这里就放在一起记录这两部分属于点云的预处理前端ImageProjection用来点云的运动去畸变和为每帧点云位姿进行粗略初始化featureExtraction类用来提取特征点包括角点和面点。
一ImageProjection类
功能简介:
1、利用当前激光帧起止时刻间的imu数据计算旋转增量IMU里程计数据来自ImuPreintegration计算平移增量进而对该帧激光每一时刻的激光点进行运动畸变校正利用相对于激光帧起始时刻的位姿增量变换当前激光点到起始时刻激光点的坐标系下实现校正
2、同时用IMU数据的姿态角RPYroll、pitch、yaw、IMU里程计数据的的位姿对当前帧激光位姿进行粗略初始化。
订阅
1、订阅原始IMU数据
2、订阅IMU里程计数据来自ImuPreintegration表示每一时刻对应的位姿
3、订阅原始激光点云数据。
发布
1、发布当前帧激光运动畸变校正之后的有效点云用于rviz展示
2、发布当前帧激光运动畸变校正之后的点云信息包括点云数据、初始位姿、姿态角、有效点云数据等发布给FeatureExtraction进行特征提取。 二featureExtraction类
功能简介:
对经过运动畸变校正之后的当前帧激光点云计算每个点的曲率进而提取角点、平面点用曲率的大小进行判定。
订阅
1、订阅当前激光帧运动畸变校正后的点云信息来自ImageProjection。
发布
1、发布当前激光帧提取特征之后的点云信息包括的历史数据有运动畸变校正点云数据初始位姿姿态角有效点云数据角点点云平面点点云等发布给MapOptimization
2、发布当前激光帧提取的角点点云用于rviz展示
3、发布当前激光帧提取的平面点点云用于rviz展示。
计算曲率 用当前激光点前后5个点计算当前点的曲率平坦位置处曲率较小角点处曲率较大这个方法很简单但有效。
判断遮挡和平行
1.两个点在同一扫描线上且距离相差大于0.3认为存在遮挡关系也就是这两个点不在同一平面上如果在同一平面上距离相差不会太大。远处的点会被遮挡标记一下该点以及相邻的5个点后面不再进行特征提取。 2.用前后相邻点判断当前点所在平面是否与激光束方向平行。
点云角点、平面点特征提取
曲率大于一定的阈值则认为是角点否则是平面点同一条扫描线上角点和面点前后5个点标记一下不再处理避免特征聚集。
1、遍历扫描线每根扫描线扫描一周的点云划分为6段针对每段提取20个角点、不限数量的平面点加入角点集合、平面点集合。
2、认为非角点的点都是平面点加入平面点云集合最后降采样。