LOAM, ALOAM, LegoLOAM, hdl graph slam比较

本文对比了LOAM、ALOAM、LegoLOAM和HDL Graph SLAM四种激光SLAM算法。LOAM假设匀速运动并进行特征点优化,ALOAM在可读性和速度上有改进但全局性能较弱。LegoLOAM通过优化提高速度和精度,适用于室外场景。HDL Graph SLAM采用图优化模型,但点云处理效率较低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LOAM

LOAM:

  • LOAM使用了作者定义的特征点提取和匹配方法,主要去边角点和平面点。LOAM use a new defined feature system (corner and flat point), for the detail see its article.
  • LOAM假设每一次激光扫描过程中是匀速运动,并且用这个假设修正激光雷达数据的运动扭曲问题。在VLOAM中则是更进一步,使用视觉的里程计估计每一个扫描数据的运动。LOAM suppose linear motion within the scan swap (VLOAM further uses visual odometry to estimate it), and undistort the lidar points.
  • LOAM也有一个低频率调用的全局优化线程。

A-LOAM

ALOAM github page

另外,下面的算法都使用hdl_graph_slam给到的室外数据集做了结果的测试,建模的图像如下所示。由于没有找到轨迹的真实值,没有对轨迹误差做比较分析。

LOAM和ALOAM的区别(Difference LOAM vs A-LOAM):

  • LOAM中提供了使用IMU信息修正的接口, ALOAM中省略了这一块。LOAM has IMU refinement.
  • ALOAM中缺少了对提取到的特征点的筛选过程,具体可以参见LOAM的代码部分(对一些不好的边角点做了筛选)。Lack feature filter in A-LOAM.
  • LOAM中的优化LM方法是作者自己编写的,ALOAM则是使用了Ceres库完成这一部分。LOAM implies the LM solver itself. A-LOAM uses Ceres solver.
  • 补充上面的一点,LOAM中作者解析地求出了雅各比的表达式(其中使用了一些小技巧统一了不同特征点的残差函数的导数表达),ALOAM则是简单地使用了ceres提供的自动求导工具(这样可以节省开发的时间,得到了也是准确的解,但是运算时间会稍稍长些,具体可以参见ceres的官方文档)。LOAM use analytical derivatives for Jacobians, but A-LOAM uses the automatic derivatives offered by Ceres (which is exact solution but a little bit slower).
  • 相比于原本的LOAM, ALOAM的可读性更高,非常适合学习。尤其是雅各比的部分,LOAM原本的雅各比推导非常的难理解。ALOAM直接用自动求导,整个SLAM最复杂的运算就不需要推导了!
### 关于复现SC-A-LOAM的设置和配置 对于希望复现SC-A-LOAM(Scalable and Consistent Anytime Loam)的工作环境而言,虽然提供的参考资料并未直接涉及此主题[^1],可以依据一般性的SLAM框架搭建经验来提供指导。 #### 1. 安装依赖项 确保安装了必要的软件包和支持库。通常这包括但不限于ROS(Robot Operating System),PCL(Point Cloud Library),以及CMake等构建工具。具体命令如下: ```bash sudo apt-get update sudo apt-get install ros-noetic-cmake-modules python-catkin-tools \ libpcl-dev libsuitesparse-LOAM源代码。克隆项目到本地工作空间并初始化子模块: ```bash cd ~/catkin_ws/src/ git clone https://github.com/sc-loam/sc_loam.git cd sc_loam && git submodule init && git submodule update ``` #### 3. 编译工程 编译之前确认已经设置了正确的编译器选项以匹配目标平台的需求。如果遇到链接错误或缺失符号问题,则可能需要调整项目的运行时库设置。 ```bash cd ~/catkin_ws/ catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release source devel/setup.bash ``` #### 4. 配置参数文件 根据实际使用的传感器型号修改对应的YAML配置文件中的各项参数,比如IMU频率、激光雷达扫描线数等。这部分往往需要通过实验测试找到最优解。 #### 5. 启动节点和服务 编写launch启动脚本简化多进程管理流程;同时利用rviz可视化调试轨迹估计效果直至满意为止。 ```xml <launch> <!-- 加载所需驱动程序 --> <include file="$(find hdl_graph_slam)/launch/hdl_graph_slam.launch"/> <!-- 运行sc_a_loam核心算法 --> <node pkg="sc_loam" type="process_scan" name="sc_loam_node"> </launch> ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值