一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

脚步接触检测的制作方法

2022-04-27 07:59:58 来源:中国专利 TAG:


1.本公开涉及脚步接触检测。


背景技术:

2.机器人通常被定义为可重新编程和多功能的机械手,其被设计用于通过可变的编程运动来移动材料、零件、工具或专用设备以执行任务。机器人可以是物理锚定的机械手(例如,工业机械臂)、在整个环境中(例如,使用腿、轮子或基于牵引的机构)移动的移动机器人、或者机械手和移动机器人的某种组合。机器人用于各种行业,包括例如制造、运输、危险环境、勘探和医疗保健。因此,机器人穿越具有障碍物或需要各种协调腿部运动方式的特征的环境的能力为这些行业提供了额外的好处。


技术实现要素:

3.本公开一方面提供了一种用于脚步接触检测的方法。所述方法包括在机器人的数据处理硬件处接收机器人的摆动腿的关节动力学(joint dynamics)。摆动腿执行机器人的步态的摆动阶段。所述方法还包括在数据处理硬件处接收里程计(odometry),里程计定义机器人相对于世界参考系(world reference frame)的姿态的估计。所述方法还包括由数据处理硬件确定摆动腿上的意外扭矩是否对应于摆动腿上的冲击。所述方法还包括当摆动腿上的意外扭矩对应于冲击时,由数据处理硬件基于机器人的里程计和摆动腿的关节动力学确定冲击是否指示摆动腿在机器人周围的地面上触地。所述方法包括当冲击不指示摆动腿触地时,由数据处理硬件基于机器人的里程计和摆动腿的关节动力学对冲击的原因进行分类。
4.本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,所述方法包括由数据处理硬件基于冲击的所分类的原因为机器人的摆动腿生成响应。当冲击指示摆动腿触地时,所述方法可包括由数据处理硬件将摆动腿的分类改变为站立腿。所述方法可包括当冲击的原因被分类为绊倒时,提升摆动腿作为对相应冲击的响应。
5.在一些示例中,对冲击的原因进行分类包括:基于摆动腿的关节动力学确定机器人的摆动腿的摆动阶段的完成百分比满足摆动阶段阈值,摆动阶段阈值指示摆动腿处于摆动阶段的早期。在该示例中,对冲击的原因进行分类还包括将摆动腿上的冲击的原因分类为抬离拖步(liftoff scuffing)。这里,摆动腿响应于将摆动腿上的冲击的原因分类为抬离拖步而继续执行步态的摆动阶段。
6.在一些配置中,对冲击的原因进行分类包括:基于摆动腿的关节动力学确定摆动腿的髋关节超过预定运动极限。这里,关节动力学包括髋关节相对于地面的外展-内收分量和髋关节相对于地面的屈曲-伸展分量,并且外展-内收分量包括作为屈曲-伸展分量的函数的预定运动极限。在该配置中,对冲击的原因进行分类还包括将摆动腿上的冲击的原因分类为摆动腿接触机器人的主体。这里,摆动腿响应于将摆动腿上的冲击的原因分类为摆动腿接触机器人的主体而继续执行步态的摆动阶段。
7.在一些实现方式中,对冲击的原因进行分类包括:确定摆动腿到对侧腿的第一最近点和对侧腿到摆动腿的第二最近点之间的矢量距离指示摆动腿与对侧腿交叉。这里,对冲击的原因进行分类还包括:确定摆动腿的远端与对侧腿的相应远端交叉,确定摆动腿的第一膝关节与对侧腿的第二膝关节交叉,将引起机器人的摆动腿的相应冲击的状态(condition)分类为摆动腿与机器人的对侧腿交叉;以及移动摆动腿以与机器人的对侧腿不交叉。
8.在一些示例中,对与相应冲击对应的机器人的腿的状态进行分类包括:确定摆动腿位于机器人的对侧腿附近,确定与相应冲击对应的扭矩由主要来自摆动腿的髋关节的横向分量的关节动力学产生,将引起机器人的摆动腿的相应冲击的状态分类为未交叉的对侧腿冲击;以及移动摆动腿远离机器人的矢状面。
9.在一些配置中,对与相应冲击对应的机器人的腿的状态进行分类包括:确定摆动腿的膝关节在摆动阶段向后移动,确定导致与相应冲击对应的意外扭矩的关节动力学包括围绕摆动腿的髋关节的屈曲-伸展扭矩,屈曲-伸展扭矩大于摆动腿的膝关节扭矩和围绕摆动腿的髋关节的外展-内收扭矩两者,将引起机器人的摆动腿的相应冲击的状态分类为摆动腿的膝关节接触机器人的主体后面的地形;以及使摆动腿的膝关节相对于机器人的主体向前移动。
10.在一些实现方式中,对与相应冲击对应的机器人的腿的状态进行分类包括:确定摆动腿的膝关节接近感知的地面,膝关节相对于机器人的主体向前移动,感知的地面由关于机器人的传感器数据定义。在该实现方式中,对与相应冲击对应的机器人的腿的状态进行分类还包括:确定摆动腿的膝关节比摆动腿的远端更靠近感知的地面,确定与相应冲击对应的意外扭矩发生在摆动腿的髋关节处,将引起机器人的摆动腿的相应冲击的状态分类为摆动腿的膝关节接触机器人的主体下方的地形,以及继续摆动腿的运动,而不响应摆动腿的膝关节接触机器人的主体下方的地形。
11.在一些示例中,确定机器人的摆动腿上的意外扭矩是否对应于摆动腿上的冲击包括确定意外扭矩是否满足冲击检测阈值,冲击检测阈值包括对应于已知冲击的扭矩大小。在其他示例中,由数据处理硬件基于以下之间的差来确定摆动腿上的意外扭矩:由机器人周围的关节扭矩传感器测量的测量扭矩,表示由重力引起的相应扭矩的第一预期扭矩,以及表示加速机器人的摆动腿的相应扭矩的第二预期扭矩。
12.在一些配置中,所述方法包括当机器人的摆动腿的关节接近关节的运动范围的极限时,由数据处理硬件确定在摆动阶段期间,意外扭矩未能指示摆动腿上的冲击。确定摆动腿上的意外扭矩是否对应于摆动腿上的冲击可以包括确定摆动腿上的意外扭矩对应于冲击扭矩,冲击扭矩与摆动腿的关节的运动相反。
13.在一些实现方式中,摆动腿的关节动力学对应于摆动腿的膝关节的关节动力学以及摆动腿的髋关节的关节动力学。髋关节的关节动力学包括外展或内收摆动腿的外展-内收(abduction-adduction)扭矩以及屈曲或伸展摆动腿的屈曲-伸展(flexsion-extension)扭矩。
14.本公开另一方面提供一种被配置为执行脚步接触检测的机器人。机器人包括主体和两条或更多条腿,该两条或更多条腿连接到主体并被配置为穿越环境。两条或更多条腿包括摆动腿。机器人还包括与两条或多条腿通信的控制系统,其中,控制系统包括数据处理
硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储指令,当在数据处理硬件上进行时,指令使得数据处理硬件执行操作。所述操作包括接收机器人的摆动腿的关节动力学。摆动腿执行机器人的步态的摆动阶段。操作还包括接收定义机器人相对于世界参考系的姿态的估计的里程计。所述操作还包括确定摆动腿上的意外扭矩是否对应于摆动腿上的冲击。所述操作包括当摆动腿上的意外扭矩对应于冲击时,基于机器人的里程计和摆动腿的关节动力学,确定冲击是否指示摆动腿在机器人周围的地面上触地。所述操作包括当冲击不指示摆动腿触地时,基于机器人的里程计和摆动腿的关节动力学对冲击的原因进行分类。
15.本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,操作包括基于冲击的所分类的原因为机器人的摆动腿生成响应。操作可包括当冲击指示摆动腿触地时,将摆动腿的分类改变为站立腿。所述操作可包括当冲击的原因被分类为绊倒时,提升摆动腿作为对相应冲击的响应。
16.在一些示例中,对冲击的原因进行分类包括基于摆动腿的关节动力学确定机器人的摆动腿的摆动阶段的完成百分比满足摆动阶段阈值。这里,摆动阶段阈值指示摆动腿处于摆动阶段的早期。在该示例中,对冲击的原因进行分类还包括将摆动腿上的冲击的原因分类为抬离拖步。这里,摆动腿响应于将摆动腿上的冲击的原因分类为抬离拖步而继续执行步态的摆动阶段。
17.在一些配置中,对冲击的原因进行分类包括基于摆动腿的关节动力学确定摆动腿的髋关节超过预定运动极限。这里,关节动力学包括髋关节相对于地面的外展-内收分量和髋关节相对于地面的屈曲-伸展分量,并且外展-内收分量包括作为屈曲-伸展分量的函数的预定运动极限。在该配置中,对冲击的原因进行分类还包括将摆动腿上的冲击的原因分类为摆动腿接触机器人的主体。这里,摆动腿响应于将摆动腿上的冲击的原因分类为摆动腿接触机器人的主体而继续执行步态的摆动阶段。
18.在一些实现方式中,对冲击的原因进行分类包括确定摆动腿到对侧腿的第一最近点和对侧腿到摆动腿的第二最近点之间的矢量距离指示摆动腿与对侧腿交叉。这里,对冲击的原因进行分类还包括确定摆动腿的远端与对侧腿的相应远端交叉,确定摆动腿的第一膝关节与对侧腿的第二膝关节交叉,将引起机器人的摆动腿的相应冲击的状态分类为摆动腿与机器人的对侧腿交叉;以及移动摆动腿以与机器人的对侧腿不交叉。
19.在一些示例中,对与相应冲击对应的机器人的腿的状态进行分类还包括确定摆动腿位于机器人的对侧腿附近,确定与相应冲击对应的扭矩由主要来自摆动腿的髋关节的横向分量的关节动力学产生,将引起机器人的摆动腿的相应冲击的状态分类为未交叉的对侧腿冲击,以及移动摆动腿远离机器人的矢状面。
20.在一些配置中,对与相应冲击对应的机器人的腿的状态进行分类还包括确定摆动腿的膝关节在摆动阶段向后移动,确定导致与相应冲击对应的意外扭矩的关节动力学包括围绕摆动腿的髋关节的屈曲-伸展扭矩,屈曲-伸展扭矩大于摆动腿的膝关节扭矩和围绕摆动腿的髋关节的外展-内收扭矩两者,将引起机器人的摆动腿的相应冲击的状态分类为摆动腿的膝关节接触机器人的主体后面的地形,以及使摆动腿的膝关节相对于机器人的主体向前移动。
21.在一些实现方式中,对与相应冲击对应的机器人的腿的状态进行分类还包括确定
摆动腿的膝关节接近感知的地面,膝关节相对于机器人的主体向前移动,感知的地面由关于机器人的传感器数据定义。在该实现方式中,对与相应冲击对应的机器人的腿的状态进行分类还包括确定摆动腿的膝关节比摆动腿的远端更靠近感知的地面,确定与相应冲击对应的意外扭矩发生在摆动腿的髋关节处,将引起机器人的摆动腿的相应冲击的状态分类为摆动腿的膝关节接触机器人的主体下方的地形,以及继续摆动腿的运动,而不响应摆动腿的膝关节接触机器人的主体下方的地形。
22.在一些示例中,确定机器人的摆动腿上的意外扭矩是否对应于摆动腿上的冲击包括确定意外扭矩是否满足冲击检测阈值,其中冲击检测阈值包括对应于已知冲击的扭矩大小。在其他示例中,基于以下之间的差来确定摆动腿上的意外扭矩:由机器人周围的关节扭矩传感器测量的测量扭矩,表示由重力引起的相应扭矩的第一预期扭矩,以及表示加速机器人的摆动腿的相应扭矩的第二预期扭矩。
23.在一些配置中,操作包括当机器人的摆动腿的关节接近关节的运动范围的极限时,确定在摆动阶段期间,意外扭矩未能指示摆动腿上的冲击。确定摆动腿上的意外扭矩是否对应于摆动腿上的冲击可包括确定摆动腿上的意外扭矩对应于冲击扭矩,冲击扭矩与摆动腿的关节的运动相反。
24.在一些实现方式中,摆动腿的关节动力学对应于摆动腿的膝关节的关节动力学以及摆动腿的髋关节的关节动力学。髋关节的关节动力学可包括外展或内收摆动腿的外展-内收扭矩以及屈曲或伸展摆动腿的屈曲-伸展扭矩。
25.本公开的一个或多个实现方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求中,其他方面、特征和优点将是清楚的。
附图说明
26.图1a是环境内的示例机器人的示意图。
27.图1b是图1a的机器人的示例系统的示意图。
28.图2a是图1a的机器人的示例冲击检测系统的示意图。
29.图2b-2e是图1a的机器人的冲击检测系统在冲击检测期间的示例摆动腿的示意图。
30.图2g-2l是图1a的机器人经历的示例冲击状态的透视图。
31.图2f是图1a的机器人的示例冲击检测系统的示意图。
32.图3是机器人用于检测机器人周围的环境中的冲击的操作的示例布置。
33.图4是可用于实现这里描述的系统和方法的示例计算设备的示意图。
34.各个附图中相同的参考符号指示相同的元件。
具体实施方式
35.当机器人在环境中进行机动时,机器人的各种系统与机器人通信,以指示在哪里行迈步(例如,腿的脚放置)、如何移动机器人的腿(例如,摆动轨迹)、如何避开障碍物、如何保持平衡等。机器人运动的更关键的方面之一是理解机器人与其环境的关系。例如,一个方面是理解机器人的结构如何与自身或环境中的物体(例如,环境的牵引表面)相互作用。在运动期间中,这些相互作用不仅取决于环境,还取决于机器人的特征(例如速度、步态、位置
等)。为了理解机器人的这些关系,机器人使用各种技术进行冲击检测和/或冲击反应。
36.对于有腿机器人,准确检测机器人的腿何时接触到牵引表面(例如,地面)可能很重要。例如,当机器人的腿接触地面(即,触地),但是机器人没有检测到腿的触地,机器人将继续向下移动这条腿,实际上试图推动这条腿穿过地面。这里,当继续向下移动腿时,机器人会受到来自地面的作用在腿上的法向力。问题是,这个法向力可能会破坏机器人的平衡,并且在某些情况下,会导致机器人翻转(例如,翻身)。当机器人检测到触地较晚时,它会影响机器人的横向稳定性,因为机器人会受到比预期更大的冲击。换句话说,当地面冲击实际发生时,机器人并没有预料到。因此,机器人可能无法解释或适当抗衡这种冲击。
37.除准确检测触地,机器人还采用冲击检测来检测绊倒。绊倒通常指机器人的步态的中断。换句话说,机器人可(例如,基于步态控制器)具有计划的运动轨迹,但是由于与某个物体、环境元素或其自身的接触而绊倒。对绊倒和牵引表面接触(例如,腿的触地)两者,不仅检测这样的状态而且最小化检测和/或响应这样的状态所花费的时间可能是有利的。通常随着绊倒,机器人检测到绊倒的速度越快,机器人从绊倒中受到的力(或旋转)越小。此外,在检测到绊倒的速度和机器人将克服绊倒状态(例如,稳定或继续运动)的可能性之间可能存在比例关系。换句话说,快速检测绊倒可允许机器人的系统快速反应和/或响应绊倒。因此,绊倒检测旨在最小化机器人在环境周围移动期间受到的干扰。
38.参考图1a,机器人100包括主体110,主体110具有基于运动的结构,诸如连接到主体110的腿120a-d,腿120a-d使得机器人100能够在环境10周围移动。在一些示例中,每条腿120是可铰接的结构,使得一个或多个关节j允许腿120的构件122移动。例如,每条腿120包括将腿120的上部构件122,122u连接到主体110的髋关节jh和将腿120的上部构件122u连接到腿120的下部构件122
l
的膝关节jk。对于冲击检测,髋关节jh可以进一步分解为髋关节jh的外展-内收旋转(称为“j
hx”,用于发生在机器人100的正面平面(即,在x方向轴a
x
和z方向轴az的方向上延伸的x-z平面))以及髋关节jh的屈曲-伸展旋转(称为“j
hy”,用于发生在机器人100的矢状面(即,在y方向轴ay和z方向轴az的方向上延伸的y-z平面))。尽管图1a描绘了具有四条腿120a-d的四足机器人,但是机器人100可以包括任何数量的腿或基于运动的结构(例如,具有两条腿的两足或人形机器人),其提供了在环境10内穿越地形的手段。
39.为了穿越地形,每条腿120具有接触地形表面(即牵引表面)的远端124。换句话说,腿120的远端124是机器人100使用的腿120的端部,以在机器人100的运动期间枢转、放置或通常提供牵引。例如,腿120的远端124对应于机器人100的脚。在一些示例中,尽管未示出,腿120的远端124包括踝关节ja,使得远端124可相对于腿120的下部构件122
l
铰接。
40.机器人100具有沿着重力方向的垂直重力轴(例如,显示为z方向轴az)和质心(center of mass,cm),该质心cm是机器人100的分布质量的加权相对位置总和为零的点。机器人100还具有基于相对于垂直重力轴az(即,相对于重力的固定参考系)的cm的姿态p,以定义机器人100采取的特定姿势或站立。机器人100的姿势可以由机器人100在空间中的方位或角位置来定义。腿120相对于主体110的运动改变了机器人100的姿态(即,机器人的cm的位置和机器人100的姿势或方位的组合)。这里,高度通常指沿z方向的距离。机器人100的矢状面对应于在y方向轴ay和z方向轴az的方向上延伸的y-z平面。换句话说,矢状面将机器人100平分为左侧和右侧。通常垂直于矢状面,地平面(也称为横向平面)通过在x方向轴a
x
和y方向轴ay的方向上延伸而跨越x-y平面。地平面指的是地面12,其中机器人100的腿120
的远端124可以生成牵引力以帮助机器人100在环境10周围移动。机器人100的另一解剖平面是延伸穿过机器人100的主体110的前平面(例如,从具有第一条腿120a的机器人100的左侧到具有第二条腿120b的机器人100的右侧)。前平面通过在x方向轴a
x
和z方向轴az的方向上延伸而跨越x-z平面。
41.当有腿机器人在环境10周围移动时,机器人的腿120经历步态周期(gait cycle)。通常,当腿120触地或接触地面12时,步态周期开始,并且当同一条腿120再次接触地面12时,步态周期结束。步态周期可以主要分为两个阶段,摆动阶段和站立阶段。在摆动阶段期间,腿120执行(i)从地面12抬离(有时也称为脚趾离开以及站立阶段和摆动阶段之间的过渡),(ii)腿120的膝关节jk处的屈曲,(iii)腿120的膝关节jk的伸展,以及(iv)触地回到地面12。这里,处于摆动阶段的腿120被称为摆动腿120
sw
。随着摆动腿120
sw
进行摆动阶段120
sw
的运动,另一条腿120执行站立阶段。站立阶段指的是腿120的远端124(例如,脚)在地面12上的一段时间。在站立阶段期间,腿120执行(i)初始地面接触,其触发从摆动阶段到站立阶段的过渡,(ii)负载响应,其中腿120抑制地面接触,(iii)当对侧腿(即摆动腿120
sw
)抬离并摆动到平衡位置(大约在摆动阶段的中途)时的中间站立支撑,以及(iv)从机器人的cm位于腿120上方时直到对侧腿120接触到地面12的终端站立支撑。这里,站立阶段的腿120被称为站立腿120
st

42.为了在环境10周围进行机动,机器人100包括具有一个或多个传感器132,132a-n(例如,示为第一传感器132,132a和第二传感器132,132b)的传感器系统130。传感器132可包括视觉/图像传感器、惯性传感器(例如惯性测量单元(ium))、力传感器和/或运动传感器。传感器132的一些示例包括相机(诸如立体相机)、扫描光检测和测距(lidar)传感器或扫描激光检测和测距(ladar)传感器。在一些示例中,传感器132具有定义对应于传感器132的感测范围或区域的(多个)对应的视野fv。例如,图1a描绘了机器人100的视野fv。每个传感器132可以是可枢转的和/或可旋转的,使得传感器132可例如围绕一个或多个轴(例如,相对于地平面的x轴、y轴或z轴)改变视野fv。
43.在一些实现方式中,传感器系统130包括连接到关节j的(多个)传感器132。在一些示例中,这些传感器132连接到操作机器人100的关节j的电机(例如,传感器132,132a

b)。这里,这些传感器132以基于关节的传感器数据134的形式生成关节动力学134,134
jd
。作为基于关节的传感器数据134收集的关节动力学134
jd
可以包括关节角度(例如,上部构件122u相对于下部构件122
l
)、关节速度(例如,关节角速度或关节角加速度)和/或关节j处受到的关节扭矩(也称为关节力)。这里,由一个或多个传感器132生成的基于关节的传感器数据134可以是原始传感器数据、被进一步处理以形成不同类型的关节动力学134
jd
的数据或者两者的某种组合。例如,传感器132测量关节位置(或在关节处连接的(多个)构件122的位置),并且机器人100的系统执行进一步的处理以从位置数据导出速度和/或加速度。在其他示例中,传感器132被配置为直接测量速度和/或加速度。
44.当用传感器132测量视野fv时,传感器系统130生成对应于视野fv的传感器数据134(也称为图像数据)。在一些示例中,传感器数据134是对应于由三维体积图像传感器132生成的三维体积点云的图像数据。附加地或可选地,当机器人100在环境10周围进行机动时,传感器系统130收集机器人100的姿态数据,该姿态数据包括(例如,由imu测量的)惯性测量数据。在一些示例中,姿态数据包括关于机器人100的运动学数据和/或方位数据,例如,关
于机器人100的关节j或腿120的其他部分的运动学数据和/或方位数据。利用传感器数据134,机器人100的感知系统200可以生成环境10周围的地形的地图182。
45.当机器人100在环境10周围进行机动时,传感器系统130收集与环境10的地形和/或机器人100的结构(例如,机器人100的关节动力学和/或里程计)相关的传感器数据134。例如,图1a描绘传感器系统130收集关于作为机器人100的环境10的房间的传感器数据134。当传感器系统130收集传感器数据134时,计算系统140被配置为存储、处理和/或向机器人100的各种系统(例如,控制系统170、感知系统180、里程计系统190和/或冲击检测器200)传送传感器数据134。为执行与传感器数据134相关的计算任务,机器人100的计算系统140包括数据处理硬件142和存储器硬件144。数据处理硬件142被配置为执行存储在存储器硬件144中的指令,以执行与机器人100的活动(例如,移动和/或基于移动的活动)相关的计算任务。一般来说,计算系统140指的是数据处理硬件142和/或存储器硬件144的一个或多个位置。
46.在一些示例中,计算系统140是位于机器人100上的本地系统。当位于机器人100上时,计算系统140可以是集中式的(即,在机器人100上的单个位置/区域,例如,机器人100的主体110)、分散式的(即,位于机器人100周围的各个位置处)、或者两者的混合式组合(例如,其中大多数集中式硬件和少数分散式硬件)。为了说明一些差异,分散式计算系统140可以允许处理发生在活动位置处(例如,在移动腿120的关节的电机处),而集中式计算系统140可以允许中央处理中心与位于机器人100上的不同位置处的系统进行通信(例如,与移动腿120的关节的电机通信)。
47.附加地或可选地,计算系统140包括远离机器人100的计算资源。例如,计算系统140经由网络150与远程系统160(例如,远程服务器或基于云的环境)通信。非常类似于计算系统140,远程系统160包括远程计算资源,例如远程数据处理硬件162和远程存储器硬件164。这里,传感器数据134或其他经处理的数据(例如,由计算系统140在本地处理的数据)可以存储在远程系统160中,并且可以被计算系统140访问。在一些示例中,计算系统140被配置为利用远程资源162、164作为计算资源142、144的扩展,使得计算系统140的资源可以驻留在远程系统160的资源上。
48.在一些实现方式中,如图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中的精确的流体运动(fluid movement)。
49.在一些示例中,控制系统170包括至少一个控制器172、路径生成器174、步伐定位器176和主体规划器178。控制系统170可以被配置为与机器人100的至少一个传感器系统130和任何其他系统(例如,感知系统180、里程计系统190和/或冲击检测器200)通信。控制系统170使用硬件140执行操作和其他功能。控制器172被配置为基于来自机器人100的系统(例如,控制系统170、感知系统180、里程计系统190和/或冲击检测器200)的输入或反馈来
控制机器人100在环境10周围穿越。这可以包括机器人100的姿态和/或行为之间的运动。例如,控制器172控制不同的脚步模式、腿模式、主体运动模式或视觉系统感测模式。
50.在一些示例中,控制器172包括多个控制器172,其中每个控制器172具有固定的节奏。固定的节奏指的是腿120的步伐或摆动阶段的固定的定时。例如,控制器172指示机器人100以特定频率(例如,每250毫秒、350毫秒等一步)移动腿120(例如,走一步)。利用多个控制器172,其中每个控制器172具有固定的节奏,机器人100可以通过在控制器172之间切换来感受可变的定时。在一些实现方式中,当机器人100穿越环境10时,机器人100连续切换/选择固定的节奏控制器172(例如,每3毫秒重新选择控制器170)。
51.参考图1b,路径生成器174被配置为确定机器人100的水平运动。例如,水平运动指的是机器人100的平移(即,在x-y平面中的运动)和/或偏航(raw)(即,围绕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的动力学(例如,旋转,诸如俯仰或偏航和/或cm高度),以成功地在环境10周围移动。
52.感知系统180是帮助机器人100在具有各种障碍物的地形中更精确地移动的机器人100的系统。当传感器132收集机器人100周围的空间(即,机器人的环境10)的传感器数据134时,感知系统180使用传感器数据134来形成环境10的一个或多个地图182。一旦感知系统180生成地图182,感知系统180还被配置为(例如,通过将传感器数据134投影到预先存在的地图上)向地图182添加信息和/或从地图182移除信息。
53.进一步参考图1b,里程计系统190被配置为测量机器人100在世界参考系(例如,环境10)内的位置以及机器人100在该世界参考系中移动的速度。换句话说,里程计系统190生成里程计信息192作为机器人100相对于世界参考系的特征的一个或多个估计(例如,测量)。在一些示例中,里程计系统190从诸如imu(例如,(多个)加速度计和/或(多个)陀螺仪)的传感器132接收传感器数据134。利用传感器数据134,里程计系统190可以基于以下假设生成里程计信息192:当腿120的远端124与地面12接触并且不滑动时,远端124是静止的。通过将该假设与传感器数据134组合,里程计系统190生成关于机器人相对于世界参考系(例如,环境10)的运动的里程计信息192。换句话说,里程计系统190解释运动学和惯性测量,以产生关于机器人100相对于世界参考系的估计。
54.机器人100的冲击检测系统200被配置为接收来自机器人100的其他系统(例如,传感器系统130、计算系统140、远程系统160、控制系统170、感知系统180和/或里程计系统190)的输入。通过利用来自机器人100的其他系统的信息,冲击检测系统200尝试对于识别冲击202做出合理的判决(informed decision),对冲击202进行分类,并且在某些情况下,生成对冲击202的响应204(例如,调用绊倒响应)。在一些示例中,冲击检测系统200接收关节动力学134
jd
作为输入。例如,冲击检测系统200接收关节力134
jd
,134
jd
a,以使冲击检测系统200能够检测远端124(也称为机器人100的脚124)何时接触地面12。在一些示例中,冲击检测系统200接收关节角度134
jd
,134
jd
b,以检测远端124何时停止移动和/或远端124相对
于地面12的位置(例如,如机器人100所感知的)。在一些实现方式中,冲击检测系统200接收角速度134
jd
,134
jd
c以检测远端124的速度(例如,以检测脚是否已停止相对于地面的移动)。尽管图2a描绘冲击检测系统200接收关节力、关节角度和角速度134
jda–
c的每一个,但是冲击检测系统200的一些类型的检测可使用更多或更少的输入。
55.在一些配置中,除了关节动力学134
jd
之外,冲击检测系统200接收机器人100的里程计192。里程计使得冲击检测系统200能够通过解释世界参考系的运动学(例如,机器人100相对于环境10)和相对参考系的运动学(例如,机器人100的主体110或腿120相对于机器人100本身)来确定对机器人100的结构的动力学的估计。例如,机器人100的脚124的速度等于主体110在世界参考系中的速度(例如,由里程计系统190确定)加上脚124相对于主体110的速度(例如,由传感器系统130感测)。
56.附加地或可选地,冲击检测系统200从感知系统180接收地图182(例如,除了关节动力学134
jd
和/或里程计192之外)。在一些示例中,冲击检测系统200解释感知系统180的故障,以理解绊倒状态或牵引表面接触。然而在一些实现方式中,感知系统180的地图182允许冲击检测系统200对绊倒类型进行分类。例如,与如果地图182没有感知到地面12附近的脚124相比,当地图182感知到地面接近脚124时,脚124更有可能触碰地面。
57.参考图2a,冲击检测系统200包括检测器210。检测器210被配置为识别机器人100的一条或多条腿120(例如,脚)上的(多个)意外力f(或扭矩t)。当冲击检测系统200识别出意外力f(或扭矩t)时,冲击检测系统200确定意外力f是否对应于冲击202。在运动期间,摆动腿120
sw
通常生成最小量的扭矩t。该最小量的扭矩t通常可通过逆动力学预测。换句话说,基于逆动力学和重力,存在作用在摆动腿120
sw
上的预期量的扭矩t。该预期量的扭矩t等于由重力贡献的扭矩(即重力扭矩tg)与为了加速腿120以实现步态运动而预期的扭矩t的组合(即来自逆动力学t
id
的扭矩)。因为摆动腿120
sw
受到的大部分扭矩t是已知的,所以检测器210被配置为确定意外扭矩t(也称为补偿扭矩t
comp
)。例如,下面的等式(1)示出了检测器210用来确定补偿扭矩t
comp
的等式。
58.t
comp
=t
measured-t
g-t
id
ꢀꢀꢀ
(1)
59.这里,t
measured
是从(多个)关节传感器132测量的扭矩。换句话说,检测器210被配置为基于来自传感器系统130(例如,来自机器人100的关节j处的传感器132)的传感器数据134,接收和/或确定作用在摆动腿120
sw
上的扭矩t
measured
的测量的量。利用扭矩t
measured
的测量的量和预期扭矩t(即重力扭矩tg和来自逆动力学的扭矩t
id
),检测器210确定补偿扭矩t
comp
。基于补偿扭矩t
comp
,检测器210被配置为识别摆动腿120
sw
何时受到冲击202。
60.在一些实现方式中,检测器210通过确定补偿扭矩t
comp
是否满足冲击扭矩阈值t
th
(例如,检测器210确定补偿扭矩t
comp
超过设定为冲击扭矩阈值t
th
的值)来确定摆动腿120
sw
上的扭矩t是否对应于摆动腿120
sw
上的冲击202。这里,冲击扭矩阈值t
th
被配置为表示冲击检测系统200在冲击检测期间预期有多少噪声。换句话说,检测器210可以配置有冲击扭矩阈值t
th
,以确保检测器210通常不会基于传感器噪声错误地检测到冲击202。当补偿扭矩t
comp
满足冲击扭矩阈值t
th
时,检测器210传达摆动腿120
sw
上已经发生冲击202(或潜在冲击202)。相反,当补偿扭矩t
comp
未能满足冲击扭矩阈值t
th
时,检测器210继续监测摆动腿120
sw
上的扭矩t。
61.在一些示例中,检测器210监测摆动腿120
sw
的每个关节j上的扭矩t。例如,检测器
210监测膝关节jk处的扭矩t、髋关节的外展-内收分量j
hx
和髋关节的屈曲-伸展分量j
hy
。在一些实现方式中,对于每个关节j,检测器210生成对应于潜在冲击的证据212。这里,如图2a所示,证据212指的是表示大于冲击扭矩阈值t
th
的补偿扭矩t
comp
的曲线下的区域。例如,检测器210生成证据212作为在表示补偿扭矩t
comp
但高于冲击扭矩阈值t
th
的曲线下方的积分。如图2a所示,为了确定证据212,检测器210对补偿扭矩t
comp
的绝对值进行积分。
62.当检测器210生成证据212时,检测器210可以进一步被配置为当补偿扭矩t
comp
的值指示冲击202没有发生时移除证据212。在一些示例中,表示补偿扭矩t
comp
的曲线将超过冲击扭矩阈值t
th
,但是随后下降到低于冲击扭矩阈值t
th
的值。当该下降低于冲击扭矩阈值t
th
出现时,检测器210移除证据212以降低冲击检测系统200识别错误冲击的可能性。类似地,在一些实现方式中,补偿扭矩t
comp
的值指示冲击202没有发生,因为补偿扭矩t
comp
的值改变符号(例如,从正到负或反之亦然)。这里,检测器210在符号改变之前清除任何证据212,因为冲击检测系统200被配置为(例如,基于补偿扭矩t
comp
的绝对值的积分)将冲击202识别为具有相同的符号。因此,符号的变化指示潜在的错误冲击。
63.在一些示例中,当腿120的所有关节j的证据212的总和满足证据阈值212
th
时,检测器210确定冲击202在摆动腿120
sw
上发生。这里,证据阈值212
th
指的是摆动腿120
sw
在所有关节j上总体受到的指示冲击202的所需证据量。尽管图2a描绘了检测器210确定腿120的所有关节j的证据212的总和是否满足证据阈值212
th
,但是检测器210的其他配置可以对少于腿120的所有关节j执行该确定(例如,对于膝关节jk和髋关节jh的一个分量或者没有膝关节jk的髋关节jh的两个分量)。
64.在某些配置中,证据阈值212
th
取决于摆动阶段。例如,冲击检测系统200被配置为当预期摆动腿120
sw
触地时比当不预期摆动腿120
sw
触地时具有更高的灵敏度。基于此,可以基于摆动阶段的完成百分比来缩放或修改证据阈值212
th
。这里,机器人100的其他系统可以将摆动阶段的完成百分比传送给冲击检测器系统200。例如,控制系统170将摆动阶段的完成百分比传送给冲击检测系统200,因为可以基于控制器172为具有固定节奏的摆动腿120
sw
执行步态周期来导出完成百分比。在一些示例中,冲击检测系统200被配置为基于摆动腿120
sw
的当前位置(例如,由传感器数据134确定)和操作摆动腿120
sw
的控制器172来确定摆动阶段的完成百分比。
65.参考图2b,在一些实现方式中,检测器210被配置为对潜在冲击或冲击202执行进一步分析。换句话说,可能存在这样的情况,其中尽管所需证据212
th
指示冲击202,但是可以分析检测到的冲击202的实际情况,以确认检测到的冲击202是否是实际冲击。在一些示例中,诸如图2b,机器人100的腿120的结构包括限制腿120的运动范围的端部止动件(end stop)126。例如,运动范围由端部止动件126限制,以防止损坏腿120的结构,或者基于铰接腿120的一个或多个电机的限制来防止损坏。当端部止动件126限制腿120的运动范围时,腿120的关节传感器132可能受到由端部止动件126施加的力f引起的突然的测量扭矩。即使来自端部止动件126的该力f生成扭矩t的正确符号,检测器210被配置为忽略在检测器210识别出摆动腿120
sw
靠近端部止动件126之后发生的冲击202。
66.参考图2c-2e,检测器210可以被配置为确保引起潜在冲击202的扭矩t总是与腿120的运动(例如,摆动腿120
sw
的脚124的运动)相反。换句话说,当状态导致加速腿120的相关关节j的测量扭矩(例如,加速腿120本身)时,冲击检测系统200不将该状态分类为冲击
202。图2c-2e示出了检测器210确定对应于冲击202的扭矩t是否与腿120的运动(例如,示为腿120的脚124的运动)相反的状态。在每个示例中,脚124在指定为d
t
的行进方向上移动。参考图2c,脚124向左行进,使得检测器210仅考虑膝关节jk处的第一扭矩t,t1,而不考虑膝关节jk处的第二扭矩t,t2,因为第二扭矩t2有助于脚124的运动。在图2d中,脚124的行进方向d
t
是向下的。由于在任一方向上的扭矩t可以包括与该向下运动相反,所以检测器210被配置为当潜在扭矩贡献不清楚时考虑在任一方向上的作用扭矩t(例如,第一扭矩t1或第二扭矩t2)。在图2e中,脚124的行进方向d
t
大部分是向下的,但是其中,方向分量向右移动。这里,检测器210可以对每个方向上的扭矩t施加权重,使得检测器210在与脚124的方向分量(例如,第二扭矩t2)相反的方向上需要更大的扭矩t,以确保扭矩t对应于冲击202(反之亦然)。
67.在一些示例中,检测器210识别脚124的速度,然后确定潜在的冲击扭矩t是增加还是减小脚124的速度。当潜在冲击扭矩t有助于增加脚124的速度时,检测器210忽略该冲击202(或潜在冲击)。另一方面,当潜在冲击扭矩t有助于降低脚124的速度时,检测器210可以允许将该冲击202检测为实际冲击(例如,服从检测器210的其他标准)。
68.参考图2a和2f,当检测器210检测到冲击202时,检测器210被配置为将该冲击202传送到冲击检测系统200的分类器220。分类器220被配置为确定冲击202的状态。换句话说,机器人100的腿120发生了或正在发生什么类型的冲击202,并且根据冲击202的类型,生成响应204。在一些示例中,分类器220将响应204传送给机器人100的其他系统(例如,控制系统170)。当控制系统170接收到响应204时,控制系统170的控制器172可以生成适当的运动来克服冲击202(例如,稳定机器人100)。在一些示例中,分类器220被配置为层次结构,使得分类器220试图在其他类型的冲击202之前对某些类型的冲击202(例如,在绊倒状态之前的触地接触)进行分类。
69.在一些示例中,分类器220利用受到冲击202的腿120的远端124(即脚124)的特征来对冲击202进行分类。更具体地,分类器220可以使用脚124在世界中的位置(例如,从关节动力学134
jd
和里程计信息192的某种组合中导出)、脚124在世界中的速度(例如,从关节动力学134
jd
和里程计信息192的某种组合中导出)以及世界坐标系中的脚124上的力。这里,世界坐标系中的脚124上的力可以以两种不同的方式导出。在第一种方法中,分类器220可以通过基于雅可比变换从关节动力学134
jd
的关节扭矩t导出力来确定世界坐标系中的力。在第二种方法中,分类器220使用逆动力学来生成在世界坐标系中的脚124上的力。在一些示例中,分类器220基于第一种方法和第二种方法两者来确定脚124上的力,但是使用在世界坐标系中的脚124上生成接近零的力的任何方法来执行分类。在一些实现方式中,当对冲击202的类型进行分类时,分类器220将重要性与脚124的动力学相关联。例如,脚124上的力是最重要的特征,其次是脚124的速度,然后是脚124的位置,因为对于分类目的最不重要。
70.参考图2f,在一些示例中,分类器220首先确定冲击202是否对应于摆动腿120
sw
的触地。为了将冲击202分类为触地,分类器220通常确定腿120的远端124是否受到显著的垂直力(例如,指示来自地面12的法向力)和/或远端124的速度是否不再向下移动,即使控制系统170指示远端124向下移动。这里,分类器220可配置有指示垂直力的显著大小(例如,有使机器人100不稳定的风险)的垂直力阈值。换句话说,当分类器220确定远端124上的垂直力满足垂直力阈值(例如,超过设定为垂直力阈值的值)时,分类器220将摆动腿120
sw
上的冲击202分类为触地。在一些实现方式中,分类器220基于某些情况修改垂直力阈值。例如,当
机器人100(例如,通过控制系统170)响应于绊倒(例如,冲击检测系统200生成对冲击202的响应204)时,分类器220修改垂直力阈值。在另一示例中,分类器220基于摆动阶段(例如,摆动阶段的完成百分比)修改垂直力阈值。为了说明,当分类器220意识到摆动腿120
sw
处于摆动阶段的早期(例如,在抬离后不久)时,分类器220可修改垂直力阈值。附加地或可选地,当分类器220将冲击202识别为标准绊倒,但是机器人100不能提升脚124作为对标准绊倒的响应204时,分类器220将冲击202分类为触地。
71.在一些配置中,当摆动腿120
sw
接近完成摆动阶段的结束时,分类器220将任何新的冲击202分类为触地。例如,当摆动阶段的完成百分比大于或等于95%完成时,分类器220将冲击202分类为触地。这里,这个状态保护机器人100免受因突然未检测到的触地或可能由触地的延迟检测导致的其他问题而面临不稳定的风险。
72.在一些示例中,当摆动腿120
sw
处于摆动阶段后期并且摆动腿120
sw
的计划轨迹正朝着地面12向下移动时,分类器220将冲击202分类为触地。例如,当摆动阶段的完成百分比大约大于或等于65%完成并且摆动腿120
sw
的计划轨迹正朝着地面12向下移动时,分类器220将冲击202分类为触地。
73.在摆动腿120
sw
处于摆动阶段后期并且摆动腿120
sw
的计划轨迹正朝着地面12向下移动的这些示例中,可能存在分类器220用来将冲击202分类为触地的附加的标准但可选的标准。第一个附加的标准可以是脚124上的力非常大(例如,满足垂直力阈值或其某个版本)。第二个附加的标准可以是脚124受到的冲击相当大。例如,非常类似于垂直力阈值,分类器220配置有脉冲阈值,该脉冲阈值指示脚124随着时间受到的指示触地的力的量(例如,脚124上的脉冲超过在冲击检测系统200处配置的脉冲阈值)。第三个附加的标准可以是脚124的测量速度不像(例如通过控制系统170)预期的那样向下(在z方向上朝向地面12)。例如,脚124的位置变化大于脚124的阈值速度(例如,大于-0.5m/s),使得尽管控制系统170希望脚124在z方向上朝向地面12向下移动,但是脚124实际上朝着地面12以递减的速度移动。
74.进一步参考图2f,当冲击202不对应于摆动腿120
sw
的触地时,分类器220被配置为识别冲击202是否由特殊类型的绊倒状态222,222
sp
引起。特殊绊倒状态222
sp
的一些示例包括以下:当腿120的大腿122u在主体110上时;当脚124受到抬离拖步时;当摆动腿120
sw
与对侧腿120
cl
交叉时(图2g和2h);当摆动腿120
sw
撞击对侧腿120
cl
时(图2i);当机器人100的膝盖在机器人100后面的地形上时(图2j);以及当腿120的膝盖在机器人100下方的地形上时(图2k)。在一些实现方式中,分类器220基于机器人100的关节动力学134
jd
和/或里程计信息192来识别特殊绊倒状态222
sp
。当分类器220根据绊倒类型识别特殊类型的绊倒状态222
sp
时,分类器220(i)可以生成响应204以克服绊倒和/或减少绊倒的影响。当分类器220确定冲击202不是由特殊类型的绊倒状态222
sp
引起时,分类器220将冲击202分类为由标准绊倒状态222,222
std
引起(例如,如图2l所示)。对于标准绊倒状态222
std
,分类器220生成响应204以提升受到冲击202的脚124(即,增加脚124在z方向上的高度)。图2l示出了机器人100的标准绊倒状态222
std

75.在一些配置中,当分类器220确定冲击202不是由摆动腿120
sw
的触地引起并且摆动腿120
sw
处于摆动阶段的早期时(例如,摆动阶段完成不到10%),分类器220将冲击202分类为抬离拖步。在一些示例中,分类器220确定摆动阶段的完成百分比满足摆动阶段阈值(例如,小于摆动阶段阈值),该摆动阶段阈值指示摆动腿120
sw
处于摆动阶段的早期。这里,抬离
拖步指的是在摆动腿120
sw
抬离地面12时,摆动腿120
sw
接触地面时(例如,机器人100在其离开时踩了它的脚124)。在这种特殊的绊倒状态222
sp
下,摆动腿120
sw
将继续抬离地面12,并因此清除引起冲击202的地面12。因此,分类器220不基于这种抬离拖步生成响应204,因为摆动腿120
sw
不会冒作为冲击202结果的任何阻力的风险。
76.在一些配置中,分类器220确定机器人100的主体110上的大腿(即,腿120的上部构件122
l
)的位置导致了检测到的冲击202。这里,当关节动力学134
jd
指示髋关节的外展-内收分量j
hx
超过预定极限时,该特殊绊倒状态222
sp
出现。一般来说,髋关节的每个分量j
hx,z
可以配置有预定极限。例如,控制系统170或机器人100的另一系统可以基于机器人100的尺寸和/或机器人100的有效载荷来设置预定极限。在一些示例中,髋关节的外展-内收分量j
hx
具有预定极限,该预定极限是髋关节的屈曲-伸展分量j
hy
的函数。换句话说,当外展/内收超过髋关节的外展-内收分量j
hx
的预定极限时,腿120的上部构件122u有与机器人100的主体110碰撞的风险。非常类似于抬离拖步的特殊绊倒状态222
sp
,分类器220不基于这种类型的冲击202生成响应204,并且摆动腿120
sw
继续执行步态的摆动阶段。
77.参考图2g和2h,在一些示例中,分类器220确定摆动腿120
sw
(例如,示为第一条腿120a)与对侧腿120
cl
(例如,示为第二条腿120b,120
st
)交叉以引起冲击202。这里,对侧腿120
cl
指的是两条腿120a

b之间的关系,使得第一条腿120a与第二条腿120b的矢状面(即,y-z平面)相对。例如,对于四足机器人(如图所示),站立腿120
st
通常是摆动腿120
sw
的对侧腿120
cl
(反之亦然),以在运动期间保持机器人100的平衡。在一些示例中,分类器220通过基于机器人100的运动学确定摆动腿120
sw
是否靠近对侧腿120
cl
,来确定这种类型的特殊绊倒状态222
sp
。在这些示例中,确定摆动腿120
sw
是否靠近对侧腿120
cl
可包括确定摆动腿120
sw
到对侧腿120
cl
的第一最近点和对侧腿120
cl
到摆动腿120
sw
的第二最近点之间的矢量距离。这里,当矢量距离指示摆动腿120
sw
与对侧腿120
cl
交叉时,分类器220可附加地确定每条腿120
sw
,120
cl
的脚124a

b是否交叉和/或每条腿120
sw
,120
cl
的膝关节jk,j
ka–
b是否交叉。在一些配置中,分类器220被配置为确定这些状态中的一个或多个为真(例如,一个为真,两个为真,或者所有三个都为真)。换句话说,分类器220确定(i)矢量距离是否指示腿120
sw
,120
cl
交叉,(ii)膝关节jk,j
ka–
b的位置是否指示腿120
sw
,120
cl
交叉,或者(iii)脚124a

b的位置是否指示腿120
sw
,120
cl
交叉。当摆动腿120
sw
与对侧腿120
cl
交叉导致冲击202时,分类器220可生成响应204以解除腿120
sw
,120
cl
的交叉。例如,分类器220朝着摆动腿120
sw
的髋关节jh的z方向上的垂直轴移动摆动腿120
sw
的膝关节jk。
78.参考图2i,在一些实现方式中,分类器220确定摆动腿120
sw
靠近对侧腿120
cl
,但是(例如,基于机器人100的运动学)没有与对侧腿120
cl
交叉。这里,分类器220可以确定摆动腿120
sw
接触了引起冲击202的对侧腿120
cl
,但是在冲击202期间、之前或之后不久没有与对侧腿120
cl
交叉。在一些示例中,分类器220通过识别(i)摆动腿120
sw
处于摆动阶段中的不太晚时期(例如,小于65%完成)和(ii)检测器210用于确定冲击202的证据212主要来自髋关节的外展-内收分量j
hx
来形成该确定。换句话说,髋关节j
hx
的横向旋转的扭矩比髋关节和膝关节jk(例如,各自单独或组合在一起)的屈曲-伸展分量j
hy
的扭矩对识别冲击202的证据212的贡献更大。当摆动腿120
sw
与对侧腿120
cl
碰撞引起冲击202时,分类器220可以(例如,通过在前平面中将一条或多条腿120
sw
,120
cl
彼此远离地移动)生成响应204来分离腿120
sw
,120
cl
。换句话说,摆动腿120
sw
可以在矢状面内继续其最初计划的运动,同时覆盖前平面(例
如,沿着x轴a
x
)中的最初计划的运动,以与站立腿120
st
分离。
79.参考图2k-2l,在一些配置中,分类器220确定腿120(例如,摆动腿120
sw
)和机器人100的主体110后面(例如,图2j所示)或下方(例如,图2k所示)的地形之间的碰撞引起冲击202。在基于摆动腿120
sw
的膝关节jk和机器人100后面的地形之间的接触而发生冲击202的特殊绊倒状态222
sp
的情况下,分类器220确定(i)摆动腿120
sw
的膝关节jk(例如,在y方向上)正向后移动远离主体110和(ii)证据212指示摆动腿120
sw
的髋关节的屈曲-伸展分量j
hy
是关节扭矩的最大贡献者。在一些示例中,摆动腿120
sw
的髋关节的屈曲-伸展分量j
hy
大于膝关节jk和髋关节的外展-内收分量j
hx
两者(例如,单独或组合)的关节扭矩t贡献。在一些实现方式中,分类器220使用摆动腿120
sw
的运动学来确定摆动腿120
sw
的膝关节jk正在向后移动远离主体110。当分类器220将冲击202分类为腿120和机器人100后面的地形之间的碰撞时,分类器220生成响应204以移动使膝关节jk向前(例如,沿着y方向朝向机器人100的cm)。
80.参考图2l,这里,分类器220确定腿120和机器人100的主体110下方的地形之间的碰撞引起冲击202。为确定该特殊绊倒状态222
sp
,分类器220确定膝关节jk正在向前移动(例如,相对于摆动腿120
sw
的髋关节jh在y方向上向前),并且产生冲击202的证据212发生在除膝关节jk之外的关节j中。附加地或可选地,分类器220可使用感知系统180的一个或多个地图182来确定摆动腿120
sw
的膝关节jk比摆动腿120
sw
的脚124更靠近地面12。地图182还可以指示摆动腿120
sw
的膝关节jk最近在地面12附近被感知。在该特殊的绊倒状态222
sp
中,分类器220被配置为不生成响应204,因为通过继续步态的摆动阶段的摆动腿120
sw
的向前运动将使膝关节jk经过引起冲击202的物体。
81.在一些示例中,当感知系统180关闭或运行不良(例如,(多个)传感器132出现问题)时,冲击检测系统200可能是有利的。当这种情况发生时,冲击检测系统200可以用作环境10内进行检测的主要系统。相反,当感知系统180正常工作时,冲击检测系统200可以提供鲁棒性辅助系统以用于检测,尤其是在感知系统180出错或遇到临时问题的情况下。
82.图3是执行脚步接触检测的方法300的操作布置。在操作302,方法300接收机器人100的摆动腿120
sw
的关节动力学134
jd
。这里,摆动腿120
sw
执行机器人100的步态的摆动阶段。在操作304,方法300接收定义机器人100相对世界参考系的特征(例如姿态)的估计的里程计192。在操作306,方法300确定摆动腿120
sw
上的扭矩t是否对应于摆动腿120
sw
上的冲击202。当摆动腿120
sw
上的扭矩t对应于冲击202时,在操作308,308a,方法300基于机器人100的里程计192和摆动腿120
sw
的关节动力学134
jd
,确定冲击202是否指示摆动腿120
sw
在机器人100周围的地面12上触地。在操作308,308b,当冲击202不指示摆动腿120
sw
的触地时,方法300基于机器人100的里程计192和摆动腿120
sw
的关节动力学134
jd
对冲击202的原因进行分类。
83.图4是可用于实现本文档中描述的系统(例如,传感器系统130、计算系统140、远程系统160、控制系统170、感知系统180、里程计系统190和/或冲击检测系统200)和方法(例如,方法300)的示例计算设备400的示意图。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片式服务器、大型机和其他合适的计算机。这里所示的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文件中描述和/或要求保护的发明的实现方式。
84.计算设备400包括处理器410(例如,数据处理硬件)、存储器420(例如,存储器硬
件)、存储设备430、连接到存储器420和高速扩展端口450的高速接口/控制器440、以及连接到低速总线470和存储设备430的低速接口/控制器460。组件410、420、430、440、450和460中的每一个使用各种总线互连,并且可以安装在公共主板上或者以其他适当的方式安装。处理器410可以处理用于在计算设备400内执行的指令(包括存储在存储器420中的或在存储设备430上的指令),以在外部输入/输出设备(诸如连接到高速接口440的显示器480)上显示图形用户界面(gui)的图形信息。在其他实现方式中,可以酌情使用多个处理器和/或多条总线,以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备400,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
85.存储器420在计算设备400内非暂时性地存储信息。存储器420可以是计算机可读介质、(多个)易失性存储器单元或(多个)非易失性存储器单元。非暂时性存储器420可以是用于在临时或永久的基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
86.存储设备430能够为计算设备400提供大容量存储。在一些实现方式中,存储设备430是计算机可读介质。在各种不同的实现方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备,或者设备(包括存储区域网络或其他配置中的设备)阵列。在附加的实现方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含指令,该指令当被进行时执行一种或多种方法(例如上述那些方法)。信息载体是计算机或机器可读介质,诸如存储器420、存储设备430或处理器410上的存储器。
87.高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低带宽密集型操作。这种职责分配只是示例性的。在一些实现方式中,高速控制器440(例如,通过图形处理器或加速器)连接到存储器420、显示器480以及连接到可以接受各种扩展卡(未示出)的高速扩展端口450。在一些实现方式中,低速控制器460连接到存储设备430和低速扩展端口490。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口490可以(例如通过网络适配器)连接到一个或多个输入/输出设备(诸如键盘、定点设备、扫描仪)或网络设备(诸如交换机或路由器)。
88.如图所示,计算设备400可以以多种不同的形式实现。例如,它可以实现为标准服务器400a,或者在一组这样的服务器400a中多次实现为膝上型计算机400b,或者实现为机架服务器系统400c的部分。
89.这里描述的系统和技术的各种实现方式可以在数字电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用或通用的,被连接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及将数据和指令发送到存储系统、至少一个输入设备和至少一个输出设备。
90.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如这里所使用的,术语“机器可读介质”和“计算机可读介质”指的是用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
91.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。这些过程和逻辑流程也可以由专用逻辑电路(例如,fpga(现场可编程门阵列)或asic(专用集成电路))来执行。举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地连接到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),以从其接收数据或向其传送数据,或两者兼有。然而,计算机不需要有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储器设备(例如eprom、eeprom和闪存设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;以及cd rom和dvd-rom磁盘。处理器和存储器可以由专用逻辑电路来补充或结合在专用逻辑电路中。
92.为了提供与用户的交互,本公开一个或多个方面可以在计算机上实现,该计算机具有显示设备,例如crt(阴极射线管)、lcd(液晶显示器)监视器或用于向用户显示信息的触摸屏,以及可选的键盘和定点设备(例如鼠标或轨迹球),用户可以通过该定点设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,将网页发送到用户客户端设备上的网络浏览器。
93.已描述了多个实现方式。然而,应当理解,在不脱离本公开精神和范围的情况下,可进行各种修改。因此,其他实现方式在以下权利要求的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献