ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Mid360激光雷达Ubuntu下Livox Viewer2连接与点云可视化实战

Mid360激光雷达Ubuntu下Livox Viewer2连接与点云可视化实战 Mid360 收到手的时候我愣了半秒一块 265g 的黑色小方块跟个加固版网络摄像头差不多大。但在 Ubuntu 上把 Livox Viewer2 跑起来、看到屏幕上像棉絮一样铺开的三维点云之后你大概率就再也不会用小巧来评价它了。这篇文章我按自己实际动手的顺序写从拆雷达、装软件到接网线、看点云再到我把设备搞到找不到之后怎么一步步排雷尽量把整个过程讲透。适合刚拿到 Mid360 想先验证设备是否正常的人也适合准备在 Ubuntu/Linux 环境里把点云数据喂给后续 SLAM 算法的工程师参考。1. Mid360 的硬件定位为什么该直接用官方 Viewer1.1 混合固态雷达到底混合在哪Mid360 是 Livox 的 360° 混合固态激光雷达水平视场角 360°垂直视场角 59°官方标称 10% 反射率下可以测到 40m 左右最远量程能到 100m 量级。它和传统机械雷达最大的区别是没有一颗大电机带着整个激光头旋转而是通过棱镜折射激光束在空间里画出类似花瓣的扫描轨迹。这个设计的直接收益是体积小、重量轻、抗震性好整机 265g 左右拿在手里完全像一个小摄像头。但这种结构也带来了一个视觉上的完全不同的体验——非重复扫描。我习惯这样解释机械雷达像圆规每次都在纸上画相同半径的圆扫完一圈后只在圆周上留下点Mid360 像一支笔在纸上不断乱涂前一帧扫过的区域后一帧会被另一条斜线继续穿过。时间越长同一片空间里的点云覆盖越密。你静止放置雷达两秒屏幕上原本稀疏的点会慢慢变成一块密实的毯子。这一点在做室内建图、无人机避障、机器人近距导航时非常有价值因为细节覆盖率高远处的小物体不容易漏检。刚拿到雷达的人最容易犯的错是盯着参数表看以为数字代表一切。但这类非重复扫描雷达真正靠谱的验证方式就是把它接上亲眼看它扫描出来的点云长什么样。这时候一个能快速出图的官方工具就很重要了。1.2 为什么不是 rviz 也不是 pcl_viewer我身边不少朋友第一反应都是不是有 ROS 吗在 rviz 里看不就行了 确实可以但有一个前提你得先把 Livox SDK 编译好、把 ros 驱动跑通、把雷达的 UDP 数据流正确解析成 PointCloud2 消息。这套链路对环境干净的开发机可能十分钟搞定但如果是第一次接触雷达或者机器上 ROS 版本和 Ubuntu 版本还没对齐排查时间可能一晚上就没了。工具环境依赖最适合的场景Livox Viewer2独立 GUI无需 ROS无需写代码设备验收、单雷达调试、快速验证网络连接是否正常rviz livox_ros_driver2需要 ROS1/ROS2 环境及驱动编译已经接入算法框架需要和相机、IMU 联合调试时CloudCompare独立 GUI但需要先有 pcd/ply 文件离线分析点云比如密度、强度、截面Python Open3DPython 环境拿到点云文件后做批处理或快速可视化Livox Viewer2 解决的就是最前面这一段让雷达老老实实把点云吐出来让你确认雷达没坏、网络通没通、扫描范围对不对。它不需要你预先装任何驱动、不需要写一行代码软件自己会做设备发现、自动识别同一局域网里的雷达。对刚收到设备的人这几乎是第一验证工具。注意Mid360 本质上是一个以太网设备不是 USB 设备。后面所有操作的核心都是把网络搞对。这个认知能帮你省掉一大半踩坑时间。2. Ubuntu 侧的环境准备网络、依赖与 UDP 端口2.1 选对 Ubuntu 版本和桌面环境Livox Viewer2 的 Linux 版是一个预编译的 GUI 程序对系统库有要求。我自己的经验是Ubuntu 20.04 和 22.04 都很顺Ubuntu 18.04 稍微折腾一下也能跑但如果你还在用 16.04大概率会遇到 glibc 版本过老导致的段错误或者 cannot open shared object file 这种问题。如果你是为了跑雷达专门装系统直接装 22.04 LTS 桌面版最省心。桌面版自带 NetworkManager图形界面里改 IP 非常方便。不要一上来就装 Ubuntu Server虽然也能用 netplan 配网络但后面很多排查环节要靠图形界面和网卡管理工具Server 对新手来说多了一层认知负担。2.2 补齐运行时依赖Viewer2 的 Linux 版是一个 zip 包解压后手动运行没有传统意义的安装。它依赖的库基本都是常见库。我在干净的 Ubuntu 22.04 上实测需要补的是这几个sudo apt update sudo apt install -y libgl1 libglx-mesa0 libpcap0.8 libusb-1.0-0 net-toolslibgl1 / libglx-mesa0OpenGL 渲染点云的底层库没有它程序会报 Qt/OpenGL 相关的错libpcap0.8网络报文处理相关Viewer 的录制回放功能会用到libusb-1.0-0有些情况下 Viewer 需要访问 USB 设备这个是 USB 抽象层net-tools提供 ifconfig 等命令方便排查网卡状态。装完这些不用重启继续往下走。2.3 确认有线网卡存在并规划好 IPMid360 用网线直连电脑所以先确认 Ubuntu 认到了有线网卡。终端输入ip a输出里找名字类似enp2s0、eth0、enx...的接口这就是有线网卡。如果你发现没有有线网卡先检查 BIOS 是否关闭了有线网卡或者系统缺少网卡驱动。可以用lshw -C network查看硬件是否被系统识别。如果你是笔记本只有一个网口而且平时要靠 WiFi 上网建议别把 WiFi 和雷达混在一起。最省心的做法是买一个 USB 转千兆网口把 USB 网卡专门留给雷达。原因很简单雷达的网段是固定的 192.168.1.x你电脑的 WiFi 往往在 192.168.x.x 其他网段两个网卡同时工作系统路由优先级混乱的时候Viewer 的 UDP 广播包很可能发到了 WiFi 网卡上半天找不到雷达。物理上隔离能省掉无数烦恼。2.4 设置静态 IP图形界面、nmcli、netplan 三种方式Livox 雷达普遍采用静态 IP 通讯。为了一次性成功建议把电脑有线网口设成和雷达同网段的静态 IP图形界面方式设置 - 网络 - 有线连接 - 齿轮 - IPv4 - 手动填入地址192.168.1.2、掩码255.255.255.0网关和 DNS 留空即可点应用后重新开关一次有线连接。nmcli 方式适合习惯终端的人nmcli connection show nmcli connection modify 你的连接名 ipv4.method manual ipv4.addresses 192.168.1.2/24 nmcli connection up 你的连接名netplan 方式主要给 Ubuntu Server 用# /etc/netplan/99-mid360.yaml network: version: 2 renderer: networkd ethernets: eth0: addresses: - 192.168.1.2/24sudo netplan apply别默认你的连接名就叫 Wired connection 1先用nmcli connection show看一遍再改不然nmcli connection up会报找不到连接。2.5 防火墙和 UDP 端口Ubuntu 默认没开 ufw一般不会挡雷达的 UDP 包。但如果你之前手动开过 ufw或者某些发行版默认启用防火墙就要注意了。Livox Viewer2 做设备发现和数据传输主要依赖 UDP常见端口是 7500设备发现和 7501点云数据具体以你下载的版本对应的 SDK 文档为准。如果发现不了设备可以先放行sudo ufw allow 7500/udp sudo ufw allow 7501/udp sudo ufw status如果你纯粹是本地直连调试直接sudo ufw disable最省事。本地直连网段不暴露到公网风险很低。3. 从官网下载到第一次启动Viewer2 安装全程记录3.1 下载、解压、看目录结构去 Livox 官网或者 DJI 开发者官网的下载页面找 Livox Viewer2 的 Linux 版本通常是一个 zip 压缩包。下载完解压到自己的工作目录mkdir -p ~/livox cd ~/livox unzip ~/Downloads/LivoxViewer2_Linux_xxx.zip cd LivoxViewer2_Linux_xxx ls解压后目录里通常有bin、lib、share等目录外加一个 README。我建议你花两分钟把 README 看一遍里面写的运行命令和依赖说明往往比你从网上搜到的更贴合你当前这个版本。3.2 运行前先用 ldd 排查依赖在运行之前先用ldd检查可执行文件的依赖是否都能找到ldd bin/livox_viewer2 | grep not found如果这一行有任何输出说明确实缺库。按前面 2.2 节把缺的库补上。如果没有输出直接运行即可。3.3 设置 LD_LIBRARY_PATH 并启动Viewer2 自带的动态链接库通常在lib目录下启动前把该目录加入加载路径export LD_LIBRARY_PATH$LD_LIBRARY_PATH:$PWD/lib ./bin/livox_viewer2第一次启动建议在终端里直接跑不要双击图标。这样程序崩了你能在终端看到最直接的报错而不是面对一个闪退的窗口干瞪眼。我遇到的典型情况是缺少libQt5Core.so.5终端会提示error while loading shared libraries这时候补 QT 库sudo apt install -y libqt5core5a libqt5gui5 libqt5widgets5跑起来之后界面一般是一个多面板窗口左侧或者下方是设备列表和状态栏中间是三维点云视图顶部有工具栏。先用几秒钟熟悉界面然后进入设备连接的环节。3.4 启动失败的几种常见报错我整理了几个我实际遇到或帮朋友排查过的启动问题启动后黑屏或者报QT_QPA_PLATFORM_PLUGIN_PATH简单粗暴的方法是重新登录图形桌面后再启动保证DISPLAY环境变量正常。如果你是在 SSH 里跑 GUI需要export DISPLAY:0并确认 X11 转发正常。libGL error相关OpenGL 库问题重装libgl1-mesa-glx或libglx-mesa0。启动后闪退终端又没有输出试试QT_QPA_PLATFORMxcb ./bin/livox_viewer2强制走 xcb 后端有些第三方桌面环境下默认的 Wayland 后端兼容性不够好。4. 把雷达连进电脑供电、网段与设备发现的实操细节4.1 搞清楚 Mid360 的供电方式这一步非常关键也最容易被忽略。Mid360 通过以太网口传输数据但同时需要 PoE 供电。实操中常见两种接法用 PoE 交换机网线一头接雷达另一头接 PoE 交换机电脑也接同一个交换机。用 PoE 供电器PoE Injector网线从雷达出来接供电器的 PoE 口供电器的 LAN 口再接电脑同时给供电器插上电源。无论哪种方式核心是雷达要真的吃到电。很多朋友第一次调试时雷达连上了但没反应最后发现是 PoE 供电器的电源插头松了或者网线压根没插紧。Mid360 正常工作功耗不大几瓦到十几瓦之间选 802.3af/at 标准的供电器问题不大但请按官方具体要求来。特别提醒有些 PoE 交换机支持 802.3af但不是所有口都默认输出 PoE某些型号需要登录管理界面把 PoE 功能打开。别默认插上就有电。4.2 雷达默认 IP 与设备发现的原理Livox 雷达出厂时一般工作在静态 IP 模式常见网段是 192.168.1.x。所以最稳妥的做法是先把电脑设成 192.168.1.2再打开 Viewer2 点设备发现软件会向局域网发送 UDP 广播雷达收到后回应自己的 IP、型号和固件版本信息。实际连接时我推荐按这个顺序操作给雷达接上电等 3 秒让它完成启动把电脑有线网口 IP 设为 192.168.1.2/24打开 Viewer2点击设备发现等待约 5 秒列表中会出现类似Mid360的设备记录它的 IP选中设备点击连接等待点云画面出现。雷达确切的 IP 是多少不要靠猜以 View 面板里的设备列表为准。不同批次、不同二手渠道的设备可能被改过 IP靠猜 IP 去 ping 往往浪费时间。4.3 雷达的 DHCP 模式与固件配置Viewer2 里有一个设备参数设置的入口能查看或修改雷达的 IP 模式、设备名称等。如果你的网络环境比较复杂不希望每次都占用 192.168.1.x 网段可以在这里把雷达从静态 IP 改成 DHCP。改完之后雷达会自动向 DHCP 服务器申请地址你可以在路由器后台找到它。但我要给一个务实的建议单台雷达直连电脑调试时保持静态 IP别开 DHCP。因为电脑直连雷达没有 DHCP 服务器时雷达的地址行为反而会让你搞不清它到底在哪个网段。静态 IP 下你用arp-scan或者ip neigh一眼就能确定设备在不在。4.4 接线检查清单动手连线时我按这个清单检查一遍基本能挡住 80% 的初级问题雷达网线的接口有没有卡到位Mid360 的网口一般有防呆卡扣PoE 供电器的电源指示灯是否亮电脑网口和 PoE 供电器的 Link 灯是否亮ip addr里有线网卡是否 up且 IP 是规划的静态 IP 而不是 DHCP 随机地址。5. 可视化界面逐个说点云颜色、录制回放与数据导出5.1 点云主视图怎么看连接成功后中间的三维点云区域会实时刷新。鼠标操作一般是左键拖动旋转视角右键拖动平移滚轮缩放。Viewer 默认可能按高度或距离给点云上色我习惯在颜色设置里改成按反射强度上色这样能比较直观地看出墙面、地面和金属物体之间的材质差异。点云尺寸这个设置也很重要。Mid360 的点云密度很高点太大会糊成一片点太小又看不清轮廓。我一般先调成 2 到 3 个像素再根据场景调节。如果你的显卡性能一般还可以在渲染设置里降低点云抽稀比例保证交互流畅度。5.2 用非重复扫描特性确认设备工作正常Mid360 的非重复扫描特性在 Viewer 里表现非常直观。雷达静止不动时一开始屏幕上像撒了一把细沙很快细沙之间出现连线一两秒后整个区域变成一片密集的蜂窝。雷达一旦开始移动或者旋转点云会立刻拉出新的轮廓。建议你把雷达对着墙角或者房间门口静置两秒再前后移动一下对比点云覆盖的变化。这一步几乎能让你直接确认雷达和 Viewer 都工作正常也是一种对非重复扫描最直观的理解。5.3 录制点云数据pcap 还是 Livox 数据流Viewer2 提供录制功能对后续算法调试非常有用。录制按钮通常在界面的明显位置点一下开始再点一下停止。录下来的文件可以直接通过 Viewer 回放不需要连接雷达也能看。要注意一点录制文件可能不是你期望的 PCD/PLY而是 Livox 自己的数据流格式或者 pcap 文件。回放时通过 View 的打开录制文件入口加载选择对应的文件类型即可。5.4 导出为通用点云文件如果你想把数据拿到其他工具里做后处理比如用 CloudCompare 看细节、用 Open3D 做聚类最方便的做法是在 Viewer 里导出当前帧或者选中区域。不同版本的界面差异比较大如果找不到导出按钮可以先把数据录成流文件再用 Livox SDK 里的转换脚本把流文件转成 PCD。这条路多一步但非常稳定也适合批量处理多段录制数据。6. 设备找不到的排查全链路从 PoE 灯到 tcpdump6.1 先别碰软件检查物理层假设你已经接好线、设好静态 IP、打开 Viewer2但设备列表就是空的。这时候先别急着怀疑软件走到雷达旁边看雷达网口附近的指示灯。只要不是全灭基本说明 PoE 供电和链路层是通的。如果灯不亮检查 PoE 供电器电源适配器换一根网线别用那种细线或者老旧的五类线尽量用六类线如果用的是交换机换个口试试并进交换机后台看 PoE 口状态。物理层的判断标准就一句话网口灯亮不能完全证明雷达有电但电源指示灯亮基本说明 PoE 模块在工作。如果灯全灭后面所有网络排查都没有意义。6.2 网段有没有真的改对我见过很多人栽在这里设静态 IP 的时候掩码写成了 255.255.255.0但地址写成了 192.168.2.2而雷达在 192.168.1.x 网段两边根本不通。检查命令ip addr show重点看有线网卡下的inet 192.168.1.2/24。如果还是显示192.168.x.x或者DHCP拿到的地址说明刚才配置没生效。重新执行nmcli connection up或者重启 NetworkManagersudo systemctl restart NetworkManager6.3 用 arp-scan 扫网段别盲目 ping假设你不知道雷达 IP不要对着 192.168.1.1 到 192.168.1.99 挨个 ping那太慢了。直接用arp-scan扫一下当前网段有哪些设备sudo apt install -y arp-scan sudo arp-scan --local如果输出里只有你电脑自己的 IP 和路由器的 IP说明雷达没在回应 ARP大概率是雷达没电、网线没通或者 IP 根本不在当前网段。如果能扫出另一个设备把那个 IP 拿来在 Viewer 里手动添加或直接 ping 它。6.4 抓包确认 UDP 数据如果 ARP 能看到雷达但 Viewer 仍然找不到用 tcpdump 抓包看有没有 Livox 协议的数据到达电脑sudo tcpdump -i eth0 udp port 7500 or udp port 7501正常情况雷达通电后即使 Viewer 没有连接也可能周期性广播自己的存在。抓到源地址是雷达 IP 的 UDP 包说明协议层面的数据已经到电脑了这时候问题多半在 Viewer 的防火墙或者软件版本上。如果雷达有回应但点云不显示试着重启 Viewer或者换一个供电方式有时候是 PoE 供电不稳导致雷达反复重启点云画面自然出不来。6.5 软件与固件版本问题如果前面所有网络检查都正常雷达也被扫描到了但 View 就是不显示或者连接就断开重点查软件版本和固件如果你同时开着旧版 Livox Viewer 1先关掉它两个软件可能抢占同一个网络端口雷达固件版本过老时Viewer2 可能报设备拒绝连接。在设备设置里查看固件版本再决定是否升级Ubuntu 18.04 及以下系统对新版 Viewer2 兼容性不好如果所有步骤都正确但软件闪退优先怀疑 glibc 版本直接换一台 22.04 的机器试。7. 让 Mid360 的数据流动起来后续建图与算法输入的延伸7.1 从 Viewer 验证到 ROS/ROS2 驱动Viewer2 最大的价值是验证雷达没坏、链路通了、数据格式正确。确认这些之后下一步往往是接入自己的算法框架。如果你要做 SLAM会需要 livox_ros_driver2ROS2或者旧版 livox_ros_driverROS1来把雷达数据发布成 PointCloud2 消息。Mid360 在 Fast-LIO、LIO-SAM、FAST-LIO2 这类框架里是常用传感器它体积小、点云密度高、适合室内和近距场景。在接算法之前我建议先用 Viewer2 录制一段数据再用驱动离线回放。这样可以不动雷达反复调试算法参数。录制文件的具体格式和转 PCD 的脚本可以去 Livox SDK 仓库里找对应工具不同版本可能略有差异。7.2 点云后处理与质量检查当 Viewer 操作熟了之后可以导出一帧点云 PCD用 CloudCompare 检查局部点云密度、反射强度分布或者用 Python 的 Open3D 做降采样、聚类。这个习惯对后续调试建图算法很有帮助你能在算法之外先把 sensor 数据质量看清楚而不是等跑 SLAM 出了画面才发现雷达装歪了或者某个角度的点云被遮挡。7.3 一个多月用下来的体会说点个人感受。Mid360 不是那种插上电就不用管的传感器它的调教主要体现在网络配置和供电稳定性上而这两件事恰恰是最容易出问题的地方。Viewer2 虽然是官方工具界面谈不上多炫但网络设备发现和快速回放非常可靠尤其是连接失败时的日志信息比 ROS 驱动友好得多。我建议所有拿到 Mid360 的人第一步不是在终端里敲 ROS 命令而是先用 Viewer2 把点云世界打开亲眼确认那个真三维场景出现在屏幕上。这一步走通了后面接 SDK、接 SLAM 才有意义。
返回列表