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 地址,用于多雷达场景下的数据同步
相关推荐
Wishell201521 天前
日拱一卒之FMCW雷达基本原理5
雷达
Tfly__24 天前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
Wishell20151 个月前
日拱一卒之FMCW雷达基本原理2
雷达
Wishell20151 个月前
日拱一卒之FMCW雷达基本原理1
雷达
Wishell20151 个月前
日拱一卒之零中频接收机简述
雷达
Wishell20151 个月前
日拱一卒之超外差接收机简述
雷达
Wishell20151 个月前
日拱一卒之雷达散射截面与dBZ
雷达
Wishell20151 个月前
日拱一卒之射频系统中的噪声
雷达
Wishell20151 个月前
日拱一卒之雷达接收机的性能指标
雷达
飞睿科技2 个月前
探讨雷达在智能家居与消费电子领域的应用
人工智能·嵌入式硬件·智能家居·雷达·毫米波雷达