识别环境中的元件的制作方法



1.本说明书整体涉及被配置为检测环境中的元件的移动机器人的示例。


背景技术:



2.可以使用叉车或其它可驱动的机械在空间(诸如仓库或制造设施)中提升元件,并且将那些元件从一个位置移动到另一个位置。元件的示例包括货盘和容器。示例货盘包括在提升期间支撑货物的平坦运输结构。一种示例容器包括可运输结构,该可运输结构具有一个或多个竖直壁,并且具有互锁机构,该互锁机构设计成防止元件之间相对运动。


技术实现要素:



3.一种使用自主车辆检测元件的示例性方法,该方法包括以下操作:使用该自主车辆上的传感器来捕获包含该元件的感兴趣区域中的图像数据,其中该图像数据表示该元件的部件;过滤该图像数据以产生比该图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析该过滤后的数据来识别该元件的该部件;并且基于该部件来检测该元件。该传感器可以为三维(3d)相机或包括三维(3d)相机。该方法可包括下列特征中的一种或多种特征(单独地或组合地)。
4.过滤可以至少部分地基于该元件的期望位置。识别该部件可包括定位由该过滤后的数据表示的多个结构,该多个结构沿相同(例如,第一)维度延伸并且由预定义空间隔开。识别该部件可包括定位由该过滤后的数据表示的多个结构,该多个结构沿不同于第一维度的第二维度延伸。该第一维度可以为三维(3d)空间中的竖直维度,并且该第二维度可以为该3d空间中的水平维度。该过滤后的数据可以为点云的一部分。该点云可包括基于该元件的形状布置的至少一些点。该确定性过程可包括以下操作:生成具有预定义连接性的点的簇;并且检测与最近相邻簇相隔预定义距离的簇。该确定性过程还可包括出于针对不满足预定义条件的考虑来消除该簇中的至少一个簇。该预定义条件可以为或包括共线性。该预定义条件本质上可以为几何形的或统计学的。该预定义条件和/或该预定义距离可以为可调谐的。
5.该元件可以为可堆叠元件,该可堆叠元件包括柱和平台。可以执行该操作以识别该柱和/或识别该平台。生成点的该簇可包括识别相邻的点。识别相邻的该点可包括:识别沿相同维度的点,或者在沿该维度的该点中存在间断的情况下识别相对于该维度成角度的点。该元件可以被定位在支架上,并且该感兴趣区域可以小于由该支架所覆盖的空间。
6.该方法可包括存储包含不同类型元件的属性的库。该部件可以至少部分地基于来自该库的一个或多个属性而被识别。该方法可包括:使用该传感器识别该支架;并且将处于该支架的底部上方的该传感器指向该感兴趣区域。
7.该元件可以为支架,该支架包括柱和梁。在该示例中,识别该部件可包括:基于沿第一维度聚集的过滤后的数据来识别该柱;并且基于沿不同于该第一维度的第二维度聚集的过滤后的数据来识别该梁。
8.一种示例性系统,该系统包括自主车辆,该自主车辆具有传感器,该传感器用于捕获包含元件的感兴趣区域中的图像数据。该图像数据表示该元件的部件。该系统包括控制系统,该控制系统用于执行操作,该操作包括:过滤该图像数据以产生比该图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析该过滤后的数据来识别该元件的该部件;并且基于该部件来检测该元件。
9.一种示例性方法由自主车辆执行以检测要在其中放置元件的容积。该方法包括以下操作:检测包含该容积的支架;将处于该支架的底部上方的传感器指向感兴趣区域;基于该感兴趣区域的第一部分内的3d数据以及该感兴趣区域的第二部分内的3d数据的缺乏来检测该容积;并且基于该元件的该3d数据和维度来确定该容积是否足够大以适配该元件。该方法可包括以下特征(单独地或组合地)。
10.检测该容积可包括:尝试检测该感兴趣区域的该第二部分内的3d数据;并且检测到小于预先确定的量的该感兴趣区域的该第二部分内的3d数据。检测该容积可包括:通过输出光并检测该光的反射来检测该感兴趣区域的该第一部分内的该3d数据。尝试检测该感兴趣区域的该第二部分内的3d数据可包括在该容积中输出光。检测到小于该预先确定的量的3d数据可包括检测到小于预先确定的量的光反射。检测到小于该预先确定的量的光反射可包括无光反射。
11.该方法可包括将该元件在该容积内对准。检测该支架可包括:使用该传感器捕获包含该支架的感兴趣区域中的图像数据,其中该图像数据表示该支架的部件;通过使用确定性过程分析该图像数据来识别该支架的该部件;并且基于该部件来检测该支架。该部件可包括柱。识别该柱可包括定位由该数据表示的一个或多个结构,该一个或多个结构沿相同维度延伸并且由预定义空间隔开。该部件可包括梁。识别该梁可包括定位由该数据表示的一个或多个结构,该一个或多个结构沿相同维度延伸并且由预定义空间隔开。该相同维度可以为第一维度。识别该梁可包括定位由该数据表示的多个结构,该多个结构沿不同于该第一维度的第二维度延伸。该第一维度可以为3d空间中的竖直维度,并且该第二维度可以为该3d空间中的水平维度。
12.该方法可包括存储包含不同类型支架的属性的库。该部件可以至少部分地基于来自该库的一个或多个属性而被识别。
13.本说明书(包括此发明内容部分)中所描述的特征中的任何两者或更多者可组合以形成本文未具体描述的具体实施。
14.本文所述的示例性车辆和技术或其一部分可通过计算机程序产品实现或被计算机程序产品控制,该计算机程序产品包括存储于一个或多个非暂态机器可读存储介质上的指令,并且该指令可被一个或多个处理设备上执行以控制(例如,协调)本文所述的操作。本文所述的示例性车辆和技术或其一部分可以装置或电子系统的形式来实现,该装置或电子系统可包括一个或多个处理设备以及存储用于实现各种操作的可执行指令的存储器。
15.附图和以下具体实施方式中陈述了一个或多个具体实施的详细信息。通过具体实施和附图以及通过权利要求书,其他特征结构、对象和优点将显而易见。
附图说明
16.图1是示出示例性自主车辆的透视图的照片真实感图。
17.图2是示出六个自由度的图示。
18.图3是示出图1的自主车辆的透视图的框图。
19.图4是示出用于使用自主车辆检测元件的示例性过程中所包括的操作的流程图。
20.图5是示出示例性货盘堆叠的透视图的照片真实感图。
21.图6是示出可以用于堆叠元件的示例性支架的透视图的图。
22.图7是示出表示货盘的示例性点云的框图。
23.图8是示出图7的点云的过滤后的型式的框图。
24.图9是示出用于检测要在其中放置元件的容积的示例性过程中所包括的操作的流程图。
25.不同图中的类似附图标记指示类似元件。
具体实施方式
26.本文描述了用于使用自主车辆检测环境中的元件的技术的示例。该技术包括各种操作,诸如:使用该自主车辆上的传感器来捕获包含元件的感兴趣区域中的图像数据;过滤该图像数据以产生比所捕获的图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析该过滤后的数据来识别作为该元件的部分的部件;并且基于该部件来检测该元件。检测该元件包括定位环境中的该元件的边界和/或识别该元件是什么。
27.用作本文示例的自主车辆包括移动机器人(或简称为“机器人”);然而,可以使用任何适当类型的自主车辆,包括但不限于自动驾驶机械或固定机器人。本文用作示例的元件包括货盘和容器;然而,可以使用任何适当类型的元件,包括但不限于盒、支架、板条箱或箱柜。如上所述,示例货盘包括在提升期间支撑货物的平坦运输结构。货盘还包括被称为插口的机构,机器人的端部执行器可以进入该机构并且用于连接到并提升货盘。一种示例容器包括可运输结构,该可运输结构具有一个或多个竖直壁,并且具有互锁机构,该互锁机构设计成防止相对运动。
28.示例的自主车辆,诸如机器人,其包括主体,该主体被配置为沿着诸如仓库地板的表面移动。在检测到第一元件之后,端部执行器(诸如包含一个或多个尖齿的叉)被配置为接合元件并提升元件。例如,第一元件可以为端部执行器提升并移动离开第二元件(诸如货盘的堆叠或支架)或移动到该第二元件上的货盘。本文所述的示例性技术还可以获得关于支架、堆叠或两者的信息,并且当移动第一元件时使用该信息。
29.可以包括一个或多个处理设备(本文描述了其示例)的控制系统被配置(例如被编程)为控制端部执行器、机器人主体或端部执行器和机器人主体两者在三个或更多个自由度上(例如,在至少四个自由度上)移动,以将第一元件堆叠在第二元件的顶部上,或者将第一元件提升离开第二元件并将第一元件移动远离第二元件。控制系统可以机载于自主车辆、远离自主车辆或者为机载和远程的组合。如本文所述,控制系统可以使用来自各种传感器的信息来执行操作以检测第一元件、第二元件或两者,然后控制自主车辆相对于第二元件移动第一元件。
30.在示例中,堆叠可包括将第一元件置于第二元件的顶部上。为执行堆叠而执行的操作可包括但不限于以下:移动第一元件以将第一特征(诸如第一元件的角部)与第二特征(诸如第二元件的角部)对准,移动第一元件以将第一元件的第二特征与第二元件的第四特
征对准,并且在这些对准之后,移动第一元件以与第二元件接触,使得第一特征与第三特征匹配,并且第二特征与第四特征匹配。可以执行其它过程以将元件置于堆叠、支架或其它适当的位置上。
31.图1示出了机器人10的示例,该机器人被配置为以多个自由度移动,以提升元件并将一个元件堆叠在另一个元件的顶部上。在此示例中,机器人10是自主可控的,即使它包括用于手动控制的机构14。在一个示例中,可自主控制包括基于传感器输入,并且在一些情况下,基于来自远程系统(诸如机控制系统)的输入的机器人自身移动。机器人10包括具有轮子(未示出)的主体12,以使机器人10能够跨表面行进,诸如仓库、工厂的地板或其他地形。机器人10还包括支撑区域15,该支撑区域被配置成使用端部执行器16支撑元件(例如托盘、容器或待操纵的任何其他设备)的重量。在该示例中,可控制机器人10以将元件从一个位置运输到另一个位置。
32.如图1中所示,在此示例中,端部执行器16包括由两个尖齿20、21组成的叉。可使用其他类型的端部执行器,例如板或夹持器。该尖齿可被配置用于在箭头22的方向上竖直移动。竖直移动使得尖齿能够拾取元件并且将该元件移动到适当的竖直高度以进行堆叠。竖直移动还使得尖齿能够到达待从叠堆、齿条或另一位置移除的元件的高度。尖齿还可被配置用于在箭头23的方向上水平移动。在一些示例中,尖齿互连并且因此一起移动。在一些示例中,每个尖齿可被配置用于沿箭头23的方向独立且单独的水平移动。也就是说,每个尖齿可以相对于另一个尖齿移动以调整两者之间的距离(或间距)。为了适应具有不同插口位置的元件,此调整可能是必要的。在一些示例中,每个尖齿可被配置用于沿箭头23的方向独立且单独的竖直移动。在一些实现方式中,尖齿中的一个可以移开,以允许单个尖齿与一个元件或其他元件相互作用。例如,尖齿20可以在弧24的方向上旋转90
°
,将尖齿21留在与位于机器人10前面的元件或其他元件相互作用的位置。另一尖齿21可类似地操作。
33.端部执行器、机器人主体或端部执行器和机器人主体的组合可以在三个、四个、五个或六个自由度上移动,以便移动和操纵元件以进行提升、堆叠、移除或移动。例如,端部执行器、机器人主体或端部执行器和机器人主体的组合可以在三个、四个、五个或六个自由度上移动,以便移动和操纵一个元件,以将该一个元件置于类似或不同类型的另一个元件的顶部上。例如,端部执行器、机器人主体或端部执行器和机器人主体的组合可以在三个、四个、五个或六个自由度上移动,以便移动和操纵一个元件,将该元件从类似或不同类型的另一个元件的顶上移除。图2图示地示出了相对于笛卡尔x轴、y轴和z轴27在六个自由度上进行的移动。六个自由度包括前向/后向(喘振)28、上/下(垂荡)29、左/右(摇摆)30、偏航33、俯仰34和滚动35。
34.在一些具体实施中,端部执行器是可控的,以独立于机器人主体在三个或更多个自由度上移动,该三个或更多个自由度可包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少一者。在一些实现方式中,端部执行器是可控的,以独立于机器人主体在至少五个自由度上移动,该至少五个自由度包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少两者。在一些实现方式中,端部执行器是可控的,以独立于机器人的主体在六个自由度(包括前向/后向、上/下、左/右、偏航、俯仰和滚动)上移动。这些移动使得元件能够在三个、四个、五个或六个自由度上移动。
35.在一些具体实施中,机器人的主体是可控的,以在三个自由度上移动。在一些实现
方式中,机器人的主体可控地在至少四个自由度上移动,该至少四个自由度包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少一者。在一些实现方式中,机器人的主体可控地在至少五个自由度上移动,该至少五个自由度包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少两者。在一些实现方式中,机器人的主体可控地在六个自由度上移动,该六个自由度包括前向/后向、上/下、左/右、偏航、俯仰和滚动。这些移动使得元件能够以四个、五个或六个自由度移动。
36.由于端部执行器连接到机器人的主体,端部执行器可以与主体一起移动。端部执行器也可以被配置为独立于机器人主体进行上述移动。也就是说,主体可以在多个自由度上移动,并且端部执行器可以在相同数量的自由度上、更少数量的自由度上或更多数量的自由度上与机器人主体分离移动。例如,如果主体向前移动,则端部执行器可以与主体一起向前移动,但是端部执行器也可以独立于主体的移动而进一步向前或左/右移动。
37.在一些具体实施中,端部执行器和主体一起是可控的,以在三个自由度上移动元件。在一些实现方式中,端部执行器和主体可一起控制,以在至少四个自由度上移动元件,该至少四个自由度包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少一者。在一些实现方式中,端部执行器和主体可一起控制,以在至少五个自由度上移动元件,该至少五个自由度包括前向/后向、上/下、左/右,以及偏航、俯仰或滚动中的至少一者。在一些实现方式中,端部执行器和主体可一起控制以在六个自由度(包括前向/后向、上/下、左/右、偏航、俯仰和滚动)上移动元件。例如,主体可以被配置为前向/后向和左/右移动,并且端部执行器可以被配置为上/下移动以及偏航、俯仰或滚动中的至少一者(四度),偏航、俯仰或滚动中的至少两者(五度),或偏航、俯仰或滚动中的全部(六度)。可以实现与这里描述的不同的移动组合。
38.还参考图3的框图,一个或多个传感器36a、36b、36c、36d、36e和36f定位在机器人10上,用于检测机器人本身的位置,用于检测要拾取的元件,和/或用于检测要在其上放置(例如堆叠)元件的位置。传感器还可以用于检测元件上的对准特征的位置,并且在机器人和/或元件相对于堆叠移动时跟踪它们的位置。传感器被配置为至少从至少在端部执行器前面的位置获得3d数据。传感器的示例包括2d和3d传感器。例如,机器人10可包括一个或多个3d相机、一个或多个光检测和测距(lidar)扫描仪、一个或多个光学传感器、一个或多个声纳传感器、一个或多个飞行时间(tof)传感器、一个或多个雷达传感器、一个或多个2d相机传感器、一个或多个超声波传感器或任何适当的多个数字和/或它们的组合。为了使用2d传感器获得3d数据,可以使用多个2d传感器。值得注意的是,示例性机器人不限于这些类型的传感器。
39.在示例中,机器人10包括在机器人的前部40处的一个或多个3d相机。3d相机可捕获红、绿、蓝和深度(rgbd)数据。在该示例中,机器人的前部面向机器人的行进方向。在图3的示例中,机器人的前部可包括从机器人的一侧到机器人的相对侧跨越180
°
或更小的弧。在示例中,机器人10可以包括位于机器人的前面的多个激光雷达扫描仪。每个lidar扫描仪被配置成检测感测平面内的对象。两个或更多个lidar扫描仪可被配置和布置成在正交感测平面中获得2d数据。当适当相关和/或组合时,该2d数据构成从机器人前部获得的3d信息。这些和/或其他传感器的组合可用于获得表示机器人前部中的空间的3d数据。3d数据可包括表示该空间的3d(例如,笛卡尔xyz)坐标。
40.在机器人前部上包括多个传感器的具体实施中,传感器可位于不同的位置,例如在不同的高度处。此外,一个或多个传感器可在机器人上移动。在一些示例中,传感器36a、36c可以位于端部执行器上并且可以与端部执行器一起移动。位于此处的传感器使机器人能够检测并且成像位于端部执行器正前面的元件,诸如货盘或容器。来自此类传感器的数据使得端部执行器能够识别元件中的插口,并且因此便于端部执行器进入元件中的插口中。在一些示例中,一个或多个传感器可以位于机器人的主体上。例如,一个或多个传感器36d可以定位于机器人的中点处,一个或多个传感器36b可以定位于机器人的底部,和/或一个或多个传感器36e可以定位于传感器36d的上方。一个或多个传感器36f可以定位于机器人的顶部。甚至在机器人保持阻挡传感器的元件时,策略性地放置在这些或其他位置处的传感器也使得机器人能够捕获机器人前部中的元件的图像。示例元件包括但不限于以下元件,支架、货盘、包括兼容互锁机构的固定或可移动装置、一个或多个元件叠堆、或包含一个或多个元件叠堆的支架。例如,在正确放置的情况下,如果一个传感器被阻挡,例如被端部执行器上的一个或多个元件阻挡,另一个传感器将不会被这些元件阻挡,使得实现连续感测。传感器捕获的数据被发送到机器人的控制系统以进行处理和使用。
41.在一些实现方式中,机器人10可以在除了机器人的前面以外的位置包括另外的传感器。例如,本文所述类型的传感器可被包括在机器人的一侧或两侧上和/或机器人的后部上。在此示例中,机器人的后面是机器人前面的相对侧。在图3的示例中,机器人的后面41包括从机器人的一侧到机器人的相对侧跨越180
°
或更小的弧。在图3的示例中,机器人的侧面42、43可以包括从机器人的行进方向到与机器人的行进方向相反的方向跨越180
°
或更小的弧。这些传感器可以辅助诸如物体检测和定位的操作。
42.激光雷达扫描仪、3d相机和/或任何传感器构成机器人的视觉系统。由视觉系统获得的视觉数据可用于确定机器人在其正穿过的空间内的位置。在这点上,在一些实现方式中,控制系统46将待穿越的空间的标测图存储在计算机存储器中。控制系统46的部件在图3中以虚线示出,因为该控制系统的至少一部分可在机器人内部。标测图可位于机器人上或控制系统可访问的任何位置处。该标测图可以包括界标(诸如柱、角部、窗、杆以及充当机器人参考的空间的其他可分辨特征)的位置。该标测图可包括界标的维度和区别特征,诸如颜、形状、纹理等,界标诸如是柱、壁、角部、窗、杆以及充当针对机器人的参考的空间的其他可分辨特征。标测图还可包括指示空间的尺寸的测量值、指示界标的尺寸和位置的测量值、指示界标之间的距离的测量值,以及识别界标在空间中位于何处的坐标信息。控制系统使用标测图中的信息来移动穿过空间,并使用来自视觉系统的视觉数据和来自标测图的数据来确定机器人在空间内的位置。例如,机器人可识别三个界标在空间内的位置。通过了解机器人相对于这些界标的位置、界标在标测图上的位置,以及因此界标在空间内的位置以及界标之间的距离,控制系统可确定机器人在空间内的位置。此信息可以用于定位要拾取的元件,或定位要放置的另一个元件,例如,堆叠机器人正保持着或将保持的元件。其他元件的示例包括类似类型的元件、兼容的互锁兼容装置,诸如类似或不同类型的另一个元件,或支架。
43.在一些具体实施中,机器人上的机载控制系统可以使用通过标测图的预先规划的路线来识别在哪里定位要拾取的元件,或在哪里定位要在其上放置以拾取或放置元件的以下中的一者或多者:元件的堆叠、兼容的互锁设备或支架。如本文所述,机器人上的控制系
统可能不使用通过标测图的预先规划的路线来识别在哪里定位要拾取的元件或定位从其拾取或放置元件的其他元件中的一个元件。在示例中,机器人可以移动穿过空间或围绕空间移动,并且在达到对象时尝试检测和识别机器人被控制移动的元件。如本文所解释的,可以通过以下来执行识别和检测:捕获包含元件的感兴趣区域中的图像数据,过滤图像数据以产生比所捕获的图像数据具有更少的数据量的过滤后的数据,并且通过使用确定性过程分析过滤后的数据来识别元件的部件。识别过程还可包括参考数据库,该数据库包括包含元件属性的库。在一些情况下,在机器人识别出感兴趣的元件之后,机器人可以移动穿过空间以及围绕空间移动以识别在其上放置机器人正保持的元件的其他元件中的一个元件。
44.另一个元件的位置可以被预编程,或机器人可以使用其传感器系统搜索整个空间以识别另一个元件。在这点上,在一些实现方式中,机器人正保持的元件或放置该元件的其他元件可以包含诸如条形码、qr码或序列号的标记。机器人可以识别该元件和其他元件上的此类标记,比较所识别的标记,并且当检测到匹配时,确定该元件将被放置在其他元件上。在一些实现方式中,这些操作可以基于该元件和另一个元件的尺寸,或该元件和另一个元件上的其他区别特征(诸如颜或标记)来执行。例如,操作可以由控制系统执行以确定要在哪里放置货盘或其它元件或者从哪里移除货盘或其它元件。操作可包括:检测包含要在其中放置元件或要从其移除元件的容积的支架;将处于支架的底部上方的传感器指向感兴趣区域;基于感兴趣区域的第一部分内的3d数据以及感兴趣区域的第二部分内的3d数据的缺乏来检测容积;并且基于元件的3d数据和维度来确定容积是否足够大以适配元件。
45.控制系统46可包括电路或机载计算系统,以控制机器人的操作。电路或机载计算系统是“机载的”意思是其位于机器人自身上。控制系统可包括例如一个或多个微控制器、一个或多个微处理器、可编程逻辑诸如现场可编程门阵列(fpga)、一个或多个专用集成电路(asic)、固态电路或这些类型的处理设备中的两者或更多者的任何适当组合。在一些具体实施中,控制系统的机载部件可与远程计算系统通信。该计算系统是远程的意思是其不位于机器人自身上。例如,控制系统还可包括分配给远程(例如,集中式或云)服务的计算资源,其中的至少一部分不机载在机器人上。由远程计算系统提供的命令可被传送以供机载计算系统执行。在一些具体实施中,控制系统仅包括机载部件。在一些具体实施中,控制系统包括机载部件和远程计算系统的组合。在一些具体实施中,控制系统可被配置(例如,被编程)为在没有来自用户的本地或远程输入的情况下实现控制功能和机器人移动。在一些具体实施中,控制系统可被配置成至少部分地基于来自用户的输入来实现控制功能,包括定位。
46.在一些具体实施中,远程控制系统可包括机控制系统。机控制系统可包括一个或多个计算设备,该一个或多个计算设备一起操作以控制、影响或指示本文所述类型的多个机器人。例如,机控制系统可被配置成协调多个机器人的操作,包括指示机器人移动到元件位于其中的位置和元件待堆叠的位置(例如,放置)。例如,机控制系统可被配置成协调多个机器人的操作,包括指示机器人移动到待拾取元件的位置。在一些实施方案中,机控制系统可存储、维护和更新一个或多个机器人待操作的空间的标测图。标测图可由每个机器人通过机队控制系统访问,或者可将标测图周期性地、间歇地或偶发地下载到在空间中操作的所有或一些机器人。例如,机器人可以使用标测图将其接近自身元件定位,以便拾取该元件;机器人可以使用标测图来导航到机器人将放置机器人已经拾取的元件的另一
个元件;并且机器人可以使用该标测图将其自身定位为接近机器人将在其上放置机器人已拾取的元件的其他元件。在此示例中,定位可以包括移动机器人(这可以包括移动主体、端部执行器或两者),使得其端部执行器对准要被拾取的元件中的插口。标测图还可用于识别要从其拾取元件的现有支架或堆叠。
47.在一些具体实施中,包括其远程部分在内的控制系统可分布在空间中操作的多个机器人之间。例如,机器人中的一个可例如从机队控制器接收标测图,并且将标测图分配给空间内本地操作的机器人。类似地,空间内的一个或多个机器人可向其他机器人发送命令和控制信号。
48.控制系统,无论机载在机器人上,从机器人远程,还是机载和远程的组合,均可包括存储数据库的计算机存储器,该数据库包括识别不同类型的元件和不同类型的元件的属性的数据库。例如,数据库可包括识别元件的品牌、元件的型号、元件中插口的数量、包括长度、宽度和深度的元件维度(xyz)、制造元件的材料、元件的重量、元件对准(或堆叠)特征、元件上的标记或记号(诸如颜、序列号、条形码、qr码)等的属性,以及机器人拾取元件、移动元件和/或将元件堆叠在另一个元件(诸如支架)或兼容的互锁设备(诸如另一个元件)上可能需要的任何其他适当的信息。机器人可以使用此信息来识别元件并且控制其主体和/或其端部执行器来拾取和移动元件。例如,如本文所述,机器人上的机载控制系统可以从此类型的本地或远程数据库获得信息,并且可以使用该信息来识别元件并且拾取和/或堆叠元件。
49.就这一点而言,不同类型的元件可以包括不同类型的部件。例如,货盘(诸如图5的货盘83)可包括柱85、86和87以及平台88和89。货盘83还可包括插口90和91。例如,支架(诸如图6的支架81)可包括竖直柱(诸如94、95)和水平梁(诸如96、97)。本文所述的技术可用于检测那些部件、由那些部件界定的容积或部件和容积两者。表示部件、容积或两者的信息(例如,数据)用于进行检测(包括识别)。
50.参考图4,以下操作可用于使用机器人来检测元件(诸如货盘)。操作可以全部或部分地由机器人的控制系统执行,如本文所述,该控制系统可以为机载或远程的。操作可以全部或部分地使用与机器人的控制系统分开并与机器人的控制系统通信的一个或多个计算系统来执行。
51.可以控制机器人移动到感兴趣元件的附近并且基于该元件的预期位置来定位或引导其传感器。预期位置可以被编程到控制系统中或从远程计算系统获得。在图4中,用于检测该元件的操作70包括使用自主车辆上的传感器来捕获(71)包含元件的感兴趣区域中的图像数据。例如,传感器36a、36b、36c、36d、36e或36f中的一个或多个传感器可以被引导在元件处以获得表示元件的部件的图像数据。在一些具体实施中,图像数据可以为由诸如3d相机或多个lidar传感器等传感器捕获的3d数据。在示例中,图像数据限定点云。示例性点云包括表示元件(例如,货盘)的数据集。数据集中的每个点表示潜在采样表面(元件)上的单个点的3d(例如,笛卡尔x、y和z)几何学坐标。图7示出了表示货盘的点云100的示例。可以使用控制系统对图像数据进行过滤(72)以产生比图像数据具有更少的数据量的过滤后的数据。
52.过滤过程可包括减少点云中的点的数量。例如,可以执行体素网格过滤以减少点云中的点的数量。在示例性过滤过程中,可以执行降采样以实现空间分辨率的减少,同时保
持由点云表示的元件的相同3d表示。降采样可包括体素网格过滤。体素网格过滤通过利用云中的点的空间平均值来降采样数据。体素网格过滤包括将包含点云的空间划分为矩形的规则网格。该矩形被称为体素。体素边界内的一组点被分配给该体素并且被组合成一个输出点。该一个输出点表示该体素并且在针对该体素中的所有点的点云中被取代。因此,过滤后的数据仍然是点云,但是该点云具有比表示所捕获的图像数据的原始点云更少的点。在示例中,点的数量可以以300倍或更大倍数减少。然而,所得的过滤后的点云仍然包括基于元件的形状布置的点。图8示出了作为点云100的过滤后的型式的点云101的示例。云101中的较低点浓度表示数据的减少。
53.在一些具体实施中,点云中的数据也可以至少部分地基于元件的已知配置而被过滤。例如,可以基于元件的预期位置来识别原始点云或过滤后的点云中的感兴趣区域。可以以一定程度的确定性预期那些感兴趣区域包含元件。感兴趣区域之外的点可以被丢弃或不被考虑。例如,在图8中,可以丢弃被矩形包围的区域102内的点,因为它们完全在感兴趣区域之外。
54.操作70包括通过使用确定性过程分析过滤后的数据来识别(73)元件的部件。示例性确定性过程包括具有以下行为的过程:该行为由其初始状态和输入完全确定并且不是无规的或随机的。在示例中,如先前所述,元件的部件可包括柱、平台或梁。在图8的示例中,货盘103可包括三个竖直柱104、105、106和两个水平平台107、108(尚未被识别)。柱和平台由过滤后的点云中的聚集状点表示。如图所示,它们的大致形状是可识别的并且如本文所述对它们进行检测。
55.用于识别(73)部件的操作可包括定位由过滤后的数据表示的一个或多个结构,该一个或多个结构沿第一维度延伸并且由预定义空间隔开。用于识别(73)部件的操作可包括定位由过滤后的数据表示的一个或多个结构,该一个或多个结构沿不同的第二维度延伸并且由预定义空间隔开。例如,这些操作可包括定位沿水平维度延伸的结构(诸如平台)和沿竖直维度延伸的结构(诸如柱)。正被识别的元件的已知或预期的几何结构指示过滤后的点云中的各种结构之间的预期的位置和空间。例如,对于具有三个柱的货盘而言,两个相邻柱之间的预期距离可以为x(x》1)厘米(cm),并且两个平台之间的预期距离可以为y(y》1)cm。
56.用于识别过滤后的点云中的部件的确定性过程可以至少部分地基于部件的形状。示例性确定性过程包括:识别具有预定义连接性的点的簇,检测与最近相邻簇相隔预定义距离的簇,并且在一些情况下出于针对不满足预定义条件的考虑来消除簇中的至少一个簇。在一些具体实施中,没有簇被消除,诸如当唯一的可见实体为货盘并且相机相对于货盘被置于理想位置时。预定义距离可以为可调谐的,并且可以基于正被检测的元件的几何结构。例如,如果两个相邻柱104、105之间的预期距离为x cm,则预定义距离将为x cm。预定义连接性可以对应于例如具有共线性或表示预定义形状(诸如竖直柱)的点。可以类似于距离调谐来调谐其它标准中的共线性误差阈值或错误/偏移。在示例中,共线性点可包括:沿相同维度的相邻点,或者在沿该维度的点中存在间断的情况下相对于该维度成角度的相邻点。例如,沿相同维度具有大致对应于元件的部件(诸如货盘的柱)的长度的相邻点可以指示表示点云中的部件的簇。在一些情况下,点云中可能存在间断,这可能例如由反射或其它图像数据伪影引起。在此类情况下,如果点沿某一维度是连续的,然后相对于间断成角度连续(例如,上斜坡然后下斜坡),并且在间断之后再次沿该维度继续,则这些点可以指示表示
点云中的部件的簇而不管间断。
57.簇构成针对元件的部件(例如,货盘的柱和/或平台,或者支架的竖直柱和水平梁)的候选。检测(74)来自候选当中的元件包括:执行表决过程以识别有资格作为部件的那些候选,并且将有资格的部件与元件的预期配置进行比较。就这一点而言,点(无论是竖直的、水平的还是相对于竖直轴线或水平轴线成角度的)应处于彼此的预定义距离内以被认为具有足够的共线性。预定义距离可以部分地基于点云的分辨率。在示例中,表决过程包括确定每个簇中的点是否满足预定义的共线性和距离公差。如果簇中的多于预定义数量的点满足预定义的共线性和距离公差,并且该簇处于针对部件的预期位置,则该簇被认为有资格作为部件。表决可包括:将簇中的所选择的点与一个或多个相邻点进行比较,并且基于所选择的点是否满足预定义公差来增加或减少投票。例如,如果点处于距彼此的预定义距离内,则可以增加投票,而如果点在该预定义距离之外,则可以减少投票。例如,如果点处于线上或处于线的预定义距离内,则可以增加投票,而如果点不处于线上并且不处于线的预定义距离内,则可以减少投票。可以将聚集体投票与阈值进行比较,可以在软件中对该阈值进行调谐。如果投票超过阈值,则簇可以有资格作为部件。在识别两个或更多个部件之后,将它们与元件的预期配置进行比较。如果该多个部件与预期配置相比是有利的(例如,部件匹配预期配置或处于预期配置的可接受误差范围内),则部件被识别为元件。
58.在一些具体实施中,可以通过仅在一个维度上考虑部件(诸如通过考虑柱)来识别元件(诸如货盘)。沿不同的第二维度延伸的部件(诸如平台)可被认为增加检测的稳健性。
59.参考图9,以下操作可用于检测要在其中放置元件的容积。该容积可以例如在支架或其它容器中。操作可以全部或部分地由机器人的控制系统执行,如本文所述,该控制系统可以为机载或远程的。操作可以全部或部分地使用与机器人的控制系统分开并与机器人的控制系统通信的一个或多个计算系统来执行。
60.相对于支架和货盘元件来描述操作110;然而,可以针对保持任何适当类型的元件的任何适当类型的容积来执行操作。操作110包括检测(111)包含容积的支架。可以如通过执行图4的操作70来检测支架。例如,机器人上的传感器捕获表示包含支架的感兴趣区域中的支架的部件的图像数据;图像数据被过滤以产生比该图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析过滤后的数据来识别支架的部件(诸如水平梁和竖直梁);并且基于部件来检测支架。例如,将部件与数据库中的预定义支架配置进行比较,并且将匹配的部件识别为支架。此信息可用于确定寻要在其中放置元件的容积的位置。就这一点而言,支架可以是部分完整的,并且因此仍然需要识别支架的可用于接收元件的区域。在一些具体实施中,当检测支架时,传感器可能处于支架的中心,其中仅水平支架梁可见。在这种情况下,可能不考虑柱。例如,当传感器朝向(例如,观察)中心时,可能只有一个感兴趣结构,诸如作为支架的一部分的水平梁。当传感器朝向支架的端部时,则可以看到并考虑支架的柱。在一些具体实施中,检测支架可包括仅检测单个部件,诸如识别支架的底部部分的水平梁。
61.操作110还包括:将处于支架的底部上方的传感器(诸如3d相机、lidar传感器或本文所述的传感器中的任何传感器)指向(112)要在其中放置货盘的感兴趣区域。通过检测感兴趣区域的第一部分内的3d数据以及感兴趣区域的第二部分内的3d数据的缺乏来检测(113)感兴趣区域的容积。例如,第一部件可包括支架的部件,并且第二部分可以为要在其
中放置货盘的空的空间。在示例中,检测区域的第一部分内的3d数据包括输出光并检测光的反射。反射是从区域中的部件(诸如作为支架的一部分的柱或梁)进行的。反射可以是从已经堆叠在支架中的其它元件进行的。为了检测诸如支架81的容积115(图6)等容积,尝试检测预期包含容积的区域内的3d数据。尝试检测包括:在区域中输出光,并且通过接收到小于预先确定的量的光反射而检测到小于预先确定的量的3d数据。例如,在一些情况下,可能没有接收到光反射。这将被预期为容积,因为容积是空的或大部分是空的,并且其中没有部件或有较少的部件来反射光。因此,如果在支架内的区域的一部分内存在少于预先确定的量的3d数据,则区域的该部分可以被认为是容积。可以以这种方式(也就是说,通过识别未从其接收到反射或3d数据的区域的边界)来确定容积的大小。
62.操作110包括:基于接收到的3d数据和区域中该数据的缺乏以及元件的维度来确定(114)容积是否足够大以适配元件。就这一点而言,元件的维度可以如本文所述被检测,或者可以被编程到机器人中或以其它方式是事先已知的。将元件的维度与容积的尺寸进行比较。如果容积大于元件,则确定元件将在容积内适配。可以将元件在容积内对准(116)。如果支架是空的,则这可以基于对支架的几何结构的了解来完成。如果支架不是空的(例如,支架可能包含货盘的堆叠),则可以使用操作70或任何其它适当的方法来识别堆叠中的顶部货盘。机器人然后将元件移动(117)到支架中,并且将其置于适当的位置,例如,置于支架本身或被保持在支架中的堆叠上。
63.本文所述的示例性自主车辆可至少部分地使用一个或多个计算机程序产品来控制,该计算机程序产品例如为一个或多个信息载体(诸如一个或多个非暂态机器可读介质)中有形地体现的一个或多个计算机程序,用于由一个或多个数据处理装置执行或控制一个或多个数据处理装置的操作,该数据处理装置例如为可编程处理器、计算机、多台计算机和/或可编程逻辑部件。
64.计算机程序可采用任何形式的编程语言编写,包括编译或解释语言,并且其可以任何形式部署,包括作为独立程序或作为模块、部件、子程序或适用于计算环境中的其他单元。计算机程序可被部署成在一台计算机上或者在一个站点处或分布在多个位点并且通过网络互连的多台计算机上执行。
65.与实现全部或部分测试相关联的动作可通过一个或多个可编程处理器进行,该处理器执行一个或多个计算机程序来进行本文所述的一些功能。全部或部分测试可使用专用逻辑电路例如fpga(现场可编程门阵列)和/或asic(专用集成电路)来实现。
66.适用于计算机程序执行的处理器包括(举例来说)通用和专用微处理器两者,以及任何种类数字计算机的任何一个或多个处理器。通常,处理器将从只读存储区或随机存取存储区或这二者接收指令和数据。计算机(包括服务器)的元件包括用于执行指令的一个或多个处理器以及用于存储指令和数据的一个或多个存储区设备。通常,计算机还将包括(或者操作地耦接以从其接收数据或向其传输数据或这二者)一个或多个机器可读存储介质,诸如用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘。适于体现计算机程序指令和数据的机器可读存储介质包括所有形式的非易失性存储区,包括(以举例的方式)半导体存储区设备,例如,eprom、eeprom和快闪存储区设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。
67.本文中的任何机械或电连接可包括直接物理连接或包括中间部件的间接连接。
68.本文所述的不同具体实施的元件可组合在一起以形成未在上面具体阐明的其他实施方案。多个元件可被排除在本文所述的结构之外而不对其操作产生不利影响。此外,各单独元件可组合为一个或多个单个元件来进行本文所述的功能。

技术特征:


1.一种使用自主车辆检测元件的方法,所述方法包括:使用所述自主车辆上的传感器来捕获包含所述元件的感兴趣区域中的图像数据,所述图像数据表示所述元件的部件;过滤所述图像数据以产生比所述图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析所述过滤后的数据来识别所述元件的所述部件;以及基于所述部件来检测所述元件。2.根据权利要求1所述的方法,其中过滤至少部分地基于所述元件的期望位置。3.根据权利要求1所述的方法,其中识别所述部件包括定位由所述过滤后的数据表示的多个结构,所述多个结构沿相同维度延伸并且由预定义空间隔开。4.根据权利要求3所述的方法,其中识别所述部件包括定位由所述过滤后的数据表示的多个结构,所述多个结构沿不同于第一维度的第二维度延伸。5.根据权利要求4所述的方法,其中所述第一维度为三维(3d)空间中的竖直维度,并且所述第二维度为所述3d空间中的水平维度。6.根据权利要求1所述的方法,其中所述过滤后的数据包括点云,所述点云包括基于所述元件的形状布置的至少一些点;并且其中所述确定性过程包括以下操作:生成具有预定义连接性的点的簇;并且检测与最近相邻簇相隔预定义距离的簇。7.根据权利要求1所述的方法,其中所述过滤后的数据包括点云,所述点云包括基于所述元件的形状布置的至少一些点;并且其中所述确定性过程包括以下操作:生成具有预定义连接性的点的簇;检测与最近相邻簇相隔预定义距离的簇;并且出于针对不满足预定义条件的考虑来消除所述簇中的至少一个簇。8.根据权利要求7所述的方法,其中所述预定义条件包括共线性。9.根据权利要求7所述的方法,其中所述预定义条件本质上是几何形的或统计学的。10.根据权利要求7所述的方法,其中所述预定义距离是能够调谐的;并且其中所述预定义条件是能够调谐的。11.根据权利要求7所述的方法,其中所述元件包括可堆叠元件,所述可堆叠元件包括柱和平台;并且其中执行所述操作以识别所述柱和/或识别所述平台。12.根据权利要求7所述的方法,其中生成点的所述簇包括识别相邻的点。13.根据权利要求12所述的方法,其中识别相邻的所述点包括:识别沿相同维度的点,或者在沿所述维度的所述点中存在间断的情况下识别相对于所述维度成角度的点。14.根据权利要求1所述的方法,其中所述元件在支架上,并且所述感兴趣区域小于由所述支架所覆盖的空间。15.根据权利要求1所述的方法,所述方法还包括:存储包含不同类型元件的属性的库;其中所述部件至少部分地基于来自所述库的一个或多个属性而被识别。
16.根据权利要求1所述的方法,其中所述元件定位在支架上;并且其中所述方法还包括:使用所述传感器识别所述支架;并且将处于所述支架的底部上方的所述传感器指向所述感兴趣区域。17.根据权利要求1所述的方法,其中所述元件包括支架,所述支架包括柱和梁;并且其中识别所述部件包括:基于沿第一维度聚集的过滤后的数据来识别所述柱;并且基于沿不同于所述第一维度的第二维度聚集的过滤后的数据来识别所述梁。18.根据权利要求1所述的方法,其中所述传感器包括三维(3d)相机。19.一种系统,所述系统包括:自主车辆,所述自主车辆包括传感器,所述传感器用于捕获包含元件的感兴趣区域中的图像数据,所述图像数据表示所述元件的部件;和控制系统,所述控制系统用于执行操作,所述操作包括:过滤所述图像数据以产生比所述图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析所述过滤后的数据来识别所述元件的所述部件;并且基于所述部件来检测所述元件。20.一种由自主车辆执行的用于检测要在其中放置元件的容积的方法,所述方法包括:检测包含所述容积的支架;将处于所述支架的底部上方的传感器指向感兴趣区域;基于所述感兴趣区域的第一部分内的三维(3d)数据以及所述感兴趣区域的第二部分内的3d数据的缺乏来检测所述容积;以及基于所述元件的所述3d数据和维度来确定所述容积是否足够大以适配所述元件。21.根据权利要求20所述的方法,其中检测所述容积包括:尝试检测所述感兴趣区域的所述第二部分内的3d数据;并且检测到小于预先确定的量的所述感兴趣区域的所述第二部分内的3d数据。22.根据权利要求21所述的方法,其中检测所述容积包括:通过输出光并检测所述光的反射来检测所述感兴趣区域的所述第一部分内的3d数据;其中尝试检测所述感兴趣区域的所述第二部分内的3d数据包括在所述容积中输出光;并且其中检测到小于所述预先确定的量的3d数据包括检测到小于预先确定的量的光反射。23.根据权利要求22所述的方法,其中检测到小于所述预先确定的量的光反射包括无光反射。24.根据权利要求20所述的方法,所述方法还包括:将所述元件在所述容积内对准。25.根据权利要求20所述的方法,其中检测所述支架包括:使用所述传感器捕获包含所述支架的感兴趣区域中的图像数据,所述图像数据表示所述支架的部件;通过使用确定性过程分析所述图像数据来识别所述支架的所述部件;并且基于所述部件来检测所述支架。26.根据权利要求25所述的方法,其中所述部件包括柱;并且
其中识别所述柱包括定位由所述数据表示的一个或多个结构,所述一个或多个结构沿相同维度延伸并且由预定义空间隔开。27.根据权利要求26所述的方法,其中所述部件包括梁;并且其中识别所述梁包括定位由所述数据表示的一个或多个结构,所述一个或多个结构沿相同维度延伸并且由预定义空间隔开。28.根据权利要求26所述的方法,其中所述部件包括梁,并且所述相同维度为第一维度;并且其中识别所述梁包括定位由所述数据表示的多个结构,所述多个结构沿不同于所述第一维度的第二维度延伸;并且其中所述第一维度为3d空间中的竖直维度,并且所述第二维度为所述3d空间中的水平维度。29.根据权利要求25所述的方法,所述方法还包括:存储包含不同类型支架的属性的库;其中所述部件至少部分地基于来自所述库的一个或多个属性而被识别。

技术总结


本发明公开了一种使用自主车辆检测元件的示例性方法,该方法包括以下操作:使用该自主车辆上的传感器来捕获包含该元件的感兴趣区域中的图像数据,其中该图像数据表示该元件的部件;过滤该图像数据以产生比该图像数据具有更少的数据量的过滤后的数据;通过使用确定性过程分析该过滤后的数据来识别该元件的该部件;并且基于该部件来检测该元件。并且基于该部件来检测该元件。并且基于该部件来检测该元件。


技术研发人员:

杰拉

受保护的技术使用者:

自动导向有限责任公司

技术研发日:

2021.04.30

技术公布日:

2022/12/23

本文发布于:2024-09-23 13:18:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/48407.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:元件   所述   多个   机器人
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议