fast lio测试

news/2024/11/16 8:21:32/

fast lio2代码编译及运行

编译

fast lio2仓库地址

一. 安装依赖
ubuntu18+ros环境下,pcl和eigen可默认使用ros自带版本,所以只需安装 livox驱动包 livox_ros_driver即可

安装livox驱动(github.com/Livox-SDK/livox_ros_driver),需要先安装驱动依赖的SDK包(github.com/Livox-SDK/Livox-SDK)

# livox SDK 安装
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install
# livox Driver安装
cd $YOUR_ROS_WORKSPACE$/src
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make
echo "source $YOUR_ROS_WORKSPACE_PATH$/src/ws_livox/devel/setup.bash" >> ~/.bashrc# 建议写到.bashrc环境变量中

至此依赖安装完成

二、源码编译

# fast lio2安装
cd ~/$YOUR_ROS_WORKSPACE$/src
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init 
cd ../..
catkin_make
source devel/setup.bash
  • git submodule update --init 是初始化并加载子模块,fast lio2这里是在加载ikd-Tree部分到源码中,可参考文章 git-scm.com/book/en/v2/Git-Tools-Submodules

数据集运行测试

下载Velodyne HDL-32E Rosbag数据集合(以20130110.bag为例)
一、修改配置参数
查询bag文件中所录话题的消息类型及名称

rosbag info 20130110.bag
path:        20130110.bag
version:     2.0
duration:    17:05s (1025s)
start:       Jan 11 2013 03:47:17.25 (1357847237.25)
end:         Jan 11 2013 04:04:23.14 (1357848263.14)
size:        7.0 GB
messages:    116818
compression: none [6709/6709 chunks]
types:       sensor_msgs/Imu         [6a62c6daae103f4ff57a132d6f95cec2]sensor_msgs/NavSatFix   [2d3a8cd499b9b4a0249fb98fd05cfa48]sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]
topics:      gps_fix        7186 msgs    : sensor_msgs/NavSatFix  gps_rtk_fix    2791 msgs    : sensor_msgs/NavSatFix  imu_raw       96629 msgs    : sensor_msgs/Imu        points_raw    10212 msgs    : sensor_msgs/PointCloud2

对于fast lio2而言,仅需要输入原始点云及imu信息。于是,对应修改FAST_LIO/config/velodyne.yaml文件,即为 lid_topic: “/points_raw”、imu_topic: “/imu_raw”

  • RVIZ中大规模点云易出现卡顿,设置参数为不显示点云数据,只生成PCD文件
    二、运行
roslaunch fast_lio mapping_velodyne.launch
rosbag play YOUR_DOWNLOADED.bag

FAST_LIO/PCD文件夹下得到建图后的点云数据,再通过CloudCompare,设置高程渲染得到如下结果:
在这里插入图片描述

实物运行测试

一、实验设备及测试环境
3D激光雷达: velodyne 16线
惯导单元:北斗星通Npos220s (内置imu为六轴)
底盘:松灵机器人HUNTER1代

测试环境:东北大学综合楼9层(长廊环境)

二、测试效果及对比
config目录下根据所接收的imu及点云数据修改对应雷达的yaml文件,此外建议设置path_en: true(显示路径)、dense_publish_en: false (大规模点云渲染易卡顿) 、 pcd_save_en: true(保存点云结果后续离线可视化)
B站 fast lio2测试视频

  • fast lio2 建图及里程计结果

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

  • lego-loam建图及里程计结果
    在这里插入图片描述
    在这里插入图片描述

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

相关文章

web服务器/中间件漏洞系列4:apache漏洞汇总

apache 简介: Apache 是世界使用排名第一的Web 服务器软件。它可以运行在几乎所有广泛使用的 计算机平台上,由于其 跨平台 和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将 Perl/ Py…

Intel 系统级架构概述

文章目录 前言一、IA-32 架构 和 Intel 64 架构 简述二、系统级架构概述2.1 Global and Local Descriptor Tables2.1.1 32-bit modes2.1.2 IA-32e Mode 2.2 System Segments, Segment Descriptors, and Gates2.2.1 32-bit modes2.2.2 IA-32e Mode 2.3 Task-State Segments and …

ESP32-WROOM-32E,WIFI基本功能实现,采坑经验

ESP32-WROOM-32E,WIFI基本功能实现,采坑经验 用的示例代码,路径 D:\esp-idf\examples\wifi\getting_started\station 。 看官网教程,路径https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/get-started/index.html#get-start…

platformio中arduino框架下esp32 flash信息修改问题

问题描述: 购买的esp32-wroom-32E的flash明明是16MB,但是为什么在烧录的时候只能显示1MB? 回答: 在platformio中选择板子的时候,给的模板默认是4MB的模板。4MB又会被分成5个区。下图是flash的一个分区表,用arduino…

ESP32 Arduino框架入门(二)外部中断和TouchPad(电容触摸引脚)

接ESP32 Arduino框架入门(一)介绍和工程创建(8条消息) ESP32 Arduino框架入门(一)介绍和工程创建_长谷深风灯盏的博客-CSDN博客_arduino的esp32软件系统架构 接下来继续介绍ESP32-Wroom-32E的外部引脚、中断、定时器等部分…

ESP32-WROOM-32E,MQTT报错mqtt_message_receive:transport_read() error:errno=128

ESP32-WROOM-32E,MQTT使用采坑经验之transport_read() error:errno128 配置MQTT的是 esp_mqtt_client_config_t 结构体,里面包含了MQTT的信息,可根据具体场景配置。 问题 使用MQTT建立连接后,不收发数据,每隔35秒会有如下报错&…

【Intel Parallel编译器(icc icpc ifort)Linux-centos7系统安装配置】

(toc) Intel Parallel编译器(icc icpc ifort)Linux系统安装配置 本篇文章主要讲解在linux系统centos7.5/centos7.9版本中,Intel编译器的安装、环境导入、并行库调用以及在不同centos版本中安装时缺少32位库的解决方案等内容。 一、★Intel编译器定义 Intel Paralle…

x64保护模式_IA-32e

IA-32e 内核x64位,内核是64位的,用户可以是64也可以是32位。但是内核一定是64位的。 强制平坦段,段基址必须是0,不支持TSS段切换了。把32位硬件不用的给删了。 MSR寄存器 这是x64独有的。 MSR寄存器c0000080如果位81&#xf…