GLIM 3D激光雷达建图框架 glim

机器人 ⭐⭐⭐☆☆ (3/5) 🧩 软硬件结合 已发布
koide3 968 Stars 未知 BOM 完整度: /5 教程完整度: /5

项目简介

GLIM: versatile and extensible point cloud-based 3D localization and mapping framework


GLIM 是一个功能全面且高度可扩展的基于距离传感器的三维地图构建框架。它通过直接多扫描配准误差最小化技术,在因子图上实现高精度的地图一致性,并支持 GPU 加速以最大化建图速度与质量。其核心优势在于准确性、易用性、通用性和可扩展性。GLIM 消除了对特定传感器的依赖,能够适配多种距离传感器,包括旋转式激光雷达(如 Velodyne HDL32e、Ouster OS1-32)、非重复扫描激光雷达(如 Livox Avia、MID360)、固态激光雷达(如 Intel Realsense L515)以及 RGB-D 相机(如 Microsoft Azure Kinect),极大拓宽了应用场景。项目提供了交互式地图修正界面,用户可以手动纠正建图失败或优化结果,降低了使用门槛。此外,GLIM 设计了全局回调槽机制,允许开发者访问建图过程的内部状态并向因子图添加额外约束,配合官方提供的扩展包(glim_ext),可轻松实现显式回环检测、LiDAR-视觉-惯性里程计等高级功能。技术栈上,GLIM 基于 Eigen、nanoflann、GTSAM 和 gtsam_points 等库,并可选支持 CUDA、OpenCV、OpenMP 及 ROS/ROS2 集成。它解决了传统建图框架在传感器兼容性、精度和人工干预方面的痛点,适用于从高精度机器人自主导航、环境重建到低算力设备(如树莓派)上的实时建图等多种场景。项目已在 Ubuntu 22.04/24.04 及 NVIDIA Jetson Orin 上完成测试,并基于 MIT 许可证开源。

标签

项目特点

**高精度**:基于因子图上的直接多扫描配准误差最小化,能够精确保持建图结果的一致性,支持GPU加速。
**易于使用**:提供交互式地图修正界面,用户可以手动修正建图失败并轻松优化结果。
**通用性**:消除了传感器特定处理,可应用于旋转式LiDAR、非重复扫描LiDAR、固态LiDAR和RGB-D相机等多种距离传感器。
**可扩展性**:提供全局回调槽机制,允许访问建图内部状态并插入额外约束,官方提供扩展包 [glim_ext](https://github.com/koide3/glim_ext) 作为示例。

技术规格

支持传感器
核心算法
依赖项
可选依赖
测试平台
许可证

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
激光雷达或RGB-D相机 1 支持多种类型,如Velodyne、Livox、Azure Kinect等
带有NVIDIA GPU的计算机 1 推荐使用CUDA加速,也可在低配设备上运行轻量模式
Ubuntu 22.04/24.04 1 操作系统
CUDA Toolkit 1 可选,用于GPU加速
ROS2 1 可选,用于ROS2集成

所需工具

工具用途是否必需
带有NVIDIA GPU的计算机 运行GLIM建图,特别是GPU加速版本 ✅ 是
CMake 构建项目 ✅ 是
C++编译器 (gcc/clang) 编译C++代码 ✅ 是
Docker (可选) 使用预构建的Docker镜像简化部署 ▢ 推荐

能力画像

记忆与知识检索
1/5
逻辑推演
1/5
表达与交流
1/5
感知与观察
1/5
数理与计算
5/5
动手与操作
3/5
狂热与坚持
4/5
创造与创新
4/5

视频

watch

watch

所需技能

🔧 **动手能力**:需要能够搭建和配置传感器硬件(激光雷达、相机等),以及连接和调试计算平台。 💻 **编程能力**:需要具备C++编程能力,熟悉CMake构建系统,了解ROS2(可选)和CUDA编程(可选)。 ⚡ **电子电路**:需要了解传感器与计算平台的连接方式(如以太网、USB等),以及基本的电源管理知识。

适用场景

**机器人自主导航**:为机器人提供高精度的3D地图构建和定位能力,适用于室内外环境。
**自动驾驶**:用于自动驾驶车辆的实时建图和定位,支持多种激光雷达传感器。
**三维重建**:对建筑物、工厂、考古遗址等大型场景进行高精度三维重建。
**测绘与地理信息**:用于移动测绘系统,生成高精度点云地图。
**科研与教育**:作为SLAM和3D建图研究的平台,支持算法扩展和实验验证。