1.本发明涉及强化学习与机器人控制
技术领域:
:,尤其涉及一种机器人控制策略迁移方法、装置及系统。
背景技术:
::2.近年来,运用强化学习来展开机器人控制方面的相关研究已逐渐成为研究热点。然而,强化学习的核心机制在于大量样本的试错,进而训练得到一个合格的控制策略,而直接在机器人的实际控制系统进行训练则要面临硬件磨损、安全隐患、长耗时等一系列高成本、高风险、低效率的实际问题,这也迫使大量的研究都集中在仿真层面。因此,能否将仿真下训练得到的控制策略迁移至实际控制系统,成为了研究人员很自然的想法。3.而事实情况是:由于仿真源域与现实目标域的不同导致了仿真到现实的差异问题,所得控制策略迁移至机器人的实际控制系统的应用效果大概率是远不及仿真层面的效果。如何解决上述差异问题,成为了研究人员的主要难点。目前,各种解决方法可分为三大类:基于系统辨识的方法、基于域自适应的方法以及基于域随机化的方法。4.尽管上述三类方法在解决上述差异问题时取得了明显的效果,但如何更好地复现控制策略在实际控制系统的应用效果,还需深入研究。技术实现要素:5.本发明提供一种机器人控制策略迁移方法、装置及系统,用以解决现有技术中存在的缺陷。6.本发明提供一种机器人控制策略迁移方法,包括:将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。7.根据本发明提供的一种机器人控制策略迁移方法,所述差异策略具体通过如下方法确定:将所述任务策略多次迁移至所述实际控制系统,并基于所述实际控制系统执行每次所述任务策略得到的样本动作,确定所述目标机器人的样本实际状态集合;对于任一次迁移,基于所述目标机器人的参考状态集合以及所述任一次迁移对应的样本实际状态集合之间的状态偏差集合,确定所述任一次迁移对应的样本修正动作;基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略。8.根据本发明提供的一种机器人控制策略迁移方法,所述基于所述目标机器人的参考状态集合以及所述任一次迁移对应的样本实际状态集合之间的状态偏差集合,确定所述任一次迁移对应的样本修正动作,具体包括:从所述状态偏差集合中按时间顺序选取第一个超过阈值的状态偏差,并确定所述状态偏差对应的备选样本修正动作集合;基于所述状态偏差、所述备选样本修正动作集合中每一备选样本修正动作对所述状态偏差对应的样本实际状态进行修正后得到的样本估计状态以及所述状态偏差对应的参考状态,确定所述样本修正动作。9.根据本发明提供的一种机器人控制策略迁移方法,所述基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略,具体包括:基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,构造训练目标,并基于所述训练目标,通过多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态训练得到所述差异策略。10.根据本发明提供的一种机器人控制策略迁移方法,所述基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略,之前还包括:剔除多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态中的重复样本修正动作以及所述重复样本修正动作对应的样本实际状态。11.根据本发明提供的一种机器人控制策略迁移方法,所述任务策略基于强化学习方法预先训练得到,训练时采用的奖励函数基于所述目标机器人的待执行任务中涉及的目标物体的实际位置与目标位置之间的距离函数确定。12.本发明还提供一种机器人控制策略迁移装置,包括:任务策略迁移模块,用于将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;差异策略迁移模块,用于若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。13.本发明还提供一种机器人控制策略迁移系统,包括:摄像装置以及上述所述的机器人控制策略迁移装置,所述机器人控制策略迁移装置与所述摄像装置连接;所述摄像装置用于获取目标机器人的实际状态。14.本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述机器人控制策略迁移方法的步骤。15.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述机器人控制策略迁移方法的步骤。16.本发明提供的机器人控制策略迁移方法、装置及系统,首先将目标机器人的任务策略迁移至目标机器人的实际控制系统,并基于实际控制系统,确定目标机器人在当前时刻的实际状态;然后当实际状态与基于任务策略确定的参考状态的差值在预设范围外时,将目标机器人的差异策略迁移至实际控制系统,以使实际控制系统执行任务策略以及所述差异策略下的耦合动作,进而确定目标机器人在当前时刻的下一时刻的实际状态。由于在实际状态与基于任务策略确定的参考状态的差值在预设范围外时引入了差异策略,通过任务策略与差异策略的双策略协同迁移,可以保证任务策略在实际控制系统的应用效果,使得实际控制系统对目标机器人的控制更加准确,实现待执行任务的顺利执行。附图说明17.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。18.图1是本发明提供的机器人控制策略迁移方法的流程示意图之一;图2是本发明提供的机器人控制策略迁移方法的流程示意图之二;图3是本发明提供的机器人控制策略迁移方法的流程示意图之三;图4是本发明提供的机器人控制策略迁移方法中任务策略迁移时目标物体在所处运动平面的轨迹示意图;图5是本发明提供的机器人控制策略迁移方法中差异影响导致目标物体沿顺时针偏转的示意图;图6是本发明提供的机器人控制策略迁移方法中差异影响导致目标物体沿逆时针偏转的示意图;图7是本发明提供的机器人控制策略迁移方法中耦合动作的方向俯视示意图;图8是本发明提供的机器人控制策略迁移方法中目标物体在迁移初始发生了顺时针偏转时差异策略训练任务的俯视示意图;图9是本发明提供的机器人控制策略迁移方法中目标物体在迁移初始发生了逆时针偏转差异策略训练任务的俯视示意图;图10是现有技术中单一策略迁移方法中铁盒所处平面的运动轨迹示意图;图11是本发明提供的机器人控制策略迁移方法中铁盒所处平面的运动轨迹示意图;图12是现有技术中单一策略迁移方法中铁块置于纸盒上方被推动时所处平面的运动轨迹示意图;图13是本发明提供的机器人控制策略迁移方法中铁块置于纸盒上方被推动时所处平面的运动轨迹示意图;图14是现有技术中单一策略迁移方法中铁块置于纸盒下方被推动时所处平面的运动轨迹示意图;图15是本发明提供的机器人控制策略迁移方法中铁块置于纸盒下方被推动时所处平面的运动轨迹示意图;图16是本发明提供的机器人控制策略迁移装置的结构示意图;图17是本发明提供的机器人控制策略迁移系统的结构示意图;图18是本发明提供的电子设备的结构示意图。具体实施方式19.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。20.由于仿真源域与现实目标域的不同导致了仿真到现实的差异问题,所得控制策略迁移至机器人的实际控制系统的应用效果大概率是远不及仿真层面的效果。现有技术在解决上述差异问题时,通常采用三大类解决方法,包括:基于系统辨识的方法、基于域自适应的方法以及基于域随机化的方法。尽管上述三类方法在解决上述差异问题时取得了明显的效果,但如何更好地复现控制策略在实际控制系统的应用效果,还需深入研究。例如,如何尽可能的复现控制策略在实际控制系统的应用效果,如何缩短控制策略的训练时间等。为此,本发明实施例中提供了一种机器人控制策略迁移方法。21.图1为本发明实施例中提供的一种机器人控制策略迁移方法的流程示意图,如图1所示,该方法包括:s1,将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;s2,若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。22.具体地,本发明实施例中提供的机器人控制策略迁移方法,其执行主体为机器人控制策略迁移装置,该装置可以配置于服务器内,该服务器可以是本地服务器,也可以是云端服务器,本地服务器具体可以是计算机,本发明实施例中对此不作具体限定。23.一般情况下,差异问题通过以下形式给出:其中,p与分别表示虚拟仿真端与实际控制系统的涉及动力学特性的转移概率分布、与分别表示虚拟仿真端与实际控制系统的涉及图像信息的生成概率分布,r表示实际控制系统,表示时刻t的任务动作,表示t时刻的参考状态。表示虚拟仿真端t+1时刻的参考状态,表示实际控制系统中t+1时刻的实际状态。表示通过右侧的内容能够得到左侧的内容。24.由于虚实两边概率分布的不同,虚拟仿真端训练得到的控制策略迁移至实际控制系统,相对于会存在差别,也就形成了差异问题。本发明实施例中,着眼于动力学特性的虚实差异问题,以下将其改写为,其中策略的学习与迁移均未用到图像信息,因而本发明实施例中忽略掉与的影响。25.目前,虚拟仿真端至实际控制系统的策略迁移基本上都是单一策略的迁移,针对其体现出的差异问题,也大多致力于如何在这一个策略展开研究,使其更鲁棒、泛化性更强,进而弥补差异。与这一思路不同,本发明实施例中首先将一般策略解耦为任务策略与差异策略,让前者致力于任务技能,让后者致力于克服差异,进一步将二者协同迁移至实际控制系统,以实现低差异、强鲁棒的迁移效果。其中,为策略参数,由训练得到,t表示任务,g表示差异。26.差异策略需要任务策略迁移至实际控制系统后给出的实验反馈作为仿真训练设置的先验知识,由此构造差异策略的学习目标,进而回归虚拟仿真端展开训练,也因此反映了由“虚”至“实”再到“虚”的虚实交互特点。单一策略的迁移出发点都是围绕展开,力求在虚拟仿真下设法得到贴近实际系统的,或是在虚拟仿真端中设置一个参数空间以覆盖实际控制系统的动力学分布从而强化策略的鲁棒性。不同的是,本发明实施例中着眼点在于如何满足。在确定、已知的情况下,若要改变,关键在于,而又已训练好,因而可以先假设有,使得,虽然不能使实际状态贴近参考状态,但运动趋势是可以保证的,所以本发明实施例中有,进而应有:其中,为修正动作,可与耦合得到,以此进一步假设,并将上式中的动作换成策略的形式,有:上式中的虽然不易获得,但已有,而可由虚实迁移的、、与推断出来,那么也就可以得到,进而基于动作与状态调整仿真设置训练得到。进一步地,将上式的定义为,将定义为。至此,具有差异克服能力的一般策略被解耦为任务策略与差异策略。27.如图2所示,一般策略通过解耦分为任务策略和差异策略,任务策略与差异策略之间通过虚实交互,并且任务策略与差异策略协同作用于目标机器人的实际控制系统。28.首先执行步骤s1,将目标机器人的任务策略迁移至目标机器人的实际控制系统。目标机器人是指需要进行控制的机器人,该目标机器人对待执行任务进行执行,待执行任务可以是将目标物体推至目标位置。目标机器人的结构中可以包含有机器人夹爪,通过机器人夹爪对目标物体进行夹取并将其推至目标位置,以对待执行任务进行执行。29.任务策略可以是预先训练好的预设任务执行模型,任务策略的输入可以是执行待执行任务的过程中目标机器人在各个时刻的实际状态,输出可以是目标机器人为执行该待执行任务在各个时刻所需要执行的任务动作。其中,任务策略的基础模型可以是神经网络模型。30.目标机器人的实际控制系统是指用于对目标机器人的实际状态以及为执行待执行任务所需要执行的任务动作进行控制的控制系统。目标机器人的实际控制系统在迁移进来任务策略之后,通过任务策略输出的前一时刻的任务动作控制目标机器人在前一时刻的实际状态的变化,得到当前时刻的实际状态。31.其中,目标机器人的状态可以通过机器人夹爪末端的笛卡尔位置坐标、机器人各关节的位姿等信息表示。目标机器人为执行待执行任务所需要执行的任务动作可以通过机器人夹爪末端的笛卡尔位置坐标变化、机器人各关节的位姿变化等信息表示。32.然后执行步骤s2,判断目标机器人在当前时刻的实际状态与基于任务策略确定的参考状态的差值是否在预设范围外。其中,参考状态是指任务策略没有结合实际控制系统而得到的理想情况下目标机器人执行待执行任务的过程中各个时刻的状态。每一时刻下,目标机器人均对应有一个实际状态和参考状态,则对于当前时刻,可以计算目标机器人在当前时刻的实际状态与参考状态的差值,该差值可以是两个位置坐标之间的差值,即距离。33.预设范围可以是事先给定的能够允许的状态偏差范围,如果上述差值在预设范围内,则说明当前时刻的实际状态在一定程度上可以认为是与任务策略确定的参考状态一致,因此实际控制系统可以继续通过任务策略实现对目标机器人的控制,直至待执行任务执行完成。如果上述差值在预设范围外,则说明当前时刻的实际状态与任务策略确定的参考状态差距较大,无法忽略,因此需要引入差异策略对该差值进行修正,即此时将目标机器人的差异策略迁移至实际控制系统。34.差异策略可以是预先训练好的差异修正模型,差异策略的输入可以是目标机器人在当前时刻的实际状态,输出可以是目标机器人为使当前时刻的实际状态与参考状态一致或者二者的状态差值在预设范围内所需要执行的修正动作。其中,差异策略的基础模型可以是神经网络模型。35.差异策略在迁移进入实际控制系统之后,差异策略输出的修正动作与任务策略输出的任务动作进行耦合,得到耦合动作。该耦合动作可以是修正动作与任务动作的综合动作,例如修正动作为向北方向,任务动作为向西方向,则耦合动作可以是向西北方向。目标机器人的实际控制系统在确定该耦合动作后,可以控制目标机器人执行该耦合动作,进而得到目标机器人在当前时刻的下一时刻的实际状态。36.本发明实施例中,差异策略可以通过将任务策略多次迁移至实际控制系统后得到的样本实际状态集合与任务策略输出的参考状态集合之间的状态偏差集合确定。迁移次数可以根据进行设定,例如一次、三次、十次、一百次等,本发明实施例中对此不作具体限定。每次迁移,都会得到该次迁移下各个时刻的样本任务动作,实际控制系统通过执行该样本任务动作可以得到包括该次迁移下各个时刻的样本实际状态的样本实际状态集合。参考状态集合是指目标机器人执行待执行任务的过程中各个时刻的参考状态构成的集合,状态偏差集合是指样本实际状态集合与参考状态集合中同一时刻下的参考状态与实际状态的状态差值的集合。通过该集合,结合每次迁移对应的样本修正动作即可确定出差异策略。37.本发明实施例中提供的机器人控制策略迁移方法,首先将目标机器人的任务策略迁移至目标机器人的实际控制系统,并基于实际控制系统,确定目标机器人在当前时刻的实际状态;然后当实际状态与基于任务策略确定的参考状态的差值在预设范围外时,将目标机器人的差异策略迁移至实际控制系统,以使实际控制系统执行任务策略以及所述差异策略下的耦合动作,进而确定目标机器人在当前时刻的下一时刻的实际状态。由于在实际状态与基于任务策略确定的参考状态的差值在预设范围外时引入了差异策略,通过任务策略与差异策略的双策略协同迁移,可以保证任务策略在实际控制系统的应用效果,使得实际控制系统对目标机器人的控制更加准确,实现待执行任务的顺利执行。38.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移方法,所述差异策略具体通过如下方法确定:将所述任务策略多次迁移至所述实际控制系统,并基于所述实际控制系统执行每次所述任务策略得到的样本动作,确定所述目标机器人的样本实际状态集合;对于任一次迁移,基于所述目标机器人的参考状态集合以及所述任一次迁移对应的样本实际状态集合之间的状态偏差集合,确定所述任一次迁移对应的样本修正动作;基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略。39.具体地,本发明实施例中,在差异策略时,可以通过以下方法实现,即可以先将任务策略多次迁移至实际控制系统,每次迁移任务策略均会得到该次迁移下各个时刻的样本动作,实际控制系统可以执行任务策略得到的每次迁移下各个时刻的样本动作,进而确定出目标机器人的样本实际状态集合,样本实际状态集合中包含有该次迁移下目标机器人在不同时刻的样本实际状态。40.由于多次迁移的过程均相同,以多次迁移中的任一次迁移为例,对于该次迁移,参考状态集合可以表示为,样本实际状态集合可以表示为,状态偏差集合可以表示为,n为待执行任务在执行过程中涉及的状态数量。根据目标机器人的参考状态集合以及该次迁移对应的样本实际状态集合之间的状态偏差集合,可以确定出该次迁移对应的样本修正动作。通过该样本修正动作配合样本任务动作,可以使状态偏差变小,也就是使样本实际状态趋向于参考状态。41.最后通过多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态作为训练样本即可训练得到差异策略。42.本发明实施例中,以任务策略的多次迁移得到的样本实际状态集合以及每一样本实际状态对应的样本修正动作作为训练样本训练得到差异策略,使差异策略对迁移至实际控制系统中的任务策略的修正效果更好。43.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移方法,所述基于所述目标机器人的参考状态集合以及所述任一次迁移对应的样本实际状态集合之间的状态偏差集合,确定所述任一次迁移对应的样本修正动作,具体包括:从所述状态偏差集合中按时间顺序选取第一个超过阈值的状态偏差,并确定所述状态偏差对应的备选样本修正动作集合;基于所述状态偏差、所述备选样本修正动作集合中每一备选样本修正动作对所述状态偏差对应的样本实际状态进行修正后得到的样本估计状态以及所述状态偏差对应的参考状态,确定所述样本修正动作。44.具体地,本发明实施例中,在确定样本修正动作时,可以先按时间顺序从状态偏差集合中选取第一个超过阈值c的状态偏差,该阈值可以是距离阈值,可以根据需要进行设定,本发明实施例中对此不作具体限定。结合相同时刻的、,可以得到,k次迁移后得到状态‑偏差轨迹,可以表示为。45.根据状态偏差,可以确定出状态偏差对应的备选样本修正动作集合,备选样本修正动作可以是人为选择的可能实现修正作用的动作。46.然后通过状态偏差、备选样本修正动作集合中每一备选样本修正动作对状态偏差对应的样本实际状态进行修正后得到的样本估计状态以及状态偏差对应的参考状态,确定出样本修正动作。例如,可以先计算每一备选样本修正动作对状态偏差对应的样本实际状态进行修正后得到的样本估计状态与状态偏差对应的参考状态的状态偏差的绝对值,然后判断该绝对值与状态偏差的大小关系,如果有:其中,h表示1~k中按自然排序的数,表示第h次迁移下的样本估计状态,表示第h次迁移下的参考状态。47.则说明备选样本修正动作可以满足,m表示修正,则将该备选样本修正动作作为样本修正动作。48.本发明实施例中给出了样本修正动作的确定方法,如此可以保证通过样本修正动作训练得到的差异策略的准确性。49.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移方法,所述基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略,具体包括:基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,构造训练目标,并基于所述训练目标,通过多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态训练得到所述差异策略。50.具体地,本发明实施例中在确定差异策略时,首先可以根据多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,构造出训练目标,该训练目标的形式与待执行任务的任务内容有关,本发明实施例中对此不作具体限定。例如,该训练目标可以是目标机器人的实际状态与参考状态的差值最小。51.然后根据训练目标,结合多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态训练得到差异策略。52.本发明实施例中,通过训练得到差异策略可以使得到的差异策略可靠性更高。53.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移方法,所述基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略,之前还包括:剔除多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态中的重复样本修正动作以及所述重复样本修正动作对应的样本实际状态。54.具体地,本发明实施例中,在k次迁移后可以提炼出各对的共性,得出代表性的多个数对,即剔除重复样本修正动作以及重复样本修正动作对应的样本实际状态。其中表示第h次迁移下的样本实际状态。然后在基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态确定差异策略时,可以根据得到的多个数对确定差异策略。55.本发明实施例中,可以通过剔除重复样本修正动作以及重复样本修正动作对应的样本实际状态,降低确定差异策略时的计算量,进而简化确定差异策略的过程。56.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移方法,所述任务策略基于强化学习方法预先训练得到,训练时采用的奖励函数基于所述目标机器人的待执行任务中涉及的目标物体的实际位置与目标位置之间的距离函数确定。57.具体地,本发明实施例中,任务策略可以通过强化学习方法训练得到,强化学习方法可以包括深度确定性行为策略(deepdeterministicpolicygradient,ddpg),近端策略优化算法(proximalpolicyoptimization,ppo)等。58.在训练得到任务策略的过程中,采用的奖励函数可以根据目标机器人的待执行任务中涉及的目标物体的实际位置与目标位置之间的距离函数确定。例如:其中,为奖励函数,为t时刻目标物体的实际位置与目标位置之间的距离函数,为初始时刻目标物体的实际位置与目标位置之间的距离函数。59.本发明实施例中,涉及的奖励函数属于密集型奖励函数,相比于0、1型的稀疏奖励函数,训练速度会更快,且随着距离的减少奖励会逐渐增大。另外,不同于一般的同类型推动任务,本发明实施例中没有采用每次迁移随机更新的目标物体的初始位置及目标位置,而是根据实际应用的对应情况将这两个位置固定;这样虽然会牺牲一定的鲁棒性,但也缩减了训练时间。因此,在任务策略训练过程中遵循的经验是,在策略能够达到任务执行要求的基础上尽量缩短训练时间,同时简化仿真设置,弱化虚拟仿真下训练策略的鲁棒性与泛化能力,以凸显迁移方法的有效性与鲁棒性。60.如图3所示,在上述实施例的基础上,本发明实施例中在对目标机器人进行控制时,首先获取任务策略,然后将任务策略迁移至实际控制系统,然后判断通过实际控制系统确定的当前时刻的实际状态与参考状态的差值是否在预设范围内,如果是则继续执行直至完成待执行任务,如果不是则引入差异策略,并返回至任务策略,将差异策略与任务策略进行动作耦合,得到耦合动作作用于实际控制系统,然后继续判断目标机器人在当前时刻的下一时刻的实际状态与参考状态的差值是否在预设范围内。61.在上述实施例的基础上,本发明实施例中基于ur3机器人的自适应物体推动实验验证所提供的机器人控制策略迁移方法的有效性与鲁棒性。62.虚拟仿真的实验设置:仿真环境由mujoco物理引擎与openai的gym库构成,具体使用的是一个6关节自由度的ur3机器人,其末端装有二指夹爪,实验时会令其闭合以推动实验物体。仿真步长为0.002s,每回合包含50步。任务策略的输出是机器人夹爪末端应到达的笛卡尔坐标,其中z坐标固定以保持末端高度不变。任务策略的输入则包含实验物体、目标、机器人夹爪末端的笛卡尔位置坐标,以及实验物体的偏转姿态。仿真坐标系以ur3机器人的基座中心为世界坐标的零点。63.实际控制系统的实验设置:实际控制系统为机器人操作系统(robotoperatingsystem,ros),目标机器人为ur3机器人,基于ros搭建计算机、kinect2摄像头、ur3机器人之间的通讯,机器人末端装有robotiq的二指夹爪,本文未涉及到抓取,故将其设为闭合常态。摄像头用以获取目标物体的位姿与目标位置等相关信息,目标机器人的各项状态数据则由ros下的moveit包获取。机器人夹爪末端设置为垂直于运动平面且高度固定不变,以确保末端避免磕碰。另外,本发明实施例中,同一动作输出指令,实际机器人与仿真下的机器人执行情况相同。事实上,细微的误差确实存在,但相较于实验物体出现的差异影响,机器人自身的执行误差可忽略不计,并未对本发明实施例的实验结果产生显著影响。64.为保证实验的严谨性,仿真训练时策略输入及输出的数据类型与现实迁移时的保持一致,两类环境的坐标也对应相同。65.任务策略的仿真训练:对于ur3机器人物体推动实验的任务策略训练,先设计好相应的仿真环境如上所述。训练所用到的强化学习算法是sac,同时结合了her的使用。算法程序的神经网络设置与超参数均使用stable‑baselines库中相应的默认设置。66.任务策略现实迁移实验的分析与归纳:训练所得的任务策略首先在仿真中测试,同时记录被推的目标物体在所处运动平面的每一步具体位置,并收集为一条参考轨迹,如图4所示,图4中初始点42指的是初始时刻目标物体的实际位置,末端点41指的是目标物体到达的目标位置。之后,将该任务策略迁移至ur3机器人系统,由于实际物体质量、重心、摩擦力等物理特性并不清楚,因而产生差异影响,经过多次物体推动实验,观察到不同于参考轨迹的多种物体状态,物体位置与偏转均发生变化,即偏差,进一步归纳可得出:即便目标物体的各项物理参数没有获悉,差异影响出现的初期其实无外乎两类,即沿着参考轨迹运动方向的两侧偏转,只是具体程度不同,如图5和图6所示。图5和图6中的正方形均表示目标物体,圆圈均表示目标机器人与目标物体的接触点,箭头方向为t时刻目标物体的运动方向。图5表示目标物体在t、、、时刻沿顺时针偏转,图6表示目标物体在t、、、时刻沿逆时针偏转。67.而随着任务动作的演进,偏转逐渐增大,任务策略又无法给出相应的动作调整,位置也会产生偏离,最终导致任务失败。由此可以进一步展开设想,能否在出现偏转时,给出及时的修正动作,以提高任务的成功率。偏差总结与修正发现其实就是针对下一步进行差异策略仿真训练所需要的先验知识,这也是所提方法中任务策略进行现实迁移的原因所在。68.差异策略的分析及其仿真训练:在通过一段时间的摸索和积累后,可以认为仅在虚拟仿真层面展开探索,若要实现单一策略的强鲁棒性迁移,就现有方法而言能否得到理想的结果难以保证。两个策略同时迁移,一个主“任务”,一个主“修正”,两相结合,克服差异、完成任务,这样的想法逐渐运应而生。聚焦于ur3机器人的物体推动实验,在完成任务策略的训练及其迁移后,发现其差异影响具体体现的偏差为两侧偏转,很明显,与之对应的修正调整就是斜方向(就物体推动的运动方向而言)给出动作。通过对任务策略迁移应用与参考轨迹的运动方向进行判断,认为任务策略给出的任务动作的方向与运动方向基本相吻合,这也符合奖励函数下的动作要求。那么,针对差异策略的仿真设置就很明确了,即当物体发生顺时针偏转时,机器人末端需要差异策略给出相对于运动方向垂直向上的修正动作;当物体发生逆时针偏转时,差异策略给出的修正动作应该垂直向下。如此一来,两类策略给出的动作经耦合后,耦合动作的方向将指向运动方向的斜上方或斜下方,相应的俯视示意图如图7所示,简要展示了从实验开始后的时刻至时刻的动作执行情况与目标物体偏转状态的变化。两类策略的动作输出均为下一时刻的笛卡尔坐标,因此本发明实施例中的动作耦合即为坐标的向量相加:为了使输出动作符合要求,将差异策略的训练设计为机器人夹爪末端到达指定区域随机点的任务,俯视示意图如图8和图9所示。图8表示,目标物体在迁移初始发生了顺时针偏转,机器人夹爪末端在迁移初始随机出现在位于初始点81至末端点82的拟合线段上的a点,此时的训练任务则是末端在该次迁移内移动到与a点连线垂直于拟合线段,且与a点距离固定不变的b点。图9则表示目标物体在迁移初始发生了逆时针偏转,机器人夹爪末端在迁移初始随机出现在位于初始点91至末端点92的拟合线段上的a点,此时的训练任务则是末端在该次迁移内移动到与a点连线垂直于拟合线段,且与a点距离固定不变的b点。本发明实施例中ab距离可以设定为0.10m。69.至此,可以看出本发明实施例中提供的机器人控制策略迁移方法,设计差异策略的本质原因是为了获取修正动作,而如何设计修正动作又取决于想要克服的现实迁移差异的具体表现,而之所以会有这些差异,又是因为任务策略仅通过虚拟仿真来学习获取。这也反映了由“虚”到“实”再到“虚”的策略学习的彼此交互之特点。70.任务策略和差异策略的协同迁移:训练得到差异策略后,结合任务策略一同迁移至实际系统。对于程序的编写可遵循双进程的方式,使得两个策略能够同时并行运行。动作的执行根据具体情况做出实时调整,若没有出现差异偏转,则仅执行任务策略给出的动作即可;若出现偏转,则执行双策略的耦合动作。具体来说,在策略迁移开始阶段,目标物体起始角度为绕z轴偏转135度,绕x轴、y轴的偏转忽略不计。进一步设定当偏转小于等于130度时,认为发生了顺时针偏转,需要差异策略给出垂直向上的动作,在被执行前,该动作将与任务动作进行耦合,耦合动作将朝向运动方向的斜上方,进而在尝试修正偏转的同时也沿着任务方向推动物体,直到偏转角度回归135度,再恢复至任务策略的单一执行。当偏转大于等于140度时,则认为发生逆时针偏转,耦合动作将朝向运动方向的斜下方,执行逻辑与上述相同。71.本发明实施例中,将任务策略的单一迁移作为基本实验,与之对比的是双策略迁移。实验推动的对象是贴有二维码的纸盒,尺寸为0.15m×0.15m×0.05m,自重约60g,为了验证方法的有效性和鲁棒性,除了对纸盒展开实验,还进一步在纸盒内部上方与内部下方这样的非几何中心位置装入1000g重的铁块,以明显增大和改变整个纸盒的质量、摩擦力和重心位置,并对其实验。72.将实验成功的标志设定为,纸盒的二维码中心与目标位置二维码中心的距离小于0.02m,同时偏转角度与初始角度的差值不超过±5度。实验的终点,起点,单位为米,每次实验并未对纸盒起始位置进行精确测量,而是在起点的大概位置放置即可。每组实验进行50次,记录相应的成功率,具体结果如表1所示。73.表1两种迁移方法对三类纸盒进行实验的成功率实验结果表明,本发明实施例中提供的机器人控制策略迁移方法,对纸盒物理属性的变化有着较强鲁棒性,且均以较高的成功率完成了推动任务;而单一策略迁移仅对无铁块的纸盒有一定的任务完成能力,装入铁块后则无法完成任务。另外,两种迁移方法下三类纸盒被推动时所处平面的运动轨迹如图10至图15所示,图10至图15中实心点均表示目标位置,图10、图12和图14分别表示铁盒、铁块置于纸盒上方、铁块置于纸盒下方这三类铁盒采用单一策略迁移时的任务完成情况,图11、图13、图15分别表示铁盒、铁块置于纸盒上方、铁块置于纸盒下方这三类铁盒采用双策略迁移时的任务完成情况。图10和图11进行对比可知,采用双策略迁移可以使任务完成情况更好;图12和图13进行对比可知,采用单一策略迁移时无法完成任务,而采用双策略迁移则可以使任务完成;图14和图15进行对比可知,采用单一策略迁移时无法完成任务,而采用双策略迁移则可以使任务完成。由此可知,双策略迁移能够对差异影响做出有效地实时调整,而单一迁移则不能。图11、图13、图15中出现折线是由于差异策略引入导致的轨迹变化。74.需要指出的是,对于单一迁移的任务策略,本发明实施例中并未针对性地重新训练,而是同一策略同一套程序对三类纸盒进行实验。而基于本发明实施例中提供的双策略迁移方法对三类纸盒进行推动实验时,对任务策略与差异策略也未做出任何人为调整,一样基于相同的策略运行同一套程序即可,这也反映出所提方法的强鲁棒性,无需针对实验物体的物理属性变化而重新训练策略。75.目前已有研究者系统地研究过如何使用域随机化训练机器人推动物体的策略,但针对被推对象物理属性的改变较为有限,仅在底部加入增大摩擦力的纸片。另外,该方法对设备要求较高,策略需要在100核的设备上训练8小时,而我们的方法仅需在常规4核带8g显卡的计算机上训练3小时(此为两类策略的训练时间之和)。76.基于ur3机器人的虚实交互双策略迁移物体推动实验,其背后的逻辑反映了从“虚”的任务技能的学习训练,到“实”的偏差总结与修正发现,再回到“虚”的针对差异与弥补的学习训练,最后再到“实”的强鲁棒、低差异的双策略执行应用。在双策略的协同作用下,有效克服了差异问题带来的不确定影响,从而显著提升任务的成功率。77.综上,本发明实施例中引进了一种强鲁棒,高效率,虚实交互的解决仿真到现实差异问题的机器人控制策略迁移方法。78.如图16所示,在上述实施例的基础上,本发明实施例中提供了一种机器人控制策略迁移装置,包括:任务策略迁移模块161,用于将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;差异策略迁移模块162,用于若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。79.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移装置,还包括差异策略确定模块,用于:将所述任务策略多次迁移至所述实际控制系统,并基于所述实际控制系统执行每次所述任务策略得到的样本动作,确定所述目标机器人的样本实际状态集合;对于任一次迁移,基于所述目标机器人的参考状态集合以及所述任一次迁移对应的样本实际状态集合之间的状态偏差集合,确定所述任一次迁移对应的样本修正动作;基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略。80.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移装置,差异策略确定模块,具体用于:从所述状态偏差集合中按时间顺序选取第一个超过阈值的状态偏差,并确定所述状态偏差对应的备选样本修正动作集合;基于所述状态偏差、所述备选样本修正动作集合中每一备选样本修正动作对所述状态偏差对应的样本实际状态进行修正后得到的样本估计状态以及所述状态偏差对应的参考状态,确定所述样本修正动作。81.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移装置,差异策略确定模块还具体用于:所述基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,确定所述差异策略,具体包括:基于多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态,构造训练目标,并基于所述训练目标,通过多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态训练得到所述差异策略。82.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移装置,还包括剔除模块,用于:剔除多次迁移对应的样本修正动作以及各样本修正动作对应的样本实际状态中的重复样本修正动作以及所述重复样本修正动作对应的样本实际状态。83.在上述实施例的基础上,本发明实施例中提供的机器人控制策略迁移装置,所述任务策略基于强化学习方法预先训练得到,训练时采用的奖励函数基于所述目标机器人的待执行任务中涉及的目标物体的实际位置与目标位置之间的距离函数确定。84.具体地,本发明实施例中提供的机器人控制策略迁移装置中各模块的作用与上述方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,具体参见上述实施例,本发明实施例中对此不再赘述。85.如图17所示,在上述实施例的基础上,本发明实施例中提供了一种机器人控制策略迁移系统,包括:摄像装置171以及上述各实施例中所述的机器人控制策略迁移装置172,机器人控制策略迁移装置172与摄像装置171连接;摄像装置171用于获取目标机器人的实际状态。86.图18示例了一种电子设备的实体结构示意图,如图18所示,该电子设备可以包括:处理器(processor)1810、通信接口(communicationsinterface)1820、存储器(memory)1830和通信总线1840,其中,处理器1810,通信接口1820,存储器1830通过通信总线1840完成相互间的通信。处理器1810可以调用存储器1830中的逻辑指令,以执行上述各实施例提供的机器人控制策略迁移方法,该方法包括:将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。87.此外,上述的存储器1830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。88.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例提供的机器人控制策略迁移方法,该方法包括:将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。89.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的机器人控制策略迁移方法,该方法包括:将目标机器人的任务策略迁移至所述目标机器人的实际控制系统,并基于所述实际控制系统,确定所述目标机器人在当前时刻的实际状态;若判断获知所述实际状态与基于所述任务策略确定的参考状态的差值在预设范围外,则将所述目标机器人的差异策略迁移至所述实际控制系统,以使所述实际控制系统执行所述任务策略以及所述差异策略下的耦合动作,进而确定所述目标机器人在所述当前时刻的下一时刻的实际状态;其中,所述差异策略基于将所述任务策略多次迁移至所述实际控制系统后得到的样本实际状态集合与所述任务策略输出的参考状态集合之间的状态偏差集合以及每次迁移对应的样本修正动作确定。90.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。91.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。92.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3