CN113919475B - 机器人技能学习的方法、装置、电子设备及存储介质 - Google Patents

机器人技能学习的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113919475B
CN113919475B CN202111537547.1A CN202111537547A CN113919475B CN 113919475 B CN113919475 B CN 113919475B CN 202111537547 A CN202111537547 A CN 202111537547A CN 113919475 B CN113919475 B CN 113919475B
Authority
CN
China
Prior art keywords
robot
action
skill learning
description information
learning model
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
CN202111537547.1A
Other languages
English (en)
Other versions
CN113919475A (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.)
Institute of Automation of Chinese Academy of Science
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN202111537547.1A priority Critical patent/CN113919475B/zh
Publication of CN113919475A publication Critical patent/CN113919475A/zh
Application granted granted Critical
Publication of CN113919475B publication Critical patent/CN113919475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了机器人技能学习的方法、装置、电子设备及存储介质,包括:获取多个连续等间隔时刻的环境状态;环境状态包含机器人状态以及任务阶段标志符;将多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到机器人学习技能的动作描述信息序列;根据动作描述信息序列确定机器人执行的动作序列。本发明通过将多个连续等间隔时刻的环境状态输入至机器人技能学习模型,得到机器人学习技能的动作描述信息序列,从而实现机器人技能学习,解决了在面对多阶段复杂任务时易导致的难收敛、成功率较低的问题,提高了鲁棒性,实现了机器人复杂技能的高效、精准学习。

Description

机器人技能学习的方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及机器人技能学习的方法、装置、电子设备及存储介质。
背景技术
目前,各式自主智能机器人已被广泛应用在制造、海洋和国防等领域。随着机器人和人工智能技术的发展,机器人自主能力不断提高,可以在更多领域代替人类完成复杂任务。
作为应用较广的一种机器人技能学习算法,强化学习利用机器人与环境交互学习从状态到动作的映射,并在奖励函数的引导下,优化出最佳策略网络,指导机器人自主完成指定任务。相比于传统控制方法来说,目前的机器人技能学习方法在实际使用时仍存在较多问题与挑战,尤其在面临多阶段复杂任务时,容易出现学习时间过长、收敛困难、成功率较低等问题。
综上,目前亟需一种机器人技能学习的方法,用于解决上述现有技术存在的问题。
发明内容
由于现有方法存在上述问题,本发明提出机器人技能学习的方法、装置、电子设备及存储介质。
第一方面,本发明提供了一种机器人技能学习的方法,包括:
获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;
将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;
根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到。
进一步地,在所述将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列之前,还包括:
获取所述机器人技能学习的任务;
将所述任务分为N个子任务;
划分N个子任务中每个子任务的难度并生成M个子课程;M、N为正整数;
根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型。
进一步地,所述划分N个子任务中每个子任务的难度并生成M个子课程,包括:
获取N个子任务中每个子任务的子任务目标;
根据所述子任务目标确定每个子任务的允许误差;
采用难度增加函数确定所述允许误差的难度序列;
根据所述难度序列对每个子任务进行难度划分,得到多个不同难度的子任务;
采用串并型策略对所述多个不同难度的子任务进行组合,得到M个子课程。
进一步地,所述根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型,包括:
针对第1个子课程,执行以下步骤:
获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息对应的动作前的环境状态;所述第二环境状态为执行所述动作描述信息对应的动作后的环境状态;所述动作奖励为执行所述动作描述信息对应的动作后的奖励值;
根据所述第一环境状态、所述动作描述信息、所述第二环境状态、所述动作奖励确定所述机器人技能学习模型的损失函数;
根据所述损失函数更新所述机器人技能学习模型的参数并对所述机器人技能学习模型的性能进行评估,得到性能评估结果;
若所述性能评估结果或训练时间达到阈值,则针对第2个子课程重复上述步骤直到第M个子课程的性能评估结果或训练时间达到阈值,得到训练好的机器人技能学习模型。
进一步地,所述获取预设数量的训练样本集,包括:
获取所述第一环境状态以及所述动作描述信息;
根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励。
进一步地,所述根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励,包括:
获取所述第二环境状态对应的机器人状态以及任务阶段标志符;
根据所述机器人状态以及所述任务阶段标志符确定所述动作奖励。
第二方面,本发明提供了一种机器人技能学习的装置,包括:
获取模块,用于获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;
处理模块,用于将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到。
进一步地,所述处理模块还用于:
在所述将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列之前,获取所述机器人技能学习的任务;
将所述任务分为N个子任务;
划分N个子任务中每个子任务的难度并生成M个子课程;M、N为正整数;
根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型。
进一步地,所述处理模块具体用于:
获取N个子任务中每个子任务的子任务目标;
根据所述子任务目标确定每个子任务的允许误差;
采用难度增加函数确定所述允许误差的难度序列;
根据所述难度序列对每个子任务进行难度划分,得到多个不同难度的子任务;
采用串并型策略对所述多个不同难度的子任务进行组合,得到M个子课程。
进一步地,所述处理模块具体用于:
针对第1个子课程,执行以下步骤:
获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息对应的动作前的环境状态;所述第二环境状态为执行所述动作描述信息对应的动作后的环境状态;所述动作奖励为执行所述动作描述信息对应的动作后的奖励值;
根据所述第一环境状态、所述动作描述信息、所述第二环境状态、所述动作奖励确定所述机器人技能学习模型的损失函数;
根据所述损失函数更新所述机器人技能学习模型的参数并对所述机器人技能学习模型的性能进行评估,得到性能评估结果;
若所述性能评估结果或训练时间达到阈值,则针对第2个子课程重复上述步骤直到第M个子课程的性能评估结果或训练时间达到阈值,得到训练好的机器人技能学习模型。
进一步地,所述处理模块具体用于:
获取所述第一环境状态以及所述动作描述信息;
根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励。
进一步地,所述处理模块具体用于:
获取所述第二环境状态对应的机器人状态以及任务阶段标志符;
根据所述机器人状态以及所述任务阶段标志符确定所述动作奖励。
第三方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的机器人技能学习的方法。
第四方面,本发明还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的机器人技能学习的方法。
由上述技术方案可知,本发明提供的机器人技能学习的方法、装置、电子设备及存储介质,通过将多个连续等间隔时刻的环境状态输入至机器人技能学习模型,得到机器人学习技能的动作描述信息序列,从而实现机器人技能学习,解决了在面对多阶段复杂任务时易导致的难收敛、成功率较低的问题,提高了鲁棒性,实现了机器人复杂技能的高效、精准学习。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明提供的机器人技能学习的方法的系统框架;
图2为本发明提供的机器人技能学习的方法的流程示意图;
图3为本发明提供的机器人技能学习的方法的流程示意图;
图4为本发明提供的串并型课程生成方法示意图;
图5为本发明提供的机器人技能学习的方法的流程示意图;
图6为本发明提供的水下机器人顶球实验位置曲线示意图;
图7为本发明提供的示水下机器人顶球控制频率变化示意图;
图8为本发明提供的机器人技能学习的装置的结构示意图;
图9为本发明提供的电子设备的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明实施例提供的机器人技能学习的方法,可以适用于如图1所示的系统架构中,该系统架构包括摄像机100、机器人技能学习模型200。
具体的,摄像机100用于获取多个连续等间隔时刻的环境状态。
需要说明的是,环境状态包含机器人状态以及任务阶段标志符。机器人技能学习模型200用于在输入多个连续等间隔时刻的环境状态后,得到机器人学习技能的动作描述信息序列。
进一步地,根据动作描述信息序列确定机器人执行的动作序列。
需要说明的是,其中,训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下机器人执行动作序列后得到的性能评估结果进行训练后得到。
需要说明的是,图1仅是本发明实施例系统架构的一种示例,本发明对此不做具体限定。
基于上述所示意的系统架构,图2为本发明实施例提供的一种机器人技能学习的方法所对应的流程示意图,如图2所示,该方法包括:
步骤201,获取多个连续等间隔时刻的环境状态。
需要说明的是,环境状态包含机器人状态以及任务阶段标志符。
举例来说,在水下机器人顶球技能学习中,机器人状态包含机器人位姿、机器人速度、射门点位置以及射角。
在一种可能的实施方式中,机器人为仿豹鲂鮄水下机器人。
步骤202,将多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到机器人学习技能的动作描述信息序列。
步骤203,根据动作描述信息序列确定机器人执行的动作序列。
需要说明的是,其中,训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下机器人执行动作序列后得到的性能评估结果进行训练后得到。
上述方案,通过将多个连续等间隔时刻的环境状态输入至机器人技能学习模型,得到机器人学习技能的动作描述信息序列,从而实现机器人技能学习,解决了在面对多阶段复杂任务时易导致的难收敛、成功率较低的问题,提高了鲁棒性,实现了机器人复杂技能的高效、精准学习。
本发明实施例在将多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到机器人学习技能的动作描述信息序列之前,步骤流程如图3所示,具体如下:
步骤301,获取机器人技能学习的任务。
步骤302,将任务分为N个子任务。
本发明实施例中,按逻辑顺序将任务分为若干子任务,并对各子任务设置目标。
具体的,根据机器人技能学习的任务,对各子任务进行参数化描述,作为各子任务的目标。
本发明实施例中,确定目标任务
Figure 821149DEST_PATH_IMAGE001
,并根据完成的逻辑顺序将其分成
Figure 76681DEST_PATH_IMAGE002
个阶段,总 任务
Figure 247768DEST_PATH_IMAGE001
可定义为
Figure 764200DEST_PATH_IMAGE002
个阶段子任务,如下式所示:
Figure 480483DEST_PATH_IMAGE003
进一步地,对各子任务设置课程目标:
Figure 347945DEST_PATH_IMAGE004
其中,
Figure 57144DEST_PATH_IMAGE005
为第
Figure 569028DEST_PATH_IMAGE006
个子任务的目标。
举例来说,在机器人顶球任务中,顶球任务
Figure 580846DEST_PATH_IMAGE001
为水下机器人将水球顶入预先设置的 球门中。
具体的,将顶球任务
Figure 529079DEST_PATH_IMAGE001
描述为两阶段任务:准备阶段、射门阶段,即分为两个子任务 表示如下:
Figure 182915DEST_PATH_IMAGE007
步骤303,划分N个子任务中每个子任务的难度并生成M个子课程。
需要说明的是,M、N为正整数。
具体的,获取N个子任务中每个子任务的子任务目标;
根据子任务目标确定每个子任务的允许误差;
采用难度增加函数确定允许误差的难度序列;
根据难度序列对每个子任务进行难度划分,得到多个不同难度的子任务;
采用串并型策略对多个不同难度的子任务进行组合,得到M个子课程。
本发明实施例中,根据子任务目标,依次划分每个子任务的课程难度。
具体的,对子任务
Figure 283726DEST_PATH_IMAGE008
的课程目标
Figure 856659DEST_PATH_IMAGE009
,将其划分为
Figure 433133DEST_PATH_IMAGE010
个课程难度
Figure 234867DEST_PATH_IMAGE011
,确定 每个课程难度,如下式所示:
Figure 580398DEST_PATH_IMAGE012
其中,
Figure 324232DEST_PATH_IMAGE013
为子任务
Figure 263369DEST_PATH_IMAGE008
的第
Figure 727849DEST_PATH_IMAGE014
个课程难度,
Figure 318099DEST_PATH_IMAGE009
为子任务
Figure 108200DEST_PATH_IMAGE008
的课程目标,
Figure 3475DEST_PATH_IMAGE015
为难度增加函 数,可设置为线性或非线性等。
进一步地,结合各个子任务难度,利用串并型策略生成完整课程,用于训练。
具体的,结合每个子任务划分好的课程难度
Figure 927438DEST_PATH_IMAGE013
,按照串并型方式依次生成总任务 的课程难度序列
Figure 981981DEST_PATH_IMAGE016
进一步地,总任务初始课程难度
Figure 818350DEST_PATH_IMAGE017
由所有子任务的初始难度生成,总任务的其他 课程难度由前一次的课程与新增子任务课程的难度生成,如下式所示:
Figure 591134DEST_PATH_IMAGE018
,
其中,
Figure 787629DEST_PATH_IMAGE019
为生成总任务的第
Figure 837625DEST_PATH_IMAGE020
个课程难度;利用串并型策略,
Figure 969529DEST_PATH_IMAGE021
,同 时
Figure 354243DEST_PATH_IMAGE022
本发明实施例中,先增加并行的难度,即下一子任务的难度
Figure 229795DEST_PATH_IMAGE023
;当
Figure 134297DEST_PATH_IMAGE024
时,增 加串行难度
Figure 561736DEST_PATH_IMAGE025
,然后继续增加并行难度。
最后,通过迭代生成总任务的完整课程,共(
Figure 309112DEST_PATH_IMAGE026
)个难度,用于技能训练。
以机器人顶球任务为例,在准备阶段时,根据球门与水球位置确定射门点位置与射角,具体计算公式如下:
Figure 598142DEST_PATH_IMAGE027
Figure 747364DEST_PATH_IMAGE028
Figure 80125DEST_PATH_IMAGE029
其中,
Figure 190163DEST_PATH_IMAGE030
Figure 407518DEST_PATH_IMAGE031
分别为球门位置与水球位置,
Figure 270301DEST_PATH_IMAGE032
为预留给机器人的射门冲 刺距离。
进一步地,准备阶段子任务为机器人快速游动至射门点位置并调整至合适射角,该子任务的参数化描述具体如下:
Figure 180488DEST_PATH_IMAGE033
其中,
Figure 512243DEST_PATH_IMAGE034
为根据球门与水球位置确定的射门点位置,
Figure 267710DEST_PATH_IMAGE035
为射角,
Figure 516157DEST_PATH_IMAGE036
为机器人的位姿,
Figure 207033DEST_PATH_IMAGE037
为允许误差。
本发明实施例中,当机器人与射门点误差小于允许误差并稳定下来,则判定完成 该阶段子任务。因此,准备阶段的任务目标
Figure 885139DEST_PATH_IMAGE038
,通过调整
Figure 846228DEST_PATH_IMAGE037
大小,来调整任务难度,
Figure 558969DEST_PATH_IMAGE037
越小任务难度越高。
具体的,在射门阶段时,机器人从射门点
Figure 686325DEST_PATH_IMAGE034
处开始向前加速,同时保持航向在 射角
Figure 241940DEST_PATH_IMAGE035
的有效范围内,该子任务的参数化描述具体如下:
Figure 604788DEST_PATH_IMAGE039
其中,
Figure 47402DEST_PATH_IMAGE040
为期望的最小顶球速度,
Figure 204714DEST_PATH_IMAGE041
为机器人前进方向游速,
Figure 247625DEST_PATH_IMAGE042
为允许误差。当机 器人的航向与射角误差小于允许误差并稳定下来,速度大于期望的最小顶球速度,则判定 完成该阶段子任务。因此,射门阶段的任务目标
Figure 23951DEST_PATH_IMAGE043
,通过调整
Figure 711285DEST_PATH_IMAGE042
大小,来调整任务难 度,
Figure 429711DEST_PATH_IMAGE042
越小任务难度越高。
基于此,水下机器人顶球任务目标为:
Figure 569705DEST_PATH_IMAGE044
需要说明的是,本发明实施例通过全局视觉系统,比如摄像机,来采集水下机器人 实时的位置
Figure 884143DEST_PATH_IMAGE045
、航向
Figure 816196DEST_PATH_IMAGE046
、球门位置
Figure 315310DEST_PATH_IMAGE030
、水球位置。
举例来说,基于上述两个子任务目标
Figure 817967DEST_PATH_IMAGE047
,分别将其划分为
Figure 326308DEST_PATH_IMAGE048
个难度
Figure 112868DEST_PATH_IMAGE049
Figure 923829DEST_PATH_IMAGE050
,具体难度采用难度增加函数,计算公式具体如下:
Figure 772836DEST_PATH_IMAGE051
其中,
Figure 209503DEST_PATH_IMAGE013
为子任务
Figure 725935DEST_PATH_IMAGE008
的第
Figure 442218DEST_PATH_IMAGE014
个难度,
Figure 168734DEST_PATH_IMAGE009
为子任务
Figure 753299DEST_PATH_IMAGE008
的目标,
Figure 999604DEST_PATH_IMAGE015
为难度增加函数,本发 明实施例中采用指数函数。
进一步地,结合各个子任务难度,利用串并型策略生成完整课程,用于训练。
具体的,根据每个子任务划分好的难度
Figure 277002DEST_PATH_IMAGE013
,按照串并型方式依次生成总任务的课 程难度序列
Figure 490814DEST_PATH_IMAGE052
,即得到7个子课程。
进一步地,图4示例性地示出了本发明实施例的水下机器人顶球技能学习的串并型课程生成方法示意图。
举例来说,设获得的子任务
Figure 613491DEST_PATH_IMAGE053
的4个课程难度为
Figure 245461DEST_PATH_IMAGE049
,子任务
Figure 552814DEST_PATH_IMAGE054
的4个 课程难度为
Figure 129289DEST_PATH_IMAGE050
。采用串并型策略如下:
Figure 931023DEST_PATH_IMAGE018
,
其中,
Figure 276554DEST_PATH_IMAGE019
为生成总任务的第
Figure 20388DEST_PATH_IMAGE020
个课程难度;利用串并型训练策略,
Figure 693945DEST_PATH_IMAGE021
,同时
Figure 689583DEST_PATH_IMAGE022
本发明实施例中,先增加并行的难度,即下一子任务的难度
Figure 14254DEST_PATH_IMAGE023
;当
Figure 679722DEST_PATH_IMAGE024
时,增 加串行难度
Figure 965210DEST_PATH_IMAGE025
,然后继续增加并行难度。依次生成总任务的课程难度序列
Figure 623593DEST_PATH_IMAGE052
举例来说,子课程生成步骤为:
Figure 943716DEST_PATH_IMAGE055
Figure 514506DEST_PATH_IMAGE056
Figure 287290DEST_PATH_IMAGE057
Figure 749364DEST_PATH_IMAGE058
Figure 533780DEST_PATH_IMAGE059
Figure 931264DEST_PATH_IMAGE060
Figure 50398DEST_PATH_IMAGE061
基于此,通过迭代生成总任务的完整课程,共(
Figure 925950DEST_PATH_IMAGE062
)个难度的子课程, 用于机器人技能训练。
上述方案,根据任务目标,机器人通过串并型课程逐次增加难度地训练模型,学习并掌握技能,避免直接高难度训练时带来的成功率低、难收敛的问题。
步骤304,根据M个子课程中每个子课程的目标按照M个子课程的难度依次对机器人技能学习模型训练,得到训练好的机器人技能学习模型。
上述方案,根据任务目标,机器人通过多阶段、串并型课程逐次增加难度地训练模型,学习并掌握技能,避免直接高难度训练时带来的成功率低、难收敛的问题。
本发明实施例中,将每个子课程作为训练目标,利用强化学习方法对机器人技能学习模型进行训练。
在一种可能的实施方式中,采用新型无模型强化学习算法(Soft Actor Critic,SAC)对机器人技能学习模型进行训练。
进一步地,步骤流程如图5所示,具体如下:
步骤501,针对每个子课程,获取预设数量的训练样本集。
需要说明的是,每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;第一环境状态为执行动作描述信息对应的动作前的环境状态;第二环境状态为执行动作描述信息对应的动作后的环境状态;动作奖励为执行动作描述信息对应的动作后的奖励值。
具体的,获取第一环境状态以及动作描述信息;
根据执行动作描述信息对应的动作后的第二环境状态确定动作奖励。
本发明实施例中,机器人技能学习模型根据第一环境状态输出动作描述信息,控制机器人与环境交互。
以机器人顶球技能学习为例,首先获取第一环境状态
Figure 830452DEST_PATH_IMAGE063
,将其输入 到当前的机器人技能学习模型,根据机器人技能学习模型输出动作描述信息
Figure 257892DEST_PATH_IMAGE064
用于控制水下机器人各个鱼鳍波动频率,从而引导水下机器人完成顶球任务。
其中,状态
Figure 739688DEST_PATH_IMAGE063
由机器人位姿
Figure 294298DEST_PATH_IMAGE065
、速度
Figure 177940DEST_PATH_IMAGE066
、射门点位置及射角
Figure 53578DEST_PATH_IMAGE067
、任务 阶段标志符
Figure 898038DEST_PATH_IMAGE068
组成;动作
Figure 380972DEST_PATH_IMAGE069
由机器人各个鱼鳍波动频率组成,将其输入到鱼鳍控制器可以控 制机器人的游动。
进一步地,获取第二环境状态对应的机器人状态以及任务阶段标志符;
根据机器人状态以及任务阶段标志符确定动作奖励。
Figure 243754DEST_PATH_IMAGE069
作用一个时间步后,获取第二环境状态
Figure 888362DEST_PATH_IMAGE070
,并得到环境对应的动作奖励
Figure 485697DEST_PATH_IMAGE071
, 共同组成经验
Figure 365797DEST_PATH_IMAGE072
并存入经验池中,用于强化学习算法离线训练。
以机器人顶球技能学习为例,动作奖励的具体计算公式如下:
Figure 224032DEST_PATH_IMAGE073
其中,
Figure 914907DEST_PATH_IMAGE074
为各部分权重系数;当
Figure 858592DEST_PATH_IMAGE075
时为准备阶段,
Figure 807963DEST_PATH_IMAGE076
引导机器人游动至射门点位置,
Figure 396070DEST_PATH_IMAGE077
引导机器人调整至合适 的射角;当
Figure 382481DEST_PATH_IMAGE078
时为射门阶段,
Figure 938096DEST_PATH_IMAGE079
引导机器人加速冲刺,
Figure 35365DEST_PATH_IMAGE080
引导机器人保 持在射角的范围内;当
Figure 9137DEST_PATH_IMAGE081
时为达到目标完成子课程任务。
上述方案,通过机器人状态以及任务阶段标志符设计动作奖励,实现机器人对复杂技能的高效、精准学习。
步骤502,根据第一环境状态、动作描述信息、第二环境状态、动作奖励确定机器人技能学习模型的损失函数。
步骤503,根据损失函数更新机器人技能学习模型的参数并对机器人技能学习模型的性能进行评估,得到性能评估结果。
本发明实施例中,通过性能评估模块对当前机器人技能学习模型的性能进行评估,根据性能评估结果,通过课程调度模块对难度增速进行控制。
具体的,性能评估模块通过对当前机器人技能学习模型进行测试,测试机器人在当前策略网络下,完成顶球射门任务的成功率与时间效率,可评估当前子课程难度下训练的模型的性能。
步骤504,若所述性能评估结果或训练时间达到阈值,则针对第2个子课程重复上述步骤直到第M个子课程的性能评估结果或训练时间达到阈值,得到训练好的机器人技能学习模型。
进一步地,根据性能评估结果,课程调度模块判断是否切换到下一个课程难度,若性能或训练时间达到阈值,则按照设置的课程增加课程难度,实现对课程难度增速的控制。
举例来说,当难度达到预设目标,且机器人性能评估通过,得到训练好的机器人技 能学习模型。当课程难度达到预设目标,即达到第7(
Figure 291083DEST_PATH_IMAGE082
)个课程难度,且机器人技 能学习模型的性能到达要求,机器人实现顶球任务的技能学习。
本发明实施例中,根据顶球任务目标,机器人可通过多阶段、串并型课程逐次增加难度地训练模型,学习并掌握顶球技能,避免直接高难度训练时带来的成功率低、难收敛等问题。
上述方案,通过强化学习使得网络可以更快地学习到更加鲁棒的模型,从而实现机器人对复杂技能的高效、精准学习,解决了现有技能学习方法在面对多阶段复杂任务时易导致的难收敛、成功率较低的问题
进一步地,为验证有效性,例如,可在5m×4 m×1.1 m的室内水池进行顶球任务验证。安装在水池顶部的全局视觉跟踪系统通过USB连接到控制台,通过处理球门、水球、机器人和它周围环境的图像,控制台能实时计算出机器人当前的位置和航向、球门与水球位置,从而根据球门与水球位置计算出射门点位置与射角。据此控制台可获得实时环境状态,通过输入到训练好的机器人技能学习模型中获得动作,并通过无线通信发送给机器人内部鱼鳍控制器作为运动控制。图6以及图7给出了机器人顶球任务的验证结果。其中,图6示例性地示出了水下机器人顶球实验位置曲线示意图。图7示例性地示出了水下机器人顶球控制频率变化示意图。从中可以看出本发明实施例能够使机器人较快地运动到射门点并调整好射角,之后沿着射角的方向加速前进,并且将水球顶进球门。
基于此,本发明实施例通过采用上述技术方案,能通过多阶段、串并型课程逐次增加难度地训练顶球策略网络,解决了现有技能学习方法在面对多阶段复杂任务时易导致的难收敛、成功率较低的等问题,通过训练使机器人可高效、精准学习顶球等复杂技能,将水球顶进球门。
基于同一发明构思,图8示例性的示出了本发明实施例提供的一种机器人技能学习的装置,该装置可以为一种机器人技能学习的方法的流程。
所述装置,包括:
获取模块801,用于获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;
处理模块802,用于将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到。
进一步地,所述处理模块802还用于:
在所述将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列之前,获取所述机器人技能学习的任务;
将所述任务分为N个子任务;
划分N个子任务中每个子任务的难度并生成M个子课程;M、N为正整数;
根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型。
进一步地,所述处理模块802具体用于:
获取N个子任务中每个子任务的子任务目标;
根据所述子任务目标确定每个子任务的允许误差;
采用难度增加函数确定所述允许误差的难度序列;
根据所述难度序列对每个子任务进行难度划分,得到多个不同难度的子任务;
采用串并型策略对所述多个不同难度的子任务进行组合,得到M个子课程。
进一步地,所述处理模块802具体用于:
针对第1个子课程,执行以下步骤:
获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息对应的动作前的环境状态;所述第二环境状态为执行所述动作描述信息对应的动作后的环境状态;所述动作奖励为执行所述动作描述信息对应的动作后的奖励值;
根据所述第一环境状态、所述动作描述信息、所述第二环境状态、所述动作奖励确定所述机器人技能学习模型的损失函数;
根据所述损失函数更新所述机器人技能学习模型的参数并对所述机器人技能学习模型的性能进行评估,得到性能评估结果;
若所述性能评估结果或训练时间达到阈值,则针对第2个子课程重复上述步骤直到第M个子课程的性能评估结果或训练时间达到阈值,得到训练好的机器人技能学习模型。
进一步地,所述处理模块802具体用于:
获取所述第一环境状态以及所述动作描述信息;
根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励。
进一步地,所述处理模块802具体用于:
获取所述第二环境状态对应的机器人状态以及任务阶段标志符;
根据所述机器人状态以及所述任务阶段标志符确定所述动作奖励。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图9,所述电子设备具体包括如下内容:处理器901、存储器902、通信接口903和通信总线904;
其中,所述处理器901、存储器902、通信接口903通过所述通信总线904完成相互间的通信;所述通信接口903用于实现各设备之间的信息传输;
所述处理器901用于调用所述存储器902中的计算机程序,所述处理器执行所述计算机程序时实现上述机器人技能学习的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述机器人技能学习的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;根据所述动作描述信息序列确定所述机器人执行的动作序列;其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,机器人技能学习的装置,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,机器人技能学习的装置,或者网络设备等)执行各个实施例或者实施例的某些部分所述的机器人技能学习的方法。
此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种机器人技能学习的方法,其特征在于,包括:
获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;
将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;
根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到;
在所述将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列之前,还包括:
获取所述机器人技能学习的任务;
将所述任务分为N个子任务;
划分N个子任务中每个子任务的难度并生成M个子课程;M、N为正整数;
根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型。
2.根据权利要求1所述的机器人技能学习的方法,其特征在于,所述划分N个子任务中每个子任务的难度并生成M个子课程,包括:
获取N个子任务中每个子任务的子任务目标;
根据所述子任务目标确定每个子任务的允许误差;
采用难度增加函数确定所述允许误差的难度序列;
根据所述难度序列对每个子任务进行难度划分,得到多个不同难度的子任务;
采用串并型策略对所述多个不同难度的子任务进行组合,得到M个子课程。
3.根据权利要求1所述的机器人技能学习的方法,其特征在于,所述根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型,包括:
针对第1个子课程,执行以下步骤:
获取预设数量的训练样本集;每组训练样本包含第一环境状态、动作描述信息、第二环境状态、动作奖励;所述第一环境状态为执行所述动作描述信息对应的动作前的环境状态;所述第二环境状态为执行所述动作描述信息对应的动作后的环境状态;所述动作奖励为执行所述动作描述信息对应的动作后的奖励值;
根据所述第一环境状态、所述动作描述信息、所述第二环境状态、所述动作奖励确定所述机器人技能学习模型的损失函数;
根据所述损失函数更新所述机器人技能学习模型的参数并对所述机器人技能学习模型的性能进行评估,得到性能评估结果;
若所述性能评估结果或训练时间达到阈值,则针对第2个子课程重复上述步骤直到第M个子课程的性能评估结果或训练时间达到阈值,得到训练好的机器人技能学习模型。
4.根据权利要求3所述的机器人技能学习的方法,其特征在于,所述获取预设数量的训练样本集,包括:
获取所述第一环境状态以及所述动作描述信息;
根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励。
5.根据权利要求4所述的机器人技能学习的方法,其特征在于,所述根据执行所述动作描述信息对应的动作后的所述第二环境状态确定所述动作奖励,包括:
获取所述第二环境状态对应的机器人状态以及任务阶段标志符;
根据所述机器人状态以及所述任务阶段标志符确定所述动作奖励。
6.一种机器人技能学习的装置,其特征在于,包括:
获取模块,用于获取多个连续等间隔时刻的环境状态;所述环境状态包含机器人状态以及任务阶段标志符;
处理模块,用于将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列;根据所述动作描述信息序列确定所述机器人执行的动作序列;
其中,所述训练好的机器人技能学习模型为利用不同环境状态以及不同环境状态下所述机器人执行动作序列后得到的性能评估结果进行训练后得到;
所述处理模块,还用于在所述将所述多个连续等间隔时刻的环境状态输入至训练好的机器人技能学习模型,得到所述机器人学习技能的动作描述信息序列之前,获取所述机器人技能学习的任务;
将所述任务分为N个子任务;
划分N个子任务中每个子任务的难度并生成M个子课程;M、N为正整数;
根据M个子课程中每个子课程的目标按照M个子课程的难度依次对所述机器人技能学习模型训练,得到训练好的机器人技能学习模型。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN202111537547.1A 2021-12-16 2021-12-16 机器人技能学习的方法、装置、电子设备及存储介质 Active CN113919475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111537547.1A CN113919475B (zh) 2021-12-16 2021-12-16 机器人技能学习的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111537547.1A CN113919475B (zh) 2021-12-16 2021-12-16 机器人技能学习的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113919475A CN113919475A (zh) 2022-01-11
CN113919475B true CN113919475B (zh) 2022-04-08

Family

ID=79248964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111537547.1A Active CN113919475B (zh) 2021-12-16 2021-12-16 机器人技能学习的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113919475B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114609925B (zh) * 2022-01-14 2022-12-06 中国科学院自动化研究所 水下探索策略模型的训练方法及仿生机器鱼水下探索方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111461309A (zh) * 2020-04-17 2020-07-28 支付宝(杭州)信息技术有限公司 实现隐私保护的更新强化学习系统的方法及装置
CN113168566A (zh) * 2018-11-30 2021-07-23 谷歌有限责任公司 通过使用熵约束来控制机器人
CN113156892A (zh) * 2021-04-16 2021-07-23 西湖大学 一种基于深度强化学习的四足机器人模仿运动控制方法
CN113487039A (zh) * 2021-06-29 2021-10-08 山东大学 基于深度强化学习的智能体自适应决策生成方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113168566A (zh) * 2018-11-30 2021-07-23 谷歌有限责任公司 通过使用熵约束来控制机器人
CN111461309A (zh) * 2020-04-17 2020-07-28 支付宝(杭州)信息技术有限公司 实现隐私保护的更新强化学习系统的方法及装置
CN113156892A (zh) * 2021-04-16 2021-07-23 西湖大学 一种基于深度强化学习的四足机器人模仿运动控制方法
CN113487039A (zh) * 2021-06-29 2021-10-08 山东大学 基于深度强化学习的智能体自适应决策生成方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Towards Practical Multi-Object Manipulation using Relational Reinforcement Learning;Richard Li;《2020 IEEE international Conference on Robotics and Automation》;20200831;第4051-4056页 *

Also Published As

Publication number Publication date
CN113919475A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
CN111488988B (zh) 基于对抗学习的控制策略模仿学习方法及装置
CN108115681B (zh) 机器人的模仿学习方法、装置、机器人及存储介质
CN111026272B (zh) 虚拟对象行为策略的训练方法及装置、电子设备、存储介质
US11759947B2 (en) Method for controlling a robot device and robot device controller
CN111783994A (zh) 强化学习的训练方法和装置
CN113561986A (zh) 自动驾驶汽车决策方法及装置
CN113919475B (zh) 机器人技能学习的方法、装置、电子设备及存储介质
CN114290339B (zh) 基于强化学习和残差建模的机器人现实迁移方法
CN113070878A (zh) 基于脉冲神经网络的机器人控制方法、机器人及存储介质
CN114239974B (zh) 多智能体的位置预测方法、装置、电子设备及存储介质
CN116147627A (zh) 一种结合深度强化学习和内在动机的移动机器人自主导航方法
CN116352715A (zh) 一种基于深度强化学习的双臂机器人协同运动控制方法
CN113641099B (zh) 一种超越专家演示的阻抗控制模仿学习训练方法
CN113419424A (zh) 减少过估计的模型化强化学习机器人控制方法及系统
CN114219066A (zh) 基于瓦瑟斯坦距离的无监督强化学习方法及装置
Gromniak et al. Deep reinforcement learning for mobile robot navigation
CN117540203A (zh) 一种集群机器人合作导航的多向课程学习训练方法及装置
CN114571456B (zh) 基于机器人技能学习的电连接器装配方法及系统
CN113723012B (zh) 一种基于多智能体生成对抗模仿安全学习的协作围捕方法
CN113910221B (zh) 一种机械臂自主运动规划方法、装置、设备及存储介质
CN110515297B (zh) 基于冗余肌肉骨骼系统的阶段式运动控制方法
Subramanian Task space behavior learning for humanoid robots using Gaussian mixture models
CN113485107B (zh) 基于一致性约束建模的强化学习机器人控制方法及系统
CN115496208B (zh) 协同模式多样化导向的无监督多智能体强化学习方法
CN114819060A (zh) 一种基于目标采样的模仿学习方法

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