秦 博
(中国电子科技集团公司第二十研究所,西安 710068)
近年来随着机器人技术的不断发展,机器人目前能够从事的工作非常广泛,从防爆、救灾、航空、航天到工业生产、物流配送、家庭服务等,机器人正不断地改变着人们的生产生活方式。随着人力成本逐年上涨和全球化市场竞争越来越激烈,机器人替代人工作已成为很多大型企业迫切的需求。由于单个机器人自身性能的局限,很多情况下无法独立完成工作,必须依靠多个机器人协同工作才能顺利完成,如团队竞技比赛、汽车自动化生产、要地安全防护等。多机器人协同工作需要彼此之间不断地进行信息交互,如何有效解决多机器人同时通信产生的碰撞问题和制定通用的多机器人协同通信协议非常困难[1]。
本文针对上述问题,研究了改进型的指数递增指数递减随机退避算法(Improved Exponential Increasing Exponential Decreasing,IEIED)和基于5G 通信的云平台信息交换技术,有效解决多机器人协同通信问题。
无线局域网通信中采用的IEEE802.11n 协议中设计了二进制指数随机退避算法(Binary Exponential Back-off Algorithm,BEB)来降低数据传输过程中的碰撞概率。但该算法在通信节点数目较多时易产生不公平性问题,导致网络的吞吐量、传输时延和数据丢包率受到较大影响。
为解决BEB 算法存在的不公平性问题,在BEB算法的基础上提出了指数递增指数递减算法(Exponential Increasing Exponential Decreasing,EIED)[2-3],其具体表达式为:
EIED 算法引入两个退避参数,用于数据发送成功或发送失败上。机器人节点发送数据成功时,竞争窗口以后退参数rs成倍地减小,即:
rs后退参数根据网络负载量进行合理的选取。当机器人节点发送数据失败后,竞争窗口的大小以后退参数rc成倍地增加,即:
而不像BEB 算法发送失败后以2 来倍乘。rc这个后退参数通过网络负载量进行选取,当机器人节点数较多即网络负载较重时,可将参数设为大于2;如果机器人节点数较少即网络负载较轻时,可将参数设为小于2。一般情况下,rs选取为21/β,β表示最大重传次数,而不是BEB 算法里统一将CW值重置为最小竞争窗口,这在重负载网络中极易引起下一轮冲突。
在传统EIED 算法里,若源机器人与其他机器人产生数据冲突时,退避竞争窗口更新为原来的rc倍;机器人数据发送成功以后,退避竞争窗口更新为原来的rs分之一倍。这样数据在发送成功以后的退避竞争窗口往往比节点产生冲突以后的退避竞争窗口小很多,就使得数据发送成功后的节点在下一轮信道竞争的时候更具有优势,经过多轮的信道竞争,容易造成“弱者更弱,强者更强”的情况。本文为了改善这种情况,研究了一种IEIED 算法,增大最小竞争窗口和减小最大竞争窗口,使得发送数据成功的机器人退避竞争窗口最小重置为αCWmin,同理发生冲突的机器人竞争窗口最大重置为γCWmax,α、γ参数的选取依据网络的负载量,若网络负载量较小,可将参数α设为大于1,γ参数设为小于1,这样减小了[CWmin,CWmax]的范围,在一定程度上解决了“弱者更弱,强者更强”的情况。由于rc和rs都是可变参数,若两者取值选择合理,那么退避竞争窗口CW 的更新就不会大幅度增加或者大幅度骤减,在信道的竞争中,可以使得大多数的机器人接入信道的机会一样,从而可以快速实现多个机器人的相互通信。IEIED 算法的流程图如图1 所示。
随着5G 技术、云计算、大数据、物联网和各种智能体的蓬勃发展,也涌现出了一种全新的通信方式——云通信。云通信融合了云计算、大数据、物联网等多种技术,形成了以商业模式为主的多设备通信模式[4],多设备的数据处理、数据共享、数据融合等都集中在云端,各种应用模块互联互通,用户只需搭建好硬件设备,将其接入到云通信平台,通过平台的多种接入协议及数据传输协议就可以实现多种不同设备的协同通信。随着通信技术研究的不断深入与改善,将云通信与协同通信相结合,构建基于云通信的协同通信系统,可以提高整个通信系统的可靠性。
选择中国移动的One NET 作为课题研究平台,该平台为开发者和企业提供服务,同时也为终端行业提供PaaS 层和定制化开发服务,解决了协议适配、海量设备的连接、管理、数据存储(上报—转发—分析)、规则引擎、事件告警、应用孵化等物联网应用开发的共性问题,同时具有分布式的结构和多重数据保障机制。One NET 云平台是一个开放的云服务平台,聚焦了各大行业的需求,在共享经济、工业控制、智慧能源、车联网、物流运输以及智能机器人等领域都提供了可靠的、完整的解决方案。该云平台的架构图如图2 所示。
One NET 支持多种主流协议的连接,其中包括LWM2M(NB-IoT)、MQTT、HTTP、EDP、TCP、RGMP、MODBUS、JT/808 等多种公开协议,多机器人接入到云平台可以有很多种通信接入方式,常用的有GPRS、WIFI、NB-IoT 和以太网口,可以实现在各种网络下云平台与多机器人的连接。多机器人通过5G 通讯技术连接到云平台,实现多个机器人在云端的协同通信。多机器人协同通信系统的云平台软件体系分为两部分:云端多机器人协同通信控制平台和单个机器人控制平台。其中机器人端主要实现一些可以简单完成的任务,实现对单个机器人的云端监控;而云端多机器人协同通信控制平台主要负责实现多个机器人的相互通信,并对其进行云端监控。在云端能够观察到每个机器人的速度、角速度、电量、位置等相关的信息。此外,云端可以通过发布命令控制关联的机器人,对其进行行为干预,同时云端也负责定时地将各机器人的位置信息进行广播。在执行复杂和需要多机器人协同完成任务时,云端会对每个机器人的规划结果进行协调共同完成任务。
云端多机器人协同通信控制平台的功能模块可以分为机器人控制平台、信息界面和网络传输三部分。机器人控制平台连接了机器人的传感器模块和电机模块,采集机器人的状态信息,可以对群体机器人和单个机器人进行操控,包括左转、右转、原地旋转、前进、后退等一些基本行为;信息界面主要是通过云端的数据接口,展示了各个机器人以及机器人群的状态和工作日志;网络传输模块实现了数据的整合与传输,通过获得每个机器人的状态信息,经过云端整合,实现多机器人的远程调控,网络传输模块为多机器人的协同通信和监控提供了支持。云端多机器人协同通信控制平台的软件功能结构如图3 所示。
随着多机器人技术研究的不断深入,如何实现多个机器人之间可靠、高效的通信日益成为制约多机器人技术发展的瓶颈。本文着重研究了通过5G背景下的云平台来实现多个机器人之间的协同通信技术,提出的IEIED 算法,能够有效降低多机器人通信的信道碰撞概率,提高信道接入的公平性、提高网络吞吐量、减小数据传输的时延;利用基于5G 的云通信技术,可以大幅简化用户终端的设计,只需使用通信模块将机器人接入云平台即可实现各种机器人之间的互联互通。上述技术在军事和民用领域都有着较好的应用前景。