基于视觉学习驱动的空中机器人集群控制方法及系统与流程

专利2022-05-09  35


本发明涉及空中机器人集群控制领域,尤其涉及一种基于视觉学习驱动的空中机器人集群控制方法及系统。



背景技术:

近年来,空中机器人理论和技术得到了快速发展,空中机器人能够实现的功能愈发强大,在一些领域正渐渐取代载人飞行器,尤其是在一些人类难以到达的环境和具有挑战的项目有着很高的效率。然而,由于任务需求和工作环境变得不断繁杂,单架空中机器人在任务执行能力上显露出了局限性。多空中机器人群系统不但能发挥空中机器人的优势,还能避免单空中机器人的局限性,在部分个体发生故障的情况下还可以完成多样的任务,是未来空中机器人发展的重要方向。

传统的空中机器人集群技术是利用内部的通信和信息共享优势,得到相互间的位置关系,通过虚拟结构法、领航者-跟随者、基于人工势场的控制方法以及基于模型预测控制的控制算法来进行集群编队的控制,这些控制算法需要强大的通信带宽以及准确的gps定位信号。在城市和野外飞行环境中,受大型建筑物等的影响,无线通信的通信信号容易被干扰、遮挡,这给通讯控制带来了极大的困难。受多种因素的影响,包括与gps卫星有关的误差、与信号传播有关的误差、与接收设备有关的误差,这种误差在空中机器人集群系统中会严重降低系统的鲁棒性。特别是在gps拒止的环境中,传统的机器人集群算法无法实现。

针对这种通信困难或者gps拒止的环境中,传统算法已经满足不了现代社会的需要,因此需要采用新的方法使空中机器人能够在复杂环境依旧保持高鲁棒性的集群控制。



技术实现要素:

针对以上技术问题,本发明提供一种基于视觉学习驱动的空中机器人集群控制方法及系统。

本发明解决其技术问题采用的技术方案是:

基于视觉学习驱动的空中机器人集群控制方法,方法包括以下步骤:

步骤s200:采用摄像头模块扫描获取当前空中机器人全方位周围场景图像;

步骤s300:对全方位周围场景图像进行预处理,得到预处理后的全方位周围场景图像;

步骤s500:根据预处理后的全方位周围场景图像和预设的网络模型,得到网络模型输出的控制量;

步骤s600:检测空中机器人当前运行状态信息,根据当前运行状态信息确认当前空中机器人运行正常时,获取当前空中机器人前一次运行的目标速度,根据前一次运行的目标速度和网络模型输出的控制量得到最终控制量,根据最终控制量实现对当前空中机器人的控制,其中,空中机器人包括摄像头模块、计算机模块和飞控模块,运行状态信息包括速度、位置、航向信息,以及摄像头模块、计算机模块和飞控模块间连接信号。

优选地,全方位周围场景图像包括多张图像,步骤s300包括:

步骤s310:对全方位周围场景图像中的多张图像进行灰度变换,采用高斯滤波抑制噪声并平滑图像,得到第一图像;

步骤s320:对第一图像进行二值化操作,得到第二图像;

步骤s330:对第二图像进行特征点提取与匹配,并按照预设顺序排序拼接,形成一张图像。

优选地,步骤s500之前还包括:

步骤s400:预训网络模型,得到预设的网络模型。

优选地,预设的网络模型包括速度预测的全连接层和碰撞预测的全连接层,步骤s400包括:

步骤s410:采集预训练所需要的训练集图像;

步骤s420:将训练集图像输入初始网络模型进行训练确定网络权值参数,得到预设的网络模型,其中,在速度预测的全连接层处采用均方误差损失函数,在碰撞预测的全连接层处采用交叉熵损失函数。

优选地,预设的网络模型中的总的损失函数为:

其中,lall表示总的损失函数,a表示加权比例,epoch表示循环迭代次数,lvel表示均方误差损失函数,lcol表示交叉熵损失函数。

优选地,步骤s600中最终控制量的计算公式具体为:

νout=b(1-β)νin (1-b)νlastout

其中,νout为最终控制量,β为碰撞概率,b为低通滤波参数,νin为网络模型输出的控制量,νlastout为空中机器人前一次运行的目标速度。

优选地,步骤s600还包括:

根据当前运行状态信息确定空中机器人运行状态异常时,输出返回控制指令,控制空中机器人返回。

优选地,步骤s200之前还包括:

步骤s100:发送启动指令,启动指令用于控制摄像头模块和飞控模块开始工作。

基于视觉学习驱动的空中机器人集群控制系统,包括多架空中机器人,每一空中机器人包括空中机器人本体和均安装在空中机器人本体上的摄像头模块、计算机模块和飞控模块,摄像头模块连接计算机模块,计算机模块连接飞控模块;

摄像头模块用于扫描获取空中机器人全方位周围场景图像并发送至计算机模块;

计算机模块用于执行其上的方法,得到最终控制量并发送至飞控模块;

飞控模块用于根据接收的最终控制量实现对空中机器人集群控制。

优选地,摄像头模块包括第一摄像头、第二摄像头、第三摄像头、第四摄像头、第五摄像头和第六摄像头,第一摄像头设置于空中机器人本体的正前方,第二摄像头、第三摄像头和第四摄像头以每隔90°均匀设置于空中机器人本体的其余三周,第五摄像头设置于空中机器人本体的顶部,第六摄像头设置于空中机器人本体的底部,每个摄像头的视野范围为120°。

上述基于视觉学习驱动的空中机器人集群控制方法及系统,采用全方位的摄像头模块来代替空中机器人之间的通信交流以及gps来获取相对位置的方式,通过神经网络学习集群的规则算法得到预设的网络模型,对获取到的全方位的周围场景图像进行处理后直接输入,直接为各空中机器人输出最终控制量,实现集群的控制,解决了传统空中机器人无法在通讯困难以及gps拒止的环境中实现集群的问题。

附图说明

图1为本发明一实施例提供的基于视觉学习驱动的空中机器人集群控制方法的流程图;

图2为空中机器人的正视图;

图3为空中机器人的俯视图;

图4为空中机器人的视觉集群示意图;

图5为全方位周围场景图像预处理结果示意图;

图6为本发明另一实施例提供的基于视觉学习驱动的空中机器人集群控制方法的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。

在一个实施例中,如图1所示,一种基于视觉学习驱动的空中机器人集群控制方法,方法包括以下步骤:

步骤s200:采用摄像头模块扫描获取空中机器人全方位周围场景图像。

具体地,空中机器人具体可以为无人机但不仅限于此,摄像头模块的视野覆盖空中机器人的各个方向,用于扫描四周场景,并获取到全方位的周围场景图像。

在本实施例中,摄像头模块包括第一摄像头1、第二摄像头2、第三摄像头3、第四摄像头4、第五摄像头5和第六摄像头6,第一摄像头1设置于空中机器人的正前方,第二摄像头2、第三摄像头3和第四摄像头4以每隔90°均匀设置于空中机器人的其余三周(具体为空中机器人的正后方、正左方和正右方),第五摄像头5设置于空中机器人的顶部,第六摄像头6设置于空中机器人的底部,每个摄像头的视野范围为120°,如图2、3和4所示。

步骤s300:对全方位周围场景图像进行预处理,得到预处理后的全方位周围场景图像。

具体地,全方位周围场景图像包括多张图像,在本实施例中,从摄像头模块一次性获得6张图像。

在一个实施例中,步骤s300包括:步骤s310:对全方位周围场景图像中的多张图像进行灰度变换,采用高斯滤波抑制噪声并平滑图像,得到第一图像。

步骤s310中的高斯滤波处理公式具体为:

其中,ti,j为滤波模板中目标值的大小,i,j为滤波模板中位置下标,σ为方差,滤波模板的大小为(2k 1),k代表高斯滤波时模板的中心位置。

步骤s320:对第一图像进行二值化操作,得到第二图像。

步骤s330:对第二图像进行特征点提取与匹配,并按照预设顺序排序拼接,形成一张图像。

具体地,将6张处理后的图片进行特征点提取与匹配,并按照摄像头1、2、3、4、5、6的顺序进行拼接,形成一张图片,如图5所示。

在一个实施例中,步骤s500:根据预处理后的全方位周围场景图像和预设的网络模型,得到网络模型输出的控制量。

进一步地,如图6所示,在步骤s500之前,还包括步骤s400:预训网络模型,得到预设的网络模型。

具体地,网络模型包括该体系结构,其中共享部分由一个resnet-8组成,其中有3个残差块,然后是通过dropout和relu(线性整流函数,rectifiedlinearunit)非线性模块,最后将网络分成2个分离的完全连接层,一个为速度预测的全连接层,输出速度控制量,另一个为碰撞预测的全连接层,输出碰撞概率。

在一个实施例中,步骤s400包括:

步骤s410:采集预训练所需要的训练集图像。

具体地,空中机器人群预先采用手动位置控制模式,控制空中机器人在环境中无碰撞飞行,采集预训练所需要的训练集图片,预训练的图片进行人工标注速度和碰撞概率,作为预先训练的数据集。

步骤s420:将训练集图像输入初始网络模型进行训练确定网络权值参数,得到预设的网络模型,其中,在速度预测的全连接层处采用均方误差损失函数,在碰撞预测的全连接层处采用交叉熵损失函数。

具体地,在速度预测的全连接层处采用均方误差损失函数lvel,在碰撞预测的全连接层处采用交叉熵损失函数lcol,预设的网络模型中总的损失函数定义为:

其中,lall表示总的损失函数,a表示加权比例,epoch表示循环迭代次数。

其中,设置网络迭代起始学习率为0.001,指数衰减等于10-5,a通过实验验证选择0.1,进行重复训练确定得到网络权值参数w,使得网络模型的准确性更高。

为了验证本发明的空中机器人集群控制方法及系统的精确度,在网络训练中得到网络模型准确率为94.2%,权值参数数量为3.5×105,它的帧率为20fps,完全能满足实际需求。

在一个实施例中,步骤s600:检测空中机器人当前运行状态信息,根据当前运行状态信息确认当前空中机器人运行正常时,获取当前空中机器人前一次运行的目标速度,根据前一次运行的目标速度和网络模型输出的控制量得到最终控制量,根据最终控制量实现对当前空中机器人的控制,其中,空中机器人包括摄像头模块、计算机模块和飞控模块,运行状态信息包括速度、位置、航向信息,以及摄像头模块、计算机模块和飞控模块间连接信号。进一步地,图2和图3中的7表示计算机模块。

具体地,步骤s600中最终控制量的计算公式具体为:

νout=b(1-β)νin (1-b)νlastout

其中,νout为最终控制量,β为碰撞概率,b为低通滤波参数,νin为网络模型输出的控制量,νlastout为空中机器人前一次运行的目标速度。

具体地,将控制量输入,使用低通滤波调制后得到的速度νout为飞控模块中的控制器提供平滑、连续的输入,进一步地,在实际测试过程中,b取值为0.8。

在一个实施例中,步骤s600还包括:根据当前运行状态信息确定空中机器人运行状态异常时,输出返回控制指令,控制空中机器人返回。

具体地,当空中机器人的速度、位置、航向信息中的至少一个不在对应的预设合理范围值内时,和/或检测到控制机器人的模块间连接信号异常时,则确定空中机器人运行状态异常,控制空中机器人返回。

在一个实施例中,如图6所示,步骤s200之前还包括步骤s100:发送启动指令,启动指令用于控制摄像头模块和飞控模块开始工作。

具体地,计算机模块发送空中机器人系统启动指令,摄像头模块和飞控模块根据启动指令开始工作,飞控模块控制空中机器人本体升空并运行。

上述一种基于视觉学习驱动的空中机器人集群控制方法,针对当前空中机器人系统的集群鲁棒性不足,采用多个全方位的摄像头来代替空中机器人之间的通信交流以及gps来获取相对位置的方式,从全方位的视角图像直接输入,通过神经网络学习集群的规则算法,直接为空中机器人输出控制量,实现集群的分布式自主控制,每个空中机器人完全依赖于本地视觉信息的机载电脑处理来计算自身的实际速度,避免了空中机器人之间相互通信占用带宽资源,集群中个别空中机器人的故障和损失也不会影响其他空中机器人的功能,该方法对场景具有很强的鲁棒性,使密集的空中机器人群体能够一致地飞行,而不发生相互碰撞,不依赖于视觉标记或相互之间的通信,因此适合于在gps被拒绝的环境中或在无线链路不可靠的情况。

在一个实施例中,一种基于视觉学习驱动的空中机器人集群控制系统,包括多架空中机器人,每一空中机器人包括空中机器人本体和均安装在空中机器人本体上的摄像头模块、计算机模块和飞控模块,摄像头模块连接计算机模块,计算机模块连接飞控模块;摄像头模块用于扫描获取空中机器人全方位周围场景图像并发送至计算机模块;计算机模块用于获取摄像头模块扫描获取的空中机器人全方位周围场景图像;对全方位周围场景图像进行预处理,得到预处理后的全方位周围场景图像;根据预处理后的全方位周围场景图像和预设的网络模型,得到网络模型输出的控制量;检测空中机器人当前运行状态信息,根据当前运行状态信息确认当前空中机器人运行正常时,获取当前空中机器人前一次运行的目标速度,根据前一次运行的目标速度和网络模型输出的控制量得到最终控制量并发送至飞控模块,其中,空中机器人包括摄像头模块、计算机模块和飞控模块,运行状态信息包括速度、位置、航向信息,以及摄像头模块、计算机模块和飞控模块间连接信号;飞控模块用于根据接收的最终控制量实现对空中机器人集群控制。

在一个实施例中,摄像头模块包括第一摄像头、第二摄像头、第三摄像头、第四摄像头、第五摄像头和第六摄像头,第一摄像头设置于空中机器人本体的正前方,第二摄像头、第三摄像头和第四摄像头以每隔90°均匀设置于空中机器人本体的其余三周(具体为空中机器人的正后方、正左方和正右方),第五摄像头设置于空中机器人本体的顶部,第六摄像头设置于空中机器人本体的底部,每个摄像头的视野范围为120°。

具体地,本发明中空中机器人平台选用大疆m100但不限于此。本发明中计算机模块选用nvidia公司的nvidiajetsonnano开发模块,但不限于此。本发明中摄像头模块选用openmvcamm7,但不限于此。

关于一种基于视觉学习驱动的空中机器人集群控制系统的具体限定可以参见上文中对于一种基于视觉学习驱动的空中机器人集群控制方法的限定,在此不再赘述。

上述一种基于视觉学习驱动的空中机器人集群控制系统,针对当前空中机器人系统的集群鲁棒性不足,采用多个全方位的摄像头来代替空中机器人之间的通信交流以及gps来获取相对位置的方式,从全方位的视角图像直接输入,通过神经网络学习集群的规则算法,直接为空中机器人输出控制量,实现集群的分布式自主控制,每个空中机器人完全依赖于本地视觉信息的计算机模块处理来计算自身的实际速度,避免了空中机器人之间相互通信占用带宽资源,集群中个别空中机器人的故障和损失也不会影响其他空中机器人的功能,该系统对场景具有很强的鲁棒性,使密集的空中机器人群体能够一致地飞行,而不发生相互碰撞,不依赖于视觉标记或相互之间的通信,因此适合于在gps被拒绝的环境中或在无线链路不可靠的情况。

以上对本发明所提供的一种基于视觉学习驱动的空中机器人集群控制方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。


技术特征:

1.基于视觉学习驱动的空中机器人集群控制方法,其特征在于,所述方法包括以下步骤:

步骤s200:采用摄像头模块扫描获取当前空中机器人全方位周围场景图像;

步骤s300:对所述全方位周围场景图像进行预处理,得到预处理后的全方位周围场景图像;

步骤s500:根据所述预处理后的全方位周围场景图像和预设的网络模型,得到网络模型输出的控制量;

步骤s600:检测空中机器人当前运行状态信息,根据所述当前运行状态信息确认当前空中机器人运行正常时,获取当前空中机器人前一次运行的目标速度,根据前一次运行的目标速度和所述网络模型输出的控制量得到最终控制量,根据所述最终控制量实现对当前空中机器人的控制,其中,空中机器人包括摄像头模块、计算机模块和飞控模块,所述运行状态信息包括速度、位置、航向信息,以及所述摄像头模块、所述计算机模块和所述飞控模块间连接信号。

2.根据权利要求1所述的方法,其特征在于,所述全方位周围场景图像包括多张图像,所述步骤s300包括:

步骤s310:对所述全方位周围场景图像中的多张图像进行灰度变换,采用高斯滤波抑制噪声并平滑图像,得到第一图像;

步骤s320:对所述第一图像进行二值化操作,得到第二图像;

步骤s330:对所述第二图像进行特征点提取与匹配,并按照预设顺序排序拼接,形成一张图像。

3.根据权利要求1所述的方法,其特征在于,所述步骤s500之前还包括:

步骤s400:预训网络模型,得到预设的网络模型。

4.根据权利要求3所述的方法,其特征在于,所述预设的网络模型包括速度预测的全连接层和碰撞预测的全连接层,所述步骤s400包括:

步骤s410:采集预训练所需要的训练集图像;

步骤s420:将所述训练集图像输入初始网络模型进行训练确定网络权值参数,得到预设的网络模型,其中,在速度预测的全连接层处采用均方误差损失函数,在碰撞预测的全连接层处采用交叉熵损失函数。

5.根据权利要求4所述的方法,其特征在于,所述预设的网络模型中的总的损失函数为:

其中,lall表示总的损失函数,a表示加权比例,epoch表示循环迭代次数,lvel表示均方误差损失函数,lcol表示交叉熵损失函数。

6.根据权利要求1所述的方法,其特征在于,步骤s600中最终控制量的计算公式具体为:

νout=b(1-β)νin (1-b)νlastout

其中,νout为最终控制量,β为碰撞概率,b为低通滤波参数,νin为网络模型输出的控制量,νlastout为空中机器人前一次运行的目标速度。

7.根据权利要求1所述的方法,其特征在于,步骤s600还包括:

根据所述当前运行状态信息确定空中机器人运行状态异常时,输出返回控制指令,控制空中机器人返回。

8.根据权利要求1所述的方法,其特征在于,步骤s200之前还包括:

步骤s100:发送启动指令,所述启动指令用于控制所述摄像头模块和所述飞控模块开始工作。

9.基于视觉学习驱动的空中机器人集群控制系统,其特征在于,包括多架空中机器人,每一空中机器人包括空中机器人本体和均安装在所述空中机器人本体上的摄像头模块、计算机模块和飞控模块,所述摄像头模块连接所述计算机模块,所述计算机模块连接所述飞控模块;

所述摄像头模块用于扫描获取空中机器人全方位周围场景图像并发送至所述计算机模块;

所述计算机模块用于执行权利要求1至8中任一项所述的方法,得到最终控制量并发送至所述飞控模块;

所述飞控模块用于根据接收的所述最终控制量实现对空中机器人集群控制。

10.根据权利要求9所述的控制系统,其特征在于,所述摄像头模块包括第一摄像头、第二摄像头、第三摄像头、第四摄像头、第五摄像头和第六摄像头,所述第一摄像头设置于所述空中机器人本体的正前方,所述第二摄像头、所述第三摄像头和所述第四摄像头以每隔90°均匀设置于所述空中机器人本体的其余三周,所述第五摄像头设置于所述空中机器人本体的顶部,所述第六摄像头设置于所述空中机器人本体的底部,每个摄像头的视野范围为120°。

技术总结
本发明公开了一种基于视觉学习驱动的空中机器人集群控制方法及系统,包括以下步骤:采用摄像头模块扫描获取当前空中机器人全方位周围场景图像;对全方位周围场景图像进行预处理,得到预处理后的全方位周围场景图像;根据预处理后的全方位周围场景图像和预设的网络模型,得到网络模型输出的控制量;检测空中机器人当前运行状态信息,根据当前运行状态信息确认当前空中机器人运行正常时,获取当前空中机器人前一次运行的目标速度,根据前一次运行的目标速度和网络模型输出的控制量得到最终控制量,根据最终控制量实现对当前空中机器人的控制,解决了传统空中机器人无法在通讯困难以及GPS拒止的环境中实现集群的问题。

技术研发人员:王耀南;范泷文;钟杭;李玲;缪志强;张辉;林杰
受保护的技术使用者:湖南大学
技术研发日:2021.04.14
技术公布日:2021.07.02

转载请注明原文地址:https://doc.8miu.com/read-350058.html

最新回复(0)