基于对象的机器人控制的制作方法
未命名
09-27
阅读:97
评论:0
1.本公开涉及基于对象的机器人控制。
背景技术:
2.机器人通常被定义为可重新编程和多功能的操纵器,其被设计为通过可变的编程运动来移动材料、部件、工具或专用设备以执行任务。机器人可以是物理锚定的操纵器(例如,工业机器人臂)、在整个环境中移动的移动机器人(例如,腿、轮或基于牵引的机构)、或操纵器和移动机器人的一些组合。机器人用于各种行业,包括例如制造、运输、危险环境、勘探和医疗保健。因此,机器人使用协调移动穿过具有障碍物的环境的能力为这些行业提供了额外的益处。
技术实现要素:
3.本公开的一个方面提供了一种计算机实现的方法,该方法当由机器人的数据处理硬件执行时使数据处理硬件执行操作。操作包括接收关于机器人的环境的传感器数据。传感器数据由机器人的一个或多个传感器捕获。操作包括使用接收到的传感器数据检测环境中的一个或多个对象。操作包括对于每个检测到的对象,创作指示机器人能够相对于对应的检测到的对象执行的行为的交互行为。操作包括增强环境的定位地图以反映每个检测到的对象的相应的交互行为。
4.本公开的方面可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括,对于每个检测到的对象,生成可由机器人的操作者选择的交互行为的图形表示。在那些实施方式中,增强环境的定位地图包括增强环境的定位地图以反映每个检测到的对象的交互行为的图形表示。在进一步的实施方式中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,在视口中显示与相应的检测到的对象相关联的相应的图形表示。在更进一步的实施方式中,视口显示来自机器人的一个或多个传感器的视觉馈送。在其他更进一步的实施方式中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,接收指示对与相应的检测到的对象相关联的相应的交互行为的选择的操作输入指示,以及操作机器人以执行相应的交互行为。在其他进一步的实施方式中,图形表示包括与对应对象相关联的交互行为的菜单,该交互行为可由机器人的操作者选择。
5.在一些实施方式中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,接收对与相应的检测到的对象相关联的相应的交互行为的选择,以及操作机器人以执行相应的交互行为。在一些示例中,使用接收到的传感器数据检测环境中的一个或多个对象包括使用被配置为识别机器人能够与之交互的对象的对象检测模型来标识一个或多个对象。在一些实施方式中,交互行为对应于导航行为,该导航行为指示机器人应该如何基于相应对象在环境中导航。在进一步的实施方式中,导航行为定义机器人相对于相应对象的相应定位。
6.在一些实施方式中,交互行为包括机器人在和与交互行为相关联的相应对象交互
时应该采取的交互姿态。在一些示例中,创作交互行为包括从机器人的操作者接收用于对应的检测到的对象的手动创作的行为。在一些实施方式中,创作交互行为包括将对应的检测到的对象与来自机器人能够与之交互的对象列表的对象匹配,以及从与对应的检测到的对象匹配的对象列表中选择与该对象相关联的一个或多个预配置的交互行为。在一些实施方式中,操作还包括使用由机器人的一个或多个传感器捕获的环境的传感器数据来生成定位地图。在那些实施方式中,定位地图包括环境的特征作为定位参考点,以在机器人围绕环境移动时在环境内定位机器人。
7.本公开的另一方面提供了一种机器人。机器人包括主体、传感器系统、与传感器系统通信的数据处理硬件以及与数据处理硬件通信的存储器硬件。传感器系统至少部分地设置在主体上并且包括一个或多个传感器。存储器硬件存储指令,指令当在数据处理硬件上执行时使数据处理硬件执行操作。操作包括接收关于机器人的环境的传感器数据。传感器数据由机器人的一个或多个传感器捕获。操作包括使用接收到的传感器数据检测环境中的一个或多个对象。操作包括对于每个检测到的对象,创作指示机器人能够相对于对应的检测到的对象执行的行为的交互行为。操作包括增强环境的定位地图以反映每个检测到的对象的相应的交互行为。
8.本公开的方面可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括,对于每个检测到的对象,生成可由机器人的操作者选择的交互行为的图形表示。在那些实施方式中,增强环境的定位地图包括增强环境的定位地图以反映每个检测到的对象的交互行为的图形表示。在进一步的实施方式中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,在视口中显示与相应的检测到的对象相关联的相应的图形表示。在更进一步的实施方式中,视口显示来自机器人的一个或多个传感器的视觉馈送。在其他更进一步的实施方式中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,接收指示对与相应的检测到的对象相关联的相应的交互行为的选择的操作输入指示,以及操作机器人以执行相应的交互行为。在其他进一步的实施方式中,图形表示包括与对应对象相关联的交互行为的菜单,该交互行为可由机器人的操作者选择。
9.在一些示例中,操作还包括:当机器人在导航环境时遇到相应的检测到的对象时,接收对与相应的检测到的对象相关联的相应的交互行为的选择,以及操作机器人以执行相应的交互行为。在一些实施方式中,使用接收到的传感器数据检测环境中的一个或多个对象包括使用被配置为识别机器人能够与之交互的对象的对象检测模型来标识一个或多个对象。在一些实施方式中,交互行为对应于导航行为,该导航行为指示机器人应该如何基于相应对象在环境中导航。在进一步的实施方式中,导航行为定义机器人相对于相应对象的相应定位。
10.在一些示例中,交互行为包括机器人在和与交互行为相关联的相应对象交互时应当采取的交互姿态。在一些实施方式中,创作交互行为包括从机器人的操作者接收用于对应的检测到的对象的手动创作的行为。在一些实施方式中,创作交互行为包括将对应的检测到的对象与来自机器人能够与之交互的对象列表的对象匹配,以及从与对应的检测到的对象匹配的对象列表中选择与该对象相关联的一个或多个预配置的交互行为。在一些示例中,操作还包括使用由机器人的一个或多个传感器捕获的环境的传感器数据来生成定位地图。在那些示例中,定位地图包括环境的特征作为定位参考点,以在机器人围绕环境移动时
在环境内定位机器人。
11.在附图和下面的描述中阐述了本公开的一个或多个实施方式的细节。其他方面、特征和优点将从说明书和附图以及权利要求书中显而易见。
附图说明
12.图1a是能够进行基于对象的机器人控制的示例机器人的透视图。
13.图1b是图1a的机器人的示例系统的示意图。
14.图2a至图2c是图1b的示例对象行为系统的示意图。
15.图3a至图3e是图1a的机器人使用对象行为系统的示例序列的透视图。
16.图3f是描绘图1a的机器人的环境的地图的示例用户界面的示意图。
17.图4是用于配置基于对象的机器人控制的方法的操作的示例布置的流程图。
18.图5是可以用于实现本文描述的系统和方法的示例计算设备的示意图。
19.各附图中相同的附图标记表示相同的元件。
具体实施方式
20.随着机器人朝着更大程度的自动化发展,特别是在移动性方面,机器人导航仍然给机器人的操作者带来一些固有的负担,以配置关于机器人正在或将要操作的环境的信息。操作者通常负责设计操作者期望机器人如何与环境交互的任务。例如,操作者编程或教导机器人如何在环境内移动和/或如何与位于环境中的元件交互。通常,这意味着操作者具有定义元件和机器人要执行的创作或编码操纵(即,行为)的任务,以便定义机器人可以如何与该元件交互。
21.为了说明,操作者可能打算使用机器人在常规基础上检查建筑物的力学。在检查机械装置时,操作者期望机器人至少检查几个关键的燃气表并检查管道的一些较旧部分是否有气体泄漏。由于机器人最初不熟悉建筑物和这些对象(即,燃气表和管道段),因此操作者必须教导机器人关于建筑物的信息以使机器人能够移动到对象以及如何执行对这些对象的检查。这里,执行这些对象的检查可以包括执行机器人的特定姿态或姿态,使得机器人的一个或多个传感器将被定向为视觉检查燃气表和/或管道段。因此,操作者通过对机器人执行检查行为将需要承担的移动进行编码来创建这些检查行为。通过这些步骤,机器人获得智能以执行预期检查。也就是说,操作者使用编码配置来馈送机器人知识,以便能够随后执行用于建筑物的力学的检查例程。
22.尽管机器人将能够最终根据创作的行为与元件交互,但是配置创作的行为的整个过程可能相当费力。另外,当操作者意图使用机器人来执行创作为行为的任务时,配置这些行为的过程可能延迟机器人在环境中的部署;从而阻止机器人能够“开箱即用”(used“out of the box”);此外,通过需要一定程度的复杂度来编程行为,配置过程影响了机器人的易用性。例如,建立行为的过程(例如,编码过程)可能需要使机器人不太用户友好的专业知识。因此,基于为机器人设置任务需要投入的资源或时间,人们可能不太愿意使用机器人来执行这样的任务。
23.然而,机器人的操作者可能更喜欢做最少量的工作来设置机器人要执行的任务。为了最小化设置量,机器人可以被编程为通过用机器人检测到的机器人能够与之交互的对
象填充站点地图(site map)来构建机器人将操作的环境的站点地图。该方法旨在利用机器人使用其传感器系统检测对象的能力,同时机器人生成环境地图(例如,站点地图)。这里,为了定位和导航目的,机器人最初可以在地图绘制(mapp)过程中被教导环境。例如,在地图绘制过程期间,机器人的操作者可以最初驱动机器人通过收集传感器数据的环境。在该初始地图绘制过程期间收集的传感器数据(例如,图像数据或点云数据)可以允许机器人构建被称为定位地图的环境的站点地图。机器人可以通过使用传感器数据定义环境内存在的特征来生成定位地图。换句话说,基于传感器数据,机器人可以标识环境中的定位特征,机器人稍后可以将其用作定位参考点以确定机器人在环境内的位置。这种类型的地图绘制过程使得机器人能够随后导航环境以执行特定任务。例如,站点可以包括机器人用作定位特征的结构柱。这里,当机器人移动通过环境并收集对应于结构柱的传感器数据时,由传感器数据捕获的结构柱相对于机器人的几何形状和定向通知机器人它处于空间中的某个确定位置。例如,对应于结构柱的传感器数据通知机器人它与门或站点上存在的其他特征相距一定距离。
24.对象行为系统可以使用在机器人最初移动通过环境(例如,由操作者驱动)时收集的传感器数据来执行对象检测过程,以便标识机器人能够与之交互的环境内的对象。该对象检测过程可以在机器人被驱动通过环境以形成定位地图时发生,或者可以在最初驱动机器人通过环境之后作为处理步骤发生。对象行为系统可以被配置(例如,训练)为一般地识别对象,或者更具体地识别已经被指定为可交互对象的对象。这里,可交互对象是指机器人能够与之交互的对象。可交互对象可以包括但不限于可抓取对象(例如,可由机器人的机器人操纵器的末端效应器(end-effector)抓取)、可致动对象(例如,可以由于与机器人的交互而改变状态的对象)、可移动对象、可检查对象等。一旦基于传感器数据(例如,在定位地图的初始生成期间)在环境中检测到可交互对象,就可以将一个或多个行为与可交互对象相关联或者为可交互对象创作一个或多个行为。如下所述,一个或多个行为可以被创作并包括在定位地图中,以随后由机器人的控制器参考。在一些示例中,行为被呈现为供操作者在控制机器人时选择的视觉图形。这里,行为是机器人或机器人的某个部分(例如,机器人的臂)相对于可交互对象执行的一个或多个计划移动。通过将行为与可交互对象相关联,机器人的操作者可以容易地配置机器人在环境中执行的任务。这可以允许操作者避免必须理解如何为机器人编码行为。
25.一般来说,当机器人使用定位地图导航站点时,机器人可遵循路径点。路径点是指机器人在环境内的特定地点处感测到的内容(例如,根据其传感器系统)的表示。当环境的特征用作为机器人在环境中操纵提供可重复性的可靠特征时,机器人可以在环境内的空间中的特定位置处定义路径点。例如,一些更常见的可靠特征是房间的角落或墙壁的边缘。当机器人生成路径点时,路径点还可以包括指示如何定位或移动机器人以便行进到相邻路径点的信息;允许所述机器人建立可靠的路径以导航通过所述环境。然而,当定位地图还包括或被修改为包括可交互对象时,机器人可以使用可交互对象而不是路径点或与路径点结合来导航环境。在这种情况下,机器人执行特定任务的任务可以基于可交互对象和/或路径点。在该上下文中,任务是指在环境中执行涉及与可交互对象交互的一个或多个动作或任务的例程。为了说明,建筑物的机械师的检查例程可以是由操作者设置的任务。通过使任务基于一个或多个可交互对象,机器人的设置可以更紧密地反映机器人的基于任务的操作,
允许机器人设置对于操作者更直观。
26.通过修改定位地图以包括可交互对象及其相关联的行为,可以操作机器人以执行涉及可交互对象的一个或多个任务,并且机器人可以基于修改的定位地图导航通过环境到可交互对象。例如,机器人可以在环境中导航并自主地执行涉及可交互对象的任务,或者机器人可以由机器人的操作者控制或半自主地控制。例如,定位地图可以可视地提供给操作者,并且操作者可以从显示例如增强现实表示的界面控制机器人。
27.机器人可以由远程控制器(也称为控制器)远程控制,远程控制器诸如移动设备,其使得操作者能够在一定距离上与机器人通信。在这样的配置中,操作者不需要被拴系到机器人来提供控制机器人的操作的命令。通常,这些远程控制器包括向机器人提供方向控制的装置(例如,利用操纵杆、方向垫或触摸屏控件)和向操作者提供视觉反馈的显示器。这里,用于机器人的传感器系统的一个或多个传感器可以提供视觉反馈。例如,传感器系统向操作者提供机器人当前利用其(一个或多个)传感器“看到”或感知的内容的相机馈送。在一些示例中,操作者可以选择或切换不同的传感器以将显示器处的馈送改变为针对特定操作选择的传感器。尽管传感器系统可以在三维(3d)中感知环境(例如,使用产生体积点云的传感器),但是远程控制器的显示视口可以描绘环境的二维(2d)表示(或者在合适的情况下,3d表示)。显示视口可以包括任何合适的配置,诸如远程控制器处的显示屏、远离远程控制器的监视器、或虚拟现实耳机。
28.通过添加对应于可交互对象的交互点,操作者可以查看增强现实表示,使得机器人周围的3d环境的2d描绘包括指示交互点(即,可交互对象)的存在的注释。在这样的配置中,如果机器人转动以定向其传感器以查看球阀,则球阀可以出现在远程控制器的屏幕(或显示器)上(例如,在视口中),具有注释或标签以指示它是可交互对象。这些注释可以由操作者选择,以允许操作者为可交互对象设置或创作行为(例如,预先填充的行为或自定义行为)。因此,当可交互对象被内置到定位地图中或包括在定位地图中时,控制器可以用作创建行为的接口,并且更广泛地,用于操作者基于与可交互对象相关联的行为来配置任务。
29.参考图1a和图1b,机器人100包括具有基于运动的结构的主体110,基于运动的结构诸如耦合到主体110的腿120a-d,腿120a-d使得机器人100能够在环境10中四处移动。在一些示例中,每个腿120是可铰接结构,使得一个或多个关节j允许腿120的构件122移动。例如,每个腿120包括将腿120的上部构件122、122u耦合到主体110的髋关节jh和将腿120的上部构件122u耦合到腿120的下部构件122
l
的膝关节jk。尽管图1a描绘了具有四条腿120a-d的四足机器人,但是机器人100可以包括任何数量的腿或基于机车的结构(例如,具有两条腿的双足或类人机器人,或一条或多条腿的其他布置),其提供穿过环境10内的地形的手段。
30.为了穿过地形,每个腿120具有与地形的表面(即,牵引表面)接触的远端124。换句话说,腿120的远端124是腿120的由机器人100用于在机器人100的移动期间枢转、站立(plant)或通常提供牵引力的端部。例如,腿120的远端124对应于机器人100的脚。在一些示例中,尽管未示出,腿120的远端124包括踝关节ja,使得远端124可相对于腿120的下部构件122
l
铰接。
31.在所示的示例中,机器人100包括用作机器人操纵器的臂126。臂126可以被配置为围绕多个自由度移动,以便接合环境10的元件(例如,环境10内的可交互对象)。在一些示例中,臂126包括一个或多个构件128,其中构件128通过关节j耦合,使得臂126可以围绕关节j
枢转或旋转。例如,在具有多于一个构件128的情况下,臂126可以被配置为延伸或缩回。为了说明示例,图1a描绘了具有对应于下部构件128
l
、上部构件128u和手构件128h(例如,也称为末端效应器128h)的三个构件128的臂126。这里,下部构件128
l
可以围绕位于主体110附近的第一臂关节j
a1
旋转或枢转(例如,臂126连接到机器人100的主体110的位置)。下部构件128
l
在第二臂关节j
a2
处耦合到上部构件128u,并且上部构件128u在第三臂关节j
a3
处耦合到手构件128h。在一些示例中,诸如图1a,手构件128h或末端效应器128h是机械抓取器,其包括被配置为执行环境10内的元件的不同类型的抓取的一个或多个可移动钳口。在所示的示例中,末端效应器128h包括固定的第一钳口和可移动的第二钳口,其通过将对象夹持在钳口之间来抓握对象。可移动钳口被配置为相对于固定钳口移动,以便在抓取器的打开位置与抓取器的闭合位置(例如,围绕对象闭合)之间移动。在一些实施方式中,臂126另外包括第四关节j
a4
。第四关节j
a4
可以位于下部构件128
l
与上部构件128u的耦合附近,并且用于允许上部构件128u相对于下部构件128
l
扭转或旋转。换句话说,第四关节j
a4
可以用作类似于第三关节j
a3
的扭转关节或邻近手构件128h的臂126的腕关节。例如,作为扭转关节,耦合在关节j处的一个构件可以相对于耦合在关节j处的另一构件移动或旋转(例如,耦合在扭转关节处的第一构件是固定的,而耦合在扭转关节处的第二构件旋转)。在一些实施方式中,臂126在机器人100的主体110上的插座处连接到机器人100。在一些配置中,插座被配置为连接器,使得臂126可以附接到机器人100或从机器人100分离,这取决于臂126是否需要用于操作。
32.机器人100具有沿着重力方向的垂直重力轴(例如,示出为z方向轴az)和质心cm,质心cm是对应于机器人100的所有部件的平均位置的位置,其中部件根据它们的质量被加权(即,机器人100的分布质量的加权相对位置总和为零的点)。机器人100还具有基于cm的相对于垂直重力轴az(即,相对于重力的固定参考系)的姿态p,以定义机器人100采取的特定姿势或态势。机器人100的姿势可以由机器人100在空间中的定向或角位置限定。腿120相对于主体110的移动改变了机器人100的姿态p(即,机器人的cm的位置和机器人100的姿势或定向的组合)。这里,高度通常是指沿z方向(例如,沿z方向轴线az)的距离。机器人100的矢状平面对应于在y方向轴ay和z方向轴az的方向上延伸的y-z平面。换句话说,矢状平面将机器人100平分成左侧和右侧。通常垂直于矢状平面,地平面(也称为横向平面)通过在x方向轴a
x
和y方向轴ay的方向上延伸而跨越x-y平面。地平面是指地表面14,其中机器人100的腿120的远端124可以生成牵引力以帮助机器人100在环境30周围移动。机器人100的另一解剖平面是横跨机器人100的主体110延伸的前平面(例如,从具有第一腿120a的机器人100的左侧到具有第二腿120b的机器人100的右侧)。前平面通过在x方向轴线a
x
和z方向轴线az的方向上延伸而跨越x-z平面。
33.为了在环境10周围操纵或使用臂126执行任务,机器人100包括具有一个或多个传感器132、132a-n的传感器系统130(也称为视觉系统)。例如,图1a示出了安装在机器人100的头部处(即,在邻近前腿120a-b的机器人100的前部附近)的第一传感器132、132a、安装在机器人100的第二腿120b的臀部附近的第二传感器132、132b、与安装在机器人100的主体110的一侧上的传感器132中的一个对应的第三传感器132、132c、安装在机器人100的第四腿120d的臀部附近的第四传感器132、132d以及第五传感器132。132e安装在机器人100的臂126的末端效应器128h处或附近。传感器132可以包括视觉/图像传感器、惯性传感器(例如,
惯性测量单元(imu))、力传感器和/或运动传感器。传感器132的一些示例包括相机,诸如立体相机、飞行时间(tof)传感器、扫描光检测和测距(lidar)传感器或扫描激光检测和测距(ladar)传感器。在一些示例中,传感器132具有限定对应于传感器132的感测范围或区域的对应视场fv。例如,图1a描绘了机器人100的视场fv。每个传感器132可以是可枢转的和/或可旋转的,使得传感器132可以例如围绕一个或多个轴(例如,相对于地平面的x轴、y轴或z轴)改变视场fv。在一些示例中,多个传感器132可以聚集在一起(例如,类似于第一传感器132a)以拼接比任何单个传感器132更大的视场fv。在传感器132围绕机器人100放置的情况下,传感器系统130可以具有机器人100的周围环境的360度视图或接近360度视图。
34.当利用传感器132勘测视场fv时,传感器系统130生成对应于视场fv的传感器数据134(例如,图像数据)。传感器系统130可以利用安装在机器人100的主体110上或附近的传感器132(例如,传感器132a、132b)生成视场fv。传感器系统130可以附加地和/或替代地利用安装在臂126的末端效应器128h处或附近的传感器132(例如,(一个或多个)传感器132c)来生成视场fv。一个或多个传感器132可以捕获定义机器人100周围的环境10内的区域的三维点云的传感器数据134。在一些示例中,传感器数据134是对应于由三维体积图像传感器132生成的三维体积点云的图像数据。附加地或替代地,当机器人100在环境10周围操纵时,传感器系统130收集机器人100的姿态数据,其包括惯性测量数据(例如,由imu测量)。在一些示例中,姿态数据包括关于机器人100的运动学数据和/或定向数据,例如,关于机器人100的腿120或臂126的关节j或其他部分的运动学数据和/或定向数据。利用传感器数据134,机器人100的各种系统可以使用传感器数据134来定义机器人100的当前状态(例如,机器人100的运动学)和/或机器人100周围的环境30的当前状态。换句话说,传感器系统130可以将传感器数据134从一个或多个传感器132传送到机器人100的任何其他系统,以便辅助该系统的功能。
35.在一些实施方式中,传感器系统130包括耦合到关节j的传感器132。此外,这些传感器132可以耦合到操作机器人100的关节j的马达m(例如,传感器132、132b-d)。这里,这些传感器132以基于关节的传感器数据134的形式生成关节动力学。被收集为基于关节的传感器数据134的关节动力学可以包括关节角度(例如,上部构件122u相对于下部构件122
l
或手构件126h相对于臂126或机器人100的另一构件)、关节速度(例如,关节角速度或关节角加速度)和/或在关节j处经历的力(也称为关节力)。由一个或多个传感器132生成的基于关节的传感器数据可以是原始传感器数据、被进一步处理以形成不同类型的关节动力学的数据、或两者的某种组合。例如,传感器132测量关节位置(或在关节j处耦合的构件122的位置),并且机器人100的系统执行进一步处理以从位置数据导出速度和/或加速度。在其他示例中,传感器132被配置为直接测量速度和/或加速度。
36.当传感器系统130收集传感器数据134时,计算系统140存储、处理和/或将传感器数据134传送到机器人100的各种系统(例如,控制系统170、对象行为系统200和/或远程控制器20)。为了执行与传感器数据134相关的计算任务,机器人100的计算系统140包括数据处理硬件142和存储器硬件144。数据处理硬件142被配置为执行存储在存储器硬件144中的指令,以执行与机器人100的活动(例如,移动和/或基于移动的活动)相关的计算任务。一般而言,计算系统140是指数据处理硬件142和/或存储器硬件144的一个或多个位置。
37.在一些示例中,计算系统140是位于机器人100上的本地系统。当位于机器人100上
时,计算系统140可以是集中式的(例如,在机器人100上的单个位置/区域中,例如,机器人100的主体110)、分散式的(例如,位于机器人100周围的各个位置处)或两者的混合组合(例如,包括大部分集中式硬件和少数分散式硬件)。为了说明一些差异,分散式计算系统140可以允许处理在活动位置处(例如,在移动腿120的关节的马达处)发生,而集中式计算系统140可以允许中央处理中枢与位于机器人100上的各个位置处的系统通信(例如,与移动腿120的关节的马达通信)。
38.附加地或替代地,计算系统140包括远离机器人100定位的计算资源。例如,计算系统140经由网络150与远程系统160(例如,远程服务器或基于云的环境)通信。非常类似于计算系统140,远程系统160包括远程计算资源,诸如远程数据处理硬件162和远程存储器硬件164。这里,传感器数据134或其他经处理的数据(例如,由计算系统140本地处理的数据)可以存储在远程系统160中,并且可以由计算系统140访问。在另外的示例中,计算系统140被配置为利用远程资源162、164作为计算资源142、144的扩展,使得计算系统140的资源可以驻留在远程系统160的资源上。
39.在一些实施方式中,如图1a和图1b所示,机器人100包括控制系统170和感知系统180。感知系统180被配置为从传感器系统130接收传感器数据134并处理传感器数据134以生成地图182。利用由感知系统180生成的地图182,感知系统180可以将地图182传送到控制系统170,以便为机器人100执行受控动作,诸如在环境10周围移动机器人100。在一些示例中,通过使感知系统180与控制系统170分离但与控制系统170通信,控制系统170的处理集中于控制机器人100,而感知系统180的处理集中于解释由传感器系统130收集的传感器数据134。例如,这些系统170、180并行地执行它们的处理,以确保机器人100在环境10中的准确的流体移动。
40.给定控制器172可以通过控制围绕机器人100的一个或多个关节j的移动来控制机器人100。在一些配置中,给定控制器172是具有编程逻辑的软件,该编程逻辑控制至少一个关节j或操作或耦合到关节j的马达m。例如,控制器172控制施加到关节j的力的量(例如,关节j处的扭矩)。作为可编程控制器172,控制器172控制的关节j的数量对于特定控制目的是可缩放的和/或可定制的。控制器172可以控制机器人100的单个关节j(例如,控制单个关节j处的扭矩)、多个关节j或一个或多个构件128的致动(例如,手构件128h的致动)。通过控制一个或多个关节j、致动器或马达m,控制器172可以协调机器人100的所有不同部分(例如,主体110、一个或多个腿120、臂126)的移动。例如,为了执行具有一些移动的行为,控制器172可以被配置为控制机器人100的多个部分(诸如,例如两个腿120a-b、四个腿120a-d或与臂126组合的两个腿120a-b)的移动。在一些示例中,控制器172被配置为基于对象的控制器,其被设置为执行用于与可交互对象交互的特定行为或行为集合。
41.控制系统170可以被配置为与至少一个传感器系统130和/或机器人100的任何其他系统(例如,感知系统180和/或对象行为系统200)通信。控制系统170使用硬件140执行操作和其他功能。控制器172被配置为基于来自机器人100的系统(例如,感知系统180和/或对象行为系统200)的输入和/或反馈来控制机器人100的移动以穿过环境10。这可以包括机器人100的姿态和/或行为之间的移动。例如,控制器172控制不同的脚步模式、腿模式、身体运动模式和/或视觉系统感测模式。
42.在一些示例中,控制系统170与远程控制器20通信,机器人100的操作者12使用远
程控制器20来控制机器人100。远程控制器20提供用户界面26,其使得机器人100的操作者12能够在距机器人100一定距离(即,远离机器人100)时向机器人100(例如,机器人100的控制系统170)发出命令22。这些命令22可以用于操作机器人100(例如,指示控制系统170执行机器人100的各种程度的控制)和/或从传感器系统130请求关于机器人100的传感器数据134(例如,机器人100的当前状态)。为了提供用户界面26,远程控制器20可以从机器人100的系统(例如,传感器系统130、控制系统170、感知系统180和/或对象行为系统200)接收各种信息。在一些示例中,远程控制器20包括向机器人提供方向控制的装置(例如,利用操纵杆、方向垫或触摸屏控件)和在用户界面26处向操作者12提供视觉反馈的显示器24。显示器24可以包括视口窗口,其将传感器数据134或传感器数据134的某种修改形式描绘为视觉馈送(例如,相机馈送)。在一些实施方式中,显示器24描绘了由感知系统180生成的一个或多个地图182,使得操作者12可以理解机器人100所在的环境10并允许操作者12基于在地图182中发现的信息提供命令22。显示器24还可以用作图形用户界面,其使得操作者12能够生成用于机器人100的命令22。为了帮助生成这样的命令22,远程控制器20可以包括按钮或其他触摸功能,以从操作者12接收选择输入或其他形式的输入或反馈。
43.感知系统180是机器人100的系统,其帮助机器人100在具有各种障碍物的地形中更精确地移动。当传感器132收集机器人100周围的空间(即,机器人的环境10)的传感器数据134时,感知系统180使用传感器数据134来形成环境10的一个或多个地图182。一旦感知系统180生成地图182,感知系统180还被配置为向地图182添加信息(例如,通过将传感器数据134投影在预先存在的地图上)和/或从地图182中移除信息。
44.在一些示例中,感知系统180生成定位地图182和/或其衍生物作为一个或多个地图182。如前所述,定位地图182是指使得机器人100能够基于环境10的特征确定其在环境10中的位置的地图182。定位地图182最初可以通过驱动或移动机器人100通过机器人100将操作的环境10并在机器人100被驱动通过环境10时收集传感器数据134来构建。也就是说,机器人100的操作者12可以通过最初驱动机器人100通过环境10来教导机器人100环境10的参数以及如何导航环境10(例如,自主地或半自主地)。在该地图绘制过程期间,感知系统180从收集的传感器数据134确定环境10的特征(例如,几何形状)以用作定位参考点。利用定位参考点,感知系统180生成定位地图182,以向机器人100提供在环境10中的后续活动期间确定其在环境10中的相对位置的手段。换句话说,定位地图182用作由传感器数据134构建的特定环境站点的地图(例如,站点地图),该传感器数据134具有使机器人100能够在空间上理解其在站点上的位置的优先特征。因此,当机器人100随后在环境10中四处移动时,定位地图182允许机器人100识别一个或多个特征,以便情境化其位置(例如,相对于环境10中的其他特征)。
45.对象行为系统200是机器人100的系统,其被配置为识别机器人100可以与之交互的给定环境10内的对象(即,可交互对象212)。通过执行该识别,表示可交互对象212的交互点202可以被包括在机器人100用于导航环境10的地图182中。因此,机器人100可以基于表示可交互对象212的相应交互点202的位置来导航环境10,诸如以便完成需要机器人100导航到一个或多个可交互对象212的任务。机器人100可以自主地导航通过环境10,或者机器人可以由机器人100的操作者12控制或半自主地控制。例如,操作者12操作远程控制器20,并且在控制器20的显示器上呈现定位地图182和/或可交互对象212的视觉表示,用于控制
机器人100和/或为机器人100创作一系列命令。
46.因此,当机器人100在环境10中四处移动时,机器人100的操作者12可以查看真实世界对象(例如,在远程控制器20的显示器上)作为操作者12可以利用机器人100的特定行为222设置的可选择选项。在这方面,对象行为系统200通过通知操作者12对象行为系统200知道哪些对象存在于环境10中是可交互的,来提供关于环境10中的对象创作机器人行为222的直观方法。此外,由于对象行为系统200可以将一个或多个预配置的行为222与特定的可交互对象212相关联,因此操作者12能够选择预配置的行为222,以便当可交互对象212被呈现给操作者12时(例如,当机器人100靠近可交互对象212时),使机器人100执行这种行为222。附加地或替代地,因为地图182(例如,定位地图182)填充有交互点202,所以操作者12不一定必须将机器人100驱动到期望的交互点202,以便远程控制器20的显示器24描绘与交互点202相对应的可交互对象212的可选择行为222。相反,操作者12可以查看填充有交互点202的地图182(或其某个部分),选择感兴趣的交互点202,并且在不将机器人100驱动到任何地方的情况下,相对于该交互点202创作行为222。另外,操作者12可能不需要在机器人100导航环境10时主动监视机器人100以在每个交互点202处选择行为222,而是操作者12可以为机器人100生成任务,该任务包括操作机器人100以执行一个或多个行为222,并且机器人100可以在其履行任务时自主或半自主地操作。换句话说,这允许操作者12为机器人100生成任务,该任务包括来自一般地图视图的一个或多个行为222,而不需要主动监督由机器人100捕获的传感器数据134以及在任务过程中在机器人100遇到的交互点202处选择行为222。例如,操作者12可以是操作机器人100的机队的工厂管理者,其中每个机器人100从地图182配置有交互点202以在工厂环境10中执行特定任务。利用这种方法,可以更无缝地计划机器人100的任务,而不需要复杂的机器人行为编码专业知识。
47.参考图2a至图2c,对象行为系统200包括检测器210和生成器220。检测器210被配置为接收已经由传感器系统130的一个或多个传感器132捕获的环境10的传感器数据134。这里,机器人100可以在机器人100最初第一次地图绘制环境10(即,构建初始站点地图182)的同时(或之后)收集提供给对象行为系统200的传感器数据134。在接收到传感器数据134(例如,图像数据)后,检测器210基于传感器数据134检测环境10中的一或多个对象214。换句话说,检测器210分析传感器数据134以确定传感器数据134何时描绘对象214存在于环境10中。
48.在一些实施方式中,诸如图2b,当检测器210从传感器数据134(例如,图像数据)识别对象214时,检测器210可以查询库216或某种形式的数据库,其包括机器人100的可交互对象212的预填充列表。换句话说,机器人100的制造商、机器人100的提供商或一些其他实体可以预先填充机器人100知道如何与其交互或能够与其交互的对象(即,可交互对象212)的库216。附加地或替代地,随着时间的推移,机器人100还可以基于机器人100已经学习或操作者12已经创作的内容来对库216做出贡献。检测器210可以使用几种技术来确定库216中的对象214是否与可交互对象212匹配。在一种方法中,检测器210可以将对象214分类为对象的类型或类别,并且确定对象的类别是否是库216确认已经支持机器人行为222的对象的类别。在另一种方法中,检测器210可以使用传感器数据134(或图像数据134)来匹配存储在库216中的可交互对象212的图像数据。也就是说,检测器210在图像的基础上寻找对象相似性,以确定对象214是否是可交互对象212。当识别的对象214存在于库216中时(即,查询
球阀行为222b中的一个或两个与球阀相关联。
52.行为222的范围可以从简单行为222到复杂行为222。例如,简单行为222可以像指示机器人100拍摄对象的照片(例如,拍摄仪表的照片)一样简单,而更复杂的行为222可以是检查仪表以确保仪表的操作压力在给定容差内。在后者中,行为222可以被部分地创作,但是接收附加的操作者12输入以完成行为222的设置。例如,仪表的行为222可以是“检查压力”,并且操作者12最终确定行为222的界面(例如,远程控制器20的用户界面)可以具有输入机器人100在检查压力时将确认的期望操作范围的字段。在这个意义上,行为222可以是可定制的,以执行诊断以适应操作者12的需要,同时仍然不要求操作者12从头开始创作可定制行为222。
53.在一些配置中,行为222可以是定义机器人100相对于可交互对象212的相应定位的导航行为222。例如,指示机器人100拍摄对象212的照片的行为222可以通知机器人100机器人100应该相对于对象212采取什么姿态或姿态,以生成导致对象212的照片的传感器数据134。为了说明,为了捕获机器人100的地面附近的压力计的图片,行为222通知机器人100将机器人100的主体110的前端朝向地板俯仰以捕获地板附近的压力计的图片。在另一示例中,行为222可以包括用于生成行为222的多个移动或操纵。例如,当行为222是打开环境10中的门时,行为222可以执行以下操纵中的一些或全部:首先将机器人100相对于门定位在特定姿态;将机器人100的臂126移动到门的把手;用臂126的手128h抓住门的把手;推或拉开门;以及移动通过打开的门。
54.在一些示例中,生成器220被配置为将每个潜在行为222与可交互对象212相关联或创作。在这方面,生成器220可以在地图182上的交互点202处将所有可能的行为222与可交互对象212相关联。这为操作者12提供了为环境10中存在的特定交互点202或特定可交互对象212选择任何可用的交互行为222的机会,以便运行已经由生成器220创作的特定行为222。
55.当生成器220将行为222与可交互对象212相关联时,生成器220和/或操作者12的用户界面26生成与可交互对象212相关联的每个行为222的图形表示。也就是说,例如,当在用于机器人100的远程控制器20的显示器24上示出可交互对象212时,注释可交互对象212以描绘对于该可交互对象212可能的行为222的一个或多个图形表示。然后,操作者12可以通过选择所显示的行为222的图形表示来选择机器人100对该可交互对象212执行的行为222。在一些示例中,行为222的图形表示可以像概述行为222的文本框(例如,“打开球阀”)一样简单,或者像行为222的图形表示或行为222的预览一样更复杂。当可交互对象212包括多于一个行为222时,行为222的图形表示可以被显示为用于操作者12的一个或多个可选择菜单。
56.在一些实施方式中,对象行为系统200的对象检测(例如,由检测器210)和行为关联(例如,由生成器220)的过程自动发生。作为示例,当操作者12指示或命令机器人100运行使用定位地图182在环境10周围驱动机器人100的例程时,可以发生这些自动化过程。在另一示例中,当机器人100最初生成定位地图182时,这些过程自动发生。也就是说,当机器人100对环境10执行地图绘制过程(即,构建站点地图182)时,对象行为系统200自动生成环境10的交互点202,其中交互点202对应于用交互行为222加载(即,创作)的可交互对象212。在这方面,地图绘制过程和对象行为系统200的过程的并行操作使操作者12在地图绘制过程
的后续步骤中设置环境10中的所有潜在行为222的需要最小化。此外,当对象行为系统200的这些过程自动发生时,操作者12可能不需要执行任何附加输入来提示对象检测或行为关联。换句话说,对象行为系统200被配置为使得当机器人100感知传感器数据134中的可交互对象212时,可交互对象212可以将其自身添加到地图182(例如,定位地图182)。尽管操作者12可以手动插入这些过程,但是这种自动化简化了建立可交互对象212及其相应的行为222,允许操作者12专注于为机器人100生成涉及可交互对象212的任务或任务。
57.除了操作者12能够从生成器220与可交互对象212相关联的任何预配置行为222中选择之外,操作者12还可以具有关于可交互对象212创作他或她自己的行为222的能力。用户界面26还可以允许操作者12手动地为对象行为系统200未将其标识为可交互对象212的对象创作行为222。在这个意义上,结合用户界面26的对象行为系统200可以灵活地满足操作者12的需要。当操作者12创作他或她自己的行为222时,对象行为系统200可以学习或存储这些行为222以供将来使用或随后提供可交互对象212的可用行为222。在相同的方面,对象行为系统200还可以从对象行为系统200最初未被标识为可交互对象212但操作者12手动创作了行为222的对象中学习新的可交互对象212。
58.图3a至图3e图示了当机器人100移动通过与存储货架相邻的仓库空间的环境10时,机器人100使用对象行为系统200的示例性动作序列。在图3a中,控制仓库的该特定部分的灯的开关盒安装在储存架上。当机器人100在该环境10中沿着储存架移动时,机器人100收集机器人100周围区域的传感器数据134,使得传感器数据134对应于开关盒的图像数据。在图3b中,对象行为系统200根据由机器人100收集的传感器数据134将开关盒标识为检测到的对象214。图3c是图3b的全景图,其描绘了远程控制器20显示用户界面26,用户界面26向操作者12示出了来自在开关盒214处对等的机器人100的一个或多个传感器132的视觉馈送。这里,用户界面26生成实际传感器数据134的增强现实表示,因为用户界面26将图形表示描绘为指示开关盒214是对应于可交互对象212的交互点202的注释。也就是说,对象行为系统200已经确定开关盒214是可交互对象212,并且已经在开关盒214周围生成了具有标签的边界盒,以在远程控制器20的用户界面26处将其传达给操作者12。
59.当操作者12在用户界面26中选择开关盒214时,图3d示出了用户界面26显示行为222、222a-e的菜单作为与开关盒相关联的预配置行为222的图形表示。这些行为222可以包括用于接通开关的第一行为222a、用于关断开关的第二行为222b、用于更一般地致动开关的第三行为222c、用于检查开关的第四行为222d以及第五行为222e或调度功能。操作者12可以在菜单中选择这些行为选项中的任何一个,以便使机器人100执行所选择的行为222。换句话说,操作者12提供指示与操作者12希望机器人100执行的行为222相对应的图形表示的操作者选择16的用户输入指示(例如,触摸),从而使机器人100执行对应的所选择的行为222。在图3e中,操作者12已经选择第五行为222e作为第一操作者选择16、16a来调度行为222。这里,通过使调度行为222e的图形表示变灰来示出第一选择16a。由于这是调度功能,因此操作者12可以选择调度选项,然后选择操作者12想要为开关盒214调度的另一行为222。在该示例中,选择调度图标在用户界面26中生成弹出菜单,该弹出菜单包括允许操作者12调度行为222的选项和/或可配置参数。
60.在图3e中,操作者12选择调度“打开”行为222a作为第二选择14b。然后,弹出式调度器可以允许操作者12配置用于操作者12何时想要调度“打开”行为222a的参数。操作者12
可能希望机器人100在特定班次开始时打开仓库的该区段的灯,并将行为222a调度为在班次开始之前的时间发生,使得灯打开。作为另一示例,当配置行为222时,操作者12可以将所选择的行为222添加到已经存在的例程。例如,图3e中的调度器示出了机器人100已经存在两个例程,并且使得操作者12能够选择这些例程中的一个或两个(例如,所有例程)以将“打开”行为222a添加到这些现有例程或任务。
61.参考图3f,远程控制器20的用户界面26描绘了已经利用交互点202、202a-e修改的定位地图182,交互点202、202a-e是地图绘制的环境10中的可交互对象212的图形表示。该图示出了操作者12可以在全局框架中查看由对象行为系统200检测到的对象。这里,全局框架被描绘为二维图像,但是定位地图182也可以是投影到二维空间上的地点或环境10的三维模型,使得操作者12查看例如类似于建筑物信息模型(bim)的建筑物模型或三维模型。在该全局框架中,与用户界面26的其他窗口一样,操作者12可以创建指示机器人100执行涉及可交互对象212的一些行为222的任务。在该示例中,用户界面26包括具有对应于交互点202的所标识的可交互对象212的列表的窗口,使得操作者12能够使用地图182滚动通过站点并选择交互点202和/或可交互对象212以创作用于一个或多个任务的行为222。图3f还示出了操作者12可以基于可交互对象212或交互点202而不是或结合可能存在于地图182中的路径点来配置机器人100的移动。例如,图3f示出了机器人100从对接站202e、212e移动通过门202b、212b以致动第一开关盒202a、212a,然后通过门202b、212b向后移动以打开第二开关盒202d、212d,以便在返回到对接站202e、212e之前有光打开球阀202d、212d的任务。这里,机器人100在该任务期间的移动被示出为具有指示机器人100的移动方向的箭头的分段线路径。附加地或替代地,利用来自地图182的全局视图,操作者12还可以在机器人100执行任务时监视机器人100,因为机器人100可以被配置为提供用于执行行为222的状态反馈。例如,交互点202可以指示机器人100是否已经在该交互点202处执行了创作行为222。在一些示例中,当机器人100尚未执行为该交互点202创作的(一个或多个)行为222时,交互点202是一种颜色(例如,红色),并且当机器人100已经成功执行为该交互点202创作的(一个或多个)行为222时,交互点202是另一种颜色(例如,绿色)。在类似的意义上,如果机器人100未能执行行为222,或者行为222包括向操作者12提供反馈,则机器人100可以提供一些反馈或指示。例如,如果机器人100要执行其检查压力计处于特定压力范围内的行为222,则机器人100可以经由用户界面26向操作者12中继或指示检查结果。
62.图4是用于为机器人100配置基于对象的控制的方法400的示例操作布置的流程图。在操作402处,方法400接收机器人100周围的环境10的传感器数据134,其中传感器数据134由机器人100的一个或多个传感器132捕获。在操作404处,方法400使用所接收的传感器数据134来检测环境10中的一个或多个对象214。在操作406处,对于每个检测到的对象214,方法400执行两个子操作406a-b。在操作406a处,方法400创建交互行为222,交互行为222指示机器人100能够相对于对应的检测到的对象214执行的行为222。在操作406b处,方法400生成可由机器人100的操作者12选择的交互行为222的图形表示。在操作408处,方法400增强环境10的定位地图182以包括每个检测到的对象214的相应的图形表示。
63.图5是可以用于实现本文档中描述的系统(例如,传感器系统130、控制系统170、感知系统180、计算系统140、远程系统160、远程控制器20和/或用户界面26和/或对象行为系统200)和方法(例如,方法400)的示例计算设备500的示意图。计算设备500旨在表示各种形
式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里示出的组件、它们的连接和关系以及它们的功能仅意在是示例性的,并不意在限制本文档中描述和/或要求保护的发明的实施方式。
64.计算设备500包括处理器510(例如,数据处理硬件)、存储器520(例如,存储器硬件)、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540、以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其他方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上的指令,以在外部输入/输出设备(诸如耦合到高速接口540的显示器580)上显示图形用户界面(gui)的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备500,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
65.存储器520将信息非暂时性地存储在计算设备500内。存储器520可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器520可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备500使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
66.存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,诸如上面描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器520、存储设备530或处理器510上的存储器。
67.高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器540耦合到存储器520、显示器580(例如,通过图形处理器或加速器),并且耦合到高速扩展端口550,高速扩展端口550可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口590可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪或诸如交换机或路由器的联网设备。
68.计算设备500可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器500a或在一组这样的服务器500a中多次实现,实现为膝上型计算机500b,实现为机架式服务器系统500c的一部分,实现为机器人100的组件,或者实现为远程控制器20的组件。
69.本文描述的系统和技术的各种实施方式可以在数字电子和/或光学电路、集成电
路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
70.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
71.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))执行。作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从其接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
72.为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏)以及可选地键盘和指示设备(例如,鼠标或轨迹球),用户可以通过该键盘和指示设备向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户的客户端设备上的网络浏览器。
73.已经描述了许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在所附权利要求的范围内。
技术特征:
1.一种计算机实现的方法(400),当由机器人(100)的数据处理硬件(142、162、510)执行时,使所述数据处理硬件(142、162、510)执行操作,所述操作包括:接收关于所述机器人(100)的环境(10)的传感器数据(134),所述传感器数据(134)由所述机器人(100)的一个或多个传感器(132、132a-n)捕获;使用所接收的传感器数据(134)检测所述环境(10)中的一个或多个对象(212、214);对于每个检测到的对象(212、214),创作指示所述机器人(100)能够相对于对应的检测到的对象(212、214)执行的行为(222)的交互行为(222);以及增强所述环境(10)的定位地图(182)以反映每个检测到的对象(212,214)的相应的交互行为(222)。2.根据权利要求1所述的方法(400),其中:所述操作还包括:对于每个检测到的对象(212、214),生成能够由所述机器人(100)的操作者(12)选择的交互行为(222)的图形表示(202);以及增强所述环境(10)的定位地图(182)包括增强所述环境(10)的定位地图(182)以反映每个检测到的对象(212、214)的交互行为(222)的图形表示(202)。3.根据权利要求2所述的方法(400),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时,在视口(24)中显示与相应的检测到的对象(212、214)相关联的相应的图形表示(202)。4.根据权利要求3所述的方法(400),其中,所述视口(24)显示来自所述机器人(100)的一个或多个传感器(132、132a-n)的视觉馈送。5.根据权利要求1至4中任一项所述的方法(400),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时:接收指示对与相应的检测到的对象(212、214)相关联的相应的交互行为(222)的选择(16)的操作者输入指示;以及操作所述机器人(100)以执行所述相应的交互行为(222)。6.根据权利要求2-5中任一项所述的方法(400),其中,所述图形表示(202)包括与对应的检测到的对象(212、214)相关联的交互行为(222)的菜单,所述交互行为(222)能够由所述机器人(100)的操作者(12)选择。7.根据权利要求1至6中任一项所述的方法(400),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时:接收对与相应的检测到的对象(212、214)相关联的相应的交互行为(222)的选择(16);以及操作所述机器人(100)以执行所述相应的交互行为(222)。8.根据权利要求1-7中任一项所述的方法(400),其中,使用所接收的传感器数据(134)检测所述环境(10)中的一个或多个对象(212、214)包括使用被配置为识别所述机器人(100)能够与之交互的对象(212)的对象检测模型(218)来标识所述一个或多个对象(212、214)。9.根据权利要求1-8中任一项所述的方法(400),其中,所述交互行为(222)对应于导航行为(222),所述导航行为指示所述机器人(100)应当如何基于相应对象(212、214)在所述环境(10)中导航。
10.根据权利要求9所述的方法(400),其中,所述导航行为(222)定义所述机器人(100)相对于相应对象(212、214)的相应定位。11.根据权利要求1至10中任一项所述的方法(400),其中,所述交互行为(222)包括所述机器人(100)在和与所述交互行为(222)相关联的相应对象(212、214)交互时应当采取的交互姿态(p)。12.根据权利要求1-11中任一项所述的方法(400),其中,创作所述交互行为(222)包括从所述机器人(100)的操作者(12)接收用于所述对应的检测到的对象(212、214)的手动创作的行为(222)。13.根据权利要求1-12中任一项所述的方法(400),其中,创作所述交互行为(222)包括:将所述对应的检测到的对象(212、214)与来自所述机器人(100)能够与之交互的对象(212)的列表(216)的对象(212)匹配;以及从与所述对应的检测到的对象(212)匹配的对象(212)的列表(216)中选择与所述对象(212)相关联的一个或多个预配置的交互行为(222)。14.根据权利要求1-13中任一项所述的方法(400),其中,所述操作还包括使用由所述机器人(100)的一个或多个传感器(132、132a-n)捕获的环境(10)的传感器数据(134)来生成所述定位地图(182),所述定位地图(182)包括所述环境(10)的特征作为定位参考点,以在所述机器人(100)在所述环境(10)周围移动时在所述环境(10)内定位所述机器人(100)。15.一种机器人(100),包括:主体(110);传感器系统(130),其至少部分地设置在所述主体(110)上并且包括一个或多个传感器(132、132a-n);数据处理硬件(142、162、510),其与所述传感器系统(130)通信;以及存储器硬件(144、164、520),其与所述数据处理硬件(142、162、510)通信,所述存储器硬件(144、164、520)存储指令,所述指令当在所述数据处理硬件(142、162、510)上执行时使所述数据处理硬件(142、162、510)执行操作,所述操作包括:接收关于所述机器人(100)的环境(10)的传感器数据(134),所述传感器数据(134)由所述机器人(100)的一个或多个传感器(132、132a-n)捕获;使用所接收的传感器数据(134)检测所述环境(10)中的一个或多个对象(212、214);对于每个检测到的对象(212、214),创作指示所述机器人(100)能够相对于对应的检测到的对象(212、214)执行的行为(222)的交互行为(222);以及增强所述环境(10)的定位地图(182)以反映每个检测到的对象(212,214)的相应的交互行为(222)。16.根据权利要求15所述的机器人(100),其中:所述操作还包括:对于每个检测到的对象(212、214),生成能够由所述机器人(100)的操作者(12)选择的交互行为(222)的图形表示(202);以及增强所述环境(10)的定位地图(182)包括增强所述环境(10)的定位地图(182)以反映每个检测到的对象(212、214)的交互行为(222)的图形表示(202)。
17.根据权利要求16所述的机器人(100),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时,在视口(24)中显示与相应的检测到的对象(212、214)相关联的相应的图形表示(202)。18.根据权利要求17所述的机器人(100),其中,所述视口(24)显示来自所述机器人(100)的一个或多个传感器(132、132a-n)的视觉馈送。19.根据权利要求15-18中任一项所述的机器人(100),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时:接收指示对与相应的检测到的对象(212、214)相关联的相应的交互行为(222)的选择(16)的操作者输入指示;以及操作所述机器人(100)以执行所述相应的交互行为(222)。20.根据权利要求16-19中任一项所述的机器人(100),其中,所述图形表示(202)包括与对应的检测到的对象(212、214)相关联的交互行为(222)的菜单,所述交互行为(222)能够由所述机器人(100)的操作者(12)选择。21.根据权利要求15-20中任一项所述的机器人(100),其中,所述操作还包括:当所述机器人(100)在导航所述环境(10)时遇到相应的检测到的对象(212、214)时:接收对与相应的检测到的对象(212、214)相关联的相应的交互行为(222)的选择(16);以及操作所述机器人(100)以执行所述相应的交互行为(222)。22.根据权利要求15-21中任一项所述的机器人(100),其中,使用所接收的传感器数据(134)检测所述环境(10)中的一个或多个对象(212、214)包括使用被配置为识别所述机器人(100)能够与之交互的对象(212)的对象检测模型(218)来标识所述一个或多个对象(212、214)。23.根据权利要求15-22中任一项所述的机器人(100),其中,所述交互行为(222)对应于导航行为(222),所述导航行为(222)指示所述机器人(100)应该如何基于相应对象(212、214)在所述环境(10)中导航。24.根据权利要求23所述的机器人(100),其中,所述导航行为(222)定义所述机器人(100)相对于相应对象(212、214)的相应定位。25.根据权利要求15-24中任一项所述的机器人(100),其中,所述交互行为(222)包括所述机器人(100)在和与所述交互行为(222)相关联的相应对象(212、214)交互时应当采取的交互姿态(p)。26.根据权利要求15-25中任一项所述的机器人(100),其中,创作所述交互行为(222)包括从所述机器人(100)的操作者(12)接收用于所述对应的检测到的对象(212、214)的手动创作的行为(222)。27.根据权利要求15-26中任一项所述的机器人(100),其中,创作所述交互行为(222)包括:将所述对应的检测到的对象(212、214)与来自所述机器人(100)能够与之交互的对象(212)的列表(216)的对象(212)匹配;以及从与所述对应的检测到的对象(212)匹配的对象(212)的列表(216)中选择与所述对象(212)相关联的一个或多个预配置的交互行为(222)。
28.根据权利要求15-27中任一项所述的机器人(100),其中,所述操作还包括使用由所述机器人(100)的一个或多个传感器(132、132a-n)捕获的环境(10)的传感器数据(134)来生成所述定位地图(182),所述定位地图(182)包括所述环境(10)的特征作为定位参考点,以在所述机器人(100)在所述环境(10)周围移动时在所述环境(10)内定位所述机器人(100)。
技术总结
一种方法(400)包括接收关于机器人(100)的环境(10)的传感器数据(134)。传感器数据由机器人的一个或多个传感器(132、132a-n)捕获。该方法包括使用接收到的传感器数据检测环境中的一个或多个对象(212、214)。该方法包括对于每个检测到的对象,创作指示机器人能够相对于对应的检测到的对象执行的行为(222)的交互行为(222)。该方法还包括增强环境的定位地图(182)以反映每个检测到的对象的相应的交互行为。为。为。
技术研发人员:M
受保护的技术使用者:波士顿动力公司
技术研发日:2022.01.25
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:二氨基三嗪化合物的制作方法 下一篇:混凝土配制及配方优化的制作方法