LIO-SAM 配置 MID360 激光雷达完全指南

引言
MID360 是 Livox 推出的新一代混合固态激光雷达,具有 360° 水平视场角和 59° 垂直视场角,重量仅 265g,非常适合移动机器人和 SLAM 应用。本文将详细介绍如何在 Ubuntu 20.04+ROS Noetic 环境下配置 LIO-SAM 与 MID360 激光雷达,实现高精度实时定位与建图。

环境准备
硬件要求
安装 Ubuntu 20.04 的计算机
Livox MID360 激光雷达
网线(用于雷达数据传输)
12V 直流电源(为雷达供电)
软件依赖
ROS Noetic
Livox-SDK2
livox_ros_driver2
LIO-SAM
GTSAM
PCL
Eigen3
安装步骤

  1. 安装 ROS Noetic
    如果尚未安装 ROS,请执行以下命令:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init
rosdep update

  1. 安装 Livox-SDK2

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

  1. 安装 livox_ros_driver2

mkdir -p ~/livox_ws/src
cd ~/livox_ws/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git
cd livox_ros_driver2
source /opt/ros/noetic/setup.sh
./build.sh ROS1
cd ~/livox_ws
catkin_make
echo "source ~/livox_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

  1. 配置网络
    4.1 设置电脑静态 IP
    打开网络设置,选择有线连接
    设置 IPv4 为手动模式
    IP 地址:192.168.1.50
    子网掩码:255.255.255.0
    网关:192.168.1.1
    4.2 确定 MID360 的 IP 地址
    MID360 的默认 IP 地址基于其序列号,规则如下:

查看雷达底部的序列号(如 47MDM6J0020438)
取序列号最后两位数字(38),则雷达 IP 为 192.168.1.138
4.3 修改配置文件

cd ~/livox_ws/src/livox_ros_driver2/config
gedit MID360_config.json

修改以下内容:

json

{
"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.50", // 本机IP
"cmd_data_port": 56101,
"push_msg_ip": "192.168.1.50", // 本机IP
"push_msg_port": 56201,
"point_data_ip": "192.168.1.50", // 本机IP
"point_data_port": 56301,
"imu_data_ip" : "192.168.1.50", // 本机IP
"imu_data_port": 56401,
"log_data_ip" : "",
"log_data_port": 56501
}
},
"lidar_configs" : [
{
"ip" : "192.168.1.138", // 雷达IP
"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. 安装 LIO-SAM

mkdir -p ~/lio_sam_ws/src
cd ~/lio_sam_ws/src
git clone https://github.com/nkymzsy/LIO-SAM-MID360.git # MID360适配版本
cd LIO-SAM-MID360
git submodule update --init
cd ~/lio_sam_ws
catkin_make
echo "source ~/lio_sam_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

  1. 配置 LIO-SAM 参数

cd ~/lio_sam_ws/src/LIO-SAM-MID360/config
gedit params.yaml

修改以下关键参数:

Sensor Settings

sensor: livox # 设置为livox
N_SCAN: 4 # MID360的线束数量
Horizon_SCAN: 6000 # 水平分辨率
downsampleRate: 1 # 下采样率
lidarMinRange: 1.0 # 最小雷达范围
lidarMaxRange: 100.0 # 最大雷达范围

IMU参数 (如果使用内置IMU)

imuTopic: "/livox/imu" # IMU话题
imuAccNoise: 0.01 # 加速度计噪声
imuGyrNoise: 0.001 # 陀螺仪噪声
imuAccBiasN: 0.0002 # 加速度计偏置噪声
imuGyrBiasN: 0.00001 # 陀螺仪偏置噪声

运行与测试

  1. 启动 MID360 雷达

roslaunch livox_ros_driver2 msg_MID360.launch

  1. 启动 LIO-SAM

roslaunch lio_sam run6axis.launch # 使用内置六轴IMU

  1. 可视化建图结果

rviz -d ~/lio_sam_ws/src/LIO-SAM-MID360/rviz_cfg/rviz.rviz

常见问题解决

  1. 雷达连接失败
    检查 IP 配置:确保电脑 IP 和雷达 IP 在同一网段
    检查网线连接:尝试更换网线或网口
    查看雷达状态:使用 Livox Viewer 工具检查雷达是否正常工作
  2. 时间戳对齐问题

在参数文件中调整时间戳偏移

timeOffsetLaserOdometry: 0.0
timeOffsetImuLidar: 0.0

  1. 点云格式错误
    确保在启动雷达时使用正确的消息格式:

roslaunch livox_ros_driver2 msg_MID360.launch # 发布CustomMsg

  1. IMU 数据异常
    如果使用外部 IMU,需要修改外参:

雷达到IMU的外参

extrinsics: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0]

总结
本文详细介绍了 LIO-SAM 与 MID360 激光雷达的完整配置流程,包括环境搭建、驱动安装、参数配置和测试方法。通过正确配置,可以实现高精度的实时定位与建图。如果遇到问题,可以参考 Livox 官方文档或 LIO-SAM 项目的 issue 页面获取帮助。

sitemap