一、特征提取机制对比
特征分类方式
算法 | 特征类型 | 提取标准 |
---|---|---|
LOAM | 边缘点+平面点 | 基于局部曲率阈值,固定比例选取(边缘2%,平面4%) |
A-LOAM | 边缘点+平面点 | 同LOAM,但计算效率优化 |
LeGO-LOAM | 地面点+非地面边缘点 | 先进行地面分割(基于角度阈值),再从非地面点提取边缘特征 |
LIO-SAM | 边缘点+平面点 | 结合IMU信息进行运动补偿后的特征提取 |
关键差异:LeGO-LOAM引入地面分割先验,LIO-SAM强调运动补偿后的特征质量
二、位姿估计原理对比
2.1 匹配策略
算法 | 匹配方法 | 目标函数 |
---|---|---|
LOAM | 点到线+点到面ICP | 最小化距离误差(基于LM优化) |
A-LOAM | 同LOAM,使用Eigen加速计算 | 同LOAM |
LeGO-LOAM | 分步优化:先地面后边缘 | 地面特征优化Z轴,边缘特征优化XY平面 |
LIO-SAM | 紧耦合的激光-IMU联合优化 | 因子图优化(iSAM2) |
核心演进:从纯激光匹配→分步优化→多传感器联合优化
2.2 运动补偿
// LOAM/A-LOAM的线性插值补偿
PointType deSkewedPt;
float ratio = (pt.time - scanStartTime) / scanPeriod;
deSkewedPt.x = pt.x - ratio * transform[3];
// ...其他维度类似...
// LIO-SAM的IMU辅助补偿
Eigen::Vector3d un_gyr = 0.5 * (gyr_0 + angular_velocity) - bias_g;
delta_q = delta_q * Quaterniond(1, un_gyr(0)*dt/2, un_gyr(1)*dt/2, un_gyr(2)*dt/2);
三、优化框架对比
3.1 架构设计
算法 | 优化架构 | 关键特点 |
---|---|---|
LOAM | 双线程松耦合 | 前端里程计(10Hz)+后端建图(1Hz) |
A-LOAM | 同LOAM | 代码优化但架构不变 |
LeGO-LOAM | 带关键帧的位姿图 | 引入基于距离的关键帧选择,增加回环检测 |
LIO-SAM | 紧耦合因子图 | IMU预积分因子+激光因子+GPS因子统一优化 |
3.2 数学表达对比
LOAM:
argmin(Σ||E_edge(p_i, T)||² + Σ||E_plane(p_j, T)||²)
LIO-SAM:
argmin(Σ||E_IMU||² + Σ||E_lidar||² + Σ||E_GPS||² + Σ||E_loop||²)
四、关键创新点对比
4.1 各算法核心贡献
算法 | 核心创新 | 解决的问题 |
---|---|---|
LOAM | 双特征分类+双线程架构 | 激光SLAM的实时性与精度平衡 |
A-LOAM | 工程化实现优化 | 降低使用门槛 |
LeGO-LOAM | 地面优化+轻量化设计 | 资源受限场景应用 |
LIO-SAM | 紧耦合多传感器因子图 | 复杂环境下的鲁棒定位 |
五、原理演进路线
-
特征提取:
固定比例曲率特征 → 语义辅助分割 → 运动补偿特征 -
位姿估计:
纯激光匹配 → 分步优化 → 多传感器紧耦合 -
优化框架:
松耦合双线程 → 位姿图优化 → 全局因子图
六、典型场景性能对比
6.1 室内结构化环境
- LOAM/A-LOAM:表现优异(特征丰富)
- LeGO-LOAM:地面分割带来额外优势
- LIO-SAM:IMU帮助解决激光退化问题
6.2 室外大尺度场景
- LIO-SAM:GPS防止漂移,表现最佳
- LOAM系列:需结合回环检测防漂移
6.3 动态环境
- LeGO-LOAM:聚类过滤动态物体能力较强
- LIO-SAM:IMU提供运动先验
七、总结
LOAM系列算法的原理演进体现了SLAM技术的发展趋势:
- 从单一传感器到多传感器融合
- 从独立处理到紧耦合优化
- 从纯几何方法到语义辅助
- 从通用框架到场景适配优化
理解这些原理层面的差异,有助于在实际项目中正确选择和使用合适的算法。每个算法都在特定场景下有不可替代的优势,关键是根据应用需求进行合理选型和配置。