分布式算法对工业机器人视觉伺服图像处理系统的影响
2023-01-10方赟李石朋王娟
方赟,李石朋,2,王娟
(1.中国国际海运集装箱(集团)股份有限公司,广东深圳 518067;2.浙江大学机械工程学院,杭州 310058;3.华南理工大学自动化科学与工程学院,广州 510641)
0 引言
近年来,以高速视频流提供的图像为控制信息的视觉伺服得到了广泛的研究[1-3],一方面通过视觉传感器机器人可与环境进行更丰富图像交互,扩展机器人的应用领域;另一方面随着工业4.0的发展,小批量、多图像、可重构的工业制造模型要求机器人具有自主感知、自主决策等功能,这也对机器人结合视觉信息的综合能力提出了更高的要求[4,5]。机器人视觉伺服技术区别于传统的视觉引导或视觉定位,以能对高速视频流图像信息做出实时反馈为特点,为机器人的应用提供了灵活多变的技能基元。在伺服图像进行的过程中,原始的视频流图像信息并不能直接为机器人指令使用,需要经过一系列的图像处理过程,如分割、锐化、边缘提取等预处理步骤[3]。在当前的视觉伺服研究概念下,为保证机器人能够更多地获取有效信息和较大的工作范围,一般都会采用大视野的高清工业相机作为视觉传感器,而高质量的图像为机器人带来丰富环境信息的同时,也必定给图像处理单元带来更高的负载要求,因此,能否对高速高清的目标图像完成实时的视觉伺服处理过程,是制约以视觉图像为控制信号的机器人控制系统操作精度和实时性的关键因素[6,7]。
目前大多数工业机器人受尺寸、成本、能耗等方面的影响,工业机器人的自身资源往往是局限的,工业机器人提供的本地计算资源无法满足实时处理信息密集型图像的需求,因此为视觉伺服系统提供更强大的图像处理能力成为解决这一问题的可靠思路。随着计算机技术的发展,云计算为工业机器人提供了强大的计算服务,解决了工业机器人资源受限的难题。然而,具有远程部署属性的云服务器无法满足延时敏感任务的实时性要求,同时增加了通信网络的压力,导致了更高的网络延时,无法从根本上解决上述视觉伺服图像中高速视频流图像处理过程的瓶颈问题,针对该问题,一种新型计算资源——“雾计算”被提出[8,9]。作为云计算的扩展与提升,雾计算将云计算服务迁移至网络边缘,通过在终端设备或者数据源附近部署一定数量的雾节点进而完成雾计算平台的搭建。为了实现面向工业机器人的实时、高效处理目标,通过雾计算为工业机器人制定有效的解决方案,近距离、分布式部署的雾节点弥补了工业机器人计算资源不足的缺点,通过在雾节点建立不同的应用模块、算法,为工业机器人提供多粒度、多模式计算服务。
本文以改善高清视频流图像实时处理能力为目标,从“系统架构与模型-算法设计-实验结果验证”3个主要维度对基于雾计算的工业机器人视觉伺服系统图像自适应实时处理相关技术开展一系列研究,主要贡献如下:
(1)分析了工业机器人视觉伺服系统实时性能限制要素,建立起以视觉传感器-雾服务器-控制器-机器人的基于雾计算的图像处理模型,充分利用近距离、分布式的雾计算特点,提高视觉系统图像处理速度;
(2)研究了不同速度和大小视频流情况下对视觉伺服系统实时性的影响,在考虑机器人视觉系统实时性的同时考虑了系统计算资源的合理分配问题,根据不同的计算负载要求设计出自适应实时图像处理算法;
(3)通过实时的自适应图像处理资源管理,针对不同的任务需要自动配置计算负载,提高了在高速高分辨率视频流情况下视觉系统的图像处理能力,从而提高以图像为控制信号的为机器人控制精度和速度。
1 系统架构与模型设计
视觉伺服系统的实质是根据目标位置与当前位置的函数误差来计算机器人控制器反馈指令[10],基于反馈信号的不同分为基于图像的视觉伺服IBVS(Image-Based-Visual-Servoing),基于位置的视觉伺服PBVS(Position-Based-Visual-Servoing),以及结合两者特点的混合视觉伺服HBVS(Hybrid-Based-Visual-Servoing)。其中IBVS的目标函数中所选择的控制信号是纯粹的图像信息,IBVS相比于PBVS控制结构更为简单,只需要对图像信息进行比较而不需要进行三维重构,其对环境噪声也有更高的鲁棒性[11],因此基于图像的视觉伺服系统架构也得到了更多研究者的关注[13,14],其基本结构如图1所示。
图1 基于图像视觉伺服系统架构
如图1所示,对于虚线内的主要耗时模块,当前视觉伺服系统主要通过上位机进行处理,无论当前需要处理图像的大小和频率如何,在完成一个视觉系统的配置后,在该视觉系统进行的所有计算图像均由此单一设备节点完成,不能根据图像的需求进行灵活布置,这样的资源分配机制有着较大的随机性,不能保证系统能够得到足够的计算需求。针对这一问题,本文设计了如图2所示的基于雾计算的视觉伺服实时图像自适应处理控制模型。
在图2中,视觉传感器针对不同的工作环境获取到不同帧率和不同大小的目标图像,雾服务器会根据目标图像的大小和帧率,结合图像算法所需提取的特征值计算出各情况下所必须的图像负载,并自动分配硬件资源,在保证满足计算要求的情况下完成机器人控制器基于视觉信息的指令。这种基于雾计算的视觉伺服图像自适应处理模型可以实时完成系统的图像处理图像[15],能够很好的适应不同的应用环境,尤其针对多视觉信息来源或多控制图像的视觉伺服系统,以及工作环境复杂的视觉图像。以下根据上述图像需求进行实时资源分配算法的设计。
图2 基于雾计算的视觉伺服实时图像自适应处理控制系统架构
根据基于雾计算的视觉伺服实时图像自适应处理控制模型建立系统模型,系统模型中部署了多台工业机器人和多个雾节点。F表示雾节点集合,F={F1,F2,…,Fn,…,FN},雾节点Fn的计算能力记为Cn;I表示一个图像集合,I={I1,I2,…,Im,…,IM},图像Im的属性可模型化为三元组(Cm,Tm,max);Cm表示图像Im需要的计算资源量,Tm,max表示图像Im的最大容忍时间。由计算资源选择系统模型得知,每个图像可以从N个雾节点中选择一个雾节点来完成处理。对于图像Im,其在雾节点Fn下的时延记为Tnm、能耗记为Enm。
计算资源选择策略的优化目标为最小化图像处理时延,目标函数如式(2)所示:
其中,“1)”和“2)”为计算资源选择决策变量约束条件,即每个图像只能选择一个计算资源,“3)”为每个计算资源的约束条件,“4)”为每个图像的时延约束条件。
2 基于图像计算容量的自适应雾计算节点选择算法设计
在本部分内容中,通过在雾服务器中设计计算资源选择模块实现自适应计算资源选择。对于每个图像来说,存在多个计算资源可供选择,每个计算资源具有不同的性能与优势。在雾计算平台中,异构图像通过选择不同的计算资源来完成处理。然而,图像的复杂度、实时性需求给计算资源选择带来了挑战。计算资源选择是实施雾计算的关键,也是实现图像高实时、高能效、高可靠处理的有效途径[16,17]。通过自适应计算资源选择算法为异构图像制定最优的计算资源选择方案,从而满足视觉伺服任务的高实时、高能效、高可靠性能需求。自适应计算资源选择策略的主要功能是在现有计算资源条件下,为当前需要处理的图像制定最优的计算资源选择方案,从而实现图像高实时、高能效、高可靠处理的目标。本文所提出的自适应计算资源选择过程示意图如图3所示。
图3 自适应计算资源选择过程示意图
图3展示了自适应计算资源选择的详细流程,描述如下:(1)当图像传感器获取到系列图像时,图像处理模块发送计算资源选择服务请求到雾服务器以获取选择策略;(2)图像处理模块接收到来自雾服务器的计算资源选择服务响应后,会发送图像相关信息到雾服务器,包括图像大小、采集频率以及实时性要求;(3)雾节点向雾服务器发送各自的相关信息,其中包括工作状态、可用计算资源等;(4)在雾服务器中运行计算资源选择算法,为所有的图像制定最优的计算资源选择方案,得到每个图像的计算资源选择集合Φ,Φ表示图像的计算资源选择集合;(5)在图像处理单元收到计算资源选择集合Φ后,根据Φ将不同的图像发送至相应的计算资源上;(6)雾节点在接收到图像参数后执行一系列操作,最后将图像处理结果发送至原工业机器人。
根据自适应计算资源选择问题,为了有效地取得全局最优解,本文将遗传算法GA(Genetic Algorithm)应用在自适应计算资源选择问题求解中,提出了一种基于GA的自适应计算资源选择算法,该算法可根据雾计算资源为异构图像制定最优的计算资源选择方案,以达到实现优化目标的目的,基于GA的自适应计算资源选择算法如表1所述。
表1 基于GA的自适应计算资源选择算法
3 实验结果分析
本部分内容是针对上述算法理念的验证,即基于雾计算的视觉伺服实时自适应控制系统对传统控制方法的下机器人控制性能的影响。视觉伺服平台如图4所示,其中机器人为Franka Emika,内部通讯周期为1 ms;图像传感器为Basler Ac-640,分别设定传感器图像采集频率为30 Hz、50 Hz、80 Hz、100 Hz、120 Hz,图像分辨率大小分别为640×480,800×600,1 024×768,1 280×960,1 600×1 200。
图4 基于图像的视觉伺服实验平台
首先利用传统图像处理方法对图像进行处理,对不同分辨率和不同采集频率的图像分别进行100次左右的采样计算,对比方法在单位时间内(以s为单位)不同频率和不同分辨率情况下处理结果如表2所示。如“46-49”类型数据表示每秒可处理数量,反应了视觉系统每秒最多迭代周期次数。
表2 对比方法单位时间内图像处理结果
从表中可以看出在固定计算负载时,视觉系统只有在低传感器频率,低分辨率的情况下才能够实时完成图像处理过程,在采集频率增加(大于50 Hz),或图像分辨率增大(大于1 024×768)时会开始出现严重的计算时延,造成计算任务不能顺利完成,如在120 Hz采集频率1 600×1 200分辨的时候只能完成目标数量的10%,将会导致视觉伺服任务的失败。这样的计算控制系统只能以低分辨率低频率的传感器作为系统图像采集单元,这显然不能满足视觉伺服对机器人高精度高速度的控制目标要求。
图5为选取表2中1组具有代表性数据,原始实验数据绘制的单位时间内图像处理数量变化折线图,横坐标为不同的相机采样频率,纵坐标为单位时间内系统可处理图像数量,图中例如“640×480”的表示为图像分辨率。从图中可以看出图像采集频率越高,图像分辨越大,单位时间系统能处理的图像数量越少,这直接限制了视觉伺服系统的性能,可得到与表中相同的结论。
图5 对比算法单位时间内图像处理数量变化图
本文利用基于雾计算的实时自适应控制系统再次对视觉伺服系统进行测试,单位时间内系统能够处理的不同频率和不同分辨率下的图像数量如下表所示,从表3中可以看出该自适应控制系统能够实时的调整系统计算资源,提高系统对高分辨率高采集频率图像传感单元的处理能力,根据前言部分的介绍,该方法能够提高视觉伺服系统的实时性和精度,验证了本文观点。
表3 本文方法单位时间内图像处理结果
图6为根据表3中1组具有代表性的原始数据绘制的单位时间内图像处理数量变化折线图,从图6种可以看出,在本文提出的基于雾计算的自适应图像处理算法的帮助下,视觉伺服系统能够较大的幅度的提高单位时间内对高分辨率和高频率图像的处理能力,即对视觉伺服系统的控制精度和实时性都有明显的促进作用,验证了摘要中本文的观点。
图6 本文算法单位时间内图像处理数量变化
4 结束语
在机器人本身的控制性能趋于成熟的情况下,对以视觉信号为控制指令的视觉伺服系统一个研究关键任务即实时目标图像的提取。高速高清的图像信息给能给机器人系统带来丰富的环境信息,有利于人、机、环境的三方交互,是未来发展的一个重要方向;而一个包含有丰富目标信息的图像,同时也包含了丰富的与目标无关的信息,为提高控制的实时性,有必要最大程度提高单位时间内图像的刷新频率,这些因素直接关系着机械臂末端控制的精度和实时性,因此在不考虑图像本身预处理算法的情况下首先需要解决的问题即系统大量计算任务的负载问题。本文根据分布式雾计算实时计算的能力优势,并结合机器人视觉伺服系统的特点设计了基于雾计算的视觉伺服图像实时自适应处理系统,使机器人视觉伺服系统不仅对普通信号源的图像信息能够快速处理,同时对高频率高清度的视频流能够根据目标需要进行资源分配,在一定程度上实现了机器人高速高精的视觉控制目标。
传统的视觉伺服系统一般只配备一台上位机作为图像处理单元,随着高清高速视频流对图像处理单元计算负载要求的提升,这以思路从本质上限制了机器人的控制效果。另外,根据作者长期对机器人视觉伺服系统的研究发现,越来越多的研究者将云计算、雾计算以及边缘计算等方法于传统的机器人控制结合,从图像处理本身之外寻找更有效的方法提高机器人视觉系统性能指标的同时,实现有限计算资源的合理分配,这将是会机器人视觉伺服系统未来发展的趋势。