CN116830061A - 动态站点上的机器人自主的语义模型 - Google Patents

动态站点上的机器人自主的语义模型 Download PDF

Info

Publication number
CN116830061A
CN116830061A CN202280012151.1A CN202280012151A CN116830061A CN 116830061 A CN116830061 A CN 116830061A CN 202280012151 A CN202280012151 A CN 202280012151A CN 116830061 A CN116830061 A CN 116830061A
Authority
CN
China
Prior art keywords
robot
building environment
positioning
environment
bim
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280012151.1A
Other languages
English (en)
Inventor
M·达席尔瓦
D·乔纳克
M·克林根史密斯
S·塞弗尔特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boston Dynamics Inc
Original Assignee
Boston Dynamics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Boston Dynamics Inc filed Critical Boston Dynamics Inc
Publication of CN116830061A publication Critical patent/CN116830061A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Manipulator (AREA)

Abstract

一种方法(300)包括当机器人(100)穿过建筑环境(10)时,接收由机器人的传感器(132、132a‑n)捕获的传感器数据(134)。该方法包括接收用于环境的建筑信息模型(BIM)(30),该建筑信息模型包括标识环境内的永久对象(PO)的语义信息(32)。该方法包括为环境的定位地图(202)生成定位候选(212、212a‑n)。每个定位候选(212)对应于由传感器数据标识的环境的特征,并且表示潜在的定位参考点(222)。定位地图被配置为在环境内定位机器人。对于每个定位候选,该方法包括确定对应于相应定位候选的相应特征是否是环境中的永久对象(PO),并且生成相应定位候选作为用于机器人的定位地图中的定位参考点(222)。

Description

动态站点上的机器人自主的语义模型
技术领域
本公开涉及动态站点(site)上的机器人自主的语义模型。
背景技术
机器人通常被定义为可重新编程的多功能操纵器,其被设计成通过可变的编程运动来移动材料、零件、工具或专用设备,以执行任务。机器人可以是物理锚定的操纵器(例如,工业机器人手臂)、在环境中移动的移动机器人(例如,腿、轮子或基于牵引的机构),或者操纵器和移动机器人的某种组合。机器人用于各种行业,包括例如制造、运输、危险环境、勘探和医疗保健。因此,机器人利用协调运动穿过有障碍物的环境的能力为这些行业提供了额外的益处。
发明内容
本公开的一方面提供了一种计算机实现的方法,该方法在由数据处理硬件执行时使数据处理硬件执行操作。所述操作包括当机器人穿过建筑环境时,接收由机器人的一个或多个传感器捕获的传感器数据。所述操作包括接收用于建筑环境的建筑信息模型(BIM)。该BIM包括标识建筑环境内的一个或多个永久对象的语义信息。所述操作包括为建筑环境的定位地图生成多个定位候选。多个定位候选中的每个定位候选对应于由传感器数据标识的建筑环境的特征,并且表示用于机器人的潜在定位参考点。定位地图被配置为当机器人在整个建筑环境中移动时在建筑环境内定位机器人。所述操作包括对于每个定位候选,确定对应于相应定位候选的相应特征是否是由BIM的语义信息标识的建筑环境中的永久对象,并且当对应于相应定位候选的相应特征是由BIM的语义信息标识的建筑环境中的相应永久对象时,生成相应定位候选作为用于机器人的定位地图中的定位参考点。
本公开的方面可以提供一个或多个以下可选特征。在一些实施方式中,定位地图自主地引导机器人通过建筑环境。在一些实施例中,所述操作还包括将建筑环境的定位地图馈送给机器人的感知系统。该感知系统被配置为当机器人导航建筑环境在建筑环境内执行任务时,为机器人执行避障。在一些示例中,BIM还包括调度信息。该调度信息指示新的永久对象将被安装在建筑环境中的时间。在那些示例中,所述操作还包括在新的永久对象被安装在建筑环境中的时间之后,指示机器人为新的永久对象捕获传感器数据,并且基于为安装在建筑环境中的新的永久对象捕获的传感器数据来更新定位地图。在一些实施例中,语义信息包括建筑环境内的对象的描述符,所述操作还包括指示机器人基于建筑环境内的对象的一个或多个描述符来捕获传感器数据。
在一些实施方式中,BIM还包括机器人的非步进区域。该非步进区域指示机器人应该避免步进的区域。在那些实施方式中,操作还包括在定位地图中生成非步进区域,以根据BIM表示机器人的非步进区域。在另外的实施方式中,操作还包括将非步进区域传送给步进规划控制器。该步进规划控制器被配置为当机器人在建筑环境内执行任务时协调机器人的脚步放置。在一些实施例中,所述操作还包括从机器人的操作者接收用于机器人在建筑环境内执行的创作的任务,以及使用定位地图在建筑环境中自主地导航以执行创作的任务。
在一些示例中,所述操作还包括通过确定从由机器人捕获的传感器数据标识的感知对象的位置、标识BIM中对应于从由机器人捕获的传感器数据标识的感知对象的位置的相应位置、以及确定BIM未能指示相应位置处的永久对象,从定位地图中移除非永久对象。在一些实施方式中,机器人包括四个腿。在一些实施例中,BIM包括建筑环境的三维表示。
本公开的另一方面提供了一种机器人。该机器人包括主体、耦合到主体的一个或多个基于运动的结构、至少部分地设置在主体上的传感器系统、与传感器系统通信的数据处理硬件以及与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当所述指令在数据处理硬件上执行时使数据处理硬件执行操作。所述操作包括当机器人穿过建筑环境时,接收由机器人的传感器系统捕获的传感器数据。所述操作包括接收用于建筑环境的建筑信息模型(BIM)。BIM包括标识建筑环境内的一个或多个永久对象的语义信息。所述操作包括为建筑环境的定位地图生成多个定位候选。多个定位候选中的每个定位候选对应于由传感器数据标识的建筑环境的特征,并且表示用于机器人的潜在定位参考点。定位地图被配置为当机器人在整个建筑环境中移动时在建筑环境内定位机器人。所述操作包括对于每个定位候选,确定对应于相应定位候选的相应特征是否是由BIM的语义信息标识的建筑环境中的永久对象,并且当对应于相应定位候选的相应特征是由BIM的语义信息标识的建筑环境中的相应永久对象时,生成相应定位候选作为用于机器人的定位地图中的定位参考点。
本公开的这个方面可以包括以下可选特征中的一个或多个。在一些实施方式中,定位地图自主地引导机器人通过建筑环境。在一些实施例中,所述操作还包括将建筑环境的定位地图馈送给机器人的感知系统。该感知系统被配置为当机器人在建筑环境内执行任务时,为机器人执行避障。在一些示例中,BIM还包括调度信息。调度信息指示新的永久对象将被安装在建筑环境中的时间。在那些示例中,操作还包括指示机器人在新的永久对象被安装在建筑环境中的时间之后为新的永久对象捕获传感器数据,并且基于为安装在建筑环境中的新的永久对象捕获的传感器数据来更新定位地图。在一些实施例中,语义信息包括建筑环境内的对象的描述符,所述操作还包括指示机器人基于建筑环境内的对象的一个或多个描述符来捕获传感器数据。
在一些实施方式中,BIM还包括机器人的非步进区域。非步进区域指示机器人应该避免步进的区域。在那些实施方式中,所述操作还包括在定位地图中生成非步进区域,以根据BIM表示机器人的非步进区域。在另外的实施方式中,所述操作还包括将非步进区域传送给步进规划控制器。步进规划控制器被配置为当机器人在建筑环境内执行任务时协调机器人的脚步放置。在一些实施例中,所述操作还包括从机器人的操作者接收用于机器人在建筑环境内执行的创作的任务,以及使用定位地图在建筑环境中自主地导航以执行创作的任务。
在一些示例中,所述操作还包括通过确定从由机器人捕获的传感器数据标识的感知对象的位置、标识BIM中对应于从由机器人捕获的传感器数据标识的感知对象的位置的相应位置、以及确定BIM未能指示相应位置处的永久对象,从定位地图中移除非永久对象。在一些实施方式中,一个或多个基于移动的结构包括四个腿。在一些实施例中,BIM包括建筑环境的三维表示。
在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。根据说明书和附图以及权利要求书,其他方面、特征和优点将变得显而易见。
附图说明
图1A是能够进行基于对象的机器人控制的示例机器人的透视图。
图1B是图1A的机器人的示例系统的示意图。
图2A至图2D是用于图1B的机器人的示例语义规划器的示意图
图3是使用语义模型用于地图生成的方法的操作的示例布置的流程图。
图4是可用于实现本文描述的系统和方法的示例计算设备的示意图。
不同附图中相同的附图标记指示相同的元件。
具体实施方式
机器人通常部署在动态改变的环境或站点中。动态改变站点是一种环境,其结构或站点内的对象具有某种临时或非永久的性质。动态改变环境的一个常见示例是施工站点。施工站点是一个改变环境,因为施工站点通常包括临时或非永久的对象,诸如工具、工具仓库、机械、材料等。此外,在施工期间,施工站点的结构可能会改变。例如,施工项目可能要求拆除以前存在的墙,或者施工以前不存在的新墙。这些动态改变或随时间的改变可能给被部署来在动态改变站点内执行一些任务的机器人带来问题。
为了让机器人执行一些指定的任务,机器人可能需要依赖精确和/或可靠的定位和导航。当机器人自主或半自主地操作时尤其如此。为了定位和导航的目的,机器人最初可以在地图绘制(map)过程中被教导环境。例如,在地图绘制过程期间,机器人的操作者最初可以驾驶机器人穿过环境,从与机器人相关联的传感器收集传感器数据。在该初始地图绘制过程期间收集的传感器数据(例如,图像数据或点云数据)允许机器人构建被称为定位地图的环境站点图。机器人通过使用传感器数据定义环境内存在的特征来生成定位地图。换句话说,基于传感器数据,机器人标识环境中的定位特征,机器人随后可以将这些定位特征用作定位参考点,以确定机器人在环境中的位置。这种类型的地图绘制过程使机器人能够随后导航环境以执行特定的任务。例如,该站点可以包括机器人用作定位特征的结构支柱。这里,当机器人在环境中移动并收集对应于结构支柱的传感器数据时,由传感器数据捕获的结构支柱相对于机器人的几何形状和定向通知机器人它处于空间中的某个确定位置。例如,对应于结构支柱的传感器数据通知机器人它距离门或存在于站点的其他特征有一段距离。
为了确保可靠的定位和导航,机器人可以对环境内永久且不可能改变的特征执行定位。在某些情况下,如果机器人要对环境内的非永久特征或者有可能动态改变的特征执行定位,那么当这样的特征改变时,机器人的定位地图可能变得不准确。作为与某个施工站点相关的一个示例,如果机器人要生成对应于铲车的定位参考点,并且铲车移动到施工站点上的另一个区域,则机器人可能会失去知道其在地图上的位置的一些能力,因为用于定位的潜在关键特征已经被移除。因此,当机器人将其定位锚定在非永久对象的几何或视觉特征上时,当非永久对象的状态改变时,机器人可能招致其定位可能受损的风险。
虽然人类智能自然能够根据经验标识对象的永久性,但机器人可能不具备同样的能力。相反,为了防止机器人用非永久对象来定位,人类(诸如机器人的操作者)可能必须训练或教导机器人对象是永久的还是非永久的。以这种方式训练机器人可能是一个缓慢而艰巨的过程,尤其是当动态环境可能很大和/或包括大量对象时。简而言之,这种手动训练方法可能需要大量资源。此外,由于非永久对象可能进入或退出改变环境,并且永久对象可能在将来被引入改变环境,所以手动方法可能需要操作者更新机器人在动态环境中已经发生了一些改变。例如,如果建造了墙或安装了供暖、通风和空调(HVAC)系统,即使是以前的永久性特征也可能不再展示相同的几何或视觉特性。在这个示例中,如果发生了这样的改变,机器人可能需要关于该改变修改其定位,或者通过再次驶过该站点(或该站点的某个部分)来生成全新的定位地图。此外,当机器人适应这些改变时,机器人可能还需要更新它已经被编程以在环境中执行的行为或任务。在一个示例场景中,机器人可能先前已经使用房间的角落作为定位特征。这里,当机器人在其路径上移动通过改变环境以执行特定任务时,机器人可能已经使用这种定位特征来导航。如果安装HVAC管道来遮蔽房间的角落,当机器人行进以执行特定任务时,它可能会变得迷路(即,无法找到它在环境中的位置)。在这个意义上,在改变环境内对对象的动态改变可能导致机器人的动作无效。因此,机器人必须被教导动态环境的任何显著改变,这些改变可能影响机器人的行为。
为了解决动态改变环境带来的一些问题,机器人可以利用语义模型。语义模型是站点的虚拟模型,其包含关于支持在该站点发生的施工、制造和/或其他采购活动所需的几何形状和/或数据的语义信息。一般而言,语义模型被创建为共享的知识资源,使得参与将在站点发生的过程(例如,施工、制造和/或其他采购活动)的实体可以一起协作,并且具有将在哪里发生活动以及这些活动的结果是什么的精确知识。语义模型通常是三维(3D)模型,包括模型中包含的对象的地形、空间、几何和其他关系信息。例如,语义模型包括用它们是什么和/或诸如材料成分的其他特性来标记站点的对象的信息。此外,语义模型还可以包括调度信息,以帮助实体协调涉及站点的过程。在这方面,语义模型精确地定义了站点的永久对象,并定义了这些永久对象将出现在站点上的时间和位置。利用调度信息和关于站点上的对象的精确信息,机器人可以使用来自语义模型的该信息(即,语义信息)来避免在站点上操作时的定位和导航问题。当站点是建筑物时,语义模型可以被称为建筑物信息模型(BIM),其包括建筑物信息作为语义信息。回到建筑环境中的HVAC示例,BIM的调度信息可以定义HVAC管道将被安装以在未来的某个特定时间遮蔽房间的角落。机器人可以使用该信息来修改定位地图,以确保房间的角落被移除或者从不被建立为定位参考点。通过使用来自BIM或语义模型的建筑信息,机器人可以将该信息结合到定位和/或导航过程中,而不会加重操作者的负担(例如,当站点发生改变时,不需要操作者更新机器人的定位系统)。
参考图1A和图1B,机器人100包括主体110,主体110具有一个或多个基于运动的结构,诸如耦合到主体110的腿120a-d,其使得机器人100能够在动态改变的环境10(以下称为环境10)中移动。在一些示例中,每个腿120是可铰接结构,使得一个或多个关节J允许腿120的构件122移动。例如,每个腿120包括将腿120的上部构件122、122U耦合到主体110的髋关节JH和将腿120的上部构件122U耦合到腿120的下部构件122L的膝关节JK。尽管图1A描绘了具有四个腿120a-d的四足机器人,但是机器人100可以包括任何数量的腿或基于运动的结构(例如,具有两个腿的双足或人形机器人,或者一个或多个腿的其他布置),其提供了穿过环境10内的地形的手段。
为了穿过地形,每个腿120具有接触地形表面(即,牵引表面)的远端124。换句话说,腿120的远端124是机器人100使用的腿120的端部,以在机器人100的移动期间枢转、站立(plant)或通常提供牵引力。例如,腿120的远端124对应于机器人100的脚。在一些示例中,尽管未示出,但是腿120的远端124包括踝关节JA,使得远端124可相对于腿120的下部构件122L进行关节运动。
在所示的示例中,机器人100包括用作机器人操纵器的臂126。臂126可以被配置为围绕多个自由度移动,以便接合环境10的元件(例如,环境10内的可交互对象)。在一些示例中,臂126包括一个或多个构件128,其中构件128通过关节J耦合,使得臂126可以围绕关节J枢转或旋转。例如,对于一个以上的构件128,臂126可以被配置为延伸或缩回。为了举例说明,图1A描绘了具有三个构件128的臂126,这三个构件对应于下部构件128L、上部构件128U和手构件128H(例如,也称为末端效应器(end-effector)128H)。这里,下部构件128L可以围绕位于主体110附近的第一臂关节JA1旋转或枢转(例如,臂126连接到机器人100的主体110的位置)。下部构件128L在第二臂关节JA2处耦合到上部构件128U,并且上部构件128U在第三臂关节JA3处耦合到手构件128H。在一些示例中,诸如图1A,手构件128H或末端效应器128H是机械抓取器,其包括一个或多个可移动的钳口,该钳口被配置为执行对环境10内的元件的不同类型的抓取。在所示的示例中,末端效应器128H包括固定的第一钳口和可移动的第二钳口,其通过将对象夹紧在钳口之间来抓取对象。可移动钳口被配置为相对于固定钳口移动,以便在抓取器的打开位置和抓取器的关闭位置(例如,围绕对象关闭)之间移动。在一些实施方式中,臂126另外包括第四关节JA4。第四关节JA4可位于下部构件128L与上部构件128U的耦合处附近,并用于允许上部构件128U相对于下部构件128L扭曲或旋转。换句话说,第四关节JA4可以起到与第三关节JA3或邻近手部构件128H的臂126的腕关节类似的扭转关节的作用。例如,作为扭转关节,在关节J处耦合的一个构件可以相对于在关节J处耦合的另一个构件移动或旋转(例如,在扭转接头处耦合的第一构件是固定的,而在扭转接头处耦合的第二构件旋转)。在一些实施方式中,臂126在机器人100的主体110上的插座处连接到机器人100。在一些配置中,插座被配置为连接器,使得臂126可以根据臂126是否需要操作而附接到机器人100或从机器人100分离。
机器人100具有沿着重力方向的垂直重力轴(例如,示出为Z方向轴AZ)和质心CM,质心CM是对应于机器人100的所有部件的平均位置的位置,在该位置,部件根据它们的质量被加权(即,机器人100的分布质量的加权相对位置总和为零的点)。机器人100还具有基于相对于垂直重力轴AZ(即,相对于重力的固定参考系)的CM的姿态P,以定义机器人100采取的特定姿势或态势。机器人100的姿势可以由机器人100在空间中的定向或角度位置来定义。腿120相对于主体110的移动改变了机器人100的姿态P(即,机器人CM的位置和机器人100的姿势或定向的组合)。这里,高度通常指沿着z方向(例如,沿着z方向轴AZ)的距离。机器人100的矢状面对应于在y方向轴AY和z方向轴AZ的方向上延伸的Y-Z平面。换句话说,矢状面将机器人100分成左侧和右侧。通常垂直于矢状平面,地平面(也称为横向平面)通过在x方向轴AX和y方向轴AY的方向上延伸而跨越X-Y平面。地平面是指机器人100的腿120的远端124可以生成牵引力以帮助机器人100在环境10中移动的地面14。机器人100的另一个解剖平面是横跨机器人100的主体110延伸的正面平面(例如,从具有第一个腿120a的机器人100的左侧到具有第二个腿120b的机器人100的右侧)。前平面通过在x方向轴AX和z方向轴AZ的方向上延伸而跨越X-Z平面。
为了在环境10周围操纵或使用臂126执行任务,机器人100包括具有一个或多个传感器132、132a-n的传感器系统130(也称为视觉系统)。例如,图1A示出了安装在机器人100头部的第一传感器132、132a(即,靠近机器人100邻近前腿120a-b的前部),安装在机器人100的第二个腿120b的臀部附近的第二传感器132、132b,安装在机器人100的主体110一侧的传感器132中的一个的第三传感器132、132c,安装在机器人100的第四个腿120d的臀部附近的第四传感器132、132d,以及安装在机器人100的臂126的末端效应器128H处或附近的第五传感器132、132e。传感器132可以包括视觉/图像传感器、惯性传感器(例如,惯性测量单元(IMU))、力传感器和/或运动学传感器。传感器132的一些示例包括相机,诸如立体相机、飞行时间(TOF)传感器、扫描光检测和测距(LIDAR)传感器或扫描激光检测和测距(LIDAR)传感器。在一些示例中,传感器132具有定义对应于传感器132的感测范围或区域的对应视场Fv。例如,图1A描绘了机器人100的视场FV。每个传感器132可以是可枢转的和/或可旋转的,使得传感器132可以例如围绕一个或多个轴(例如,相对于地平面的x轴、y轴或z轴)改变视场FV。在一些示例中,多个传感器132可以聚集在一起(例如,类似于第一传感器132a),以拼接比任何单个传感器132更大的视场FV。随着传感器132放置在机器人100周围,传感器系统130可以具有机器人100周围的360度视图或接近360度视图。
当利用传感器132测量视场FV时,传感器系统130生成对应于视场FV的传感器数据134(例如,图像数据)。传感器系统130可以利用安装在机器人100的主体110上或附近的传感器132(例如,传感器132a、132b)来生成视场Fv。传感器系统130可以附加地和/或替代地利用安装在臂126的末端效应器128H处或附近的传感器132(例如,传感器132c)来生成视场Fv。一个或多个传感器132可以捕获传感器数据134,传感器数据134定义了机器人100周围的环境10内的区域的三维点云。在一些示例中,传感器数据134是对应于由三维体积图像传感器132生成的三维体积点云的图像数据。附加地或替代地,当机器人100在环境10周围机动操纵时,传感器系统130收集机器人100的姿态数据,该姿态数据包括惯性测量数据(例如,由IMU测量)。在一些示例中,姿态数据包括关于机器人100的运动学数据和/或定向数据,例如,关于机器人100的腿120或臂126的关节J或其他部分的运动学数据和/或定向数据。利用传感器数据134,机器人100的各种系统可以使用传感器数据134来定义机器人100(例如,机器人100的运动学)的当前状态和/或机器人100周围的环境10的当前状态。换句话说,传感器系统130可以将来自一个或多个传感器132的传感器数据134传送到机器人100的任何其他系统,以便辅助该系统的功能。
在一些实施方式中,传感器系统130包括耦合到关节J的传感器132。此外,这些传感器132可以耦合到操作机器人100的关节J的马达M(例如,传感器132、132b-d)。这里,这些传感器132以基于关节的传感器数据134的形式生成关节动态。作为基于关节的传感器数据134收集的关节动态可包括关节角度(例如,上部构件122U相对于下部构件122L或手部构件126H相对于臂126或机器人100的另一构件)、关节速度(例如,关节角速度或关节角加速度)和/或在关节J处经受的力(也称为关节力)。由一个或多个传感器132生成的基于关节的传感器数据可以是原始传感器数据、被进一步处理以形成不同类型的关节动态的数据,或者两者的某种组合。例如,传感器132测量关节位置(或耦合在关节J处的构件122的位置),并且机器人100的系统执行进一步的处理以从位置数据导出速度和/或加速度。在其他示例中,传感器132被配置为直接测量速度和/或加速度。
当传感器系统130收集传感器数据134时,计算系统140存储、处理和/或将传感器数据134传送到机器人100的各个系统(例如,控制系统170、感知系统180、语义规划器200和/或远程控制器20)。为了执行与传感器数据134相关的计算任务,机器人100的计算系统140包括数据处理硬件142和存储器硬件144。数据处理硬件142被配置为执行存储在存储器硬件144中的指令,以执行与机器人100的活动(例如,移动和/或基于移动的活动)相关的计算任务。一般而言,计算系统140是指数据处理硬件142和/或存储器硬件144的一个或多个位置。
在一些示例中,计算系统140是位于机器人100上的本地系统。当位于机器人100上时,计算系统140可以是集中式的(例如,在机器人100上的单个位置/区域,例如,机器人100的主体110)、分散式的(例如,位于机器人100周围的各个位置),或者两者的混合组合(例如,包括大多数集中式硬件和少数分散式硬件)。为了说明一些差异,分散式计算系统140可以允许处理发生在活动位置(例如,在移动腿120的关节的马达处),而集中式计算系统140可以允许中央处理中枢与位于机器人100上不同位置处的系统通信(例如,与移动腿120的关节的马达通信)。
附加地或替代地,计算系统140包括远离机器人100的计算资源。例如,计算系统140经由网络150与远程系统160(例如,远程服务器或基于云的环境)通信。非常类似于计算系统140,远程系统160包括远程计算资源,诸如远程数据处理硬件162和远程存储器硬件164。这里,传感器数据134或其他经处理的数据(例如,由计算系统140本地处理的数据)可以存储在远程系统160中,并且可以由计算系统140访问。在另外的示例中,计算系统140被配置为利用远程资源162、164作为计算资源142、144的扩展,使得计算系统140的资源可以驻留在远程系统160的资源上。
在一些实施方式中,如图1A和图1B所示,机器人100包括控制系统170和感知系统180。感知系统180被配置为从传感器系统130接收传感器数据134,并处理传感器数据134以生成地图182。利用由感知系统180生成的地图182,感知系统180可以将地图182传送给控制系统170,以便为机器人100执行受控动作,诸如在环境10周围移动机器人100(例如,执行特定任务)。在一些示例中,通过使感知系统180与控制系统170分离但仍与之通信,控制系统170的处理集中于控制机器人100,而感知系统180的处理集中于解释由传感器系统130收集的传感器数据134。例如,这些系统170、180并行执行它们的处理,以确保机器人100在环境10中的准确、流畅的移动。
给定控制器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)的移动。
控制系统170可以被配置为与至少一个传感器系统130和/或机器人100的任何其他系统(例如,感知系统180和/或语义规划器200)通信。控制系统170使用计算系统140执行操作和其他功能。控制器172被配置为基于来自机器人100的系统(例如,感知系统180和/或语义规划器200)的输入和/或反馈来控制机器人100的移动以穿过环境10。这可以包括机器人100的姿态和/或行为之间的移动。例如,控制器172控制不同的脚步模式、腿模式、主体移动模式和/或视觉系统感测模式。
在一些实施方式中,控制系统170包括专用于特定控制目的的专用控制器172。这些专用控制器172可以包括路径生成器174、步进定位器176和/或主体规划器178。参考图1B,路径生成器174被配置为确定机器人100的水平运动。例如,水平运动是指机器人100的平移(即,在X-Y平面中的移动)和/或偏转(即,围绕Z方向轴AZ的旋转)。路径生成器174基于传感器数据134确定机器人100周围的环境10中的障碍物。路径生成器174将障碍物传送给步进定位器176,使得步进定位器176可以标识机器人100的腿120的脚放置(例如,放置机器人100的腿120的远端124的位置)。步进定位器176使用来自感知系统180的输入(例如,地图182)生成脚放置(即,机器人100应该步进的位置)。主体规划器178很像步进定位器176,从感知系统180接收输入(例如,地图182)。一般而言,主体规划器178被配置为调整机器人100的主体110的动态(例如,旋转,诸如俯仰或偏航和/或高度),以成功地在环境10周围移动。
在一些示例中,控制系统170与机器人100的操作者12用来控制机器人100的远程控制器20通信。远程控制器20提供用户界面26,该用户界面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、202,使得操作者12可以理解机器人100所处的环境10,并且允许操作者12基于在地图182、202中找到的信息提供命令22。显示器24还可以用作图形用户界面,其使得操作者12能够为机器人100生成命令22。为了帮助生成这样的命令22,远程控制器20可以包括按钮或其他触摸功能,以从操作者12接收选择输入或其他形式的输入或反馈。
感知系统180是机器人100的系统,其帮助机器人100在具有各种障碍物的地形中更精确地移动。当传感器132收集机器人100周围空间(即,机器人的环境10)的传感器数据134时,感知系统180使用传感器数据134来形成环境10的一个或多个地图182。一旦感知系统180生成地图182,感知系统180还被配置为向地图182添加信息(例如,通过将传感器数据134投影到预先存在的地图上)和/或从地图182移除信息。
在一些示例中,由感知系统180生成的一个或多个地图182可以被认为是动作级别地图L1(例如,与定位级别地图相反)。在动作级别L1操作的地图182是指一个或多个地图182,其基于机器人100当前相对于机器人视野FV中的直接周围环境执行的移动动作来引导机器人100的移动。这些动作级别地图182因此被配置为基于当前传感器数据134通知机器人100如何步进或移动机器人100的主体110。
动作级别地图182、L2的一些示例是地面高度地图182、182a、非步进地图182、182b和主体障碍地图182、182c。地面高度地图182a可以指由感知系统180基于来自体素图的体素生成的地图182。在一些实施方式中,地面高度地图182a起作用使得在地图182的网格内的每个X-Y位置(例如,被指定为地面高度地图182a的单元),地面高度地图182a指定高度。换句话说,地面高度地图182a传达了在水平面中的特定X-Y位置处,机器人100应该以特定高度步进。非步进地图182b可以指定义不允许机器人100步进的区域的地图182,以便告知机器人100何时机器人100可以步进特定的水平位置(即,X-Y平面中的位置)。当感知系统180生成非步进地图182b时,感知系统180可以生成布尔值地图,其中该布尔值地图标识非步进区域和步进区域。非步进区域是指一个或多个单元中存在障碍物的区域,而步进区域是指一个或多个单元中感觉不到障碍物存在的区域。主体障碍地图182c通常确定机器人100的主体110是否可能与机器人100在X-Y平面中的位置重叠。换句话说,主体障碍地图182c为机器人100标识障碍,以指示机器人100通过在环境10中的位置重叠是否存在与附近或同一位置的障碍碰撞或潜在损坏的风险。
语义规划器200是机器人100的系统,其可以被配置为生成(或修改)用于机器人100的定位地图202。如前所述,定位地图202是指使得机器人100能够基于环境10的特征来确定其在环境10中的位置的地图。定位地图202可以通过在机器人100将操作的环境10中驱动或移动机器人100并在机器人100被驱动通过环境10时收集传感器数据134来初始构建。也就是说,机器人100的操作者12可以通过初始地驱动机器人100穿过环境10来教导机器人100环境10的参数以及如何导航环境10(例如,自主或半自主地)。在该地图绘制过程期间,通过从收集的传感器数据134确定环境10中的对象的特征(例如,几何形状)来形成定位地图202,以用作定位参考点222。利用定位参考点222,语义规划器200生成(或修改)定位地图202,以向机器人100提供在环境10中的后续活动期间确定其在环境10中的相对位置的手段。换句话说,定位地图202用作根据传感器数据134构建的特定环境站点的地图(即,站点地图),该传感器数据134具有使机器人100能够在空间上理解其在站点上的位置的优先化特征。代替在由感知系统180生成的地图182的动作级别L1上操作,定位地图202在定位级别L2上操作,以指示机器人100相对于环境10中的特征位于何处,并基于这些特征的关系在导航期间引导机器人100。因此,当机器人100随后在环境10中四处移动时,定位地图202允许机器人100识别一个或多个特征,以便将其位置情境化(例如,相对于环境10中的其他特征)。
为了生成定位地图202,语义规划器200被配置为确认用作相应定位参考点222的特征对应于永久特征,而不是临时或非永久特征。在一些示例中,非永久特征是指在两周或更短时间内经历某种类型的状态改变的对象。然而在一些实施方式中,语义规划器200为特征配置期望的非永久性程度。例如,语义规划器200将永久性阈值从两周改变为一周或三周。在一些配置中,语义规划器200是定位地图202的生成的一部分,使得在每个定位参考点222的生成期间,语义规划器200确定定位参考点222是否对应于永久对象PO或特征。附加地或可替换地,具有定位参考点的定位地图202可以被馈送给语义规划器200,并且语义规划器200检查是否应该从接收到的定位地图202中修改或移除一个或多个定位参考点,因为一个或多个参考点对应于环境10中的非永久对象NPO。
参考图2A至图2D,语义规划器200包括生成器210和定位器220。生成器210被配置为接收由机器人100的一个或多个传感器132捕获的传感器数据134。根据传感器数据134,生成器210为环境10的定位地图202生成多个定位候选212、212a-n。这里,每个定位候选212对应于由传感器数据134标识的环境10的特征或对象,并且代表机器人100的潜在定位参考点。例如,图2B描绘了建筑环境10的视图,其中机器人100正在收集传感器数据134。在该示例中,生成器210标识五个定位候选212、212a-e。第一定位候选212、212a对应于墙的区域。第二定位候选212、212b对应于工具箱。第三定位候选212、212c对应于邻近垂直支柱的垂直管道。第四定位候选212、212d对应于垂直支柱底部的材料卷。第五定位候选212、212e对应于一堆纸板盒。
一旦生成器210生成了多个定位候选212,生成器210就将定位候选212传递给定位器220。定位器220被配置为确定对应于定位候选212的底层特征或对象是环境10中的永久对象PO还是非永久对象NPO。当对应于定位候选212的对象是永久对象PO时,定位器220允许或转换定位候选212为定位地图202中的定位参考点222。当对应于定位候选212的对象是非永久对象NPO时,定位器220防止定位候选212被用作定位地图202中的定位参考点222。
为了确定定位候选对象212的类型,定位器220接收包括语义信息32的语义模型30(例如,BIM)。语义信息32(或建筑信息)包括标识语义模型30内的对象的材料属性或其他描述符的信息。例如,语义信息包括带有标签的注释,该标签指示对象是什么和/或其目的是什么。语义信息32的信息或描述符可以通过对象的类别或种类或类型(例如,灯具)、通过对象的子类别或子类或子类型(例如,作为悬挂式灯具的灯具)、或者通过给予特定对象的特定名称或描述(例如,灭火器)来标识或描述对象。举个示例,这转化为一个被标记为HVAC管道的拉长的矩形,或者被标记为门的墙的一部分。利用语义信息32,例如这些标识注释,定位器220能够确认或验证对象的时间性质。在这方面,定位器220将标记为墙或窗户的对象标识为永久对象PO。
在一些示例中,定位器220推理对应于定位候选212的对象是非永久对象NPO,因为语义模型30(例如,语义信息32)不包括对对应于定位候选212的对象的引用。例如,语义模型30不包括堆叠在模型30内的地板上的任何材料或纸板。因为这些对象没有在语义模型30中建模,所以定位器220确定这些对象本质上是临时的,因为模型30没有反映它们出现在站点上的任何意图。
在一些实施方式中,为了确定对应于定位候选212的对象的永久性,定位器220首先确定对应于定位候选212的感知对象的位置。换句话说,定位器220确定环境10中传感器数据134捕获对应于定位候选212的对象的位置。利用与定位候选212相关的对象的位置,定位器220确定该位置出现在语义模型30中的何处。在一些示例中,操作者12通过指示语义模型30中的特定位置存在于收集的传感器数据134中的何处来辅助该过程(反之亦然)。附加地或替代地,语义规划器200可以执行匹配过程,该匹配过程将来自传感器数据134的特征与语义模型30中的特征进行匹配,以便对齐语义模型30和传感器数据134。在任一方法中,定位器220随后确定语义模型30中匹配来自传感器数据134的感知对象的位置的相应位置是否对应于语义模型30中的永久对象PO。换句话说,定位器220查询语义模型30中对应于来自传感器数据134的感知对象的位置处的语义模型30,以确定语义模型30中该位置处的语义信息32是否指示永久对象PO存在于该位置处的语义模型30中。当语义模型30中该位置处的语义信息32指示永久对象PO的存在时,定位器220使定位候选212能够或转换成定位地图202中的定位参考点222。
参考图2C的示例,当生成器210将五个定位候选212a-e传递给定位器220时,定位器220确定第一定位候选212a对应于永久对象PO,因为对应的语义信息32将第一定位候选212a标识为位于墙的一部分。基于该确定,定位器220在定位地图202中为第一定位候选212a生成第一定位参考点222a。对于第二位候选212b、第四位候选212d和第五定位候选212e,定位器220确定这些候选212对应于非永久对象NPO,因为对应的语义信息32在这些位置没有永久对象PO。对于第三定位候选212c,定位器220确定第三定位候选212c对应于永久对象PO,因为对应的语义信息32将第三定位候选212a标识为位于附接到结构支柱的管道的一部分处。基于该确定,定位器220在定位地图202中为第三定位候选212c生成第二定位参考点222b。
图2D是图2B和图2C的变型,除了图2D从俯视图将环境10的图像描绘为传感器数据134。这里,语义模型30指示只有加粗的外部边缘实际上旨在成为环境10的一部分(即,旨在是永久的)。这意味着由机器人100收集的大部分传感器数据134对应于非永久对象NPO。鉴于此,只有第一定位候选212a和第三定位候选212c对应于永久对象PO。这可以被视为语义模型20覆盖在生成器210处接收的形成定位候选212、212a-e的传感器数据134上。非常类似于图2B和图2C,语义规划器200将不用作定位地图202的定位参考点222的定位候选212包括第二定位候选212b、第四定位候选212d和第五定位候选212e,而语义规划器200将用作定位地图202的定位参考点222的定位候选212是第一定位候选212a和第三定位候选212c。
在一些示例中,定位器220使用来自语义模型30的调度信息来确定对应于定位候选212的对象是否是永久对象PO。例如,语义模型30可以指示在施工项目的第10至12周期间,环境10中将存在脚手架来执行一些施工。在这种情况下,如果定位器220接收到对应于支架的某个部分的定位候选212,则定位器220使用调度信息来确定支架是语义模型30中的非永久对象NPO。这意味着语义模型30实际上可以包括定位器220可以解释为永久PO或非永久NPO的对象模型。
此外,语义规划器200可以使用来自语义模型30的调度信息来指示机器人100捕获安装在环境10中的新的永久对象PO的传感器数据134。在这种情况下,语义规划器200标识来自模型30的调度信息指示新的永久对象PO将被安装在环境10中的时间。基于该调度信息,语义规划器200指示机器人100在调度信息指示将安装新的永久对象PO的时间之后捕获新的永久对象PO的传感器数据134。语义规划器200然后可以基于为新的永久对象PO捕获的传感器数据134更新定位地图202。这里,通过利用调度信息,机器人100可以避免操作者12为捕获环境10中发生的传感器数据更新而进行额外编程的需要。
可选地,语义规划器200可以使用调度信息来临时关闭或阻止定位地图202中的区域。也就是说,调度信息可以指示在特定时间在环境10的特定区域中正在进行施工或制造。当这种情况发生时,语义规划器200可以防止机器人100在特定时间在特定区域使用对应于定位参考点222的路点或导航特征。利用这种技术,语义规划器200可以辅助机器人在动作级别上发生的行为。更具体地,由于动作级别地图182操作来接合或避开机器人100当前在其紧邻环境中感知的对象,语义规划器200可以将定位地图202(例如,在运行时)或来自定位地图202的信息(例如,像被阻挡的区域或暂时封闭的区域)馈送给感知系统180,以向这些动作级别地图182提供进一步的信息,或者生成(或修改)这些动作级别地图182。利用关于环境10的更多信息,当机器人100对其周围环境做出反应时,动作级别地图182更有可能引导机器人100执行安全和准确的动作。
在一些情况下,语义规划器200可以向感知系统180传达关于非永久对象NPO的信息。利用来自语义规划器200的关于非永久对象NPO的信息,感知系统180可以被告知机器人100遇到的对象不太可能是机器人100可能步进到的地形,而更可能是机器人100应该避开的障碍物。在一个更极端的示例中,环境10可以包括一个被临时挖掘以连接下水道的洞。在该示例中,语义模型30的调度信息指示该洞是非永久NPO。尽管语义规划器200可能因此不为该洞生成定位参考点222,但是为了机器人100的利益,语义规划器200可以通知感知系统180该洞将在某个时间存在。即,通过通知感知系统180将存在洞,感知系统180可以配置非步进地图182b以在对应于洞的区域中包括非步进区域。利用该附加的先验信息,感知系统180可以更智能地配置动作级别地图182。
此外,语义规划器200可以将关于非永久对象NPO和永久对象PO的信息传送给控制系统170,例如用于指示或通知机器人100的受控动作。因此,例如,控制系统170可以知道非永久对象NPO和/或永久对象PO在定位地图202内的位置,并基于这些位置执行操作。例如,控制系统170可以接收来自操作者12的命令以捕获指示的类别或种类或类型的对象的传感器数据134,并且基于接收的定位地图202,控制系统170可以诸如经由路径生成器174将机器人100导航到环境10内的每个指示的对象以捕获传感器数据134。
在一些配置中,机器人100在任何初始地图绘制过程之前接收语义模型30。这里,语义规划器200可以使用语义模型30来指定机器人100应该建立定位参考点222的位置。也就是说,语义规划器200可以从语义模型30中选择特征,其中语义规划器200标识永久对象PO。利用这种方法,机器人100然后可以在语义规划器200在环境10中选择的位置收集传感器数据134。附加地或可替换地,语义规划器200可以完全基于语义模型30来生成定位地图202,而无需收集或处理来自环境10的传感器数据134。也就是说,语义规划器200使用语义模型30来模拟机器人通过环境10的初始驱动。语义规划器200可以使用这些技术来减少使用传感器数据134查询语义模型30中的特定位置的需要。
语义规划器200可以利用语义信息32来标识和消除错误的传感器数据134。为了说明,当机器人100收集传感器数据134时,机器人100的系统可以从得到的传感器数据134中标识或导出特征和/或对象。不幸的是,一些传感器数据134可能具有类似于对象或特征的亲和力,而在环境10中实际上并非如此。这种情况经常发生的一个特殊场景是照明。当照明投射阴影时,机器人100可以基于例如传感器数据134中存在的对比度将阴影的边缘或阴影本身解释为对象。利用语义信息32,语义规划器200可以标识一个或多个光源,并且估计或近似在传感器系统130捕获传感器数据134的一天中的特定时间可能从这些光源出现的阴影。例如,语义信息32标识环境10的特定部分是建筑物东侧的一面窗户墙。利用来自语义信息32的这些窗口的尺寸、窗口的定向(例如,在建筑物的东侧)和/或传感器数据134的一天中的时间,语义规划器200可以确定先前标识的特征或对象是阴影。这里,语义规划器200可以跟踪阴影,移除阴影的存在(例如,移除对应于阴影或阴影边缘的传感器数据134),或者指示进一步的处理以忽略阴影及其影响。
图3是使用语义模型30用于地图生成的方法300的操作的示例布置的流程图。在操作302处,当机器人100穿过环境10时,方法300接收由机器人100的一个或多个传感器132捕获的传感器数据134。在操作304处,方法300接收用于环境10的语义模型30,其中语义模型30包括标识环境10内的永久对象PO的语义信息32。在操作306处,方法300为环境10的定位地图202生成多个定位候选212,其中多个定位候选212中的每个定位候选212对应于由传感器数据134标识的环境10的特征,并且表示用于机器人100的潜在定位参考点。这里,定位地图202被配置为当机器人100在整个环境10中移动时在环境10内定位机器人100。在操作308处,方法300执行两个子操作308、308a-b。在操作308a处,方法300确定对应于相应定位候选212的相应特征是否是由语义模型30的语义信息32标识的环境10中的永久对象PO。在操作308b处,当对应于相应定位候选212的相应特征是由语义模型30的语义信息32标识的环境10中的相应永久对象PO时,方法300生成相应定位候选212作为用于机器人100的定位地图202中的定位参考点222。
图4是示例计算设备400的示意图,该示例计算设备400可以用于实现本文中描述的系统(例如,传感器系统130、控制系统170、感知系统180、语义规划器200和/或远程控制器20)和方法(例如,方法300)。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里所示的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文件中描述和/或要求保护的发明的实施方式。
计算设备400包括处理器410(例如,数据处理硬件)、存储器420(例如,存储器硬件)、存储设备430、连接到存储器420和高速扩展端口450的高速接口/控制器440,以及连接到低速总线470和存储设备430的低速接口/控制器460。组件410、420、430、440、450和460中的每一个使用各种总线互连,并且可以安装在公共主板上或者以其他适当的方式安装。处理器410可以处理用于在计算设备400内执行的指令,包括存储在存储器420中或存储设备430上的指令,以在外部输入/输出设备(诸如耦合到高速接口440的显示器480)上显示图形用户界面(GUI)的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备400,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器420将信息非暂时性地存储在计算设备400内。存储器420可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器420可以是用于临时或永久存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)以及磁盘或磁带。
存储设备430能够为计算设备400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实现方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备,或者设备阵列,包括存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地包含在信息载体中。计算机程序产品包含指令,所述指令在被执行时执行一种或多种方法,诸如上述的那些方法。信息载体是计算机或机器可读介质,诸如存储器420、存储设备430或处理器410上的存储器。
高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低带宽密集型操作。这样的职责分配仅是示例性的。在一些实现方式中,高速控制器440耦合到存储器420、显示器480(例如,通过图形处理器或加速器),并且耦合到高速扩展端口450,高速扩展端口450可以接受各种扩展卡(未示出)。在一些实现方式中,低速控制器460耦合到存储设备430和低速扩展端口490。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口490可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的联网设备。
如图所示,计算设备400可以以多种不同的形式实现。例如,它可以被实现为标准服务器400a或者在一组这样的服务器400a中多次实现为膝上型计算机400b、机架式服务器系统400c的一部分、机器人100的组件或者远程控制器20的组件。
本文描述的系统和技术的各种实现方式可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些不同的实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,该可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该可编程处理器可以是专用或通用的,被耦合以从存储系统接收数据和指令,以及向存储系统发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路来执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。作为示例,适于执行计算机程序的处理器包括通用微处理器和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合到一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,以从该大容量存储设备接收数据或向其传送数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,以及可选的键盘和定点设备,例如鼠标或轨迹球,用户可以通过该指示设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的客户端设备上的网络浏览器发送网页。
已经描述了许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在以下权利要求的范围内。

Claims (22)

1.一种计算机实现的方法(300),其在由数据处理硬件(142、162、410)执行时使所述数据处理硬件(142、162、410)执行操作,所述操作包括:
当机器人(100)穿过建筑环境(10)时,接收由所述机器人(100)的一个或多个传感器(132、132a-n)捕获的传感器数据(134);
接收用于所述建筑环境(10)的建筑信息模型(BIM)(30),所述BIM(30)包括标识所述建筑环境(10)内的一个或多个永久对象(PO)的语义信息(32);
为所述建筑环境(10)的定位地图(202)生成多个定位候选(212、212a-n),所述多个定位候选(212、212a-n)中的每个定位候选(212)对应于由所述传感器数据(134)标识的所述建筑环境(10)的特征,并且表示用于所述机器人(100)的潜在定位参考点(222),所述定位地图(202)被配置为当所述机器人(100)在整个建筑环境(10)中移动时在所述建筑环境(10)内定位所述机器人(100);以及
对于每个相应定位候选(212):
确定对应于所述相应定位候选(212)的相应特征是否是由所述BIM(30)的所述语义信息(32)标识的所述建筑环境(10)中的永久对象(PO);以及
当对应于所述相应定位候选(212)的相应特征是由所述BIM(30)的所述语义信息(32)标识的所述建筑环境(10)中的相应永久对象(PO)时,生成所述相应定位候选(212)作为用于所述机器人(100)的所述定位地图(202)中的定位参考点(222)。
2.根据权利要求1所述的方法(300),其中,所述定位地图(202)自主地引导所述机器人(100)通过所述建筑环境(10)。
3.根据权利要求1或权利要求2所述的方法(300),其中,所述操作还包括将所述建筑环境(10)的所述定位地图(202)馈送到所述机器人(100)的感知系统(180),所述感知系统(180)被配置为当所述机器人(100)导航所述建筑环境(10)在所述建筑环境(10)内执行任务时,为所述机器人(100)执行避障。
4.根据权利要求1-3中任一项所述的方法(300),其中:
所述BIM(30)还包括调度信息,所述调度信息指示新的永久对象(PO)将被安装在所述建筑环境(10)中的时间;并且
所述操作还包括:
在所述新的永久对象(PO)被安装在所述建筑环境(10)中的所述时间之后,指示所述机器人(100)为所述新的永久对象(PO)捕获传感器数据(134);以及
基于为安装在所述建筑环境(10)中的所述新的永久对象(PO)捕获的所述传感器数据(134)来更新所述定位地图(202)。
5.根据权利要求1-4中任一项所述的方法(300),其中:
所述语义信息(32)包括所述建筑环境(10)内的对象的描述符;并且
所述操作还包括指示所述机器人(100)基于所述建筑环境(10)内的对象的一个或多个描述符来捕获传感器数据(134)。
6.根据权利要求1-5中任一项所述的方法(300),其中:
所述BIM(30)还包括所述机器人(100)的非步进区域,所述非步进区域指示所述机器人(100)应该避免步进的区域;并且
所述操作还包括在所述定位地图(202)中生成非步进区域,以根据所述BIM(30)表示所述机器人(100)的所述非步进区域。
7.根据权利要求6所述的方法(300),其中,所述操作还包括将所述非步进区域传送给步进规划控制器(176),所述步进规划控制器(176)被配置为当所述机器人(100)在所述建筑环境(10)内执行任务时协调所述机器人(100)的脚步放置。
8.根据权利要求1-7中任一项所述的方法(300),其中,所述操作还包括:
从所述机器人(100)的操作者(12)接收用于所述机器人(100)在所述建筑环境(10)内执行的创作的任务(22);以及
使用所述定位地图(202)在所述建筑环境(10)中自主地导航以执行所述创作的任务(22)。
9.根据权利要求1-8中任一项所述的方法(300),其中,所述操作还包括通过以下方式从所述定位地图(202)中移除非永久对象(NPO):
确定从由所述机器人(100)捕获的所述传感器数据(134)标识的感知对象的位置;
标识所述BIM(30)中对应于从由所述机器人(100)捕获的所述传感器数据(134)标识的所述感知对象的位置的相应位置;以及
确定所述BIM(30)未能指示所述相应位置处的永久对象(PO)。
10.根据权利要求1-9中任一项所述的方法(300),其中,所述机器人(100)包括四个腿(120、120a-d)。
11.根据权利要求1-10中任一项所述的方法(300),其中,所述BIM(30)包括所述建筑环境(10)的三维表示。
12.一种机器人(100),包括:
主体(110);
耦合到所述主体(110)的一个或多个基于运动的结构(120);
至少部分地设置在所述主体(110)上的传感器系统(130);
与所述传感器系统(130)通信的数据处理硬件(142、162、410);以及
与所述数据处理硬件(142、162、410)通信的存储器硬件(144、164、420),所述存储器硬件(144、164、420)存储指令,当所述指令在所述数据处理硬件(142、162、410)上执行时使所述数据处理硬件(142、162、410)执行操作,所述操作包括:
当所述机器人(100)穿过建筑环境(10)时,接收由所述机器人(100)的所述传感器系统(130)捕获的传感器数据(134);
接收用于所述建筑环境(10)的建筑信息模型(BIM)(30),所述BIM(30)包括标识所述建筑环境(10)内的一个或多个永久对象(PO)的语义信息(32);
为所述建筑环境(10)的定位地图(202)生成多个定位候选(212、
212a-n),所述多个定位候选(212、212a-n)中的每个定位候选(212)对应于由所述传感器数据(134)标识的所述建筑环境(10)的特征,并且表示用于所述机器人(100)的潜在定位参考点(222),所述定位地图
(202)被配置为当所述机器人(100)在整个建筑环境(10)中移动时在所述建筑环境(10)内定位所述机器人(100);以及
对于每个相应定位候选(212):
确定对应于所述相应定位候选(212)的相应特征是否是由所述BIM(30)的所述语义信息(32)标识的所述建筑环境(10)中的永久对象(PO);以及
当对应于所述相应定位候选(212)的相应特征是由所述BIM(30)的所述语义信息(32)标识的所述建筑环境(10)中的相应永久对象(PO)时,生成所述相应定位候选(212)作为用于所述机器人(100)的所述定位地图(202)中的定位参考点(222)。
13.根据权利要求12所述的机器人(100),其中,所述定位地图(202)自主地引导所述机器人(100)通过所述建筑环境(10)。
14.根据权利要求12或13所述的机器人(100),其中,所述操作还包括将所述建筑环境(10)的所述定位地图(202)馈送到所述机器人(100)的感知系统(180),所述感知系统(180)被配置为当所述机器人(100)导航所述建筑环境(10)在所述建筑环境(10)内执行任务时,为所述机器人(100)执行避障。
15.根据权利要求12-14中任一项所述的机器人(100),其中:
所述BIM(30)还包括调度信息,所述调度信息指示新的永久对象(PO)将被安装在所述建筑环境(10)中的时间;并且
所述操作还包括:
在所述新的永久对象(PO)被安装在所述建筑环境(10)中的所述时间之后,指示所述机器人(100)为所述新的永久对象(PO)捕获传感器数据(134);以及
基于为安装在所述建筑环境(10)中的所述新的永久对象(PO)捕获的所述传感器数据(134)来更新所述定位地图(202)。
16.根据权利要求12-15中任一项所述的机器人(100),其中:
所述语义信息(32)包括所述建筑环境(10)内的对象的描述符;并且
所述操作还包括指示所述机器人(100)基于所述建筑环境(10)内的对象的一个或多个描述符来捕获传感器数据(134)。
17.根据权利要求12-16中任一项所述的机器人(100),其中:
所述BIM(30)还包括所述机器人(100)的非步进区域,所述非步进区域指示所述机器人(100)应该避免步进的区域;并且
所述操作还包括在所述定位地图(202)中生成非步进区域,以根据所述BIM(30)表示所述机器人(100)的所述非步进区域。
18.根据权利要求17所述的机器人(100),其中,所述操作还包括将所述非步进区域传送给步进规划控制器(176),所述步进规划控制器(176)被配置为当所述机器人(100)在所述建筑环境(10)内执行任务时协调所述机器人(100)的脚步放置。
19.根据权利要求12-18中任一项所述的机器人(100),其中,所述操作还包括:
从所述机器人(100)的操作者(12)接收用于所述机器人(100)在所述建筑环境(10)内执行的创作的任务(22);以及
使用所述定位地图(202)在所述建筑环境(10)中自主地导航以执行所述创作的任务(22)。
20.根据权利要求12-19中任一项所述的机器人(100),其中,所述操作还包括通过以下方式从所述定位地图(202)中移除非永久对象(NPO):
确定从由所述机器人(100)捕获的所述传感器数据(134)标识的感知对象的位置;
标识所述BIM(30)中对应于从由所述机器人(100)捕获的所述传感器数据(134)标识的所述感知对象的位置的相应位置;以及
确定所述BIM(30)未能指示所述相应位置处的永久对象(PO)。
21.根据权利要求12-20中任一项所述的机器人(100),其中,所述一个或多个基于运动的结构(120)包括四个腿(120、120a-d)。
22.根据权利要求12-21中任一项所述的机器人(100),其中,所述BIM(30)包括所述建筑环境(10)的三维表示。
CN202280012151.1A 2021-01-29 2022-01-26 动态站点上的机器人自主的语义模型 Pending CN116830061A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163143528P 2021-01-29 2021-01-29
US63/143,528 2021-01-29
PCT/US2022/013777 WO2022164832A1 (en) 2021-01-29 2022-01-26 Semantic models for robot autonomy on dynamic sites

Publications (1)

Publication Number Publication Date
CN116830061A true CN116830061A (zh) 2023-09-29

Family

ID=80447834

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280012151.1A Pending CN116830061A (zh) 2021-01-29 2022-01-26 动态站点上的机器人自主的语义模型

Country Status (5)

Country Link
US (1) US20220244741A1 (zh)
EP (1) EP4285199A1 (zh)
KR (1) KR20230137334A (zh)
CN (1) CN116830061A (zh)
WO (1) WO2022164832A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9259838B1 (en) * 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
US11822342B1 (en) * 2022-12-21 2023-11-21 Built Robotics Inc. Obstacle map for autonomous pile driving system
US11788247B1 (en) 2022-12-21 2023-10-17 Built Robotics Inc. Basket assembly operation for autonomous pile driving system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9574883B2 (en) * 2015-03-24 2017-02-21 X Development Llc Associating semantic location data with automated environment mapping
US9789607B1 (en) * 2015-11-03 2017-10-17 Google Inc. Achieving a target gait in a legged robot based on steering commands
US20190332114A1 (en) * 2018-04-26 2019-10-31 Maidbot, Inc. Robot Contextualization of Map Regions
US20200258400A1 (en) * 2019-02-13 2020-08-13 Foresight Ai Inc. Ground-aware uav flight planning and operation system
US11346937B2 (en) * 2019-06-10 2022-05-31 International Business Machines Corporation Remote tracking of progress at construction sites
KR102125538B1 (ko) * 2019-12-13 2020-06-22 주식회사 토르 드라이브 자율 주행을 위한 효율적인 맵 매칭 방법 및 그 장치
US20220063662A1 (en) * 2020-08-26 2022-03-03 Waymo Llc Autonomous driving with surfel maps

Also Published As

Publication number Publication date
KR20230137334A (ko) 2023-10-04
WO2022164832A1 (en) 2022-08-04
US20220244741A1 (en) 2022-08-04
EP4285199A1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
Bagnell et al. An integrated system for autonomous robotics manipulation
CN116830061A (zh) 动态站点上的机器人自主的语义模型
US20220390950A1 (en) Directed exploration for navigation in dynamic environments
US20220388170A1 (en) Alternate Route Finding for Waypoint-based Navigation Maps
CN112840285A (zh) 具有路径点匹配的自主地图遍历
US20220193894A1 (en) Supervised Autonomous Grasping
US20220390954A1 (en) Topology Processing for Waypoint-based Navigation Maps
KR20220080070A (ko) 발자국 접촉 검출
US20230278214A1 (en) Robot localization using variance sampling
US20220193905A1 (en) Door Opening Behavior
US20220241980A1 (en) Object-Based Robot Control
US20220390952A1 (en) Detecting negative obstacles
US20220193906A1 (en) User Interface for Supervised Autonomous Grasping
CN116723916A (zh) 臂和身体协调
US20220388174A1 (en) Autonomous and teleoperated sensor pointing on a mobile robot
US20240192695A1 (en) Anchoring based transformation for aligning sensor data of a robot with a site model
Charabaruk et al. Design and development of an autonomous omnidirectional hazardous materials handling robot
Fryc et al. Efficient pipeline for mobile brick picking
Jiménez et al. Autonomous object manipulation and transportation using a mobile service robot equipped with an RGB-D and LiDAR sensor
Nepali et al. Implementation and Comparative Study of Algorithms to Avoid Obstacles in Mobile Robot Navigation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination