一种基于强化学习的新型水上清洁机器人及控制方法转让专利

申请号 : CN202010554924.1

文献号 : CN111746728B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈刚王浩东张钊淞耶冰儿程麒

申请人 : 重庆大学

摘要 :

本发明涉及一种基于强化学习的新型水上清洁机器人及控制方法,属于水上清洁机器人领域,包括浮板,设置在浮板上的双目摄像头、处理器、控制器、电子调速器、电机、数字舵机、蓄电池及电压转换器;双目摄像头与处理器连接,用于采集水面图像发送给处理器;处理器与控制器连接,用于对接收到的水面图像进行垃圾检测、测距定位,并将结果发送给控制器;控制器与数字舵机、电子调速器连接,电子调速器与电机连接,电机与数字舵机连接,电机的输出轴还连接有叶片;控制器接收处理器发送的垃圾位置信息,通过轨迹跟踪算法确定期望的角速度和线速度,控制电机和舵机以期望的速度和方向行驶;蓄电池与电压转换器连接,用于为各装置供电。

权利要求 :

1.一种基于强化学习的水上清洁机器人控制方法,其特征在于:包括以下步骤:S1:通过双目摄像头捕捉水面图片,并发送给处理器;

S2:处理器接收水面图片数据,通过基于深度学习的垃圾检测算法对垃圾物体进行识别;所述基于深度学习的垃圾检测算法的训练过程如下:S211:采集水上垃圾图像,构建标准的水上垃圾数据集,含已标注的训练集和测试集,比例为3:1,进行批量预处理使图片尺寸一致;

S212:将训练集中的垃圾图像输入主体卷积神经网络进行特征提取,卷积层通过卷积运算对目标特征提取,残差层对不同层的输出进行跨层直连;

S213:利用多尺度融合模型进行目标预测,输出多个水上垃圾目标的定位与分类结果,输出的结果中,每个网格对应3个先验框,每个先验框预测信息包含4个边框位置参数,1个垃圾目标评价和5个类别预测;

S214:利用分类器对目标检测结果进行目标性评分,利用非极大值抑制的方法对检测结果进行筛选,选取置信度最高的检测框作为第一输出边界框1,选取其他检测框计算与边界框1的重叠率,若小于预设阈值,则舍弃,否则保留;继续选取除边界框1外置信度最高的预测边框2重复该步骤,直到没有剩余检测框,得到图像中包含水上垃圾的目标检测结果;

S215:计算损失函数,通过反向传播,利用梯度下降法对模型参数进行不断调整,最终得到最佳的网络模型;

S216:输入测试集中的水上垃圾图像,利用训练好的最佳网络模型提取目标特征,并输出多尺度预测结果,通过分类器进行目标性评分,非极大值抑制法筛选检测结果,最终得到基于深度卷积神经网络的垃圾检测算法的测试结果;

S3:处理器运用双目摄像头的深度信息计算垃圾的位置和相对距离,并将数据发送给控制器;

S4:对控制器的各个模块进行初始化,对处理器发送的数据进行滤波处理;

S5:将处理后的数据输入利用神经网络的方法实现无模型强化学习算法中,经过该算法计算得到期望的角速度和线速度;包括以下步骤:S51:首先给定一个可行的控制器 设定初始性能函数V为R和Q矩阵为性能函数的一部分,设置为正定对称阵即可,α是性能函数里的指数项上的一个常系数,设置α为小于1的正数,e(t)为机器人和垃圾的相对位置,v0和w0为初始的线速‑α(τ‑t) T度和角速度;u(t)为t时刻的控制输入矩阵,e 为和时间相关的衰减因子,e(t) 为矩阵eT(t)的转置矩阵,u(t) 为矩阵u(t)的转置矩阵,d为积分符号,τ为时间微分变量;

j j

S52:利用下述公式求解控制器u以及性能函数V

j j

其中,u为j时刻的控制器,V为j时间的性能函数,T为采样时间,X(t)为t时刻收集的要输入评价器的水上清洁机器人的参数,为机器人的线速度角速度以及机器人和垃圾的相对‑αT ‑α(τ‑t) T位置;e 中的T为采样时间,代表时间为T的衰减因子,e 为和时间相关的衰减因子,X为τ刻机器人和垃圾的相对位置的转置矩阵,R和Q矩阵为性能函数的一部分,设置为正定对j称阵;τ为时间微分变量,u为第j次迭代的控制器在τ刻的控制矢量;

j j+1 j j * j

S53:令u=u ,返回步骤S52,直到V收敛到最小值,u→u ,其中u为j时刻的控制器,* j为j+1时刻的控制器,u为当V为最小值时的控制器;

用神经网络的方法求解式(5),为控制所述水上清洁机器人,采用两个神经网络来估计j j+1性能函数V和控制器u :

其中 为基函数; 为常数权重矩阵;l1和l2为

T j m

神经元数量;定义v=[v1,…,vm]=u‑u∈R ,并假设R=diag(r1,…,rm),其中m为动作的维j数,v1、vm对应u和u 第1维动作和第m维动作的差值,R=diag(r1,…,rm)为设置的权值矩阵,其中的参数r1和rm为控制输入矩阵u对应的权值,即对第1维动作和第m维动作对性能函数的影响权值;将上述性能函数和控制器式子带入式(5)中得:其中eNN(t)为贝叶斯误差, 为 的第k列,为得到使贝尔曼估计误差eNN(t)最小的权重矩阵 和 利用最小二乘法;

上式写为:

其中:

其中l1和l2为神经元数量,m为动作的维数;

在t1到tN时刻收集yo(t)和to(t)的数据得:Yo=[yo(t1),…,yo(tN)]    (13)To=[to(t1),…,to(tN)]    (14)其中N≥l1+m×l2;

所以权值矩阵的最小二乘解为:

j j+1

如此由式(6)、(7)求得性能函数V和控制器u ;

S6:根据电机和舵机的工作方式,转换为输出PWM波给电子调速器从而控制电机转速,发送宽度不同的脉冲信号从而控制舵机转向;

S7:重复步骤S3‑S6,直到逼近目标垃圾完成打捞。

2.根据权利要求1所述的基于强化学习的水上清洁机器人控制方法,其特征在于:步骤S212中,所述卷积神经网络包括57个卷积层和多个残差层。

3.根据权利要求1所述的基于强化学习的水上清洁机器人控制方法,其特征在于:步骤S213中,利用13×13,26×26,52×52,104×104四尺度融合模型进行目标预测。

4.根据权利要求1所述的基于强化学习的水上清洁机器人控制方法,其特征在于:步骤S2中,通过基于深度学习的垃圾检测算法对垃圾物体进行识别包括以下步骤:S221:采集水上垃圾图像,进行预处理使图片尺寸一致;

S222:输入训练好的卷积神经网络中,经过卷积神经网络输出4个尺度的预测结果;

S223:利用分类器对网络输出的多尺度预测结果进行垃圾目标评分;

S224:利用非极大值抑制方法对预测的垃圾物体边框进一步筛选,输出水上垃圾的检测框与类别结果。

5.根据权利要求1所述的基于强化学习的水上清洁机器人控制方法,其特征在于:步骤S3中,所述处理器运用双目摄像头的深度信息计算垃圾的位置和相对距离,包括以下步骤:S31:以左摄像头为原点,以垂直相机的方向为Z轴,以摄像头平面方向构建X轴和Y轴,建立的三维坐标系;

S32:运用双目立体视觉算法计算出相对位置的关系,具体利用左摄像头与右摄像头拍摄到的图像之间存在的视差,通过立体匹配求出每个像素点的视差值,再根据三角测量原理计算出每个像素点与相机之间的距离;

左摄像头与右摄像头的距离确定为L,通过摄像头测量得到左摄像头与目标垃圾的夹角∠SAB,右摄像头与目标垃圾的夹角∠SBA两个角度,通过如下计算得到摄像头与目标垃圾的距离信息,进而求得相关的具体坐标信息,计算方法如下:其中D即为双目摄像机与目标垃圾的距离。

说明书 :

一种基于强化学习的新型水上清洁机器人及控制方法

技术领域

[0001] 本发明属于水上清洁机器人领域,涉及一种基于强化学习的新型水上清洁机器人及控制方法。

背景技术

[0002] 对于水上清洁机器人而言,水上清洁机器人常见是遥控式水上机器人,通过摄像头把水上的情况发送给操控者,操控者通过遥控器对机器人进行操作,使其可以移动并抓取垃圾,这样从本质来说并不是完全智能化的机器人,在工作时需要耗费人力。还有以超声波作为传感器的水上机器人,超声波的原理是通过超声波碰到杂质或分界面会产生显著反射形成反射成回波,通过接受回波判断前方是否有物体,以及物体的距离的,这种方法的缺点在于首先对于水上的浮藻或者对于在水面表层的垃圾没有检测能力,其次对于水上的生物,如小鸭子、鸟没有判断能力,可能回把这些判断为垃圾,并对其进行操作,不仅增加了危险性,而且会给水上机器人造成一定程度的损坏。前面介绍的常见的水上垃圾清洁机器人各有各的不足,本专利所设计的水上垃圾清洁机器人可以自主且准确地检测水上的垃圾,对捕捉到的图像进行分析,判断出垃圾在图中的位置,再计算出垃圾相对于机器人的相对距离,并通过自主优化学习算法使机器人到达垃圾附近并抓取,完成垃圾清洁的工作。
[0003] 在实际的水上机器人运动的过程中,水上机器人和陆地的机器人情况不完全一样,其受到的干扰会更多且更明显,例如风浪对水上机器人会由很大的影响,再例如水藻过多的水面比普通的水面对水上机器人产生更大的阻力,因为很多控制参数,如阻力系数等等难以确定,现有的基于有模型的控制系统的应用效果会比较差,所以本发明采用基于神经网络的无模型强化学习算法来控制机器人,强化学习是智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习不同于连接主义学习中的监督学习,主要表现在强化信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价,而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,必须靠自身的经历进行学习。通过这种方式,强化学习在行动‑评价的环境中获得知识,改进行动方案以适应环境。因此运用强化学习的方法作为控制器应用效果会更好,在不同场景的适应度会更高。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种基于强化学习的新型水上清洁机器人及控制方法,以双目摄像头作为传感器,解决水上清洁机器人需要人远程操作或者传感器不能准确高效地获取垃圾信息的问题,以及无法实现自主学习控制的问题。
[0005] 为达到上述目的,本发明提供如下技术方案:
[0006] 一方面,本发明提供一种基于强化学习的新型水上清洁机器人,包括浮板,设置在浮板上的双目摄像头、处理器、控制器、电子调速器、电机、数字舵机、蓄电池及电压转换器;
[0007] 所述双目摄像头与处理器连接,用于采集水面图像发送给处理器;
[0008] 所述处理器与控制器连接,用于对接收到的水面图像进行垃圾检测、测距定位,并将结果发送给控制器;
[0009] 所述控制器与数字舵机、电子调速器连接,所述电子调速器与电机连接,所述电机与数字舵机连接,所述电机的输出轴还连接有叶片;所述控制器接收处理器发送的垃圾位置信息,通过轨迹跟踪算法确定期望的角速度和线速度,控制电机和舵机以期望的速度和方向行驶;
[0010] 所述蓄电池与电压转换器连接,用于为各装置供电。
[0011] 进一步,所述控制器通过发送不同占空比的PWM给电子调速器,控制电机的转速。
[0012] 进一步,所述数字舵机用于控制转向,包括与转动轴连接的转动杆,所述转动杆两端铰接有两个连接杆,所述连接杆的另一端分别铰接在电机的两侧,控制电机转向,所述转动轴通过接收控制器发送的宽度不同的脉冲信号来转动。
[0013] 另一方面,本发明提供一种基于强化学习的新型水上清洁机器人控制方法,包括以下步骤:
[0014] S1:通过双目摄像头捕捉水面图片,并发送给处理器;
[0015] S2:处理器接收水面图片数据,通过基于深度学习的垃圾检测算法对垃圾物体进行识别;
[0016] S3:处理器运用双目摄像头的深度信息计算垃圾的位置和相对距离,并将数据发送给控制器;
[0017] S4:对控制器的各个模块进行初始化,对处理器发送的数据进行滤波处理;
[0018] S5:将处理后的数据输入利用神经网络的方法实现无模型强化学习算法中,经过该算法计算得到期望的角速度和线速度,;
[0019] S6:根据电机和舵机的工作方式,转换为输出PWM波给电子调速器从而控制电机转速,发送宽度不同的脉冲信号从而控制舵机转向;
[0020] S7:重复步骤S3‑S6,直到逼近目标垃圾完成打捞。
[0021] 进一步,步骤S2中所述基于深度学习的垃圾检测算法的训练过程如下:
[0022] S211:采集水上垃圾图像,构建标准的水上垃圾数据集,含已标注的训练集和测试集,比例为3:1,进行批量预处理使图片尺寸一致;
[0023] S212:将训练集中的垃圾图像输入主体卷积神经网络进行特征提取,卷积层通过卷积运算对目标特征提取,残差层对不同层的输出进行跨层直连;
[0024] S213:为加强对小尺度垃圾对象的检测精确度,利用多尺度融合模型进行目标预测,输出多个水上垃圾目标的定位与分类结果,输出的结果中,每个网格对应3个先验框,每个先验框预测信息包含4个边框位置参数(中心坐标和宽高),1个垃圾目标评价和5个类别预测;
[0025] S214:利用分类器对目标检测结果进行目标性评分,利用非极大值抑制的方法对检测结果进行筛选,选取置信度最高的检测框作为第一输出边界框1,选取其他检测框计算与边界框1的重叠率,若小于预设阈值,则舍弃,否则保留;继续选取除边界框1外置信度最高的预测边框2重复该步骤,直到没有剩余检测框,得到图像中包含水上垃圾的目标检测结果;
[0026] S215:计算损失函数,通过反向传播,利用梯度下降法对模型参数进行不断调整,最终得到最佳的网络模型;
[0027] S216:输入测试集中的水上垃圾图像,利用训练好的最佳网络模型提取目标特征,并输出多尺度预测结果,通过分类器进行目标性评分,非极大值抑制法筛选检测结果,最终得到基于深度卷积神经网络的垃圾检测算法的测试结果。
[0028] 进一步,步骤S212中,所述卷积神经网络包括57个卷积层和多个残差层。
[0029] 进一步,步骤S213中,利用13×13,26×26,52×52,104×104四尺度融合模型进行目标预测。
[0030] 进一步,步骤S2中,通过基于深度学习的垃圾检测算法对垃圾物体进行识别包括以下步骤:
[0031] S221:采集水上垃圾图像,进行预处理使图片尺寸一致;
[0032] S222:输入训练好的卷积神经网络中,经过卷积神经网络输出4个尺度的预测结果;
[0033] S223:利用分类器对网络输出的多尺度预测结果进行垃圾目标评分;
[0034] S224:利用非极大值抑制方法对预测的垃圾物体边框进一步筛选,输出水上垃圾的检测框与类别结果。
[0035] 进一步,步骤S3中,所述处理器运用双目摄像头的深度信息计算垃圾的位置和相对距离,包括以下步骤:
[0036] S31:以左摄像头为原点,以垂直相机的方向为Z轴,以摄像头平面方向构建X轴和Y轴,建立的三维坐标系;
[0037] S32:运用双目立体视觉算法计算出相对位置的关系,具体利用左摄像头与右摄像头拍摄到的图像之间存在的视差,过立体匹配求出每个像素点的视差值,再根据三角测量原理计算出每个像素点与相机之间的距离;
[0038] 左摄像头与右摄像头的距离确定为L,通过摄像头测量得到左摄像头与目标垃圾的夹角∠SAB,右摄像头与目标垃圾的夹角∠SBA两个角度,通过如下计算得到摄像头与目标垃圾的距离信息,进而求得相关的具体坐标信息,计算方法如下:
[0039]
[0040]
[0041]
[0042] 其中D即为双目摄像机与目标垃圾的距离。
[0043] 进一步,步骤S5中,对机器人算法本发明利用神经网络的方法实现无模型强化学习算法,包括以下步骤:
[0044] S51:首先给定一个可行的控制器 设定初始性能函数V为
[0045]
[0046] R和Q矩阵为性能函数的一部分,设置为正定对称阵,α是性能函数里的指数项上的一个常系数,一般设置为小于1的正数,e(t)为机器人和垃圾的相对位置,v0和w0为初始的线‑α(τ‑t) T速度和角速度;u(t)为t时刻的控制输入矩阵,e 为和时间相关的衰减因子,e(t)为矩T
阵e(t)的转置矩阵,u(t) 为矩阵u(t)的转置矩阵,d为积分符号,τ为时间微分变量;
[0047] S52:利用下述公式求解控制器uj以及性能函数Vj
[0048]
[0049] 其中,uj为j时刻的控制器,Vj为j时间的性能函数,T为采样时间,X(t)为t时刻收集的要输入评价器的水上清洁机器人的参数,为机器人的线速度角速度以及机器人和垃圾的‑αT ‑α(τ‑t)相对位置;e 中的T为采样时间,代表时间为T的衰减因子,e 为和时间相关的衰减因
T
子,X 为τ刻机器人和垃圾的相对位置的转置矩阵,R和Q矩阵为性能函数的一部分,设置为j
正定对称阵;τ为时间微分变量,u为第j次迭代的控制器在τ刻的控制矢量;
[0050] 令uj=uj+1,返回步骤S52,直到Vj收敛到最小值,uj→u*,其中uj为j时刻的控制器,* j为j+1时刻的控制器,u为当V为最小值时的控制器;
[0051] 用神经网络的方法求解式(5),为控制该水上机器人,采用两个神经网络来估计性j j+1能函数V和控制器u :
[0052]
[0053]
[0054] 其中 为基函数; 为常数权重矩阵;l1和T j m
l2为神经元数量;定义v=[v1,…,vm] =u‑u∈R ,并假设R=diag(r1,…,rm),其中m为动作j
的维数,v1、vm对应u和u第1维动作和第m维动作的差值,R=diag(r1,…,rm)为设置的权值矩阵,其中的参数r1和rm为控制输入矩阵u对应的权值,即对第1维动作和第m维动作对性能函数的影响权值;将上述性能函数和控制器式子带入式(5)中得:
[0055]
[0056] 其中eNN(t)为贝叶斯误差, 为 的第k列,为得到使贝尔曼估计误差eNN(t)最小的权重矩阵 和 利用最小二乘法;
[0057] 上式写为:
[0058]
[0059] 其中:
[0060]
[0061]
[0062] 其中l1和l2为神经元数量,m为动作的维数;
[0063]
[0064] 在t1到tN(N≥l1+m×l2)时刻收集yo(t)和to(t)的数据得:
[0065] Yo=[yo(t1),…,yo(tN)]            (13)
[0066] To=[to(t1),…,to(tN)]             (14)
[0067] 所以权值矩阵的最小二乘解为:
[0068]
[0069] 如此由式(6)、(7)求得性能函数Vj和控制器uj+1。
[0070] 本发明的有益效果在于:
[0071] 1.和之前提到了两种水上机器人相比,本发明提出的水上机器人会节约人力物力,减少人为控制水上机器人所浪费地人力,降低用超声波作为传感器不经分类就打捞地危险,本发明可以精确地识别水上地垃圾。
[0072] 2.本次针对水上垃圾数据集进行处理,其对水上垃圾的识别的精度也会高于其他类型的数据集。在实际的应用中,可以对水上常见的五种垃圾精确地识别。
[0073] 3.通过对网络结构的设计,其检测的精度很好,由于GPU的缘故我们每秒可以检测出15帧左右的图片,可以完成实时地检测垃圾,这样打捞地精度就会更加地精确。
[0074] 4.利用神经网络的方法实现无模型强化学习算法,在水上清洁机器人这种工作在复杂多变的环境的机器人,其环境的适应能力更强。
[0075] 5.在硬件设计中,将动力装置设为水上依靠风力推动的电机,这样就使得航行更加的安全,一般需要清理垃圾的水面其水草等容易缠住螺旋桨的东西很多,所以为了安全和耐用性考虑,选择将动力装置装在水上,即风力驱动装置,这样就提高了水上清洁机器人的耐用性和安全性。
[0076] 6.本次设计的水上垃圾机器人方案不仅仅可以应用在水上清洁机器,也可以用于水上巡逻机器人等。
[0077] 本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

[0078] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0079] 图1为基于深度学习的垃圾检测算法流程示意图;
[0080] 图2为卷积神经网络框架结构示意图;
[0081] 图3为卷积神经网络结构示意图;
[0082] 图4为多尺度输出结果示意图;
[0083] 图5为水上垃圾检测结果图;
[0084] 图6为三维坐标系示意图;
[0085] 图7为三角测量原理图;
[0086] 图8为水上清洁机器人硬件结构示意图;
[0087] 图9为水上清洁机器人DSP软件流程图;
[0088] 图10为本发明所述基于强化学习的新型水上清洁机器人控制方法整体流程图;
[0089] 图11为本发明所述基于强化学习的新型水上清洁机器人整体结构示意图。

具体实施方式

[0090] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0091] 其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0092] 本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0093] 本发明针对水上垃圾问题,搭建了水上清洁机器人实时监控平台,利用ZED双目摄像头作为视觉传感器,准确高效地获取水上垃圾信息,提出一种基于卷积神经网络的垃圾检测算法,并通过双目相机的深度信息,考虑到干扰因素和延迟因素,对深度信息进行滤波处理,在计算出垃圾的相对位置,提出一种基于卷积神经网络的垃圾识别和定位算法,并通过双目相机的距离计算,计算出垃圾和机器人的相对位置信息,并驱动机器人到达垃圾附近并自主完成抓取工作的方案。同时,我们针对水上环境复杂多变的情况,设计了基于神经网络的无模型强化学习控制器,并设计一套适用于水上清洁的水上机器人软硬件系统。
[0094] 为达到上述目的,本发明技术方案如下:
[0095] 第一步:垃圾自主识别,设计一种基于深度卷积神经网络算法的垃圾检测算法,通过训练与测试,得到优化的网络模型及其参数。
[0096] 本发明提出了一种基于深度学习的垃圾检测,算法利用深度学习算法对视频图像中的垃圾物体进行识别,输出目标为该图像的类别信息和检测框等。其应用于水上垃圾检测的基本流程如图1所示,主要包括以下6个步骤:
[0097] 1.采集水上垃圾图像,包括水草,叶子,塑料袋,水瓶,以及树枝这五种垃圾,构建标准的水上垃圾数据集,含已标注的训练集和测试集,比例为3:1,在送入卷积神经网络前先进行批量预处理使图片尺寸一致;
[0098] 2.将训练集中的垃圾图像输入主体卷积神经网络进行特征提取,使用的网络框架结构如图2所示,由57个卷积层和多个残差层组成。卷积层通过卷积运算对目标特征提取,残差层对不同层的输出进行跨层直连,其结构如图3所示,这种结构设计可以降低模型的复杂度,并减少相关参数,在加深网络层数的同时避免梯度消失或爆炸等问题。
[0099] 3.为加强对小尺度垃圾对象的检测精确度,本发明利用13×13,26×26,52×52,104×104四尺度融合模型进行目标预测,输出多个水上垃圾目标的定位与分类结果,其多尺度输出网络如图4所示。输出的结果中,每个网格对应3个先验框,每个先验框预测信息包含4个边框位置参数(中心坐标和宽高),1个垃圾目标评价和5个类别预测。
[0100] 4.利用分类器对目标检测结果进行目标性评分,利用非极大值抑制的方法对检测结果进行筛选,选取置信度最高的检测框作为第一输出边界框1,选取其他检测框计算与边界框1的重叠率,若大于预设阈值,则舍弃,否则保留;继续选取除边界框1外置信度最高的预测边框2重复上述步骤,直到没有剩余检测框,此时留下来的就是图像中包含水上垃圾的目标检测结果;
[0101] 5.计算损失函数,通过反向传播,利用梯度下降法对模型参数进行不断调整,最终得到最佳的网络模型;
[0102] 6.输入测试集中的水上垃圾图像,利用训练好的最佳网络模型提取目标特征,并输出多尺度预测结果,通过分类器进行目标性评分,非极大值抑制法筛选检测结果,最终得到基于深度卷积神经网络的垃圾检测算法的测试结果,如图5所示。
[0103] 第二部分:利用ZED相机对识别的垃圾完成定位
[0104] 首先,利用ZED相机结合之前设计的卷积神经网络完成垃圾的实时检测。调试ZED相机完成水面上的图像信息的抓拍,把拍摄的视频图像转换成416*416*3尺寸,输入训练好的卷积神经网络中,经过卷积神经网络之后,输出4个尺度的预测结果。利用分类器方法对网络输出的多尺度预测结果进行垃圾目标评分,利用非极大值抑制方法对预测的垃圾物体边框进一步筛选,输出较为准确的水上垃圾的检测框与类别结果。
[0105] 其次,运用ZED双目相机的深度信息计算得到相对距离的关系。首先给定一个像素坐标点,通过计算得到垃圾目标相对于相机的位置,即以左侧相机为原点,以垂直相机的方向为Z轴,以相机平面方向构建x轴和Y轴,建立的三维坐标系如图6所示。
[0106] 之后,再运用双目立体视觉算法计算出相对位置的关系,双目立体视觉法的原理是:左目相机与右目相机拍摄到的图像之间存在视差,如图7所示。通过立体匹配求出每个像素点的视差值,再根据三角测量原理即可计算出每个像素点与相机之间的距离。
[0107] 假设左镜头与右镜头的距离确定为L,∠SAB和∠SBA两个角度可以通过ZED摄像头测量得到,此时三角形SAB已经确定下来。通过如下计算可以得到摄像头如水上垃圾目标的距离信息,进而求得相关的具体坐标信息,计算方法如下:
[0108]
[0109]
[0110]
[0111] 对前两个部分进行调试,将视觉识别和视觉定位两部分放在一起进行测试,在湖面上对瓶子进行检测。这样的方法不仅可以检测出瓶子而且可以对瓶子进行测距。可以很好的完成上述功能。
[0112] 第三步:PC端和机器人的通讯:
[0113] 本发明需要将检测到的垃圾的位置信息给到机器人,通过RS232通讯线使机器人PC可以传递位置信息给主控DSP28335。
[0114] 第四步:机器人算法
[0115] 对机器人算法本发明利用神经网络的方法实现无模型强化学习算法,算法如下:
[0116] 1.首先给定一个可行的控制器 设定初始性能函数V为
[0117]
[0118] R和Q矩阵为性能函数的一部分,设置为正定对称阵即可。α是性能函数里的指数项上的一个常系数,一般设置为小于1的正数。e(t)为机器人和垃圾的相对位置。v0和w0为初始‑α(τ‑t) T的线速度和角速度,u(t)为t时刻的控制输入矩阵,e 为和时间相关的衰减因子,e(t)T
为矩阵e(t)的转置矩阵,u(t) 为矩阵u(t)的转置矩阵,d为积分符号,τ为时间微分变量。
[0119] 2.利用下面式子求解控制器uj以及性能函数Vj
[0120]
[0121] 其中,uj为j时刻的控制器,Vj为j时间的性能函数,对之前,T为采样时间,X(t)为t时刻收集的要输入评价器的水上清洁机器人的参数,在本发明中为机器人的线速度角速度‑αT ‑α(τ‑t)以及机器人和垃圾的相对位置;e 中的T为采样时间,代表时间为T的衰减因子,e 为
T
和时间相关的衰减因子,X为τ刻机器人和垃圾的相对位置的转置矩阵,R和Q矩阵为性能函j
数的一部分,设置为正定对称阵;τ为时间微分变量,u 为第j次迭代的控制器在τ刻的控制矢量。
[0122] 3.令uj=uj+1,返回步骤二,直到Vj收敛到最小值,uj→u*,其中uj为j时刻的控制器,* j为j+1时刻的控制器,u为当V为最小值时的控制器;
[0123] 本发明用神经网络的方法来求解式1.5,为控制该水上机器人,我们采用两个神经j j+1网络来估计性能函数V和控制器u :
[0124]
[0125]
[0126] 其中 为基函数; 为常数权重矩阵;l1和T j m
l2为神经元数量。定义v=[v1,…,vm] =u‑u∈R ,并假设R=diag(r1,…,rm),其中m为动作j
的维数,v1、vm对应u和u第1维动作和第m维动作的差值,R=diag(r1,…,rm)为设置的权值矩阵,其中的参数r1和rm为控制输入矩阵u对应的权值,即对第1维动作和第m维动作对性能函数的影响权值。将上述性能函数和控制器式子带入式1.5中得:
[0127]
[0128] 其中eNN(t)为贝叶斯误差, 为 的第k列,为得到使贝尔曼估计误差eNN(t)最小的权重矩阵 和 可利用最小二乘法。
[0129] 上式写为:
[0130]
[0131] 其中:
[0132]
[0133]
[0134] 其中l1和l2为神经元数量,m为动作的维数;
[0135]
[0136] 在t1到tN(N≥l1+m×l2)时刻收集yo(t)和to(t)的数据得:
[0137] Yo=[yo(t1),…,yo(tN)]          (1.13)
[0138] To=[to(t1),…,to(tN)]           (1.14)
[0139] 所以权值矩阵的最小二乘解为:
[0140]
[0141] 如此由式1.6、1.7就可以求得性能函数Vj和控制器uj+1。
[0142] 水上机器人设计:
[0143] 硬件部分设计如图8所示。
[0144] 本次设计的方案是,要控制船的移动和转向,就需要动力装置和转向的装置,或者左右两个动力装置,通过左右轮速度的不同来控制转向,方案需要两个电机且能耗大,为实现一个动力装置使船可以运动,一个装置控制其转向即可,所以本发明选择了电机和舵机相结合的方法对机器人进行控制,舵机控制动力装置的转向,电机为水上清洁机器人提供动力,其中电机还需要电子调速器对它进行控制,同时采用10A的蓄电池对其进行供电,针对不同的模块对电压需求的不同,本专利又增加一个电压转换模块,又考虑到水上清洁机器人工作环境的复杂性,在需要清理垃圾的水面中水草等容易缠住螺旋桨的东西很多,为了安全和耐用性考虑,本发明选择将动力装置装在水上,采用风动的方式来驱动水上机器人。为实现自主学习,所以对主控芯片有一定的要求,经过分析选择了DSP28335作为主控芯片,DSP28335含有多种外接接口,可以很好地完成输出PWM波和脉冲信号的功能,同时还可以通过RS232通讯线接受PC端传递来的信息,而且由于它的时钟频率达到150MHZ,其处理的速度较快,对于处理神经网络的方法实现无模型强化学习这个算法的效果也会更好。
[0145] 硬件主要设备为:
[0146] 1.电子调速器:针对电机不同,可分为有刷电调和无刷电调。它根据控制信号调节电动机的转速。电调并不能兼容所有电机,它必须根据电机的功率等参数来进行选择。考虑到所选电机的功率并有一定裕量,我们选用型号为WP‑8BL100的电子调速器。
[0147] 2.电机:本专利采取了风动式的电机,通过风力来驱动水上清洁机器人运动,选用电机的型号为4035无刷电机,最大电流为75A,最大电压为17V,最大功率为2000W,通过PWM波进行控制,发送不同占空比的PWM给电子调速器,电子调速器就可以发送不同电压给电机以控制电机转速。
[0148] 3.舵机:舵机的功能是为了控制转向的,舵机控制电机转动,从而控制动力方向的改变,其控制需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms‑2.5ms范围内的角度控制脉冲部分,总间隔为20ms,我们通过DSP28335来给定脉冲信号。
[0149] 4.主控DSP28335:DSP28335是一种数字信号处理器,有外设集成度高,功耗小,性能高,精度高,A/D转换更精确快速,成本低,数据以及程序存储量大等优点。同时具备3路SCI口,可以实时与其他设备或传感器通过串口进行通信,SCI口和电子罗盘以及定位标签连接。DSP28335同时拥有18路PWM输出,其中PWM1‑PWM6加了驱动芯片,可输出高精度的PWM波,可以更加精确地输出PWM波。
[0150] 软件设计方案:
[0151] 软件则是为了配合硬件完成功能,软件流程如图9所示。首先要开始系统的初始化,对SCI时钟等多个模块进行初始化,然后接受来自PC端发送的垃圾位置的数据,这里采用接收中断的方式,检测到有信号传递过来即进入接受中断,并处理接受的数据,接受的数据输入利用神经网络的方法实现无模型强化学习算法中,经过该算法计算得期望的角速度和线速度,根据电机和舵机的工作方式,转换为输出PWM波给电子调速器从而控制电机转速,发送宽度不同的脉冲信号从而控制舵机转向。PC端不停检测信号,不断发送给DSP,DSP的算法不停计算,并控制电机和舵机,控制机器人运动,直到逼近目标完成打捞。
[0152] 如图10和图11所示,即为本发明的整体结构和整体控制流程。
[0153] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。