首页> 中国专利> 基于强化学习和无监督学习的机器人技能学习方法及系统

基于强化学习和无监督学习的机器人技能学习方法及系统

摘要

本发明公开了一种基于强化学习和无监督学习的机器人技能学习方法及系统,在执行某一指定任务时,机器人控制器控制执行机构作出动作,图像采集子系统采集执行机构在任务环境下的实时状态图像,无监督学习子系统的编码器将实时状态图像转换成实时状态编码,以及以设定的执行机构执行完成指定任务时的状态图像作为目标图像,将其转换成目标编码;深度强化学习子系统再根据实时状态编码和目标编码,输出下一时刻执行机构的动作值;机器人控制器根据执行机构的动作值,实时控制执行机构作出相应动作,直至执行机构执行完成任务。本发明系统相比于普通的端到端网络,更加具有通用性,不仅可以应用于不同的目标以及任务,也可以压缩训练时间。

著录项

  • 公开/公告号CN113011526A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN202110439517.0

  • 发明设计人 陈艺文;占宏;杨辰光;

    申请日2021-04-23

  • 分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构44245 广州市华学知识产权代理有限公司;

  • 代理人钟瑞敏

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明涉及机器人控制技术领域,特别是一种基于强化学习和无监督学习的机器人技能学习方法及系统。

背景技术

强化学习作为目前应用较广的一种机器学习算法,其最大的特点在于能够从环境中学习从状态到动作的映射,以人为设计的奖励函数为基础,使得一系列动作决策都是以最大化累积奖励为目标。其中深度强化学习即是以深度神经网络为基础,以状态作为网络输入,动作作为网络输出值,通过不断地训练得到最佳的决策网络。深度强化学习可以应用于各种需要决策优化的场景,比如游戏AI以及机器人控制等。

随着机器人技术的发展,机器人的应用场景在逐渐增多,比如机械臂的任务规划问题一直是机器人研究领域的重要方向。强化学习可以使得机械臂在通过训练之后执行不同的任务,对于端到端的强化学习网络架构来说,可以仅使用图片作为输入,然后输出机械臂运动所需的关节角度变化。但是,使用端到端的深度神经网络一般难以收敛,需要更多的训练时间,而且对于不同的任务,需要设计不同的奖励函数,特别定制的网络结构以及参数使得它只能完成特定的任务,难以拓展到其他不同的任务。

发明内容

本发明的第一目的在于解决现有技术的不足,提出一种基于强化学习和无监督学习的机器人技能学习方法,通过目标图像的输入即可使机器人执行机构完成相对应的目标任务,减少了对每个特定技能学习进行算法设计或者奖励函数设计的需求,有效提高了机器人的技能学习效率。

本发明的第二目的在于提出一种基于强化学习和无监督学习的机器人技能学习系统,其使用了包含无监督和强化学习的系统架构,相比于普通的端到端网络,更加具有通用性。

本发明的第一目的通过下述技术方案实现:基于强化学习和无监督学习的机器人技能学习方法,包括如下步骤:

S1、机器人控制器先使用蒙特卡洛树搜索来控制执行机构在任务环境中作出随机动作;图像采集子系统采集执行机构的实时状态图像,并将实时状态图像传输给无监督学习子系统;

S2、无监督学习子系统利用实时状态图像进行无监督学习:先令内部的编码器将实时状态图像转换成实时状态编码,再令内部的解码器将实时状态编码还原为实时状态图像,直至解码器所还原出来的实时状态图像为原输入图像,此时无监督学习子系统即训练完成;

S3、利用训练完成后的编码器将实时状态图像转换成实时状态编码,然后以某一时刻的实时状态编码作为深度强化学习子系统的输入,深度强化学习子系统输出下一时刻执行机构的动作值,并以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数,由此进行深度强化学习子系统的更新;

S4、设定在任务环境下执行机构执行完成某一指定任务时的状态图像,并将其作为目标图像;

S5、机器人控制器先根据指定任务,控制执行机构作出动作,图像采集子系统采集执行机构执行过程中的实时状态图像,并将实时状态图像传输给无监督学习子系统;

S6、训练完成后的无监督学习子系统的编码器将实时状态图像转换成实时状态编码,以及将输入的目标图像转换成目标编码;训练完成后的深度强化学习子系统以实时状态编码作为输入,输出下一时刻执行机构的动作值,以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数;机器人控制器根据执行机构的动作值,实时控制执行机构作出相应动作;

S7、重复步骤S5~S6,直至执行机构执行完成任务。

优选的,在步骤S3中,深度强化学习子系统以某一时刻的实时状态编码、下一时刻的实时状态编码及动作值、目标编码作为一组训练数据;

多组训练数据存放到一个重放经验池中,在每次训练时,从重放经验池中有放回地抽取一个批次的训练数据来对深度强化学习子系统进行训练。

优选的,在步骤S6中,以下一时刻的实时状态编码和目标编码之间的欧几里得距离计算奖励函数,奖励大小与欧几里得距离成反比。

优选的,训练所用的目标编码直接使用从高斯分布采样得到的向量。

本发明的第二目的通过下述技术方案实现:一种基于强化学习和无监督学习的机器人技能学习系统,所述系统用于实现本发明第一目的所述的基于强化学习和无监督学习的机器人技能学习方法,包括无监督学习子系统、深度强化学习子系统、机器人控制子系统以及图像采集子系统,机器人控制子系统进一步包括机器人控制器和执行机构;

其中,图像采集子系统安装在执行机构所在任务环境中,用于采集执行机构在该环境下执行任务过程中的实时状态图像,图像采集子系统连接无监督学习子系统,并将实时状态图像传输给无监督学习子系统;

无监督学习子系统、深度强化学习子系统、机器人控制器和执行机构依次连接,无监督学习子系统为变分自编码器,其编码器用于将实时状态图像转换成实时状态编码,以及以设定的机器人执行机构执行完成任务时的状态图像作为目标图像,将目标图像转换成目标编码;

深度强化学习子系统采用神经网络的形式,以某一时刻的实时状态编码作为网络输入,以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数,网络输出对应的下一时刻执行机构的动作值;

机器人控制器用于根据深度强化学习子系统输出的下一时刻执行机构的动作值,实时控制执行机构作出相应动作,直至任务执行完成。

优选的,无监督学习子系统包含有相连接的编码器和解码器,编码器用于对图像进行压缩编码,图像被投射到一个潜在变量空间;解码器用于从潜在变量空间中进行采样,并将编码还原为原输入的图像;

其中,编码器和解码器都采用神经网络形式,编码器包含多层卷积层和连接多层卷积层的全连接层,卷积层用于对二维图像进行处理得到特征,全连接层用于将特征合成一维向量;

解码器包含相连接的全连接层和转置卷积层,全连接层用于将编码器输出的一维向量变形为二维的形式,转置卷积层用于将二维向量进行处理,转换成二维图像,该二维图像的尺寸与输入编码器的二维图像的尺寸一致。

优选的,执行机构为机械臂,机械臂含有至少6个自由度,机器人控制器用于控制机械臂各个关节的旋转角度,以及控制机械臂末端上的执行器的位姿。

优选的,深度强化学习子系统使用深度强化学习网络架构,深度强化学习网络架构包括深度Q网络、actor-critic网络、梯度策略算法。

优选的,图像采集子系统为摄像头模块,摄像头模块含有至少一个彩色摄像头,摄像头视野覆盖执行任务过程中的被操作物体;当摄像头数量为两个以上时,摄像头模块先将全部摄像头采集的实时状态图像合并,再发送给无监督学习子系统。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明可提高机器人的技能学习效率,通过变分自编码器的编码器对图片进行编码,提取出图片的特征信息,然后利用编码作为强化学习的网络输入,并进行强化学习的奖励函数计算,无需为每个特定技能的学习另外设计对应的奖励函数,因此可以减少对每个特定技能学习进行算法设计或者奖励函数设计的需求,提高系统和方法的通用性。使用变分自编码先进行特征提取,减少了强化学习网络的输入维度,提高了强化学习的训练效率。

(2)本发明通过设定期望图像,利用实时图像与期望图像的差异驱使执行机构来执行任务,最终执行机构能达到与期望图像一致的状态,因此可应用于不同的目标以及任务。

(3)本发明在训练编码器网络的过程中,使用蒙特卡洛树搜索来控制机械臂在任务动作空间中运动,摄像头进而可以收集到充分的数据以便后续训练变分自编码器。与传统采用的随机采样相比,这样的方式可以使得数据收集更加均匀全面,避免一些小概率但又比较重要的数据没有收集到,有利于提高网络训练效率和深度强化学习子系统的决策准确度;使用高斯采样得到的向量作为强化学习的目标输入,不用每次通过手动摆放机械臂来收集目标图像以生成目标编码,从而可以减少在机械臂训练过程中的工作量。

附图说明

图1为本发明实施例1基于强化学习和无监督学习的机器人技能学习系统的结构框图。

图2为本发明实施例1中机械臂执行任务的示意图。

图3为本发明实施例1中变分自编码器的训练示意图。

图4为本发明实施例1中强化学习网络的训练示意图。

标号说明:1为摄像头,2为机械臂,3为滑块,4为工作台面。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1

如图1所示,本实施例提供了一种基于强化学习和无监督学习的机器人技能学习系统,可输入目标图像,使机器人执行机构完成相对应的目标任务。系统包括无监督学习子系统、深度强化学习子系统、机器人控制子系统以及图像采集子系统,机器人控制子系统进一步包括机器人控制器和执行机构。无监督学习子系统、深度强化学习子系统、机器人控制器和执行机构依次连接。

其中,图像采集子系统安装在执行机构所在任务环境中,用于采集执行机构在该环境下执行任务过程中的实时状态图像,图像采集子系统连接无监督学习子系统,并将实时状态图像传输给无监督学习子系统。

这里,图像采集子系统采用摄像头模块,摄像头模块可含有一个或一个以上彩色摄像头,摄像头视野覆盖执行任务过程中的被操作物体。当摄像头数量为两个以上时,摄像头模块先将全部摄像头采集的实时状态图像合并,再发送给无监督学习子系统。

无监督学习子系统为变分自编码器,主要由相连接的编码器和解码器构成。编码器可用于对图像进行压缩编码,图像被投射到一个潜在变量空间。这里,编码器是用来将实时状态图像转换成实时状态编码,以及以设定的机器人执行机构执行完成任务时的状态图像作为目标图像,将目标图像转换成目标编码。

编码器采用神经网络形式,具体包含有多层卷积层和连接多层卷积层的全连接层,卷积层用于对二维图像进行处理得到特征,全连接层用于将特征合成一维向量。

解码器可用于从潜在变量空间中进行采样,并将编码还原为原输入的图像。在本实施例中,解码器采用神经网络形式,其包含相连接的全连接层和转置卷积层,全连接层用于将编码器输出的一维向量变形为二维的形式,转置卷积层用于将二维向量进行处理,转换成二维图像,该二维图像的尺寸与输入编码器的二维图像的尺寸一致。

深度强化学习子系统采用神经网络的形式,可使用例如深度Q网络、actor-critic网络、梯度策略算法等深度强化学习网络架构。强化学习网络在进行决策过程中,需要输入目标状态以及目前状态,这两种状态皆为编码形式。因此,在本实施例中,如图1所示,深度强化学习子系统以某一时刻的实时状态编码作为输入,以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数,输出对应的下一时刻执行机构的动作值。

机器人控制器用于根据深度强化学习子系统输出的下一时刻执行机构的动作值,实时控制执行机构作出相应动作,直至任务执行完成。这里,执行机构可采用含有至少6个自由度的机械臂,机器人控制器可以控制机械臂各个关节的旋转角度,控制机械臂末端上的执行器的位姿,以使机械臂作出相应动作。

比如,当深度强化学习子系统使用行动者-评估者(actor-critic)强化学习网络架构,则目标编码以及状态编码输入到actor网络中,经过计算处理后,由critic网络输出动作指令。动作指令传输到机器人控制器后,机器人控制器控制机械臂执行相对应的动作,与环境产生互动。

另外,本实施例还提供了一种基于强化学习和无监督学习的机器人技能学习方法,可应用于上述机器人技能学习系统。方法具体包括如下步骤:

S1、机器人控制器先使用蒙特卡洛树搜索来控制执行机构在任务环境中作出随机动作,图像采集子系统采集执行机构的实时状态图像,并将实时状态图像传输给无监督学习子系统。

比如,如图2所示,假设希望机械臂2推动工作台面4上的滑块3(即被操作物体)到达一个给定位置,则将指定位置作为蒙特卡洛树的初始结点,在机械臂开始推动滑块时,摄像头1随即采集滑块移动过程中的实时图像。

S2、无监督学习子系统利用实时状态图像进行无监督学习。具体来说,如图3所示,先令内部的编码器将实时状态图像转换成实时状态编码,再令内部的解码器将实时状态编码还原为实时状态图像,多次学习后,解码器所还原出来的实时状态图像可以与原输入图像一致,无监督学习子系统即训练完成,后面才可以取其中的编码器来进行强化学习网络的训练更新。

S3、利用训练完成后的编码器将实时状态图像转换成实时状态编码,然后以某一时刻的实时状态编码作为深度强化学习子系统的输入,深度强化学习子系统输出下一时刻执行机构的动作值,并以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数,由此进行深度强化学习子系统的更新。

其中,如图4所示,可以直接使用从高斯分布采样得到的向量作为训练所用的目标编码,以减少在机械臂训练过程中的人为操作。相似度可采用欧几里得距离,奖励大小与欧几里得距离成反比。

深度强化学习子系统以某一时刻的实时状态编码、下一时刻的实时状态编码及动作值、目标编码作为一组训练数据。多组训练数据存放到一个重放经验池中,在每次训练时,从重放经验池中有放回地抽取一个批次的训练数据来对深度强化学习子系统进行训练。

S4、设定在任务环境下执行机构执行完成某一指定任务时的状态图像,并将其作为目标图像。比如,假设任务为令机械臂推动工作台面上的滑块到达一个给定位置,则可以采集一张滑块在该给定位置的图像作为目标图像。

S5、机器人控制器先根据指定任务,控制执行机构作出动作,图像采集子系统采集执行机构执行过程中的实时状态图像,并将实时状态图像传输给无监督学习子系统。

S6、训练完成后的无监督学习子系统的编码器将实时状态图像转换成实时状态编码,以及将输入的目标图像转换成目标编码;训练完成后的深度强化学习子系统以实时状态编码作为输入,输出下一时刻执行机构的动作值,以下一时刻的实时状态编码和目标编码之间的相似度计算奖励函数;机器人控制器根据执行机构的动作值,实时控制执行机构作出相应动作;

S7、重复步骤S5~步骤S6,直至执行机构执行完成任务。

以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号