选题

结合边缘计算的智能网联机器人系统

Intelligent networked robot system combined with edge computing

研究背景及意义

  • 自主导航技术自21世纪初开始受到越来越多的关注,SLAM作为实现自主导航的关键技术,在无人车辆、无人潜艇、无人飞行器等领域得到广泛应用。
  • 过去方案: 传统的SLAM算法依赖于机器人携带的移动计算资源,限制了移动机器人实时性能的提升。
  • 论文的Motivation: 随着云计算技术的发展,研究人员开始将云技术应用于机器人领域,以解决移动机器人SLAM过程中的计算不足和负担问题。
    进入21世纪以来,自主导航技术受到越来越多的关注[1,2]。它是学术机构和团体预测的颠覆性技术之一,如麦肯锡全球研究所、花旗GPS MIT和ARK投资管理公司[3,4]。同时定位与制图(SLAM)是实现自主导航的关键,在无人驾驶、无人潜航器、无人机、增强现实等领域得到了广泛应用。传统的SLAM算法依赖于机器人携带的移动计算资源来估计环境地图和机器人姿态。SLAM是一项计算密集型任务,有限的计算能力使得移动机器人难以满足实时性要求。受益于无线通信技术的快速发展,云技术在
    机器人领域得到 了应用。云机器人最早是由Kuffner提出的[5]。它将云计算技术与机器人技术相结合,已成为一个趋势研究方向[6]。越来越多的针对机器人技术的云平台、应用和服 务 被 提 出 。DaVinci、Rapyuta、RoboEarth、sensor-cloud等将繁重的计算工作从机器人转移到云中的安全计算环境中[7,8]。Aldebaran Robotics开发的仿人机器人依靠云平台实现语音识别、人脸检测、视频采集等功能[9]。PR2机器人提出并验证了一种基于Dex-Net即服务(DNaaS)的快速对象捕获方法[10]。Pandey等人设计了一种云水下机器人来收集和监测海洋数据,它通过共享本地和远程资源来完成任务[11]。
    以上这些研究都证明了云机器人的实用性和有效性
  • 随着时代的发展和科学技术的进步,工业机器人技术得到了广泛的应用。各种智能应用系统对网络传输和计算能力提出了更高的要求,而传统的云计算技术已无法满足海量数据存储和计算的要求。根据边缘计算无中心、广泛分布、低延迟、低功耗、近源、分布式的特点,可以更好地满足当前工业智能化的需求。在此基础上,提出了一种工业机器人。边缘计算架构,应用边缘计算的特点,分析和研究工业机器人核心技术与边缘计算关键技术的融合机制和应用方法,并结合工业机器人控制器的特点,设计和应用边缘计算架构提高工业机器人的实际应用,将加速机器人在工业领域的大规模应用,提高工业智能化水平。采用案例分析比较的方法,分析了工业机器人边缘计算关键技术的应用。
  • 机器人系统比以往任何时候都更加互联、网络化和分布式。最近出现了符合事实上的机器人中间件标准 ROS 2 的新架构,以填补从边缘到云部署的混合系统方面的空白。本文回顾了使容器化机器人应用程序能够在边缘或云端无缝运行的新架构和技术。我们还概述了系统,其中包括从 ROS 2 工具扩展到 Kubernetes 和 ROS 2 集成的解决方案。另一个重要趋势是机器人学习,以及新模拟器和云模拟如何实现大规模强化学习或分布式联合学习等解决方案。这也使得机器人系统开发的持续交互和持续部署(CI/CD)管道能够更深入地集成,超越了标准软件单元测试,通过模拟测试自动构建和验证代码。我们讨论当前的技术准备情况,并列出即将出现的潜在新应用场景。最后,我们讨论了分布式机器人系统当前面临的挑战,并列出了该领域的开放研究问题。
  • 随着机器人系统的互联程度越来越高,物联网和机器人领域之间的交叉点也越来越多[1]。具体来说,在自主机器人与边缘域和云域的交叉点上可以发现很大的潜力[2]、[3]。这导致了无数新的机器人架构、技术和建议,以利用边缘云计算连续体来增强自主性[4],推动多机器人协作和人机协作[5] – [ 7] ,以及提供额外的计算能力[8]。

    更广泛地使用边缘和云计算范例以及机器人系统解决方案的好处确实是巨大的;然而,广泛采用需要进一步集成到现有的工具和框架中,特别是机器人操作系统(ROS),这是用于机器人系统设计和开发的事实上的标准中间件。因此,尽管边缘、雾和云机器人系统领域有大量文献,但最近才出现更通用的框架。

  • 从用户的角度来看,我们正在见证一波新的远程可视化和远程操作工具浪潮,这些工具是云原生的、移动就绪的、基于 ROS 的[9]、[10]。与此同时,越来越多的桌面和云仿真工具正在支持下一代具体人工智能和机器人学习算法[11]、[12]。这些模拟器利用物理和游戏引擎来实现更逼真和更大规模的模拟[13] – [ 15] 。在云中,模拟还连接到持续集成和开发管道 (CI/CD) [16],以及 Metaverse 和数字孪生平台[17]。与此同时,新的 ROS 扩展允许在边缘和云 ROS 部署之间轻松切换[18]、[19],并且大量用于车队管理和多机器人协作的平台正在出现[10]。
  • 随着智能机器人在各个领域的广泛渗透,机器人领域的同步定位与建图(SLAM)技术越来越受到业界的关注。然而,由于 SLAM 的密集图形计算与机器人有限的计算能力之间的性能矛盾,在多个机器人上协作 SLAM 仍然具有挑战性。虽然传统解决方案依靠强大的云服务器作为外部计算提供商,但我们通过实际测量表明,数据卸载中的大量通信开销阻碍了其实际部署的实用性。为了应对这些挑战,本文将新兴的边缘计算范式推广到多机器人 SLAM 中,并提出了 RecSLAM,这是一种多机器人激光 SLAM 系统,专注于加速机器人-边缘-云架构下的地图构建过程。与传统的多机器人SLAM在机器人上生成图形地图并在云端完全融合不同,RecSLAM开发了一种分层地图融合技术,将机器人的原始数据引导到边缘服务器进行实时融合,然后发送到云端进行全局融合。合并。为了优化整体流程,引入了高效的多机器人SLAM协作处理框架,根据异构边缘资源条件自适应优化机器人到边缘的卸载,同时确保边缘服务器之间的工作负载平衡。广泛的评估表明,与现有技术相比,RecSLAM 可以减少高达 39.31% 的处理延迟。此外,还开发了概念验证原型并将其部署在实际场景中以证明其有效性。
  • 同步定位与建图(SLAM)[1]是一种计算,其目标是在未知环境中构建或更新地图,同时跟踪代理在其中的位置。如今,它已在许多应用程序中得到广泛使用。它为智能机器人打开了一扇了解室内、空中或地下环境的大门。例如,在自动驾驶中,SLAM已被用来处理激光扫描的周围信息,以指导自主导航[2] – [ 4] 。在救灾中,蛇形机器人运行SLAM来探索脆弱的建筑物,并在人类无法到达的地方进行救援。

    SLAM根据传感器类型一般可分为视觉SLAM [5]和激光SLAM [6] 。视觉SLAM利用相机捕获的图像来构建几何图形,而激光SLAM则利用深度感知激光数据来构建网格占用图。在自动驾驶等需要高精度建图和建模的实际应用中,激光SLAM因其更丰富的环境信息采集和更高的识别精度而成为首选。

    激光 SLAM 广泛部署的主要障碍在于其密集的计算,特别是对于资源受限的机器人。协调工作负载资源冲突的传统方法吸引了强大的云数据中心[7] – [ 10] 。然而,机器人和云之间不可靠的远程连接使得多机器人系统不可行。多机器人 SLAM 的最新进展引入了新兴的边缘计算范例来渲染低延迟映射[11] - [ 13] 。特别是 EdgeSLAM [14]设计用于解耦视觉 SLAM 功能管道并在边缘服务器的帮助下加速处理。Ali等人提出的Edge-SLAM [15] 。通过模块化级别的分割,进一步增强机器人边缘视觉SLAM协同作用。虽然两者都专注于深度优化视觉 SLAM,但另一个主流,即激光 SLAM 仍处于开发阶段。

    由于面临三重挑战,为高效的多机器人激光 SLAM 启用边缘计算并非易事。首先,robots集群会产生大量数据,需要对这些数据进行标记和区分,否则可能会出现数据混叠。同时,需要集成具有相同时间戳的不同类型的数据,例如激光扫描和IMU传感器信息。然后可以提供给SLAM进一步处理。其次,对于多个边缘节点来说,其分布式特性和异构性使得边缘节点之间的通信更加复杂。此外,考虑在边缘节点部署多个服务模块也至关重要。第三,与边缘节点相比,机器人的计算能力相对较弱。与边缘节点协作时,一方面需要考虑任务卸载的问题,即边缘计算资源的调度。另一方面,基于边缘节点性能的工作负载均衡问题也需要解决。

    为了应对这些挑战,我们推出了 ColaSLAM,这是一种具有机器人边缘协同作用的协作激光 SLAM 系统。Co-laSLAM利用边缘计算辅助机器人进行SLAM并生成全球地图。进行了广泛的评估来验证 ColaSLAM 的有效性和效率。仿真结果表明,我们的系统在处理延迟降低方面比现有云解决方案性能提高了 40% 以上。使用真实机器人的概念验证原型进一步证实了其可行性和可扩展性。

国内外研究现状

  • 通过本节,我们将介绍当今自主分布式机器人系统背后的关键技术和概念,以及那些有可能在下一代技术(例如 DLT)中发挥更重要作用的技术和概念。

    A. ROS 2 和 DDS

    机器人操作系统 (ROS) 是自主机器人系统事实上的标准。ROS 2 是原始 ROS 中间件的改进版本,已经开发了五年多。ROS 2 设计原则包括 (i) 分布、(ii) 抽象、(iii) 异步和 (iv) 模块化[20]。所有这些,特别是分布式、模块化和异步性,都与连接和分散的机器人系统的新现实密切相关,从单个机器人转向车队,从单主机计算转向自然分布在边缘的计算架构。云连续体。与此同时,不断增加的连接性和分布带来了新的挑战,ROS 2 的设计要求包括 (i) 内置安全性以及支持 (ii) 嵌入式系统、(iii) 多样化网络条件和 (iv) 的能力实时计算。最终的设计要求是 (v) 产品准备情况。同样,这些扩展了边缘-云连续体中稳健系统架构的自然要求,需要针对交替网络条件的内置安全性和弹性,以及对异构计算硬件的支持。

    典型的 ROS 2 系统由许多分布式进程或节点组成,范围从传感器驱动程序到算法实现、高层决策或外部接口和控制。ROS 2 节点通过可用的通信模式相互通信:(i)主题,带有发布/订阅系统的异步消息传递框架;(ii) 服务、同步请求-响应模式;(iii) 动作,具有请求-反馈-响应架构的异步接口,特别适合需要时间和与机器人环境进行物理交互的物理动作。此外,ROS 2提供了一系列抽象层,通信中间件依赖于行业标准DDS协议的实现[21]。在本文回顾的不同架构中,我们将了解某些用例如何需要使用额外的通信中间件或数据流可能性。这是由于数据密集型DDS中间件以及某些传感器提供的高密度和未压缩的原始数据(例如高质量图像或三维点云)不允许将计算直接从边缘卸载到云端。

    B. 容器化

    虚拟化技术是云计算的一些核心基础。虚拟机(VM)一直被用作云计算的骨干来提供虚拟化操作系统,直到容器技术的爆发[22]。容器提供了一种轻量级虚拟化解决方案,应用程序可以在具有所需所有依赖项的环境中运行。Docker 和 Kubernetes 彻底改变了虚拟技术和云计算,并且都是当今领先的容器编排工具[23]、[24]。Docker 是一个商业容器化平台和运行时,研究人员和开发人员可以在其中构建、部署和运行容器。Kubernetes 最初由 Google 开发,是一个编排容器的平台[25]。

    C. 计算卸载

    在最基本的形式中,可以说云机器人框架必须允许(i)机器人的远程操作,(ii)在云中运行自主操作所需的部分计算,或(iii)两者这些功能。这导致计算卸载成为云机器人文献中的主要研究领域之一[26]。与此同时,边缘计算定义的抽象计算分布范式的标准化是由欧洲电信标准协会 (ETSI) 提出的多接入边缘计算 (MEC) 的标准化,围绕无线接入网络 (RAN) 的计算卸载可能性而建立。 )[27]。事实上,随着 5G、6G 以及其他移动网络解决方案的出现,通过使用跨 RAN 层部署的服务器的计算资源,可以实现低延迟和高吞吐量的计算卸载。“多访问”术语强调多租户基础设施,这意味着此类计算基础设施比云中的计算基础设施更加有限,因此管理或编排服务之间的共享方式更为重要。在下一代机器人系统中,计算卸载有可能成为一个更加广泛和复杂的领域,因为计算分布在边缘、边缘和云之间,而且也分布在异构计算连续体中的任何地方(例如,RAN 层) 。计算卸载编排中考虑的关键参数包括实时延迟和带宽[28]。

    D、安全

    SROS2 提供了一组工具和库,用于为 ROS 2 实体提供安全性、身份验证和访问控制[29]。由于ROS 2建立在DDS之上,因此利用DDS安全规范在通信级别实现ROS 2的安全工具。OMG 的 DDS 安全规范[30]在五个服务插件接口 (SPI) 中强制执行安全模型。SROS2 仅实现了其中三个 SPI,即身份验证、访问控制和加密。身份验证 SPI 使 ROS 2 实体能够通过使用公钥基础设施 (PKI) 建立身份。访问控制 SPI 将对 ROS 2 发布/订阅通信通道的访问限制为预定义的经过身份验证的身份。加密 SPI 包含其他 SPI 的加密、解密、数字签名和散列等加密功能。

    E. 分布式账本技术

    共识一直是分布式系统中的一个基本问题[31]。因此,去中心化共识在构建边缘云连续体的稳健解决方案方面发挥着关键作用。虽然早期关于共识的研究仅限于崩溃容忍或有限数量的参与者[32],但随着分布式账本技术(DLT)的出现,该领域的研究取得了进展[33]。DLT 提供了参与节点之间传输的消息的不可变分类账。共享的不可变账本有助于达成共识,并为分布式系统中参与者的交互提供安全的媒介。通过使用分布式账本技术,可以消除对第三方的信任,从而形成更加去中心化的系统。除了去中心化之外,DLT 还提供安全功能,使其成为分布式系统开发的重要组成部分[34]。分布式机器人系统是使用 DLT 的领域之一,因为它们需要分散的协议解决方案和安全的通信通道[35]。区块链解决方案已经应用于文献中的不同机器人用例,但较新的技术,例如使用有向无环图(DAG)架构的技术,正在为更具可扩展性和轻量级的 DLT 铺平道路,这些 DLT 在分布式机器人系统中具有巨大潜力[36 ] – [ 40] 。

    文献中使用的关键技术包括以太坊[41]、Hyperledger Fabric [42]和IOTA [43]。更一般的边缘-云领域内的共识算法和用例的概述可以在[44]中找到。[45]中在机器人群系统的背景下回顾了这些共识算法的子集。

  • 作为机器人技术的一项关键支持技术,同步定位和建图 (SLAM) 是一种计算密集型方法,旨在同时构建图形地图并跟踪代理在未知环境中的位置[1] – [ 3] 。它已广泛应用于多种应用,为智能机器人了解室内、空中或地下环境并与之交互打开了大门。例如,在自主机器人领域,SLAM 已被用来处理激光扫描的周围信息,以指导自给式导航[4] – [ 7] 。在救灾中,蛇形机器人应用 SLAM 来探索脆弱的建筑物,并在人类无法到达的地方进行救援[8] – [ 10] 。

    一般来说,SLAM根据所使用的传感器可以分为两类,即视觉SLAM [11]和激光SLAM [12]。视觉SLAM利用相机捕获的图像来计算几何图形。它致力于利用 2D 视觉输入来构建 3D 语义模型。激光 SLAM 开辟了另一条技术路径,从激光扫描中提取数据以形成网格占用图。特别是,激光数据与视觉图像的不同之处在于包含深度信息和物体的高精度位置。受益于这种来源优势,激光 SLAM 成为首选,并用于更广泛的机器人应用,以实现更高的物理精度[13]。

    智能机器人的广泛使用促进了 SLAM 将其部署扩展到多个机器人上[14] – [ 16] 。具体来说,一群机器人以集群的方式部署,它们致力于在未知的环境中相互协作,通过SLAM构建几何映射并确定自己的位置。一个示例场景是构建如图1所示的公寓的图形地图,其中使用多个机器人同时执行SLAM以进行全局地图构建。另一个例子是在关键任务搜索和救援(SAR)任务中[14]、[15],其中多个机器人协同驱动,相互共享地图数据,以便在破损的建筑物中快速探索。在这种情况下,传统智慧[17] - [ 19]协调分布式数据源需要机器人与云的协同作用,其中机器人单独运行SLAM并将其本地地图相互上传到集中式云服务器以进行全局合并。然而,两层架构有双重缺点。一方面,在商用机器人上本地处理 SLAM 工作负载通常需要大量延迟,甚至在资源限制(例如有限的内存容量)下可能无法完成。在我们对普通机器人的测量中(如第 II-B 节所示),运行 SLAM 会迫使 CPU 工作负载始终处于较高水平(始终 >83.60%),从而导致设备上执行延迟过大。如此显着且过多的延迟阻碍了许多通常需要实时信息融合的多机器人应用(例如救灾和高分辨率自主导航)。另一方面,通过不可靠且延迟严重的广域互联网连接将机器人大量的本地地图传输到远程云端,不仅会带来通信瓶颈,还会引发用户对安全和隐私的担忧。从数量上讲,正如我们稍后将展示的,数据上传时间开销可以在常见的 4G、5G 和 WiFi 网络中主导整个处理,表现出脆弱的性能。

  • 本节通过描述最先进的基于云的解决方案来深入探讨多机器人 SLAM 处理。我们首先简单介绍其工作流程,然后分解组件性能,揭示边缘计算的机遇和挑战。

    A. 多机器人SLAM

    SLAM 通常在配备各种传感器的机器人上运行,旨在同时定位机器人本身并维护环境的图形地图[26]。图2展示了SLAM计算的典型场景。SLAM的输入是机器人的浮点向量形式的感知数据,描述了扫描角度、激光距离等。输出是占用网格图,其中黑色网格是障碍物,白色代表可用的安全区域空间和灰色表示尚未检测到或不确定的地方。

    多机器人SLAM是单机器人SLAM的扩展用例,它管理一组机器人执行SLAM,以构建与现实相对应的虚拟图形感[27]。其超越单机器人 SLAM 的核心程序是地图融合程序,该程序合并多个网格地图以生成目标场景的全局地图。鉴于网格地图是从多个分布式机器人收集的,最先进的解决方案[17] - [ 19]求助于集中式云服务器来实现地图融合,如图3所示。特别地,它分两个阶段进行。首先,每个机器人收集感知数据并在本地单独执行 SLAM。接下来,他们将本地 SLAM 结果(即网格地图)上传到云端,所有这些地图在云端合并以获得全局地图。具体来说,共享重叠区域的两个局部地图将被融合,而那些独立的地图将被简单地附加以构成全局地图。该全球地图可用于下游任务,例如导航和家具设计。

    多机器人SLAM已在广泛的场景中得到广泛采用。例如,一些室内地图服务使用多个机器人来扫描房屋并执行多机器人 SLAM 来构建塑造室内环境的 3D 图形模型[15]。在一些地理测绘应用中,许多机器人运行来扫描地形并构建地形图[17]。

    B. 最先进技术的性能影响

    最先进的基于云的解决方案高度依赖互联网从分布式机器人收集本地帧,这使得它对易受攻击的网络非常敏感。为了更清楚地了解网络状况如何影响,我们明确检查了典型云服务流程的成本。具体来说,我们使用三个 Turtlebot3 和一个云服务器部署了一个多机器人 SLAM 原型,旨在测量从机器人输入激光扫描到在云上获得全球地图的持续时间。Turtlebot 配备 Raspberry Pi 作为处理核心,具有 1.4 GHz ARM Cortex-A53 CPU、1 GB LPDDR2(不带 GPU)。云服务器采用Intel Xeon CPU E5-2678,部署在机器人所在的可用区域。机器人通过3G、4G、WiFi三种方式与云端联系,均处于商业运营网络下。

    图 4可视化了测量结果,其中机器人计算、帧上传和云合并中的延迟被打破。我们可以看到,总延迟对信道切换高度敏感,从约 3.83 秒(WiFi)增加到 5.36 秒(5G)。仔细观察,我们发现这种成本波动来自于通信侧,在不同的网络条件下,通信侧的成本差异很大。具体来说,4G、5G和WiFi的上传延迟分别为3.13、2.35和1.88毫秒。

    揭示的另一个昂贵的工作负载是本地计算成本。机器人计算SLAM耗时约1.51秒,占WiFi通道下总延迟的49.74%。为了检查其背后的原因,我们记录了机器人的背景负载水平并绘制了轨迹,如图5所示。如图所示,负载轨迹始终位于 80% 以上。平均为93.82%,最低为83.60%,有时甚至达到100.00%,表明机器人过载,无法充分支持本地SLAM计算。

    综上所述,现有的云解决方案存在双重瓶颈。一是远程互联网传输固有的通信瓶颈,强调了机器人和云之间的本地帧上传过程。另一个是资源消耗大的SLAM计算任务,与机器人有限的计算能力相冲突。这两个旋钮的集成使得云服务在渲染低延迟多机器人 SLAM 方面存在不足,需要对执行管道进行整体改造。

    C. 边缘计算的机遇和挑战

    为了解决数据卸载和机器人计算方面基于云的方法的难题,我们推广边缘计算以实现多机器人 SLAM 处理。边缘计算将计算能力集中到与机器人的物理接近度上,从而提供了潜在的帮助,大大减少了机器人的计算压力,同时与云卸载范例相比显着降低了传输延迟[21]。

    借助边缘计算,我们有机会重新设计多机器人地图融合管道,以实现高效的 SLAM 计算和低延迟传输。具体来说,我们可以利用分布式边缘服务器来接管机器人和云端的工作负载,充当代理来顺利解决处理瓶颈。

    然而,与提供统一、强大、封闭的资源访问的云数据中心不同,边缘服务器表现出松散耦合和不均匀的性质:它们通常是分布式的、异构的和动态的。为了协调机器人、边缘服务器和云之间的服务,应仔细设计通信协议,考虑机器人到边缘、边缘到边缘和边缘到云的数据传输。此外,考虑到网络动态,还应该考虑多个边缘服务器之间的工作负载平衡,作为与整体性能相关的另一个受影响的方面。

  • 卸载计算密集型传感器数据处理已在移动机器人导航中得到广泛研究。通过简化机载硬件,可以显着节省能耗,延长机器人的电池寿命[3]。将边缘计算与移动机器人导航相结合是一个相对较新的领域,相关工作很少。从更通用的角度来看,Dey等人。研究了通过边缘计算在同步定位和建图 (SLAM) 算法中卸载计算密集型任务的潜在好处[5]。作者得出的结论是,边缘计算可以显着增强本地化和定位算法,并提供低延迟和高可靠性服务。大多数其他工作都专注于卸载到云服务器。尽管如此,在某些情况下,与云服务器的网络连接可能不可靠且延迟不可控。因此,它不适合时间关键的应用,例如自主机器人中的定位和运动估计。

主要研究或解决的问题和拟采用的方法

主要研究或解决的问题是在传统的SLAM算法中,由于计算量庞大,移动机器人很难同时实现实时性和精确性。为了解决这一问题,提出了一种基于边缘-云协同计算的SLAM算法。该算法利用边缘计算进行本地地图估计,利用云计算进行全局地图估计。边缘使用平方根无迹卡尔曼滤波器(SR-UKF)进行快速SLAM计算,而云使用分布式平方根无迹粒子滤波器(DSR-UPF)进行流式计算以提高准确性。通过充分发挥边缘和云计算的优势,该算法增强了估计准确性,减少了执行时间,并提高了移动机器人的环境适应能力。

拟采用的方法包括:

  1. 边缘包括数据采集、消息客户端、本地SLAM计算、边缘-云融合和本地存储等模块,用于实现实时SLAM计算和本地地图估计。
  2. 云执行分布式平方根无迹粒子滤波器(DSR-UPF)进行全局地图建模,通过流式计算提高准确性,同时使用分布式思想和方法进行实时数据处理。
  3. 论文提出的SLAM算法不仅确保实时性,还通过边缘-云协同架构提高了准确性和效率。云计算框架充分利用其计算能力来改善执行性能,通过分布式平方根无迹粒子滤波器(DSR-UPF)提高准确性,边缘实时构建本地地图以满足实时要求。

工作进度计划