loam_livox 算法部署与迁移

loam_livox 算法部署

项目需求采用 图达通INNOVUSION Falcon Prime 激光雷达构建环境三维特征地图,但该雷达不同于传统机械式雷达的360扫描方式,因此之前采用的LIO-SAM方法不再奏效。经资料检索,发现香港大学loam_livox算法,该算法采用固态激光雷达Mid-40,其点云形式和Falcon Prime 有点类似,故决定先跑通loam_livox,然后再研究算法迁移。

1 源码下载

源码地址为:https://github.com/hku-mars/loam_livox

2 准备工作

2.1 简单依赖

按照github源码说明,首先安装依赖,对于ubuntu18.04,如下:

sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport

2.2 安装Ceres求解器

按照github源码说明,安装的Ceres求解器不好用,于是又查资料安装。
需要注意的是编译Ceres求解器2.2需要支持C++17的编译器。
下载Ceres求解器源码 http://ceres-solver.org/ceres-solver-2.1.0.tar.gz
首先安装依赖,如下:

# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# Use ATLAS for BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

进一步,编译、测试、安装Ceres求解器

tar zxf ceres-solver-2.1.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.1.0
make -j3
make test
sudo make install

安装过程中提示 cmake版本不够,于是参考如下升级了cmake
https://blog.csdn.net/Boys_Wu/article/details/104940575?spm=1001.2014.3001.5506

2.3 安装PCL点云库

sudo apt install libpcl-dev

3 编译算法

如果工作空间是catkin_ws,就按如下进行。

cd ~/catkin_ws/src
git clone https://github.com/hku-mars/loam_livox.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

4 运行算法

运行loam_livox(数据集配置)

 roslaunch loam_livox rosbag.launch 

播放数据集

rosbag play CYT_02.bag 

数据集地址(官方百度云)

Link(链接): https://pan.baidu.com/s/1nMSJRuP8io8mEqLgACUT_w
Extraction code(提取码): sv9z

5 迁移算法

目前算法跑通,但直接移植不行,猜测这其中变量为雷达数据格式。
Mid-40 的pointcloud2 topic 数据格式为:

---
header: 
  seq: 0
  stamp: 
    secs: 0
    nsecs:         0
  frame_id: "livox_frame"
height: 1
width: 5000
fields: 
  - 
    name: "x"
    offset: 0
    datatype: 7
    count: 1
  - 
    name: "y"
    offset: 4
    datatype: 7
    count: 1
  - 
    name: "z"
    offset: 8
    datatype: 7
    count: 1
  - 
    name: "intensity"
    offset: 16
    datatype: 7
    count: 1
is_bigendian: False
point_step: 32
row_step: 160000
data: [………………………………]

Falcon Prime 的pointcloud2 topic 数据格式为:

header: 
  seq: 0
  stamp: 
    secs: 0
    nsecs: 0
  frame_id: "livox_frame"
height: 1
width: 92232
fields: 
  - 
    name: "x"
    offset: 0
    datatype: 7
    count: 1
  - 
    name: "y"
    offset: 4
    datatype: 7
    count: 1
  - 
    name: "z"
    offset: 8
    datatype: 7
    count: 1
  - 
    name: "timestamp"
    offset: 16
    datatype: 8
    count: 1
  - 
    name: "intensity"
    offset: 24
    datatype: 4
    count: 1
  - 
    name: "flags"
    offset: 26
    datatype: 2
    count: 1
  - 
    name: "elongation"
    offset: 27
    datatype: 2
    count: 1
  - 
    name: "scan_id"
    offset: 28
    datatype: 4
    count: 1
  - 
    name: "scan_idx"
    offset: 30
    datatype: 4
    count: 1
  - 
    name: "is_2nd_return"
    offset: 32
    datatype: 2
    count: 1
is_bigendian: False
point_step: 48
row_step: 4427136
data: [………………………………]

后续还在研究中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howard-DUT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值