尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

终极指南:MULLS 是什么?一文读懂 ICRA 2021 高效低漂移的 LiDAR SLAM 开源项目

终极指南:MULLS 是什么?一文读懂 ICRA 2021 高效低漂移的 LiDAR SLAM 开源项目 终极指南MULLS 是什么一文读懂 ICRA 2021 高效低漂移的 LiDAR SLAM 开源项目【免费下载链接】MULLS MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square [ICRA 21]项目地址: https://gitcode.com/gh_mirrors/mu/MULLS在自动驾驶、机器人导航和三维重建领域LiDAR SLAM激光雷达同步定位与建图一直是核心技术难题。今天要介绍的MULLS正是发表于 ICRA 2021 的开源 LiDAR SLAM 项目它凭借多度量线性最小二乘Multi-metric Linear Least Square的创新思路实现了高效、低漂移、多场景通用的建图定位能力并已在 Ubuntu 16.04/18.04/20.04 上稳定运行。这篇终极指南将带你从原理到实践一文读懂 MULLS。MULLS 是什么从论文到开源代码MULLS 全称MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square由 ETH Zurich 的 Yue Pan 等学者发表于ICRA 2021是经典 LLS-LOAM 的全面升级版本。它的核心思想非常巧妙传统 LiDAR 里程计通常只对点云整体做 ICP 配准而 MULLS 将每一帧点云按几何特征分类——地面点、立面点、柱状点、光束点等然后针对不同类别的点分别构造多度量误差项最后用一个统一的线性最小二乘框架求解帧间位姿。由于误差建模更精细它在精度和鲁棒性上都明显优于传统方法同时保持了极高的计算效率。上图是论文中的核心实验数据在 KITTI Odometry 多个序列上MULLS-SLAM 的定位误差和单帧耗时都表现出色尤其是在高速公路01 序列等大场景中其低漂移优势尤为突出。MULLS 的核心优势为什么它高效又低漂移作为 ICRA 2021 收录的开源LiDAR SLAM 项目MULLS 的三大核心竞争力值得关注1. 多度量特征分类配准更聪明 MULLS 把点云划分为地面、立面、柱面、光束等多个几何类别每类点使用最合适的度量方式参与配准而不是一刀切地做整体 ICP。这让它对噪声和动态物体更鲁棒。2. 线性最小二乘速度更快⚡ 得益于巧妙的误差线性化设计MULLS 的位姿求解无需迭代优化海森矩阵单帧处理耗时可低至几十毫秒完全满足实时应用需求。3. 前端 后端完整闭环 项目不仅提供里程计前端还内置了回环检测与位姿图优化后端支持 g2o / ceres / gtsam 三种优化器让长距离行驶时的累计漂移得到有效抑制。MULLS-SLAM 与 MULLS-Registration两大核心模块MULLS 仓库包含两个可独立使用的高价值模块MULLS-SLAM完整建图定位系统这是全流程的 SLAM 系统输入一序列点云帧输出全局一致的三维地图和位姿轨迹。MULLS-Registration高精度点云配准如果你只需要两帧点云的精确对齐例如 TLS 地面激光扫描配准可以单独使用 MULLS-ICP还可结合 TEASER 实现基于截断最小二乘的全局配准。两个模块都提供了开箱即用的运行脚本run_mulls_slam.sh 与 run_mulls_reg.sh修改数据路径即可直接运行。如何安装编译 MULLS最快配置方法MULLS 的依赖分为必需和可选两层安装门槛并不高依赖层级库列表用途必需PCL(≥1.7)、Glog、Gflags、Eigen 3点云处理、日志、参数解析可选LibLas / HDF5 / Proj4特定数据格式读写、地理坐标投影可选OpenCV2D 地图与 BEV 图像生成可选g2o / ceres / gtsam三选一位姿图优化推荐 ceres可选TEASER全局配准MULLS-Registration 用一键安装依赖Ubuntu 16.04 验证直接运行项目自带的 install_dep_lib.sh 脚本即可。随后按标准 CMake 流程编译mkdir build cd build cmake .. make cd ..如果想按需开关可选依赖可以在 CMakeLists.txt 中调整选项或用ccmake ..交互式配置。快速上手用内置 demo 数据一键体验 MULLS项目自带 16 帧相邻扫描点云位于 demo_data/pcd/ 目录无需准备任何外部数据即可体验完整流程。体验 MULLS-SLAMsh script/run_mulls_slam.sh体验 MULLS-Registrationsh script/run_mulls_reg.sh运行结束后结果轨迹、地图、评估报告会输出到 demo 数据下的result文件夹实时可视化窗口也会同步展示建图过程非常适合新手快速建立对 LiDAR SLAM 的直观认识。支持哪些数据格式与数据集MULLS 的通用性Versatile名不虚传输入点云格式支持pcd、ply、txt、las、csv、h5、bin七种只需要在启动脚本中指定pc_format即可。在数据集层面项目官方提供了多种场景的调优配置放在 script/config/ 目录下KITTI城市 / 高速公路 / 极速模式lo_gflag_list_kitti_urban.txt、lo_gflag_list_kitti_highway.txtMulRanlo_gflag_list_mulran.txtNewer Collegelo_gflag_list_newer_college.txt16/32/64 线激光雷达通用配置KITTI 原始 bin 数据可通过 run_kittibin2pcd.sh 一键转换为 pcdSemantic KITTI 的语义标签也有对应转换脚本 run_semantic_kitti_labelbin2pcd.sh用于启用语义掩码辅助的增强版里程计。上图是 MULLS 在 KITTI 序列 00城市道路的建图与轨迹评估结果黑色真实轨迹与蓝色 SLAM 轨迹高度重合点云地图细节清晰。序列 01高速公路的建图结果则充分体现了 MULLS 在高速、大场景下的低漂移能力。参数调优与精度评估进阶玩法对精度有更高要求的进阶用户可以重点关注参数配置所有算法参数集中在lo_gflag_list_xxx.txt文件中例如回环检测开关--loop_closure_detection_on、距离过滤范围min_dist_used/max_dist_used等均在 mulls_slam.cpp 中定义并附有详细注释。结果评估项目提供两种评估方式——基于 evo 的轨迹对比以及自带的 kitti_eval.py 脚本可输出平移/旋转误差的统计报告方便你量化调参效果。项目源码结构速览对于想深入源码学习的朋友MULLS 的目录组织非常清晰按功能划分为include/common/核心算法库包括点云处理 cprocessing.hpp、配准 cregistration.hpp、滤波 cfilter.hpp 等include/pgo/后端优化含建图管理器 map_manager.h、位姿图构建与优化include/baseline_reg/基线配准方法GICP / NDT用于公平对比test/可执行程序入口如 mulls_slam.cpp、mulls_reg.cpppython/评估与坐标转换工具如 kitti_eval.py、diagnostics.py总结MULLS 是近年来最值得研究的LiDAR SLAM 开源项目之一它用多度量线性最小二乘的统一框架把精度、速度和通用性做到了很好的平衡且代码开源、文档齐全、demo 开箱即用。无论你是想快速跑通一个 SLAM 系统验证想法还是希望深入理解前沿配准算法的学生与工程师MULLS 都是一份极佳的学习与实战素材。想要立刻动手克隆仓库体验一下吧git clone https://gitcode.com/gh_mirrors/mu/MULLS从内置 demo 开始几分钟就能跑出第一张属于自己的激光雷达点云地图 【免费下载链接】MULLS MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square [ICRA 21]项目地址: https://gitcode.com/gh_mirrors/mu/MULLS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表