具有按需遥操作的自主机器人的制作方法
背景技术:
机器人已经被用来执行制造和其他领域中的任务。例如,机器人已经被用于在可能对人类而言不健康或另外危险的环境中执行任务、执行需要施加比人类可能能够施加的更大的力的任务、以及执行需要随着时间推移的高精确度和一致性的任务。
自主机器人以自动化方式执行至少一些任务,而不需要人类控制或指导。例如,通常在诸如工厂的受控环境中,已经使用自动化机器人来执行重复的和/或以其他方式预定的任务和任务序列。最近,无人驾驶汽车、递送无人机和其他自主车辆已在开发中。
机器人技术领域中的遥操作是指操作员对机器人的遥操作。例如,在熟练的人类操作员的控制下,已经使用机器人来执行手术、拆除弹并执行其他任务。
附图说明
在下面的详细描述和附图中公开了本发明的各种实施例。
图1是图示具有按需遥操作的自主机器人的实施例的框图。
图2是图示具有按需遥操作的自主机器人的实施例的框图。
图3是图示经由遥操作来控制具有按需遥操作的自主机器人的系统的实施例的框图。
图4是图示用于控制具有按需遥操作的自主机器人的过程的实施例的流程图。
图5是图示具有按需遥操作的自主机器人的实施例中的操作状态的状态图。
图6是图示用于在自主操作状态下控制具有按需遥操作的自主机器人的过程的实施例的流程图。
图7是图示用于监视在遥操作(人类干预)状态下操作的自主机器人并恢复对其自主控制的过程的实施例的流程图。
图8是图示用于提供对具有按需遥操作的多个自主机器人的一对多控制的系统的实施例的框图。
图9是图示用于提供对具有按需遥操作的多个自主机器人的一对多控制的过程的实施例的流程图。
图10是图示用于抢先获得人类援助的过程的实施例的流程图。
具体实施方式
本发明可以以多种方式来实现,所述多种方式包括作为:过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如配置为执行存储在耦合到处理器的存储器上和/或由所述存储器提供的指令的处理器。在本说明书中,这些实现或本发明可以采用的任何其他形式可以被称为技术。通常,在本发明的范围内,可以改变所公开的过程的步骤顺序。除非另有说明,否则被描述为被配置为执行任务的诸如处理器或存储器之类的组件可以被实现为被临时配置为在给定时间执行任务的通用组件或被制造为执行该任务的特定组件。如本文所使用的,术语“处理器”是指被配置为处理诸如计算机程序指令之类的数据的一个或多个设备、电路和/或处理核。
以下提供了对本发明的一个或多个实施例的详细描述连同图示本发明的原理的附图。结合这样的实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限制,并且本发明涵盖许多替代、修改和等同物。在下面的描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节是为了示例的目的,并且可以根据权利要求来实践本发明,而无需这些具体细节中的一些或全部。为了清楚起见,未详细描述与本发明相关的本技术领域中已知的技术材料,从而不会不必要地使本发明晦涩难懂。
公开了一种具有按需遥操作的自主机器人。在各种实施例中,如本文中公开的机器人自主地操作以执行任务或任务的集合,针对所述任务或任务的集合,机器人具有执行的技能和策略。在各种实施例中,人类用户或另一机器人或系统可以将一个任务或任务的集合分配给机器人。在一些实施例中,可以使用一个或多个原语命令、目标、上下文信息和变量和/或提供给机器人的其他命令和数据来定义所分配的任务或任务的集合。机器人执行初始化处理,例如以使其自身相对于机器人将在其上操作的它的环境和物体进行定向。在一些实施例中,机器人制定用于执行分配给其的所述任务或任务的集合的计划并开始实现该计划。如果机器人到达其中机器人不能确定要执行以朝着完成所述任务或任务的集合前进的下一动作的状态,则机器人触发例如由人类操作员进行的干预。在一些实施例中,人类或其他操作员例如经由遥操作来控制机器人以(进一步)执行所述任务或任务的集合和/或将机器人还原到其中机器人能够恢复自主操作的状态。
在各种实施例中,如本文中公开的机器人可以包括:可用于与物理环境交互的一个或多个物理元件;一个或多个致动器,以使用物理元件来定位和施加力;以及一个或多个处理器,配置为经由致动器的控制来控制物理元件的力的施加和移动。在各种实施例中,一个或多个处理器可以包括集成到机器人中的一个或多个处理器和/或包括被配置为以自主操作、遥操作或两者来控制机器人的本地和/或远程计算机的一个或多个处理器。
图1是图示具有按需遥操作的自主机器人的实施例的框图。在所示的示例中,在环境100中操作的自主机器人包括多个关节节段,该关节节段包括安装在固定基座104上的机械臂102。机械臂102耦合至控制器106,该控制器106被配置为操纵机械臂102和安装在机械臂102的远端上的夹具108。在一些实施例中,控制器106通过将电压和/或其他信号、输入等提供给配置在包括机械臂102和/或夹具108的刚性元件之间的相应接头中的每个处的马达来控制机械臂102和夹具108,以使相应的马达施加(一个或多个)对应的转矩,从而使联接至马达的旋转元件的元件相对于马达的非旋转元件所联接至的元件移动。
在图1所示的示例中,机械臂102用于从桌子或其他表面110拾起物品,在所示示例中包括形状不同的物品112、114和116,并将它们放置在传送带118上。如图所示,机械臂102先前已用于将物品120放置在传送带118上,所述传送带118在使得物品120将从传送带118掉落到目的地122中的旋转方向上旋转。
在各种实施例中,图1所示的“拾取和放置”操作是由机器人至少部分以自主操作模式执行的,该机器人包括机械臂102、夹具108和控制器106。例如,在一些实施例中,对控制器106和/或一个或多个其他控制设备(诸如包括处理器、存储器和其他组件的计算机)进行编程以执行图1所图示的拾取和放置操作。例如,在一些实施例中,程序员或其他操作员可能已经对机器人进行了编程或以其他方式配置,以具有对其环境100及其相对于桌子110上的物品的定位的认知(或者在一些实施例中,与桌子110相关联的一组坐标或其他位置,一方面与桌子110以及传送带118相关联的一组坐标或其他位置)。
在一些实施例中,对机器人进行编程或以其他方式配置为使用策略库或其他策略仓库来执行拾取和放置操作和/或其部分。例如,机器人可以被配置为使用对其当前定位和环境100的认知来将夹具108定位在桌子110上方的位置。计算机视觉或其他技术可以用于标识和选择接下来要拾起的物品,并且例如,可以基于物品的位置、形状、取向、呈现的外观、纹理、刚度等中的一个或多个来自主选择用于拾起物品的策略。例如,在图1所示的示例中,机器人可以识别物品114为在前面和背面上呈现基本上平行的平坦表面,如所示出的,并且可以选择作为一种用于拾起物品114的策略,将夹具108定位在物品114上方,旋转夹具108以将其手指对准位置对准到与物品114的前表面和后表面对准的定位,并抓住物品114,其中一根手指与前平面接合并且另一只手指与后表面接合。
在各种实施例中,包括机械臂102、夹具108和控制器106的机器人自动提示通过遥操作进行干预。在一些实施例中,如果在执行图1所示的拾取和放置操作的过程中,机器人到达其中机器人无法确定(进一步)执行该操作的(下一个)策略的状态,则机器人会提示远程操作员(在此示例中)以经由遥操作进行援助。
在所示的示例中,控制器106经由网络124连接到遥操作计算机126。在一些实施例中,遥操作计算机126可以以自主模式参与机器人的操作,例如,通过经由网络124向控制器106传达高级指令。在各种实施例中,例如,如果机器人到达其中其没有可用于执行(完成)操作中的下一个任务或步骤的策略的状态,则控制器106和遥操作计算机126之一或两者可以提示通过遥操作进行干预。
例如,进一步参考图1,如果物品114以其平坦侧面之一在相对于机器人呈现三角形外观的取向上被放下并降落,则在某些实施例中,机器人可能没有可用于拾起物品114的策略和/或可能已超时或用尽了配置的拾起物品114的尝试的次数。作为响应,可以提示遥操作员130通过遥操作进行干预,并且可以使用手动输入设备128控制机器人的控制操作。例如,遥操作员130可以操纵机器人以拾起物品114并将物品放置在传送带118上。或者,遥操作员可以使用机器人来将物品114的取向改变为其中自主机器人将预期(或更可能)具有可用于拾起物品114的策略的取向。
在所示的示例中,可以由人类操作员130通过操纵手动输入设备128(例如,触觉输入设备)来执行遥操作。人类操作员130(有时称为遥操作员)可以通过经由包括遥操作计算机126和/或与遥操作计算机126相关联的显示设备显示的信息被提示以开始遥操作。来自一个或多个传感器134的数据可以经由网络124和遥操作计算机126提供给人类操作员130。在一些实施例中,传感器134包括在机器人上或另外在环境100中的相机,该相机被配置为生成被显示给遥操作员的视频馈送,并用于经由遥操作执行操作或其一部分和/或完成操作或其一部分的执行。在各种实施例中,相机在低延迟、高吞吐量连接的情况下连接,通过示例的方式包括但不限于基于模拟rf的通信、wifi、蓝牙和subghz中的一个或多个。在一些实施例中,使用不同类型的相机的混合。例如,可以使用具有不同通信速率、带宽和/或其他特性的相机,诸如两个rgb视觉相机、四个深度相机、两个ir相机等。
在各种实施例中,可以使用各种不同的传感器134来执行遥操作。在一些实施例中,这些可以指导机器人确定机器人是否“卡住”,和/或可以简化遥操作。在一些实施例中,传感器帮助将遥操作模态从直接触觉控制转变为越来越抽象的执行命令(诸如用鼠标点击物体以拾取,或者对音频转录设备说“打开架子”)。
在各种实施例中使用的传感器134的示例包括数字开关,该数字开关被配置为检测与环境的交互作用和特定的“卡住”场景,和/或检测机器人(或遥操作员)附近是否存在未知代理。另外的示例包括确定诸如抓握之类的操作的成功或失败的手或机器人上的力或压力传感器。在一系列失败之后,机器人确定它“卡住了”。另一个示例是一个或多个传感器,诸如机器人关节上的定位传感器,机器人可以使用它们来了解是否精确地遵循了计划的和/或预期的移动轨迹。当它没有精确地遵循预期轨迹时,它可能已经与环境接触,并且可以对机器人进行编程以得出它“卡住了”并需要调用人类干预的结论。
在各种实施例中,机器人可以预处理信息,以使人类更容易经由高级执行命令(诸如,打开箱子a或拾取物品y)提供遥操作。各种实施例中的信息预处理的示例包括但不限于:
1)机器人将深度相机馈送和常规rgb相机馈送组合在一起,从而为人类操作员给出更好的深度感知:
a)给出类似于“3d视频游戏”的接口,在其中人类可以与3d环境交互以更好地分析和解释情况;
b)或者可以使用vr接口用于完全沉浸在环境中。
2)环境场景不(必要地)完全暴露给人类:
a)代替地只向人类显示机器人认为重要的环境部分。
3)如果通过触觉遥操作手动完成操纵夹具,并且通过给操作员的常规rgb相机馈送无法很好地感知深度:
a)夹具可以关于其与环境接触的紧密程度来改变颜色(在夹具中与显示给人类操作员的几乎叠加),从而为操作员给出关于深度的视觉反馈;
b)机器人的夹具或其他部件可以关于机器人对环境施加的力的多少来改变颜色(虚拟覆盖),从而允许无需昂贵的装备即可很好地感知接触/力。
4)当人类操作员控制机器人时,机器人将移动的速度对于人类来说是未知的:
a)人类可以调节/查看显示的计量器并设置速度;
i)对于人类来说,很难猜测机器人可以走多快;
b)代替地,机器人可视化可以在它的手周围覆盖一个透明的球,该球的大小相对于当前速度设置而变化。球的大小表示给定速度下的最大移动范围,并显示速度设置如何影响现实世界的移动。
在一些实施例中,来自机器人的数据被来自传感器134、上下文信息和/或过去知识信息的数据所扩充。在一些实施例中,机器人被配置为向人类操作员提供这样的附加信息,以将机器人的状况更充分地传达给人类操作员,从而使得人类操作员能够更好地并且更快地经由遥操作提供援助。示例包括但不限于:
1)机器人拾取了一对可能起作用的自主策略,并且人类选择了最佳的一个策略:
a)可以显示在相机捕获的环境之上的不同策略的在屏幕上覆盖,以使向人类给出对要拾取的内容的好的理解。
2)代替显示环境的全局视图,机器人可以问特定问题以使分析对于人类而言更容易:
a)拾取物体
i)代替显示桌子上/箱子中物体的整体视图并要求用户单击物体的中心,我们可以通过神经网络或一些其他预测算法来提供对机器人已选择的东西的自主估计;
ii)人类仅仅根据每个物体或以整体为基础来选择估计是否正确,这只是一个是/否命令,并且比准确指出物体的中心要容易得多。
3)场景:从盒到传送带的拾取和放置:
a)在盒里有一组八个未知物体。不同形状、大小/颜色、柔软度等;
b)机器人的工作是一个接一个地拾取所有物体并将它们放在带上;
c)机器人从八个物体中拾取五个;
d)对于第六个物体,机器人具有大概的形状估计。它基于该形状估计连续两次(在不同的抓取点处)抓取。两次抓取都失败。这说明物体可能是粘糊或可变形的;
e)机器人不知道如何处理粘糊的物体;
f)它触发寻求帮助的呼叫,说它卡住了并说明可能的原因是该物体是粘糊的。
4)场景:从传送带到架子的拾取和放置:
a)一系列物体从传送带上掉下来;
b)机器人必须从带上把它们拾取下来并将它们放置在架子上;
c)数据库系统已经向机器人传达了它应该期望的物品的类型(形状、重量、条形码等);
d)机器人在带上遇到未知物体(例如,重量不同但形状相同);
e)通常,当机器人遇到不同物体时,它将其放置在“额外”箱子中;
f)它寻找并发现额外的箱子丢失了(例如,基于视觉的搜索无法找到额外的箱子的视觉形状/id);
g)机器人不知道如何处理新物体。它触发寻求帮助的呼叫,其说它有一个未知的物体并且额外的箱子丢失了。
在一些实施例中,在按需遥操作模式下,自主机器人继续监视环境100和机器人的状态。在一些实施例中,自主机器人被配置为识别机器人和/或环境已经还原到其中机器人具有可用于继续自主地进行操作的策略的状况。在一些实施例中,自主机器人可以提示遥操作员130停止遥操作并且允许或主动地使自主操作恢复。在一些实施例中,在识别到以自主模式继续操作的策略的可用性时,自主机器人自己主动接管对机器人的控制,并且系统停止响应于遥操作员130经由手动输入设备128提供的输入,并且机器人恢复自主操作。
在一些实施例中,机器人被配置为预料其中它可能以其他方式卡住了的情况,并抢先避免和/或安排人类援助来解决该情况。例如,假设机器人被委派任务以拾起三个物品a、b和c,并确定它可以拾起a,可能能够拾起b并且不能拾起c。在各种实施例中,机器人实现了计划,该计划将预料其拾起b的能力上的不确定性以及其预料没有能力拾起c。例如,在一种方法中,机器人将得出结论,它将需要关于c以及可能地b的帮助,并在它预期需要帮助的时间安排人类援助,例如在它有时间拾起a并做出了配置数量的尝试以拾起b之后。如果在被安排以用于人类帮助的时间,机器人已经拾取a并成功拾取b,则提示人类关于c提供帮助。例如,如果截止被安排以用于人类干预的时间,机器人未成功拾起b,则请求关于b和c的帮助。在另一种方法中,机器人可以抢先触发对任务相关信息的直接请求给遥操作员。例如,机器人可以要求遥操作员指示机器人应如何抓取物品c,并且同时,它会拾取a和b。如果在机器人下降来拾起物品c之前,人类遥操作员提供了策略,则机器人的动作是无缝的。否则,机器人请求帮助来拾起c。
如本文所公开的被配置为预期地和/或抢先地获得人类帮助的机器人的另外的示例包括但不限于:
●机器人遇到意外的障碍物(人类)。在这种情况下,机器人停止或减速,并向人类操作员寻求帮助以避开/经过障碍物。在一些实施例中,用于障碍物检测的传感器包括rgb相机、深度相机、热(ir)相机,其结合了执行检测的软件。
●要求机器人从桌子上取回“玻璃杯”,但其视觉系统无法看到该杯子。因此,它做出了一个非常具体的查询“告诉我杯子在桌子上的什么地方。”通过视觉接口向人类呈现一组(未标记但分段的)在桌子上的物体。人类使用该视觉接口,例如经由在对应图像的鼠标点击单击来将机器人指向杯子。用于此目的的传感器包括rgb和深度相机。
●向机器人呈现四个物体,并指示其执行组装任务。机器人“知道”如何组装成对的这些物体,但是并没有意识到正确的顺序。通过视觉接口向人类呈现物体,并要求人类提供正确的顺序。遵循此指令,机器人继续进行自主地组装物品。
●要求移动机器人从冰箱中取出橙子。由于环境已经过重建(冰箱已移动),因此它无法对冰箱进行定位。要求人类操作员将机器人引导到冰箱,他使用带有实时视觉反馈的操纵杆或触觉设备来进行该操作。该机器人配备了超声波接近传感器,其可以帮助维持穿过狭窄的走廊的无碰撞轨迹。万一人类将机器人驱赶向墙壁,机器人将把路径校正到必要的程度,但保持“无碰撞”输入。一旦机器人靠近、看着冰箱,它将自主检测到冰箱,说“谢谢人类”,并自主继续进行获取任务。
●要求机器人执行插入任务。(钉孔)。由于深度相机馈送中存在闭塞,机器人无法找到孔。要求人类帮助朝向目标引导机器人的手。通常,这是一个高维问题,需要定位和力反馈。然而,机器人自主维持朝向表面的给定法向力以及取向控制。仅需要引导即可线性地朝向孔移动。
●机器人从移动的传送带上拾取各种物体。在传送带上、机器人的上游,相机或其他传感器在物体到达机器人之前检测到物体。系统使用此信息来确定机器人是否可以自主处理物体。如果不是,则发布寻求人类遥操作的呼叫,以告诉机器人如何处理这样的物体,诸如通过在vr接口或gui中模拟机器人和物体交互来描述如何与物体交互。人类交互是在物体到达机器人之前完成的,并且机器人使用人类引导信息来与物体交互,从而消除人类遥操作的等待时间。
在图1所示的示例中,遥操作计算机126、手动输入设备128和遥操作员130被示出为位于远离其中机器人正在操作的环境100的位置140中。在各种实施例中,与遥操作有关的资产(例如126、128、130)可以位于任何地方,包括与环境100相同(或在其附近)的物理位置。
图2是图示具有按需遥操作的自主机器人的实施例的框图。在所示的示例中,机器人202在环境200中操作以执行“拣选(kitting)”操作,其中,从架子204上的箱子a、b、c和d中酌情选择物品,并将其添加到盒206中。在该示例中,机器人202包括安装在拖拉机式移动基座上的机械臂。机器人202经由无线通信在控制器208的控制下操作。在所示状态下,机器人202在夹具中其远端处具有物品210。例如,机器人202可能已经从箱子a、b、c和d中的对应一个中拾取了物品210,例如通过将自身推到与箱子相邻的定位,拉开箱子,向内看以定位并标识物品210为要拾起的目标,拾起物品210,推动箱子关闭(例如,利用机械臂的不握住物品210的部分),并在与盒206相邻的位置的方向上推进物品210,例如,以能够将物品210投到或放置到盒206中。
与图1所示的机器人和环境类似,图2所示示例中的机器人202配置为从遥操作计算机226、手动输入设备228以及位于远处位置240的遥操作员230调用按需遥操作,该按需遥操作将通过经由网络224的通信来执行。例如,在一些实施例中,机器人202可以采取策略来例如将其自身定位在架子204上的箱子附近,以打开箱子,标识要拾起的物品,伸入箱子,抓住物品,将其自身推到在盒附近的位置,将物品放置在盒中,关闭箱子,以及重复直到完成。如果机器人在任何点处到达其中机器人没有自主继续进行的策略的状态,则在各种实施例中,机器人生成对按需遥操作的请求。例如,在图2所示的示例中,如果箱子将无法打开,掉落到地面,卡阻在歪斜或其他无法识别的定位等,或者如果预期包含物品的箱子为空或具有未被识别的物品,或者如果物品被定向为使得机器人没有策略来到达并抓住所需物品等,则在各种实施例中,机器人将提示在该示例中的遥操作员230进行干预。
图1的拾取和放置操作以及图2的拣选操作是可以使用如本文公开的具有按需遥操作的自主机器人来执行的无限制操作的示例。
图3是图示经由遥操作来控制具有按需遥操作的自主机器人的系统的实施例的框图。在所示的示例中,系统300从人类遥操作员302接收通过手动输入设备(在该示例中为触觉设备304)的操纵提供的输入。在一些实施例中,触觉设备304包括提供力反馈的手动致动输入设备,诸如由novinttechnologies提供的novintfalcon触觉设备。在各种实施例中,不同于和/或附加于触觉设备304的一个或多个手动输入设备可以用于执行遥操作,包括但不限于平板电脑或其他触摸设备、鼠标、按钮/拨号面板、电话、加速度计棒、虚拟现实指示设备、3d磁性鼠标、利用相机的解释手势等。
在一些实施例中,用户在三维空间中移动手柄、旋钮、握把或其他手动接口,并且触觉设备304生成表示输入的手动接口在三维空间中的移动的输出信号。在所示的示例中,使用描述机器人及其可用行为的模型306来解释触觉设备304的输出。例如,模型306可以反映机器人及其零部件的物理尺寸和配置,并可以定义响应于经由触觉设备304提供的输入在其中机器人操作的环境中的三维空间内移动机器人的受控资源的解决方案,所述受控资源诸如图1的夹具108或机器人202的夹具。例如,对于机器臂及其组成部件的给定当前定位,模型306可以提供一个或多个解决方案,以控制机器人的致动器(例如,关节马达)从而将夹具从当前位置移动到与经由触觉设备304接收的输入相关联的目的地定位。
在所示的示例中,如根据模型306解释的基于经由触觉设备304提供的输入而生成的机器人控制器输入被提供给控制器308,以驱动一个或多个马达310从而将机器人夹具或其他资源移动到目的地定位。反馈312被提供给模型306和与触觉设备304相关联的计算机中之一或两者。在一些实施例中,反馈指示机器人(例如,机械臂)的当前位置及其组成部分的位置和取向,以使模型能够响应于经由触觉设备304接收到的输入而被用于继续驱动机械臂夹具或其他资源。
在一些实施例中,可以经由触觉设备304接收上下文信息并将其用于提供力反馈。例如,到达或接近其中机器人正在操作的环境的物理屏障;接近机械臂伸展的最远范围;接触环境中的物理物体,诸如机器人已经拾起的物体;等等,可能会导致经由触觉设备304将力反馈提供给遥操作员302。
在各种实施例中,与诸如单独控制每个关节的替代方案相比,使用诸如模型306之类的模型、基于经由诸如触觉设备304之类的手动输入设备提供的输入来解释和控制机器人的操作使得能够以更加直观和直接的多的方式执行遥操作,并且具有更大的流动、高效且连续的移动。
图4是图示用于控制具有按需遥操作的自主机器人的过程的实施例的流程图。在各种实施例中,图4的过程400由构成自主机器人和/或以其他方式与自主机器人相关联的一个或多个处理器执行,以向自主机器人提供按需遥操作。在所示的示例中,在接收到指令或其他指示要执行一操作时,执行过程400的机器人在402确定其开始位置、状态和上下文。例如,如果适用,机器人可以使用gps、由操作员提供的手动输入等来确定其当前位置,连同其组成部分(诸如构成其机械臂的节段和关节)的位置和取向。在402处确定的上下文可以包括物体、容器等的相应位置,可能需要机器人来操纵目的地位置(例如,图1的传送带118、图2的盒206等)。
在404处,机器人确定用于实现总体分配和/或目标的任务序列。例如,参考图1,分配可以是从桌子110中拾取物品,并将它们一个接一个地放置在传送机118上。或者,参考图2,分配可以是将来自箱子a的一个物品以及来自箱子d的两个物品归档到盒206。在各种实施例中,在404处确定的任务序列(或其他集合)中的每个任务可以显式或隐式地包括使用一个或多个技能来执行一个或多个子任务。例如,参考图2,将来自箱子a一个物品放置到盒206中可以包括:驱动到在箱子a附近的定位,拉出箱子a,向内看以找到该物品的实例,确定到达并拾起物品的策略,抓住物品,将其从箱子a中拉出等。
在406,机器人递归地确定并执行(或尝试执行)用于执行下一个任务或子任务的策略,以沿着朝向总体分配和/或其成分的完成的矢量从当前状态前进到下一个状态。
如果机器人被卡住(408),例如,机器人无法确定用于执行下一个任务或子任务以朝向完成总体分配移动的可用策略,则机器人请求和/或等待通过遥操作的干预(410)。一旦人类操作员已经由遥操作进行了干预(410),则机器人可以恢复自主执行另外的任务(406)。如所描述的操作继续(406、408、410)直到总体分配已经完成(412),并且过程(400)结束。
图5是图示具有按需遥操作的自主机器人的实施例中的操作状态的状态图。在各种实施例中,图5的状态图500由如本文所公开的具有按需遥操作的自主机器人来实现。在所示的示例中,输入或其他刺激502使机器人进入初始化状态504,在该状态下,机器人确定其起始定位、取向和/或其他状态、环境和/或其他上下文数据等。
如果初始化成功,则机器人经由直接转变508进入计划状态506。替代地,如果机器人不能够完成初始化,则机器人可以通过转变512进入人类干预状态510,以提示人类用户援助机器人的初始化。如果进一步的初始化依然要由机器人完成,则机器人经由转变514转变回到初始化状态504。替代地,机器人可以经由转变516从人类干预状态510转变到计划状态506。
在计划状态506中,机器人确定将要执行以实现总体的高级分配或目标的高级动作(任务)的可选有序集合。在计划状态506中,机器人可以尝试确定用于以确定的顺序执行以高效地实现目标的子任务的高效集合,诸如通过最小化臂和/或机器人移动,最小化完成时间,确保物品在目的地中的空间高效布置等。在处于计划状态506中时,在该示例中,机器人可以经由到人类干预状态510的转变518来提示人类援助计划。
在完成计划状态506中的计划时,在此示例中,机器人经由转变522进入自主动作状态520。在自主动作状态520中,机器人自主动作以实现总体分配和/或目标,例如,通过根据和/或促进在计划状态506中确定的计划来执行任务和/或子任务。在所示的示例中,机器人可以从自主动作状态520转变回到计划状态506。例如,如果遇到与原始(或其他当前)计划不一致的意外状态或上下文,则机器人可以返回到计划状态506以提出另一个计划。
在自主动作状态520中,机器人可以调用按需遥操作。例如,在一些实施例中,如果机器人确定它没有可用于执行当前或下一个任务或子任务的策略,所述当前或下一个任务或子任务要求被执行以继续朝向完成总体分配或目标前进,则机器人将经由转变526转变到人类干预状态510。例如,机器人可以例如经由遥操作来提示人类用户干预并执行所指示的任务或子任务。
在一些实施例中,在经由转变526从自主状态520进入人类干预状态510时,机器人等待直到接收到输入以恢复自主操作。在接收到这样的输入时,机器人经由转变528返回到自主动作状态520。在一些实施例中,当在经由转变526从自主状态520的转变之后的人类干预状态510中,机器人连续地和/或周期性地处理机器人定位、取向和上下文数据以尝试确定将使机器人能够恢复在自主动作状态520中操作的策略。如果及时确定了策略,则机器人可以经由转变528提示返回到自主动作状态520。在一些实施例中,机器人自动转变。在一些实施例中,机器人提示人类遥操作员停止通过遥操作来控制机器人,并且相反允许或主动地使机器人返回到自主动作状态520。在一些实施例中,要求以转变回到自主动作状态520的人类干预的程度可以是可配置的和/或可以取决于上下文、机器人的性质和用途等而变化。
一旦完成了总体分配或目标,如果最终任务是自主执行的,则机器人就经由转变532转变到完成/就绪状态530,如果最终任务是经由遥操作执行的,则通过机器人就经由转变534转变到完成/就绪状态530。
图6是图示了用于在自主操作状态下控制具有按需遥操作的自主机器人的过程的实施例的流程图。在各种实施例中,图6的过程600由具有按需遥操作的自主机器人来实现,诸如在图5的自主动作状态520中操作的自主机器人。在所示的示例中,在进入自主状态(602)时,机器人确定要执行的下一个任务或子任务(604)。机器人尝试确定可用于机器人自主执行下一个任务或子任务的策略(606)。如果机器人确定它没有(进一步的)策略来执行下一个(或任何下一个)任务或子任务(608),则机器人转变到人类干预状态(610),在该状态下执行按需遥操作。如果机器人确定了要继续进行的策略(606、608),则机器人使用确定的策略来执行下一个任务或子任务(612)。如果成功(614),则机器人继续下一个任务等等直到完成(616)。如果尝试了确定的策略但未导致成功完成任务或子任务(606、608、612、614),则机器人尝试确定用于执行任务或子任务的另一个策略(606),并且处理按以上所描述的继续进行,除非/直到已经成功执行任务/子任务或者机器人进入人类干预操作状态。
图7是图示监视和恢复在遥操作(人类干预)状态下操作的自主机器人的自主控制的过程的实施例的流程图。在各种实施例中,图7的过程700由具有按需遥操作的自主机器人来实现,诸如在图5的人类干预状态510下操作的自主机器人。在所示的示例中,在进入人类干预时(按需遥操作)状态(702)时,机器人自主监视朝向完成总体分配或操作的进度;机器人的定位、取向和状态;以及在人类操作员经由遥操作控制机器人时的上下文和/或环境数据(704)。机器人连续尝试确定要执行的下一任务或子任务,以及如果有的话,机器人可用于自主执行下一任务或子任务的策略(706)。如果机器人确定要完成任务或子任务,针对其机器人具有用于完成所述任务或子任务的策略(708),则机器人进入自主动作状态(710)。在一些实施例中,机器人可以自动进入自主动作状态。在一些实施例中,机器人可以通过提示人类用户允许或发起向自主动作状态的转变来进入自主动作状态。
在各种实施例中,本文公开的技术可以促进由同一人类操作员或并置的操作员团队监视和按需遥操作多个机器人,例如,每个机器人在不同的位置处。
图8是图示用于提供对具有按需遥操作的多个自主机器人的一对多控制的系统的实施例的框图。在所示的示例中,与在第一位置800中操作的机器人802相关联的控制器804;与在第二位置820中操作的机器人822相关联的控制器824;以及与在第三位置840中操作的机器人842相关联的控制器844各自经由网络860连接到第四位置处的遥操作计算机862。遥操作计算机862被配置为基于人类操作员866经由手动输入设备864提供的遥操作输入来在任何给定时间控制机器人802、822和842中的任何一个。在各种实施例中,遥操作计算机862被配置为经由网络860从控制器804、824和844中的一个或多个接收由该控制器控制的机器人需要按需人类干预(遥操作)的指示。作为响应,遥操作计算机862向用户866显示关于受影响机器人及其当前定位、状态、上下文、环境等的信息以及要执行的任务。遥操作计算机862将一模型用于受影响机器人来将经由手动输入设备864提供的输入映射到对应的控制信号、命令、指令等,以控制受影响机器人的操作。一旦受影响机器人的遥操作完成,遥操作计算机就重新进入监视状态,在该状态下,它等待接收下一个要执行遥操作的指示。
虽然在图8所示的示例中,一个人类遥操作员经由遥操作来控制许多不同的机器人,每个机器人都在单独的一个机器人环境中操作,但是在一些实施例中,单个人类遥操作员可以一次控制在同一环境中的多个机器人。例如,一任务可能需要两个或三个机器人一起工作以拾起物体。或者,一任务可能需要三个机器人一起工作以将物体分类为单个物体堆。在一些实施例中,多个机器人被赋予任务以在共享任务上在相同空间中自主工作,诸如通过将每个机器人指向相同的目标(例如,物体堆)和目的地(例如,特定于物体的箱子)。机器人各自自主(或协同)工作以执行分配的任务。如果有任何(或所有)被卡住,则需要人类干预。
图9是图示用于提供对具有按需遥操作的多个自主机器人的一对多控制的过程的实施例的流程图。在各种实施例中,图9的过程900由计算机执行,诸如图8的遥操作计算机862。在所示的示例中,监视各自在自主状态下操作的多个位置处的机器人(902)。可以例如经由显示设备来提供视频或其他馈送。如果关于给定的机器人和/或位置接收到提供人类干预(例如,遥操作)的指示(904),则将机器人状态和上下文信息显示给人类用户(906),并且将经由触觉或其他手动输入设备提供的输入映射到要经由遥操作来控制的机器人的对应控制输入(908)。一旦人类干预(遥操作)完成(910),受影响机器人就恢复自主操作,并且实现过程900的系统恢复对多个位置的监视(902)。监视和人类干预(根据需要/如果需要的话)如所描述的那样继续,直到所有机器人都已经完成或以其他方式结束了它们的工作(912),在此时,过程900结束。
在一些实施例中,如本文公开的自主机器人尝试预料并抢占其中机器人可能被卡住并且需要请求并等待例如经由遥操作来提供人类援助的情况。在一些实施例中,如本文公开的机器人尝试预先获得人类援助(例如,告诉我如何拾起像物品c之类的物品)和/或预先安排在预期被需要的时间处提供人类援助。
图10是图示抢先获得人类援助的过程的实施例的流程图。在各种实施例中,至少关于机器人能够预料的情况,如本文公开的自主机器人实现图10的过程。在一些实施例中,可以在图5所示的示例的计划状态506期间执行图10的过程1000的全部或部分。在所示的示例中,在接收到分配时,机器人确定其起始定位、状态和上下文(1002)。机器人确定用于实现目标(即完成任务)的任务的序列(1004),任务的序列暗示从起始状态到其中分配已经完成的完成状态的一组状态和/或以其他方式与之相关联。机器人针对任务和/或相关状态的至少一子集预先递归地确定一种策略,所述策略用于沿着朝向完成分配的矢量从该状态前进到下一个状态(1006)。对于机器人确定针对其它将需要人类干预(例如,遥操作、物体的标识、现有策略的选择、向机器人教授新策略等)的任何未来任务/状态(1008),机器人尽可能地预先请求并获得人类帮助(1010),包括通过在恢复自主操作之前安排人类遥操作和对其自身自主操作的安排中断用于获得人类援助。机器人能够自主操作,并根据需要获得安排的和/或按需的人类援助(例如,对于导致机器人被卡住的未预料到的事件),直到分配完成(1012)。
在各种实施例中,本文公开的技术可以使得需要更高的敏捷度的更复杂的任务能够被自主执行,在一些实施例中,在多个远程位置处同时进行,其中按需要、如果需要以及在需要时提供按需人类干预,以确保完成执行所有操作。
尽管出于清楚理解的目的已经更详细地描述了前述实施例,但是本发明不限于所提供的细节。存在许多实现本发明的替代方案。所公开的实施例是图示性的并且不是限制性的。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除