一种机器人自主学习方法、装置、设备及存储介质

    专利查询2024-12-18  41



    1.本发明涉及智能机器人技术领域,尤其是涉及一种机器人自主学习方法、装置、设备及存储介质。


    背景技术:

    2.传统的工业机器人对人类依赖度高,在学习过程中需要过多的人为干预,缺乏自主学习的能力,难以从事复杂的工作。而能够自主学习的智能机器人拥有与人类相似的感知能力、动作能力、理解能力和协同能力,能够自主地从感知的数据信息中学习技能,快速适应环境变化,从而能够从事复杂的工作。
    3.现有的机器人自主学习方法通常需要依赖大量的训练数据,使机器人针对单一类型的工作任务进行技能模型的训练,当面对不同类型的工作任务时,技能模型往往无法有效地完成工作任务,需要针对当前类型的工作任务重新进行技能模型的训练,导致机器人进行自主学习的泛化性较差。


    技术实现要素:

    4.本发明提供一种机器人自主学习方法、装置、设备及存储介质,能够在虚拟环境中随机生成训练数据,实现训练数据的多样性,能够根据该训练数据针对不同类型的任务对机器人进行技能训练,生成机器人技能,当面对不同类型的任务时,采用变分推理方法预测任务的潜在技能向量,然后根据训练生成的机器人技能,获得用于完成任务的机器人控制策略,无需重新针对当前类型的工作任务进行技能训练,提高了机器人进行自主学习的泛化性。
    5.为了解决上述技术问题,本发明实施例第一方面提供一种机器人自主学习方法,包括:
    6.基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数;
    7.根据所述环境参数,通过深度学习模型生成训练数据;
    8.根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能;
    9.根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;
    10.根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。
    11.作为优选方案,所述方法还包括:
    12.基于预先确定的用于表示虚拟环境的源域和用于表示现实环境的目标域,采用预设的神经网络模型学习从所述源域到所述目标域的映射情况,根据所述映射情况,获得所述源域和所述目标域之间的误差;
    13.根据所述映射情况,采用所述神经网络模型更新所述源域的状态空间,以缩小所
    述源域和所述目标域之间的误差。
    14.作为优选方案,所述方法还包括:
    15.响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新。
    16.作为优选方案,所述深度学习模型为生成式对抗网络模型;
    17.则,所述根据所述环境参数,通过深度学习模型生成训练数据,具体包括:
    18.根据所述环境参数,通过所述生成式对抗网络模型中的生成器获取所述环境参数的分布特性;
    19.根据所述分布特性,通过所述生成器随机生成所述训练数据。
    20.作为优选方案,所述分层强化学习框架包括上层决策模型和下层决策模型;
    21.则,所述根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能,具体包括:
    22.根据所述训练数据,基于所述上层决策模型,通过mpc算法对每个时刻的任务序列进行规划;
    23.基于所述下层决策模型,通过dqn算法对所述每个时刻的任务序列进行运动规划,生成所述至少一个机器人技能。
    24.作为优选方案,所述方法具体通过如下步骤预先获取所述神经网络模型:
    25.步骤s61,基于lstm神经网络,获取所述目标域的初始状态;
    26.步骤s62,将所述源域的状态设置为与所述目标域的初始状态相同;
    27.步骤s63,按照预设的每个状态所对应的行为策略,分别在所述源域和所述目标域上,在所述源域的当前状态和所述目标域的当前状态执行动作采样,获得状态转换信息,其中,所述状态转换信息包括所述源域的下一个状态和所述目标域的下一个状态;
    28.步骤s64,将所述源域的下一个状态设置为与所述目标域的下一个状态相同;
    29.重复步骤s63至步骤s64,直至所述源域的所有状态均设置完毕,并将所有状态均设置完毕的lstm神经网络作为所述神经网络模型。
    30.作为优选方案,所述响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新,具体包括:
    31.响应于所述增量学习指令,获取增量学习信息,其中,所述增量学习信息包括根据用户指示所形成的修正运动轨迹的初始位置信息、原始运动轨迹与所述修正运动轨迹相交的交点位置信息、所述修正运动轨迹的实时位置信息;
    32.根据所述增量学习信息,通过如下公式对所述原始运动轨迹进行更新:
    [0033][0034]
    其中,表示原始运动轨迹与所述修正运动轨迹相交的交点位置信息,表示所述修正运动轨迹在t时刻的位置信息,表示所述修正运动轨迹的初始位置信息,表示修正后的新运动轨迹的末端在t时刻的位置信息;
    [0035]
    响应于用户输入的停止学习指令,根据所述新运动轨迹的末端在当前时刻的位置信息,对所述机器人控制策略进行更新。
    [0036]
    本发明实施例第二方面提供了一种机器人自主学习装置,包括:
    [0037]
    环境参数获取模块,用于基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数;
    [0038]
    训练数据生成模块,用于根据所述环境参数,通过深度学习模型生成训练数据;
    [0039]
    机器人技能生成模块,用于根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能;
    [0040]
    潜在技能向量预测模块,用于根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;
    [0041]
    机器人控制策略获取模块,用于根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。
    [0042]
    本发明实施例第三方面提供一种机器人自主学习设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的机器人自主学习方法。
    [0043]
    本发明实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一项所述的机器人自主学习方法。
    [0044]
    相比于现有技术,本发明实施例的有益效果在于,能够在虚拟环境中随机生成训练数据,实现训练数据的多样性,能够根据该训练数据针对不同类型的任务对机器人进行技能训练,生成机器人技能,当面对不同类型的任务时,采用变分推理方法预测任务的潜在技能向量,然后根据训练生成的机器人技能,获得用于完成任务的机器人控制策略,无需重新针对当前类型的工作任务进行技能训练,提高了机器人进行自主学习的泛化性。
    附图说明
    [0045]
    图1是本发明实施例提供的一种机器人自主学习方法的流程示意图;
    [0046]
    图2是本发明实施例提供的一种机器人自主学习装置的结构示意图。
    具体实施方式
    [0047]
    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
    [0048]
    参见图1,本发明实施例第一方面提供一种机器人自主学习方法,包括步骤s1至步骤s5,具体如下:
    [0049]
    步骤s1,基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数。
    [0050]
    需要说明的是,本发明实施例通过如unity3d的仿真软件预先构建用于机器人训练的虚拟环境,由于在现实环境对机器人进行技能训练的成本非常高且耗时长,因此在虚拟环境中对机器人进行技能训练。基于该预先构建的虚拟环境,获取由该虚拟环境自动生成的环境参数,环境参数包括如几何、摩擦力、重力等的物理参数、各种观测噪声、重力因
    素、关节摩擦、观测的位置和方向。
    [0051]
    步骤s2,根据所述环境参数,通过深度学习模型生成训练数据。
    [0052]
    具体地,根据环境参数,通过深度学习模型捕捉环境参数中潜在的分布特性,并根据该分布特性随机生成训练数据。
    [0053]
    步骤s3,根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能。
    [0054]
    需要说明的是,为了解决稀疏奖励的问题,本发明根据步骤s2生成的训练数据,采用分层强化学习框架生成至少一个机器人技能,这里的机器人技能可以理解为机器人用于执行单一类型的简单任务时所需的低级技能。
    [0055]
    步骤s4,根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系。
    [0056]
    需要说明的是,本发明实施例采用状态空间对机器人的待执行任务进行描述,机器人协调过程可视为状态空间s到动作空间a的映射。在多任务场景中,使用集合k={1,...,i}预先定义一组机器人技能的序号,每项机器人技能的奖赏函数为r(s,a)。由于在多任务场景中,需要使用到多个机器人技能才能够完成待执行的任务,因此需要预测待执行任务的潜在技能向量,以根据潜在技能向量生成用于完成待执行任务的机器人控制策略。根据待执行任务确定机器人的状态空间,基于状态空间,采用变分推理方法预测待执行任务的潜在技能向量,其中,潜在技能向量与所有机器人技能中的其中一个机器人技能具有一一对应的关系。
    [0057]
    值得说明的是,本发明实施例采用的变分推理方法由策略梯度的强化学习部分、推理部分和模型预测控制部分组成。对于强化学习部分的训练,使用近端策略优化算法来训练强化学习的策略和嵌入网络,使用多元高斯分布来表示策略、嵌入和推理函数,再通过多层感知器的输出参数化实现其平均和对角协方差。最后,利用强化学习算法对策略分布和嵌入分布进行联合优化,同时利用监督学习和交叉熵损失函数对推理函数分布进行训练,最终获得潜在技能向量序列。为了辅助学习待执行任务的潜在技能向量,推理函数采用变分推理方法的思想,用简单的分布函数加以逼近,对潜在技能向量进行预测。此外,推理函数可以使用交叉熵或者kl散度(kullback-leibler divergence)来衡量后验分布和简单分布函数之间的差异。在机器人执行机器人控制策略以完成任务之前,使用mpc(模型预测控制)方法对潜在技能向量进行在线仿真,以对模拟中的潜在技能向量进行评估。
    [0058]
    步骤s5,根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。
    [0059]
    采用本发明实施例提供的一种机器人自主学习方法,能够在虚拟环境中随机生成训练数据,实现训练数据的多样性,能够根据该训练数据针对不同类型的任务对机器人进行技能训练,生成机器人技能,当面对不同类型的任务时,采用变分推理方法预测任务的潜在技能向量,然后根据训练生成的机器人技能,获得用于完成任务的机器人控制策略,无需重新针对当前类型的工作任务进行技能训练,提高了机器人进行自主学习的泛化性。
    [0060]
    作为优选方案,所述方法还包括:
    [0061]
    基于预先确定的用于表示虚拟环境的源域和用于表示现实环境的目标域,采用预设的神经网络模型学习从所述源域到所述目标域的映射情况,根据所述映射情况,获得所
    述源域和所述目标域之间的误差;
    [0062]
    根据所述映射情况,采用所述神经网络模型更新所述源域的状态空间,以缩小所述源域和所述目标域之间的误差。
    [0063]
    需要说明的是,为了解决虚拟环境由于建模误差而导致与现实环境存在误差的问题,通过域适应方法,能够学习从虚拟环境到现实环境的映射情况。虚拟环境作为源域,表示为ds,现实环境作为目标域,表示为d
    t
    ,每个域可以由一个马尔科夫决策过程《s,a,p,r,γ》表示,其中s表示状态空间,a表示动作空间,p表示环境转移概率,r表示奖励值,γ表示衰减系数。在假设ds和d
    t
    共享相同的动作空间a的条件下,由于存在虚拟环境与现实环境之间存在误差,即使两个域在结构上相似,但产生的奖励r也有可能不同。因此本发明实施例基于预先确定的用于表示虚拟环境的源域和用于表示现实环境的目标域,采用预设的神经网络模型学习从源域到目标域的映射情况,根据映射情况,获得源域和目标域之间的误差;根据映射情况,采用该神经网络模型更新源域的状态空间,以缩小源域和目标域之间的误差,使得在源域当中的模拟对象的运动轨迹逼近在目标域当中的机器人的运动轨迹,从而提高在源域中的模拟质量。
    [0064]
    作为优选方案,所述方法还包括:
    [0065]
    响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新。
    [0066]
    需要说明的是,由于机器人在自主学习后仍可能出现生成的机器人控制策略无法适应当前的待执行任务,从而导致无法完成任务,因此本发明实施例能够响应于用户输入的增量学习指令,通过用户的干预对机器人控制策略进行更新,从而实现增量学习的目的。通过预先设置在外界的传感器采集用户的指示信息,如手势信息和语音信息,经过对用户的指示信息进行处理,转化为增量学习指令,响应于该用户输入的增量学习指令,根据增量学习指令中的增量学习信息对机器人控制策略进行更新。
    [0067]
    作为优选方案,所述深度学习模型为生成式对抗网络模型;
    [0068]
    则,所述根据所述环境参数,通过深度学习模型生成训练数据,具体包括:
    [0069]
    根据所述环境参数,通过所述生成式对抗网络模型中的生成器获取所述环境参数的分布特性;
    [0070]
    根据所述分布特性,通过所述生成器随机生成所述训练数据。
    [0071]
    需要说明的是,生成对抗网络模型主要由生成器和判别器组成,生成器能够捕捉环境参数中潜在的分布特性,并根据该分布特性随机生成训练数据;判别器用于判断输入数据是真实的采集数据还是生成的虚拟数据。在对生成对抗网络模型进行训练的过程中,可对生成器和判别器设定相应的损失函数,利用反向传播算法对模型的参数进行更新,直至收敛至纳什均衡。
    [0072]
    作为优选方案,所述分层强化学习框架包括上层决策模型和下层决策模型;
    [0073]
    则,所述根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能,具体包括:
    [0074]
    根据所述训练数据,基于所述上层决策模型,通过mpc算法对每个时刻的任务序列进行规划;
    [0075]
    基于所述下层决策模型,通过dqn算法对所述每个时刻的任务序列进行运动规划,
    生成所述至少一个机器人技能。
    [0076]
    需要说明的是,对于任务过程中的每个时刻,分层强化学习框架根据当前机器人状态下的任务序列选择一个机器人的动作,然后转换到新的状态,并获得动作策略的奖励,动作策略即为在某一状态下动作序列上的概率分布。根据生成对抗网络模型所生成的训练数据,基于上层决策模型,通过mpc(model predictive control,模型预测控制)算法对每个时刻的任务序列进行规划;基于所述下层决策模型,通过dqn(deep q-learning network,深度q学习网络)算法对所述每个时刻的任务序列进行运动规划,生成所述至少一个机器人技能。
    [0077]
    以装配部件任务为例,针对上层决策过程,通过mpc(model predictive control,模型预测控制)算法的思想,在当前状态下遍历每一个可能的动作,尝试选择每一个可选的装配部件,对每一个动作进行前向模拟,对装配部件进行规划直至装配部件任务的终点;针对下层决策过程,根据上层决策获得的装配部件序列,通过dqn(deep q-learning network,深度q学习网络)算法对当前状态下进行运动规划,根据当前状态的图像,计算当前状态的图像与目标构型之间的差异,确保快速安全地到达对应位置,完成装配部件任务。其中,本发明实施例通过dqn(deep q-learning network,深度q学习网络)算法预先学习特定状态下每个动作对应的目标函数,在对装配部件的数据进行采集完毕后,采用梯度下降算法优化每个动作对应的目标函数。
    [0078]
    作为优选方案,所述方法具体通过如下步骤预先获取所述神经网络模型:
    [0079]
    步骤s61,基于lstm神经网络,获取所述目标域的初始状态;
    [0080]
    步骤s62,将所述源域的状态设置为与所述目标域的初始状态相同;
    [0081]
    步骤s63,按照预设的每个状态所对应的行为策略,分别在所述源域和所述目标域上,在所述源域的当前状态和所述目标域的当前状态执行动作采样,获得状态转换信息,其中,所述状态转换信息包括所述源域的下一个状态和所述目标域的下一个状态;
    [0082]
    步骤s64,将所述源域的下一个状态设置为与所述目标域的下一个状态相同;
    [0083]
    重复步骤s63至步骤s64,直至所述源域的所有状态均设置完毕,并将所有状态均设置完毕的lstm神经网络作为所述神经网络模型。
    [0084]
    作为优选方案,所述响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新,具体包括:
    [0085]
    响应于所述增量学习指令,获取增量学习信息,其中,所述增量学习信息包括根据用户指示所形成的修正运动轨迹的初始位置信息、原始运动轨迹与所述修正运动轨迹相交的交点位置信息、所述修正运动轨迹的实时位置信息;
    [0086]
    根据所述增量学习信息,通过如下公式对所述原始运动轨迹进行更新:
    [0087][0088]
    其中,表示原始运动轨迹与所述修正运动轨迹相交的交点位置信息,表示所述修正运动轨迹在t时刻的位置信息,表示所述修正运动轨迹的初始位置信息,表示修正后的新运动轨迹的末端在t时刻的位置信息;
    [0089]
    响应于用户输入的停止学习指令,根据所述新运动轨迹的末端在当前时刻的位置
    信息,对所述机器人控制策略进行更新。
    [0090]
    值得说明的是,当用户输入增量学习指令,并开始对原始运动轨迹进行修正时,机器人的末端执行器能够感应到当前用户对原始运动轨迹进行修正,从而获得原始运动轨迹与修正运动轨迹相交的交点位置信息,修正运动轨迹即为用户进行示范所形成的运动轨迹,进一步地,通过公式获得实时更新的新运动轨迹,新运动轨迹即为原始运动轨迹从与修正运动轨迹相交的交点开始,与修正运动轨迹相接的运动轨迹。当接收到用户输入的停止学习指令时,响应于该停止学习指令,通过机器人的末端执行器获取新运动轨迹的末端在当前时刻的位置信息,即为新运动轨迹的最后一个位置点,然后从该新运动轨迹的最后一个位置点开始,执行原始运动轨迹的剩余位置点,直至完成任务,从而实现对机器人控制策略进行更新。
    [0091]
    采用本发明实施例提供的一种机器人自主学习方法,能够在虚拟环境中随机生成训练数据,实现训练数据的多样性,能够根据该训练数据针对不同类型的任务对机器人进行技能训练,生成机器人技能,当面对不同类型的任务时,采用变分推理方法预测任务的潜在技能向量,然后根据训练生成的机器人技能,获得用于完成任务的机器人控制策略,无需重新针对当前类型的工作任务进行技能训练,提高了机器人进行自主学习的泛化性。此外,通过神经网络模型缩小虚拟环境和现实环境之间的误差,从而提升机器人进行自主学习的效果,能够响应于用户的增量学习指令,对机器人控制策略进行更新,进一步提高了机器人进行自主学习的泛化性。
    [0092]
    参见图2,本发明实施例第二方面提供一种机器人自主学习装置,包括:
    [0093]
    环境参数获取模块201,用于基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数;
    [0094]
    训练数据生成模块202,用于根据所述环境参数,通过深度学习模型生成训练数据;
    [0095]
    机器人技能生成模块203,用于根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能;
    [0096]
    潜在技能向量预测模块204,用于根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;
    [0097]
    机器人控制策略获取模块205,用于根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。
    [0098]
    作为优选方案,所述装置还包括源域状态更新模块206,用于:
    [0099]
    基于预先确定的用于表示虚拟环境的源域和用于表示现实环境的目标域,采用预设的神经网络模型学习从所述源域到所述目标域的映射情况,根据所述映射情况,获得所述源域和所述目标域之间的误差;
    [0100]
    根据所述映射情况,采用所述神经网络模型更新所述源域的状态空间,以缩小所述源域和所述目标域之间的误差。
    [0101]
    作为优选方案,所述装置还包括增量学习模块207,用于:
    [0102]
    响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新。
    [0103]
    作为优选方案,所述深度学习模型为生成式对抗网络模型;
    [0104]
    则,所述训练数据生成模块202用于根据所述环境参数,通过深度学习模型生成训练数据,具体包括:
    [0105]
    根据所述环境参数,通过所述生成式对抗网络模型中的生成器获取所述环境参数的分布特性;
    [0106]
    根据所述分布特性,通过所述生成器随机生成所述训练数据。
    [0107]
    作为优选方案,所述分层强化学习框架包括上层决策模型和下层决策模型;
    [0108]
    则,所述机器人技能生成模块203用于根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能,具体包括:
    [0109]
    根据所述训练数据,基于所述上层决策模型,通过mpc算法对每个时刻的任务序列进行规划;
    [0110]
    基于所述下层决策模型,通过dqn算法对所述每个时刻的任务序列进行运动规划,生成所述至少一个机器人技能。
    [0111]
    作为优选方案,所述装置还包括神经网络模型获取模块208,具体用于如下步骤:
    [0112]
    步骤s61,基于lstm神经网络,获取所述目标域的初始状态;
    [0113]
    步骤s62,将所述源域的状态设置为与所述目标域的初始状态相同;
    [0114]
    步骤s63,按照预设的每个状态所对应的行为策略,分别在所述源域和所述目标域上,在所述源域的当前状态和所述目标域的当前状态执行动作采样,获得状态转换信息,其中,所述状态转换信息包括所述源域的下一个状态和所述目标域的下一个状态;
    [0115]
    步骤s64,将所述源域的下一个状态设置为与所述目标域的下一个状态相同;
    [0116]
    重复步骤s63至步骤s64,直至所述源域的所有状态均设置完毕,并将所有状态均设置完毕的lstm神经网络作为所述神经网络模型。
    [0117]
    作为优选方案,所述增量学习模块207用于响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新,具体包括:
    [0118]
    响应于所述增量学习指令,获取增量学习信息,其中,所述增量学习信息包括根据用户指示所形成的修正运动轨迹的初始位置信息、原始运动轨迹与所述修正运动轨迹相交的交点位置信息、所述修正运动轨迹的实时位置信息;
    [0119]
    根据所述增量学习信息,通过如下公式对所述原始运动轨迹进行更新:
    [0120][0121]
    其中,表示原始运动轨迹与所述修正运动轨迹相交的交点位置信息,表示所述修正运动轨迹在t时刻的位置信息,表示所述修正运动轨迹的初始位置信息,表示修正后的新运动轨迹的末端在t时刻的位置信息;
    [0122]
    响应于用户输入的停止学习指令,根据所述新运动轨迹的末端在当前时刻的位置信息,对所述机器人控制策略进行更新。
    [0123]
    需要说明的是,本发明实施例所提供的一种机器人自主学习装置,能够实现上述任一实施例所述的机器人自主学习方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述实施例所述的机器人自主学习方法的作用以及实现的技术效果对应
    相同,这里不再赘述。
    [0124]
    本发明实施例第三方面提供一种机器人自主学习设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一实施例所述的机器人自主学习方法。
    [0125]
    所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
    [0126]
    所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(applicationspecific integrated circuit,asic)、现场可编程门阵列(field-progr ammable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
    [0127]
    所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
    [0128]
    本发明实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面任一实施例所述的机器人自主学习方法。
    [0129]
    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
    [0130]
    以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

    技术特征:
    1.一种机器人自主学习方法,其特征在于,包括:基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数;根据所述环境参数,通过深度学习模型生成训练数据;根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能;根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。2.如权利要求1所述的机器人自主学习方法,其特征在于,所述方法还包括:基于预先确定的用于表示虚拟环境的源域和用于表示现实环境的目标域,采用预设的神经网络模型学习从所述源域到所述目标域的映射情况,根据所述映射情况,获得所述源域和所述目标域之间的误差;根据所述映射情况,采用所述神经网络模型更新所述源域的状态空间,以缩小所述源域和所述目标域之间的误差。3.如权利要求2所述的机器人自主学习方法,其特征在于,所述方法还包括:响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新。4.如权利要求3所述的机器人自主学习方法,其特征在于,所述深度学习模型为生成式对抗网络模型;则,所述根据所述环境参数,通过深度学习模型生成训练数据,具体包括:根据所述环境参数,通过所述生成式对抗网络模型中的生成器获取所述环境参数的分布特性;根据所述分布特性,通过所述生成器随机生成所述训练数据。5.如权利要求4所述的机器人自主学习方法,其特征在于,所述分层强化学习框架包括上层决策模型和下层决策模型;则,所述根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能,具体包括:根据所述训练数据,基于所述上层决策模型,通过mpc算法对每个时刻的任务序列进行规划;基于所述下层决策模型,通过dqn算法对所述每个时刻的任务序列进行运动规划,生成所述至少一个机器人技能。6.如权利要求5所述的机器人自主学习方法,其特征在于,所述方法具体通过如下步骤预先获取所述神经网络模型:步骤s61,基于lstm神经网络,获取所述目标域的初始状态;步骤s62,将所述源域的状态设置为与所述目标域的初始状态相同;步骤s63,按照预设的每个状态所对应的行为策略,分别在所述源域和所述目标域上,在所述源域的当前状态和所述目标域的当前状态执行动作采样,获得状态转换信息,其中,所述状态转换信息包括所述源域的下一个状态和所述目标域的下一个状态;
    步骤s64,将所述源域的下一个状态设置为与所述目标域的下一个状态相同;重复步骤s63至步骤s64,直至所述源域的所有状态均设置完毕,并将所有状态均设置完毕的lstm神经网络作为所述神经网络模型。7.如权利要求6所述的机器人自主学习方法,其特征在于,所述响应于用户输入的增量学习指令,根据所述增量学习指令中的增量学习信息对所述机器人控制策略进行更新,具体包括:响应于所述增量学习指令,获取增量学习信息,其中,所述增量学习信息包括根据用户指示所形成的修正运动轨迹的初始位置信息、原始运动轨迹与所述修正运动轨迹相交的交点位置信息、所述修正运动轨迹的实时位置信息;根据所述增量学习信息,通过如下公式对所述原始运动轨迹进行更新:其中,表示原始运动轨迹与所述修正运动轨迹相交的交点位置信息,表示所述修正运动轨迹在t时刻的位置信息,表示所述修正运动轨迹的初始位置信息,表示修正后的新运动轨迹的末端在t时刻的位置信息;响应于用户输入的停止学习指令,根据所述新运动轨迹的末端在当前时刻的位置信息,对所述机器人控制策略进行更新。8.一种机器人自主学习装置,其特征在于,包括:环境参数获取模块,用于基于预先构建的虚拟环境,获取由所述虚拟环境自动生成的环境参数;训练数据生成模块,用于根据所述环境参数,通过深度学习模型生成训练数据;机器人技能生成模块,用于根据所述训练数据,采用分层强化学习框架生成至少一个机器人技能;潜在技能向量预测模块,用于根据待执行任务确定机器人的状态空间,基于所述状态空间,采用变分推理方法预测所述待执行任务的潜在技能向量,其中,所述潜在技能向量与所述至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;机器人控制策略获取模块,用于根据所述机器人技能和所述潜在技能向量,采用强化学习算法获得用于完成所述待执行任务的机器人控制策略。9.一种机器人自主学习设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的机器人自主学习方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7任一项所述的机器人自主学习方法。

    技术总结
    本发明公开一种机器人自主学习方法、装置、设备及存储介质,该方法包括:基于预先构建的虚拟环境,获取由虚拟环境自动生成的环境参数;根据环境参数,通过深度学习模型生成训练数据;根据训练数据,采用分层强化学习框架生成至少一个机器人技能;根据待执行任务确定机器人的状态空间,基于状态空间,采用变分推理方法预测待执行任务的潜在技能向量,潜在技能向量与至少一个机器人技能中的其中一个机器人技能具有一一对应的关系;根据机器人技能和潜在技能向量,采用强化学习算法获得用于完成待执行任务的机器人控制策略。本发明在面对不同类型的任务时,无需重复针对不同类型的任务对机器人进行技能训练,提高了机器人进行自主学习的泛化性。学习的泛化性。学习的泛化性。


    技术研发人员:杜翠凤 杜广龙 滕少华 蒋仕宝
    受保护的技术使用者:华南理工大学 广东工业大学
    技术研发日:2022.01.28
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-25453.html

    最新回复(0)