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

用于机器人机械的视觉系统的制作方法

2021-10-16 01:15:00 来源:中国专利 TAG:机器人 优先权 系统 用于 视觉

用于机器人机械的视觉系统
1.优先权文件
2.本技术要求2018年9月4日提交的名称为“vision system for a robotic machine(用于机器人机械的视觉系统)”的澳大利亚临时申请no.2018903292的优先权,该临时申请的全部内容通过引用而并入本文中。
技术领域
3.本公开涉及一种机器人系统。在一具体形式中,本公开涉及一种用于确定由机器人机械保持着的物体的位置的视觉系统。


背景技术:

4.自动化和半自动化的工业机器人设备正越来越多地用在诸如施工现场、建筑工地、采矿地区和工业现场等外部工作环境中。在许多情况下,工业机器人设备包括自动移动的吊臂和能够抓取、操纵和放置物体的工作部件。在某些应用中,令人期望的是,能够精确地知晓物体位于哪里,以便可以将该物体提供给系统中的另一个组件或将该物体放置于精确的位置。
5.一种这样的系统是由本技术人开发的机械式施工机器人,在该机械式施工机器人中,可伸缩铰接臂安装在卡车上,并且传送机将砖块运送到用于铺设砖块的被称为铺设头的末端执行器。当砖块到达铺设头时,在涂敷粘合剂的同时将砖块夹紧,然后将砖块转动180度,并且将砖块送出以供机械臂进行拾取,该机械臂优选以亚毫米的精度将砖块放置在所需位置。当铺设砖块时,假定砖块相对于机械臂被保持在某一姿态。为了使机械臂将砖块放置在期望位置,必须从夹具上的正确位置拾取砖块。
6.存在的一个问题是,不能准确地知晓砖块相对于铺设头中的夹具的确切位置。砖块可能会稍微地平移或转动从而离开机械臂的理想拾取位置。视觉系统可以被用来确定砖块在空间中的准确6dof(自由度:degrees of freedom)位置(在质心位置(a,b,c)处的(x,y,z)指向方向)。然而,这是一项具有挑战性的任务,因为在铺设头处存在着空间限制,而无法(在不影响所需功能的前提下)放置相机和传感器,而且,必须快速执行处理(例如,少于2秒),以确保快速的砖块铺设。此外,由于需要在很多种不同的室外条件下操作机器人,因此使这项任务变得更加困难,上述室外条件包括0℃~50℃的温度、雨水、沙尘、风力以及大白天、黄昏和夜晚照明条件。这对于用来确定砖块位置以能够实现砖块的精确放置的视觉系统提出了很高的要求。
7.因此,需要开发一种改进的用于机械施工设备的视觉系统,或者至少提供现有系统的一种有益替代物。


技术实现要素:

8.根据第一方面,提供了一种用于确定物体在机器人机械的局部坐标系中的姿态的方法,所述方法包括:在一个或多个电子处理设备中,
9.a)使用一个或多个传感器装置来采集所述物体的第一面的至少一个图像和所述物体的第二面的至少一部分的至少一个图像,其中所述第二面的所述至少一部分包括第一边缘,所述第一面与所述第二面在所述第一边缘处相交;
10.b)使用从所述第一面和所述第二面的采集图像中获得的图像数据来生成所述物体的至少一部分的点云表示(point cloud representation);
11.c)使用所述点云表示将第一平面拟合到所述物体的所述第一面并且将第二平面拟合到所述物体的所述第二面;
12.d)使用所述一个或多个传感器装置的在所述局部坐标系中的姿态来确定所述第一平面的姿态和所述第二平面的姿态;
13.e)获取所述物体的至少所述第一面的形状模型,所述形状模型包括至少所述第一面的在所述局部坐标系的标尺中的尺寸;
14.f)通过至少部分地使用所述第一面的所述至少一个图像,将所述形状模型在所述局部坐标系中定位;和
15.g)使用所述物体的尺寸、所述第一平面的姿态、所述第二平面的姿态、以及所述形状模型的在所述局部坐标系中的位置来确定所述物体在所述局部坐标系中的姿态。
16.在一个实施例中,所述方法还包括:将所述物体的姿态提供给控制器,以使得所述机器人机械的机器人夹持器臂能够夹持和操纵所述物体。
17.在一个实施例中,所述物体的姿态表明了所述物体的质心。
18.在一个实施例中,所述形状模型是所述物体的所述第一面的2d(二维)表示。
19.在一个实施例中,所述形状模型是所述物体的3d(三维)表示。
20.在一个实施例中,所述形状模型是从下列中的至少一者得出的:
21.a)所述物体的cad(计算机辅助设计:computer aided design)模型;和
22.b)执行对所述物体的扫描,并且根据扫描数据在保存了所述物体的各尺寸的虚拟坐标系中生成所述形状模型。
23.在一个实施例中,所述一个或多个传感器装置包括:第一传感器装置和第二传感器装置,它们使用一对或多对立体相机或者使用tof(飞行时间:time of flight)摄像传感器来采集图像,所述tof摄像传感器能够生成相应的传感器装置的视场的点云表示。
24.在一个实施例中,在采集所述物体的所述第一面的所述至少一个图像和所述物体的所述第二面的所述至少一部分的所述至少一个图像的同时,所述物体由夹持装置保持在固定位置。
25.在一个实施例中,基本上同时采集所述物体的所述第一面的所述至少一个图像和所述物体的所述第二面的所述至少一部分的所述至少一个图像。
26.在一个实施例中,所述一个或多个传感器装置包括如下的第一传感器装置和第二传感器装置:所述第一传感器装置包括第一位置中的一个或多个传感器,它们具有第一视场,以在所述物体被夹持装置夹持时观察所述物体的第一面的全体;所述第二传感器装置包括第二位置中的一个或多个传感器,它们具有第二视场,以在所述物体被所述夹持装置夹持时观察所述物体的第二面的至少一部分。
27.在一个实施例中,所述第一传感器装置包括四个传感器的阵列,所述四个传感器各自具有对所述第一面的一部分进行采集的视场,以使得各个视场能够被组合而形成所述
第一视场,来自所述四个传感器的阵列中的各者的图像被组合以形成所述第一面的第一合成图像,并且使用所述第一合成图像将所述第一平面拟合到所述第一面的点云表示。
28.在一个实施例中,所述第一传感器装置包括:基本上位于所述物体上方的第一传感器对;和位于所述物体上方并相对于所述第一传感器对具有角度偏移的第二传感器对。
29.在一个实施例中,所述第二传感器装置包括两个传感器,所述两个传感器各自具有对所述第二面的一部分进行采集的视场,以使得各个视场能够被组合而形成所述第二视场,来自所述两个传感器中的各者的图像被组合以形成所述第二面的所述一部分的第二合成图像,并且使用所述第二合成图像将所述第二平面拟合到所述第二面的点云表示。
30.在一个实施例中,所述第二传感器装置距所述物体小于250mm。
31.在一个实施例中,所述第一传感器装置距所述物体小于600mm。
32.在一个实施例中,所述物体是矩形的物体,并且所述第二平面是正交于所述第一平面的平面。
33.在一个实施例中,所述方法还包括:将所述第一平面沿第一轴线偏移所述物体的尺寸的一半;将所述第二平面沿第二轴线偏移所述物体的尺寸的一半;并且偏移后的第一平面和偏移后的第二平面相交以获得沿第三轴线穿过所述物体的中心而延伸的线。
34.在一个实施例中,将所述形状模型在所述局部坐标系中定位就界定了所述物体在与所述第一轴线和所述第二轴线两者均正交的第三轴线上的位置。
35.在一个实施例中,使用所述物体沿所述第三轴线的尺寸,将第三平面界定成经过所述物体的在所述第三轴线上的位置,所述第三平面正交于所述第三轴线。
36.在一个实施例中,其中,所述物体在所述局部坐标系中的姿态是根据下列而被确定的:
37.a)沿第三轴线穿过所述物体的中心而延伸的线与所述第三平面之间的交点;以及
38.b)所述第一平面的取向和所述第二平面的取向。
39.在一个实施例中,所述方法包括:
40.a)使用所述第一传感器装置采集所述第一面的图像;
41.b)使用所采集的图像生成所述第一面的第一点云表示;
42.c)使用所述第一点云表示将第一平面拟合到所述第一面;和
43.d)使用所述第一平面的姿态和所述第一传感器装置的反姿态来生成正交于所述第一平面的虚拟相机。
44.在一个实施例中,所述方法包括:通过根据所述虚拟相机映射所述第一点云数据来生成所述第一面的第二点云表示。
45.在一个实施例中,所述形状模型是在所述第一面的所述第二点云表示中被定位的所述第一面的2d形状模型。
46.在一个实施例中,所述方法包括:
47.a)转换来自所述第一传感器装置的所采集的图像,以将它们投影到所述虚拟相机的平面上,从而形成虚拟相机图像;和
48.b)组合所述虚拟相机图像,以生成合成图像。
49.在一个实施例中,所述形状模型是在所述合成图像中被定位的所述第一面的2d形状模型。
50.在一个实施例中,在采集所述至少一个图像以确定所述物体的姿态时所用的时间少于2秒。
51.在一个实施例中,所述物体的姿态是作为从相当于理想夹持位置的基准位置的偏移而被提供的。
52.在一个实施例中,所述第一传感器装置采集所述第一面的至少两个图像,并且其中,所述方法包括:使用所述第一面的所述至少两个图像将所述形状模型至少两次在所述局部坐标系中定位。
53.在一个实施例中,所述方法包括:
54.a)执行第一形状匹配,以使用第一图像将所述形状模型在所述局部坐标系中定位;
55.b)执行第二形状匹配,以使用第二图像将所述形状模型在所述局部坐标系中定位;
56.c)比较所述第一形状匹配和所述第二形状匹配之间的差异;和
57.d)根据比较结果,来确定是否需要使用所述第一传感器装置采集更多的图像。
58.在一个实施例中,将所述差异与用于表明各形状匹配之间的对准状态的阈值进行比较。
59.在一个实施例中,基于预期的物体位置来调节传感器曝光,使得所述预期的物体位置符合于所述图像中的理想亮度。
60.在一个实施例中,确定所述物体的6dof姿态。
61.在一个实施例中,所述物体是包括砖块、砌块或瓦片的建筑要素。
62.根据第二方面,提供了一种视觉系统,其被构造成确定由机器人机械夹持的物体在局部坐标系中的姿态,所述机器人机械包括臂和在该臂的远端处的末端执行器,所述末端执行器被构造成夹持和操纵所述物体,所述视觉系统包括:
63.a)第一传感器装置,其在使用时被安装到所述末端执行器,并且具有第一位置和第一视场,以在所述物体被所述末端执行器夹持时对所述物体的第一面执行成像;
64.b)第二传感器装置,其在使用时被安装到所述末端执行器,并且具有第二位置和第二视场,以在所述物体被所述末端执行器夹持时对所述物体的与所述第一面正交的第二面的至少一部分执行成像;以及
65.c)存储器和至少一个处理器,所述存储器包括致使所述处理器执行上述第一方面的方法的指令。
66.在一个实施例中,所述视觉系统还包括:照明设备,其被安装至所述末端执行器,以照亮正被成像的所述物体。
67.在一个实施例中,所述第一传感器装置和所述第二传感器装置包括具有与所述照明设备的波长相似的波长的滤光器。
68.根据第三方面,提供了一种机器人机械,其包括上述第二方面的视觉系统,所述机器人机械包括:
69.a)基座;
70.b)从所述基座延伸的铰接臂;
71.c)机器人末端执行器,其附接到所述铰接臂的远端,并且包括第一臂、基本上平行
于所述第一臂的第二臂、和界定了y形容纳部的桥接部;以及
72.d)机器人物体夹持器,其被构造成接收和夹持所述y形容纳部内的物体,
73.其中,所述存储器和所述至少一个处理器位于所述基座中,所述第一传感器装置被安装至所述桥接部,并且所述第二传感器装置被安装在所述第一臂或所述第二臂中,且所述第二传感器装置的视场基本上正交于所述第一传感器装置的视场。
74.根据第四方面,提供了一种计算机可读介质,其包括用于致使处理器执行上述第一方面的方法的指令。
附图说明
75.将参照附图讨论本公开的实施例,其中:
76.图1a是用于确定物体在机器人机械的局部坐标系中的姿态的方法的示例的流程图;
77.图1b是根据一个实施例的用于机械臂的末端执行器上的视觉系统的示意图;
78.图2a是根据一个实施例的砌砖机器人的透视图;
79.图2b是图2a的砌砖机器人的侧视图;
80.图3是根据一个实施例的图2a的砌砖机器人的透视图;
81.图4a是根据一个实施例的砖块扫描系统的透视图;
82.图4b是使用根据一个实施例的图4a的砖块扫描系统而采集到的砖块3d模型;
83.图5a是根据一个实施例的末端执行器的侧视图;
84.图5b是根据一个实施例的图5a的末端执行器的仰视图;
85.图5c是根据一个实施例的图5a的末端执行器的第一透视图;
86.图5d是根据一个实施例的图5a的末端执行器的第二透视图;
87.图5e是根据一个实施例的图5a的末端执行器的第三透视图;
88.图6a是根据一个实施例的顶部相机组件的透视图;
89.图6b是根据一个实施例的侧面相机组件的透视图;
90.图7a是根据一个实施例的顶部和侧面相机位置的俯视图;
91.图7b是根据一个实施例的顶部和侧面相机位置的侧视图;
92.图7c是根据一个实施例的顶部和侧面相机位置的后视图;
93.图8a是根据一个实施例的砖块的各面的点云表示;
94.图8b示出了在根据一个实施例的图8a的点云中被定位的砖块3d模型;和
95.图9是根据一个实施例的主视觉系统模块的示意图。
96.在下面的说明中,在所有附图中,相同的附图标记表示相同或相对应的部分。
具体实施方式
97.现在将参照图1a来说明用于确定物体在机器人机械的局部坐标系中的姿态的方法的示例。
98.在该示例中,在步骤100中,该方法包括:在一个或多个电子处理设备中,使用一个或多个传感器装置来采集物体的第一面的至少一个图像和物体的第二面的至少一部分的至少一个图像,其中所述第二面的所述至少一部分包括第一边缘,第一面与第二面在第一
边缘处相交。任选地,第二面的这个部分可以正交于与第一边缘相对的边缘而延伸,以便第二面的整个范围被成像。在一个示例中,物体是矩形的,第一面是物体的顶面,并且第二面是相邻侧面,然而,物体的任何合适的相邻面都可以由传感器装置成像。在一种形式中,传感器装置是包括多个立体相机的基于相机的视觉系统(camera

based vision system)。
99.在步骤102中,该方法包括:使用从第一面和第二面的采集图像中获得的图像数据来生成物体的至少一部分的点云表示。通常,针对第一面的全体和第二面的被成像部分来获得点云。可以使用本领域中已知的标准技术来生成点云。
100.在步骤104中,该方法包括:使用上述点云表示将第一平面拟合到物体的第一面并且将第二平面拟合到物体的第二面。为了将各平面拟合到与物体的各面相对应的点云数据点,可以使用任何合适的最佳拟合技术。
101.然后,在步骤106中,使用一个或多个传感器装置的在局部坐标系中的姿态来确定第一平面的姿态和第二平面的姿态。这就将各平面在局部坐标系中定位,并且这就限定了各平面是如何取向的。
102.在步骤108中,该方法包括:获取物体的至少第一面的形状模型,该形状模型包括所述至少第一面在局部坐标系的标尺中的尺寸。在一种形式中,该方法使用了物体的第一面的2d模型,该2d模型包括物体的外部尺寸以及与第一面上的诸如切口、凹口等任何特征有关的信息。也可以使用物体的3d模型,并且该3d模型可以从cad模型中得出,或者可以通过由机器人机械执行的对实际物体的3d扫描来获得。
103.在步骤110中,该方法包括:通过至少部分地使用第一面的至少一个图像,将形状模型在局部坐标系中定位。换句话说,执行旨在将形状模型与物体的图像或物体的点云表示对准的形状匹配。如果形状模型是第一面的2d模型,那么这个算法旨在将该模型定位于第一面的图像或第一面的点云表示中。可以使用任何合适的形状匹配算法,例如该算法可以基于边缘特征等的检测,从而找到具有最佳特征关联的姿态。
104.最后,在步骤112中,该方法包括:使用物体的尺寸、第一平面和第二平面的姿态、以及形状模型在局部坐标系中的定位,来确定物体在局部坐标系中的姿态。取决于用于形状匹配的模型,需要从存储着物体的理想或实际尺寸(例如,长度、宽度、高度)的数据库等中获取物体的一些尺寸。如稍后将会进一步详细说明的那样,这些尺寸被用来使第一平面和第二平面偏移以获得穿过物体的中心而延伸的线。物体在这条线上的确切位置是未知的,直到执行了将物体在这条线上进行定位的形状匹配从而明确了这一未知坐标为止。于是,在根据第一平面和第二平面的姿态来确定物体的取向的同时,能够确定物体在局部坐标系中的质心(即,位置)。
105.上述方法提供了许多优点。首先,它实现了能够使用仅对物体的两个面执行成像的视觉系统来确定物体的姿态。这在无法对物体的超过两个的面执行成像的环境(例如在该环境下,空间限制制约了传感器装置的可能位置)中是有益的。通过仅对物体的两个面执行成像,所需的传感器装置的数量也被最小化了,这就降低了系统的成本和提高了系统的稳健性(robustness)。已经发现,通过使用基于视觉的系统,能够高精度地确定物体的姿态。
106.现在将会说明一些其他特征。
107.在一个示例中,该方法还包括:将物体的姿态提供给控制器,以使得机器人夹持器
臂(robot gripper arm)能够夹持和操纵物体。这使得机器人夹持器臂能够以知晓物体在夹持器中的姿态的方式正确地拾取物体,从而允许将物体精确地放置到环境中。
108.通常,物体的姿态表明了物体的质心。这使得机器人夹持器臂能够以让物体居中于夹持器中且没有偏移的方式拾取物体。
109.如前所述,形状模型可以是物体的第一面的2d表示。在一个示例中,在第一面是物体的顶面的情况下,2d模型是如下的顶面表示:其包括该顶面可能具有的诸如切口或孔等任何特征。可替代地,形状模型可以是物体的3d表示。该形状模型可以是从以下至少一者中得出的:物体的计算机辅助设计(cad:computer aided design)模型;以及执行物体的扫描并且根据扫描数据在虚拟坐标系中生成保存了物体的各个尺寸的形状模型。在cad模型(或其他合适的用户生成模型)的情况下,模型的尺寸是物体应当具有的理想尺寸。对于扫描模型,由于制造公差等原因,表明了特定物体的实际尺寸的尺寸可能与理想尺寸不同。
110.通常,一个或多个传感器装置包括:第一传感器装置和第二传感器装置,它们通过使用一对或多对立体相机或者通过使用tof摄像传感器来采集图像,所述tof摄像传感器能够生成相应的传感器装置的视场的点云表示。各传感器装置可以包括足以适当地对物体的所需面和所需边缘执行成像的多个相机。
111.通常,在采集物体的第一面的至少一个图像和物体的第二面的至少一部分的至少一个图像的同时,物体由夹持装置保持在固定位置。以这种方式,在对物体的姿态进行确定时,将物体保持为基本静止状态。在一个示例中,物体的第一面的至少一个图像和物体的第二面的至少一部分的至少一个图像是基本上同时被采集的。
112.通常,一个或多个传感器装置包括如下的第一传感器装置和第二传感器装置:该第一传感器装置包括第一位置中的一个或多个传感器,它们具有第一视场,以便在物体被夹持装置夹持时观察该物体的第一面的全体;该第二传感器装置包括第二位置中的一个或多个传感器,它们具有第二视场,以便在物体被夹持装置夹持时观察该物体的第二面的至少一部分。
113.在一个示例中,第一传感器装置包括四个传感器(例如,立体相机)的阵列,各传感器分别具有对第一面的一部分进行采集的视场,以使得各个视场被组合起来形成第一视场,并且来自这四个传感器的阵列中的各者的图像被组合以形成第一面的第一合成图像,而且,通过使用第一合成图像将第一平面拟合到第一面的点云表示。在一种构造中,第一传感器装置包括:基本上位于物体上方的第一传感器对;和位于物体上方且相对于第一传感器对具有角度偏移的第二传感器对。虽然第一传感器对通常能够提供第一面的图像,但是具有角度偏移的传感器对也能够辅助用于采集沿第一面的边缘的细节。
114.在一个示例中,第二传感器装置包括两个传感器,各传感器分别具有对第二面的一部分进行采集的视场,以使得各个视场被组合起来形成第二视场,并且来自这两个传感器中的各者的图像被组合以形成第二面的一部分的第二合成图像,而且,通过使用第二合成图像将第二平面拟合到第二面的点云表示。
115.由于仅需要对第二面的一部分执行成像,因此与需要对第一面的全体执行成像的第一传感器装置相比,第二传感器装置可以在位置上离物体更近。就这一点而言,第一传感器装置可以距物体小于600mm,而第二传感器装置可以距物体小于250mm。
116.可以理解的是,通常,物体是矩形的物体,因而第二平面是正交于第一平面的平
面。
117.在该方法的一部分中,确定(例如,在纵长方向上)穿过物体的中心而延伸的线。该线相当于物体的质心所在的线。该线是通过使第一平面沿第一轴线偏移物体的尺寸的一半、使第二平面沿第二轴线偏移物体的尺寸的一半、并且让偏移后的第一平面和偏移后的第二平面相交而获得的。由此,获得了沿第三轴线穿过物体的中心而延伸的线。该信息可以从对物体的两个面执行成像中得出,然而仅凭此无法确定质心在该线上的位置。如果可以对物体的第三面执行成像,则能够很容易地确定质心,然而上述方法限制了这种可能性。
118.质心在穿过物体的中心而延伸的线上的位置是通过拟合位置模型来获得的。就这一点而言,将形状模型在局部坐标系中定位就界定了物体在与第一轴线和第二轴线均正交的第三轴线上的位置。通常,使用物体的沿第三轴线的尺寸,将第三平面界定成经过物体的在第三轴线上的位置,该第三平面正交于第三轴线。
119.然后,根据下列两者来确定物体在局部坐标系中的姿态:沿第三轴线穿过物体的中心而延伸的线与第三平面之间的交点;以及第一平面的取向和第二平面的取向,它们界定了物体的取向(俯仰(pitch)、偏航(yaw)、翻滚(roll))。
120.可以以多种方式执行形状匹配,现在说明两种方法示例。
121.在一个示例中,该方法包括:使用第一传感器装置采集第一面的图像;使用该采集图像生成第一面的第一点云表示;使用第一点云表示将第一平面拟合到第一面;以及使用第一平面的姿态和第一传感器装置的反姿态生成正交于第一平面的虚拟相机。然后,通过根据虚拟相机映射第一点云数据,生成第一面的第二点云表示。换句话说,对第一点云中的各点进行了转换从而生成点云,就好像该点云是从由虚拟相机(即,向下直视于物体的第一面上)摄取到的图像中得出的一样。它是相同的点云,但是是从不同的角度来观察的,以使得所得到的点云跟物体的第一面的适当尺寸和形状相像(在原始点云中,第一面可能是偏斜的和/或倾斜的)。对于第一面的2d形状模型,那么就通过将该形状模型在第一面的第二点云表示中定位,来执行形状匹配。
122.在另一示例中,该方法包括:使用第一传感器装置采集第一面的图像;使用该采集图像生成第一面的第一点云表示;使用第一点云表示将第一平面拟合到第一面;以及使用第一平面的姿态和第一传感器装置的反姿态生成正交于第一平面的虚拟相机。该方法还包括:转换来自第一传感器装置(名义上位于物体上方的至少第一传感器对)的采集图像,以将它们投影到虚拟相机的平面上,从而形成虚拟相机图像;以及合并虚拟相机图像,从而生成合成图像。对于第一面的2d形状模型,通过将该形状模型在第一面的合成图像中定位来执行形状匹配。在该示例中,点云数据仅被用来拟合第一平面且生成虚拟相机。不存在对于该点云的额外处理,结果,就减少了计算处理时间。由第一传感器装置摄取的实际图像被转换,以便将它们投影到虚拟相机的平面上(即,就好像这些图像是由位于第一面正上方且与第一面正交的第一传感器装置摄取的一样)。然后,通过将形状模型拟合到转换后的合成图像,来执行形状匹配。
123.在所有示例中,优选的是,在采集至少一个图像与确定物体的姿态之间花费的时间少于2秒。这一速度是较佳的,以便允许机器人夹持器臂方便地拾取物体并且将物体移动到目的地(例如,在砌砖机器人的情况下,对砖块或砌块进行铺设)。
124.通常,物体的姿态是作为从相当于理想夹持位置的基准位置的偏移而被提供的。
125.在一个示例中,第一传感器装置采集第一面的至少两个图像,并且在这里该方法包括:使用第一面的至少两个图像将形状模型至少两次在局部坐标系中定位。就这一点而言,多次(至少两次)执行了形状匹配,从而提高了系统的准确性和稳健性。
126.通常,该方法包括:执行第一形状匹配,以使用第一图像将形状模型在局部坐标系中定位;执行第二形状匹配,以使用第二图像将形状模型在局部坐标系中定位;比较第一形状匹配和第二形状匹配之间的差异;以及根据比较结果,确定是否还需要使用第一传感器装置采集更多的图像。通常,将上述差异与表明了各形状匹配之间的对准状态的阈值进行比较。如果该差异低于阈值,那么形状匹配是可接受的,并且处理将会继续进行以确定物体的姿态。如果该差异高于阈值,那么形状匹配是不可接受的,并且将会采集第一面的更多图像以供分析。
127.在另一个示例中,基于预期的物体位置来调节传感器曝光,以使得所述预期的物体位置符合于图像中的理想亮度。这确保了能够采集到物体的各个面的最佳可能图像以供分析。
128.应当理解,通常,确定物体的6dof姿态((x,y,z)位置和翻滚、偏航、俯仰)。该(x,y,z)位置界定了物体的质心。
129.该物体可以是任意的矩形或方形物体,并且最通常情况是诸如砖块、砌块或瓦片等建筑要素,然而应当理解的是,本文所说明的方法和系统可以应用于如下的许多类型的机器人机械:这些机器人机械被编程以便操纵和移动特定物体。
130.在另一种宽泛的形式中,提供了一种视觉系统,其被构造成用于确定由机器人机械夹持着的物体在局部坐标系中的姿态。该机器人机械包括:臂;和在该臂的远端处的末端执行器(end effector),该末端执行器被构造成夹持和操纵物体。该视觉系统包括:第一传感器装置,它在使用时被安装至末端执行器,并且具有第一位置和第一视场,以在物体被末端执行器夹持时对该物体的第一面执行成像;第二传感器装置,它在使用时被安装至末端执行器,并且具有第二位置和第二视场,以在物体被末端执行器夹持时对物体的与第一面正交的第二面的至少一部分执行成像;以及存储器和至少一个处理器,所述存储器包括用于致使所述处理器执行本文所说明的方法的指令。
131.在一个示例中,视觉系统还包括安装至末端执行器的照明设备,以照亮正在被成像的物体。这对于让上述机器人机械能够在夜间或者在光线不足或阴暗的环境中运行是特别有用的。为了使视觉系统的日光饱和度的影响最小化,可以将具有与照明设备的波长类似的波长的滤光器应用于传感器装置中。这些滤光器被设计为减少日光对上述采集图像的影响,因为它们会消除不是来自安装至末端执行器的照明设备的所有光。
132.根据又一种广泛的形式,提供了一种机器人机械,其包括如本文所说明的视觉系统,该机器人机械包括:基座;从基座延伸的铰接臂;机器人末端执行器,其附接到铰接臂的远端,并且其包括第一臂、基本平行于第一臂的第二臂、和界定了y形容纳部的桥接部;以及机器人物体夹持器,其被构造成接收和夹持y形容纳部内的物体。这里,上述至少一个处理器和上述存储器位于基座中,上述第一传感器装置被安装至桥接部,并且上述第二传感器装置被安装在第一臂或第二臂中,且使得上述第二传感器装置的视场基本正交于上述第一传感器装置的视场。
133.现在参照图1b,将会说明被配置成用于确定由机器人机械夹持的物体在局部坐标
系中的6dof位置的方法和视觉系统1的实施例。机器人机械(或机器人设备)包括从基座延伸的铰接臂和在该铰接臂的远端处的末端执行器,该末端执行器被构造成在将物体转移到可以用来将物体放置于某一环境中的机器人夹持器臂之前夹持且任选地操纵该物体。视觉系统是在如下情况中被使用的:期望知晓物体相对于末端执行器的确切位置,以使得机器人夹持器臂能够精确地夹持和操纵物体。为了进一步解释本发明,下面将会说明一种自动化砌砖机器人,在该自动化砌砖机器人中,传送机将砖块或砌块(物体)传送到末端执行器,该末端执行器呈现为粘合剂涂敷及砖块铺设头(adhesive applying and brick laying head)(称为铺设头)的形式。当砖块到达铺设头时,被鳍状夹具(flipper clamp)拾取,该鳍状夹具在涂敷粘合剂的同时将砖块保持住,然后将砖块翻转180度,并且将砖块送出以供机械铺设臂(铺设机器人)的夹持器拾取。砖块相对于鳍状夹具的确切位置尚未准确地知晓,因此视觉系统被用来确定砖块的精确6dof位置,以便机械铺设臂能够被控制从而拾取砖块并且将其精确地铺设在所期望的位置,优选地以亚毫米精度进行铺设。然而,应当理解,这个实施例是解释性的,并且在其他实施例中,机械铺设臂的夹持器可以用诸如焊接设备、喷涂设备或搬运设备(例如,在装配操作中用于保持部件的夹持器)等其他附件来代替,并且物体可以是矩形、圆柱形或常规多边形形状的物体。
134.在图2a和图2b中示出了自动化砌砖机器人11的实施例的透视图和侧视图。在该实施例中,自动化砌砖机器人11具有:呈卡车形式的基座13,其具有支撑于垂直偏航轴线上的呈塔架(或炮塔)17形式的转台;以及铰接臂,其具有绕着水平俯仰轴线支撑于塔架17上的可伸缩吊臂19,所述铰接臂可以绕着该水平俯仰轴线被升高或降低。吊臂19具有:绕着水平枢转轴线安装于吊臂19的端部处的伸缩杆21;以及安装于该伸缩杆21的远端处的末端执行器23,该末端执行器呈现为粘合剂涂敷及砖块铺设头23的形式。为了方便起见,将末端执行器/粘合剂涂敷及砖块铺设头简称为铺设头。利用具有千斤顶式立柱27的腿部25(即,外撑支架),使得基座13相对于地面33是稳固的。砖块被储存在卡车的储存区域15中,并且铰接臂内的传送机将砖块从卡车13传送到铺设头23。
135.图3是图2a的砌砖机器人的透视图。砖块被储存在卡车后部的储存区域15中的托盘内。卸砖机器人从托盘上拾取砖块并且将砖块移动到临时储存位置26,搬运机器人35将会在该临时储存位置26处拾取单个砖块并且将该砖块搬运到转盘式传送带(carousel)31,该转盘式传送带31向塔架17的基座处的传送机进料,以便将砖块传送到铺设头。搬运机器人35可以使用切割器站27和刨削器站28来切割和刨削砖块。在经过了任何切割或刨削之后,包含至少一个3d扫描仪29(在此,被示出为两个激光扫描仪36、37)的质量控制站对砖块进行扫描,以生成包括砖块尺寸的砖块3d模型123。包括一个以上处理器112且包括存储器114的控制系统110位于基座上,以控制上述机器人机械的操作,该操作包括:各机械部件的移动;以及诸如协调由3d扫描仪29对砖块16的扫描和由稍后将会进一步详细说明的视觉系统1对砖块的成像等各种任务。
136.图4a提供了根据一个实施例的3d砖块扫描系统的透视图。在该实施例中,搬运机器人35夹持砖块,并且两个激光扫描仪36和37分别相对于砖块以异常的角度安置着,这两个激光扫描仪分别具有扫描视场38和39,以便生成如图4b所示的砖块3d模型123。这种构造使得3d扫描仪29能够用两个激光器扫描砖块的所有5个面。基于图4a中所示的角度,各激光器可以看到3个砖面,因此在两个激光扫描仪36和37之间,可以看到砖块的5个面。由于搬运
机器人35的搬运夹具的原因,而无法扫描砖块的顶面。在一个实施例中,第一激光扫描仪相对于砖块质心的6dof位置是(

415mm,

325mm,

465mm,12
°
,35
°
和26.5
°
),并且第二激光扫描仪相对于砖块质心的6dof位置是(

415mm、

325mm、

465mm、12
°
、35
°
和206.5
°
)。转动顺序为c

>b

>a,其中第二激光扫描仪绕着z轴上的砖块质心被转动了180度,并且砖块以300mm/s(毫米/秒)的速度经过各扫描仪。
137.扫描数据可以由上述激光扫描仪进行处理以生成例如如图4b所示的砖块3d模型123,或者,与控制系统110相关联的处理器可以对激光扫描数据进行处理且生成砖块3d模型123。该3d模型可以是点云模型,或者可以是基于表面网格的模型,并且上述处理器可以确定砖块的尺寸和砖块的具体特征(边缘、角等)的坐标。在其他实施例中,可以采用运用光、射频或超声的其他扫描系统,或者可以采用能够采集图像且重建砖块的几何形状的基于计算机的视觉系统。在一些实施例中,可以省略3d扫描仪29,并且数据库116可以存储砖块3d模型123。这些3d模型是可以预先获得的,在这种情况下,id扫描仪可以用来确定砖块id,例如,该id扫描仪使用能够识别出印刷在砖块上的id等的条形码读取器或基于相机的视觉系统来确定砖块id。可替代地或额外地,砖块3d模型可以基于砖块或物体的预先生成的虚拟或cad模型。在一些实施例中,id扫描仪与上述激光扫描仪安置在一起,以便识别出砖块id并且将3d扫描与砖块id关联起来。3d模型还可以与砖块的预期模型(例如,存储在数据库116内的cad模型中的预期模型)进行比较,以便检查该砖块是否具有所需的尺寸,尤其是在经过了任何切割或刨削操作之后是否具有所需的尺寸。尽管在这一示例中说明了3d模型,但是可以代替地使用2d模型,例如砖块顶面的2d形状模型。
138.图5a~图5e是根据一个实施例的包含了视觉系统的各部件在内的铺设头的侧视图、仰视图、第一透视图、第二透视图和第三透视图。如前面所述及的,砖块被输送到铺设头23,在该铺设头处,由机器人控制着的鳍状夹具71接收(抓取)砖块16且将砖块保持着,以使得可以使用粘合剂分配系统来涂敷粘合剂。然后,将砖块翻转180度,并且送出以供机械铺设臂65的夹持器拾取(示意性地图示为砖块16b),该机械铺设臂65的夹持器抓取砖块(16b)并且将该砖块放置到墙6上的所需位置处。因为砖块相对于铺设头(或机器人的局部坐标系)的确切位置是尚未准确地知晓的,所以视觉系统被用来确定砖块在机器人的局部坐标系(例如,铺设头坐标系)中的精确6dof(x,y,z,a,b,c)位置。机械铺设臂65使用该6dof位置,以便从鳍状夹具71的钳嘴(即,钳口)中精确地夹取且拿出砖块(16a),并且将该砖块移动到壁6上的铺设位置处。机械铺设臂65还对吊臂的移动和偏转进行补偿,以使得可以使用稳定化及跟踪系统将砖块铺设在正确的位置处。
139.铺设头23包括具有臂49和51的主体57,臂49和51形成了从主体57倾斜地向下延伸的u形夹。臂49和51都具有用于容纳销子的孔,以便将铺设头23和鳍状夹具71绕着水平轴线可枢转地安装在伸缩杆21的远端处。铺设头23绕着基本上与伸缩杆21的铰接轴线及吊臂19的铰接轴线平行的水平轴线铰接着。通过球头(ram)的运动来控制铺设头23的姿势。第一相机组件41安装于主体57上,第二相机组件43安装于第一臂49上,并且粘合剂容器及粘合剂涂敷系统53位于臂51上。灯47和53分别安装于臂49和51上以用于照亮砖块,从而确保视觉系统有足够的曝光量。
140.在所示出的示例中,机械铺设臂(即,机器人夹持器臂)65是包括可线性伸展臂的球面几何学机器人36,在该可线性伸展臂的下端处装配有呈夹持器形式的砖块铺设夹具
61。可线性伸展臂65通过机架63而被安装至主体57。可线性伸展臂65具有线性引导件,这些线性引导件与机架的基座上的轴承箱协作从而引导可线性伸展臂相对于机架的线性伸展,以使得能够允许可线性伸展臂65在机架的u形夹的轴线的法线方向(通常是笔直的上下方向,但是这取决于姿态)上运动,由此提供了可线性伸展臂65的滑动运动。可线性伸展臂的这种线性伸展由附接到机架的基座上的伺服马达来控制,减速驱动轮通过齿形带(toothed belt)连接至该伺服马达,上述齿形带用于驱动与沿着可线性伸展臂65延伸的齿条啮合的齿轮。砖块铺设夹具/夹持器61包括伺服马达控制机构,以提供夹持器偏航角调节、腕式俯仰角度调节和腕式翻滚角调节。夹持器61的钳嘴可通过伺服马达而独立地移动,以允许对砖块的偏置夹持。
141.在一个示例中,跟踪器组件67位于从铺设头的主体57延伸的桅杆69上。在与机器人邻近的地面33上可以设立有一个附加的参考跟踪器组件。跟踪器组件67可以是leica t

mac或api sts(智能跟踪传感器:smart track sensor)。可替代地,跟踪器组件130可以是单个的smr(球形支座反射器:spherical mount reflector)或隅角立方反射器(corner cube reflector),或者可以是两个或三个smr或隅角立方反射器或nikon igps或任何其他合适的跟踪设备。优选地,跟踪器组件67以1000hz以上的速率提供实时的6个自由度位置和取向数据,这被用来提供针对机械铺设臂65的动态补偿,以便解决诸如由于风、吊臂运动等引起的震荡和振动等动态干扰。
142.图6a和图6b是根据一个实施例的如图5a~图5e中所示的视觉系统的顶部相机组件41和侧面相机组件的透视图。此外,图7a~图7c示出了当安装在图5a~图5e所示的铺设头上时视觉系统的顶部和侧面相机位置的俯视图、侧视图和后视图。
143.视觉系统被用来确定砖块16的精确6dof位置,以便机械铺设臂65能够被控制从而正确地拾取砖块。然而,由于机械上的限制,铺设头中的空间是有限的,并且无法获得砖的最佳视场。此外,鳍状夹具71遮挡了砖块的一些表面。因此,只能采集砖块两侧的图像。在一个实施例中,要求视觉系统以质心已知为0.1mm并且在0.1
°
以内的6dof来估计砖块姿态,并且视觉系统必须在2s内提供6dof位置。这项任务变得更加困难的原因是需要在很多种不同的室外条件下操作机器人,该室外条件包括0℃~50℃的温度、雨水、沙尘、风力以及大白天、黄昏和夜晚照明条件。这对于用来确定砖块位置以使得能够实现砖块的精确放置的系统提出了很高的要求。
144.在该实施例中,第一相机组件41包括安装在机架59上的四个相机411、412、413、414的阵列,该机架59上包括各个单独的由可枢转机架592形成的安装架,可枢转机架592支撑着板,上述四个相机各自例如通过螺钉593、594而被固定至板。各相机的指向方向和位置都是可以调节的,并且可以作为校准和/或安装过程的一部分而被测量(并且成为已知)。第二相机组件43包括位于三脚架45上的两个相机430、431,该三脚架45将第二相机组件安装成正交于第一相机组件(这里,三个脚之中的两个脚附接到臂49,并且一个脚附接到铺设头的主体57)。上述两个相机各自被安装在可枢转机架435上,该可枢转机架435支撑着板434,上述相机例如通过螺钉433、434而被固定至板434。
145.在该实施例中,第一相机组件41被布置成如下的成对的立体相机:相机对同时进行图像采集以生成该相机对的视场的点云表示。在该实施例中,相机对偏移了10
°
。然而,在其他实施例中,tof(飞行时间)激光扫描仪可以用作图像传感器。在该实施例中,第一相机
组件名义上位于与砖块16的顶面相距560mm处。各相机摄取图像,并且这些图像被组合起来,以便使用如图8a所示的顶面的合成图像127来生成点云表示。第二相机组件43仅需要采集侧面的一部分的图像,并且因此可以距砖块16近得多。在该实施例中,侧面相机名义上位于与砖块的侧面相距179mm处。如图8a所示,两个侧面相机采集侧面的一部分的图像129,然后生成侧面的点云表示。接着,将该点云数据与砖块3d模型(砖块3d模型是从激光扫描仪29获得的)进行组合,以生成砖块的6dof位置,该6dof位置被提供给机械铺设臂65的夹持器61的控制器,然后该夹持器61从鳍状夹具71抓取砖块。在其他示例中,可以在分析过程中使用砖块2d模型(例如,顶面的2d模型)。
146.在一个实施例中,视觉模块接收砖块的唯一id,且从由激光扫描仪29提供的3d模型中获得砖块的尺寸,并且将它们都存储在sql数据库中。在涂敷了粘合剂后,砖块将会被保持静止(等待被拾取),并且相机阵列被触发。视觉模块的输出提供了砖块的6dof位置或姿态。在一个实施例中,6dof位置是作为相对于理想拾取位置的偏移而被返回的,并且因此在由夹持器61拾取砖块的期间被用作校正偏移。在该实施例中,返回结果(0,0,0,0,0,0)表示砖块恰好处在其应当在的位置。6dof位置包括(x,y,z,a,b,c),其中(x,y,z)是在机器人的局部坐标系中的坐标,并且(a,b,c)是“tait

bryan”角z

y

x。
147.图1b是用于确定砖块的6dof位置(即,姿态)的方法的示例的示意性概念。在一个实施例中,例如通过使用激光扫描仪29生成砖块3d模型,来获得砖块3d模型123。可替代地,2d或3d模型可以简单地从存储器中获取,并且也可以不是实际砖块的扫描模型,而是cad模型或其他理想的用户生成模型。在步骤124中,第一相机组件和第二相机组件被用来采集物体的第一面和第二面(例如砖块的两个相邻面等)的图像。如图8a所示,第一图像是砖块的第一面的全体或完整图像127(即,从上方观看时)。在这一实施例中,两对相机(总共4个)被用来采集该图像,但是也可以使用具有足够宽的视场的一对相机,或者甚至可以使用具有大视场的单个tof相机。第二相机组件43采集物体的第二面的一部分的图像129。第二面的该部分包括第一边缘,上述第一面与上述第二面在该第一边缘处相交,并且任选地,第二面的该部分可以正交于与第一边缘相对的边缘而延伸。因此,如图8a所示,该侧面的整个高度被成像,但是并非对整个宽度执行了成像。然后,可以使用从第一面和第二面的采集图像中获得的图像数据来生成物体的至少一部分的点云表示。
148.接下来,在步骤126中,使用上述点云表示将第一平面141拟合到顶面的第一图像127,将第二平面143拟合到第二面的一部分的图像129。在该实施例中,这两个平面是彼此正交地相交的平坦表面。一旦拟合了这两个平面,则可以使用局部坐标系中的各相机的已知位置和视场来确定第一平面的姿态和第二平面的姿态。可以让这两个平面偏移已知砖块尺寸(其来自3d模型、数据库等)的一半,然后相交,以界定穿过砖块的中心而延伸的相交线。它们是最佳拟合平面(被拟合到顶面和侧面),并且分别偏移相关的砖块尺寸的一半,这就提供了穿过砖块的中央的两个相交平面,这两个相交平面界定了沿纵长方向穿过砖块的中心而延伸的线。这在图8b中已被示出。此时,上述两个平面和/或上述相交线在局部坐标系中的位置是已知晓的。然而,砖块的x值是未知的且尚待确定的(换句话说,侧平面在x方向上位于模型上的哪个位置处是未知的)。
149.因此,为了进一步限制砖块的位置并确定6dof位置(附加的尺寸和tait

bryan角/角度偏移),将例如来自激光扫描仪29的砖块3d模型拟合(fit)或匹配(match)到上述两个
平面,从而使用物体的3d模型的尺寸、第一平面的位置和取向以及第二平面的位置和取向来确定物体的6dof位置147(步骤128)。这就允许确定x尺寸以及角度偏移。然后,输出以局部坐标输出的6dof估计值。图8b进一步示出了上述拟合步骤128,在该图8b中,示出了被拟合到3d模型123的第一平面127和第二平面129。相交线145是由偏移后的平面141和143的交点形成的。在2d形状模型(例如,砖的顶面的2d形状模型)的情况下,通过将该形状模型拟合到具有合成图像127的顶面或该顶面的点云表示,来执行形状匹配。
150.表1示出了用于估计砖块的6dof位置的示例的更详细的算法。
151.[表1]用于估计砖块的6dof位置的详细算法
[0152][0153][0154]
在这种方法中,根据相机图像来重建砖块顶面和砖块侧面的点云。在点云上执行某种额外的噪声滤波,然后将最佳拟合平面拟合到顶面和侧面。然后,将这两个平面偏移与它们相关的所测量砖块尺寸的一半。这就导致偏移后的两个平面在它们的相关轴线上将砖块一分为二。偏移后的两个平面的交点产生了沿着纵长方向穿过砖块的中心的线。然后,该方法包括:使用第一平面的姿态和第一传感器装置的反姿态来生成正交于第一平面的虚拟
相机。该方法还包括:转换来自第一传感器装置(名义上位于物体上方的至少第一传感器对)的采集图像,以将它们投影到虚拟相机的平面上,从而形成虚拟相机图像;以及组合(即,拼接)虚拟相机图像,从而生成合成图像。在转换上述采集图像之前,可以从原始图像中去除由于相机相对于物体的位置而造成的失真,以便对校正后的图像进行转换。
[0155]
对于第一面的2d形状模型,通过在第一面的合成图像中定位形状模型来执行形状匹配。在该示例中,点云数据仅被用来拟合第一平面且生成虚拟相机。不存在对于点云的额外处理。转换由第一传感器装置摄取的实际图像,以便将它们投影到虚拟相机的平面上(即,就像这些图像是由位于第一面正上方且与第一面正交的第一传感器装置摄取的一样)。然后,通过将形状模型拟合到转换后的合成图像,来执行形状匹配。
[0156]
然后,将找出的形状匹配转换为点云坐标,并且将该形状匹配的x值描绘为平面。然后,上述线与该平面的交点(表1中的步骤6)被用来界定砖块的质心位置,并且可以根据顶面和侧面的取向来计算出旋转,从而确定6dof中的姿态。
[0157]
作为上述方法的替代方法,可以通过根据虚拟相机映射从原始图像采集得到的第一点云数据,来生成第一面的第二点云表示或修改后的点云表示。换句话说,对第一点云中的各点进行转换,从而生成点云,就像该点云是从由虚拟相机(即,向下直视于物体的第一面上)摄取到的图像中得出的一样。它是相同的点云,但是是从不同的角度来观察的,以使得所得到的点云跟物体的第一面的适当尺寸和形状相像(在原始点云中,第一面可能是偏斜的和/或倾斜的)。对于第一面的2d形状模型,那么就通过将该形状模型在第一面的第二点云表示中定位,来执行形状匹配。
[0158]
各种各样的变形例和变化例都是可能的。例如,在上述实施例中,在机械铺设臂65的夹持器61被允许抓取并铺设砖块之前,在摄取图像且估计6dof位置的同时砖块被保持在适当位置。优选地,图像采集和6dof位置估计的花费时间不到2秒,这可以通过使用一个多核cpu(例如,6核cpe,每个分析用2个核)来实现。这样,在夹持器61抓取砖块时,砖块的确切位置是已知晓的。然而,在另一实施例中,一旦进行图像摄取,夹持器就可以被允许抓取且拿起砖块,并且夹持器认定砖块处于基准位置处。于是,在铺设砖块之前,一旦6dof位置是可获得的,就将6dof位置作为相对于基准位置的偏移提供给机械铺设臂65的控制器。假设达到了上述后一种条件,则控制器能够使用相对于预定铺设位置(即,基于砖块位于基准位置的认定)的6dof偏移来进行调整。
[0159]
在上述实施例中,两个立体布置中的4个相机被用来采集顶表面的图像。然而,在另一实施例中,也可以使用一组两个相机,只要它们具有足够大的视场即可,或者只要它们两者能够在两个采集位置之间平移或移动即可。此外,在一个实施例中,两个立体相机或一个tof传感器可以安装在滑行轨道上,以便采集两个面的图像。在这种情况下,该轨道可以在图5a~图5e所示的两个安装位置之间移动。
[0160]
在上述各个实施例中,各平面是作为平坦表面而被拟合的。然而,在一些实施例中,该要求可以放宽,并且非平坦表面可以被拟合,以应对各种非平坦表面和弯曲表面。例如,在一些实施例中,物体可以是管状或圆柱状物体,而非砖块。在这样的实施例中,一个表面是平坦的端面,另一个表面是具有固定曲率半径的弯曲外表面。这对于上面所概述的允许对平面和模型进行拟合的几何结构施加了制约。
[0161]
视觉系统也可以被用来进行数据记录(data logging)。例如,可以采集且存储砖
块上的粘合剂的图像,以用作质量控制或质量评估图像。
[0162]
图9是根据一个实施例的主视觉系统模块的示意图。视觉系统200是如下的单独子系统或一组模块:其与机器人砌砖设备的主控制系统(plc(可编程逻辑控制器:programmable logic controller))302协同地操作,并且为该控制系统plc提供指导和校正。视觉系统200与控制系统(plc)并行地运行,并且视觉系统200监视该控制系统plc内部的变量且相应地进行操作。视觉系统200可以托管于单独的计算设备上,或可以形成多处理器服务器设备(multi

processor server apparatus)的一部分。
[0163]
视觉控制器202是视觉系统内的主控制模块,并且在该视觉系统内也容纳着所有其他模块和控制器。视觉控制器是能够经由twincat控制器(通信接口)与控制系统(plc)进行通信的唯一视觉系统模块。在安装203期间,视觉控制器初始化所有其他控制器(twincat控制器212、视觉模块214、halcon(hdev(高清地球观测:high definition earth viewing))引擎、测试控制器218和gui(图形用户界面:graphical user interface)控制器220),然后,所有其他控制器在初始化时独立地运行。测试控制器执行测试和校准,并且gui控制器是用于从视觉系统提取信息并且在屏幕上进行显示的任选部件。
[0164]
构建信息(build information)被存储在mysql数据库316中。这包括:构建和砖块的cad模型(例如,作为cad stl文件)、砖块id、处理指令(在何处进行切割和刨削)、cad模型尺寸、以及来自激光扫描仪29的实际扫描3d模型和实际砖块尺寸。在砖块被激光扫描仪29扫描之后,将实际3d扫描模型存储在mysql数据库中,且与砖块的cad(stl)模型进行比较,以验证该机械中的经过处理的砖块(即,在切割和刨削之后)与所需的砖块相匹配。mysql控制器216与mysql数据库交流,以获得用于估计砖块在铺设头中的6dof位置的砖块三维(3d)模型。cad stl信息经由ftps服务器从标题为构建id的文件夹中提供给mysql数据库。
[0165]
视觉模块214执行包括如下软件模块的视觉系统功能,这些软件模块用于实现本文所说明的方法的实施例,以采集图像并确定砖块在铺设头处的6dof位置。
[0166]
信号的处理可以在硬件中、在由处理器执行的软件模块中、或在前述两者的组合中直接执行。对于硬件实施方式,处理是可以在一个或多个专用集成电路(asics:application specific integrated circuits)、数字信号处理器(dsps:digital signal processors)、数字信号处理设备(dspds:digital signal processing devices)、可编程逻辑设备(plds:programmable logic devices)、现场可编程门阵列(fpgas:field programmable gate arrays)、处理器、控制器、微控制器、微处理器、被设计成执行本文所说明的功能的其他电子单元、或者前述这些的组合内予以实施的。也被称为计算机程序、计算机代码或指令的软件模块可以包含许多源代码或目标代码段或指令,并且软件模块可以存在于诸如ram存储器、闪存、rom存储器、eprom存储器、寄存器、或者任何合适形式的计算机可读介质等计算机可读介质的中。
[0167]
在一个实施例中,处理是由一个或多个计算设备110执行的,所述计算设备包括一个或多个中央处理单元(cpu:central processing unit)112、存储器114和输入/输出接口。所述计算设备还可以包括图形处理单元(gpu:graphical processing unit)、通信模块(如果未集成到cpu或输入/输出接口中)、以及诸如键盘、鼠标、触摸屏、显示器等输入和输出设备等。cpu可以包括输入/输出接口、算术逻辑单元(alu:arithmetic and logic unit)、以及控制单元和程序计数器元件。输入/输出接口可以包括用于从传感器接收信号
或数据的线或输入端。通信模块可以形成cpu的一部分,或者可以经由输入/输出接口而连接到cpu。通信模块可以被构造成使用预先规定的通信协议与另一设备中的通信模块进行通信,该通信协议可以是无线或有线的(例如,蓝牙、wifi、zigbee、ieee 802.15、ieee 802.11、tcp/ip、udp等)。计算设备可以是服务器、台式计算机或便携式计算机,并且可以包括单cpu(单核)、多cpu(多核)、多处理器、并行处理器、矢量处理器,或者可以是分布式(云)计算设备的一部分。存储器可操作地连接到处理器,并且可以包括ram和rom部件以及诸如固态磁盘和硬盘等可以设置于设备内部或外部的辅助存储部件。存储器可以包括致使处理器执行本文所说明的方法的指令。存储器可以用来存储操作系统和其他软件模块或指令。(一个或多个)处理器可以被构造成加载且执行存储于存储器中的软件代码、模块或指令。
[0168]
可以使用诸如c#或java等高级语言来编写包含用于实施本文所说明的视觉系统的计算机代码的软件模块。可以使用图像处理功能和相关的图像处理库,所述图像处理库例如是matlab库、opencv c 库、ccv c cv库或imagej java cv库等,这些库用于实施诸如物体识别、特征检测、形状和边缘检测、分割、形状匹配、拟合、转换、旋转等功能。类似地,可以利用统计和信号处理库,以便例如执行拟合和匹配操作。各种数据库系统和类似的数据结构可以用来存储有关构建(例如,砖块、3d模型、6dof结果等)的数据。
[0169]
已经说明了用于确定要由在铰接式伸缩臂的端部上的铺设头末端执行器机器人放置的砖块的精确6dof位置的一种视觉系统和方法。尽管该方法和视觉系统适用于建筑机器人,但是应该理解,该方法和视觉系统可以用在其中必须知晓物体的位置但只有两个面可见的其他应用中。该方法任选地使用在将砖块传送到铺设头之前实施的对砖块的3d扫描,并且在涂敷粘合剂之后以及在砖块被机械铺设臂夹持之前摄取砖块的两个正交面的图像。将平面拟合到这两个正交面,并且3d扫描被用来创建拟合到正交面的砖块虚拟模型。于是,这允许估计出砖块的精确6dof位置,从而允许砖块被机械铺设臂准确地夹持并铺设。可替代地,可以不是使用从3d扫描获得的形状模型,而是使用理想的cad模型或其他的用户生成模型,并且该模型可以是一个面的2d模型,而非物体的全体的3d表示。
[0170]
本领域技术人员将理解,可以使用很多种技术和技巧中的任一种来表示信息和信号。例如,在整个说明书中可能引用了的数据、指令、命令、信息、信号、位、符号和芯片可以由电压、电流、电磁波、磁场或粒子、光场或粒子或它们的任意组合来表示。
[0171]
在整个说明书和所附的权利要求中,除非上下文另有要求,否则词语“包括”和“包含”以及诸如“含有”和“具有”等变体将会被理解为暗示了包含所陈述的整数或整数组,但不排除任何其他整数或整数组。如本文中所使用的,在一系列事物前面的短语“至少一个”是指那些事物的任何组合,包括单个成员的情形。例如,“a、b或c中的至少一者”旨在涵盖a、b、c、a和b、a和c、b和c、以及a和b和c。
[0172]
在本说明书中对任何现有技术的引用不是且不应当被认为是对于其中这种现有技术形成了公知常识的一部分的任何形式的建议的一种承认。
[0173]
本领域技术人员将理解,本公开在其使用时不限于所说明的一个或多个特定应用。关于本文所说明或描述的特定元件和/或特征,并不一定是在本公开的优选实施方案中受到限制的本公开内容。应当理解的是,本公开不限于所公开的一个或多个实施方案,而是能够在不脱离由所附权利要求书所记载和限定的保护范围的情况下进行各种各样的重新布置、修改和替换。
再多了解一些

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

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

相关文献