一种基于深度强化学习的黄桃挖核机器人行为控制方法与流程

文档序号:14217628阅读:228来源:国知局

本发明属于计算机应用及人工智能技术领域,涉及一种基于深度强化学习的黄桃挖核机器人行为控制方法。



背景技术:

随着社会的发展和技术的进步,劳动力短缺以及劳动力价格的不断攀升等社会问题的出现,极大的促进了工业机器人的研究、应用与普及。近年来,工业机器人的研究和应用一直是科学研究和社会关注的热点之一。但由于工业机器人要求较高的灵巧性、较高的稳定性、较高的环境容忍度等技术因素,一直困扰着工业机器人的研发和应用。早期的工业机器人是机电一体化的产物,而随着市场对工业机器人性能的要求不断提高,使得计算机技术、图像识别技术等更高层次的技术不断的融入到工业机器人中,从而提高工业机器人的性能。具有视觉功能的工业机器人可以完成普通工业机器人难以完成的复杂工作,对于代替劳动力极具优势。

目前带有视觉功能的工业机器人还不是非常普遍,工业机器人一般是通过开环的机械臂、机械手等一系列机械结构,模拟人的动作,来代替劳动力工作,实现社会生产。工业机器人的工作过程一般是采集信息、处理信息、执行动作、反馈信息等步骤。其中,采集信息、反馈信息主要依靠传感器,在特殊的环境下,视觉传感器便显得格外重要。甚至某些工作离开了摄像头就没法实现。我国的工业机器人研发主要是由中科院沈阳自动化研究所、哈尔滨工业大学、清华大学、上海交通大学等机构和高校为主,并成立了相关的工业机器人研究基地,已经取得了令人瞩目的成绩。如哈工大研究所研发的码垛机器人,已经取得了非常好的效果,并已投产使用。哈工大机器人集团还研制了其他领域的工业机器人,都取得了非常好的成绩。沈阳新松自动化有限公司研发的通用工业机器人,打破了许多国际垄断技术和技术封锁,代替了大量的进口工业机器人,许多技术填补了我国的多项空白。许多产品成为美国知名企业的重点采购对象。常州铭赛机器人科技有限公司研发的基于机器视觉的点焊机器人,也取得了显著的成绩。目前也大量应用于电路板焊制等工作上,制作电路板的精度非常高,质量远远超过人工制作的电路板,产生了非常大的经济效益和社会效益。

国际上,日本的著名学者s.murakami研究设计了一款基于机器视觉的焊接机器人,它的原理是采用图像识别技术进行识别,并使用神经网络算法对处理过的图像进行识别,并识别得到要焊接的形状,从而可以有效地进行跟踪焊接,大大提高了焊接的精准度。澳大利亚的西部大学研发了一款工业机器人,机器人具有六自由度,它的原理是使用多目摄像头进行空间定位,通过摄像头数据进行3d重建,生成空间坐标,得到景深数据,并目标物进行图像识别,得到目标物具体的位置,可以进行汽车的装配等工作,其精确度非常高。此工业机器人甚至根据不间断的拍照计算的空间坐标系得出机器人目前的位置。目前许多国际大公司都使用工业机器人进行装配,尤其是许多汽车生产公司。可以通过多目摄像头进行三维空间生成和模式识别,从而可以进行密封的汽车装配。瑞士的sig公司研发了一种基于机器视觉的能够在传送带自动分拣货物的机器人,可以适应高速状态,实现快速的分拣。其可以通过图像进行定位,可以取下传送带上的随机物品,同时并摆放到指定的位置。

尽管如此,我国在许多劳动密集型领域中工业机器人仍是起步状体,需要更多的工业机器人投入到市场,以解决我国目前劳动力紧缺和劳动力价格攀升的现状。目前黄桃罐头加工厂的黄桃挖核环节都是人工挖核,市场上已有机器的挖核效果远远低于人工挖核水平。另外,国外的一个自动化生产设备昂贵,并且不能适应国内的黄桃品种,而且挖核的质量远不及人工,这种机器加工的黄桃只能适用于中低端市场,无法适用于高端市场。所以工厂是都是采用人工去核。由于食品制作对卫生要求很高,工人必须穿着包裹整个身体的工作服、工作靴和佩戴帽子和口罩,而黄桃罐头的产季集中在七、八月份,天气酷热,使得工人承受心理和生理的考验,导致罐头厂招人非常困难。另外,人工挖核的质量随个体差异具有优劣,不能完全保证挖核的品质。用于挖核的机器人由于黄桃的桃核形状不一,很难用传统的机械控制方法进行挖核的行为策略控制。

深度强化学习以深度学习做感知,强化学习训练策略,并且以深度神经网络作为策略载体。相比于传统的多模块组合,深度强化学习实现了从感知到控制的端到端直接训练,减少了模块间信息损失(michaell.littman.reinforcementlearningimprovesbehaviourfromevaluativefeedback[j].nature,2015,521(7553):445-451.)。近两年,googledeepmind团队在连续性动作控制,异步训练,分布式训练等都有重要突破,为智能机器人的研发奠定理论和实践基础(vmnih,kkavukcuoglu,dsilver,aarusu,jveness.human-levelcontrolthroughdeepreinforcementlearning[j].nature,2015,518(7540):529.)。在特定任务的应用上,深度增强学习已有广泛实践尝试,例如流水线机器人。

本专利基于深度强化学习研究具有视觉功能的黄桃挖核机器人的行为控制策略,以期提高其工作性能。深度学习具有很强的表示能力,使用方便,但其决策能力却不是很好;强化学习具有很好的决策能力,但很难处理状态空间和动作空间巨大的情形,本专利将深度学习与强化学习结合在一起,充分发挥深度学习的感知能力和强化学习的决策能力,使机器人能够利用深度学习识别的桃核状态根据强化学习获得的策略矩阵指导单片机控制电机挖除桃核,最终完成任务。



技术实现要素:

针对传统的机械控制方法难以有效的对黄桃挖核机器人进行行为策略控制,本发明提出了一种基于深度强化学习研究具有视觉功能的黄桃挖核机器人的行为控制策略,以期提高其工作性能。在机器人硬件方面,搭建的挖核机器人主要使用了工控机和stm32单片机,工控机和单片机分工协同工作,工控机的作用主要是获取图像、处理图像、执行算法,单片机的作用主要是直接控制电机,二者通过usb接口进行通信。在控制算法方面,本专利通过深度学习实现黄桃挖核机器人桃核状态识别的工作,通过强化学习实现行为策略的控制。在应用上,工控机作为处理器,搭建caffe和matlab平台,caffe将图像处理后的状态数据通过接口传递给matlab,matlab再根据训练好的策略矩阵选择最优动作,并将动作数据通过usb接口传送给stm32单片机,由单片机控制电机执行动作。

本发明的技术方案:

一种基于深度强化学习的黄桃挖核机器人行为控制方法,步骤如下:

(1)特征提取

首先利用深度学习方法进行特征提取,建立训练集和测试集;其中,使用10000张黄桃剖面图片作为训练集,分为360个类别,每个类别相差1°转角,测试集中包含500张桃核图片;训练集和测试集的图片均具有标签的;使用具有5层的卷积神经网络对训练集的核桃状态进行特征提取;

(2)构建桃核图像的分类器

采用softmax分类器对黄桃剖面图片进行分类,由于黄桃剖面图片分为360个类,因为分类的输出为360维的向量;

首先确定分类器基本的决策规则,然后确定用来划分类别的阈值;用已知的黄桃剖面图片来训练分类器,已知的训练集是由已经被标记过的对象组成,提取这些对象的特征,然后利用分类器的决策面把特征向量划分成不同的区域,最终获得输入桃核图像的类别;

具体地,把标准的人工挖核的桃核核尖的指向作为标准值,把摄像机实际获取的图像的桃核核尖指向偏离标准值的角度每一度分为1个类,有360个类,即类别数k=360;softmax分类器函数hθ(x)形式如公式(1)所示:

其中,θ1,θ2,…,θk是模型的参数,x(i)是第i个输入样本,y(i)是第i个输入样本对应的类别,这一项是对概率分布进行归一化,使得所有的概率之和为1;

(3)建立强化学习的动作集

搭建的黄桃挖核机器人为6轴机器人,由6个伺服电机协同工作,完成黄桃的挖核工作,6个伺服电机的布置位置分别为:旋转底盘布置1个伺服电机、摩擦轮机构布置2个伺服电机、刀具机构布置2个伺服电机、下料机构布置1个伺服电机;将伺服电机旋转一周视为360个动作,即每一整数角度都为一个动作,6个伺服电机共有360*6=2160个动作,形成动作集;

(4)建立强化学习的策略函数和值函数,获得最优的挖核行为控制策略

将特征提取步骤中,由卷积神经网络获得的状态信息作为强化学习的输入;由策略函数根据状态信息,执行相应的动作,然后获取回报,接着根据新的状态继续执行新的动作,直至结束;由于共6个伺服电机,执行过程分6步,由6个伺服电机分别执行,立即回报由距离目标位置的角度组成,包括两个部分:一个是旋转底盘距离目标位置的角度,一个是桃子托盘距离目标位置的角度;每一个的角度距离目标位置越近,立即回报越高;因此,立即回报由这两个角度所得的回报两部分组成,设计成如式(2)所示:

其中:t为常量,ψ1为旋转底盘所要到达的目标位置角度,为旋转底盘位置的当前角度,ψ2为桃子托盘所要达到的目标位置,为桃子托盘的当前位置,st是当前时刻的状态,at是在当前状态下选择的动作,r是在状态st下选择动作at所能获得的立即回报;

策略函数π(·)根据当前状态,从动作集中选择合适的动作,表示为at=π(st);即实现从桃子状态到电机转动角度的映射;桃子状态就是黄桃剖面图片,动作就是电机要转动的角度,通过强化学习训练出一个从黄桃剖面到电机转动角度的表,通过查表的方式完成策略函数,最终得到最优的黄桃挖核行为控制策略;

(5)基于行为控制策略的机器人动作协同过程

首先将黄桃放置在桃子托盘上,机器人拍照获取桃子图像,经过深度学习得到桃子图像状态,然后运行底部托盘电机,使其运动到下一个工位;下一个工位为调整装置,包括两个动作:一个是伸缩机械手臂,将调整装置与桃子托盘接触;另一个是摩擦轮,通过摩擦轮调整桃子托盘,使得桃子托盘运动,从而改变桃子状态;接着底部托盘继续运动,使其运动到下一个工位,此部分也包括两个动作:升降平台和挖核机构;升降平台的作用是移动挖核机构,挖核机构的作用是夹持刀具去掉桃核,去掉核之后,底部托盘继续运动,到达下一个工位,由下料机构将桃子取下;以上动作的执行以及执行顺序不是由人工设计,而是由强化学习算法自主学习获得;另外以上动作中,每一个动作执行后都需要摄像头获取图像,从而得到桃子状态。

本发明的有益效果:本发明将深度学习与强化学习结合在一起,充分发挥深度学习的感知能力和强化学习的决策能力,使机器人能够利用深度学习识别的桃核状态,进而,通过强化学习的方法指导单片机控制电机挖除桃核,以最终完成挖核任务。本发明对于代替人工劳动力的挖核任务具有优势。

附图说明

图1是本发明的算法流程图。

图2是基于cnn的桃核特征提取结构流程图。

图3是桃剖面图像训练集部分实例图。

图4是cnn训练的损失曲线。

图5是不同方法得到的黄桃图像样本分类结果示意图;

图5(a)、5(b)、5(c)、5(d)依次为使用桃子对称轴法、桃核对称轴法、桃核偏心距法以及深度学习方法,得到的500个测试样本的状态识别角度与实际值的偏差。

图6是强化学习模型获得的总回报值曲线。

图7是挖核效果对比图。

图7(a)和图7(b)为传统的机器挖核方法获得的效果图。

图7(c)和图7(d)为基于深度强化学习行为控制策略的机器挖核方法获得的效果图。

具体实施方式

所论述的具体实施例仅用于说明本发明的实现方式,而不限制本发明的范围。下面结合附图对本发明的实施方式进行详细说明。

算法总体流程如图1所示。以下进行详细说明。

1、特征提取。

建立训练集和测试集。其中,使用10000张黄桃剖面图来作为训练集,分为360个类别(每个类别相差1°转角),测试集中包含500张黄桃剖面图。训练集和测试集的图片是具有标签的。使用具有5层的卷积神经网络(cnn)对核桃状态进行获取。为在caffe平台下训练cnn模型,黄桃剖面图通过统一命名方式连续编码,并将原始数据转化为caffe处理的数据类型lmdb格式。在原始数据格式转化后,为了提高训练和测试的速度和精度,需要对桃核图像进行计算均值。统一命名、格式转换和计算均值是对图片的预处理。进而使用具有5层的卷积神经网络(cnn)对核桃状态进行特征提取。用于桃核特征提取的卷积神经网络结构,如图2所示。在对桃核特征提取的过程中,训练集为10000张黄桃剖面图,如图3所示。在训练过程中,每迭代一次训练图片200张,最大迭代次数为5000次。从图4中我们可以看出,随着迭代次数的增加,损失越来越低,逐渐收敛。

2、构建桃核图像的分类器。

采用softmax分类器对桃核图像进行分类。在黄桃挖核机器人的工业化需求中,实际的黄桃挖核容忍的入刀点与桃核尖的角度偏差为1度,如果超过1度,下刀的深度将受到影响,将影响实际的水果果肉的留存率。实验中把标准的人工挖核的桃核核尖的指向作为标准值,而把摄像机实际获取的图像的桃核核尖指向偏离标准值的角度每一度分为1个类,有360个类。softmax分类器函数hθ(x)形式如公式(1)所示:

其中,θ1,θ2,…,θk是模型的参数,x(i)是第i个输入样本,y(i)是第i个输入样本对应的类别,这一项是对概率分布进行归一化,使得所有的概率之和为1;

首先确定了分类器基本的决策规则,然后就要确定阈值用来划分类别。首先用已知的桃核类别图像来训练分类器,已知的训练集是由已经被标记过的对象组成,提取这些对象的特征,然后利用分类器的决策面,把特征向量划分成不同的区域,以最终获得输入黄桃剖面图的桃核图像的类别。

为了对分类准确率进行比较,采用同样的500张图片作为测试集,对桃子对称轴估计核尖指向、桃核对称轴估计核尖指向、桃核偏心距估计核尖指向以及深度学习算法的对桃核核尖的分类准确率进行对比,对比结果如图5所示。x轴表示500个样本,y轴表示每个样本的桃核偏离标准状态的实际值,z轴表示用不同的方法获得的识别值。每种方法对桃核图像分类的识别值和实际值相差在0.5度之内,即当y∈[z-0.5,z+0.5]时,认为识别分类正确。基于深度学习获得的特征进行分类,准确性能够达到96%以上。

3、建立强化学习的动作集

本专利搭建的黄桃挖核机器人为6轴机器人,由6个伺服电机协同工作,完成黄桃的挖核工作,这6个伺服电机分别为旋转底盘一个电机、摩擦轮机构2个电机、刀具机构2个伺服电机、下料机构1个伺服电机。为了简化执行,将电机旋转一周视为360个动作,即每一整数角度都为一个动作,由于有6个伺服电机,则共有360*6=2160个动作。动作的选择则由策略函数根据状态决定。

4.建立强化学习的策略函数和值函数,获得最优的挖核行为控制策略。

将由深度学习获得的状态信息作为强化学习的输入,由策略函数根据状态信息,执行相应的动作,然后获取回报,接着根据新的状态继续执行新的动作,直至结束。由于共6个伺服电机,执行过程分6步,由6个伺服电机分别执行,立即回报可由距离目标位置的角度组成,包括两个部分:一个是底部转盘距离目标位置的角度,一个是桃子托盘距离目标位置的角度;每一个的角度距离目标位置越近,立即回报越高;因此,立即回报可由这两个角度所得的回报两部分组成,设计成如式(2)所示:

其中:t为常量,ψ1为底部转盘所要到达的目标位置角度,为底部转盘位置的当前角度,ψ2为桃子托盘所要达到的目标位置,为桃子托盘的当前位置,st是当前时刻的状态,at是在当前状态下选择的动作,r是在状态st下选择动作at所能获得的立即回报;

策略函数根据当前状态,从动作集中选择合适的动作,可以表示为at=π(st),即实现从桃子状态到电机转动角度的映射。桃子状态就是黄桃剖面图剖面的图像,动作就是伺服电机的角度,通过强化学习可训练出一个从黄桃剖面图到伺服电机转动角度的表,通过查表的方式完成策略函数功能,最终得到最优的黄桃挖核行为控制策略。在训练过程中,训练集有10000个黄桃剖面图样本,通过多次训练,得出最优的值函数和策略函数。

5、基于行为控制策略的机器人动作协同过程

机器人的视觉和控制系统是由工控机完成的,在工控机上搭建caffe和matlab平台,在caffe环境下运行步骤(1)和(2)中的基于深度学习的桃核图像状态识别算法,识别的状态结果传送给强化学习算法,由强化学习算法在matlab中得到行为控制策略,将动作数据通过usb接口传送给stm32单片机,由单片机控制电机执行动作。具体地,首先将黄桃放置在桃子托盘上,机器人拍照获取黄桃剖面图,经过深度学习得到黄桃剖面图状态,然后运行底部托盘电机,使其运动到下一个工位。下一个工位为调整机构,包括两个动作:一个是伸缩机械手臂,将调整机构与桃子托盘接触;另一个是摩擦轮,通过摩擦轮调整桃子托盘,使得桃子托盘运动,从而改变桃子状态。接着底部托盘继续运动,使其运动到下一个工位,此部分也包括两个动作:一个升降平台,一个挖核机构。升降平台的作用是移动挖核机构,挖核机构的作用是夹持刀具去掉桃核,去掉核之后,底部托盘继续运动,到达下一个工位,由下料机构将桃子取下。以上动作的执行以及执行顺序不是由人工设计,而是由强化学习算法自主学习获得。另外以上动作中,每一个动作执行后都需要摄像头获取图像,从而得到桃子状态。

评价指标采用挖桃核每一步动作的得分之和,也就是每个电机转动一个角度后所得的分数之和。一个训练周期中各个电机执行动作所得的分数之和为总回报,图6给出了总回报值与训练周期之间的关系。从图中可以看到,随着训练周期的增长,平均回报值不断平稳增加,这说明训练结果随着训练周期的增加不断提高,得到的策略函数也在不断优化。图7给出了传统的机器挖核方法和基于深度强化学习行为控制策略的机器挖核方法对比图。本专利的方法可以获得更高的去核率核更高的果肉留存率。

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