Livox-horizon + FAST-LIO2 ros package

## fast-lio1 可以参考[链接]

一、预备工作

安装Ubuntu、 ROS、PCL && Eigen、Livox SDK、livox_ros_driver[参考]

注意:由于FAST-LIO必须首先支持Livox系列LiDAR,所以在运行任何FAST-LIO luanch文件之前,必须先安装好livox_ros_driver并source一下。

source方法:

gedit ~/.bashrc
source /home/darren/workspace/ws_livox/devel/setup.bash 


//每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效

source ~/.bashrc
 

配置工作空间时,source devel/setup.bash命令用于刷新环境。

  • 每次进行catkin_make编译完成后,都要进行source devel/setup.bash刷新一下工作空间的环境;
  • 进行package创建时,当加入新的package并编译完成后,也要进行source devel/setup.bash刷新环境,否则会出现package XXX not found 的问题。

在使用时,经常忘记source,可将source devel/setup.bash命令添加到了.bashrc文件中,让系统自动刷新工作空间环境,这样,在这个工作空间下的所有package都可以在编译后直接运行了,不用再source devel/setup.bash。[参考]

二、build 

2.1 整个FAST_LIO文件夹移动到自己的ws_livox/src下[参考]

 cd ~/ws_livox/src
 git clone https://github.com/hku-mars/FAST_LIO.git

2.2    catkin_make 编译[catkin_make时发生了什么]

cd FAST_LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash

catkin_make 出现问题:

Livox-horizon + FAST-LIO2 ros package_第1张图片

將FAST_LIO整個文件夾刪除,catkin_make,發現原先編譯通過的livox_ros_driver又編譯失敗了(可能安裝R3live時候環境被破壞):

Livox-horizon + FAST-LIO2 ros package_第2张图片

解決方法[參考]:

sudo ln -s  /usr/lib/libGL.so.1  /usr/lib/x86_64-linux-gnu/libGL.so 

如果出现错误: ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libGL.so' : File exists

则删除已有链接: sudo rm  /usr/lib/x86_64-linux-gnu/libGL.so

重新执行:

sudo ln -s  /usr/lib/libGL.so.1  /usr/lib/x86_64-linux-gnu/libGL.so 

但依然沒有解決,嘗試2[參考]:

cd /usr/lib/x86_64-linux-gnu/

然后发现,libGL.so文件是存在的。这里,用ls查看本目录下的所有文件,会发现libGL.so文件名是红的,这也是其链接断开的表现,右键其属性发现显示为链接中断。

Livox-horizon + FAST-LIO2 ros package_第3张图片

如果libGL.so文件不存在,則[參考]:

libGL.so.1复制一份为libGL.so:

sudo cp /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

鏈接:

sudo ln -s  /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0 

解決:sudo ln -s  /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0 

livox_lidar_msg

報錯2:

Livox-horizon + FAST-LIO2 ros package_第4张图片

 需要單獨下載,放到相應位置:

Livox-horizon + FAST-LIO2 ros package_第5张图片

 如果還出現問題:

Livox-horizon + FAST-LIO2 ros package_第6张图片

直接刪除 FAST_LIO整個文件,然後重新下載FAST_LIO和ikd_Tree,文件ikd_Tree放到對應位置後,重新catkin_make就成功了。

三、rosbag example

fast_lio是一种里程计算法,他可以根据输入的传感器的数据,输出机器人的里程计信息等。如下图所示,fast_lio文件下的launch文件夹下,共计有四种雷达的launch文件,分别为avia、horizon、outer64、velodyne,其config文件下为这四种雷达的yaml配置文件

Livox-horizon + FAST-LIO2 ros package_第7张图片

  1. 先启动对应的launch文件
  2. 然后再rosbag play bag文件,利用bag文件中的数据,模拟传感器发送给fastlio的数据。
  3.  rosbag info XXX.bag

其中的bag文件中,包含了对应的传感器的数据,而要保证bag文件中的数据能够正确的发送给fastlio,我们还需确保对应的雷达配置文件中的 topic 与 bag文件中数据的topic一致

四、livox-horizon运行fast-lio2

1.连接设备

cd ~/ws_livox
 
source devel/setup.bash

//运行fast-lio2算法
roslaunch fast_lio mapping_horizon.launch

//运行雷达 
roslaunch livox_ros_driver livox_lidar_msg.launch

设置发布帧率:

  • If you want to change the frame rate, please modify the publish_freq parameter in the livox_lidar_msg.launch of Livox-ros-driver before make the livox_ros_driver pakage.

重建结果:

Livox-horizon + FAST-LIO2 ros package_第8张图片

 

你可能感兴趣的:(SLAM,fastlio)