在训练和细化机器人控制策略中使用模仿学习的系统和方法技术方案

技术编号:39899946 阅读:13 留言:0更新日期:2023-12-30 13:13
本文描述的实现方式涉及使用模仿学习技术来训练和细化机器人控制策略

【技术实现步骤摘要】
【国外来华专利技术】在训练和细化机器人控制策略中使用模仿学习的系统和方法

技术介绍

[0001]已经提出了各种技术来使机器人能够执行各种真实世界任务

例如,一些技术采用模仿学习
(imitation learning)
来训练用于控制机器人执行这些任务的机器人控制策略

在模仿学习中,这些机器人控制策略最初可以基于来自这些任务的多个人演示的数据来训练

例如,人可以物理上操纵给定的机器人或其末端执行器
(end effector)
,以使给定的机器人或末端执行器的参考点穿越特定轨迹,并且该特定的穿越的轨迹此后可通过使用基于人的物理操纵训练的机器人控制策略来重复

此外,例如,人可以使用一种或多种遥操作技术来控制给定的机器人或其末端执行器执行给定的任务,并且给定的任务此后可通过使用基于一种或多种遥操作技术训练的机器人控制策略来重复

[0002]尽管给定的机器人利用基于这些任务的多个人演示训练的机器人控制策略,但是给定的机器人仍然可能无法执行这些任务

例如,机器人控制策略可能不够鲁棒以在各种情况下实现机器人任务的无故障执行

因此,可能需要基于人反馈来细化经训练的机器人控制策略

一种用于细化经训练的机器人控制策略的技术是数据集聚合
(dataset aggregation

DAgger)。

DAgger
中,给定的机器人可以使用给定的机器人控制策略来执行给定的任务,并且人可以被随机提示进行干预以评估任务的执行

这允许人提供关于给定的机器人对给定任务的执行的反馈

然而,这可能导致人在给定的机器人正确地执行任务时被提示进行干预,且人在给定的机器人未正确地执行任务
(
即,故障
)
时未被提示进行干预

此外,
DAgger
中的人反馈通常被联合到所定义的用于细化给定的机器人控制策略的奖励函数中,防止非专家人能够细化给定的机器人控制策略


技术实现思路

[0003]本文描述的实现方式涉及使用模仿学习技术训练机器人控制策略

如本文所使用的,机器人控制策略是指
(
一个或多个
)
机器学习
(ML)
模型和在控制机器人时利用使用
ML
模型生成的输出的系统

给定的机器人控制策略可以被训练为在每次迭代时,基于处理在机器人任务的执行期间捕获给定的机器人的环境的视觉数据实例
(instance of vision data)
来生成动作序列

在一些实现方式中,给定的机器人控制策略可以附加地或替代地在生成动作序列时处理状态数据
(
例如,环境状态数据和
/
或机器人状态数据
)、
力值和
/
或其他传感器数据

动作序列可以包括要由给定的机器人执行以推进机器人任务的下一个动作和被预测为跟随该下一个动作的预测动作序列

因此,在每次迭代时,可以生成下一个动作,并且下一个动作可以由给定的机器人实现

此外,在每次迭代时,还可以生成被预测为跟随该下一个动作的预测动作序列

注意,预测动作序列中包括的预测动作中的一个或多个实际上仅在它们是对应的后续迭代中预测的下一个动作的情况下才被执行

然而,如本文所述,预测被预测为跟随下一个动作的预测动作序列可以实现各种益处

这样的益处包括例如更高效地训练给定的机器人控制策略,给定的机器人控制策略更准确和
/
或鲁棒,和
/
或在视觉上显现
(render)
对应的表示时利用动作序列中包括的预测动作,以在细化给定的机器人控制策略时呈现给用户
(
例如,以使用户能够确定是否进行干预
)。
[0004]在一些实现方式中,给定的机器人控制策略可以被进一步训练为确定给定的机器人是否将在机器人任务的执行中故障,并且可以响应于确定给定的机器人将在机器人任务的执行中故障,使得请求人
(
或用户
)
干预机器人任务的执行的提示被呈现给用户

如本文所述,在那些实现方式中的一些实现方式中,机器人控制策略可以具有多个不同的控制头部
(control head)。
控制头部中的一些用于基于使用机器人控制策略处理视觉数据实例来生成用于控制机器人
(
或其部分
)
的相应组件的对应值集

控制头部之一
(
也被称为故障头部
(failure head))
可以处理相同的视觉数据实例,以预测机器人是否已经或将在机器人任务的执行中故障,并且提示可以基于使用该故障头部生成的输出来生成并被呈现给用户

在附加的或替代的实现方式中,用户可以基于经视觉上显现而被呈现给用户的下一个动作和预测动作序列的表示来主动干预机器人任务的执行

因此,以这些和其他方式训练和细化给定的机器人控制策略可以实现各种益处

这样的益处包括,例如,当不需要人为干预来校正各种机器人任务的执行时,减少请求人为干预的发生,并且还当需要人为干预来校正各种机器人任务的执行时,减少不请求人为干预的发生

[0005]本文描述的实现方式附加地或替代地涉及利用机器人控制策略的
ML
模型的一个或多个架构

例如,
ML
模型架构可以包括一个或多个输入层

多个中间层和多个不同的控制头部

在机器人任务的执行期间捕获给定的机器人的环境的视觉数据实例可以作为输入被提供给一个或多个输入层,并且视觉数据实例的中间表示
(
例如,编码

嵌入等
)
可以跨多个中间层生成

视觉数据实例的中间表示可以作为输入被提供给多个不同的控制头部中的每一个,以针对动作序列中包括的每个动作生成用于控制机器人的相应组件的对应值集

用于控制机器人的相应组件的对应值集可以是例如描述相应组件的平移位移
(
例如,对围绕相应组件的轴线的取向上改变的正弦

余弦编码
)
的向量

较低级控制命令
(
例如,控制机器人的对应致动器

机器人的组件的单独关节角度等的单独扭矩命令
)、
用于机器人的组件的二进制值
(
例如,指示机器人夹本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种使用一个或多个处理器实现的方法,所述方法包括:从机器人的一个或多个视觉组件接收捕获机器人的环境的视觉数据实例,所述视觉数据实例是在机器人对机器人任务的执行期间被捕获到的;使用机器人控制策略处理视觉数据实例以生成要由机器人在机器人任务期间执行的动作序列,所述动作序列包括要由机器人执行以推进机器人任务的初始动作和被预测为跟随所述初始动作的多个预测动作;基于使用机器人控制策略处理视觉数据实例,确定机器人是否将在机器人任务的执行中故障;以及响应于确定机器人将在机器人任务的执行中故障:使提示经由计算设备或机器人的界面显现,所述提示请求计算设备的用户干预机器人任务的执行;基于所述提示,从计算设备的用户接收干预机器人任务的执行的用户输入,所述用户输入是经由计算设备或附加计算设备的输入设备被接收的;以及使机器人控制策略基于所述用户输入被更新
。2.
根据权利要求1所述的方法,还包括:响应于确定机器人不在机器人动作的执行中故障,使机器人执行初始动作;以及直到机器人完成机器人任务的执行为止:从机器人的视觉组件中的一个或多个接收捕获机器人的环境的附加视觉数据实例,所述附加视觉数据实例是在机器人对机器人任务的执行期间被捕获到的;使用机器人控制策略处理附加视觉数据实例以生成要由机器人在机器人任务期间执行的附加动作序列,所述附加动作序列包括要由机器人执行以推进机器人任务的下一个动作和被预测为跟随所述下一个动作的附加多个预测动作;以及基于使用机器人控制策略处理附加视觉数据实例,确定机器人是否将在机器人任务的执行中故障
。3.
根据权利要求2所述的方法,其中,所述动作序列中包括的每个动作包括用于机器人的第一组件的对应第一值集,并且其中,所述动作序列中包括的每个动作还包括用于机器人的第二组件的对应第二值集
。4.
根据权利要求3所述的方法,其中,使机器人执行初始动作包括:使机器人利用对应第一值集来致动机器人的第一组件;以及使机器人利用对应第二值集来致动机器人的第二组件
。5.
根据权利要求4所述的方法,其中,所述机器人的第一组件是以下中的一个:机器人臂

机器人末端执行器

机器人基座或机器人头部
。6.
根据权利要求5所述的方法,其中,所述机器人的第二组件是以下中的另外一个:机器人臂

机器人末端执行器

机器人基座或机器人头部
。7.
根据权利要求2至6中任一项所述的方法,其中,使机器人控制策略基于所述用户输入被更新在确定机器人已经完成机器人任务的执行之后
。8.
根据前述权利要求中任一项所述的方法,其中,使用机器人控制策略处理视觉数据实例以生成动作序列包括:使用机器人控制策略的中间部分处理视觉数据实例以生成视觉数据实例的中间表示;
使用机器人控制策略的第一控制头部处理视觉数据实例的中间表示,以针对动作序列中包括的每个动作生成用于机器人的第一组件的对应第一值集;以及使用机器人控制策略的第二控制头部处理视觉数据实例的中间表示,以针对动作序列中包括的每个动作生成用于机器人的第二组件的对应第二值集
。9.
根据权利要求8所述的方法,还包括:响应于接收到干预机器人任务的执行的用户输入:基于所述用户输入,针对动作序列中包括的一个或多个动作,生成机器人应当在机器人任务的执行中利用的用于机器人的第一组件的对应替代第一值集和用于机器人的第二组件的对应替代第二值集;基于将对应第一值集与对应替代第一值集进行比较,生成第一损失;基于将对应第二值集与对应替代第二值集进行比较,生成第二损失;并且其中,使机器人控制策略被更新是基于第一损失和第二损失的
。10.
根据权利要求9所述的方法,其中,第一损失是使用第一损失函数生成的,并且其中,第二损失是使用不同的第二损失函数生成的
。11.
根据前述权利要求中任一项所述的方法,其中,处理视觉数据实例以生成要由机器人在机器人任务期间执行的动作序列包括:使用机器人控制策略的中间部分处理视觉数据实例以生成视觉数据实例的中间表示,其中,所述动作序列是基于视觉数据实例的中间表示生成的
。12.
根据权利要求
11
所述的方法,其中,确定机器人是否将在机器人任务的执行中故障包括:使用机器人控制策略的控制头部处理视觉数据实例的中间表示,以针对动作序列中包括的一个或多个动作生成与机器人任务的执行相关联的一个或多个对应值集;以及基于所述对应值集确定机器人将在机器人任务的执行中故障
。13.
根据权利要求
12
所述的方法,其中,确定机器人将在机器人任务的执行中故障是基于与初始动作相关联的对应值集中的一个或多个的
。14.
根据权利要求
12

13
所述的方法,其中,确定机器人将在机器人任务的执行中故障是基于与跟随初始动作的多个预测动作中的一个或多个相关联的对应值集中的一个或多个的
。15.
根据权利要求
12

14
中任一项所述的方法,其中,与机器人任务的执行相关联的对应值集包括与以下中的一个或多个相关联的对应值:机器人是否将在机器人任务的执行中故障

机器人是否将继续机器人任务的执行

或者机器人是否已经完成机器人任务的执行
。16.
根据前述权利要求中任一项所述的方法,其中,所述机器人是模拟机器人,其中,所述机器人的环境是模拟机器人的模拟环境,并且其中,所述机器人任务由模拟机器人在模拟环境中执行
。17.
根据前述权利要求中任一项所述的方法,其中,所述机器人是真实机器人,其中,所述机器人的环境是真实机器人的真实世界环境,并且其中,所述机器人任务由真实机器人在真实世界环境中执行
。18.
一种使用一个或多个处理器实现的方法,所述方法包括:从机器人的一个或多个视觉组件接收捕获机器人的环境的视觉数据实例,图像数据是
在机器人对机器人任务的执行期间被捕获到的;使用机器人控制策略处理视觉数据实例以生成要由机器人在机器人任务期间执行的动作序列,所述动作序列包括要由机器人执行以推进机器人任务的初始动作和跟随所述初始动作的多个预测动作;在机器人任务的执行期间,使动作序列的表示经由计算设备的图形用户界面在视觉上显现;基于动作序列的表示,从计算设备的用户接收干预机器人任务的执行的用户输入,所述用户输入是经由计算设备或附加计算设备被接收的;以及使机器人控制策略基于所述用户输入被更新
。19.
根据权利要求
18
所述的方法,其中,经由计算设备的图形用户界面在视觉上显现的动作序列的表示包括覆盖在视觉数据实例中捕获的机器人的环境的对应路点的序列,所述对应路点...

【专利技术属性】
技术研发人员:S
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1