fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行

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)


git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..

make
sudo make install

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

至此依赖安装完成

二、源码编译


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,设置高程渲染得到如下结果:

fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行

实物运行测试

一、实验设备及测试环境
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 建图及里程计结果

fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行
fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行
  • lego-loam建图及里程计结果
    fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行
    fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行

Original: https://blog.csdn.net/weixin_37684239/article/details/126180603
Author: robotics港
Title: fast lio系列代码解析及从零手写(一)fast lio2代码编译及运行

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/111629/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部