ubuntu18.04使用livox avia从零开始复现fast-lio2

目录

  • 1.安装ros
  • 2.调整电脑的静态ip地址使得avia能够和电脑进行通信
  • 3.为fast-lio2配置需要的包
    • Ceres Solver1.14安装
    • 安装livox-sdk
    • 下载livox_ros_driver并编译
    • 更新ROS package环境
  • 4.下载fast-lio2源代码并运行
    • 录制自己的包

我使用的是ubuntu18.04系统

fast-lio2官方github https://github.com/hku-mars/FAST_LIO
相关bag包的下载和fast-lio的安装,参考知乎文章 里程计 FAST_LIO & Rosbag Example (GitHub)
其他参考文章: 二十四-香港大学火星实验室FAST-LIO2框架跑官方数据集

1.安装ros

这一步参考我之前的博客
ubuntu18.04系统安装ros Melodic和r2live全踩坑总结

2.调整电脑的静态ip地址使得avia能够和电脑进行通信

参照这篇文章进行修改ip,不同点就是自己的电脑接口名字修改一下,avia的静态ip和这篇文件里面提到的ip不一样,文件修改按照下面我写的来
设备连接:Ubuntu16.04 ROS中连接Hokuyo激光雷达UTM-30LX-EW
ubuntu18.04使用livox avia从零开始复现fast-lio2_第1张图片
auto 你的网卡名称
iface 你的网卡名称 inet static
address 192.168.1.50
netmask 255.255.255.0
gatway 192.168.0.8

3.为fast-lio2配置需要的包

建议在从github克隆文件时都在网页链接前加上https://ghproxy.com/

以下步骤参考自:R2LIVE安装与测试

Ceres Solver1.14安装

建议直接从能的电脑上下载ceres-slover然后拷贝到ubuntu电脑上

sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev
gitclone https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
wget -O ~/你新建的文件夹/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
cd ~/你新建的文件夹/ && unzip ceres.zip -d ~/你新建的文件夹/
cd ~/你新建的文件夹/ceres-solver-1.14.0
mkdir ceres-bin && cd ceres-bin
cmake ..
sudo make install -j4
cd ~

安装livox-sdk

sudo apt install cmake
git clone https://ghproxy.com/https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install
cd ~

下载livox_ros_driver并编译

git clone https://ghproxy.com/https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make

更新ROS package环境

source ./devel/setup.sh

4.下载fast-lio2源代码并运行

    cd ~/livox_driver所在的工作空间(一般是ws_livox)/src
    git clone https://ghproxy.com/https://github.com/hku-mars/FAST_LIO.git
    cd FAST_LIO
    //git submodule update --init
    //这一步大概率会失败,别着急,解决方法在下面
    git submodule update --init
    cd ../..
    catkin_make
    source devel/setup.bash

如果git submodule update --init失败,那么include中ikd-Tree文件夹是空的,因为源码git提供了一个git链接,可以自己去下,fast-lio2一大创新就在于使用了ikd-Tree来维护大量的地图点。
参考自博客:fast-lio2实例运行

解决方法:
在include文件夹下直接

git clone https://github.com/hku-mars/ikd-Tree

现在就可以用avia雷达运行fast-lio2啦,avia的imu是内置的,所以不需要同步

cd ~/livox_driver和所在的工作空间(一般是ws_livox)
source ./devel/setup.bash
roslaunch fast_lio mapping_avia.launch

//新开一个终端
source ./devel/setup.bash
roslaunch livox_ros_driver livox_lidar_msg.launch

效果图:
ubuntu18.04使用livox avia从零开始复现fast-lio2_第2张图片
现在存在的问题就是晃动的一剧烈数据就丢掉了,fast-lio2就会崩溃,不清楚是为什么,欢迎大家在下方留言~

在室外大场景下的建模,效果不错
ubuntu18.04使用livox avia从零开始复现fast-lio2_第3张图片

fast-lio2操场建图

录制自己的包

参考博客:ROS系统学习笔记:bag的录制和播放
参考博客:ROS学习笔记:PlotJuggler绘图

录制所有话题数据

rosbag record -a

录制指定话题
在fast_lio中只用录制两个话题即可,一个是/livox/imu,另一个是/livox/lidar

rosbag record <topic_name1> <topic_name2> <topic_name3> ...

fast-lio中代码为

rosbag record /livox/imu /livox/lidar

指定数据包名称

rosbag record  -O <bagname> <topic_name1> <topic_name2> <topic_name3> ...

O是大写

显示bag详细信息

rosbag info 'bag名称'

采用plotjuggler 查看bag文件的明细

rosrun plotjuggler PlotJuggler 

你可能感兴趣的:(slam,ubuntu,linux,c++)