直接激光雷达里程计
direct_lidar_odometry
项目简介
[IEEE RA-L & ICRA'22] A lightweight and computationally-efficient frontend LiDAR odometry solution with consistent and a
Direct LiDAR Odometry(DLO)是一个轻量级、计算高效的前端激光雷达里程计解决方案,专注于在感知挑战性环境中实现一致且精确的定位。该项目源自NASA JPL团队CoSTAR为DARPA地下挑战赛所做的研发工作,并作为自主飞行器编队的主要状态估计组件,在实际任务中得到了充分验证。DLO的核心创新在于其直接处理稠密点云的能力,通过一系列算法优化显著提升了位姿估计的速度、精度和鲁棒性。技术栈方面,项目基于C++14开发,依赖ROS(Melodic/Noetic)、Point Cloud Library(≥1.10.0)、Eigen(≥3.3.7)和OpenMP(≥4.5),并集成了FastGICP和NanoFLANN等高效开源库。DLO支持输入sensor_msgs::PointCloud2类型的点云数据,并可选配IMU传感器(sensor_msgs::Imu)进行初始重力对齐和点云配准辅助。项目解决了传统激光雷达里程计在复杂环境下计算负担重、定位不稳定等问题,特别适用于无人机和足式机器人等计算资源受限的平台。其典型应用场景包括地下空间探索、隧道巡检、室内外无缝定位等需要快速、可靠自定位的任务。DLO提供了完整的ROS节点实现,用户可通过launch文件灵活配置点云和IMU话题,并支持将生成的地图保存为PCD格式、将轨迹保存为KITTI格式,便于后续分析和应用。该项目已在Ubuntu 18.04和20.04系统上经过广泛测试,并提供了约4.2GB的测试数据包供用户快速上手验证。
标签
项目特点
技术规格
| 输入 | |
|---|---|
| 操作系统 | |
| 编程语言 | |
| 构建工具 | |
| 依赖库 | |
| 输出 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 激光雷达 (LiDAR) | 1 | — | 提供 `sensor_msgs::PointCloud2` 数据 |
| IMU (可选) | 1 | — | 提供 `sensor_msgs::Imu` 数据,用于重力对齐 |
| 搭载 Ubuntu 的计算机 | 1 | — | 运行 ROS 和 DLO 算法 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 计算机 (Ubuntu) | 运行 ROS 和编译代码 | ✅ 是 |
| ROS (Melodic/Noetic) | 机器人操作系统框架 | ✅ 是 |
| CMake | 构建系统 | ✅ 是 |
| catkin_tools 或 catkin_make | ROS 包编译工具 | ✅ 是 |
能力画像
项目图库
视频
watch