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

不完全感测机器人的鲁棒对接的制作方法

2023-09-25 07:05:19 来源:中国专利 TAG:


1.本公开涉及具有不完全(imperfect)感测的机器人的鲁棒对接。


背景技术:

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


技术实现要素:

3.本公开的一个方面提供了一种计算机实现的方法。当由腿式机器人的数据处理硬件执行时,计算机实现的方法使数据处理硬件执行包括接收与包括对接站的至少一部分的区域相对应的传感器数据的操作。操作还包括基于腿式机器人相对于对接站的初始姿势来确定对接站的估计姿势。另外,操作包括从所接收的传感器数据中识别与包括对接站的至少一部分的区域相对应的一个或多个对接站特征。此外,操作包括将一个或多个识别的对接站特征与一个或多个已知的对接站特征进行匹配。所述操作还包括:基于与所述一个或多个已知的对接站特征匹配的所述一个或多个所识别的对接站特征的取向,将所述对接站的所述估计的姿势调整为所述对接站的校正姿势。
4.本公开的方面可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括使用对接站的校正姿势指示腿式机器人在对接站处对接。在一些示例中,操作还包括使用对接站的校正姿势来生成对接站地图,该对接站地图包括关于对接站的地形信息。在另外的示例中,对接站地图包括一个或多个区域,所述一个或多个区域对应于腿式机器人应该避免接触腿式机器人的腿的相应脚的区域。一个或多个区域位于包括对接站的至少一部分的区域中。在另外的示例中,对接站地图包括与腿式机器人应该避免移动腿式机器人的主体的区域相对应的一个或多个区域。一个或多个区域位于包括对接站的至少一部分的区域中。在另外的示例中,对接站地图包括指示所识别的对接站特征的高度的一个或多个区域。一个或多个区域位于包括对接站的至少一部分的区域中。在另外的示例中,对接站地图包括对接站的状态指示符。状态指示符基于一个或多个识别的对接站特征与一个或多个已知的对接站特征的匹配。状态指示符识别对接站的可用性。
5.在一些实施方式中,对接站包括与用于对腿式机器人的电池充电的接触端子相关联的相应对接站特征。在一些实施例中,对接站包括对应于对准塔的相应对接站特征。所述对准塔被配置成当所述腿式机器人处于充电姿势时支撑所述腿式机器人的至少一部分,所述充电姿势在所述对接站处对所述腿式机器人的电池充电。
6.在一些实施方式中,操作还包括通过检测与对接站相关联的基准来识别腿式机器
人相对于对接站的初始姿势,该基准被配置为对与腿式机器人相关联的电池充电,并且基于检测到的基准确定机器人相对于对接站的初始对接姿势。在一些实施例中,腿式机器人是四足机器人。
7.本公开的另一方面提供了一种电池供电机器人,其包括主体、耦接到主体的一个或多个腿、数据处理硬件、与数据处理硬件通信的存储器硬件。存储器硬件存储指令,该指令当在数据处理硬件上执行时使数据处理硬件执行包括接收与包括对接站的至少一部分的区域相对应的传感器数据的操作。操作还包括基于电池供电机器人相对于对接站的初始姿势来确定对接站的估计姿势。另外,操作包括从所接收的传感器数据中识别与包括对接站的至少一部分的区域相对应的一个或多个对接站特征。此外,操作包括将一个或多个识别的对接站特征与一个或多个已知的对接站特征进行匹配。所述操作还包括:基于与所述一个或多个已知的对接站特征匹配的所述一个或多个所识别的对接站特征的取向,将所述对接站的所述估计的姿势调整为所述对接站的校正姿势。
8.本公开的该方面可以包括以下可选特征中的一个或多个。在一些示例中,操作还包括指示电池供电机器人使用对接站的校正姿势对接在对接站处。在一些实施例中,操作还包括使用对接站的校正姿势来生成对接站地图,该对接站地图包括关于对接站的地形信息。在进一步的实施例中,对接站地图包括与电池供电机器人应该避免触地电池供电机器人的一条或多条腿的相应脚的区域相对应的一个或多个区域。一个或多个区域位于包括对接站的至少一部分的区域中。在进一步的实施例中,对接站地图包括与电池供电机器人应该避免移动电池供电机器人的主体的区域相对应的一个或多个区域。一个或多个区域位于包括对接站的至少一部分的区域中。在另外的实施例中,对接站地图包括指示所识别的对接站特征的高度的一个或多个区域。一个或多个区域位于包括对接站的至少一部分的区域中。在进一步的实施例中,对接站地图包括对接站的状态指示符。状态指示符基于一个或多个识别的对接站特征与一个或多个已知的对接站特征的匹配。状态指示符识别对接站的可用性。
9.在一些实施方式中,对接站包括与用于对电池供电机器人的电池充电的接触端子相关联的相应对接站特征。在一些实施例中,对接站包括对应于对准塔的相应对接站特征。所述对准塔被配置为当所述电池供电机器人处于充电姿势时支撑所述电池供电机器人的至少一部分,所述充电姿势在所述对接站处对所述电池供电机器人的电池充电。在一些示例中,操作还包括通过检测与对接站相关联的基准来识别电池供电机器人相对于对接站的初始姿势,该基准被配置为对与电池供电机器人相关联的电池充电,并且基于检测到的基准确定电池供电机器人相对于对接站的初始对接姿势。在一些实施例中,电池供电机器人是四足的。
10.在附图和下面的描述中阐述了本公开的一个或多个实施方式的细节。其他方面、特征和优点将从说明书和附图以及权利要求书中显而易见。
附图说明
11.图1a是能够对接在充电站上的示例机器人的透视图。
12.图1b是图1a的机器人的示例系统的示意图。
13.图1c是用于图1a的机器人的示例充电站的透视图。
14.图2a-2c是图1a的机器人的示例对接系统的示意图。
15.图2d是与图1a的机器人对准的充电站的示例渲染的透视图。
16.图2e是对接站地图的示例渲染的透视图。
17.图2f和2g是至少部分地基于图2e的对接站地图生成的示例用户界面的视图。
18.图3是用于控制机器人以识别对接站并针对对接站调整机器人的姿势的方法的示例操作布置的流程图。
19.图4是可以用于实现本文描述的系统和方法的示例计算设备的示意图。
20.各附图中相同的附图标记表示相同的元件。
具体实施方式
21.当电池供电的机器人在环境中移动时,这些电池供电的机器人将消耗能量,并要求这些消耗的能量最终得到补充。换句话说,电池供电机器人能够消耗的能量是有限的,并且导致机器人成比例地具有有限的操作时间量。为了补充机器人消耗的能量,电池供电机器人在称为对接的过程中连接到充电站。由于当机器人具有低电池状态时机器人在充电站处对接并不罕见,因此如果机器人未能与充电站正确连接或对接,则机器人可能电池耗尽并需要某种形式的恢复(例如,人工恢复)。不幸的是,当机器人在远程空间中操作时,必须恢复机器人可能成为问题。也就是说,如果机器人用完电池电力,则某人或某物可能无法容易地恢复机器人。简单地说,这可能内在地破坏电池供电机器人的优点,因为电池供电机器人能够远程操作。为了克服这些问题,机器人必须具有可靠且鲁棒的对接过程,以确保机器人成功地与充电站对接。
22.使用于电池供电机器人的充电站的问题复杂化,电池供电机器人也是腿式机器人可能进一步使对接过程复杂化。例如,腿式机器人在围绕环境操纵时需要精确的腿协调以实现平衡。一般而言,当该环境包括障碍物时,腿式机器人必须理解如何考虑该障碍物以便为机器人执行给定任务。当机器人的任务是在其充电站对接时,充电站本身的结构可能类似于机器人的障碍物。也就是说,对于腿式机器人来说,重要的是精确地知道对接站所处的位置,以便确定使得腿式机器人能够与充电站正确连接(即,对接)的合适的步进位置。否则,腿式机器人可能会跳闸并可能掉落在其自己的对接站上。这不同于其他移动机器人,诸如基于轮的机器人,其不必步入路径规划以避免损坏充电站(例如,踢、踩或落入充电站)或机器人本身(例如,绊倒和/或坠落)。由于腿式机器人可以从不同的角度接近充电站并且有时需要重新定位以成功地与充电站对接,因此充电站可能对腿式机器人以及需要能够实现机器人的可靠和准确定位的对接过程的机器人提出独特的挑战。
23.参考图1a和图1b,机器人100包括具有基于运动的结构的主体110,诸如耦接到主体110的腿120a-d,腿120a-d使得机器人100能够在环境10中四处移动。在一些示例中,每个腿120是可铰接结构,使得一个或多个接头j允许腿120的构件122移动。例如,每个腿部120包括将腿部120的上部构件122、122u耦接到主体110的髋关节jh和将腿部120的上部构件122u耦接到腿部120的下部构件122
l
的膝关节jk。尽管图1a描绘了具有四条腿120a-d的四足机器人,但是机器人100可以包括任何数量的腿或基于机车的结构(例如,具有两条腿的双足或类人机器人,或者一条或多条腿的其他布置),其提供穿过环境10内的地形的手段。
24.主体110包括一个或多个充电端子112(例如,在图1a中示出为在机器人100的主体
110的后部中的机器人100的后腿120、120c-d附近的单个充电端子112)。一个或多个充电端子112可以位于机器人100的主体110的下侧,使得端子112面向地平面14并且被配置为接收用于机器人100的充电站的互补端子。在图1a的示例中,机器人100包括在机器人100的主体110的后半部分中(例如,朝向机器人100的后腿120、120c-d)的单个充电端子112。在一些实施方式中,主体110的下侧上的一个或多个充电端子112沿着主体110的纵向轴线居中设置,以确保当机器人100的充电端子112与充电站20的互补充电端子接合时,机器人100是平衡的。在一些示例中,机器人100的主体110上的充电端子112包括用作母连接器的壳体,以配合地接收作为机器人的充电站20的端子的壳体的一部分的互补公连接器。在这个意义上,充电站20的充电端子在一定程度上从充电站20突出,使得当充电站20的公连接器与机器人100的母连接器安置或耦接时,可以在机器人100的主体110上的充电端子112和充电站上的端子之间形成接触。在一些示例中,机器人100的端子112简单地是机器人100可以降低到充电站20的端子上的接触着陆垫。尽管图1a和1c描绘了充电站和机器人100各自包括单个充电端子,但是每个部件可以具有更多充电端子(例如,两个、三个或四个端子)。例如,机器人100可以包括一对充电端子112,使得主体120的前半部分具有类似于主体110的后半部分的充电端子112。附加地或替代地,代替使用直接物理连接来对机器人100充电,机器人100可以无线充电。例如,机器人100使用感应充电进行充电,其中机器人100的一个或多个指定部分可以被放置成与充电站20的一个或多个特定部分感应接近。这里,类似于直接物理连接,无线或感应充电可能需要机器人100相对于充电站20的精确放置,以确保感应充电可靠地发生。
25.为了穿过地形,每个腿120具有与地形的表面(即,牵引表面)接触的远端124。换句话说,腿120的远端124是腿120的由机器人100用于在机器人100的移动期间枢转、放置或通常提供牵引力的端部。例如,腿120的远端124对应于机器人100的脚。在一些示例中,尽管未示出,腿部120的远端124包括踝关节ja,使得远端124可相对于腿部120的下部构件122
l
铰接。
26.在所示的示例中,机器人100包括用作机器人操纵器的臂126。臂126可以被配置为围绕多个自由度移动,以便接合环境10的元素(例如,环境10内的物体)。在一些示例中,臂126包括一个或多个构件128,其中构件128通过接头j耦接,使得臂126可以围绕接头j枢转或旋转。例如,在具有多于一个构件128的情况下,臂126可以被配置成延伸或缩回。为了说明示例,图1a描绘了具有对应于下部构件128
l
、上部构件128u和手构件128h(例如,也称为末端执行器128h)的三个构件128的臂126。这里,下部构件128
l
可以围绕位于主体110附近的第一臂关节j
a1
旋转或枢转(例如,臂126连接到机器人100的主体110的位置)。下部构件128
l
在第二臂关节j
a2
处耦接到上部构件128u,并且上部构件128u在第三臂关节j
a3
处耦接到手构件128h。在一些示例中,诸如图1a,手构件128h或末端执行器128h是机械夹持器,其包括被配置为执行环境10内的元件的不同类型的抓取的一个或多个可移动钳口。在所示的示例中,末端执行器128h包括固定的第一钳口和可移动的第二钳口,其通过将物体夹持在钳口之间来抓握物体。可移动夹爪被配置成相对于固定夹爪移动,以便在夹持器的打开位置和夹持器的闭合位置(例如,围绕物体闭合)之间移动。在一些实施方式中,臂126另外包括第四接头j
a4
。第四接头j
a4
可以位于下部构件128
l
与上部构件128u的耦接附近,并且用于允许上部构件128u相对于下部构件128
l
扭转或旋转。换句话说,第四接头j
a4
可以用作类似于第三接头ja3
的扭转接头或邻近手构件128h的臂126的腕接头。例如,作为扭转接头,耦接在接头j处的一个构件可以相对于耦接在接头j处的另一构件移动或旋转(例如,耦接在扭转接头处的第一构件被固定,而耦接在扭转接头处的第二构件旋转)。在一些实施方式中,臂126在机器人100的主体110上的插座处连接到机器人100。在一些配置中,插座被配置为连接器,使得臂126可以根据臂126是否被期望用于操作而附接到机器人100或从机器人100分离。
27.机器人100具有沿着重力方向的垂直重力轴(例如,示出为z方向轴az)和质心cm,质心cm是对应于机器人100的所有部件的平均位置的位置,其中部件根据它们的质量被加权(即,机器人100的分布质量的加权相对位置总和为零的点)。机器人100还具有基于cm的相对于垂直重力轴az(即,相对于重力的固定参考系)的姿势p,以定义机器人100采取的特定姿态或站位。机器人100的姿态可以由机器人100在空间中的取向或角位置限定。腿120相对于主体110的移动改变了机器人100的姿势p(即,机器人的cm的位置和机器人100的姿态或取向的组合)。这里,高度通常是指沿z方向(例如,沿z方向轴线az)的距离。机器人100的矢状平面对应于在y方向轴ay和z方向轴az的方向上延伸的y-z平面。换句话说,矢状平面将机器人100平分成左侧和右侧。通常垂直于矢状平面,地平面(也称为横向平面)通过在x方向轴a
x
和y方向轴ay的方向上延伸而跨越x-y平面。地平面是指地表面14,其中机器人100的腿120的远端124可以产生牵引力以帮助机器人100在环境10中四处移动。机器人100的另一解剖平面是横跨机器人100的主体110延伸的额状面(例如,从具有第一腿120a的机器人100的左侧到具有第二腿120b的机器人100的右侧)。额状面通过在x方向轴线a
x
和z方向轴线az的方向上延伸而跨越x-z平面。
28.为了在环境10周围操纵或使用臂126执行任务,机器人100包括具有一个或多个传感器132、132a-n的传感器系统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的视场fv。每个传感器132可以是可枢转的和/或可旋转的,使得传感器132可以例如围绕一个或多个轴(例如,相对于地平面的x轴、y轴或z轴)改变视场fv。
29.当利用传感器132勘测视场fv时,传感器系统130生成对应于视场fv的传感器数据134(也称为图像数据)。传感器系统130可以利用安装在机器人100的主体110上或附近的传感器132(例如,传感器132a、132b)生成视场fv。传感器系统可以附加地和/或替代地利用安装在臂126的末端执行器128h处或附近的传感器132(例如,(一个或多个)传感器132c)来生成视场fv。一个或多个传感器132可以捕获定义机器人100周围的环境10内的区域的三维点云的传感器数据134。在一些示例中,传感器数据134是对应于由三维体积图像传感器132生成的三维体积点云的图像数据。附加地或替代地,当机器人100在环境10周围操纵时,传感器系统130收集机器人100的姿势数据,其包括惯性测量数据(例如,由imu测量)。在一些示
例中,姿势数据包括关于机器人100的运动学数据和/或取向数据,例如,关于机器人100的腿120或臂126的关节j或其他部分的运动学数据和/或取向数据。利用传感器数据134,机器人100的各种系统可以使用传感器数据134来定义机器人100的当前状态(例如,机器人100的运动学)和/或机器人100周围的环境10的当前状态。
30.在一些实施方式中,传感器系统130包括耦接到关节j的传感器132。此外,这些传感器132可以耦接到操作机器人100的关节j的马达m(例如,传感器132、132b-d)。这里,这些传感器132以基于关节的传感器数据134的形式生成关节动力学。被收集为基于关节的传感器数据134的关节动力学可以包括关节角度(例如,上部构件122u相对于下部构件122
l
或手构件126h相对于臂126或机器人100的另一构件)、关节速度(例如,关节角速度或关节角加速度)和/或在关节j处经历的力(也称为关节力)。由一个或多个传感器132生成的基于关节的传感器数据可以是原始传感器数据、被进一步处理以形成不同类型的关节动力学的数据、或两者的某种组合。例如,传感器132测量关节位置(或在关节j处耦接的构件122的位置),并且机器人100的系统执行进一步处理以从位置数据导出速度和/或加速度。在其他示例中,传感器132被配置为直接测量速度和/或加速度。
31.当传感器系统130收集传感器数据134时,计算系统140存储、处理和/或将传感器数据134传送到机器人100的各种系统(例如,控制系统170、感测系统180和/或对接系统200)。为了执行与传感器数据134相关的计算任务,机器人100的计算系统140包括数据处理硬件142和存储器硬件144。数据处理硬件142被配置为执行存储在存储器硬件144中的指令,以执行与机器人100的活动(例如,移动和/或基于移动的活动)相关的计算任务。一般而言,计算系统140是指数据处理硬件142和/或存储器硬件144的一个或多个位置。
32.在一些示例中,计算系统140是位于机器人100上的本地系统。当位于机器人100上时,计算系统140可以是集中式的(即,在机器人100上的单个位置/区域中,例如,机器人100的主体110)、分散式的(即,位于机器人100周围的各个位置处)或两者的混合组合(例如,其中大部分集中式硬件和少数分散式硬件)。为了说明一些差异,分散式计算系统140可以允许处理在活动位置处(例如,在移动腿部120的关节的马达处)发生,而集中式计算系统140可以允许中央处理中枢与位于机器人100上的各个位置处的系统通信(例如,与移动腿部120的关节的马达通信)。
33.附加地或替代地,计算系统140包括远离机器人100定位的计算资源。例如,计算系统140经由网络150与远程系统160(例如,远程服务器或基于云的环境)通信。非常类似于计算系统140,远程系统160包括远程计算资源,诸如远程数据处理硬件162和远程存储器硬件164。这里,传感器数据134或其他经处理的数据(例如,由计算系统140本地处理的数据)可以存储在远程系统160中,并且可以由计算系统140访问。在另外的示例中,计算系统140被配置为利用远程资源162、164作为计算资源142、144的扩展,使得计算系统140的资源可以驻留在远程系统160的资源上。
34.在一些实施方式中,如图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中的准确的流体移动。
35.给定控制器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-b、四个腿120a-d或与臂126组合的两个腿120a-b。
36.在一些示例中,控制系统170包括至少一个控制器172、路径生成器174、步进定位器176和主体规划器178。控制系统170可以被配置为与至少一个传感器系统130和机器人100的任何其他系统(例如,感测系统180和/或对接系统200)通信。控制系统170使用计算系统140执行操作和其他功能。控制器172被配置为基于来自机器人100的系统(例如,传感器系统130、感测系统180和/或对接系统200)的输入或反馈来控制机器人100的移动以绕过环境10。这可以包括机器人100的姿势和/或行为之间的移动。例如,控制器172控制不同的步进模式、腿部模式、主体运动模式或视觉系统感测模式。
37.在一些实施方式中,控制系统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的动力学(例如,旋转,诸如俯仰或偏航和/或com的高度)以成功地围绕环境10移动。
38.感测系统180是机器人100的系统,其帮助机器人100在具有各种障碍物的地形中更精确地移动。当传感器132收集机器人100周围的空间(即,机器人的环境10)的传感器数据134时,感测系统180使用传感器数据134来形成环境10的一个或多个地图182。一旦感测系统180生成地图182,感测系统180还被配置为向地图182添加信息(例如,通过将传感器数据134投影在预先存在的地图上)和/或从地图182中移除信息。
39.在一些示例中,由感测系统180生成的一个或多个地图182是地面高度地图182、182a、无步地图182、182b和主体障碍物地图182、182c。地面高度地图182a是指由感测系统180基于被划分为三维体积单元(例如,来自体素地图的体素)的区域(例如,环境10)的空间
占用而生成的地图182。在一些实施方式中,地面高度图182a起作用,使得在地图182的网格(例如,指定为地面高度图182a的单元格)内的每个x-y位置处,地面高度图182a指定高度。换句话说,地面高度图182a传达,在水平面中的特定x-y位置处,机器人100应该以一定高度步进。
40.无步进地图182b通常是指地图182,其定义不允许机器人100步进的区域,以便当机器人100可以在特定水平位置(即,x-y平面中的位置)步进时通知机器人100。在一些示例中,非常像主体障碍物地图182c和地面高度地图182a,无步进地图182b被划分为单元网格,其中每个单元表示机器人100周围的环境10中的特定区域。例如,每个单元是三平方厘米。为了便于解释,每个单元存在于环境10内的x-y平面内。当感测系统180生成无步进地图182b时,感测系统180可以生成布尔值地图,其中布尔值地图识别无步进区域和步进区域。无步进区域是指存在障碍物的一个或多个单元的区域,而步进区域是指不感测到障碍物存在的一个或多个单元的区域。感测系统180进一步处理布尔值地图,使得无步进地图182b包括带符号距离场。这里,无步进图182b的带符号距离场包括到障碍物边界的距离(例如,到无步进区域的边界的距离)和到障碍物边界的向量v(例如,定义到无步进区域的边界的最近方向)。
41.主体障碍物图182c通常确定机器人100的主体110是否可以相对于机器人100与x-y平面中的位置重叠。换句话说,主体障碍物地图182c识别机器人100的障碍物,以通过在环境10中的位置处重叠来指示机器人100是否有与相同位置附近或相同位置处的障碍物碰撞或潜在损坏的风险。作为机器人100的主体110的障碍物的地图,机器人100的系统(例如,控制系统170)可以使用主体障碍物地图182c来识别与机器人100相邻或最接近的边界,以及识别移动机器人100以便避开障碍物的方向(例如,最佳方向)。在一些示例中,非常像其他地图182,感测系统180根据单元格网格(例如,x-y平面的网格)生成主体障碍物地图182c。这里,主体障碍物地图182c内的每个单元格包括距障碍物的距离和指向作为障碍物的最近单元格的向量(即,障碍物的边界)。
42.图1c是用于机器人100的充电站20(也称为对接站)的示例。充电站20通常包括一个或多个特征22和用于显示与充电站20相关联的基准26的基准板24。在该示例中,充电站20还包括用于传送机器人100是否正在充电或通常通电的指示器i以及用于在机器人100对接在充电站20上时冷却机器人100的电池的电池风扇bf。在一些示例中,充电站20的特征22可以包括被配置为对机器人100的电池充电的一个或多个对准塔22a(例如,示出为两个对准塔22、22aa、22ab)和一个或多个端子22t。每个对准塔22a(例如,后对准塔22ab)可以包括具有导电接触表面的充电端子22t,以对机器人100的电池充电。在一些实施方式中,例如图1c,充电站20包括两个对准塔22a、22aa-b,其中单个充电端子22t与后对准塔22ab相关联,后对准塔22ab将在机器人100的后部(例如,在机器人100的后腿120、120c-d附近)与机器人100连接或电耦接。在该实施方式中,充电端子22、22t位于后塔22ab的对准特征(例如,示出为锥形分度结构)附近。尽管图1c示出了单个充电端子22t,但是充电站20可以包括任何数量的充电端子22t以对机器人100充分充电(即,与机器人100的端子112配合)。在一些配置中,对准塔22a的面向机器人100的顶表面以圆锥形或金字塔形结构从对准塔22a突出以用于对准目的。尽管充电站20的充电端子22t被示出为与对准塔22a的顶点或峰分离,但是充电端子22t可以附加地或替代地被配置为位于在对准塔22a的顶部处突出的顶点或峰处。在
任一配置中,充电站20的充电端子22t可以与机器人100上的一个或多个互补充电端子112(例如,充电端子112)耦接。
43.基准板24通常是指能够显示基准26的结构。这里,基准26是指机器人100可以用作参考点的对象(例如,某种空间关系的局部或全局标识符)。基准26可以用数据有效载荷编码,该数据有效载荷包括与机器人100的操作相关的信息和/或关于基准26表示的参考点的信息。例如,与充电站20相关联的基准26的有效载荷可以识别关于充电站20的信息。作为示例,机器人100可以与特定充电站20相关联或指定给特定充电站20,并且基准26可以用识别该关系的信息编码。该信息可以包括对应于充电站20的机器人100可识别的充电站20的唯一标识符(例如,机器人100共享相同的标识符)。在一些示例中,传感器系统130和/或感测系统180使用基准26作为视觉标记,以在机器人100周围的环境10内建立参考点(例如,用于机器人100的定位)。在一些配置中,基准26是用于由机器人100定位的视觉标记。可以由机器人100的系统使用的视觉基准26的类型的一些示例包括不受照明条件和/或其他环境条件显著影响的apriltags或qr码。与充电站20相关联的基准26的类型可以基于基准的期望检测范围和/或由基准26编码的有效载荷的大小。
44.充电站20的结构可能对腿式机器人100造成独特的风险。换句话说,充电站20包括机器人100的感测系统180通常可以将其感测为机器人100不应该踏上的障碍物或区域(即,没有踏上的区域)的结构或特征22。例如,如果机器人100的一个或多个腿120碰撞或接触对准塔22a或用于基准板24的结构,则机器人100可能跳闸并且可能损坏其自身的一些部件或充电站20。由于机器人100仅具有用于其电池的有限电荷,因此机器人100可能必须返回并对接在充电站20上以半频繁地充电(例如,一天一次、一天多次或一周几次)。随着这种增加的频率,在机器人100和充电站20之间发生对准误差的机会也可能增加。此外,对接在充电站20上意味着机器人100必须成功地将其充电端子112与充电站20的充电端子22t对准,以接收对机器人100的电池充电的电能。充电端子22t还可以用作通信链路,用于在机器人100和充电站20之间传送其他信息,诸如各种类型的数据(例如,传感器数据134或处理的传感器数据)。为了成功对准,机器人100可能需要通过在充电站20的某个方面中或上方移动其腿120和/或主体110来重新定位自身。还应当注意,充电站20可以用作机器人100的电源。换句话说,充电站20可以为机器人100供电,使得当机器人100连接到充电站20时,机器人100不需要电池或消耗存储在电池中的电力。
45.返回参考图1b,对接系统200是机器人100的系统,其被配置为将机器人100可靠地对接在充电站20处。换句话说,对接系统200试图解决将机器人100对接在充电站20上的问题。除了先前讨论的一些问题之外,对接系统200还解决了充电站20的特征22(例如,对准塔22a和/或充电端子22t)与机器人100的尺寸相比可能非常小的问题,因此当对接机器人100时,机器人100的传感器系统130和/或感测系统180可能难以识别这些特征22。对接系统200寻求解决的另一个问题在图2b中示出。也就是说,当机器人100从成功地对接在充电站20上的对接姿势站立时,传感器系统130不能可视化充电站20的各方面(例如,充电站20的几何形状),因为机器人100的视觉传感器132从机器人100向外对等或者在某种程度上被遮挡到充电站20的至少一些特征22。图2b示出了机器人100周围的感测环境10和机器人100下方和/或紧邻机器人100的区域作为黑色或暗色区域,几乎没有感测信息。因此,当机器人100试图从对接姿势离开充电站20时,机器人100可以相对于与充电站20相关的回避或步行路
径规划盲操作。
46.对接系统200还可以相对于充电站20的位置校正或修改基于检测的错误。换句话说,根据传感器数据134和当收集传感器数据134时机器人100的姿势,充电站20可以被感测为相对于机器人100的姿势处于估计姿势(即,具有估计的位置和/或取向)。然而,充电站20的该估计姿势pe(也称为充电站20的姿势)可能不准确到可能损害机器人100成功对接在充电站20处的能力的程度,特别是当充电站20包括需要精确对准的特征22(例如,充电站20的充电端子22t)时。因此,对接系统200被配置为校正充电站20的估计的姿势pe(即,生成校正姿势pc)。例如,用于检测充电站20的位置的算法(例如,基准检测算法)固有地在充电站20的估计姿势pe(例如,充电站20相对于基准26的检测姿势)和充电站20的实际姿势(例如,充电站20相对于基准26的实际姿势)之间具有一定程度的误差。例如,感测充电站20的传感器132或相机的类型可能导致基于检测的错误。一般而言,当机器人100使用视觉基准26时,基准26的姿势与充电站20的一个或多个特征22(例如,充电站20的对准塔22a)之间存在现有的空间关系。由于这种关系,对接系统200接收识别基准26的传感器数据134。根据该传感器数据134,对接系统200确定机器人100相对于基准26和充电系统20之间的现有(即,预配置的)空间关系的接近度和姿势(例如,机器人100的位置和取向)。换句话说,根据机器人100的位置和/或姿势状态与基准26之间的机器人感测关系,对接系统200确定机器人与充电站20(例如,充电站20的一个或多个特征22)的空间关系。
47.对接系统200被配置为接收传感器数据134并且基于所接收的对应于充电站20的传感器数据134来生成对接站地图202。这里,通过生成对接站地图202,对接系统200获取传感器数据134并使用传感器数据134的一些部分来注入关于充电站20的已知细节。在这方面,机器人100的系统可以查询由对接系统200生成的对接站地图202,以获得对充电站20和充电站20周围区域的准确理解。这允许机器人100的感测系统180和/或控制系统170避免仅依赖于感测的传感器数据134。
48.当机器人100对接(即,移动到充电站20并假设成功地将机器人100的充电端子112耦接到充电站20的充电端子22t的对接姿势)或脱离对接(即,从对接姿势开始离开充电站区域)时,机器人100的控制系统170可以利用特定于充电站20的细粒度地图,即对接站地图202。这意味着当机器人100在对接站地图202中表示的充电站20附近(即,充电站区域)移动时,控制系统170可以查询对接站地图202以确定地图202上的特定位置对于机器人100移动到(例如,利用其主体110)或踏上(例如,利用脚124)是安全的还是不安全的。对接站地图202可以被认为是细粒度地图,因为对接站地图202可以被缩放以具有必要的分辨率以包括充电站20的特征22。例如,由感测系统180生成和/或从传感器数据134导出的地图182可以处于特定分辨率(例如,三厘米块分辨率)。然而,对接系统200可以被配置为生成比这些图182更高分辨率(例如,一厘米块分辨率)的图,以便表示充电站20的特征22,诸如充电站20的充电端子22t。附加地或替代地,对接系统200可以生成地形信息的地图,其包括例如由点而不是特定分辨率的网格指定的边缘;从而可能避免基于解决办法的问题。因此,通过生成对接站地图202,对接系统200使得机器人100能够具有改进的导航和对接姿势行为,以避免机器人100在充电站区域中的潜在昂贵的脚放置错误。
49.在一些实施方式中,诸如图2a-2c,对接系统200包括检测器210和地图生成器220。检测器210被配置为接收对应于包括充电站20的区域的传感器数据134。基于传感器数据
134,检测器210识别充电站20存在于由机器人100感测的区域内。例如,检测器210通过识别与充电站20相邻的基准26来识别充电站20存在于该区域内。在一些示例中,检测器210能够解码在基准26中编码的信息,以便识别充电站20对应于机器人100。例如,解码的信息可以包括指示充电站20用于机器人100的一些标识符(例如,唯一标识符uid)。当检测器210识别出充电站20存在于机器人100周围的区域中时,检测器210可以识别机器人100的当前姿势p,以便理解机器人100和充电站20之间的空间关系。换句话说,检测器210确定机器人相对于检测到的充电站20的姿势。
50.检测器210还被配置为使用所接收的传感器数据134来识别充电站20的一个或多个特征22。例如,检测器210使用感测传感器数据134,感测传感器数据134是指来自传感器系统130的已经由感测系统180处理的传感器数据134。当检测器210识别充电站20的一个或多个特征22时,检测器210能够确定充电站20的所识别的特征22是否与对接系统200具有的用于机器人100的充电站20的任何先验知识相匹配。例如,对接系统200被编程有关于机器人100的充电站20的几何形状的先验知识。利用该先验知识,检测器210可以将来自传感器数据134的充电站20的识别特征22与充电站20的已知几何形状的几何特征进行比较。当来自传感器数据134的充电站20的识别特征22与充电站20的已知几何形状的几何特征之间的比较导致匹配或近似匹配时,检测器210将充电站20的已知几何形状的匹配几何特征212传递到地图生成器220。
51.在一些示例中,对接系统200可以包括已知充电站20的库存及其相应的几何形状。利用若干已知充电站20的几何形状,检测器210可以被配置为生成来自传感器数据134的一个或多个识别特征22与已知充电站20的一个或多个几何特征之间的匹配分数。在一些实施方式中,当生成匹配分数时,检测器210可以使用来自传感器数据134的多个特征22,并且生成匹配分数作为关于这些多个特征22与已知充电站20的几何形状的多个特征有多接近地匹配的总分数。检测器210可以对其库存中的一些或所有已知充电站20进行评分,并且根据在机器人100处感测的传感器数据134确定具有最高分数的特定已知充电站20是充电站20。
52.地图生成器220接收与其相关联的已知充电站20匹配的几何特征212,并生成对接站地图202。由地图生成器220生成的对接站地图202可以包括指示类似于感测系统地图182的区域或单元的地形规划信息的区域。例如,图2b和2c包括机器人100周围的环境10的表示,以图示地图生成器220的地图生成。参考图2b,左上图像描绘了机器人100附近的很少或没有地形信息(例如,示出为白色非阴影区域)。相反,右上图像示出了在机器人100周围的相同附近由阴影线136a-d界定的区域。这些线136a-d表示地图生成器220能够从与所识别的特征22匹配的已知充电站20的几何形状导出并注入或增强以生成对接站地图202的地形信息。这里,由线136a界定的区域表示无步进区域(即,对于脚放置不安全的区域)。由线136b界定的区域表示作为步进区域的区域(即,对于脚放置安全的区域)。由线136c界定的区域表示识别例如对接站20的充电端子22t的地形高度区域。由线136d界定的区域表示包括与机器人100的腿120或主体110处于碰撞高度的障碍物的区域。通过生成包括用于充电站20的这些类型的区域中的一个或多个的对接站地图202,控制系统170可以使用地图202来移动并采取对接姿势,该对接姿势具有可靠的成功程度以对机器人100的电池充电而没有问题。
53.图2c示出了将来自传感器数据134的所识别的特征22与已知充电站20的几何特征
进行匹配的过程。这里,左上图像描绘了在没有特征的任何匹配的情况下或在特征的任何匹配之前仅基于基准检测来定位地形信息的位置。在左上图像中,由机器人100感测的充电站20的实际前对准塔22a不与地形信息的区域对准。换句话说,充电站20实际上位于地形信息的区域右侧约30度的位置处。在该示例中,对接系统200继续将所识别的特征22(例如,实际的前对准塔22a)与已知充电站20的几何特征匹配。因此,对接系统200基于匹配过程学习地形信息应该向右偏斜约30度以与充电站20的感测特征22对准。
54.图2d示出了对接系统200旨在实现的高级概念。在该图中,机器人100站在包括其各种特征22的充电站20的呈现上方的充电站20处。对接系统200的目标是向机器人100提供最接近地类似于图2d的渲染的对接站地图202。换句话说,最佳理论对接站地图202包括关于充电站20的每分钟细节,以向机器人100提供关于如何在充电站20附近移动的最佳信息。通过构建使用充电站20的特征的先前已知几何形状的对接站地图202,对接系统200可以允许机器人100接近这样的信息。
55.在一些实施方式中,对接系统200可以诸如基于所识别的特征22与已知充电站20的几何特征的匹配来确定充电站20是否具有有效或无效的状态。例如,对接系统可以通过传感器数据134与估计的姿势pe匹配的程度来对估计的姿势pe进行评分。如果对接系统200对估计姿势pe没有很好地评分,诸如因为另一个机器人在充电站20上,或者检测到的充电站不是真实的充电站20,则对接系统200将充电站20的状态标记为无效。机器人100将不尝试与标记为无效的充电站20对接。相反,如果对接系统200将充电站20的状态标记为有效,诸如因为传感器数据134与估计姿势pe紧密匹配,则机器人100可以继续尝试在充电站20处对接。由地图生成器220生成的对接站地图202可以包括对接站地图202的充电站20的有效或无效的状态指定。因此,对接系统200可以确定每个充电站20的状态是有效还是无效,并且在生成的对接站地图202中向相关联的充电站20指示所确定的有效或无效的状态。当机器人100随后查询对接站地图202时,机器人100可以知道充电站20的状态是有效还是无效,并且基于状态指定来确定是否尝试在充电站20处对接。
56.例如,图2e-2g示出了充电站20的有效和无效的状态指示。在图2e中,类似于图2d的高级渲染,对接站地图202的渲染指示四个充电站20及其相应的状态指示符的知识。三个充电站在对接站地图202中被指定为机器人100可以尝试与其对接的有效充电站20v。第四充电站20在对接站地图202中被指定为被占用或不可用或无效的充电站201,因为基于传感器数据134,已经确定充电站20对于机器人100尝试与之对接是无效的。如图示的实施例中所示,对接系统200可以诸如基于传感器数据134或根据来自对接的机器人100的信号来确定另一个机器人100对接在充电站20处,并且将该充电站20标记为无效充电站201。
57.如图2f和2g所示,机器人可以诸如基于对接站地图202和给定充电站20的基准26来识别环境10中的充电站20以及充电站20的有效或无效状态指示符。图2f和2g表示显示用户可查看的图像的示例图形用户界面(gui)400,该图像表示由机器人100处的一个或多个传感器132捕获的传感器数据134,使得例如用户可以监视机器人100的操纵或查看机器人100周围的环境10。gui 400可以显示给定充电站20的状态指示符402,诸如有效状态指示符402v或无效状态指示符402i。例如,在图2f中,机器人100基于对接站地图202识别两个有效充电站20v和一个无效充电站20i的存在,并且gui 400相应地在图像中对应于相应充电站20的位置处显示适当的状态指示器402。在图2g中,机器人100基于对接站地图202识别一个
无效充电站201的存在,并且gui 400显示适当的无效状态指示符4021。
58.在一些配置中,对接系统200可以使用已知充电站20的几何形状,并且根据该几何形状生成表示该几何形状的伪三维点云。利用这种方法,伪点云具有与传感器数据134类似的数据格式。由于伪点云和传感器数据134都具有相同的数据格式,所以对接系统200可以执行对实际传感器数据134的搜索以定位实际充电站20。例如,对接系统200使用迭代最近点(icp)算法来处理表示充电站20的已知几何形状的伪点云与来自由机器人100感测的实际传感器数据134的实际点云之间的比较。在一些实施方式中,对接系统200通过使用基准检测来缩小搜索空间,以理解充电站20的一般附近。在一些配置中,对接系统200通过将实际传感器数据134和伪传感器数据转换为自顶向下视图来将伪数据和实际数据转换为与相机无关的视图。
59.附加地或替代地,机器人100可以在对接在充电站20上时使用对接站地图202来执行断电序列。也就是说,机器人100可以在机器人100将其主体110降低到一个或多个对准塔22a的一个或多个端子触点22t上之后执行断电序列。例如,机器人100可以断电并且完全由一个或多个对准塔22a支撑,使得机器人100的腿120从机器人100悬挂并且不再与地面14接触。在这种情况下,断电序列可以缓慢地减小机器人100的脚124处的压力(例如,直到脚124处的所有接触力都已经消除)。当执行该断电序列时,机器人100可以感测其周围环境(即,生成和解译传感器数据134)以确定在该序列期间是否存在任何问题。即,如果机器人100与塔架22a或接触端子22t略微未对准,则该断电序列可以使机器人100和充电站20之间的充电连接解耦,或者更糟地使机器人100滚动(或俯仰或偏航)并从塔架22t掉落。为了防止这些问题中的一些,机器人100可以使用对接站地图202来向机器人100提供在断电序列期间其与充电站20的关系的理解。例如,机器人100将在断电序列期间接收的传感器数据134与来自对接站地图202的地形信息或其他细节进行比较。
60.图3是用于控制腿式机器人100以识别对接站20并针对对接站20调整腿式机器人100的姿势p的方法300的操作的示例布置的流程图。方法300可以是由腿式机器人100的数据处理硬件142执行的计算机实现的方法,其使数据处理硬件142执行操作。在操作302处,方法300包括接收对应于包括对接站20的至少一部分的区域的传感器数据134。在操作304处,方法300包括基于腿式机器人100相对于对接站20的初始姿势p来确定对接站20的估计姿势pe。在操作306处,方法300包括从所接收的传感器数据134识别对应于包括对接站20的至少一部分的区域的一个或多个对接站特征22。方法300还包括在操作308处将一个或多个识别的对接站特征22与一个或多个已知的对接站特征22匹配。在操作310处,方法300包括基于与一个或多个已知的对接站特征22匹配的一个或多个识别的对接站特征22的取向将对接站20的估计姿势pe调整为对接站20的校正姿势pc。
61.图4是可以用于实现本文档中描述的系统和方法的示例计算设备400的示意图。计算设备400旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。这里示出的组件、它们的连接和关系以及它们的功能仅意在是示例性的,并不意在限制本文档中描述和/或要求保护的发明的实施方式。
62.计算设备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,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
63.存储器420将信息非暂时性地存储在计算设备400内。存储器420可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器420可以是用于临时或永久地存储程序(例如,指令序列)或数据(例如,程序状态信息)以供计算设备400使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
64.存储设备430能够为计算设备400提供大容量存储。在一些实施方式中,存储设备430是计算机可读介质。在各种不同的实施方式中,存储设备430可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储器设备、或设备阵列,包括存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,诸如上面描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器420、存储设备430或处理器410上的存储器。
65.高速控制器440管理计算设备400的带宽密集型操作,而低速控制器460管理较低带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器440耦接到存储器420、显示器480(例如,通过图形处理器或加速器),并且耦接到高速扩展端口450,高速扩展端口450可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器460耦接到存储设备430和低速扩展端口470。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口470可以例如通过网络适配器耦接到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪或诸如交换机或路由器的联网设备。
66.计算设备400可以以多种不同的形式实现,如图所示。例如,它可以被实现为标准服务器400a或在一组这样的服务器400a中多次实现,实现为膝上型计算机400b,或者实现为机架服务器系统400c的一部分。
67.本文描述的系统和技术的各种实施方式可以在数字电子和/或光学电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,其可以是专用的或通用的,耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。
68.这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的
机器指令,并且可以用高级过程和/或面向对象的编程语言和/或汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
69.本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦接以从其接收数据或向其传输数据或两者。然而,计算机不需要具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
70.为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)、lcd(液晶显示器)监视器或触摸屏)以及可选地键盘和指示设备(例如,鼠标或轨迹球),用户可以通过该键盘和指示设备向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求将网页发送到用户的客户端设备上的网络浏览器。
71.已经描述了许多实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其他实施方式在所附权利要求的范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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