fast-lio-ros2项目地址:https://github.com/Ericsii/FAST_LIO_ROS2?tab=readme-ov-file

1. 安装Ubuntu与ROS2

推荐使用Ubuntu22.04和ROS2 humble。

1.1. 安装Ubuntu22.04

参考博客:如何安装 Ubuntu 22.04 LTS 桌面版,详细步骤 - 系统极客

1.2. 安装ROS2

推荐使用鱼香ROS一键安装:

wget http://fishros.com/install -O fishros && . fishros

2. 安装依赖

2.1. 安装PCL

sudo apt install libpcl-dev

2.2. 安装eigen

sudo apt install libeigen3-dev

2.3. 安装livox_ros_driver2

如果还未安装过camke,需要首先安装cmake:

sudo apt install cmake

然后安装livox_SDK2:

git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install

最后安装livox_ros_driver2:

git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
cd ./ws_livox/src/livox_ros_driver2
source /opt/ros/humble/setup.sh
./build.sh humble

最后还需要将livox_ros_driver2的setup.sh写入环境变量:

在终端输入以下命令,使用nano编辑器打开系统环境变量文件.bashrc:

nano ~/.bashrc

按住下键,将光标移动到文件末尾,然后输入以下内容:

source ~/ws_livox/install/setup.sh

按Ctrl+X退出编辑器,按y确认,按回车再次确认即可。

3. 项目配置

首先在用户目录下新建一个工作空间,如此处我新建了一个mynav_ws:

mkdir -p ~/mynav_ws/src
cd ~/mynav_ws/src

然后克隆项目代码,并进入项目目录:

git clone https://github.com/Ericsii/FAST_LIO_ROS2.git --recursive
cd ..

接着需要安装项目所需的ros依赖,source命令用于加载系统环境变量,其中包含ros相关变量,而后执行rosdep命令安装依赖:

source ~/.bashrc
rosdep install --from-paths src --ignore-src -y

此时新系统通常会遇到报错:

这是因为rosdep还没有初始化,那么就需要按照它提示的进行rosdep的初始化和更新:

sudo rosdep init
rosdep update

但是可能又会出现如下错误:

这是因为rosdep为外国工具,网络连接不稳定,所以可以改用国内ROS大佬小鱼提供的rosdepc:

rosdepc需要通过pip下载器进行安装,如果没有pip需要先安装pip:

sudo apt-get install python3-pip

随后使用pip下载器安装rosdepc工具:

sudo pip install rosdepc

最后使用rosdepc代替rosdep,完成初始化和更新操作就可以了:

sudo rosdepc init
rosdepc update

更新完rosdep再重新执行ros依赖的安装:

source ~/.bashrc
rosdep install --from-paths src --ignore-src -y

最后就可以编译项目了:

sudo表示使用管理员权限,colcon是ROS2提供的编译工具,build表示执行编译任务,--symlink-install为链接式编译,即编译后的install目录中的配置文件都是动态链接到src源码目录中对应文件的,如果只是修改文件内容,并不需要重新编译,而是只有在新增、删除文件,或修改程序源码后才需要重新编译。这样一来,我们就可以直接修改src目录中的config文件进行项目调试,极大地增强了便捷性。

colcon build --symlink-install

4. 运行

首先运行livox_ros_driver2:

先加载环境变量:

source ~/.bashrc

然后启动launch文件,官方提供了六种启动文件,红色的文件名可以替换,不同启动方式的区别见表格。

ros2 launch livox_ros_driver2 msg_MID360_launch.py

启动文件

备注

rviz_HAP_launch.py

连接HAP雷达设备,发布pointcloud2格式的点云数据,并自动加载rviz可视化界面

msg_HAP_launch.py

连接HAP雷达设备,发布livox自适应格式的点云数据

rviz_MID360_launch.py

连接mid360雷达设备,发布pointcloud2格式的点云数据,并自动加载rviz可视化界面

msg_MID360_launch.py

连接mid360雷达设备,发布livox自适应格式的点云数据

rviz_mixed_launch.py

连接HAP和mid360雷达设备,发布pointcloud2格式的点云数据,并自动加载rviz可视化界面

msg_mixed_launch.py

连接HAP和mid360雷达设备,发布livox自适应格式的点云数据

然后另外开一个终端窗口,启动fast-lio:

首先进入工作空间,并加载系统环境变量和项目环境变量:

cd ~/mynav_ws
source ~/.bashrc
. install/setup.bash

然后启动fast-lio的launch文件,根据雷达型号的不同,可以选择不同yaml配置文件,红色的文件名可以替换。

ros2 launch fast_lio mapping.launch.py config_file:=mid360.yaml

Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐