机器人操作系统ROS 2采用了Zenoh通信协议,这不仅为下一代机器人技术奠定了基础,还大幅降低了能源消耗。
![]()
本文图片来源:ZettaScale
机器人操作系统 2(ROS 2)开源项目采纳了首个非数据分发服务(DDS)的机器人中间件(RMW)替代方案。开源机器人基金会(OSRF)引入这一替代方案旨在解决通信技术局限,改善新用户的即开即用体验,并创建一个更强大的机器人中间件。被选作新机器人中间件的通信协议Zenoh,为这种能源转型做出了贡献,并对机器人领域有所助益。
通信协议能效的三个关键要素
在考察通信协议的能源效率时,有三个关键要素很重要。第一个要素是处理效率,它衡量在用户数据传输和接收过程中创建和处理数据包所需的工作量。第二个要素是线路效率,它量化了协议在用户数据之上额外添加的字节数。第三个要素是路由效率,它考虑数据必须传输的距离,也就是网络跳数。
自ROS 2创建以来,像数据分发服务(DDS)这样的传统协议一直是其支柱,但它存在显著的线路开销。在每个数据消息之上, DDS会添加56个字节,以确保参与者发现、可靠传输、消息顺序以及服务质量(QoS)策略等。虽然这些开销对于其正常功能是必要的,但过多的开销会减慢通信速度并降低线路效率。直观地说,在网络上传输大量的开销字节会导致能耗增加,这使得操作机器人系统成本更高。
像消息队列遥测传输(MQTT)这样的协议,要求应用程序交换的所有数据都要通过基于云的代理服务器,该代理服务可能离设备很远,即使是本地通信也应如此。一个高路由效率的协议将使同一网络上的设备能够直接通信,通过可用的最短路径传输数据并减少网络跳数。MQTT的拓扑结构方面的限制,导致数据必须进行中继并在网络中传输更长的距离,从而增加能源消耗。
DDS和MQTT等协议在行业中的广泛采用,使得机器人的通信栈成为了一个耗能大户。即使在不移动的情况下,许多自主移动机器人(AMR)也会消耗高达50%的运行能量,将其电池用于数据通信和处理。对于现代自主移动机器人来说,这相当于连续运行一台高功率设备(如干衣机,功率约为3千瓦)8小时却没有烘干任何衣物。减少协议开销和改善数据路由,是减少能源浪费和提高机器人整体性能的关键因素。
Zenoh:一种节能高效的协议
Zenoh是一种全新的发布/订阅/查询协议,致力于整合从云端到微控制器的动态数据、静态数据以及计算资源。它构建起一套统一的抽象概念体系,同时支持诸如对等网络、路由网络、网状网络和代理通信网络等多种不同的网络拓扑结构。Zenoh具备出色的适应性,无论是在服务器级别的硬件设备上,还是在资源有限的微控制器以及相关网络中都能实现高效运作(如图1所示)。其显著优势在于线路开销极低,仅为5个字节,并且拥有低延迟、高吞吐量的卓越性能表现。
![]()
▲图1:Zenoh是Eclipse基金会下的一个开源软件(OSS)项目。
从底层设计之初,Zenoh便致力于解决传统通信技术固有的能源低效问题。与DDS不同,Zenoh将机器人应用中发现数据传输所需的能源降低了多达 90%(见图2)。这种节能成效,得益于将最小化开销与创新的发现方法相结合。DDS的每一条消息都会添加56个字节,然而Zenoh把这一开销减少到了仅仅5个字节。尽管DDS的动态发现信息能提供系统参与者可用性方面精准且全面的细节,但这很快就会引发可扩展性方面的问题;反观Zenoh,它采用集合以及集合论运行来对网络中分布的信息进行概括,这样一来,大幅减少了发现流量,同时提高了线路效率。
![]()
▲图2:Zenoh与数据分发服务之间的发现流量对比。
与MQTT不同,Zenoh能够促进本地通信。这是因为它不会对系统的网络拓扑结构设限,允许设备直接进行通信,或者仅通过极少的中间通信,无需代理服务器参与。这种本地特性让Zenoh得以将网络跳数减至最少,不仅实现了通信速度的提升,还极大地降低了通信能耗。Zenoh在线路和路由方面的高效性,使其在资源受限的硬件以及低功耗网络环境中,都能展现出卓越性能。
那么,Zenoh的处理效率究竟如何呢?来自台湾大学的一项研究结果显示,Zenoh的吞吐量远远高于其它协议。与MQTT相比,Zenoh的吞吐量是其10倍;和DDS相比,大约高出5倍。无论是在单机运行的场景中,还是在多机协作的场景下,这种优势都十分明显。当有效载荷为8字节时,在对等模式下,Zenoh的性能表现尤为突出,大约是DDS的2倍,是MQTT的130倍,更是Kafka的65倍。如此出色的性能表现意味着,Zenoh在处理相同数量的数据时,所消耗的中央处理器功率要少得多,极大地提升了处理效率。
Zenoh对机器人技术和ROS 2的影响
Zenoh在支持多样化通信拓扑结构上具备高度灵活性,并且能够以低延迟和最小化开销的优势,来处理高吞吐量的数据传输,这使得它成ROS 2 中机器人中间件的理想替代方案。此外,Zenoh还成功攻克了机器人系统部署过程中诸多长期存在的难题,尤其是那些对于机器人与万物互联(R2X)应用极为关键的问题。
想象一下,在一个由机器人机群管理系统管理的仓库中正运行着一队机器人。在这种情况下,机器人与云之间的实时通信对于高效管理诸如货物运输等任务至关重要。传统上,这需要处理异构网络和协议,同时确保可扩展性,这对开发人员来说是一项复杂而繁琐的任务。
Zenoh通过支持包括TCP/IP、UDP/IP、QUIC、串口和蓝牙等在内的广泛网络技术,极大地推动了系统的轻松集成。其丰富的插件生态系统,确保了在无需进行大幅代码修改的情况下,就能够与机器人机群管理系统中其它现有的协议实现良好的互操作性。
对于那些需要在大规模机器机群中实现可靠通信的应用场景而言,Zenoh的可扩展性优势尤为显著。借助统一的应用程序编程接口(API),开发人员能够更加轻松地专注于创建更具响应性的机器人机群系统,而无需耗费精力去应对复杂的网络问题。
值得一提的是,Zenoh对资源的高效合理利用,与当前技术领域日益重视的可持续发展理念高度契合。较低的能源消耗不仅意味着运营成本的降低,还能有效减少碳排放量,为环保事业贡献一份力量。例如,在Zenoh和DDS之间卫星链路的通信成本比较中,前者在一年内比后者节省约92%,由于协议的效率,节省了大量成本。现在Zenoh可以作为RMW使用,所有基于ROS 2的系统都可以立即利用其全部功能并利用其明显的能源优势。
关键概念:
■ 了解机器人技术中DDS和MQTT等传统协议的能耗和性能限制。
■ 在ROS 2中采用Zenoh有助于促进机器人技术的可持续性并降低运营成本。
思考一下:
如何解决传统机器人通信中的能源效率低下问题?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.