Lidar调试记录Ⅱ之Ubuntu22.04+ROS2环境中编译Livox_SDK2

一、环境准备

ubuntu22.04(x64)、ROS2环境(ROS2安装)、官方仓库(Livox_SDK2包

二、Livox_SDK2编译

1、环境依赖
  • Ubuntu ≥ 20.04

  • CMake ≥ 3.0.0

  • gcc ≥ 4.8.1

2、安装 CMake

执行以下命令安装 CMake:

sudo apt install cmake


3、编译与安装 Livox-SDK2

克隆 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

提示:如果此处make -j一直卡着不动或者报错,可能是gcc版本的问题,直接中断执行make即可编译成功。
4、安装结果说明

安装完成后,文件会被放置到以下目录中:

类型 路径
动态库与静态库 /usr/local/lib
头文件 /usr/local/include

5、卸载 Livox-SDK2

如需卸载 Livox SDK2,可执行以下命令:

sudo rm -rf /usr/local/lib/liblivox_lidar_sdk_*

sudo rm -rf /usr/local/include/livox_lidar_*

若在 cmakemake 阶段出现权限或依赖问题,请尝试执行 sudo apt update 并重新安装 build-essential

sudo apt install build-essential

三、Livox-SDK2 使用指南 | 示例运行与配置说明

1、Livox SDK2 自带了以下三个示例程序:
示例名 功能说明
livox_lidar_quick_start 快速连接并接收 Livox 雷达数据
logger 启用雷达日志功能并保存日志数据
multi_lidars_upgrade 对多个雷达进行固件升级
2、livox_lidar_quick_start 示例

(1)虚拟机需要修改设置两处

没设置之前:要不ping不通雷达,要不主机不可达

雷达的ip:192.168.1.1xx(xx为雷达上二维码下面一串数字的后两位)

① 我的主机使用的wifi上网,将雷达的网卡插入主机的网口以后需要先在虚拟机设置:

编辑->虚拟网络编辑器->更改设置->选择"是"

点击应用、确定即可

②设置->Network

设置完成以后就能ping通雷达:

(2)改配置文件

cd samples/livox_lidar_quick_start/

vi mid360_config.json

修改"host_ip" : "192.168.1.50",

(3)连接好雷达后,执行以下命令:

cd samples/livox_lidar_quick_start

./livox_lidar_quick_start ../../../samples/livox_lidar_quick_start/[config file]

Windows 10 下运行(未尝试过,参考官方仓库)

Livox-SDK2\build\samples\livox_lidar_quick_start\Debug\

Livox-SDK2\build\samples\livox_lidar_quick_start\Release\

将配置文件复制到同一目录下

Livox-SDK2\samples\livox_lidar_quick_start\[config file]

运行livox_lidar_quick_start.exe [config file]

3、logger 示例

参数说明

参数名 说明 默认值
lidar_log_enable 是否启用雷达日志功能 true
lidar_log_cache_size_MB 日志缓存大小(单位 MB) 500
lidar_log_path 日志文件保存路径 "./"

这些参数可在配置文件 hap_config.jsonmid360_config.json 中修改。

Ubuntu 20.04 下运行

cd samples/logger ./logger ../../../samples/logger/[config file]

Windows 10 下运行

找到可执行文件:

Livox-SDK2\build\samples\logger\Debug\

Livox-SDK2\build\samples\logger\Release\

将配置文件复制到该目录:

Livox-SDK2\samples\logger\[config file]

运行:

logger.exe [config file]

提示: [config file] 同样为配置文件名,可根据不同雷达调整。

4、multi_lidars_upgrade 示例

Ubuntu 下运行

连接雷达后执行:

cd samples/multi_lidars_upgrade ./multi_lidars_upgrade ../../../samples/[config file] [firmware file path]

执行后雷达将停止工作并进入固件升级过程,升级进度会打印在终端,完成后显示:

upgrade successfully

Windows 10 下运行

可执行文件路径:

Livox-SDK2\build\samples\multi_lidars_upgrade\Debug\

Livox-SDK2\build\samples\multi_lidars_upgrade\Release\

将配置文件与固件文件复制到该目录中:

Livox-SDK2\samples\multi_lidars_upgrade\[config file]

运行命令:

multi_lidars_upgrade.exe [config file] [firmware file name]

提示: [config file] 为配置文件名,[firmware file name] 为固件文件路径。

5、配置文件说明(config.json)

基本配置示例(最小可用配置)

python 复制代码
{
  "HAP": {
    "lidar_net_info" : {
      "cmd_data_port"  : 56000,
      "push_msg_port"  : 0,
      "point_data_port": 57000,
      "imu_data_port"  : 58000,
      "log_data_port"  : 59000
    },
    "host_net_info" : [
      {
        "lidar_ip"       : ["192.168.1.10","192.168.1.11","192.168.1.12", "192.168.1.13"],
        "host_ip"        : "192.168.1.5",
        "cmd_data_port"  : 56000,
        "push_msg_port"  : 0,
        "point_data_port": 57000,
        "imu_data_port"  : 58000,
        "log_data_port"  : 59000
      }
    ]
  }
}

参数解释:

字段名 说明
"HAP" 雷达类型,可选 "HAP""MID360"
"lidar_net_info" 雷达端口配置
"host_net_info" 主机配置(可配置多个)
"lidar_ip" 要连接的雷达 IP 列表
"host_ip" 主机 IP 地址
"cmd_data_port" 控制命令端口
"point_data_port" 点云数据端口
"imu_data_port" IMU 数据端口
"log_data_port" 日志数据端口

完整配置示例(多雷达类型 + 可选参数)

python 复制代码
{
  "master_sdk" : true,
  "lidar_log_enable"        : true,
  "lidar_log_cache_size_MB" : 500,
  "lidar_log_path"          : "./",

  "HAP": {
    "lidar_net_info" : {
      "cmd_data_port"  : 56000,
      "push_msg_port"  : 0,
      "point_data_port": 57000,
      "imu_data_port"  : 58000,
      "log_data_port"  : 59000
    },
    "host_net_info" : [
      {
        "lidar_ip"       : ["192.168.1.10","192.168.1.11","192.168.1.12", "192.168.1.13"],
        "host_ip"        : "192.168.1.5",
        "multicast_ip"   : "224.1.1.5",
        "cmd_data_port"  : 56000,
        "push_msg_port"  : 0,
        "point_data_port": 57000,
        "imu_data_port"  : 58000,
        "log_data_port"  : 59000
      }
    ]
  },

  "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" : [
      {
        "lidar_ip"       : ["192.168.1.3"],
        "host_ip"        : "192.168.1.5",
        "multicast_ip"   : "224.1.1.5",
        "cmd_data_port"  : 56101,
        "push_msg_port"  : 56201,
        "point_data_port": 56301,
        "imu_data_port"  : 56401,
        "log_data_port"  : 56501
      }
    ]
  }
}

可选字段说明

字段名 说明
"master_sdk" 是否为主 SDK,true 为主机,可发送控制命令并接收数据。⚠️ 同一网络中只能有一个主 SDK。
"lidar_log_enable" 是否启用固件日志记录
"lidar_log_cache_size_MB" 日志缓存大小(MB)
"lidar_log_path" 日志文件保存路径
"multicast_ip" 多播 IP 地址,用于多雷达场景下的数据同步
相关推荐
这张生成的图像能检测吗9 天前
(论文速读)基于图像堆栈的低频超宽带SAR叶簇隐蔽目标变化检测
图像处理·人工智能·深度学习·机器学习·信号处理·雷达·变化检测
竹一阁16 天前
射频T/R组件?接收数字式T/R组件与数字式T/R组件?
信号处理·雷达·信号与系统
求索小沈19 天前
ubuntu22.04 ros2 fast_lio2 复现
slam·ros2·重定位·建图·mid360·fast_lio2
求索小沈19 天前
ubuntu22.04配置MID360激光雷达
livox·激光雷达·mid360
风靡晚4 个月前
雷达系统设计学习:自制6GHz FMCW Radar
信息与通信·信号处理·雷达·fmcw
乌恩大侠4 个月前
60G毫米波雷达树莓派扩展板
物联网·5g·树莓派·雷达·树莓派扩展板
乌恩大侠5 个月前
X波段相控阵雷达开发平台 高等教育 雷达上课
科技·labview·雷达·通信工程
康谋自动驾驶5 个月前
康谋方案 | 高精LiDAR+神经渲染3DGS的完美融合实践
数据采集·测试·雷达·仿真·建模
源之缘-OFD先行者8 个月前
基于WPF的雷达上位机系统开发实践
wpf·上位机·雷达