引言
与本研究相关的文献主要可分为三类:面向多机器人系统的 ROS 2 框架与工具、特定领域的工具箱,以及用于机器人技术的游戏引擎和混合现实工具。
当真实部署成本高昂、存在风险或难以实现时,高保真仿真可以有效补充实体实验。基于 Unity 的环境已与 ROS 集成,用于实现沉浸式远程操作、逼真的移动机器人仿真,以及混合现实或数字孪生验证框架。然而,据我们所知,现有方法尚未提供一套专门面向自主移动机器人集群管理的 ROS 2–Unity 工具包,用于开展执行分布式协同算法的混合现实实验。
用于虚拟感知与混合现实仿真的 Unity 接口
Unity 是一款功能多样的 3D 开发平台,可用于创建逼真的仿真与可视化效果,因此非常适合为多机器人系统构建虚拟化环境。其图形和物理引擎能够创建动态、交互式的环境,使机器人可以实时移动并与物体交互。

这些工具结合使用后,Unity 可作为交互式高保真仿真的前端,而 ROS 则负责传感器数据处理、路径规划和控制算法等机器人后端流程。借助这一架构,Unity 可以在 ROS 的控制下仿真复杂环境与机器人行为,从而提升多机器人系统虚拟测试和验证的真实感与实用性。
基于 Unity 的接口主要聚焦于两项能力:
- 动态生成参数化环境。
- 集成机器人模型和虚拟传感器,用于基于 ROS 2 的实验。
混合现实实验
在实验中,Jackal 机器人通过标准 5 GHz Wi-Fi 网络,使用 ROS 2 发布器—订阅器协议与工作站通信。真实实验和虚拟实验均采用 Docker 容器化,并运行于 Ubuntu 24.04 系统之上。
工作站配备 AMD Ryzen 7 7800X3D 处理器和 Nvidia GeForce RTX 5090 GPU。实验使用的 ROS 2 版本为 Jazzy Jalisco,Unity 版本为 6000.0.74f1。
在混合现实实验期间,机器人的位姿——包括位置和方向——由 Vicon 动作捕捉系统提供。另一台工作站配备 Intel i9-9900K 处理器并运行 Windows 11,用于运行 Vicon Tracker 3.10。

场景 1:存在障碍物的虚拟室内环境中的动态任务分配
在这一场景中,一组不断变化的任务需要由机器人利用通信能力,以分布式方式协同完成。这一设置可以建模为动态任务分配问题——这是多机器人系统中一种广为人知的组合优化问题。
分布式优化问题由基于优化的管理系统处理。每台机器人确定任务分配后,单机器人控制与导航系统负责任务规划和执行。
当机器人到达设施内的指定位置时,任务即视为完成。与现实应用一样,任务分配问题是动态变化的:在部分任务完成后,系统会不断引入新任务。因此,机器人必须持续重新进行优化,并根据新数据调整各自的局部规划。
实验展示了机器人在不同环境中执行任务的过程。在虚拟实验中,机器人在 Unity 环境内移动,绘制周围环境地图,并避开障碍物和其他机器人,以防发生碰撞。实验视频作为补充材料提供。
场景 2:真实机器人置于虚拟环境中
Jackal 在真实世界中移动,同时感知虚拟环境。为突出本实验所展示的混合现实互联能力,研究人员要求机器人在虚拟环境中存在虚拟障碍物的情况下,依次到达一系列目标位姿。
常见问题
ROS 2–Unity 工具包的用途是什么? 它支持对执行分布式协同算法的自主移动机器人进行混合现实集群管理。
为什么在工具包中使用 Unity? Unity 借助交互式图形和物理引擎,提供逼真的 3D 仿真与可视化能力。
Jackal 如何与工作站通信? Jackal 通过标准 5 GHz Wi-Fi 网络,使用 ROS 2 发布器—订阅器协议进行通信。
第二个混合现实场景中发生了什么? 真实的 Jackal 在感知虚拟环境的同时移动,并在虚拟障碍物之间到达目标位姿。
