LeGO-LOAM(Lightweight and Ground-Optimized Lidar Odometry and Mapping)是一个针对地面移动机器人设计的轻量级激光雷达同步定位与建图(SLAM)系统。它基于LOAM(Lidar Odometry and Mapping)框架进行优化和改进,旨在解决资源受限平台上的实时定位与建图问题,尤其适用于复杂地形环境。
核心特点
-
轻量级设计:
- 低功耗嵌入式系统兼容:LeGO-LOAM专为计算资源有限的嵌入式系统设计,如Nvidia Jetson TX2等,能够在低功耗硬件上实现实时姿态估计和地图构建。
- 代码简洁高效:采用C++编程,结合CMake构建管理,代码易于理解和修改,适合研究人员学习SLAM技术。
-
地面优化:
- 地面点提取与分割:通过点云投影和分割技术,有效提取地面点,并利用地面约束提高定位和建图的准确性。
- 两步优化策略:
- 第一步:利用地面点中的平面特征进行Z轴、滚转角(Roll)和俯仰角(Pitch)的估计。
- 第二步:利用边缘特征进行X轴、Y轴和偏航角(Yaw)的估计。
- 这种策略显著降低了计算负担,同时保持了高精度。
-
高精度与鲁棒性:
- 特征提取与匹配:从点云中提取稳定的边缘和平面特征,通过两步Levenberg-Marquardt优化方法实现高精度的位姿估计。
- 抗噪声与动态物体:通过点云分割和特征筛选,有效剔除不可靠特征(如浮动草丛、摆动树叶等),提高系统在复杂环境中的鲁棒性。
-
实时性能:
- 多线程处理:将多进程应用转换为单进程/多线程应用,提高算法的确定性和速度。
- 分层特征提取:上层负责粗略位姿估计,下层用于精细化匹配,降低计算复杂性,确保实时性。
系统架构
LeGO-LOAM的系统架构主要包含以下五个模块:
-
点云分割(Segmentation):
- 将原始激光雷达点云投影到深度图上,进行地面点检测和点云聚类。
- 过滤掉点数较少的聚类,保留可能代表大型物体(如树干)和地面点的点云。
-
特征提取(Feature Extraction):
- 从分割后的点云中提取边缘点和平面点特征。
- 通过计算点的曲率值,将曲率大于阈值的点分类为边缘点,小于阈值的点分类为平面点。
-
激光里程计(Lidar Odometry):
- 利用提取的特征点进行帧间匹配,找到连续扫描之间的位姿变换。
- 采用两步优化策略,先估计Z轴、滚转角和俯仰角,再估计X轴、Y轴和偏航角。
-
激光建图(Lidar Mapping):
- 将激光里程计估计的位姿信息用于更新全局点云地图。
- 使用迭代最近点(ICP)算法优化地图点与当前扫描点云之间的对齐。
-
变换融合(Transform Integration):
- 融合激光里程计和激光建图的位姿估计结果,输出最终的位姿估计。
应用场景
-
无人机自主飞行:
- 为无人机提供精确的飞行路径规划和避障能力,提升飞行安全性和效率。
-
自动驾驶汽车:
- 帮助车辆在无GPS信号或复杂城市环境下的定位和导航。
-
室内机器人:
- 如清洁机器人或服务机器人,在未知室内环境中构建地图并进行自主移动。
-
地形测绘:
- 为地质勘探、农业监测等领域提供精准的地形测量工具。
优势与性能
- 计算效率高:相比LOAM,LeGO-LOAM在保持精度的同时,显著降低了计算负担。实验表明,其计算时间减少了约35%,而位姿估计精度相当或更优。
- 适应性强:能够有效处理各种环境条件,包括静态和动态障碍物,以及光照变化等。
- 开源与社区支持:基于MIT许可,允许自由使用和二次开发,有利于社区协作和创新。
1731

被折叠的 条评论
为什么被折叠?



