CN117813183A - 检测负障碍 - Google Patents

检测负障碍 Download PDF

Info

Publication number
CN117813183A
CN117813183A CN202280053748.0A CN202280053748A CN117813183A CN 117813183 A CN117813183 A CN 117813183A CN 202280053748 A CN202280053748 A CN 202280053748A CN 117813183 A CN117813183 A CN 117813183A
Authority
CN
China
Prior art keywords
robot
range
support surface
missing
candidate support
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
CN202280053748.0A
Other languages
English (en)
Inventor
J·于
B·J·斯威林
E·C·惠特曼
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 CN117813183A publication Critical patent/CN117813183A/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/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
    • 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
    • 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
    • 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
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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

Landscapes

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

Abstract

一种计算机实现的方法,当由数据处理硬件执行时,使数据处理硬件执行操作。操作包括检测高度低于支撑腿式机器人的当前表面处的候选支撑表面。确定候选支撑表面是否包括围绕腿式机器人的环境的一部分内的缺失地形数据的范围,其中该范围足够大以接收腿式机器人的腿的触地放置。如果缺失地形数据被确定,则缺失地形数据的范围的至少一部分被分类为候选支撑表面的无步伐区域。无步伐区域指示腿式机器人应该避免触碰到腿式机器人的腿的区域。

Description

检测负障碍
相关申请的交叉引用
本申请要求2021年6月4日提交的美国临时申请63/202,283的优先权。该先前申请的公开被认为是本申请公开的一部分,并且在此通过引用全部并入本文。
技术领域
本公开涉及用于移动机器人的环境检测。
背景技术
机器人是一种可重新编程的多功能操纵器,被设计以通过各种编程运动来移动材料、部件、工具或专用设备,用于执行任务。机器人可以是物理锚定的操纵器(例如,工业机器人臂)、在环境中移动的移动机器人(例如,腿、轮子或基于牵引的机械)、或者操纵器和移动机器人的某种组合。机器人被用于各种行业,包括例如制造、运输、危险环境、勘探和医疗保健。如此,机器人穿越具有障碍的环境的能力为这些行业提供了附加的好处。
发明内容
本公开的一方面提供了一种计算机实现的方法,当由数据处理硬件执行时,使数据处理硬件执行操作。操作包括检测高度低于支撑腿式机器人(legged robot)的当前表面处的候选支撑表面。操作包括确定候选支撑表面包括围绕腿式机器人的环境的一部分内的缺失地形数据的范围,其中该范围足够大以接收腿式机器人的腿的触地放置(touchdownplacement)。操作包括为候选支撑表面的缺失地形数据的范围的至少一部分生成分类作为无步伐区域。无步伐区域指示腿式机器人应该避免触碰到腿式机器人的腿的区域。
在一些实施方式中,检测高度低于当前表面处的候选支撑表面包括确定腿式机器人的地形测绘系统已经将地形遮挡的一些部分分类为高度低于支撑腿式机器人的当前表面处的相应的候选支撑表面。在一些实施例中,为缺失地形数据的范围生成分类作为无步伐区域包括将候选支撑表面的缺失地形数据的范围从腿式机器人的合法步伐区域重新分类为腿式机器人的无步伐区域。在一些示例中,操作还包括生成第二分类作为位于当前支撑腿式机器人的表面上的第二范围中的第二无步伐区域。第二范围邻近候选支撑表面,其高度低于支撑腿式机器人的当前表面。
在一些实施方式中,缺失地形数据的范围定义了从邻近腿式机器人的第一端延伸到与腿式机器人相对的第二端的间隙。在那些实施方式中,支撑腿式机器人的当前表面从支撑腿式机器人的当前表面的第一部分到支撑腿式机器人的当前表面的第二部分,跨由缺失地形数据的范围定义的间隙延伸。当前表面的第二部分被设置在间隙的与腿式机器人相对的一侧。在进一步的实施方式中,操作还包括生成分类作为位于支撑腿式机器人的当前表面的第一部分上的第二范围中的第二无步伐区域。第二范围邻近间隙的第一端。在那些进一步的实施方式中,操作还包括生成第三分类作为位于支撑腿式机器人的当前表面的第二部分上的第三范围中的第三无步伐区域。第三范围邻近间隙的第二端。
在一些实施例中,缺失地形数据的范围跨越当前表面中的间隙。间隙的宽度小于腿式机器人的步幅长度。在一些示例中,腿式机器人包括主体和耦接到主体的四条腿。
在一些实施方式中,确定候选支撑表面包括缺失地形数据的范围包括识别由与腿式机器人相关联的一个或多个传感器捕获的传感器数据未能包括候选支撑表面的缺失地形数据的范围的传感器数据。在进一步的实施方式中,一个或多个传感器被设置在腿式机器人的主体上。在其他进一步的实施方式中,一个或多个传感器被设置在腿式机器人主体的前端部分。当腿式机器人穿越环境时,主体的前端部分面向候选支撑表面的方向。在附加的进一步的实施方式中,一个或多个传感器被设置在腿式机器人主体的后端部分。当腿式机器人穿越环境时,主体的后端部分面向候选支撑表面的方向。在其他附加的进一步的实施方式中,腿式机器人以特定的速度或步态行进,并且当腿式机器人接近并检测高度低于当前表面处的候选支撑表面时,检测候选支撑表面的一个或多个传感器的视野保持不变。在一些示例中,触地放置用于腿式机器人的远端。
本公开的另一方面提供了一种机器人,其包括主体、耦接到主体的两条腿或更多条腿以及障碍检测系统。障碍检测系统被配置为检测和分类机器人周围环境内的负障碍。障碍检测系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当在数据处理硬件上执行时,这些指令使数据处理硬件执行操作。操作包括检测高度低于支撑至少一条腿的当前表面处的候选支撑表面。操作包括确定候选支撑表面包括环境的一部分内的缺失地形数据的范围,其中该范围足够大以接收腿式机器人的一条腿的触地放置。操作包括为候选支撑表面的缺失地形数据的范围生成分类作为无步伐区域。无步伐区域指示机器人应该避免触碰到腿式机器人的一条腿的区域。
在一些实施方式中,检测高度低于当前表面处的候选支撑表面包括确定机器人的地形绘测系统已经将地形遮挡的一些部分分类为高度低于支撑两条腿或更多条腿中的至少一条腿的当前表面的相应的候选支撑表面。在一些实施例中,为缺失地形数据的范围生成分类作为无步伐区域包括将候选支撑表面的缺失地形数据的范围从机器人的合法步伐区域重新分类为机器人的无步伐区域。在一些示例中,操作还包括生成第二分类作为位于支撑两条腿或多更条腿中的至少一条腿的当前表面上的第二范围中的第二无步伐区域。第二范围邻近候选支撑表面,其高度低于支撑两条腿或更多条腿中的至少一条腿的当前表面。
在一些实施方式中,缺失地形信息的范围定义了从邻近机器人的第一端延伸到与机器人相对的第二端的间隙。在那些实施方式中,支撑两条腿或更多条腿中的至少一条腿的当前表面从支撑腿式机器人的当前表面的第一部分到支撑腿式机器人的当前表面的第二部分,跨由缺失地形数据的范围定义的间隙延伸。当前表面的第二部分被设置在间隙的与腿式机器人相对的一侧。在进一步的实施方式中,操作还包括生成第二分类作为位于支撑两条腿或更多条腿中的至少一条腿的当前表面的第一部分上的第二范围中的第二无步伐区域。第二范围邻近间隙的第一端。在那些进一步的实施方式中,操作还包括生成第三分类作为位于支撑两条腿或更多条腿中的至少一条腿的当前表面的第二部分上的第三范围中的第三无步伐区域。第三范围邻近间隙的第二端。
在一些实施例中,缺失地形数据的范围跨越当前表面中的间隙。间隙的宽度小于机器人的步幅长度。在一些示例中,两条腿或更多条腿包括四条腿。
在一些实施方式中,机器人还包括传感器系统,该传感器系统包括一个或多个传感器。在那些实施方式中,确定候选支撑表面包括缺失地形数据的范围包括识别由一个或多个传感器捕获的传感器数据未能包括候选支撑表面的缺失地形数据的范围的传感器数据。在进一步的实施方式中,一个或多个传感器被设置在机器人的主体上。在其他进一步的实施方式中,一个或多个传感器被设置在机器人主体的前端部分。当机器人穿越环境时,主体的前端部分面向候选支撑表面的方向。在附加的进一步的实施方式中,一个或多个传感器被设置在机器人主体的后端部分。当机器人穿越环境时,主体的后端部分面向候选支撑表面的方向。在其他附加的进一步的其他实施方式中,机器人以特定的速度或步态行进,并且当机器人接近并检测高度低于当前表面处的候选支撑表面时,检测候选支撑表面的一个或多个传感器的视野保持不变。
在一些实施例中,检测候选支撑表面发生在机器人穿越环境时。在一些示例中,机器人的每条腿包括远端,并且触地放置用于机器人的相应的腿的相应的远端。
在附图和以下描述中阐述了本公开的一个或多个实施方式的细节。其他方面、特征和优点将从说明书和附图以及权利要求书中变得显而易见。
附图说明
图1A是能够执行负障碍检测的示例机器人的透视图。
图1B是图1A的机器人的示例系统的示意图。
图2A-图2G是图1A的机器人的示例负障碍系统的示意图。
图3是执行负障碍检测的方法的示例操作布置的流程图。
图4是可以用于实现本文所描述的系统和方法的示例计算设备的示意图。
各个附图中的相同的参考符号指示相同的元件。
具体实施方式
当机器人在环境中移动时,如果机器人有稳定性问题,则机器人的性能可能处于危险之中。在腿式机器人的情况下,当与其他无腿机器人相比时,稳定性通常是持续关注的问题,因为腿式机器人的运动固有地使机器人处于某种程度的不平衡状态。例如,朝支撑表面(例如,地面)摆动腿以触地导致一定程度的动态不稳定性,直到腿在触地放置位置触地。在这方面,腿式机器人穿越地形的运动已经需要腿式机器人的平衡努力。如果腿式机器人的稳定性受另一来源的影响,该其他来源可能使机器人处于不稳定状态,机器人不能从其中恢复或者机器人不能对其进行补偿。这里,当机器人不能克服这种不稳定状态时,腿式机器人可能会绊倒、摔倒,或者其移动性可能会以某种方式被抑制。不幸的是,如果机器人的移动性与腿式机器人的特定任务或使命紧密相关,抑制机器人移动性的情况可能导致任务或使命的失败。更复杂的稳定性问题是,当机器人绊倒或摔倒时,摔倒可能会破坏机器人环境的某些部分、有效载荷或机器人本身。这种破坏也可能类似地损害机器人执行任务或使命的能力。
机器人环境内的障碍是机器人稳定性的一个潜在的关注来源。障碍是指阻挡或以某种方式阻碍机器人穿越由物体占据的空间的物体。给定机器人的障碍的性质,与障碍碰撞或者甚至(例如,在没有专门的避障系统的情况下)避开障碍的动作都可能不利地改变机器人的稳定性状态。由于这些原因,机器人系统通常试图考虑机器人环境内的潜在障碍。通过考虑潜在障碍,机器人可以最好地避开这些障碍,或者帮助确保这些障碍不会对机器人的行为(例如,任务和/或使命)产生负面影响。
障碍检测中出现的一个问题是准确地检测和分类负障碍。负障碍指由于机器人的高度的负改变而出现的障碍。在一些情况下,高度的负改变之后紧接着是高度的正改变,以形成一个沟槽状的负障碍。负障碍的一些更具体的示例包括凹陷、空穴、沟槽、沟渠、坑洞、凹坑或支撑表面,其中另一潜在支撑表面在当前支撑表面下方是可见的(例如,浮动平台)。相反,正障碍是从支撑正障碍的表面延伸一定正高度的障碍。例如,椅子是正障碍,因为它的腿,座位和靠背的组合使椅子偏离了它的支撑表面。通过感知当前支撑表面上方的点,正障碍可以在点云传感器数据中显现。在这方面,当机器人感知到支撑表面上方的这些点时,机器人意识到存在障碍(即,正障碍)。另一方面,通过机器人不能感知支撑表面上的点,负障碍在点云传感器数据中显现;导致缺失地形数据的范围。缺失地形数据可能由于几个原因发生,包括机器人的传感器系统没有感应到表面难以用传感器感知的缺失地形数据的位置或范围(例如,表面是黑色的、有光泽的、太阳黑子等),或者存在负障碍。区分不同的情况对机器人系统提出了不同于正障碍的挑战。当负障碍存在导致缺失地形数据的范围时,缺失地形数据的范围通常是由于一部分地形被机器人的传感器系统和/或视觉系统遮挡而出现的。举例说明,当机器人接近沟槽时,离机器人最近的沟槽的壁架(即,第一侧或端)会阻挡传感器系统感知沟槽的整个深度。相反,由于离机器人最近的壁架,传感器系统的视线可以感知沟槽的相对的壁架的一些部分,而不是沟槽中的最低点(即,地板/底部)。基于这种视线感知,机器人可能相信沟槽的最低部分的高度错误地高于沟槽中的实际最低点。给定这种错误的假设,机器人可能错误地确定沟槽的底部/地板处于机器人可以进出的深度。然而不幸的是,如果机器人将其腿放入沟槽中,腿可能会比预期的下落得更远,并且中断机器人的稳定性。也就是说,机器人可能会落入沟槽里。
为了解决由负障碍引起的一些问题,机器人可以部署负障碍检测系统(例如,负障碍系统200)。负障碍检测系统的功能是检查缺失地形数据的范围,并理解缺失地形数据的范围相对于附近或邻近的未缺失地形数据的关系。通过分析缺失地形数据的范围和现有地形数据之间的关系,负障碍检测系统可以覆盖或重新分类缺失地形数据的区域或范围,以指定该区域是机器人的腿可以安全地触地而不会导致未来稳定性问题的步伐区域还是机器人的腿应该避免触地的无步伐区域。回到先前的示例,负障碍检测系统将辨别出机器人缺失沟槽的实际底部表面或最低点的地形数据,并确定缺失地形数据的范围应该是无步伐区域而不是合法步伐区域。
参考图1A和图1B,机器人100包括主体110,其具有一个或多个基于行动的结构,诸如耦接到主体110的腿120a-120d,使得机器人100能够在机器人100周围的环境30中移动。在一些示例中,每个腿120是可铰接结构,使得一个或多个关节J允许腿120的构件122移动。例如,在示出的实施例中,每条腿120包括将腿120的上部构件122,122U耦接到主体110的髋关节(hip joint)JH和将腿120的上部构件122U耦接到腿120的下部构件122L的膝关节JK。尽管图1A描绘了具有四条腿120a-120d的四足机器人,机器人100可以包括任何数量的腿或基于行动的结构(例如,具有两条腿的双足或人形机器人,或者一条或多条腿的其他布置),其提供了穿越环境30内的地形的手段。
为了穿越地形,每条腿120具有接触地形表面(即,牵引表面)的远端124。换句话说,腿120的远端124是由机器人100使用的腿120的端部,以在机器人100的运动期间枢转、植入或通常提供牵引。例如,腿120的远端124对应于机器人100的脚。在一些示例中,尽管未示出,腿的远端包括踝关节,使得远端可相对于腿的下部构件是可铰接的。
在所示的示例中,机器人100包括用作机器人操纵器的臂126。臂126可以被配置为围绕多个自由度移动,以便接合环境30的元件(例如,环境30内的物体)。在一些示例中,臂126包括一个或多个构件128,其中构件128通过关节J耦接,使得臂126可以围绕关节J枢转或旋转。例如,利用一个以上的构件128,臂126可以被配置为延伸或缩回。为了举例说明,图1A描绘了具有三个构件128的臂126,该三个构件对应于下部构件128L、上部构件128U和手构件128H(也称为末端执行器)。这里,下部构件128L可以围绕位于邻近主体110的一个或多个臂关节JA旋转或枢转(例如,在臂126连接到机器人100的主体110的地方)。例如,图1描绘了能够围绕第一臂关节JA1旋转的臂126,第一臂关节JA1也称为偏转臂关节(yaw arm joint)。利用偏转臂关节,臂126能够绕机器人100的垂直重力轴(例如,示为Az)轴向旋转360度(或其某些部分)。下部构件128L可以围绕第二臂关节JA2枢转(例如,当旋转时)。例如,第二臂关节JA2(示为邻近机器人100的主体110,在第一臂关节JA1的正上方)允许臂126相对于主体或水平面倾斜到特定角度(例如,升高或降低臂126的一个或多个构件128)。下部构件128L在第三臂关节JA3处耦接到上部构件128U,并且上部构件128U在第四臂关节JA4处耦接到手构件128H
在一些示例中,诸如图1A,手构件128H(末端执行器)是机械夹具,其包括一个或多个可移动的钳口(jaw),该钳口被配置为执行环境30内的元件的不同类型的抓取。在所示的示例中,末端执行器128H包括固定的第一钳口和可移动的第二钳口,其通过将物体夹紧在钳口之间来抓取物体。可移动钳口被配置为相对于固定钳口移动,以便在夹具的打开位置和夹具的关闭位置(例如,围绕物体关闭)之间移动。
在一些实施方式中,臂126可以包括附加的关节JA,诸如第五臂关节JA5和/或第六臂关节JA6。第五关节JA5可以位于上部构件128U与手构件128H的耦接处附近,并且用于允许手构件128H相对于下部构件128U扭转或旋转。换句话说,第五臂关节JA4可以起到与第四臂关节JA4或邻近手构件128H的臂126的腕关节类似的扭转关节的作用。例如,作为扭转关节,在关节J处耦接的一个构件可以相对于在关节J处耦接的另一构件移动或旋转(例如,在扭转关节处耦接的第一构件部分是固定的,而在扭转关节处耦接的第二构件部分旋转)。这里,第五关节JA5也可以使臂126以旋转手构件128H的方式转动,使得手构件128H可以偏转而不是俯仰。例如,第五关节JA5允许臂126在180度的范围内扭转,使得与手构件128H相关联的钳口可以俯仰、偏转或两者的某种组合。这对于将臂126的一些部分钩在物体周围或者细化手构件128H如何抓取物体可能是有利的。第六臂关节JA6可以类似于第五臂关节JA5起作用(例如,作为扭转关节)。例如,第六臂关节JA6还允许臂构件128的一部分(例如,上臂构件128U)在180度的范围内旋转或扭转(例如,相对于臂构件128的另一部分或另一臂构件128)。这里,来自第五臂关节JA5和第六臂关节JA6的运动范围的组合可以使上臂构件128U能够相对于手构件128H旋转360度。在一些实施方式中,臂126在机器人100的主体110上的插座处连接到机器人100。在一些配置中,插座被配置为连接器,使得臂126可以附接到机器人100或从机器人100分开,这取决于臂126是否需要用于特定操作。在一些示例中,第一和第二臂关节JA1,2可以位于、邻近将臂126连接到主体110的插座处或者是该插座的一部分。
机器人100具有沿着重力方向的垂直重力轴(例如,示为Z方向轴AZ)和质心CM,质心CM是对应于机器人100的所有部件的平均位置的位置,在该位置,部件根据它们的质量被加权(即,机器人100的分布质量的加权相对位置总和为零的点)。通常,CM将在任何时刻取决于臂126和腿120的存在/不存在和位置。机器人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在环境30中移动的地表面12。机器人100的另一解剖平面是跨机器人100的主体110延伸的正面平面(例如,从具有第一腿120a的机器人100的右侧到具有第二腿120b的机器人100的左侧)。正面平面通过在x方向轴AX和z方向轴AZ的方向上延伸而跨越X-Z平面。换句话说,正面平面将机器人100分成前部和后部。这里,机器人100的前部指机器人100的具有前腿120a-120b的部分,而机器人100的后部指机器人100的具有后腿120c-120d的部分。参考图1A,当机器人100的腿120处于站立阶段(例如,第一腿120a、120ST)时,腿120通常在膝关节JK处弯曲(例如,以支撑机器人主体110的负载),使得腿120的上部构件122U与下部构件122L成小于180度的角度,并且膝关节JK比将上部构件122U耦接到机器人100的主体110的髋关节JH向机器人100的后部延伸得更远。
为了在环境30中操纵或使用臂126执行任务,机器人100包括具有一个或多个传感器132,132a-132n的传感器系统130。例如,图1A示出了安装在机器人100的头的第一传感器132,132a,安装在机器人100的第二腿120b的髋附近的第二传感器132,132b,对应于安装在机器人100的主体110的一侧的传感器132中的一个的第三传感器132,132c,安装在机器人100的第四腿120d的髋附近的第四传感器132,132d,安装在机器人100的臂126的末端执行器128H处或附近的第五传感器132,132e。传感器132可以包括视觉/图像传感器、惯性传感器(例如,惯性测量单元(IMU))、力传感器和/或运动学传感器。传感器132的一些示例包括相机,主图立体相机、飞行时间(TOF)传感器、扫描光探测和测距(LIDAR)传感器或扫描激光探测和测距(LADAR)传感器。在一些示例中,传感器132具有定义对应于传感器132的感应区间或区域的对应的视野FV。例如,图1A描绘了机器人100的第一传感器132,132a的视野FV。每个传感器132可以是可枢转的和/或可旋转的,使得传感器132可以例如围绕一个或多个轴(例如,相对于地平面的x轴、y轴或z轴)改变视野FV。在一些示例中,多个传感器132可以聚集在一起(例如,类似于第一传感器132a),以拼接比任何单个传感器132更大的视野FV。在多个传感器132被放置在机器人100周围的情况下,传感器系统130可以具有关于垂直和/或水平轴的机器人100周围的360度视图或接近360度视图。
当用传感器132审查视野FV时,传感器系统130(例如,参见图1B)生成对应于视野FV的传感器数据134(例如,图像数据)。传感器系统130可以利用安装在机器人100的主体110上或附近的传感器132(例如,传感器132a、132b、132c)来生成视野FV。传感器系统可以附加地和/或可替代地利用安装在臂126的末端执行器128H处或附近的传感器132(例如,传感器132e)生成视野FV。一个或多个传感器132可以捕获传感器数据134,传感器数据134定义了机器人100周围的环境30内的范围的三维点云。在一些示例中,传感器数据134是对应于由三维体积图像传感器132生成的三维体积点云的图像数据。附加地或可替代地,当机器人100在环境30周围操纵时,传感器系统130收集机器人100的姿势数据,该姿势数据包括惯性测量数据(例如,由IMU测量)。在一些示例中,姿势数据包括关于机器人100的运动学数据和/或朝向数据,例如,关于机器人100的腿120或臂126的关节J或其他部分的运动学数据和/或朝向数据。利用传感器数据134,机器人100的各种系统可以使用传感器数据134来定义机器人100的当前状态(例如,机器人100的运动学)和/或机器人100周围的环境30的当前状态。
在一些实施方式中,传感器系统130包括耦接到关节J的传感器132。而且,这些传感器132可以耦接到操作机器人100的关节J的马达M(例如,传感器132,132b-132d)。这里,这些传感器132以基于关节的传感器数据134的形式生成关节动态。被收集为基于关节的传感器数据134的关节动态可以包括关节角度(例如,上部构件122U相对于下部构件122L或手构件126H相对于臂126或机器人100的另一构件)、关节速度、关节角速度、关节角加速度和/或关节J处受到的力(也称为关节力)。由一个或多个传感器132生成的基于关节的传感器数据可以是原始传感器数据、被进一步处理以形成不同类型的关节动态的数据、或者两者的某种组合。例如,传感器132测量关节位置(或耦接在关节J处的构件122或128的位置),并且机器人100的系统执行进一步的处理以从位置数据中导出速度和/或加速度。在其他示例中,传感器132被配置为直接测量速度和/或加速度。
参考图1B,当传感器系统130收集传感器数据134时,计算系统140存储、处理传感器数据134,和/或将传感器数据134传送给机器人100的各种系统(例如,计算系统140、控制系统170、感知系统180和/或导航系统200)。为了执行与传感器数据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执行控制动作,诸如在环境30中移动机器人100。在一些示例中,通过使感知系统180与控制系统170分离但仍与其通信,控制系统170的处理可以集中于控制机器人100,而感知系统180的处理集中于解释由传感器系统130收集的传感器数据134。例如,这些系统170、180并行执行它们的处理,以确保机器人100在环境30中的准确、流畅的运动。
控制系统170的给定控制器172可以通过控制机器人100的一个或多个关节J的运动来控制机器人100。在一些配置中,给定的控制器172是具有编程逻辑的软件,其控制至少一个关节J或操作或耦接到关节J的马达M。例如,控制器172控制应用于关节J(例如,关节J处的扭矩)的力的量。作为可编程控制器172,控制器172控制的关节J的数量对于特定的控制目的是可缩放的和/或可定制的。控制器172可以控制机器人100的单个关节J(例如,控制单个关节J处的扭矩)、多个关节J或者一个或多个构件122、128的致动(例如,手构件128H的致动)。通过控制一个或多个关节J、致动器或马达M,控制器172可以协调机器人100的所有不同部件(例如,主体110、一条或多条腿120、臂126)的运动。例如,为了执行一些运动,控制器172可以被配置为控制机器人100的多个部件的运动,诸如两条腿120a-120b、四条腿120a-120d、臂126、或者腿120和/或臂126的任何组合(例如,两条或四条腿120与臂126的组合)。在一些实例中,控制器172经配置为基于物体的控制器,其经设置以执行用于与可交互物体交互的特定行为或行为集合。
在一些示例中,控制系统170包括至少一个控制器172、路径生成器174、步伐定位器176和主体规划器178。控制系统170可以被配置为与至少一个传感器系统130和机器人100的任何其他系统(例如,感知系统180和/或负障碍系统200)通信。控制系统170使用计算系统140执行操作和其他功能。控制器172被配置为基于来自机器人100的系统(例如,传感器系统130、感知系统180和/或负障碍系统200)的输入或反馈来控制机器人100穿越环境30的运动。这可以包括机器人100的姿势和/或行为之间的运动。例如,控制器172控制不同的脚步模式、腿模式、主体运动模式或视觉系统感应模式。
在一些实施方式中,控制系统170包括专用于特定控制目的的专用控制器172。这些专用控制器172可以包括专用控制器,诸如但不限于所示的路径生成器174、步伐定位器176和/或主体规划器178。参考图1B,路径生成器174被配置为确定机器人100的水平运动。例如,水平运动指机器人100的平移(即,在X-Y平面中的运动)和/或偏转(即,围绕Z方向轴AZ的旋转)。路径生成器174通过识别机器人100周围的环境30内的障碍(例如,基于感知地图182和/或来自负障碍系统200的信息)来工作。路径生成器174将障碍传送给步伐定位器176,使得步伐定位器176可以识别机器人100的腿120的脚放置(例如,放置机器人100的腿120的远端124的位置)。步伐定位器176使用来自感知系统180的输入(例如,地图182)生成脚放置(即,机器人100应该步入的位置)。主体规划器178很像步伐定位器176,接收来自感知系统180的输入(例如,地图182)。一般而言,主体规划器178被配置为调整机器人100的主体110的动态(例如,旋转,诸如俯仰或偏转和/或COM的高度),以成功地在环境30周围移动。
感知系统180是机器人100的系统,其帮助机器人100在具有各种障碍的地形中更精确地移动。感知系统180可以包括在第16/573,284号专利申请“受限移动性测绘”中描述的元件,该专利申请通过引用并入于此,并且可以附加地被认为包括这里描述的负障碍系统200。当传感器132收集机器人100周围空间(即,机器人的环境30)的传感器数据134时,感知系统180使用传感器数据134来形成环境30的一个或多个感知地图182。一旦感知系统180生成感知地图182,感知系统180还被配置为向感知地图182添加信息(例如,通过将传感器数据134投影到预先存在的地图上)和/或从感知地图182移除信息。
在一些示例中,由感知系统180生成的一个或多个感知地图182是地面高度地图182,182a、无步伐地图182,182b和/或主体障碍地图182,182c。地面高度地图182a指由感知系统180基于被划分成三维体积单元(例如,来自体素地图的体素)的范围(例如,环境30)的空间占用而生成的感知图182。在一些实施方式中,地面高度地图182a起作用,使得在地图182的网格内的每个X-Y位置处(例如,被指定为地面高度地图182a的单元),地面高度地图182a指定高度。换句话说,地面高度地图182a传达了在水平面中的特定X-Y位置处,机器人100应该站在一定高度。
无步伐地图182b通常指感知地图182,其定义了不允许机器人100步入的区域,以便告知机器人100何时可以步入特定的水平位置(即,X-Y平面中的位置)。在一些示例中,很像主体障碍地图182c和地面高度地图182a,无步伐地图182b被划分成单元网格,其中每个单元代表机器人100周围的环境30中的特定范围。例如,每个单元可以是3平方厘米。为了便于解释,每个单元存在于环境30内的X-Y平面内。当感知系统180生成无步伐地图182b时,感知系统180可以生成布尔值地图,其中该布尔值图识别无步伐区域和步伐区域。无步伐区域指一个或多个单元中存在障碍的区域,而步伐区域指一个或多个单元中感觉不到障碍的存在的区域。感知系统180可以进一步处理布尔值地图,使得无步伐地图182b包括带符号距离字段。这里,无步伐地图182b的带符号距离字段包括到障碍边界的距离(例如,到无步伐区域边界的距离)和到障碍边界的向量v(例如,定义到无步伐区域边界的最近的方向)。
主体障碍地图182c通常确定机器人100的主体110是否可能相对于机器人100在X-Y平面中的位置重叠。换句话说,主体障碍地图182c为机器人100识别障碍,以指示机器人100是否通过在环境30中的位置重叠,有与相同位置附近或相同位置处的障碍碰撞或潜在损坏的风险。作为机器人100的主体110的障碍地图,机器人100的系统(例如,控制系统170)可以使用主体障碍地图182c来识别与机器人100邻近或最近的边界,以及识别移动机器人100的方向(例如,最佳方向)以便避开障碍。在一些示例中,很像其他感知地图182,感知系统180根据单元网格(例如,X-Y平面的网格)生成主体障碍地图182c。这里,主体障碍地图182c内的每个单元包括距障碍的距离和指向作为障碍的最近单元(即,障碍的边界)的向量。
进一步参考图1B,机器人100还包括负障碍(negative obstacle)系统200。负障碍系统200是机器人100的系统,其作用于基于来自传感器系统130的传感器数据134识别负障碍20(图1A、图2B-图2G),并且生成负障碍20的分类222(例如,无步伐区域222,222NS或步伐区域222,222S的分类222)。在一些示例中,负障碍系统200向感知系统180提供反馈,或者可以被认为是感知系统180的子系统。感知系统180可以从负障碍系统200接收分类222作为反馈,并且更新或修改一个或多个地图182以反映这些分类222。例如,负障碍系统200通知无步伐地图182b其对负障碍20的分类222。如果诸如无步伐地图182b的地图182已经包括对应于来自负障碍系统200的无步伐区域222NS的范围的无步伐/步伐分类,分类222可以确认或重新分类地图182的现有的步伐/无步伐分类。在一些实施方式中,负障碍系统200与感知系统180集成或者被认为是感知系统180的一部分。在这个意义上,地图182可以结合负障碍系统200的功能形成。附加地或可替代地,负障碍系统200可以直接将其负障碍20的分类222馈送给控制系统170(例如,给路径生成器174)。在这方面,对于同一范围,控制系统170可以被配置为使从负障碍系统200接收的分类优先于来自另一系统(例如,感知系统180)的另一分类。从负障碍系统200输出的分类222可以优先,因为负障碍系统200包括专门为负障碍20设计的系统,并且至少由于这个原因,可能比不是为识别负障碍20的特殊目的而设计的另一系统更准确。
参考图2A-图2G,负障碍系统200包括检测器210和分类器220。当机器人100在环境30中移动时,检测器210被配置为检测在高度低于支撑机器人100的当前表面12处的候选支撑表面212。候选支撑表面212最初只是候选,因为进一步的分析可能改变候选支撑表面212的位置或将其识别为负障碍20,这将从下面的描述中被理解。在一些配置中,检测器210通过识别来自传感器系统130的传感器数据134中的地形遮挡来检测候选支撑表面212。地形遮挡通常指传感器数据134中没有传感器数据134的范围A。换句话说,地形遮挡与环境30中缺失地形数据的范围相关联。这种缺失地形数据的范围可以是负障碍20存在的指示,因为在负障碍20的情况下,负障碍20的某些部分(例如,负障碍20的壁)连同机器人位置和机器人传感器132的视野一起导致防止传感器系统130收集特定范围的传感器数据134的遮挡。为了识别地形遮挡,检测器210可以接收传感器数据134并且分析为深度不连续214传感器数据134(参见图2B)。当在由与机器人100的腿120的远端124接触的当前表面12定义的第一平面13中存在一组传感器数据134(例如,深度传感器数据),随后是在高度低于第一平面的第二平面中的某种程度的传感器数据134时,可能出现深度不连续214。这里,当该深度不连续214存在时,检测器210将第二平面识别为候选支撑表面212。
在一些示例中,检测器210可以通过利用机器人100的其他地形测绘系统(例如,感知系统180)来识别候选支撑表面212,而不是自行解析传感器数据134。例如,如先前所陈述的,诸如地面高度地图182a的感知地图182可以包括具有网格的体素地图,其中包括一个或多个体素的体素地图网格内的每个单元还指定该特定单元中的一个或多个体素的近似高度。在这方面,这样的地图182还可以指示由于地图182的邻近部分的地面高度的差异而存在深度不连续214。例如,在诸如地面高度地图182a的基于体素的地图中,地面高度地图182a将指示支撑机器人100的单元的地面高度,然后包括没有高度数据的单元(例如,由于缺失地形数据),然后后面是地面高度小于支撑机器人100的单元的单元。当感知地图182指示深度不连续214时,检测器210被配置为确定在深度不连续214出现的地方存在候选支撑表面212。
图2B-图2G描绘了负障碍20的两个不同示例,以及负障碍系统200如何以稍微不同的方式这些障碍20进行分类。在这些示例的每一个中,地形特征(例如,图2B-图2D中所示的沟槽或图2E-图2G中所示的浮动平台)对应于负障碍20。机器人100能够具有大于负障碍20的宽度w的步幅长度,并且负障碍20的宽度w跨越足够大的范围A以接收机器人100的腿120的远端124(例如,脚构件)的触地放置。因此,机器人100可以通过试图将腿120(例如,腿120的远端124)触碰到定义负障碍20的范围A中来避开(例如,跨过)负障碍20或者直接遇到(例如,步入)负障碍20。
参考图2B-图2D,负障碍20对应于沟槽。该沟槽由被设置在接近离机器人100最近的沟槽的第一端的第一壁22,22a、与第一壁22a相对并且被设置在与机器人100相对的沟槽的第二端的第二壁22,22b以及地面24定义,地面24可以像所示的沟槽一样位于负障碍20的底部处,并且可以在第一和第二壁22a、22b之间延伸。这里,沟槽对应于机器人100的当前支撑表面12(例如,地表面)12的第一部分12a和机器人100的当前支撑表面12的第二部分12b之间的间隙G。在示出的示例中,当前支撑表面12定义了当前平面13,该当前平面13从当前支撑表面12的第一部分12a到被设置在沟槽的与机器人100相对的一侧的支撑表面12的第二部分12b,跨沟槽延伸。本领域技术人员将会理解,对于机器人识别负障碍,支撑表面12不需要完全平坦,并且支撑表面12的第二部分12b不需要与支撑表面的第一部分12a处于相同的高度,只要传感器系统134能够检测表面12a、12b的足够部分以将它们分类为步伐区域,并且只要高度的任何不匹配仍然允许机器人100感应负障碍20的远侧上的壁22b(图2B-图2D)或地下段SU(图2F-图2G)。当机器人100跨机器人100的当前支撑表面12移动接近沟槽时,离机器人100最近的第一壁22a遮挡机器人100的传感器系统130使其无法感知沟槽的实际地面24。由于这种遮挡,传感器系统130将只能生成传感器系统130的视线LOS上方的传感器数据134。在该示例中,由于遮挡的第一壁22a,LOS与第二壁22b相交于交点Ip(例如,在图2B中示为LOS末端的X)。传感器数据134在朝地面24的交点Ip下方的高度处沿第二壁22b缺失(即,缺失地形数据的范围),但是传感器数据134在朝当前支撑表面12的第二部分12b的交点Ip上方的高度处沿第二壁22b存在。如图2B所示,一些地形测绘系统会假设交点Ip对应于沟槽的地面与第二壁22b相交的点。由于这种不正确的假设,地形测绘系统可能在比沟槽的实际地面24更高的高度处生成步伐区域(例如,在斜阴影线框中所示)。
当检测器210确定地形遮挡存在时(例如,通过识别深度不连续214),检测器210从机器人100的一个或多个传感器132的位置追踪视线LOS到负障碍20。在所示的示例中,机器人100被设计成使得捕获机器人100的传感器数据134的一个或多个传感器132被设置在机器人100的主体110的前部。在一些实施方式中,主体110的前部对应于主体110在机器人100的行进方向上面向负障碍20的部分,使得如果机器人100向后移动,传感器可以在主体的后部。利用追踪的视线LOS,检测器210可以确定负障碍20的假设底部是否是负障碍20的实际地面24。
在一些配置中,诸如图2B-图2D,检测器210确定交点Ip是否在被称为体素段(voxel segment)或体素列(voxel column)216的体素的列的附近。例如,图2C将体素列216示为沿第二壁22b从当前支撑表面12的第二部分12b延伸到交点Ip的白色列。为了确定交点Ip是否在体素段或体素列216的附近,检测器210使用体素地图来构建垂直段,以对应于三维空间中传感器数据134的存在。例如,检测器210用体素片段查询地面高度地图182a,以确定交点Ip是否在体素列216处或在体素列216附近。当交点Ip在体素列216处或在体素列216附近时,这意味着交点Ip出现在负障碍20的垂直部分。换句话说,交点Ip出现在壁(例如,第二壁22b)处,而不是负障碍20的实际地面24处。
参考图2C,通过假设交点Ip出现在壁上而不是实际地面24上,检测器210执行搜索实际地面24的过程。在一些示例中,当检测器210确定交点Ip出现在壁上而不是实际地面24上时,检测器210生成在对应于交点Ip的高度处跨越遮挡范围A的负障碍单元(例如,在具有类似于假地面或底部的参考编号212的垂直阴影线框中示出的)。然后,这些负障碍单元可以一起下降,直到它们接近负障碍20的实际地面24。在一些实施方式中,随着机器人100继续接近第一壁22a,由LOS示出的机器人100的传感器系统130的视野继续“看见”更深的负障碍20。例如,图2C描绘了LOS的两个图像,其中当机器人在相对于负障碍20的第一位置处时,左边的第一图像具有第一LOS,其具有第一交点Ip,而当机器人在比第一位置更靠近负障碍20的第二位置处时,右边的第二图像具有第二LOS,其具有第二交点Ip。在所示的示例中,第一交点Ip沿负障碍的垂直部分(例如,第二壁22b)被设置在比第二交点Ip更高的高度。这里,检测器210继续下推负障碍单元的收集以跟随交点Ip,使得负障碍单元的收集被下推,如在图2C的左图像和右图像中具有参考编号212的负障碍单元的深度之间的比较所指示的。当交点Ip不再处于或靠近体素列216时,检测器210可以停止下推负障碍单元的收集。
分类器220被配置为接收候选支撑表面212,并且为候选支撑表面212的缺失地形数据或被遮挡地形数据的范围A生成分类222。这里,分类222指负障碍20的地面24应该被分类为步伐区域222,222S还是无步伐区域222,222NS。例如,在一些实施方式中,分类器220接收的负障碍单元的下推收集,并且确定负障碍单元的收集和由机器人100的支撑表面12定义的当前平面13之间的高度差是否应导致范围A被分类为无步伐区域222NS或步伐区域222S。这里,分类器220可以将高度差与对应于机器人100的步高的阈值高度差进行比较。在这个意义上,如果高度差小于机器人100的最大步高,则负障碍20不是真正的障碍,并且机器人100可以毫无问题地步入范围A。因此,在高度差小于阈值高度差的情况下,至少直到候选支撑表面212被进一步下推以超过阈值高度差的时间,负障碍的区域可以被临时分类为步伐区域222S。相反,如果高度差大于机器人100的最大步高,则步入负障碍20将导致机器人100的潜在问题。参考图2D的示例,负障碍单元的收集和由机器人100的支撑表面12定义的当前平面13之间的高度差使分类器220将缺失地形数据的范围A分类为无步伐区域222NS。因此,当机器人100接近负障碍20时,它继续下推感知到的候选支撑表面212,直到感知到实际底部或地面24(也参见下面的主动凝视控制讨论),或者候选支撑表面212足够深以至于被分类为无步伐区域NS。无论哪种方式,如果支撑表面12的当前平面13与候选支撑表面212(如果没有感知到实际底部或地面24)或实际地面24(如果感知到)之间的高度差大于机器人100的阈值最大步高,则机器人不会步入负障碍20。
在一些实施方式中,负障碍系统200可以更广泛地用作一般障碍系统,或者与识别/分类正障碍的机器人100的另一系统结合工作。当负障碍系统200用作更一般的障碍系统时,负障碍系统200可被配置为基于负障碍20的分类222对地形的部分进行分类。例如,当分类器220将由缺失地形数据形成的范围A分类为无步伐区域222NS时,分类器220可以附加地确定第二范围和/或第三范围是否也应该被分类为无步伐区域222NS。这里,第二范围对应于位于支撑机器人100的当前表面12上紧邻负障碍20的第一壁22a的范围,而第三范围对应于位于当前支撑表面12的第二部分12b上紧邻负障碍20的第二壁22b的范围。当缺失地形数据的范围A是无步伐区域222NS时,将第二范围或第三范围或两者分类为无步伐区域222NS可能是有利的。这是因为如果机器人100在这些范围(例如,第二范围或第三范围)中的任一个中触碰到腿120的远端124,则机器人100可能有腿120滑入负障碍20的无步伐区域222NS的风险。在机器人100的配置中,其中另一系统对机器人100的正障碍进行分类,负障碍系统200可以将负障碍20的分类222通知给其他系统,并且该其他系统进而基于负障碍分类222将范围分类或细化其范围分类(例如,诸如第二范围和/或第三范围的范围)为步伐/无步伐区域。因此,如果负障碍20被分类为无步伐区域222NS,则更广泛的控制系统170也可以将邻近区域分类为无步伐区域222NS,使得机器人100给负障碍20一个宽的泊位。
如图2B与图2D相比所示,分类器220可以将缺失地形数据的范围A分类为与另一系统的分类不同的分类222。例如,感知系统180最初可以例如基于浅初始LOS将范围A分类为步伐区域,但是然后分类器220确定范围A对应于负障碍20或者确定候选支撑表面212比阈值步高更深,并且应该改为分类为无步伐区域222NS。分类器220因而能够重新分类先前的分类。
图2E-图2G示出了对应于平台间隙(也称为浮动平台)的负障碍20。平台间隙不同于一些负障碍20,因为候选支撑表面212不受近壁(即,机器人附近的壁)和远壁(即,与机器人相对的壁)的约束。相反,机器人100的LOS看不到任何远壁,而是看到另一支撑表面下方(例如,当前支撑表面12的第二部分12b下方)的负障碍20的实际底部24。换句话说,诸如当前支撑表面12的第二部分12b的其他支撑表面对机器人100来说看起来类似于下方有地面的浮动平台。如图2E所示,没有负障碍系统200的这种类型的负障碍20可能导致机器人100推断在LOS下方的遮挡范围中存在一些范围(例如,示为错误范围FA),而实际上不存在这样的范围。这种类型的负障碍20可能导致机器人100错误地假设在遮挡范围中存在倾斜的地形部分。
图2F描绘了当机器人100在穿越环境30的同时接近平台间隙事件时,来自候选支撑表面212的地下段S,SU看起来与和机器人100的当前支撑表面12的第二部分12b相关联的地面段S,SG邻近或重叠。因此,检测器210识别LOS的交点Ip是否出现在先前识别的地面段SG下方,而不是确定LOS的交点Ip是否出现在体素段处或其附近。检测器210然后通过生成跨越从当前支撑表面12的遮挡边缘到地面段SG不出现在架空的位置的范围的负障碍单元来构建遮挡范围A。例如,图2F描绘了箭头218以示出对遮挡范围A的搜索过程的方向。而且,将图2F与图2G进行比较,缺失地形数据的结果范围A不包括来自当前支撑表面12的第二部分12b的任何架空地面段SG。利用结果范围A,分类器220然后可以确定范围A是否应该被分类为无步伐区域222NS。在图2G中,分类器220将范围A指定为无步伐区域222NS。在一些示例中,类似于图2B-图2D的沟槽示例的候选支撑表面212的范围A的分类222,分类器220确定负障碍单元的收集和机器人100的当前支撑表面12之间的高度差是否应该导致范围A被分类为无步伐区域222NS(例如,在灰色交叉阴影线框中示出)或步伐区域222S(例如,在当前支撑表面12的斜阴影线框中示出)。这里,分类器220可以将高度差与对应于机器人100的步高的阈值高度差进行比较。在这个意义上,如果高度差小于机器人100的最大步高,则负障碍20不是真正的障碍,并且机器人100可以毫无问题地步入范围A。相反,如果高度差大于机器人100的最大步高,则步入负障碍20(即,平台间隙)将导致机器人100的潜在问题。应当注意的是,为了分类的目的,机器人100可以假设范围A的高度与邻近范围A的直接感应的地下段S,SU的高度相同。为了分类为步伐区域222S,当机器人接近负障碍时,机器人可以直接感应初始遮挡范围A中的地面,例如通过借助于如下文所描述的主动凝视控制。
当机器人100接近负障碍20时,机器人100可以以命令的速度(例如,来自机器人100的操作者的命令或来自机器人100的遥控器的命令)和/或以指定的步态模式行进。这里,负障碍系统200的技术在机器人100不需要俯仰或以其他方式调整其主体110或传感器132以解决负障碍20的情况下起作用,而不需要调整检测负障碍20的传感器132的朝向或视野FV。在这点上,当机器人100接近并穿越负障碍20时,机器人100可以毫不犹豫地继续行进。这也意味着机器人100不需要执行任何特殊行为来帮助负障碍系统200。传感器的视野FV可以保持不改变(没有焦距的移动、放大或缩小等)同时在正常运动期间仍然感知和分类负障碍20。在其他实施例中,可以在移动和分类期间调整传感器的视野FV
附加地或可替代地,机器人100可以接近负障碍20并执行主动凝视控制,以有意地改变机器人100的姿势来感知负障碍20。在一些配置中,当执行主动凝视控制时,机器人100可以有意地将机器人100的主体110朝负障碍20向下俯仰,以帮助负障碍系统200和/或感知系统180。例如,如果机器人100向前行进,其中主体110的前部是主体110遇到负障碍20的第一部分,则机器人100可以改变主体110的俯仰,使得主体110的前部从支撑机器人100的当前表面12降低其高度。在其他示例中,主体110可以俯仰,使得主体110的前部从支撑机器人100的当前表面12增加其高度。相反,如果机器人100向后行进,且主体110的后部是主体110遇到负障碍20的第一部分,则机器人100可以以与机器人100向前行进时类似的方式改变主体110的后部的俯仰。俯仰调整可重新定向一个或多个传感器132,并使传感器系统130的一个或多个传感器132的视野FV能够感知或收集负障碍20的传感器数据134。例如,通过俯仰主体110,机器人100为具有一组缺失地形数据的范围收集新的或附加的传感器数据134。在一些实施方式中,当机器人100的一个或多个系统识别出邻近机器人100存在缺失的地形数据时,主动凝视控制发生。例如,负障碍系统200识别出感知系统180的地图182缺失邻近机器人100的特定区域(例如,距离机器人100在3至5米内)的传感器数据134,并且控制系统170可以将机器人100的姿势从初始姿势改变为主动凝视姿势。这里,主动凝视姿势指使一个或多个传感器132能够收集除了机器人100处于初始姿势时通常由机器人100的一个或多个传感器132收集的传感器数据134之外的附加传感器数据134(例如,不同视角处的传感器数据134)的姿势。
图3是为负障碍20生成分类222的方法300的示例操作布置的流程图。在操作302,当腿式机器人100穿越环境30时,方法300检测高度低于支撑腿式机器人100的当前表面12处的候选支撑表面212。在操作304,方法300确定候选支撑表面212包括对应于足够大以接收腿式机器人100的腿120的远端124的触地放置的范围A的缺失地形数据。在操作306,方法300生成分类222作为候选支撑表面212的缺失地形数据的范围A的无步伐区域222NS。无步伐区域222NS(例如,在灰色交叉阴影线框中示出)指示腿式机器人100应该避免触碰到腿式机器人100的任何腿120的任何远端124的区域。
图4是示例计算设备400的示意图,该示例计算设备400可以用于实现本文中所描述的系统(例如,机器人100、传感器系统130、计算系统140、远程系统160、控制系统170、感知系统180和/或负障碍系统200,参见图1B)和方法(例如,方法300,参见图3)。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里所示的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不限制本文中所描述和/或要求保护的发明的实施方式。
计算设备400包括处理器410(例如,数据处理硬件142、162)、存储器420(例如,存储器硬件144、164)、存储设备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(例如,通过图形处理器或加速器),并且耦接到高速扩展端口440,高速扩展端口440可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器460耦接到存储设备430和低速扩展端口470。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口470可以通过例如网络适配器耦接到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的网络设备。
如图所示,计算设备400可以以多种不同的形式实现。例如,它可以被实现为标准服务器400a或者在一组这样的服务器400a中多次实现为膝上型计算机400b、机架式服务器系统400c的一部分、机器人100的一部分或者用于操作机器人100的远程控制的一部分。
这里描述的系统和技术的各种实施方式可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些不同的实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该可编程处理器可以是专用或通用的,被耦接以从存储系统接收数据和指令,以及向存储系统发送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”和“计算机可读介质”指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路来执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。举例来说,适于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦接以从用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘接收数据或向其传输数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路来补充或并入其中。
为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏,以及可选地键盘和指向设备,例如鼠标或轨迹球,用户可以通过该指向设备向计算机提供输入。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向由用户使用的设备发送文档和从由用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户的客户端设备上的网络浏览器发送网页。
已经描述了许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。相应地,其他实施方式在权利要求的范围内。

Claims (28)

1.一种计算机实现的方法,当由数据处理硬件执行时,使所述数据处理硬件执行操作,包括:
检测高度低于支撑腿式机器人的当前表面处的候选支撑表面;
确定所述候选支撑表面包括在所述腿式机器人的环境的一部分内的缺失地形数据的范围,其中,所述范围足够大以接收所述腿式机器人的腿的触地放置;以及
为所述候选支撑表面的缺失地形数据的范围的至少一部分生成分类作为无步伐区域,所述无步伐区域指示所述腿式机器人应该避免触碰到所述腿式机器人的所述腿的区域。
2.根据权利要求1所述的方法,其中,检测高度低于所述当前表面处的所述候选支撑表面包括确定所述腿式机器人的地形绘测系统已经将地形遮挡的一些部分分类为在高度低于支撑所述腿式机器人的所述当前表面处的相应的候选支撑表面。
3.根据权利要求1所述的方法,其中,将生成所述分类作为缺失地形数据的所述范围的所述无步伐区域包括将所述候选支撑表面的缺失地形数据的所述范围从所述腿式机器人的合法步伐区域重新分类为所述腿式机器人的无步伐区域。
4.根据权利要求1所述的方法,其中,所述操作还包括生成第二分类作为位于当前支撑所述腿式机器人的表面上的第二范围中的第二无步伐区域,所述第二范围邻近所述候选支撑表面,其在高度低于支撑所述腿式机器人的所述当前表面。
5.根据权利要求1所述的方法,其中:
缺失地形数据的所述范围定义了从邻近所述腿式机器人的第一端延伸到与所述腿式机器人相对的第二端的间隙;并且
支撑所述腿式机器人的所述当前表面从支撑所述腿式机器人的所述当前表面的第一部分到支撑所述腿式机器人的所述当前表面的第二部分,跨由缺失地形数据的所述范围定义的间隙延伸,所述当前表面的所述第二部分设置在所述间隙的与所述腿式机器人相对的一侧。
6.根据权利要求5所述的方法,其中所述操作还包括:
生成分类作为位于支撑所述腿式机器人的所述当前表面的所述第一部分上的第二范围中的第二无步伐区域,所述第二范围邻近所述间隙的第一端;以及
生成第三分类作为位于支撑所述腿式机器人的所述当前表面的所述第二部分上的第三范围中的第三无步伐区域,所述第三范围邻近所述间隙的第二端。
7.根据权利要求1所述的方法,其中,所述缺失地形数据的所述范围跨越所述当前表面中的间隙,所述间隙宽度小于所述腿式机器人的步幅长度。
8.根据权利要求1所述的方法,其中,所述腿式机器人包括主体和耦接到所述主体的四条腿。
9.根据权利要求1所述的方法,其中,确定所述候选支撑表面包括缺失地形数据的所述范围包括识别由与所述腿式机器人相关联的一个或多个传感器捕获的传感器数据未能包括所述候选支撑表面的缺失地形数据的所述范围的传感器数据。
10.根据权利要求9所述的方法,其中,所述一个或多个传感器设置在所述腿式机器人的主体上。
11.根据权利要求9所述的方法,其中,所述一个或多个传感器设置在所述腿式机器人的主体的前端部分上,当所述腿式机器人穿越所述环境时,所述主体的所述前端部分面向所述候选支撑表面的方向。
12.根据权利要求9所述的方法,其中,所述一个或多个传感器设置在所述腿式机器人的主体的后端部分上,当所述腿式机器人穿越所述环境时,所述主体的所述后端部分面向所述候选支撑表面的方向。
13.根据权利要求9所述的方法,其中:
所述腿式机器人以特定的速度或步态行进;并且
当所述腿式机器人接近并检测高度低于所述当前表面的所述候选支撑表面时,检测所述候选支撑表面的一个或多个传感器的视野保持不变。
14.根据权利要求1所述的方法,其中,所述触地放置用于所述腿式机器人的所述腿的远端。
15.一种机器人,包括:
主体;
耦接到所述主体的两条腿或更多条腿;以及
障碍检测系统,其被配置为检测和分类所述机器人周围环境内的负障碍,所述障碍检测系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,当在所述数据处理硬件上执行时,所述指令使所述数据处理硬件执行操作,所述操作包括:
检测高度低于支撑至少一条腿的当前表面处的候选支撑表面;
确定所述候选支撑表面包括所述环境的一部分内的缺失地形数据的范围,其中,所述范围足够大以接收所述机器人的一条腿的触地放置;以及
为所述候选支撑表面的缺失地形数据的所述范围生成分类作为无步伐区域,所述无步伐区域指示所述机器人应该避免触碰到所述机器人的一条腿的区域。
16.根据权利要求15所述的机器人,其中,检测高度低于所述当前表面处的所述候选支撑表面包括确定所述机器人的地形绘测系统已经将地形遮挡的一些部分分类为高度低于支撑两条腿或更多条腿中的至少一条腿的当前表面处的相应的候选支撑表面。
17.根据权利要求15所述的机器人,其中,为缺失地形数据的所述范围生成所述分类作为所述无步伐区域包括将所述候选支撑表面的缺失地形数据的所述范围从所述机器人的合法步伐区域重新分类为所述机器人的无步伐区域。
18.根据权利要求15所述的机器人,其中,所述操作还包括生成第二分类作为位于支撑所述两条腿或更多条腿中的所述至少一条腿的所述当前表面上的第二范围中的第二无步伐区域,所述第二范围邻近所述候选支撑表面,其在高度低于支撑所述两条腿或更多条腿中的所述至少一条腿的所述当前表面。
19.根据权利要求15所述的机器人,其中:
缺失地形数据的所述范围定义了从邻近所述机器人的第一端延伸到与所述机器人相对的第二端的间隙;并且
支撑所述两条腿或更多条腿中的所述至少一条腿的所述当前表面从支撑所述机器人的所述当前表面的第一部分到支撑所述机器人的所述当前表面的第二部分,跨由缺失地形数据的所述范围定义的所述间隙延伸,所述当前表面的所述第二部分被设置在所述间隙的与所述腿式机器人相对的一侧。
20.根据权利要求19所述的机器人,其中,所述操作还包括:
生成第二分类作为位于支撑所述两条腿或更多条腿中的所述至少一条腿的所述当前表面的第一部分上的第二范围中的第二无步伐区域,所述第二范围邻近所述间隙的第一端;以及
生成第三分类作为位于支撑所述两条腿或更多条腿中的所述至少一条腿的所述当前表面的第二部分上的第三范围中的第三无步伐区域,所述第三范围邻近所述间隙的第二端。
21.根据权利要求15所述的机器人,其中,缺失地形数据的所述范围跨越所述当前表面中的间隙,所述间隙的宽度小于所述机器人的步幅长度。
22.根据权利要求15所述的机器人,其中,所述两条腿或更多条腿包括四条腿。
23.根据权利要求15所述的机器人,还包括传感器系统,所述传感器系统包括一个或多个传感器,并且其中确定所述候选支撑表面包括缺失地形数据的所述范围包括识别由一个或多个传感器捕获的传感器数据未能包括所述候选支撑表面的缺失地形数据的所述范围的传感器数据。
24.根据权利要求23所述的机器人,其中,所述一个或多个传感器设置在所述机器人的所述主体上。
25.根据权利要求23所述的机器人,其中,所述一个或多个传感器设置在所述机器人的所述主体的前端部分上,当所述机器人穿越所述环境时,所述主体的所述前端部分面向所述候选支撑表面的方向。
26.根据权利要求23所述的机器人,其中,所述一个或多个传感器设置在所述机器人的所述主体的后端部分上,当所述机器人穿越所述环境时,所述主体的所述后端部分面向所述候选支撑表面的方向。
27.根据权利要求23所述的机器人,其中:
所述机器人以特定的速度或步态行进;并且
当所述机器人接近并检测高度低于所述当前表面的所述候选支撑表面时,检测所述候选支撑表面的一个或多个传感器的视野保持不变。
28.根据权利要求15所述的机器人,其中:
所述机器人的每条腿包括远端;并且
其中,所述触地放置用于所述机器人的相应的腿的相应的远端。
CN202280053748.0A 2021-06-04 2022-06-02 检测负障碍 Pending CN117813183A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163202283P 2021-06-04 2021-06-04
US63/202,283 2021-06-04
PCT/US2022/072704 WO2022256812A1 (en) 2021-06-04 2022-06-02 Detecting negative obstacles

Publications (1)

Publication Number Publication Date
CN117813183A true CN117813183A (zh) 2024-04-02

Family

ID=82483190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280053748.0A Pending CN117813183A (zh) 2021-06-04 2022-06-02 检测负障碍

Country Status (4)

Country Link
US (1) US20220390952A1 (zh)
EP (1) EP4347194A1 (zh)
CN (1) CN117813183A (zh)
WO (1) WO2022256812A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11548151B2 (en) * 2019-04-12 2023-01-10 Boston Dynamics, Inc. Robotically negotiating stairs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6132659B2 (ja) * 2013-02-27 2017-05-24 シャープ株式会社 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法
US9989967B2 (en) * 2014-03-04 2018-06-05 Cybernet Systems Corporation All weather autonomously driven vehicles
US9946259B2 (en) * 2015-12-18 2018-04-17 Raytheon Company Negative obstacle detector
US10196104B1 (en) * 2016-05-04 2019-02-05 Schaft Inc. Terrain Evaluation for robot locomotion

Also Published As

Publication number Publication date
WO2022256812A1 (en) 2022-12-08
EP4347194A1 (en) 2024-04-10
US20220390952A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
KR102492242B1 (ko) 지형 인식 스텝 플래닝 시스템
JP2022543997A (ja) 制約された移動度マッピング
JP7381709B2 (ja) 足跡接触検出
CN117795445A (zh) 用于基于路径点的导航地图的备用路线发现
US20220390950A1 (en) Directed exploration for navigation in dynamic environments
CN115702405A (zh) 建模和感知地形的楼梯跟踪
US20220193894A1 (en) Supervised Autonomous Grasping
US20230143315A1 (en) Perception and fitting for a stair tracker
CN116830061A (zh) 动态站点上的机器人自主的语义模型
CN115667061A (zh) 从脚步中识别台阶
CN117769691A (zh) 基于路点的导航地图的拓扑处理
CN117813183A (zh) 检测负障碍
CN116710240A (zh) 开门行为以及机器人呈现该行为
US20220388174A1 (en) Autonomous and teleoperated sensor pointing on a mobile robot
US20240174310A1 (en) Stair Tracking for Modeled and Perceived Terrain
CN116802582A (zh) 不完全感测机器人的鲁棒对接
Sujan Visually Guided Object Insertion by Cooperative Robots in Unstructured Environments

Legal Events

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