基于云计算的多机器人目标智能跟随控制研究

2021-12-10 09:05惠向晖顿文涛魏秀然
计算机仿真 2021年11期
关键词:云端节点距离

惠向晖,顿文涛,魏秀然

(河南农业大学信息与管理科学学院,河南 郑州 450002)

1 引言

随着信息技术的长足进步,目标智能跟踪广泛应用在军事、医学、监控、交通等方面[1-3]。由于良好的目标跟踪技术对机器人在运行过程中及时躲避障碍物和自主导航具有非常重要的意义。因此,为了有效地协调通信、对目标作出及时响应,机器人的目标智能跟踪技术成为当代研究的热点问题。

一些学者针对机器人的目标跟踪提出了新的方法,文献[4]采用激光传感器完成目标的实时跟踪,通过地形“峰—谷”计算方法,建立机器人的避障规则,结果表明该方法在跟踪过程中,机器人可以与被跟踪的目标保持一定的跟随距离,但该方法的应用范围较狭窄,对于近距离的跟踪不适用。文献[5]通过雷达与位置的数据信息,确定不同智能家居的目标跟踪方法,实现机器人的避障功能,结果表明该方法具有较强的泛化能力,但对于实际存在障碍物的情况,该方法的跟踪能力有待提升。文献[6]根据3D跟踪目标的定位结果,通过多行人跟踪器估计的跟踪目标运动状态形成动态跟踪目标的代价地图,并生成机器人可以避障和跟随全局路径系统,结果表明该方法在密集人群环境中的有效性与安全性有待提高。

随着跟踪目标的复杂程度提高,很多场合下单个机器人的目标跟踪已经不能满足应用需求,需要多个机器人相互协调工作,并对目标进行跟随。由于多机器人智能跟踪需要对多维信息加以考虑,是一个反复计算的过程,与此同时多机器人智能跟踪所获得的目标特征不能被其机器人识别,因为本文提出基于云计算的多机器人目标智能跟踪方法,从机器人对目标的检测与持续跟踪两方面进行研究与分析,同时通过云操作系统对多个机器人与目标间的距离,在满足最优条件下为机器人分配跟踪任务。

2 目标智能跟随控制

由于现实环境的复杂性与可变性,机器人对目标进行智能跟踪非常困难。并且由于跟踪目标随着时间的变化,其空间位置具有不确定性,导致机器人对目标的持续跟随难上加难。因此本文从机器人对目标的跟踪算法与目标状态预估两方面进行研究。

2.1 目标跟踪算法

首先通过人机载距传感器对多机器人进行全局地图下的定位,并对需要跟踪的目标位置进行定位。以各个机器人的中心位置为原点,建立二维坐标系的局部地图。根据传感器测得的障碍物距离,将障碍物的坐标转换到局部地图中,并将机器人与目标位置连线的方向作为机器人预跟随的方向。机器人的实际运动方向角公式可表示为

φmov=φpre+φhid

(1)

其中,φpre表示机器人的预运动方向角;φhid表示机器人的避障方向角。在预运动方向角中分别引入变量安全缝偏角和对分角,公式表示为

(2)

(3)

其中,Athe[0,1][·]表示饱和函数,对于任意的m

(4)

在预运动方向角的基础上,机器人躲避第i个障碍物的偏转角度可表示为

θdef_i=athe_i·bmapd(φi,φpre)

(5)

其中,bmap(·)表示角度映射函数;φi表示激光器获取的角度。机器人在跟随过程中控制量可由平移速度和旋转角度表示,公式为:

(6)

其中,υlim表示机器人跟随过程中平移速度的约束值;drob_peo表示机器人与障碍物的距离;Drob_peo表示机器人与障碍物的期望保持距离;ωmax表示机器人跟随过程中最大的旋转角速度。

2.2 目标状态预估

(7)

(8)

其中,nx表示目标状态Xtar_k-1的维度;δ表示散布调节点的尺寸参数。均值和协方差通过预测点表示为

(9)

其中,H表示噪音协方差矩阵。为了实现多机器人对目标进行智能跟踪,通过感知模块测得的数据对预测状态进行修正。在tk时刻,观测模型可表示为

(10)

根据tk时刻的观测模型可以得到预测值,公式表示为

Star_k,j=g(ζk,j,0)

(11)

进而可以计算出目标的预测值与环境噪声的协方差矩阵,公式表示为

(12)

为了使数据成为最新状态,需要对多个测量数据与跟踪轨迹数据进行关联,本文采用近邻联合概率的关联方法[7]对数据进行关联。假设tk时刻有M个机器人对目标进行跟踪,测量数据用star_k,j(j∈[1,M])表示,且共存在N个跟踪轨迹,那么测量数据star_k,j的跟踪轨迹近似概率可表示为

(13)

3 基于云计算的平台设计

在多机器人对目标进行跟踪过程中,有时机器人的工作环境没有固定的中心点,需要各个机器人相互协作、自组织的完成跟踪任务,本文采用云计算的方式,协调各个机器人所执行的任务。

3.1 云服务平台架构

机器人云服务系统主要分为三个层次,分别为:基础层、平台层和服务层。基础层是包含服务器、存储和网络资源的物理硬件层,其作用是完成资源的分配和平台的扩展。平台层是指为程序提供开发和运行的环境层,其目的是促进用户进行应用开发和程序部署。服务层是指通过提供软件的方式为用户提供服务的层次,其主要作用是对资源进行封装和部署,把抽象环境和现实世界连接到一起,提供不同层次的机器人云服务。用户可通过VNC登录到云平台,将各个机器人的IP地址和云平台的IP地址互相添加到对方的平台上,并确保它们之间可以Ping成功,当机器人与云平台建立好通信后,便可以调用算法对多机器人进行操作。

机器人云操作系统采用跨机器人通信的方式,通信消息由标准的基元数据和数组组成,采用自定义语言描述各个模块间的消息。机器人云服务平台可为机器人的工作环境提供通用服务以及专用服务,机器人与云服务平台间的集成模型如图1所示。

图1 数据集成模型

3.2 基础层与微服务的设计

云计算以虚拟化技术为核心内容,通过虚拟化技术可以创建出硬件平台的抽象虚拟化模型,从而可以提高计算效率。为了满足多机器人协作工作,需要对基础层进行特殊设计,以达到支持机器人向云平台托管的大量计算任务。根据多机器人的跟踪需求,所设计的云平台不仅可以提供额外的服务,还可以对数据进行保留以满足归档要求,本文采用松散耦合架构设计对云服务平台的基础层进行设计,并选用相应的组件为上层应用提供服务。

微服务体系结构把机器人的应用程序拆分成多个小型服务,每个小服务都可以独立部署和运行,这样使系统的开发、测试更加便捷。本文采用分离服务组件与基础结构的微服务体系来降低云服务系统的复杂性,使每个独立的小服务开发起来更加方便。微服务采用容器批量部署的方式,将各个小服务的代码与环境进行隔离,避免它们之间产生冲突,从而创建更加敏捷的开发流程。由于Docker可独立运行在虚拟环境中,不需要用户深入理解底层技术的特点,因此本文采用Docker对维服务器进行构建。

3.3 系统实现

系统各组件采用分布式部署在服务器集群里,并结合网络环境与硬件资源部署一个云,然后实现机器人云平台的虚拟化。分别在3台机架式服务器配置三个节点:控制节点、计算节点和存储节点,通过核心交换机提供网络。各节点的网络规划如图2所示。

图2 节点网络规划

控制节点可管理机器人的整个云平台,包含网络、调度和验证等功能。计算节点可管理机器人云平台的主机,起到提供计算资源的作用。存储节点为云平台提供机器人信息的存储服务。交换机为整个云平台提供网络,并配置网段192.168.100.0/24为外部网络通道,网段10.1.12.0/24为管理网络。

4 实验与结果分析

4.1 实验环境搭建

为了验证基于云计算的多机器人目标跟随方法的可行性,需要搭建机器人云平台系统。登陆云主机,安装并运行hector算法,启动Rviz界面与机器人。通过云端控制各个机器人的人机载距传感器对周围环境进行深度信息图形的构建,并将数据保存到云端,利用地图上的方向分别为各个机器人进行初始位置的定位。最后启动导航,机器人会不断的发送目标位置,并将数据上传到云端,在云端完成复杂环境的建模、规划与导航工作后,云主机会确定各个机器人与目标的位置,自动规划机器人的路线,完成对目标的智能跟踪。

4.2 实验结果分析

本实验选择6台机器人(编号分别为R1-R6)对环境内的人进行目标追踪。机器人通过移动对目标进行跟随并将传感器采集的信息上传到云端,云端将各个机器人采集的数据进行存储,实验的云端数据库如表1所示。

表1 云端数据库

云端根据每台机器人位置与目标的距离进行综合计算,使各台机器人协作方式达到最优,然后输出任务分配给每台机器人。任务分配结果如图3所示。

图3 任务分配结果

以机器人R1和R2为例,对其目标跟踪过程进行描述。根据机器人R1和R2所处的初始位置,R1和R2会分别独自跟随离自己距离近的目标。随着男1与女1在运动过程中的先靠近后远离,机器人R1和R2会根据云端对任务的重新分配结果,交换跟踪目标。机器人R1在后续跟踪女1的过程中直接调用机器人R2的跟踪引擎,同理,机器人R2在后续跟踪目男1的过程中直接调用机器人R1的跟踪引擎。机器人R1和R2的跟踪效果如图5所示。

从图4可以看出,当男1和女1同时出现在机器人R1和R2的有效跟随范围内,两台机器人可以准确的对移动目标进行区分,在基于云平台的计算、规划后,可以动态的为各个机器人分配恰当的跟踪任务。因此基于云计算的多机器人目标智能跟随系统具有实用性,可以满足实时性的跟踪需求。

图4 跟踪效果图

为了验证本文方法对目标跟踪的有效性,仿真得到跟随过程中,机器人与目标间的距离以及机器人之间的距离,结果分别如图5和图6所示。从图中可以看出,机器人在对目标进行跟随时,各个机器人均可以与跟踪目标保持6m左右的距离,跟随状态稳定,即使跟踪距离有变化,机器人也可以在很短的时间内做出调整。除此之外,机器人为了对环境空间进行广泛的应用,各个机器人可保持7m左右的距离,也同样保持良好的稳定性,从而有效地完成协作跟随。

图5 机器人与目标距离

图6 邻近机器人间距离

5 结束语

针对多机器人目标跟随问题,本文提出一种基于云计算的目标智能跟随系统,并对云平台进行部署和开发。实验结果表明,通过云平台的计算与规划可以完成多个机器人对目标的跟随任务,在机器人跟踪目标过程中,随着目标与机器人距离的不断改变,云平台会根据计算、规划结果为机器人重新分配任务,机器人可以在很短的时间内做出调整。本文方法不仅可以通过云平台加强机器人的协作能力,还可以减少机器人在跟踪目标过程中的重复学习。

猜你喜欢
云端节点距离
基于RSSI测距的最大似然估计的节点定位算法
四海心连·云端汇聚
分区域的树型多链的无线传感器网络路由算法
一种基于能量和区域密度的LEACH算法的改进
在云端永生
基于点权的混合K-shell关键节点识别方法
距离美
在云端
爱的距离
《云端三公尺》:下一个天亮,谁在等你