一种基于深度学习的多机器人协同路径跟随方法与流程

文档序号:16261415发布日期:2018-12-14 21:34阅读:360来源:国知局
一种基于深度学习的多机器人协同路径跟随方法与流程

本发明涉及计算机领域图像处理技术和机器人分布技术,具体涉及一种利用云计算作为后援支持,通过混合多机器人的视角,实现基于视觉的多机器人协同路径跟随的方法。

背景技术

基于视觉的机器人路径跟随问题是指让机器人只接受视觉图像输入,自动跟随人造小路的延伸方向前进。现有的基于视觉的机器人路径跟随方法主要有两种:第一种是用图像分割技术,第二种是将路径识别问题转化为图像分类问题,然后用深度学习的方法去解决。图像分割技术旨在用图像显著性去分割路径和背景。图像显著性指的是,在输入的视觉图像中,路径部分的特征相比于背景部分会着重突出。路径部分的特征指的是颜色或者密集性与左右相邻区域的对比。基于图像分割技术的方法是比较有挑战的,因为需要首先找到合适的特征然后再通过一系列的操作处理(如对称,三角变换等等)来突出以便更好地区分。基于深度学习的机器人路径跟随方法首先将路径跟随问题转化为图像分类问题,根据图像中道路的延伸方向定义沿路行进需采取的决策方向,然后通过有监督的方法来训练分类器,从而达到路径跟随的目的。这种方法不需要人为提取特征,而是由分类器自动提取,识别精度也大大超过了基于图像分割的方法。基于深度学习的机器人路径跟随方法目前仅仅应用在了单机器人系统上,单机器人系统的视角较为单薄,无法处理机器人偏离正常轨道导致的视野中没有路的情况。因此,单机器人的路径跟随问题在视角受限的情况下面临着严峻挑战。

多机器人路径跟随是指综合利用多机器人来自不同角度的视觉信息,弥补单机器人系统的视角局限性,提升系统整体的道路延伸方向识别精度,但是构建多机器人路径跟随系统面临着两个重大问题:(1)对融合方法的要求较高,需要把多机器人视角中的有用信息合理提取出来并融合到一起;(2)时间延迟较大,因为数据融合的过程涉及到数据的采集,传输和处理,每一个环节都有相应的时间延迟。这对于机器人路径跟随任务会造成负面影响,因为服务质量保证(qos)对于机器人来说是至关重要的,一个小小的消息延迟都可能导致毁灭性的灾难发生。

云机器人利用云计算和大数据等后台基础设施,提升机器人在复杂环境下遂行任务的能力;深度学习的方法在提取数据特征,融合数据方面表现了突出优势,因此这两者的结合给多机器人协同路径跟随任务带来新的解决思路:(1)利用深度学习方法和云端强大的计算资源进行数据融合的过程,实现数据的有效提取,融合和本地的资源卸载。(2)利用云端汇聚得到的丰富视角,扩展机器人本地知识的局限性,使机器人基于云端智慧实现知识扩展,对多机器人系统面临的环境具有较好的识别能力,方便整个系统进行最优决策。

综上所述,虽然基于单机器人的路径识别跟随方法需要的资源较少,在请求响应时间上表现较好,但是存在知识局限性,无法识别视角受限时的场景图片。而基于多机器人的路径跟随方法,利用多机器人不同角度的视角对环境中的道路延伸方向识别具有更广泛的智能,可以提升整体的识别精度,但识别延迟大,请求响应时间长。基于以上分析可以发现,如何更好地融合来自不同角度的有用视觉信息,并且尽可能缩短识别延迟时间,是完成多机器人路径跟随任务需要解决的技术问题。



技术实现要素:

本发明要解决的技术问题是提供一种基于深度学习的多机器人协同路径跟随方法,该方法只使用视觉图像作为输入并将路径跟随问题转化为图像分类问题,通过混合来自多机器人不同视角的图像,使得机器人群体可以更精确地识别路径并协同跟随,在提高路径识别的准确率和缩短延迟时间之间达到一个恰当的平衡。

本发明的技术方案是:搭建由空中和地面机器人节点以及云端服务器节点构成的环境,云端服务器节点基于wifi(wirelessfidelity,无线网)获得地面机器人拍摄的环境图片。然后云端服务器节点基于环境图片使用地面基于resnet(residualnetwork)的图像分类模块进行路径延伸方向识别分类,对于无法识别或可能识别错误的情况,协同识别决策模块将请求空中机器人节点传回高层视图并通过决策融合模块进行处理得到最终决策。最后速度转换模块将得到的最终决策转化成相应的速度向量并发送给空中和地面机器人节点的速度命令接收模块使得机器人群体协同驱动。

本发明包括以下步骤:

第一步,构建多机器人环境,它由地面机器人节点、空中机器人节点和云端服务器节点构成。地面机器人节点和空中机器人节点是可以运行软件程序的机器人硬件设备(如无人车、人形机器人、无人机等)。云端服务器节点是具有良好计算能力的资源可控的计算设备,可以运行计算密集型或者知识密集型的机器人应用。地面机器人节点、空中机器人节点和云端服务器节点通过网络设备互连。

地面机器人节点和空中机器人节点上除了装有操作系统ubuntu(例如16.04版本)外,还装有感知数据采集模块和速度命令接收模块。

感知数据采集模块采集地面或空中机器人拍摄的彩色环境图片(为了区分,一般将地面机器人拍摄的彩色环境图片称为低层视图,空中机器人拍摄的彩色环境图片称为高层视图),加“地”或“空”标志后,通过wifi将视图和标志发送给云端服务器节点。

速度命令接收模块从云端服务器节点接收速度向量,进而驱动地面或空中机器人运动。

虽然地面机器人节点和空中机器人节点上安装的感知数据采集模块功能相同,为了描述方便,将地面机器人节点上的感知数据采集模块称为第二感知数据采集模块,将空中机器人节点上的感知数据采集模块称为第一感知数据采集模块;同理,将地面机器人节点上的速度命令接收模块称为第二速度命令接收模块,将空中机器人节点上的速度命令接收模块称为第一速度命令接收模块。

云端服务器节点除了装有操作系统ubuntu(例如16.04版本)、深度学习框架caffe(例如nvidia版本)外,还装有感知数据接收模块、地面基于resnet图像分类模块、空中基于resnet图像分类模块、协同识别决策模块,决策融合模块和速度转换模块。

感知数据接收模块通过wifi接收来自地面机器人节点的低层视图或空中机器人节点的高层视图,以及“地”或“空”标志,将有“地”标志的低层视图发送给地面基于resnet图像分类模块,将有“空”标志的高层视图发送给空中基于resnet图像分类模块。

地面基于resnet图像分类模块和空中基于resnet图像分类模块都是基于resnet模型对图像进行分类,得到彩色环境图片中道路延伸方向对应的分类标签和分类标签概率向量以及识别自信度。

resnet模型是2015年由kaiminghe,xiangyuzhang,shaoqingren,jiansun等人用卷积神经网络(cnn)实现的图像识别引擎(hek,zhangx,rens,etal.deepresiduallearningforimagerecognition(针对图像识别的深度残差网络学习)[c]//ieeeconferenceoncomputervisionandpatternrecognition.ieeecomputersociety,2016:770-778.)。利用卷积神经网络使用训练样本集图片对resnet模型进行有监督的训练,即对训练样本集图片进行特征提取,用已知分类标签的样本不断调整resnet模型的参数,得到不同的分类器,使得经过分类器分类后输出的图像识别标签尽可能多地是训练样本真实的分类标签,即调整分类器参数使得分类效果尽可能好。resnet模型训练完成之后,对道路图片进行识别分类,得到道路延伸方向对应的分类标签、分类概率向量以及识别自信度。

dl-cooper数据集是训练样本集图片(由用户自行采集),用于训练地面基于resnet图像分类模块中的resnet模型、空中基于resnet图像分类模块中的resnet模型和决策融合模块中的resnet模型;dl-cooper数据集包括从空中俯瞰的高层视图和从地面视角的低层视图,按照高层视图和底层视图成对进行采集;其中用于训练的数据集有12320对,用于测试的数据集有4855对;低层视图数据集中,朝左行进,朝右行进,向前行进和停止运动这四种分类标签对应的图片均匀分布;针对低层视图数据集“停止运动”类别标签的数据,低层视图数据集“停止运动”类别标签数据对应的高层视图“向左转/向右转”是平均分布,高层视图数据集中,朝左行进、朝右行进和向前行进这三种分类标签也是均匀分布。

空中基于resnet图像分类模块使用dl-cooper数据集中高层视图数据集训练resnet模型得到空中图像分类器。地面基于resnet图像分类模块使用dl-cooper数据集中低层视图数据集训练resnet模型得到地面图像分类器。决策融合模块使用dl-cooper数据集中成对的低层和高层视图数据集训练resnet模型得到融合图像分类器,并使用其输出的融合分类标签概率向量和分类标签训练softmax分类器(softmax分类器用于解决多分类问题,它是logistic回归模型(d.r.cox,”theregressionanalysisofbinarysequences”journaloftheroyalstatisticalsociety,vol.20,no.2,1958,pp215-242即1958年第二期“皇家统计学会杂志”的《基于二进制序列的回归分析》)在多分类问题上的推广,可以预测输入属于任意类别的概率,且输出的概率向量所有元素的和为1)。

道路延伸方向对应的分类标签包括:向左转(tl即turnleft),向右转(tr即turnright),朝左行进(ml,即moveleft),朝右行进(mr即moveright),向前行进(gs即gostraight)和停止运动(st即stop)。其中朝左行进、朝右行进和向前行进等三个标签是针对空中机器人的训练标签,朝左行进,朝右行进,向前行进和停止运动等四个标签是针对地面机器人的训练标签。“停止运动”标签是指地面机器人视角内没有路的时候,不知道此时该如何决策。向左转、向右转是当地面机器人决策为“停止运动”时,决策融合模块给予的调整决策,即只转角度而不前进(线速度为0,角速度不为0),使得地面机器人视野内可以重新看到路。朝左行进是朝着左方向前进一段距离(角速度为0,线速度不为0),朝右行进是朝着右方向前进一段距离(角速度为0,线速度不为0)。

分类标签概率向量包含每个分类标签对应的概率:p(tl),p(tr),p(ml),p(mr),p(gs),p(st)。分类标签概率向量由分类器输出。其中p(tl)表示“向左转”分类标签对应的概率,p(tr)表示“向右转”分类标签对应的概率,p(ml)表示“朝左行进”分类标签对应的概率,p(mr)表示“向右行进”分类标签对应的概率,p(gs)表示“向前行进”分类标签对应的概率,p(st)表示“停止运动”分类标签对应的概率。地面基于resnet图像分类模块的地面图像分类器输出地面分类标签概率向量,地面分类标签概率向量是四元组(p(ml),p(mr),p(gs),p(st))。空中基于resnet图像分类模块的空中图像分类器输出空中分类标签概率向量,空中分类标签概率向量是三元组(p(gs),p(ml),p(mr))。决策融合模块的softmax分类器输出融合分类标签概率向量即二元组(p(tl),p(tr))或者三元组(p(gs),p(ml),p(mr))。

识别自信度表征resnet模型识别结果的可靠性大小。识别自信度得分在0和1之间,得分越大表示识别结果的可靠性越大,其值是分类标签概率向量中的最大值。例如地面分类标签概率向量是四元组,其值为[0.45(gs),0.41(ml),0.11(mr),0.03(st)],其识别自信度得分是四元组中最大值,即0.45。

协同识别决策模块从地面基于resnet图像分类模块接收分类标签(可以是朝左行进,朝右行进,向前行进和停止运动四种分类标签)、地面分类标签概率向量和识别自信度,通过分类标签和识别自信度阈值判断识别结果是否正确,对是否需要采取决策融合操作进行判断。识别自信度阈值由用户设置,是使用dl-cooper数据集进行实验而选择的最优值:识别自信度阈值的可选择范围为0~1,在选择阈值时设置实验步长为0.05,即从[0,0.05,0.1,……1]中选择识别自信度阈值的最优设置值。实验发现,当识别自信度阈值设置为0.90时,协同识别决策模块在识别准确率的提升和时间延迟的平衡上效果最优,因此建议识别自信度阈值设置为0.90。

若从地面基于resnet图像分类模块接收的分类标签是“朝左行进”、“朝右行进”或“向前行进”且识别自信度大于等于自信度阈值,协同识别决策模块认为地面机器人识别结果正确,将信号标志设置为“1”(行驶),然后将信号标志和地面分类标签概率向量发送至速度转换模块。

若从地面基于resnet图像分类模块接收的分类标签是下述两种情况,则说明识别结果错误或无法进行分类,协同识别决策模块将低层视图的分类标签和地面分类标签概率向量发送给决策融合模块。并从决策融合模块接收到融合分类标签概率向量和信号标志,将融合的分类标签概率向量和信号标志发送给速度转换模块。

两种情况包括:1)若地面机器人的识别结果为“停止运动”,则说明地面机器人视角受限(视野中没有路径),无法进行分类完成识别决策工作;2)若识别结果不是“停止运动”但是得分小于自信度阈值,则认为地面基于resnet的分类模块对道路延伸方向的识别结果自信度不高,即地面基于resnet分类模块识别结果错误。

决策融合模块从协同识别决策模块接收低层视图的分类标签和地面分类标签概率向量,从空中基于resnet的图像分类模块接收高层视图的空中分类标签概率向量,并根据地面机器人识别结果错误或无法进行分类两种情况进行决策融合工作,将决策融合后的融合分类标签概率向量和信号标志发送给协同识别决策模块。

信号标志是从分类标签概率向量到速度向量转换的转换依据。它有两种取值:0或1。如果决策融合模块从协同识别决策模块接收到的分类标签是“停止运动”,则信号标志为0,代表此时决策融合模块给出的融合分类标签概率向量是二元组(p(tl),p(tr)),即此时机器人群体应该采取的是“调整”指令;如果决策融合模块从协同识别决策模块接收到的分类标签不是“停止运动”,则信号标志为1,代表此时决策融合模块给出的融合分类标签概率向量是三元组(p(gs),p(ml),p(mr)),即此时机器人群体应该采取的是“行驶”指令。

决策融合模块的融合工作包括:1)若地面机器人视角受限,无法完成识别决策,决策融合模块请求空中机器人的感知数据采集模块发送高层视图,空中机器人的感知数据采集模块将高层视图加“空”标志后发送给感知数据接收模块,感知数据接收模块将高层视图再发送给空中基于resnet的图像分类模块。空中基于resnet的图像分类模块使用空中图像分类器对图像进行分类,将空中分类标签概率向量发送给决策融合模块。决策融合模块进行识别决策并得到“调整”分类标签向量;2)若地面机器人识别结果错误,则决策融合模块把从高层视图和低层视图得到的空中分类标签概率向量和地面分类标签概率向量进行拼接并输入softmax分类器以得到融合分类标签概率向量。

速度转换模块从协同识别决策模块接收地面(或融合)分类标签概率向量和信号标志,将其转换为速度向量后发送给地面机器人节点的第二速度命令接收模块和空中机器人节点的第一速度命令接收模块以使得机器人群体保持协同运动。速度向量包含线速度v和角速度w。

第二步,云端服务器节点、地面机器人节点、空中机器人节点通过wifi建立连接信道以传播图片信息和速度命令信息;地面机器人节点和空中机器人节点感知环境,并通过连接信道将视图发送给云端服务器节点的感知数据接收模块。

2.1云端服务器节点通过wifi与地面机器人节点和空中机器人节点建立连接信道,云端服务器节点的感知数据接收模块和地面机器人节点的第二感知数据采集模块相连,云端服务器节点的感知数据接收模块和空中机器人节点的第一感知数据采集模块相连。云端服务器节点的速度转换模块和地面机器人节点的第二速度命令接收模块相连,云端服务器节点的速度转换模块和空中机器人节点的第一速度命令接收模块相连。

2.2地面基于resnet的图片分类模块和空中基于resnet的图片分类模块使用地面和空中dl-cooper数据集分别对两个resnet模型进行训练,得到两个训练好的地面图像分类器和空中图像分类器,训练方法使用有监督训练方法。

2.3云端服务器节点的协同识别决策模块从键盘接收识别自信度阈值。

2.4地面机器人节点第二速度命令接收模块和空中机器人节点的第一速度命令接收模块并行工作:

地面机器人节点第二速度命令接收模块判断是否通过wifi接收到用户的停止命令,同时空中机器人节点的第一速度命令接收模块判断是否通过wifi接收到用户的停止命令,如果第二速度命令接收模块没有接收到停止命令,转2.5,如果第一速度命令接收模块没有接收到停止命令,转2.6;否则执行停止操作,将线速度v和角速度w都设置为0,转第八步。

2.5地面机器人节点的第二感知数据采集模块通过地面机器人节点的视觉传感器采集数据,视觉传感器数据为rgb(redgreenblue)颜色值的彩色信息,表现为拍摄到的彩色环境图片(即低层视图)。地面机器人节点的第二感知数据采集模块通过连接信道将低层视图和“地”标志发送给云端服务器节点的感知数据接收模块。转第三步。

2.6空中机器人节点的第一感知数据采集模块判断是否从决策融合模块接收到图像请求,若接收到,通过视觉传感器采集数据,拍摄彩色环境图片(即高层视图)。第一感知数据采集模块通过连接信道将高层视图和“空”标志发送给云端服务器节点的感知数据接收模块。转第三步。若未接收到,转2.6。

第三步,云端服务器节点上的感知数据接收模块通过连接信道接收图片和标志。如果标志是“地”,那么图片是地面机器人当前拍摄的低层视图,将低层视图发送给地面基于resnet的图像分类模块,转第四步;如果标志是“空”,那么图片是空中机器人当前拍摄的高层视图,将高层视图发送给空中基于resnet的图像分类模块,转第五步。

第四步,地面基于resnet的图像分类模块进行图像识别分类,将初步识别结果发送给协同识别决策模块,方法是:

4.1地面基于resnet的图像分类模块从感知数据接收模块接收低层视图。

4.2地面基于resnet的图像分类模块使用resnet模型进行低层图片特征提取操作,从地面图像分类器获取初步识别结果即分类标签、地面分类标签概率向量(p(ml),p(mr),p(gs),p(st))和识别自信度,将初步识别结果发送给协同识别决策模块。转第六步。

第五步,空中基于resnet的图像分类模块进行图像识别分类,将初步识别结果发送给协同识别决策模块,方法是:

5.1空中基于resnet的识别决策模块从感知数据接收模块接收高层视图。

5.2空中基于resnet的识别决策模块使用resnet模型进行高层图片特征提取操作,从空中图像分类器获取高层视图的空中分类标签概率向量(p(gs),p(ml),p(mr)),然后将空中分类标签概率向量发送给决策融合模块。转6.3步。

第六步,协同识别决策模块根据初步识别结果判断图片识别是否正确。如果正确,协同识别决策模块将结果发送给速度转换模块,执行第七步;否则协同识别决策模块将地面分类标签概率向量和分类标签发送给决策融合模块,决策融合模块进行决策融合,得到融合分类标签概率向量和信号标志,并将融合分类标签概率和信号标志传给速度转换模块。方法是:

6.1协同识别决策模块从地面基于resnet的图像分类模块接收初步识别结果(即分类标签,地面分类标签概率向量和识别自信度)。对分类标签和识别自信度进行判断。具体步骤如下:

6.1.1若分类标签不是“停止运动”且识别自信度大于等于识别自信度阈值,则协同识别决策模块判定对该物体识别正确。将信号标志设置为“1”即“行驶”,对地面分类标签概率向量中的p(st)一项不予考虑,然后将信号标志和剩余的地面分类标签概率向量(p(ml),p(mr),p(gs))发送给速度转换模块。执行第七步。

6.1.2若分类标签为“停止运动”或识别自信度小于识别自信度阈值,则协同识别决策模块判定对该图片识别错误或无法识别,将低层视图的分类标签和地面分类标签概率向量(p(gs),p(ml),p(mr),p(st))发送给决策融合模块。

6.2决策融合模块接收低层视图的分类标签和地面分类标签概率向量,给空中机器人节点的第一感知数据采集模块发送图像请求,转2.6步。

6.3决策融合模块接收空中分类标签概率向量,根据之前地面基于resnet的图像分类模块发送来的分类标签判断是否需要使用softmax分类器进行最终分类操作,若分类标签是“停止运动”,则执行步骤6.3.1,否则执行6.3.2,具体步骤如下:

6.3.1决策融合模块对空中分类标签概率向量进行处理:1)由于此时地面机器人视角中没有道路,需要调整“调整”命令,因此对p(gs)一项不予考虑;2)令p(tl)=p(ml),p(tr)=p(mr),得到针对地面机器人的调整概率向量(p(tl),p(tr))。将信号标志设置为“0”(调整),然后将处理后得到的融合分类标签向量(p(tl),p(tr))和信号标志发送给协同识别决策模块,执行步骤6.4。

6.3.2决策融合模块对地面分类标签概率向量中的p(st)一项不予考虑,将剩余的6个概率按照地面概率向量加空中概率向量顺序拼接得到一个六元组(p(gs),p(ml),p(mr),p(gs),p(ml),p(mr))。决策融合模块使用softmax分类器对六元组进行分类,得到融合分类标签概率向量三元组(p(gs),p(ml),p(mr)),将信号标志设置为“1”(行驶),然后将融合分类标签概率向量和信号标志发送给协同识别决策模块。

6.4协同识别决策模块接收信号标志和融合分类标签概率向量,并将其发送给速度转换模块,执行第七步。

第七步,速度转换模块接收协同识别决策模块发送的信号标志和地面分类标签概率向量或融合分类标签概率向量,将分类标签概率向量转化为速度向量,并将速度向量发送给地面机器人和空中机器人的速度命令接收模块,使得地面机器人和空中机器人可以协同沿路前进;方法是:

7.1速度转换模块接收协同识别决策模块发送的信号标志和地面(或融合)分类标签概率向量,将地面(或融合)分类标签概率向量转化为速度向量(由线速度v和角速度w组成的二元组)。方法为:角速度正比于p(mr)-p(ml)或p(tr)-p(tl),线速度正比于p(gs)。(此方法引用自alessandrogiusti于2015年提出的“用机器学习的方法实现针对机器人的森林小路感知问题”(giustia,guzzij,dancc,etal.amachinelearningapproachtovisualperceptionofforesttrailsformobilerobots[j].ieeerobotics&automationletters,2017,1(2):661-667.))

若信号标志为调整:

否则:

7.2速度转换模块将速度向量通过连接信道发送给地面机器人的第二速度命令接收模块和空中机器人的第一速度命令接收模块。

7.3地面机器人的第二速度命令接收模块和空中机器人的第一速度命令接收模块从速度转换模块接收速度向量,按照速度向量驱动机器人群体协同运动。

执行步骤2.4。

第八步,结束。

采用本发明可以达到如下的有益效果:

利用多机器人架构进行环境中道路的识别,基于协同识别决策模块,识别自信度大于阈值时,地面机器人有能力辨别的场景可以直接进行识别,不需求助高层视图;对于地面机器人有可能识别错误的物体,筛选出来与空中机器人的高层视图进行决策融合,弥补单一视角受限的缺陷,扩展机器人群体的识别认知能力,提高了道路识别的准确率,使得在提高物体识别的准确率和缩短识别时间之间达到一个恰当的平衡。

附图说明

图1是本发明第一步构建的多机器人系统整体逻辑结构图。

图2是本发明第一步构建的多机器人系统的软件部署图。

图3是本发明整体流程图。

图4是本发明第三步、第四步、第五步和第六步中云端服务器节点处理图片分类的流程图。

图5是本发明第一步用于dl-cooper数据集标签定义的示意图。

具体实施方式

图1是本发明第一步构建的多机器人环境,它由地面机器人节点、空中机器人节点和云端服务器节点构成。地面/空中机器人节点是可以感知环境信息并且接收速度命令的机器人硬件设备(如无人车/无人机),云端服务器节点是具有良好计算能力的资源可控的计算设备,可以运行计算密集型或者知识密集型的机器人应用。

图2是本发明地面和空中机器人节点和云端服务器节点上的软件部署图。机器人计算节点是可以在环境中移动、能够接收速度命令的机器人硬件设备,其上带有摄像头传感器,云端服务器节点都装有操作系统ubuntu和caffe深度学习模型框架。除此之外,地面和空中机器人节点上还装有感知数据采集模块和速度命令接收模块。云端服务器节点上还装有感知数据接收模块、地面和空中基于resnet物体识别模块、协同识别决策模块、决策融合模块和速度转换模块。

以下以低/高空无人机parrotbebopdrone协同路径跟踪为例说明本发明的具体实施方式。该实例的parrotbebopdrone上配置有前置摄像头,可以实时拍摄环境图像。云端服务器节点部署在服务器上,由于地面机器人视角具有局限性,因此借助空中机器人的高层视角来提升机器人群体的路径识别能力,使得多机器人系统可以在扩增路径识别认知能力。

采用本发明的具体实施方式如图3所示如下:

第一步,构建多机器人环境,它由地面机器人节点(arduino4wd越野移动机器人),空中机器人节点(高空的parrotbebopdrone无人机)和云端服务器节点(服务器)组成,三者通过网络设备互连。parrotbebopdrone无人机装有操作系统ubuntu14.04版本、第一(或第二)感知数据采集模块和第一(或第二)速度命令接收模块。服务器装有操作系统ubuntu14.04版本、caffe深度学习框架、感知数据接收模块、基于resnet物体识别模块、协同识别决策模块、决策融合模块和速度转换模块。

第二步,云端服务器节点通过wifi与地面机器人节点和空中机器人节点建立连接信道以传播图片信息和速度命令信息;地面机器人节点和空中机器人节点感知环境,并通过连接信道将视图发送给云端服务器节点的感知数据接收模块。具体步骤如下:

2.1云端服务器节点通过wifi与地面机器人节点和空中机器人节点建立连接信道,云端服务器节点的感知数据接收模块和地面机器人节点的第二感知数据采集模块相连,云端服务器节点的感知数据接收模块和空中机器人节点的第一感知数据采集模块相连。云端服务器节点的速度转换模块和地面机器人节点的第二速度命令接收模块相连,云端服务器节点的速度转换模块和空中机器人节点的第一速度命令接收模块相连。

2.2地面基于resnet的图片分类模块和空中基于resnet的图片分类模块使用地面和空中dl-cooper数据集分别对两个resnet模型进行训练,训练方法使用有监督训练方法。图5是dl-cooper数据集标签定义的示意图。是视角方向也就是摄像机的竖直轴方向,是路径的延伸方向,α是二者之间的夹角。β为15°。道路延伸方向对应的六种分类标签描述如下:

如果-90°<α<-β并且机器人所站位置不在路边缘,使用moveleft(ml)标签表示;

如果-β<α<+β并且机器人所站位置不在路边缘,使用gostraight(gs)标签表示;

如果+β<α<+90°并且机器人所站位置不在路边缘,使用moveright(mr)标签表示;

如果机器人所站位置在路边缘,视野里没有路,使用stop(st)标签表示;

如果-90°<α<-β并且机器人所站位置在路边缘并且视野里没有路,使用turnleft(tl)标签表示;

如果+β<α<+90°并且机器人所站位置在路边缘并且视野里没有路,使用turnright(tr)标签表示。

2.3云端服务器节点的协同识别决策模块从键盘接收自信度阈值,设置为0.80。

2.4地面机器人节点第二速度命令接收模块和空中机器人节点的第一速度命令接收模块并行工作:

地面机器人节点第二速度命令接收模块判断通过wifi接收到用户的命令不是停止命令,转2.5;空中机器人节点的第一速度命令接收模块判断通过wifi接收到用户的命令不是停止命令,转2.6。

2.5地面机器人节点的第二感知数据采集模块通过地面机器人节点的视觉传感器采集数据,视觉传感器数据为rgb(redgreenblue)颜色值的彩色信息,即表现为拍摄到的彩色环境图片(即低层视图)。地面机器人节点的第二感知数据采集模块通过连接信道将低层视图和“地”标志发送给云端服务器节点的感知数据接收模块。转第三步。

2.6空中机器人节点的第一感知数据采集模块判断已从决策融合模块接收到图像请求,通过视觉传感器采集数据,即拍摄彩色环境图片(即高层视图)。第一感知数据采集模块通过连接信道将高层视图和“空”标志发送给云端服务器节点的感知数据接收模块。转第三步。

第三步,云端服务器节点上的感知数据接收模块通过连接信道接收图片和标志。如果标志是“地”,那么图片是地面机器人当前拍摄的低层视图,将低层视图发送给地面基于resnet的图像分类模块,转第四步;如果标志是“空”,那么图片是空中机器人当前拍摄的高层视图,将高层视图发送给空中基于resnet的图像分类模块,转第五步。

第四步,地面基于resnet的图像分类模块进行图像识别分类,将初步识别结果发送给协同识别决策模块,方法是:

4.1地面基于resnet的图像分类模块从感知数据接收模块接收低层视图。

4.2地面基于resnet的图像分类模块使用resnet模型进行低层图片特征提取操作,从地面图像分类器获取初步识别结果即分类标签为“向前行进”、分类标签概率向量(0.25,0.3,0.4,0.05)和识别自信度0.4,将初步识别结果发送给协同识别决策模块。转第六步。

第五步,空中基于resnet的图像分类模块进行图像识别分类,将初步识别结果发送给协同识别决策模块,方法是:

5.1空中基于resnet的识别决策模块从感知数据接收模块接收高层视图。

5.2空中基于resnet的识别决策模块使用resnet模型进行高层图片特征提取操作,从空中图像分类器获取空中分类标签概率向量(0.35,0.15,0.5),然后将空中分类标签概率向量发送给决策融合模块。转6.3步。

第六步,协同识别决策模块根据初步识别结果判断图片识别不正确。协同识别决策模块将地面分类标签概率向量和分类标签发送给决策融合模块,决策融合模块进行决策融合,得到融合分类标签概率向量和信号标志,将融合分类标签概率和信号标志传给速度转换模块。具体步骤如图4所示:

6.1协同识别决策模块从地面基于resnet的图像分类模块接收初步识别结果(即分类标签“向前行进”、地面分类标签概率向量(0.25,0.3,0.4,0.05)和识别自信度0.4)。对分类标签和识别自信度进行判断。具体步骤如下:

6.1.2识别自信度0.4小于识别自信度阈值0.8,则协同识别决策模块判定对该图片识别错误,将低层视图的分类标签“向前行进”和地面分类标签概率向量(0.25,0.3,0.4,0.05)发送给决策融合模块。

6.2决策融合模块接收低层视图的分类标签“向前行进”和地面分类标签概率向量(0.25,0.3,0.4,0.05),给空中机器人节点的第一感知数据采集模块发送图像请求,转2.6步。

6.3决策融合模块接收空中分类标签概率向量(0.35,0.15,0.5),根据之前地面基于resnet的图像分类模块发送来的分类标签判断是否需要使用softmax分类器进行最终分类操作。由于之前地面基于resnet的图像分类模块发送来的分类标签“向前行进”,因此需要使用softmax分类器进行分类操作。执行步骤6.3.2,具体步骤如下:

6.3.2决策融合模块对地面分类标签概率向量中的p(st)一项不予考虑,将剩余的6个概率按照地面概率向量加空中概率向量顺序拼接得到一个六元组(0.40,0.25,0.30,0.35,0.15,0.50)。决策融合模块使用softmax分类器对六元组进行分类,得到融合分类标签概率向量三元组(0.35,0.20,0.45),将信号标志设置为“1”(行驶),然后将融合分类标签概率向量(0.35,0.20,0.45)和信号标志“1”发送给协同识别决策模块。

6.4协同识别决策模块接收信号标志和融合分类标签概率向量,并将其发送给速度转换模块。执行第七步。

第七步,云端服务器节点上的速度转换模块接收信号标志和融合分类标签概率向量,计算出机器人行走的线速度和角速度,并将线速度和角速度发送给地面机器人和空中机器人的速度命令接收模块,使得地面机器人和空中机器人可以协同沿路前进。方法是:

7.1速度转换模块接收协同识别决策模块发送的信号标志和融合分类标签概率向量,将融合分类标签概率向量转化为速度向量。方法为:角速度正比于p(mr)-p(ml)(p(mr)-p(ml)=0.25),线速度正比于p(gs)0.35。

7.2速度转换模块将速度向量(0.42,0.3)通过连接信道发送给地面机器人的第二速度命令接收模块和空中机器人的第一速度命令接收模块。

7.3地面机器人的第二速度命令接收模块和空中机器人的第一速度命令接收模块从速度转换模块接收速度向量,按照速度向量驱动机器人群体协同运动。

执行步骤2.4。

第八步,结束。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1