CN113927593B - 基于任务分解的机械臂操作技能学习方法 - Google Patents

基于任务分解的机械臂操作技能学习方法 Download PDF

Info

Publication number
CN113927593B
CN113927593B CN202111108859.0A CN202111108859A CN113927593B CN 113927593 B CN113927593 B CN 113927593B CN 202111108859 A CN202111108859 A CN 202111108859A CN 113927593 B CN113927593 B CN 113927593B
Authority
CN
China
Prior art keywords
learning
task
network
skill
mechanical arm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111108859.0A
Other languages
English (en)
Other versions
CN113927593A (zh
Inventor
赵永嘉
刘刊
张宁
雷小永
戴树岭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202111108859.0A priority Critical patent/CN113927593B/zh
Publication of CN113927593A publication Critical patent/CN113927593A/zh
Application granted granted Critical
Publication of CN113927593B publication Critical patent/CN113927593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

本发明公开一种基于任务分解的机械臂操作技能学习方法,通过分解不同复杂操作任务,定义子任务的技能表示,将其视为操作技能基元。随后利用强化学习和模仿学习的方式,获得基于视觉信息的操作技能基元和任务相关型策略网络,分别以参数的形式将其封装成任务相关型策略库。通过文本信息加载任务相关型决策网络以及完成任务所需要的操作技能基元,根据场景信息实时的完成复杂操作任务。本发明结合RGB‑D视觉感知和文本信息进行机械臂复杂操作技能学习的方法,可有效解决完成特定复杂任务的整体技能学习难度大和复用性不高的问题。

Description

基于任务分解的机械臂操作技能学习方法
技术领域
本发明属于机器人操作技能学习领域,涉及一种基于任务分解的机械臂操作技能学习方法;具体来说,是一种基于RGB-D视觉感知和文本信息的机械臂复杂操作技能学习的方法,用于解决完成特定复杂任务的整体技能学习难度大和复用性不高的问题。
背景技术
机器人的定义要求它具备感知环境并改变环境的能力,因此,操作物体的能力对于智能机器人而言就至关重要了。机器人操作技能(Robot manipulation skill)是指机器人基于自身的传感、感知、决策、规划与控制能力,在有限时间内操作环境中特定物体,使物体由初始状态达到目标状态。技能在生活和生产中无处不在,例如物流中的拆垛与码垛、生产线上的零部件装配、餐厅中的端茶递水等。对于要求稳定性和高精度的结构化的工厂生产环境而言,可以通过“硬”编程和拖拽示教的方式来获得操作技能,但这种方式无法使机器人在变化的生活环境或自然环境中正常工作。随着当前对机器人智能化和通用性需求的不断提高,越来越多的需要机器人能够快速方便的获取生产、生活操作技能,并在动态不确定环境下结合经验记忆获取新技能。
目前,技能学习的方式主要有以下几类:从演示中学习、发展式学习、类脑学习共享知识学习。由于几种技能学习方式的思路与侧重点不同,所以,机器人所需要的训练数据的产生方式不同,这决定了机器人技能学习所采用的具体方法,近年来,智能体操作技能学习的方法主要分为基于强化学习、基于模仿学习、基于迁移学习和元学习等。
由于深度强化学习的表示能力较强,Levine和Abbeel等人提出了端到端学习视觉-电机策略(visuomotor policies)的模型[Levine S,Finn C,Darrell T:End-to-endtraining of deep visuomotor policies[J].Journal of Machine Learning Research,2016,17(39):1-4.],与传统强化学习算法不同,作者直接将机器人关节信息和原始图像信息作为状态输入到具有92000个参数的深度卷积神经网络(DCNN),使用启发性策略搜索进行训练,最终输出机器人电机的转矩作为动作。该方法让机器人学会了自主拧瓶盖,挂衣架等行为。2016年Google团队也做了类似的工作,他们主要进行了以下三个方向的研究:1)无模型强化学习从原始经验中学习,DeepMind团队提出深度确定策略梯度算法(DDPG),即深度强化学习,在虚拟环境中训练机械臂堆叠积木,输入为机械臂的关节信息、夹爪的关节信息和每个积木的位置,输出为机械臂执行的动作[Popov I,Heess N,Lillicrap T:Data-efficient deep reinforcement learning for dexterous manipulation.arXivpreprint arXiv:1704.03073,2017.];2)学习物体内部物理模型,Finn和Levine等人采用端到端学习模型训练机器人随机抓取容器中的物体[Finn C,Levine S:Deep visualforesight for planning[C].International Conference on Robotics and Automation(ICRA),Singapore,2017:2786-2793.];3)在人类协助下学习,Gu和Holly等人的工作与上面的类似,但是加入了人工引导作为初始策略,提高了学习效率[Gu S X,Holly E,Lillicrap T:Deep reinforcement learning for robotic manipulation.arXivpreprint arXiv:1610.00633v1,2016.]。
基于强化学习的学习过程往往具备随机性,通常需要花费较长的时间,对于越复杂的操作任务越是如此。因此,部分研究通过模仿学习的方式来给学习任务加入人为的引导,但是,机器人模仿学习方法在学习过程中需要大量的示教数据和人工标记,在面对新环境时,往往需要采集更多的样本数据。这无法满足人类的要求,机器人应该学会在极少量的示教范例中学习,Google团队和OpenAI团队在这一方向上做了许多前瞻性的工作。GoogleBrain团队提出一种无监督生成奖励函数的模仿学习方法,机器人通过视觉能够从少量示范动作序列中识别任务的关键步骤,并自动识别关键步骤中最容易区分的特征,以此生成奖励函数并指导机器人进一步训练。该方法使用了ImageNet训练后的图像识别模型,对动作和物体具有语义上的理解。生成奖励函数后,研究者用它来引导机器人学习开门,并用图像信息评估奖励函数,这个过程也让机器人开门的成功率从10%提升到100%[SermanetP,Xu K,Levine S:Unsupervised perceptual rewards for imitation learning.arXivpreprint arXiv:1612.06699v3,2017]。OpenAI团队的工作主要集中在元学习模型(MetaLearning),Duan等人提出一次模仿学习(One-shot Imitation Learning)架构,该架构由多个网络组成,每个网络处理模仿学习中的不同阶段,示教网络(demonstration network)学习示教轨迹并在机器人上复现,上下文网络(context network)将当前状态和示教中对应阶段匹配,从环境中提取有用信息给操作网络(manipulation network),操作网络输出机器人关节动作,操作环境中的物体,其中近邻注意(neighborhood attention)和记忆机制保证了该模型对不同任务的适应性[Duan Y,Andrychowicz M,Stadie B C:One-shotimitation learning.arXiv preprint arXiv:1703.07326v2,2017.]。随后,Finn等对一次模仿学习进行了改进,以原始图像信息作为输入,前期训练时任务示例的数量也更少,最终在模拟平台和真实的机器人平台上得到了验证[Finn C,Yu T,Abbeel P,et al.One-shotvisual imitation learning via meta-learning.arXiv preprint arXiv:1709.04905v1,2017]。
除此之外,Tremblay等人考虑人类对任务的描述,提出一个能从实际示教中推理和执行人类行为的系统,同样该系统由多个神经网络组成[Tremblay J,To T,MolchanovA:Synthetically trained neural network for learning human-readable plans fromreal-world demonstrations[C].Int.Conf.Robotics Automation(ICRA),Brisbane,Australia,2018(5):21-25.]。Xu和李飞飞等人提出了神经任务编程(NTP)机器人学习框架,该方法可以通过较少的示教和神经程序引导进行学习。NTP可将输入的任务(例如任务的视频演示)递归地分解为更小的子任务(如一个简单的操作动作),这些子任务被传递到分层神经网络,通过对子任务的学习和组合完成总的任务的学习[Xu D,Nair S,Zhu Y:Neural task programming:learning to generalize across hierarchical tasks[C].Int.Conf.Robotics Automation(ICRA),Brisbane,Australia,2018(5):21-25]。Rahmatizadeh等人选择在虚拟环境中示教机器人日常生活活动,并将收集到的示教过程用于训练LSTM神经网络,LSTM能够很好的再现示教动作序列,并移植到真实机器人上[Rahmatizadeh R,Abolghasemi P,Behal A:Learning real manipulation tasks fromvirtual demonstrations using LSTM.arXiv preprint arXiv:1603.03833v4,2017]。
已有的方法存在以下问题:1)学习技能需要大量样本数据,训练时间长,费时费力;2)学习获得的技能只能针对特定的环境与任务,面对新的任务,需要重新学习新技能,技能的复用率低;3)只在简单的操作任务上验证了技能学习结果,对于复杂操作任务的效果未知。
发明内容
针对上述问题,本发明提出一种基于任务分解的机械臂操作技能学习方法,通过分解不同复杂操作任务,提取出它们所包含相似简单操作子任务的符号表示,将其视为操作技能基元,利用强化学习和模仿学习的方式,获得基于视觉信息的操作技能基元和任务相关型策略网络,分别以参数的形式将其封装成库,最终,利用视觉和文本信息选择和组合操作技能基元实现复杂技能来完成不同复杂操作任务。
本发明基于任务分解的机械臂操作技能学习方法,通过下述步骤实现:
步骤一:搭建模块化虚拟/现实机械臂操作技能学习平台,包括智能体学习环境、虚拟仿真环境和模型库。
所述虚拟仿真环境用于支持机器人运动学及动力学仿真,模拟现实世界的物理属性,包括任务的场景设计,带末端执行器的虚拟机械臂和虚拟传感器。
所述智能体学习环境用于输入数据的处理和学习算法的实现,向虚拟仿真环境发送位置指令,控制虚拟仿真环境中机械臂的执行,并接受来自虚拟仿真环境中回传的环境信息以确定执行结果。智能体学习环境中包括文本信息提取模块、图像预处理模块、物体识别与定位模块、任务相关型网络模块和操作技能执行网络模块。文本信息提取模块的作用是提取用户输入的文本信息中所要执行的复杂任务以及所涉及的一些技能的语义级信息,作为参数传递给任务相关型网络模块和操作技能执行网络模块加载相对应的模型。图像预处理模块的作用对输入的图像进行剪裁、填充和归一化,有利于提取图像的特征。物体识别与定位模块用于对特定物体进行识别和定位,以便于操纵特定的物体。任务相关型网络模块的作用是根据文本信息提取模块输出的任务信息加载相应的任务模型,再将当前的场景信息映射为适当的语义级动作或技能编号;操作技能执行网络模块的作用是根据任务相关型网络模块输出的语义级动作,调用其对应的动作或技能的底层执行网络。
所述模型库由保存于磁盘的网络参数构成,可以根据文本信息进行调用加载。
步骤二:分解复杂操作任务,以符号的形式定义操作技能基元。
步骤三:设计示教数据,利用模仿学习获得不同的操作技能基元,并将其以网络参数的形式保存到技能基元库。
步骤四:利用强化学习获得任务相关型策略网络,并将其以网络参数的形式保存到任务相关型策略库,任务相关型策略网络根据场景信息选择合适的操作技能基元。
步骤五:通过文本信息加载任务相关型决策网络以及完成任务所需要的操作技能基元,根据场景信息实时的完成复杂操作任务。
本发明的优点在于:
1、本发明基于任务分解的机械臂操作技能学习方法,采用模块化虚拟/现实机械臂操作技能学习平台,主要包括智能体学习模块、虚拟仿真环境和模型库,可以方便算法的验证以及集成其他的功能模块;
2、本发明基于任务分解的机械臂操作技能学习方法,利用模仿学习获得操作技能基元,不必学习完成复杂操作任务的技能,降低了学习难度,利用模仿学习获得动态决策网络,其搜索空间变为操作技能个数,极大的降低了收索维度,网络只专注于上层决策,加快了学习进程。
3、本发明基于任务分解的机械臂操作技能学习方法,结合视觉信息和文本信息,执行不同复杂操作任务,提高了技能的复用率和系统的泛化能力。
附图说明
图1是本发明整体框图。
图2是本发明智能体学习环境与虚拟仿真环境之间的交互方式框图。
图3是叠两个方块任务的分解示意图。
图4是是直上直下插轴入孔的分解示意图。
图5是基于模仿学习的操作技能基元学习框架
图6是基元强化学习的任务相关型动态网络学习框架
具体实施方式
下面结合附图和实例对本发明做进一步详细说明。
本发明基于任务分解的机械臂操作技能学习方法,通过人为对一些复杂任务进行分解,如叠方块,插轴入孔等,将复杂任务转化为多个子任务,再从子任务中提取并定义一些语义级技能或动作,如“抓(pick)”、“放(place)”、“插(insert)”等;然后,利用模仿学习的方式,学习这些语义级技能所对应的底层次技能执行网络;最后,利用强化学习的方式,学习可根据当前场景输出适当语义级技能的决策网络。
本发明基于任务分解的机械臂操作技能学习方法,整体方法框图如图1所示,具体步骤如下:
步骤一:搭建模块化虚拟/现实机械臂操作技能学习平台。
为了进行技能的获取和验证,需要一个学习/验证平台,考虑到安全和成本因素,最有利的方式是搭建一个虚拟/现实机械臂操作技能学习平台,一方面,该平台可以用于学习根据当前场景输出适当语义级技能的策略网络,另一方面,该平台还可用于验证获得的低层次运动技能的执行效果,其整体架构如图1所示,主要分为三个大部分:智能体学习环境、虚拟仿真环境和模型库。
所述虚拟仿真环境可以支持机器人运动学及动力学仿真,并可以从一定程度上模拟现实世界的物理属性,如重力、碰撞等。虚拟仿真环境与现实环境的差距决定了在其中学习到的技能应用于现实场景的难易程度,虚拟仿真环境与现实环境差距越小,学到的技能越容易迁移到现实场景中。本发明基于CoppeliaSim搭建虚拟仿真环境,包括任务的场景设计,带末端执行器的虚拟机械臂和虚拟传感器。CoppeliaSim是一款支持机器人运动学及动力学仿真的软件,其物理引擎可以从一定程度上模拟现实世界的物理属性,如重力、碰撞等。该软件采用分布式控制架构,场景中每个对象都可以通过嵌入式脚本、插件、ROS节点、BlueZero节点、API客户端控制。因此CoppeliaSim不仅可以用于机器人原型机的开发及算法验证,也可以应用于多机器人协作场景。CoppeliaSim还可以用于硬件控制,让仿真场景与实物相互交互。此处采用带有Robotiq-85二指夹爪的UR5作为虚拟机械臂的末端执行器和一个可获得RGB-D图像的虚拟相机作为虚拟传感器。UR5的基座位于空间的坐标原点(0,0,0),位于平面的工作空间范围是:X轴方向为(-0.276,-0.724),Y轴方向为(-0.224,0.224),单位是m。虚拟相机位于(-1,0,0.5)处,视角为53.4度,其Z轴正方向对准(-0.5,0,0)。搭建完成的虚拟仿真环境中,虚拟相机的位置和工作空间都可以进行调整。
所述智能体学习环境作为虚拟/现实机械臂操作技能学习平台的大脑,用于输入数据的处理和学习算法的实现。智能体学习环境给虚拟仿真环境发送位置指令,控制虚拟仿真环境中机械臂的执行,并接受来自虚拟仿真环境中回传的环境信息以确定执行结果。本发明中利用Anaconda创建一个基于python 3的智能体学习环境方便功能包的编写、集成和管理,也方便安装Pytorch等深度学习框架。智能体学习环境中包括文本信息提取模块、图像预处理模块、物体识别与定位模块、任务相关型网络模块和操作技能执行网络模块。文本信息提取模块的作用是提取用户输入的文本信息中所要执行的复杂任务以及所涉及的一些技能的语义级信息,作为参数传递给任务相关型网络模块和操作技能执行网络模块加载相对应的模型。图像预处理模块的作用对输入的图像进行剪裁、填充和归一化,有利于提取图像的特征。物体识别与定位模块用于对特定物体进行识别和定位,以便于操纵特定的物体。任务相关型网络模块的作用是根据文本信息提取模块输出的任务信息加载相应的任务模型,再将当前的场景信息映射为适当的语义级动作或技能编号。操作技能执行网络模块的作用是根据任务相关型网络模块输出的语义级动作,调用其对应的动作或技能的底层执行网络。其中,重点在于任务相关型网络模块和操作技能执行网络模块的实现,其他模块利用现有的方法实现。智能体学习环境与虚拟仿真环境之间的交互,利用CoppeliaSim的python API来实现,如图2所示。
所述模型库由保存于磁盘的网络参数构成,可以根据文本信息进行调用加载。
上述虚拟/现实机械臂操作技能学习平台的工作过程为:根据用户输入的文本信息,里面包含了要执行的复杂任务以及所涉及的一些技能,通过信息提取结果,从模型库中加载相应的任务相关型动态网络以及操作技能执行网络,根据当前场景状态的视觉输入,任务相关型动态网络输出要执行的动作或技能编号,再由操作技能执行网络进行具体的技能执行,直到任务完成。
步骤二:人为分解常见复杂操作任务,以符号的形式定义操作技能基元。
由于机器人端到端的学习复杂任务的完整过程是一件非常困难的事情,但是,任何复杂的操作都可以由简单且基础的动作组成,称这些简单且基础的动作为操作技能基元,学习操作技能基元要容易很多,为了方便表示、学习和增加机器人操作过程中的可解释性,本发明中使用符号表示的方法来定义操作技能基元,即机器人的操作技能用各种人类语言和词汇描述命名,如Move(x)代表“向前移动”x米,以及Push(y)代表“推动y”等。本发明以叠方块和直上直下插轴入孔为例进行复杂操作任务分解过程的说明,以及从他们中提取出一些基础动作作为操作技能基元,叠方块可以分解为抓取方块、移动到另一个方块的上方、放下方块、回到初始位置,可以提取出的操作技能基元有移(move_to)、抓(pick)、放(place)、夹爪闭合(gripper_close)、夹爪打开(gripper_open)、回到初始位置(arm_init),以叠两个方块为例,任务分解图如图3所示。相较于叠方块,插轴入孔是一个更加考验机器人操作灵活性与适应性的任务,本文以比较简单的直上直下式插轴入孔任务进行说明,直上直下的插轴入孔任务可以分解为抓取轴、移动到孔的上方、插入轴、回到初始位置。关于插入轴这个子任务,在直上直下的放入(place)之前,还包含位姿对准的过程(calibration),其任务分解如图4所示。对于机械臂来说,运动规划就是为机械臂规划出一条从位置A到位置B的无碰撞的运动轨迹。操作技能基元中的移(move_to)就有点类似于运动规划,其他的操作运动基元,如pick、place等,都可以由移(move_to)结合末端抓手的动作组合得到。更高层次的操作技能,如抓取(grasp)、插入(insert)等,也是移(move_to)和其他的操作技能基元组成,因此,可以人为对技能基元进行封装获得更高层次的子技能,以免因为分解粒度太小导致任务执行的不流畅。move_to直接影响技能的执行效果和操作的灵活性,例如,如果机械臂末端能以不同的姿态接近一个物体,就能实现不同的抓取方式,抓水瓶的盖子还是抓瓶体,因此,move_to将是后续操作技能基元学习的重点,甚至可以扩展出不同的move_to,如快速的移动,慢慢的移动,带视觉避障的移动。根据以上对两个任务的分解,可以得到的操作技能基元如表1所示。
表1基于分解叠方块与插轴入孔得到的操作技能基元表
Figure GDA0003417909780000071
步骤三:通过设计合适的示教数据,利用模仿学习获得操作技能基元的底层实现,并将其以网络参数的形式保存到技能基元库。
操作技能基元使机械臂具备完成特定简单操作的能力。在模仿学习中,示教数据是影响学习结果好坏的一个关键因素。在虚拟仿真环境中,虚拟传感器(如:虚拟相机)可以获得当前场景的RGB图像信息和深度信息;虚拟机械臂的状态也可以利用虚拟仿真环境的反馈获得,因此,示教数据由图像信息和虚拟机械臂状态组成。本发明中每个时间步t选择一个物体objt进行操作,记录的示教数据包含通过虚拟传感器获得的观测值为:
ot∈O=RH×W×M
其中,H表示所获取图像的高度,W表示所获取图像的宽度,M表示最近的M帧图像;R为实数空间,左上角的数字代表实数空间的维度,O是H×W×M维的实数空间。为了防止数据量过大,本发明中的M不宜过大,取3到5之间的值较合适。
虚拟机械臂状态at由虚拟机械臂线速度vt∈R3和角速度ωt∈R3以及末端执行器状态构成末端执行器状态参数gt根据其具体所采用结构确定,如一般的夹爪、吸盘,状态参数均为gt∈{0,1},通过0,1信号来表示开合状态,对于更复杂的末端也具有其特定的状态表示方式,
则有:
at=(vtt,gt)
由此,单步的示教数据可以描述为d(t)=(ot,at),此处用D来表示示教轨迹的样本集合,一个操作的示教轨迹为d~D。对于操作技能基元k,在T时刻完成基本操作的示教轨迹可以表示为:
d={(o1,a1),(o2,a2),…,(ot,at),…,(oT,aT)}
在获得操作技能基元的示教轨迹后,通过行为克隆的方法来学习一个近似于专家策略πE(at|ot)的条件分布的函数,该函数的作用是将虚拟传感器输入的观测图像映射为虚拟机械臂的状态。学习框架如图5所示,每一个操作技能基元都有其对应的卷积神经网络架构(CNN)和全连接网络(FC);其中,卷积神经网络架构主要用于提取图像的特征,本发明中使用的是Densenet-121架构。在训练阶段,卷积神经网络架构的输入是示教数据中的ot,根据所要学习的操作技能基元的one-hot encoding,用si表示,其中,i代表对应的技能序号选择对应的卷积神经网络架构,卷积网络架构提取出的特征xi作为全连接网络的输入,全连接网络的输出是对末端执行器状态的预测
Figure GDA0003417909780000081
分别为前述at、vt、ωt、gt的预测值。然后,通过与示教数据中真实的虚拟机械臂状态at对比来获得损失,损失函数为:
Figure GDA0003417909780000082
其中,λ∈[0,1]是一个比例因子,根据经验将其设置为0.9,通过最小化损失函数来获得特定操作技能基元的神经网络权重参数(θ,η),卷积神经网络和全连接网络共同构成表示特定操作技能基元的策略
Figure GDA0003417909780000083
参数(θ,η)即为需要保存模型库以构建操作基元库的基础,每一个操作技能基元都将有特定的网络架构和参数(θ,η)来表示。
步骤四:在获得操作技能基元的底层实现之后,利用强化学习获得任务相关型策略网络,并将其以网络参数的形式保存到任务相关型策略库,任务相关型策略网络根据场景信息选择合适的操作技能基元。
在步骤二获得操作技能基元的符号定义和步骤三获得操作技能基元的底层实现后,本发明采用Q learning强化学习框架来训练任务相关型动态网络,如图6所示,任务相关型动态网络的作用是根据之前训练过程记录,将虚拟传感器获取的RGB和深度图像映射为将要执行的技能编号,并检测与定位需要操作的物体参数,共同作为参数传递给操作技能执行网络进行底层的技能执行。由于不同的任务可能涉及不同的动作,任务相关型动态网络模块会根据具体的任务来激活与该任务相关的技能价值网络,因此不同的任务会训练得到不同的技能价值网络参数,由此构建一个动态网络模型库。由于输入的是图像信息,本发明利用深度网络强大的表征能力来作为Q函数的估计器,即在当前场景下计算采用不同动作的价值,即为图6中的Q值。然后技能选择策略会选择Q值最大的技能编号输出。
步骤五:通过文本信息加载任务相关型决策网络以及完成任务所需要的操作技能基元,根据场景信息实时的完成复杂操作任务。
文本信息中应该包括整体任务描述,用于加载任务相关型动态网络;文本信息中还需要包含所需要的操作技能基元、操作对象及其期望状态。以“堆叠积木”任务为例做更详细的说明,假定红(red)、黄(yellow)、蓝(blue)、白(white)四块积木随机放置在桌面上,现要将积木按从下到上为{blue_cube,red_cube,yellow_cube,white_cube}的顺序进行堆叠。“堆叠积木”任务的动作集为{arm_init,grasp,place}。详细操作过程如下:
1)在RGB图像中选择{red_cube},从动作集中选择{grasp},机械臂将移动到{red_cube}位置并{grasp};
2)在RGB图像中选择{blue_cube},从动作集中选择{place},机械臂将移动到{blue_cube}上方并{place}{red_cube};
3)在RGB图像中选择{yellow_cube},从动作集中选择{grasp},机械臂将{grasp}{yellow_cube};
4)在RGB图像中选择{red_cube},从动作集中选择{place},机械臂将{place}{yellow_cube}
5)在RGB图像中选择{white_cube},从动作集中选择{grasp},机械臂将{grasp}{white_cube};
6)在RGB图像中选择{yellow_cube},从动作集中选择{place},机械臂将{place}{white_cube};
7)从动作集中选择{arm_init},机械臂运动到初始化位姿。
所以,文本信息可以用如下结构:
Task(任务):block_stacking(堆叠积木)
Primitive actions(操作技能基元):{arm_init,grasp,place}
Process(过程):{(red_cube,blue_cube),(yellow_cube,red_cube),
(white_cube,yellow_cube)}
在process中,第一个是源物体,第二个是目标物体,每一步我们只与一个物体交互,并且任务相关型动态网络根据场景信息选择一个交互的动作,也可以给物体进行编号(e.g.1:red cube,2:yellow cube,3:blue cube,4:white cube)。根据图1的流程图可知,RGB-D图像信息包含对当前环境的感知,文本信息包含对任务的描述,包含任务所涉及的操作技能基元和所操作的物体及其期望状态。通过对RGB-D图像中物体的识别和定位,再根据文本中所描述的确定源物体与目标物体,经过任务相关型策略网络决定当前所应该执行的操作技能基元,操作技能基元完成底层的虚拟机械臂轨迹规划,再由仿真环境中的虚拟机械臂执行,以完成复杂操作任务,还可以探索执行全新任务的可行性。

Claims (6)

1.基于任务分解的机械臂操作技能学习方法,其特征在于:通过下述步骤实现:
步骤一:搭建模块化虚拟/现实机械臂操作技能学习平台,包括智能体学习环境、虚拟仿真环境和模型库;
所述虚拟仿真环境用于支持机器人运动学及动力学仿真,模拟现实世界的物理属性,包括任务的场景设计,带末端执行器的虚拟机械臂和虚拟传感器;
所述智能体学习环境用于输入数据的处理和学习算法的实现,向虚拟仿真环境发送位置指令,控制虚拟仿真环境中机械臂的执行,并接受来自虚拟仿真环境中回传的环境信息以确定执行结果;智能体学习环境中包括文本信息提取模块、图像预处理模块、物体识别与定位模块、任务相关型网络模块和操作技能执行网络模块;文本信息提取模块的作用是提取用户输入的文本信息中所要执行的复杂任务以及所涉及的一些技能的语义级信息,作为参数传递给任务相关型网络模块和操作技能执行网络模块加载相对应的模型;图像预处理模块的作用对输入的图像进行剪裁、填充和归一化,有利于提取图像的特征;物体识别与定位模块用于对特定物体进行识别和定位,以便于操纵特定的物体;任务相关型网络模块的作用是根据文本信息提取模块输出的任务信息加载相应的任务模型,再将当前的场景信息映射为适当的语义级动作或技能编号;操作技能执行网络模块的作用是根据任务相关型网络模块输出的语义级动作,调用其对应的动作或技能的底层执行网络;
所述模型库由保存于磁盘的网络参数构成,可以根据文本信息进行调用加载;
步骤二:分解复杂操作任务,以符号的形式定义操作技能基元;
步骤三:设计示教数据,利用模仿学习获得不同的操作技能基元,并将其以网络参数的形式保存到技能基元库;
步骤四:利用强化学习获得任务相关型策略网络,并将其以网络参数的形式保存到任务相关型策略库,任务相关型策略网络根据场景信息选择合适的操作技能基元;
步骤五:通过文本信息加载任务相关型决策网络以及完成任务所需要的操作技能基元,根据场景信息实时的完成复杂操作任务。
2.如权利要求1所述基于任务分解的机械臂操作技能学习方法,其特征在于:虚拟仿真环境基于CoppeliaSim搭建。
3.如权利要求1所述基于任务分解的机械臂操作技能学习方法,其特征在于:智能体学习环境与虚拟仿真环境之间的交互,利用CoppeliaSim的python API来实现。
4.如权利要求1所述基于任务分解的机械臂操作技能学习方法,其特征在于:步骤三中,示教数据由图像信息和虚拟机械臂状态组成;本发明中每个时间步t选择一个物体objt进行操作,记录的示教数据包含通过虚拟传感器获得的观测值为:
ot∈O=RH×W×M
其中,H表示所获取图像的高度,W表示所获取图像的宽度,M表示最近的M帧图像;R为实数空间,左上角的数字代表实数空间的维度,O是H×W×M维的实数空间;
虚拟机械臂状态at由虚拟机械臂线速度vt∈R3和角速度ωt∈R3以及末端执行器状态构成末端执行器状态参数gt,则有:
at=(vtt,gt)
由此,单步的示教数据描述为d(t)=(ot,at),用D来表示示教轨迹的样本集合,一个操作的示教轨迹为d~D;对于操作技能基元k,在T时刻完成基本操作的示教轨迹可以表示为:
d={(o1,a1),(o2,a2),…,(ot,at),…,(oT,aT)}。
5.如权利要求1所述基于任务分解的机械臂操作技能学习方法,其特征在于:步骤三中,在获得操作技能基元的示教轨迹后,通过行为克隆的方法来学习一个近似于专家策略πE(at|ot)的条件分布的函数,作用是将虚拟传感器输入的观测图像映射为虚拟机械臂的状态;每一个操作技能基元都有其对应的卷积神经网络架构和全连接网络;其中,卷积神经网络架构主要用于提取图像的特征;在训练阶段,卷积神经网络架构的输入是示教数据中的ot,根据所要学习的操作技能基元的one-hot encoding,用si表示,其中,i代表对应的技能序号选择对应的卷积神经网络架构,卷积网络架构提取出的特征xi作为全连接网络的输入,全连接网络的输出是对末端执行器状态的预测
Figure QLYQS_1
Figure QLYQS_2
分别为前述at、vt、ωt、gt的预测值;然后,通过与示教数据中真实的虚拟机械臂状态at对比来获得损失,损失函数为:
Figure QLYQS_3
其中,λ∈[0,1]是一个比例因子,通过最小化损失函数来获得特定操作技能基元的神经网络权重参数(θ,η),卷积神经网络和全连接网络共同构成表示特定操作技能基元的策略
Figure QLYQS_4
Figure QLYQS_5
参数(θ,η)即为需要保存模型库以构建操作基元库的基础,每一个操作技能基元都将有特定的网络架构和参数(θ,η)来表示。
6.如权利要求1所述基于任务分解的机械臂操作技能学习方法,其特征在于:步骤四中,采用Qlearning强化学习框架来训练任务相关型动态网络;并利用深度网络强大的表征能力来作为Q函数的估计器,即在当前场景下计算采用不同动作的价值Q,通过技能选择策略选择Q值最大的技能编号输出。
CN202111108859.0A 2021-09-22 2021-09-22 基于任务分解的机械臂操作技能学习方法 Active CN113927593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111108859.0A CN113927593B (zh) 2021-09-22 2021-09-22 基于任务分解的机械臂操作技能学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111108859.0A CN113927593B (zh) 2021-09-22 2021-09-22 基于任务分解的机械臂操作技能学习方法

Publications (2)

Publication Number Publication Date
CN113927593A CN113927593A (zh) 2022-01-14
CN113927593B true CN113927593B (zh) 2023-06-13

Family

ID=79276367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111108859.0A Active CN113927593B (zh) 2021-09-22 2021-09-22 基于任务分解的机械臂操作技能学习方法

Country Status (1)

Country Link
CN (1) CN113927593B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116276956B (zh) * 2022-12-01 2023-12-08 北京科技大学 定制化药物制备的机器人操作技能模仿学习方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111618847A (zh) * 2020-04-22 2020-09-04 南通大学 基于深度强化学习与动态运动基元的机械臂自主抓取方法
CN112183188A (zh) * 2020-08-18 2021-01-05 北京航空航天大学 一种基于任务嵌入网络的机械臂模仿学习的方法
CN112809689A (zh) * 2021-02-26 2021-05-18 同济大学 基于语言引导的机械臂动作元模仿学习方法及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10836038B2 (en) * 2014-05-21 2020-11-17 Fanuc America Corporation Learning path control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111618847A (zh) * 2020-04-22 2020-09-04 南通大学 基于深度强化学习与动态运动基元的机械臂自主抓取方法
CN112183188A (zh) * 2020-08-18 2021-01-05 北京航空航天大学 一种基于任务嵌入网络的机械臂模仿学习的方法
CN112809689A (zh) * 2021-02-26 2021-05-18 同济大学 基于语言引导的机械臂动作元模仿学习方法及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
先进分布仿真技术的发展与应用;龚光红,王行仁,彭晓源,戴树岭;系统仿真学报(第02期);全文 *
含储能系统的配电网电压调节深度强化学习算法;史景坚;周文涛;张宁;陈桥;刘金涛;曹振博;陈懿;宋航;刘友波;;电力建设(第03期);全文 *

Also Published As

Publication number Publication date
CN113927593A (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
Rahmatizadeh et al. Vision-based multi-task manipulation for inexpensive robots using end-to-end learning from demonstration
CN110405730B (zh) 一种基于rgb-d图像的人机物交互机械臂示教系统
Paxton et al. Prospection: Interpretable plans from language by predicting the future
CN110026987A (zh) 一种机械臂抓取轨迹的生成方法、装置、设备及存储介质
Song et al. Predicting human intention in visual observations of hand/object interactions
CN109483534B (zh) 一种物体抓取方法、装置和系统
Zhang et al. Explainable hierarchical imitation learning for robotic drink pouring
CN112809689A (zh) 基于语言引导的机械臂动作元模仿学习方法及存储介质
CN111152227A (zh) 一种基于引导式dqn控制的机械臂控制方法
Huang et al. Grasping novel objects with a dexterous robotic hand through neuroevolution
Raessa et al. Teaching a robot to use electric tools with regrasp planning
CN113927593B (zh) 基于任务分解的机械臂操作技能学习方法
Mühlig et al. Human-robot interaction for learning and adaptation of object movements
Zhang et al. One-shot domain-adaptive imitation learning via progressive learning applied to robotic pouring
Ito et al. Integrated learning of robot motion and sentences: Real-time prediction of grasping motion and attention based on language instructions
Bonsignorio et al. Deep learning and machine learning in robotics [from the guest editors]
Yan et al. Autonomous vision-based navigation and stability augmentation control of a biomimetic robotic hammerhead shark
Roesler et al. Action learning and grounding in simulated human–robot interactions
Zhang et al. Recent advances on vision-based robot learning by demonstration
Silvério et al. Learning competing constraints and task priorities from demonstrations of bimanual skills
CN116852347A (zh) 一种面向非合作目标自主抓取的状态估计与决策控制方法
Sui et al. Transfer of robot perception module with adversarial learning
Yang et al. Vision-based one-shot imitation learning supplemented with target recognition via meta learning
Nakajo et al. Acquisition of viewpoint representation in imitative learning from own sensory-motor experiences
Liu et al. Robotic manipulation skill acquisition via demonstration policy learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant