想象一下,一群机器人正在协同工作,每台机器都需要即时共享信息,以便在仓库中导航、协助救援或探索遥远的星球。为了让这些机器作为一个协调的整体运行,它们依赖于一种被称为“机器人操作系统2”(ROS2)的共享语言。这个系统充当了现代机器人的神经系统,允许机器人的不同部分,甚至不同的机器人之间进行通信。然而,这种语言的设计基于一个特定的假设:即所有的机器都坐在同一个房间里,或者至少处于同一个局域网内,就像连接到家庭 Wi-Fi 路由器的设备一样。在这种局域设置中,机器人通过一种在近距离内表现完美的“大声呼喊”方式来宣告自己的存在并倾听回应。但当你试图将机器人移动到不同的城市或不同的洲际时,这种“大声呼喊”的方法就会失效。连接这些遥远位置 fact 的互联网并不允许这种广播式的“大声呼喊”穿过其路由器。因此,历史上尝试远程控制机器人一直是一个复杂的难题,通常需要构建复杂的定制网络,否则机器人将无法进行通信。
为了解决这个问题,来自德国维尔茨堡大学的一个研究小组开发了一个名为 ROS2 Connect 的新工具。他们的目标是创建一座桥梁,让这些机器能够跨越广阔的互联网空间使用它们的母语进行交流,而无需更改底层网络基础设施或重新配置机器人本身。该系统不再依赖于在长距离传输中会失效的“大声呼喊”方法,而是使用了一种被称为 WebSocket 的标准且可靠的连接。你可以将这种连接想象成一条位于机器人与人类操作员之间、始终保持畅通的专用安全电话线,无论两者之间隔着多少个路由器或防火墙。该系统的运作方式是在机器人的局域网内放置一个小型软件程序作为服务器,并在操作员的计算机上匹配一个作为客户端的程序。当操作员想要发送指令时,客户端程序会将指令打包,并通过这条安全线路发送到服务器,随后由服务器将其传递给机器人。数据的传输过程则相反,这使得操作员能够看到机器人所看到的景象,并实时感受到机器人的触觉。
这种方法的巧妙之处在于,它并没有强迫机器人改变其思考或表达的方式。研究人员设计该系统时保持了透明性,这意味着机器人会像在本地房间内一样,继续使用其标准的软件组件。新软件只是拦截这些消息,将它们封装在一个安全的容器中,然后通过互联网发送。它还处理了棘手的安全性问题,确保只有获得授权的用户才能进行连接。在任何数据交换之前,系统都会要求操作员证明身份,就像进入安全建筑时出示门禁卡一样。一旦验证通过,系统仅允许访问操作员应当看到的特定部分数据,从而防止任何人意外或恶意地访问敏感信息。这种设计确保了即使在跨越公共网络时,连接依然是安全且受控的。
为了测试这种新方法是否确实比现有解决方案更好,研究人员进行了一项现实世界的实验。他们将一台位于住宅区的计算机连接到了位于他们大学的一台服务器上,模拟了典型的长距离连接。随后,他们测量了消息在两点之间往返所需的时间,测试范围涵盖了从微小的控制信号到来自机器人摄像机的大型图像。他们将新系统与目前用于通过互联网连接机器人的三种其他方法进行了对比。结果清晰且一致:新系统比其他系统更快、更稳定。在发送小消息时,所有系统表现都还可以,但随着数据量的增加,其他系统开始显著变慢。然而,新系统保持了稳定的速度,即使在处理大数据量时也能以极低的延迟交付消息。它还表现出更小的速度波动,这意味着消息到达的时间是可预测的——这对于像远程驾驶机器人这样对时序要求极高的任务来说至关重要。
研究人员还测试了该系统同时处理多个数据流的能力,模拟了一个机器人可能同时发送视频、传感器读数和控制信号的繁忙环境。即使在十个不同的信息流同时流动时,系统依然保持稳定。虽然随着数据量的增加,发送大型消息所需的时间略有上升,但系统能够高效地处理负载而不会崩溃。这种性能表明,该工具非常适合远程操作(teleoperation)的复杂需求,例如人类可能需要在灾区或远程工厂中高精度地控制机器人。这项研究证实,通过牺牲速度或安全性是不必要的,我们完全可以在全球范围内扩展机器人的覆盖范围,为分布式机器人技术的未来提供了实用的基础。这项工作并不声称解决了所有可能的网络挑战,但它提供了一种可靠、安全且高效的方式来通过互联网连接机器人,消除了长期以来限制这些机器控制范围的一个主要障碍。
技术摘要:ROS2 Connect
问题陈述
机器人操作系统 2 (ROS2) 已成为分布式机器人系统的标准框架,但其通信架构在广域网 (WAN) 环境中面临显著障碍。ROS2 依赖于数据分发服务 (DDS) 和实时发布-订阅协议 (RTPS),这两者从根本上依赖 IP 多播进行参与者发现和数据交换。虽然多播在局域网 (LAN) 中是标准配置,但在经过路由的广域网和互联网中通常不可用或不受支持。因此,在广域网上部署 ROS2 会导致自动发现受阻、配置复杂度增加以及可扩展性降低。现有解决方案通常需要网络层修改(例如 VPN)、引入对特定 DDS 实现的依赖,或者依赖于完全替换原生 ROS2 栈的替代中间件。
方法论
为了解决这些局限性,作者提出了 ROS2 Connect,这是一个实现为 ROS2 功能包的通信框架,它利用了基于 WebSocket 的客户端-服务器架构。这种方法将 ROS2 通信与底层网络拓扑解耦,实现了透明交互,无需多播支持、VPN 或特定供应商的 DDS 配置。
该系统由两种主要的节点类型组成:
- 服务端节点 (Server Node): 部署在机器人本地环境内的一个可公开访问的主机上,通过原生 DDS 与本地组件进行通信。
- 客户端节点 (Client Node): 运行在远程操作员系统中,通过 WebSocket 在广域网上与服务端建立持久连接。
关键技术机制包括:
- 传输中介 (Transport Mediation): 该框架桥接了基于 DDS 的本地通信与基于 WebSocket 的广域传输。它利用
rclcpp::GenericSubscription 和 rclcpp::GenericPublisher 在运行时处理序列化的二进制消息数据,从而能够转发任意 ROS 消息类型,而无需编译时定义。
- 配置驱动的接口中介 (Configuration-Driven Interface Mediation): 该系统不依赖于发现机制,而是通过 ROS 参数显式定义要转发的主题 (Topics)、服务 (Services)、动作 (Actions) 和质量服务 (QoS) 配置。这确保了仅暴露授权的接口。
- 优化 (Optimization): 系统采用订阅感知路由,仅在远程侧存在相应订阅者时才传输数据,以最大限度地减少带宽使用。每条消息前都会附加一个包含主题标识符和压缩元数据的轻量级协议头。
- 基础设施支持 (Infrastructure Support): 框架透明地转发坐标变换树 (
/tf, /tf_static) 并通过 /clock 主题传播 ROS 时间。服务和动作接口通过使用 pluginlib 的插件机制进行支持,允许动态加载特定类型的实现。
- 安全性 (Security): 身份验证在应用层通过通过 ROS 参数配置的用户特定令牌进行处理。服务端在凭据验证之前会抑制数据交换。通过严格限制数据转发至预配置的接口来实施授权,从而防止访问未指定的系统数据。
核心贡献
- 厂商无关的框架 (Vendor-Independent Framework): ROS2 Connect 提供了一种不依赖于特定 DDS 实现(不同于 eProsia 的 Fast DDS 或 Cyclone DDS 的静态配置)且不需要网络层基础设施变更的解决方案。
- 透明的原生交互 (Transparent Native Interaction): 它实现了主题、服务、动作和系统数据 (tf, time) 的双向交换,同时保留了应用层标准的 ROS2 接口。
- 集成安全性 (Integrated Security): 该框架原生集成了身份验证和访问控制机制,填补了许多现有广域网解决方案的空白。
- 开源实现 (Public Implementation): 源代码已公开,便于进一步的研究和应用。
实验结果
研究人员在住宅客户端与大学托管的服务端之间的真实广域网连接上对该框架进行了评估,并将其性能与 eProsoma 的 DDS Router、rosbridge WebSocket 接口以及 Eclipse Zenoh 进行了对比。
- 延迟 (Latency): 在 12 字节到 500 kB 的消息大小范围内,ROS2 Connect 展示了比上述三种替代方案显著更低的往返延迟 (RTT)。虽然 Zenoh 展示了相当的性能,但 ROS2 Connect 在处理小负载时始终保持略低的延迟(差异约为 1ms,对于较大负载差异可达 16ms)。
- 稳定性 (Stability): 与 DDS Router 和 rosbridge 相比,ROS2 Connect 的往返时间变异性明显较低,这表明其具有对于远程操作至关重要的稳定通信行为。
- 可扩展性 (Scalability): 在并发负载下(高达十个并行主题),对于小消息大小,延迟几乎保持不变。对于较大的负载,延迟随主题数量线性增加,反映了 TCP 流固有的约束,但系统仍保持稳定且可预测。
- 可靠性 (Reliability): 不同于 DDS Router 在测试配置中处理极大负载时表现挣扎,ROS2 Connect 在整个测试范围内都能可靠地传输数据。
意义与主张
作者声称 ROS2 Connect 为广域网上的远程操作和分布式机器人应用提供了可靠的基础。通过使用基于配置的安全模型取代依赖多播的发现机制,该框架实现了高效且稳定的 ROS2 通信,无需网络层适配的开销或集成替代中间件所需的努力。结果表明,该系统特别适用于对延迟敏感的远程控制场景,在这些场景中,可预测的时序和安全性至关重要。作者指出,虽然目前的实现支持通用主题以及基于插件的服务/动作,但未来的工作将侧重于扩展服务和动作的通用支持,并在完整的机器人应用栈中评估该系统。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。