激光SLAM:LOAM-Livox 算法研究(1) -- 功能包编译与验证

news/2024/11/28 20:33:06/

激光SLAM:LOAM-Livox 算法研究(1) -- 功能包编译与验证

  • 1、功能包所需环境
  • 2、功能包下载和编译
  • 3、运行
    • 3.1 Livox Mid-40
    • 3.2 Livox Mid-100
  • 4、公开数据集(Rosbag)进行验证
      • 4.1 Mid-40小场景
      • 4.2 Mid-40大场景
      • 4.3 Mid-100
      • 4.4 带有回环 的 数据集

LOAM-Livox是针对livox-LiDAR的一个激光里程计和建图(LOAM)的功能包

Loam-Livox是一个适用于 Livox LiDAR 强大的、低漂移实时的里程计和建图功能包

Livox LiDAR 是专为大量工业用途而设计的低成本,高性能LiDAR。

功能包解决了许多关键问题,特征提取和在有限FOV下提取,强大的异常值排除,运动物体过滤,运动失真补偿。

此集成了其他功能,例如可并行管道,使用单元和地图的点云管理,循环闭合,用于地图保存和重新加载的实用程序等。

论文1地址 主要写了Loam_livox的整体算法
论文2地址 主要就闭环优化这块进行分析

1、功能包所需环境

  • Ubuntu 64-bit 16.04 或者 18.04.
  • ROS Kinetic 或者 Melodic
  • Ceres Solver 安装可参考网址
    Ceres可以解决形式受限的鲁棒非线性最小二乘问题
    在这里插入图片描述
  • PCL 安装可参考网址

2、功能包下载和编译

    cd ~/catkin_ws/srcgit clone https://github.com/hku-mars/loam_livox.gitcd ../catkin_makesource ~/catkin_ws/devel/setup.bash

3、运行

3.1 Livox Mid-40

连接 PC 和 Livox LiDAR
然后先启动 Loam-Livox 算法

  roslaunch loam_livox livox.launch

再启动 livox-ros-driver

   roslaunch livox_ros_driver livox_lidar.launch

3.2 Livox Mid-100

Livox-ros-driver的默认配置将所有三个激光雷达点云混合在一起,这给特征提取和运动模糊补偿带来了一些困难。
所以对于这款激光雷达 启动功能包前要做些配置

4、公开数据集(Rosbag)进行验证

可以下载录制好的数据集进行测试
地址要翻

数据集已经下好传到百度网盘里了
百度网盘地址
提取码: sv9z

4.1 Mid-40小场景

执行指令

roslaunch loam_livox rosbag.launch
rosbag play YOUR_DOWNLOADED.bag

这个是小场景的,跑出来是这样
在这里插入图片描述

4.2 Mid-40大场景

大场景的 需要 launch 较大的线和平面的分辨率 的那个文件 ( 启动这个rosbag_largescale.launch)

大场景对应的数据集 可以用 HKUST_01.bag

执行指令

roslaunch loam_livox rosbag_largescale.launch
rosbag play YOUR_DOWNLOADED.bag

结果:
在这里插入图片描述

4.3 Mid-100

数据集地址

执行指令

roslaunch loam_livox rosbag_mid100.launch
rosbag play mid100_example.bag

在这里插入图片描述

4.4 带有回环 的 数据集

有个小的 rosbag,loop_loop_hku_zym.bag 可以验证
具体指令

roslaunch loam_livox rosbag_loop_simple.launch
rosbag play YOUR_PATH/loop_simple.bag

在这里插入图片描述

大场景的 回环数据 有loop_loop_hku_zym.bag, loop_hku_main.bag

roslaunch loam_livox rosbag_loop.launch
rosbag play YOUR_DOWNLOADED.bag

可以看到启动的launch文件并不相同

rosbag_loop_simple.launch 和 rosbag_loop.launch
仅有一点区别,最小关键帧的数量(minimum_keyframe_differen)不同

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/155664.html

相关文章

【Oracle数据库】实验-触发器trigger

触发器和存储过程的区别 procedure 带参数,trigger不带参数。procedure 体将declare 改为is,trigger体局部变量的声明依然是declare。procedure 的调用采用程序块主动调用,trigger是对on之后的对象做了某种动作(如insert&#xf…

MyIm

今天用了这个工具 以后就用这个工具上QQ MSN了。还能整合其他得一些聊天工具。such as icq .以后不用又开QQ 又开MSN了 我得myim号是 11459410

Fabric实战(7)Fabric模块配置参数详解-orderer

orderer模块主要负责对交易进行排序&#xff0c;并将排序好的交易打包成区块。 1 orderer模块的命令和参数 usage: orderer [<flags>] <command> [<args> ...]Hyperledger Fabric orderer nodeFlags:--help #显示帮助信息Commands:help [<command>.…

Zemax自学---1(基础知识)

看北京理工大学公开课总结的 光学系统设计与工艺&#xff08;北京理工大学&#xff09;_哔哩哔哩_bilibili 光学系统 线段以从左到右&#xff0c;从下到上为正 角度以锐角度量&#xff0c;顺时针为正 像差 色差&#xff1a; 1.介质色散&#xff08;不同波长光经过介质…

php在线解密,zend在线解密

PHP在线解密 支持Zend解密&#xff0c;易盾解密&#xff0c;混淆解密。支持Zend/PHP5.2&#xff0c;Zend/PHP5.3解密&#xff0c;Zend/PHP5.4解密。 支持易盾1.x&#xff0c;易盾2.x解密。支持phpjm解密&#xff0c;tianyiw解密&#xff0c;zym解密&#xff0c;威盾/微盾解密。…

Linux环境下搭建主从DNS服务器

一、bind简介 Linux中通常使用bind来实现DNS服务器的架设&#xff0c;bind软件由isc(www.isc.org)维护。在yum仓库中可以找到软件&#xff0c;配置好yum源&#xff0c;直接使用命令yum install bind就可以安装&#xff0c;监听窗口为53。bind的主要配置文件为/etc/named.conf&…

基于FTP协议的文件上传与下载

FTP协议 FTP协议建立在TCP协议之上&#xff0c;是进行文件传输服务的常用协议&#xff0c;采用C/S模式&#xff0c;是一个用于在计算机网络上在客户端和服务器之间进行文件传输的应用层协议。 (TCP协议可参考&#xff1a;http://t.csdn.cn/6a78D &#xff09; FTP服务器的简单…

Xmodem、Ymodem、Zmodem

文件传输协议&#xff1a; 文件传输是数据交换的主要形式。在进行文件传输时&#xff0c;为使文件能被正确识别和传送&#xff0c;我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。 在SecureCRT下的传输协议…