## 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 出现问题:
將FAST_LIO整個文件夾刪除,catkin_make,發現原先編譯通過的livox_ros_driver又編譯失敗了(可能安裝R3live時候環境被破壞):
解決方法[參考]:
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文件名是红的,这也是其链接断开的表现,右键其属性发现显示为链接中断。
如果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:
需要單獨下載,放到相應位置:
如果還出現問題:
直接刪除 FAST_LIO整個文件,然後重新下載FAST_LIO和ikd_Tree,文件ikd_Tree放到對應位置後,重新catkin_make就成功了。
三、rosbag example
fast_lio是一种里程计算法,他可以根据输入的传感器的数据,输出机器人的里程计信息等。如下图所示,fast_lio文件下的launch文件夹下,共计有四种雷达的launch文件,分别为avia、horizon、outer64、velodyne,其config文件下为这四种雷达的yaml配置文件。
- 先启动对应的launch文件
- 然后再rosbag play bag文件,利用bag文件中的数据,模拟传感器发送给fastlio的数据。
- 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.
重建结果: