
使用mid360部署FASTLIO2_ROS21.安装LIVOX驱动1.1.基础系统环境准备系统要求操作系统Ubuntu 22.04.5 LTS推荐使用64位版本ROS2版本Humble HawksbillROS2长期支持版本CMake版本3.27或更高版本硬件配置建议至少8GB内存和64GB存储空间更新系统软件包和安装基础开发工具sudo apt update sudo apt upgrade -y sudo apt install -y \ build-essential \ cmake \ git \ wget \ curl \ software-properties-common \ lsb-release1.2.CMake 3.27安装Fast-LIO2对CMake版本有特定要求需从源码安装# 下载CMake 3.27.1源码 wget https://cmake.org/files/v3.27/cmake-3.27.1.tar.gz # 解压并编译安装 tar -zxvf cmake-3.27.1.tar.gz cd cmake-3.27.1 ./bootstrap make sudo make install # 配置环境变量 echo export PATH/usr/local/bin:PATH ~/.bashrc source ~/.bashrc # 验证版本 cmake --version1.3.Livox Mid-360 SDK安装# 创建ROS2工作空间 mkdir -p fast_lio2_ws/src cd fast_lio2_ws # 安装Livox SDK2,进入src目录并克隆仓库 cd src git clone https://github.com/Livox-SDK/Livox-SDK2.git --recursive # 创建build目录并编译SDK cd Livox-SDK2 mkdir build cd build # 指定CMake路径以避免版本冲突 /usr/local/bin/cmake .. make -j sudo make install1.4.Livox Mid-360 ROS2驱动安装1.4.1 克隆Livox ROS2驱动# 返回src目录并克隆ROS2驱动仓库 cd ../.. git clone https://github.com/Livox-SDK/livox_ros_driver2.git --recursive sudo apt update sudo apt install ros-humble-ament-cmake-auto1.4.2. 修改mid360的配置文件 (livox_ros_driver2/config/MID360_config.json)host_net_info中的cmd_data_ip和push_msg_ip应设置为与雷达同一子网的IP地址如192.168.1.50“host_net_info中的cmd_data_port”、push_msg_port和point_data_port分别设置为56101、56201和56301lidar_configs中的ip应设置为雷达的IP地址通常为192.168.1.1XXXX为雷达SN序列号最后两位{ lidar_summary_info : { lidar_type: 8 }, MID360: { lidar_net_info : { cmd_data_port: 56100, push_msg_port: 56200, point_data_port: 56300, imu_data_port: 56400, log_data_port: 56500 }, host_net_info : { cmd_data_ip : 192.168.1.5, cmd_data_port: 56101, push_msg_ip: 192.168.1.5, push_msg_port: 56201, point_data_ip: 192.168.1.5, point_data_port: 56301, imu_data_ip : 192.168.1.5, imu_data_port: 56401, log_data_ip : , log_data_port: 56501 } }, lidar_configs : [ { ip : 192.168.1.100, pcl_data_type : 1, pattern_mode : 0, extrinsic_parameter : { roll: 0.0, pitch: 0.0, yaw: 0.0, x: 0, y: 0, z: 0 } } ] }1.4.3 修改驱动发布格式驱动默认发布 PointCloud2 格式Fast-LIO2 期望 CustomMsg 格式导致 Fast-LIO2 无法接收和处理雷达数据修改livox_ros_driver2/launch_ROS2/rviz_MID360_launch.py# 修改前 xfer_format 0 # PointCloud2 # 修改后 xfer_format 1 # CustomMsg1.4.4 编译驱动cd /home/guan2/Desktop/fast_lio2_ws/src/livox_ros_driver2 sudo chmod x build.sh source /opt/ros/humble/setup.sh ./build.sh humble1.4.5 测试驱动# 临时设置IP重启后失效 sudo ip addr add 192.168.1.5/24 dev enP8p1s0 sudo ip link set enP8p1s0 up #永久设置 sudo bash -c cat /etc/systemd/system/static-ip-enP8p1s0.service EOF [Unit] DescriptionSet static IP for enP8p1s0 Afternetwork-online.target Wantsnetwork-online.target [Service] Typeoneshot ExecStart/usr/sbin/ip link set enP8p1s0 up ExecStart/usr/sbin/ip addr replace 192.168.1.5/24 dev enP8p1s0 RemainAfterExityes [Install] WantedBymulti-user.target EOF systemctl daemon-reload systemctl enable --now static-ip-enP8p1s0.service # 验证设置 ip addr show enP8p1s0 # 运行驱动不查看点云数据 cd /home/guan2/Desktop/fast_lio2_ws source install/setup.sh ros2 launch livox_ros_driver2 msg_MID360_launch.py # 运行驱动并查看点云数据 # ros2 launch livox_ros_driver2 rviz_MID360_launch.py2.安装FASTLIO2_ROS22.1 克隆FASTLIO2_ROS2git clone https://github.com/liangheming/FASTLIO2_ROS2.git2.2 sophus编译git clone https://github.com/strasdat/Sophus.git cd Sophus git checkout 1.22.10 #旧版本 mkdir build cd build cmake .. -DSOPHUS_USE_BASIC_LOGGINGON make sudo make install2.1 gtsam编译需要添加dllexport.h文件不然编译会报错git clone https://github.com/borglab/gtsam.git # 进入 cephes 目录 cd gtsam/gtsam/3rdparty/cephes # 创建 dllexport.h 文件 tee dllexport.h /dev/null EOF #ifndef DLLEXPORT_H #define DLLEXPORT_H /* Define DLLEXPORT for Windows, empty for other platforms */ #ifdef _WIN32 #ifdef GTSAM_SHARED_LIB #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT __declspec(dllimport) #endif #else #define DLLEXPORT #endif #endif // DLLEXPORT_H EOF cd ../../../.. cd gtsam #!bash mkdir build cd build cmake .. make check -j8 #多线程编译 sudo make install将fast-lio2移动到自己src中编译即可使用colcon build --parallel-workers 1 --cmake-args -DROS_EDITIONROS2 -DHUMBLE_ROShumble3.使用FASTLIO2_ROS23.1激光惯性里程计先启动驱动然后再启动FASTLIO2_ROS2节点source install/setup.bash ros2 launch livox_ros_driver2 rviz_MID360_launch.pysource install/setup.bash ros2 launch fastlio2 lio_launch.py ros2 bag play your_bag_file3.2里程计加回环source install/setup.bash # 先设置环境变量让系统libusb优先 export LD_LIBRARY_PATH/usr/lib/aarch64-linux-gnu:$LD_LIBRARY_PATH # 然后启动pgo ros2 launch pgo pgo_launch.py ros2 bag play your_bag_file3.3里程计加重定位source install/setup.bash ros2 launch localizer localizer_launch.py ros2 bag play your_bag_file // 可选3.3里程计加重定位启动一致性地图优化节点source install/setup.bash ros2 launch hba hba_launch.py调用优化服务ros2 service call /hba/refine_map interface/srv/RefineMap {maps_path: your maps directory}