第一次把大疆MID360插上虚拟机的时候,我原本以为跟在物理机里一样,打开官方软件就能看到一片点云。结果雷达指示灯明明在闪,终端却始终找不到设备,断断续续折腾了一个晚上才发现问题不在雷达,而在虚拟机网络、IP网段、驱动版本这几个交叉点上。这篇内容就是把整条配置链路完整走一遍:从VMware里装好Ubuntu 22.04,到部署ROS2 Humble,再编译大疆官方的livox_ros_driver2驱动,最后在RViz2里看到实时点云数据输出。不需要双系统,不需要重装物理机,适合所有想先在纯虚拟机环境里跑通点云数据、为后续建图和导航做准备的开发者。
开始之前先明确一个前提:MID360本质上是一台以太网设备,它的点云数据走网线,通过UDP协议传出来,而不是像USB雷达那样即插即用。这也是为什么很多人在虚拟机里卡住——虚拟机能不能和雷达互通,完全取决于虚拟网卡能不能和雷达处在同一个网络里。搞懂了这一点,后面的每一步都有明确方向。
1. 为什么折腾虚拟机还不翻车:先把MID360的工作方式说清楚
1.1 MID360不是USB雷达,它靠网线说话
MID360是大疆Livox系列里的一款混合固态激光雷达,水平视场角360°、垂直视场角约59°,在很多中低成本的机器人方案里都能见到。它对外提供的是标准以太网接口,而不是USB口,这意味着驱动软件拿到原始点云包之前,必须先把电脑和雷达之间这条网络链路打通。
MID360使用的通信SDK是Livox SDK2。这一点非常关键。大疆早期的激光雷达驱动仓库叫livox_ros_driver,那是ROS1时代搭配SDK1的老驱动;而MID360以及后续的新设备,都必须使用livox_ros_driver2来对接ROS2。很多人上来就在ROS2环境里clone老驱动,编译到一半就报各种头文件缺失,根源就是SDK版本选错了。
从数据链路来看,雷达上电后会通过网口发送点云UDP包,默认IP一般是192.168.1.1。电脑需要把自己的网卡配置在同网段,比如192.168.1.50,这样才能收到数据。我见过有人把雷达直连到电脑上之后,一直去ping虚拟机的IP,却忽略了自己主机的物理网卡IP段,这就属于完全没有理解这条链路。
1.2 虚拟机方案适合谁、不适合谁
既然走的是以太网而不是USB直通,虚拟机方案就比我们想象中靠谱得多。USB直通的虚拟化兼容性差,但网络桥接是虚拟化软件最成熟的功能之一。只要虚拟网卡能以桥接模式挂到物理有线网卡上,虚拟机里的驱动就能收到来自物理网口的点云包。
适合用虚拟机跑MID360的典型场景是:主机是Windows,主要办公,另外想跑Ubuntu的ROS2环境来做算法验证;或者只想先看看点云效果,没有强实时要求;以及后续想做cartographer、nav2这类纯软件层面的SLAM调试。热词里经常见到“ros2 humble cartographer+nav2”,这正好是需要一套可复现虚拟化环境的方向。
不适合虚拟机的情况也有:如果对数据实时性要求极高,比如做实时运动控制闭环、对时间戳精度的毫秒抖动敏感,那就别用虚拟机,物理机装Ubuntu会省掉很多麻烦。另外,如果要在点云上跑深度学习模型,需要GPU加速的CUDA推理,虚拟机的显卡透传在普通笔记本上配置成本太高,也不建议走这条路。但只是点云输出和基本SLAM,虚拟机的性能绰绰有余。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备:VMware里安装Ubuntu 22.04的几个关键选项
2.1 选用VMware Workstation而不是其他虚拟化工具
我习惯用VMware Workstation Pro,而不是某些轻量虚拟化工具,原因是在桥接物理网卡这件事上,VMware的“虚拟网络编辑器”更透明。你在里面能看到VMnet0对应哪张物理网卡,可以明确选择有线网卡还是Wi-Fi。而如果桥接对象选成Wi-Fi无线网卡,就算网络模式选对了,MID360的UDP包也大概率进不了虚拟机,因为无线网卡所在的二层网络和有线雷达之间根本不通。
2.2 创建虚拟机时容易被忽视的参数
创建虚拟机时,ISO镜像选择Ubuntu 22.04.3或更新的22.04版本。我这里给出一个经过实测的推荐配置,直接照着填即可:
| 配置项 | 推荐值 | 备注 |
|---|---|---|
| 操作系统版本 | Ubuntu 64位 | 不要选成Ubuntu 32位 |
| 处理器 | 4核心 | colcon编译驱动时明显吃CPU |
| 内存 | 8GB | 低于4GB会导致RViz2卡顿严重 |
| 硬盘 | 50GB以上 | 建议“将虚拟磁盘存储为单个文件” |
| 网络适配器 | 先选NAT,后续再增加桥接网卡 | 保证安装系统时能联网 |
| USB控制器 | USB 3.1 | 备用,虽然雷达不用USB |
还有一个特别容易踩的坑:如果创建完虚拟机后启动就报客户机操作系统已禁用cpu,或者
