技术领域
[0001] 本发明涉及数据处理技术领域,尤其涉及一种基于网格拟合的铺砖位姿计算方法、装置及铺砖机器人。
相关背景技术
[0002] 随着建设技术的发展,以及工程建设需求的爆发,越来越多的工程建设开始采取智能化的手段来进行,例如铺设砖块的工作已经开始借助铺砖设备来进行。但现有的铺砖技术,一般还是采用人工作业的方式,采用在地上弹墨线、金属定制网格、激光水平仪或人工目测等方式或设备来确保铺设的砖块的对齐,其铺砖效果主要依赖工人的经验与细心程度,效率较低且成本较高。而部分采用铺砖设备进行铺砖的技术,没有考虑到利用已铺设砖块的坐标来自动计算待铺设砖块的坐标,因此其无法实现更加精确的铺砖效果。可见,现有技术存在缺陷,亟待解决。
具体实施方式
[0068] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0070] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0071] 本发明公开了一种基于网格拟合的铺砖位姿计算方法、装置及铺砖机器人,能够基于网格优化算法以及已铺设砖块的角点坐标进行拟合计算,并根据计算得到的网格模型来确定待铺设砖块的坐标,从而能够根据已铺设砖块的角点坐标精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。以下分别进行详细说明。
[0072] 实施例一
[0073] 请参阅图1,图1是本发明实施例公开的一种基于网格拟合的铺砖位姿计算方法的流程示意图。其中,图1所描述的基于网格拟合的铺砖位姿计算方法可以应用于数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图1所示,该基于网格拟合的铺砖位姿计算方法可以包括以下操作:
[0074] 101、确定目标铺砖区域的多个已铺设砖块的第一角点坐标信息。
[0075] 可选的,目标铺砖区域可以为待实施铺砖的施工区域,其可以为地面区域或墙面区域或天花板区域。
[0076] 可选的,本发明所述的砖块,其可以为正方形砖块,例如砖块大小为108mm乘以108mm的园林通体砖,或是其他类型的砖块如瓷砖,本发明不做限定。
[0077] 可选的,第一角点坐标信息可以为已铺设砖块的边角点的二维坐标或三维坐标,其可以为在特定的坐标系中的坐标值,本发明不做限定。优选的,由于二维网格的拟合算法成本及难度较低,因此第一角点坐标信息可以采用二维坐标。
[0078] 102、根据预设的砖块网格优化算法,以及多个已铺设砖块的第一角点坐标信息,计算得到目标铺砖区域对应的砖块网格关系模型。
[0079] 可选的,可以预先建立起砖块网格的描述方程,并根据多个已铺设砖块的第一角点坐标信息进行拟合计算,以得到目标铺砖区域对应的砖块网格关系模型。可选的,砖块网格关系模型用于限定目标铺砖区域中的不同铺设砖块的位置与对应的角点坐标之间的参数关系。
[0080] 103、根据砖块网格关系模型,以及目标待铺设砖块的砖块信息,确定目标待铺设砖块的第二角点坐标信息。
[0081] 可选的,砖块信息可以为目标待铺设砖块在目标铺设区域的所有铺设砖块中的位置信息,如行列信息或者序号信息,其用于指示目标待铺设砖块在目标铺设区域中的铺设位置。
[0082] 104、根据目标待铺设砖块的第二角点坐标信息,确定目标待铺设砖块的铺设位姿信息。
[0083] 具体的,铺设位姿信息用于指示砖块铺设设备对目标待铺设砖块进行铺设。可选的,铺设位姿信息可以用于发送至铺砖装置以控制铺砖装置进行砖块铺设。可选的,铺设位姿信息中包括有对应的机械臂末端的六维姿态信息,而铺砖装置可以包括机械臂和砖块铺设器,从而该机械臂可以根据六维姿态信息进行运动并控制砖块铺设器对目标待铺设砖块进行铺设。
[0084] 可见,上述发明实施例能够基于网格优化算法以及已铺设砖块的角点坐标进行拟合计算,并根据计算得到的网格模型来确定待铺设砖块的坐标,从而能够根据已铺设砖块的角点坐标精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0085] 作为一种可选的实施方式,上述步骤102中的,根据预设的砖块网格优化算法,以及多个已铺设砖块的第一角点坐标信息,计算得到目标铺砖区域对应的砖块网格关系模型,包括:
[0086] 根据多个已铺设砖块的第一角点坐标信息,以及预设的砖块网格优化模型,拟合优化计算得到砖块网格优化模型对应的模型参数;
[0087] 根据模型参数,确定目标铺砖区域对应的砖块网格关系模型。
[0088] 可选的,砖块网格优化模型用于限定多个呈网格排列的大小相同的虚拟砖块之间的角点参数关系。可选的,砖块网格优化模型可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。
[0089] 可选的,拟合优化计算可以为基于最小二乘法拟合的优化计算,例如,可以基于最小二乘法,将多个已铺设砖块的第一角点坐标信息代入至砖块网格优化模型或上述参数矩阵中进行演算优化,直至得到砖块网格优化模型对应的最优的模型参数。
[0090] 可选的,在拟合优化的过程中,可以对残差值大于预设的标准差阈值的角点坐标进行删除,其中,标准差阈值为所有角点坐标对应的残差值的标准差的预设倍数。优选的,预设倍数小于1。优选的,预设倍数可以为0.25,在一些具体的实施过程中有较优的模型拟合效果。
[0091] 可选的,拟合优化计算可以为带有权重因子的拟合优化计算,也即可以将每一第一角点坐标信息乘以对应的权重因子后代入模型进行拟合优化计算。可选的,权重因子包括中心轴距权重因子和/或方正性权重因子。可选的,权重因子可以为中心轴距权重因子和方正性权重因子的乘积。
[0092] 具体的,中心轴距权重因子与每一角点坐标信息与目标铺砖区域的中心之间的距离成正比,可选的,目标铺砖区域的中心可以为每一角点坐标信息所在的坐标系的特定的坐标点,例如其坐标原点,从而可以通过计算每一角点坐标信息与该坐标点的距离来确定其对应的该中心轴距权重因子的大小。可选的,中心轴距权重因子可以为以e(自然常数)为底数,指数至少包括每一角点坐标信息与目标铺砖区域的中心之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一角点坐标信息与目标铺砖区域的中心之间的距离的负数与二倍的第一调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0093] 具体的,方正性权重因子与每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差成反比。可选的,可以将每一角点坐标信息所在的砖块与标准正方形进行相似变换和拟合计算,以求得该砖块的每一角点与标准正方形之间的拟合残差,更进一步的,还可以计算该砖块的所有角点的拟合残差的标准差的倒数,以得到该砖块的每一角点所对应的方正性权重因子。优选的,将每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子,例如可以将上述砖块的所有角点的拟合残差的标准差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子。可选的,极小数可以为0.000001。通过这样设置,可以避免方正性权重因子因拟合残差为零而无穷大,以影响后续的计算结果。
[0094] 可见,通过实施该可选的实施方式,能够根据多个已铺设砖块的第一角点坐标信息拟合优化计算得到砖块网格优化模型对应的模型参数,以确定目标铺砖区域对应的砖块网格关系模型,从而能够计算得到准确的砖块网格关系模型,以便后续能够精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0095] 作为一种可选的实施方式,砖块网格优化模型可以包括第一砖块网格优化模型和第二砖块网格优化模型。
[0096] 具体的,第一砖块网格优化模型用于限定多个呈网格排列的大小相同但间隔不同的虚拟砖块之间的角点参数关系,例如,第一砖块网格优化模型可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。其中,不同的相邻的上边缘直线方程和下边缘直线方程之间的间隔不同,不同的相邻的左边缘直线方程和右边缘直线方程之间的间隔不同。其中,每一直线方程表达式中均包括一统一的网格斜率参数,由于网格排列关系中,不同的直线仅呈平行或垂直关系,也即其斜率参数为一相同值的正数(平行时)或负数(垂直时)。这一网格优化模型的限定较为宽松,有助于演算得到一个较优的网格斜率参数。
[0097] 具体的,第二砖块网格优化模型用于限定多个呈网格排列的大小相同且间隔相同的虚拟砖块之间的角点参数关系,同样,其可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。其中,不同的相邻的上边缘直线方程和下边缘直线方程之间的间隔相同,不同的相邻的左边缘直线方程和右边缘直线方程之间的间隔相同。其特点在于,第二砖块网格优化模型中限定的虚拟砖块的不同边缘的直线关系方程中的斜率参数与第一砖块网格优化模型相同,也即两者共享一个相同的斜率参数。
[0098] 相应的,上述步骤中的,根据多个已铺设砖块的第一角点坐标信息,以及预设的砖块网格优化模型,优化计算得到砖块网格优化模型对应的模型参数,包括:
[0099] 根据多个已铺设砖块的第一角点坐标信息,以及预设的第一砖块网格优化模型,拟合优化计算得到第一砖块网格优化模型对应的最优网格斜率参数;其中,最优网格斜率参数为第一砖块网格优化模型限定的虚拟砖块的不同边缘的直线关系方程中的斜率参数的优化计算值;
[0100] 将多个已铺设砖块的第一角点坐标信息,以及最优网格斜率参数,输入至预设的第二砖块网格优化模型,拟合优化计算得到第二砖块网格优化模型对应的模型参数。
[0101] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化计算,均可以为基于最小二乘法拟合的优化计算,例如,可以基于最小二乘法,将多个已铺设砖块的第一角点坐标信息代入至第一砖块网格优化模型或第二砖块网格优化模型或其对应的参数矩阵中进行演算优化,直至得到最优的拟合结果。
[0102] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化的过程中,可以对残差值大于预设的标准差阈值的角点坐标进行删除,其中,标准差阈值为所有角点坐标对应的残差值的标准差的预设倍数。优选的,预设倍数小于1。优选的,预设倍数可以为0.25,在一些具体的实施过程中有较优的模型拟合效果。
[0103] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化计算可以为带有权重因子的拟合优化计算,也即可以将每一第一角点坐标信息乘以对应的权重因子后代入模型进行拟合优化计算。可选的,权重因子包括中心轴距权重因子和/或方正性权重因子。可选的,权重因子可以为中心轴距权重因子和方正性权重因子的乘积。
[0104] 具体的,中心轴距权重因子与每一角点坐标信息与目标铺砖区域的中心之间的距离成正比,可选的,目标铺砖区域的中心可以为每一角点坐标信息所在的坐标系的特定的坐标点,例如其坐标原点,从而可以通过计算每一角点坐标信息与该坐标点的距离来确定其对应的该中心轴距权重因子的大小。可选的,中心轴距权重因子可以为以e(自然常数)为底数,指数至少包括每一角点坐标信息与目标铺砖区域的中心之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一角点坐标信息与目标铺砖区域的中心之间的距离的负数与二倍的第一调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0105] 具体的,方正性权重因子与每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差成反比。可选的,可以将每一角点坐标信息所在的砖块与标准正方形进行相似变换和拟合计算,以求得该砖块的每一角点与标准正方形之间的拟合残差,更进一步的,还可以计算该砖块的所有角点的拟合残差的标准差的倒数,以得到该砖块的每一角点所对应的方正性权重因子。优选的,将每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子,例如可以将上述砖块的所有角点的拟合残差的标准差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子。可选的,极小数可以为0.000001。通过这样设置,可以避免方正性权重因子因拟合残差为零而无穷大,以影响后续的计算结果。
[0106] 在一个具体的实施方案中,根据具体的铺砖场景构建砖块网格的数学模型,首先,在理想情况下假设所有的砖块是正方形,而砖块组成的网格的横线之间相互平行,竖线之间相互平行,横线与竖线相互垂直。特别的,构建两种砖块网格数学模型,其中,第一种砖块网格数学模型中,在网格中假设所有的砖大小相等,砖块的缝隙不相等,因此,在第一种砖块网格数学模型中,可以设砖块的第r行(r=0,1,2,…)砖上边缘横线直线方程为:y=kx+rw+hr,同理,可设砖块的第r行砖下边缘横线直线方程为:y=kx+(r+1)w+hr,同理,可设砖块的第c列(c=0,1,2,…)砖左边缘竖线直线方程为:x=‑ky+cw+vc,同理,可设砖块的第c列砖右边缘竖线直线方程为:x=‑ky+(c+1)w+vc。
[0107] 其中,k为斜率,所有的直线方程共用,w为砖块大小的偏置参数,hr为第r行砖缝的偏置参数,vc为第c列砖缝的偏置参数。
[0108] 为了便于后续的拟合计算,将上述第一种砖块网格数学模型写成矩阵形式,得到:
[0109]
[0110] 而在第二种砖块网格数学模型中,假设所有的砖大小相等,砖块间缝隙相等从而在这一网格数学模型中,这样可以设砖块的第r行砖上边缘横线直线方程为:y=kx+rw+rg+a,同理,设砖块的第r行砖下边缘横线直线方程为:y=kx+(r+1)w+rg+a,同理,设砖块的第c列砖左边缘竖线直线方程为:x=‑ky+cw+cg+b,同理,设砖块的第c列砖右边缘竖线直线方程为:x=‑ky+(c+1)w+cg+b。
[0111] 其中k为斜率,所有直线方程共用,且与第一种砖块网格数学模型共享,w为砖块大小的偏置参数,g为砖缝大小的偏置参数,a为第0行砖缝的偏置参数,b为第0列砖缝的偏置参数。
[0112] 为了便于后续的拟合计算,将上述第二种砖块网格数学模型写成矩阵形式,得到:
[0113]
[0114] 将两种砖块网格数学模型的矩阵形式都看作是AX=Y的形式,并将两种砖块网格数学模型的拟合优化求解,转化为矩阵的最小二乘法问题进行求解,其求解的目标函数为:2 T ‑1 T
minarg(‖AX‑Y‖),其最小二乘法解为:X=(AA) AY。
[0115] 进一步的,在上述对于两种砖块网格数学模型的拟合优化求解中,考虑该具体实施方案中采用相机进行砖块图像的获取以确定其角点坐标,而相机的图像中央的砖块成像比较好,边缘的成像会较差,此时,相机坐标系或由相机坐标系转换而成的平面坐标系,其坐标原点位于区域的中心,因此设置一个提高中心区域的角点坐标的拟合权重的中心轴距权重因子λr,其公式如下:
[0116]
[0117] 其中,x和y为角点坐标,σ为用于调节角点坐标与区域中心(也即原点)的距离与权重关系之间的调节阈值,其一般取一个砖块的边长的大小。
[0118] 进一步的,上述对于两种砖块网格数学模型的拟合优化求解中,考虑到对砖块的方正性要求,将任一砖块的4个角点采用相似变换与单位正方形拟合,求得残差的标准差es。由于方正性好的残差越小,拟合权重越大,这里方正性权重因子λe使用残差的倒数。为了避免分母为0,分母加一个极小的数:
[0119]
[0120] 最终,对于两种砖块网格数学模型的拟合优化求解中,总的权重为中心轴距权重因子λr与方正性权重因子λe的乘积:λ=λrλe。
[0121] 在具体的带权拟合优化计算中,首先,第一步,将所有已铺设砖块的第一角点坐标信息乘以对应的权重后,代入第一种砖块网格数学模型的上述矩阵中,得到:
[0122]
[0123] 然后根据上述最小二乘求解公式对桉树矩阵式进行拟合,在拟合过程中,增加迭代,剔除掉残差大于0.25倍标准差的角点坐标,并在拟合结束后只取其拟合模型结果的k值,也即斜率参数。
[0124] 第二步,将所有已铺设砖块的第一角点坐标信息乘以对应的权重后,代入第二种砖块网格数学模型的上述矩阵中,得到:
[0125]
[0126] 然后根据上述最小二乘求解公式对桉树矩阵式进行拟合,在拟合过程中,增加迭代,剔除掉残差大于0.25倍标准差的角点坐标,并在拟合结束后计算得到模型参数w,g,a,b值,并将第二种砖块网格数学模型作为理想的计算模型。
[0127] 具体的,在后续铺砖机器人根据上述求解到的理想的计算模型来进行铺砖工作时,其可以根据铺贴任务规划给出的待铺设砖块在当前铺砖视野中的行编号与列编号等砖块信息,计算待铺贴砖块的位置姿态。具体的,根据待铺设砖块的行编号与上述求解到的理想的计算模型,可以计算得到待铺设砖块的上边缘直线方程与下边缘直线方程,再根据待铺设砖块的列编号与上述求解到的理想的计算模型,可以计算得到待铺设砖块的左边缘直线方程与右边缘直线方程。随后根据这4个直线方程求得4个交点A、B、C、D,并将4个交叉点坐标由砖角点坐标系变换到相机坐标系。进一步的,将四个交叉点在相机坐标系中的坐标,连接对角点求中心交点E,以在待铺设砖块上建立坐标系,以中心交点E为坐标原点,以为方向为X轴方向,以 方向为Y轴方向,最终求得待铺设砖块对应的六维姿态信息,以使得铺砖机器人可以控制铺砖装置上的机器臂进行铺砖操作。
[0128] 可见,通过实施该可选的实施方式,能够根据第一砖块网格优化模型拟合优化计算得到最优网格斜率参数,再根据最优网格斜率参数和第二砖块网格优化模型进行拟合优化计算得到模型参数,从而能够计算得到准确的砖块网格关系模型,以便后续能够精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0129] 实施例二
[0130] 请参阅图2,图2是本发明实施例公开的另一种基于网格拟合的铺砖位姿计算方法的流程示意图。其中,图2所描述的基于网格拟合的铺砖位姿计算方法可以应用于数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图2所示,该基于网格拟合的铺砖位姿计算方法可以包括以下操作:
[0131] 201、获取由三维相机获取的目标铺砖区域的多个已铺设砖块的三维图像信息。
[0132] 可选的,三维图像信息中可以包括二维图像和点云信息。可选的,三维相机可以为设置在铺设机器人上的图像获取装置,优选的,其可以为微软Azure Kinect DK三维相机,其可以获取当前视野中的目标铺砖区域的多个已铺设砖块的二维图像和点云信息,以便于后续的计算。
[0133] 202、根据三维图像信息,计算多个已铺设砖块在三维相机的相机坐标系中的第一三维角点坐标。
[0134] 具体的,可以根据三维图像信息识别出视野中所有砖块,并定位计算出每个砖块的4个砖角点,然后由二维图像融合点云信息计算出每块砖4个角点的在相机坐标系(例如彩色相机坐标系)的三维坐标(x,y,z)。
[0135] 进一步的,可以按砖块在图像坐标系的位置用行与列编号(r,c),并根据铺砖规划计算出待铺砖块的编号,以得到已铺设砖块和待铺设砖块的砖块信息,以便于后续的模型优化演算和铺设位姿计算,这些技术细节可以参考实施例一中的表述,在此不做进一步的赘述。
[0136] 203、根据多个已铺设砖块的第一三维角点坐标,拟合优化计算得到三维角点坐标对应的角点平面方程。
[0137] 204、计算角点平面方程的平面坐标系与相机坐标系之间的坐标系转换关系。
[0138] 205、根据坐标系转换关系,将多个已铺设砖块的第一三维角点坐标进行转换计算得到多个已铺设砖块在平面坐标系的第一角点坐标信息。
[0139] 206、根据预设的砖块网格优化算法,以及多个已铺设砖块的第一角点坐标信息,计算得到目标铺砖区域对应的砖块网格关系模型。
[0140] 207、根据砖块网格关系模型,以及目标待铺设砖块的砖块信息,确定目标待铺设砖块的第二角点坐标信息。
[0141] 208、根据目标待铺设砖块的第二角点坐标信息,以及坐标系转换关系,转换计算得到目标待铺设砖块在相机坐标系的第二三维角点坐标;
[0142] 209、根据目标待铺设砖块的第二三维角点坐标,计算得到目标待铺设砖块的铺设位姿信息。
[0143] 本发明实施例中,针对步骤206‑207的相关描述和技术细节请参照实施例一中针对步骤102‑103的详细描述,本发明实施例不再赘述。
[0144] 可见,本发明实施例能够进一步的,计算得到相机坐标系和平面坐标系之间的转换关系,以根据转换关系来计算得到角点在平面坐标系中的坐标,以便于后续的网格优化计算,减少优化计算的工作量,同时还可以在后续计算得到待铺设砖块的角点坐标后再通过该转换关系计算而得到其三维角点坐标,以便于进一步计算铺设位姿信息,从而能够有效提高砖块角点计算的效率,进而提高铺砖工作的效率和准确度。
[0145] 作为一种可选的实施方式,上述步骤203中的,根据多个已铺设砖块的第一三维角点坐标,拟合优化计算得到三维角点坐标对应的角点平面,包括:
[0146] 确定角点平面表达方程;
[0147] 将多个已铺设砖块的第一三维角点坐标代入角点平面表达方程,基于光轴权重进行带权拟合计算,以得到三维角点坐标对应的角点平面方程。
[0148] 具体的,光轴权重与每一第一三维角点坐标与三维相机的相机光轴之间的距离成反比。可选的,三维相机的相机光轴一般为第一三维角点坐标所在的相机坐标系的原点,因此,光轴权重与每一第一三维角点坐标与坐标原点之间的距离成反比。优选的,光轴权重可以为以e(自然常数)为底数,指数至少包括每一第一三维角点坐标与三维相机的相机光轴之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一第一三维角点坐标与三维相机的相机光轴之间的距离的负数与二倍的第二调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0149] 可选的,带权拟合计算可以为基于最小二乘优化的带权拟合计算。
[0150] 在一个具体的实施方案中,需要拟合一个距离所有砖块的角点最近的平面,采用带权拟合的方式,权重因子随角点到相机光轴的距离的呈递减关系,即角点到距离相机光轴越远权重越小,因此采用平面拟合权重因子λp,其公式如下:
[0151]
[0152] 其中,x,y为角点在相机坐标系的坐标值,σ值用于调节衰减随x,y变化的剧烈程度,其一般取值为砖块的边长。
[0153] 随后,确定平面方程的一般形式:ax+by+cz+d=0,并确定带权拟合的最小二乘问题优化的目标函数: 通过SVD(Singular Value Decomposition,奇异值分解)算法方法,根据上述目标函数和所有砖块的角点坐标,拟合计算得到对应的角点平面方程。
[0154] 进一步的,可以将所有角点按平面法向量方向做垂直投影到角点平面,得到投影后的角点pc,并在角点平面构建一个坐标系,坐标系的XOY与平面重合,Z轴与平面法向量垂直。记为角点平面坐标系。
[0155] 对于平面方程的一般形式ax+by+cz+d=0,(a2+b2+c2=1),可以看作是由z=0经过c平移与旋转变换得到的,记平面坐标系到相机坐标变换为Hp,则有以下变换关系:
[0156]
[0157] 可以转换得到:
[0158]
[0159] 其中,α为绕x轴旋转角度,β为绕y轴旋转角度,z0为z轴方向平移值,可以解得:α=carcsin(a), z0=‑d,将求解得到的α,β,z0代入上一公式可以求得Hp,从而计算得到角点平面方程的平面坐标系与相机坐标系之间的坐标系转换关系。
[0160] 进一步的,将投影后的角点由相机坐标系转换到砖角点平面坐标系,记为pp:
[0161] pp=cHp‑1pc。
[0162] 后续,可以将经投影与变换后的角点在pp的X,Y值用来进行网格拟合,详细的网格拟合步骤的细节可以参照实施例一中的表述,在此不做赘述。
[0163] 可见,通过实施该可选的实施方式,能够将多个已铺设砖块的第一三维角点坐标代入角点平面表达方程,基于光轴权重进行带权拟合计算,以得到三维角点坐标对应的角点平面方程,从而能够计算得到精确的平面方程,以便后续能够精准计算得到待铺设砖块的角点的平面坐标信息,以提高后续网格拟合的计算效率和精度。
[0164] 实施例三
[0165] 请参阅图3,图3是本发明实施例公开的一种基于网格拟合的铺砖位姿计算装置的结构示意图。其中,图3所描述的基于网格拟合的铺砖位姿计算装置可以应用于数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图3所示,该基于网格拟合的铺砖位姿计算装置可以包括:
[0166] 第一坐标确定模块301,用于确定目标铺砖区域的多个已铺设砖块的第一角点坐标信息。
[0167] 可选的,目标铺砖区域可以为待实施铺砖的施工区域,其可以为地面区域或墙面区域或天花板区域。
[0168] 可选的,本发明所述的砖块,其可以为正方形砖块,例如砖块大小为108mm乘以108mm的园林通体砖,或是其他类型的砖块如瓷砖,本发明不做限定。
[0169] 可选的,第一角点坐标信息可以为已铺设砖块的边角点的二维坐标或三维坐标,其可以为在特定的坐标系中的坐标值,本发明不做限定。优选的,由于二维网格的拟合算法成本及难度较低,因此第一角点坐标信息可以采用二维坐标。
[0170] 网格模型优化模块302,用于根据预设的砖块网格优化算法,以及多个已铺设砖块的第一角点坐标信息,计算得到目标铺砖区域对应的砖块网格关系模型。
[0171] 可选的,可以预先建立起砖块网格的描述方程,并根据多个已铺设砖块的第一角点坐标信息进行拟合计算,以得到目标铺砖区域对应的砖块网格关系模型。可选的,砖块网格关系模型用于限定目标铺砖区域中的不同铺设砖块的位置与对应的角点坐标之间的参数关系。
[0172] 第二坐标确定模块303,用于根据砖块网格关系模型,以及目标待铺设砖块的砖块信息,确定目标待铺设砖块的第二角点坐标信息。
[0173] 可选的,砖块信息可以为目标待铺设砖块在目标铺设区域的所有铺设砖块中的位置信息,如行列信息或者序号信息,其用于指示目标待铺设砖块在目标铺设区域中的铺设位置。
[0174] 铺设位姿计算模块304,用于根据目标待铺设砖块的第二角点坐标信息,确定目标待铺设砖块的铺设位姿信息。
[0175] 具体的,铺设位姿信息用于指示砖块铺设设备对目标待铺设砖块进行铺设。可选的,铺设位姿信息可以用于发送至铺砖装置以控制铺砖装置进行砖块铺设。可选的,铺设位姿信息中包括有对应的机械臂末端的六维姿态信息,而铺砖装置可以包括机械臂和砖块铺设器,从而该机械臂可以根据六维姿态信息进行运动并控制砖块铺设器对目标待铺设砖块进行铺设。
[0176] 可见,上述发明实施例能够基于网格优化算法以及已铺设砖块的角点坐标进行拟合计算,并根据计算得到的网格模型来确定待铺设砖块的坐标,从而能够根据已铺设砖块的角点坐标精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0177] 作为一种可选的实施方式,如图4所示,网格模型优化模块302包括:
[0178] 参数计算单元3021,用于根据多个已铺设砖块的第一角点坐标信息,以及预设的砖块网格优化模型,拟合优化计算得到砖块网格优化模型对应的模型参数;
[0179] 模型确定单元3022,用于根据模型参数,确定目标铺砖区域对应的砖块网格关系模型。
[0180] 可选的,砖块网格优化模型用于限定多个呈网格排列的大小相同的虚拟砖块之间的角点参数关系。可选的,砖块网格优化模型可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。
[0181] 可选的,拟合优化计算可以为基于最小二乘法拟合的优化计算,例如,可以基于最小二乘法,将多个已铺设砖块的第一角点坐标信息代入至砖块网格优化模型或上述参数矩阵中进行演算优化,直至得到砖块网格优化模型对应的最优的模型参数。
[0182] 可选的,在拟合优化的过程中,可以对残差值大于预设的标准差阈值的角点坐标进行删除,其中,标准差阈值为所有角点坐标对应的残差值的标准差的预设倍数。优选的,预设倍数小于1。优选的,预设倍数可以为0.25,在一些具体的实施过程中有较优的模型拟合效果。
[0183] 可选的,拟合优化计算可以为带有权重因子的拟合优化计算,也即可以将每一第一角点坐标信息乘以对应的权重因子后代入模型进行拟合优化计算。可选的,权重因子包括中心轴距权重因子和/或方正性权重因子。可选的,权重因子可以为中心轴距权重因子和方正性权重因子的乘积。
[0184] 具体的,中心轴距权重因子与每一角点坐标信息与目标铺砖区域的中心之间的距离成正比,可选的,目标铺砖区域的中心可以为每一角点坐标信息所在的坐标系的特定的坐标点,例如其坐标原点,从而可以通过计算每一角点坐标信息与该坐标点的距离来确定其对应的该中心轴距权重因子的大小。可选的,中心轴距权重因子可以为以e(自然常数)为底数,指数至少包括每一角点坐标信息与目标铺砖区域的中心之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一角点坐标信息与目标铺砖区域的中心之间的距离的负数与二倍的第一调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0185] 具体的,方正性权重因子与每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差成反比。可选的,可以将每一角点坐标信息所在的砖块与标准正方形进行相似变换和拟合计算,以求得该砖块的每一角点与标准正方形之间的拟合残差,更进一步的,还可以计算该砖块的所有角点的拟合残差的标准差的倒数,以得到该砖块的每一角点所对应的方正性权重因子。优选的,将每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子,例如可以将上述砖块的所有角点的拟合残差的标准差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子。可选的,极小数可以为0.000001。通过这样设置,可以避免方正性权重因子因拟合残差为零而无穷大,以影响后续的计算结果。
[0186] 可见,通过实施该可选的实施方式,能够根据多个已铺设砖块的第一角点坐标信息拟合优化计算得到砖块网格优化模型对应的模型参数,以确定目标铺砖区域对应的砖块网格关系模型,从而能够计算得到准确的砖块网格关系模型,以便后续能够精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0187] 作为一种可选的实施方式,砖块网格优化模型可以包括第一砖块网格优化模型和第二砖块网格优化模型。
[0188] 具体的,第一砖块网格优化模型用于限定多个呈网格排列的大小相同但间隔不同的虚拟砖块之间的角点参数关系,例如,第一砖块网格优化模型可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。其中,不同的相邻的上边缘直线方程和下边缘直线方程之间的间隔不同,不同的相邻的左边缘直线方程和右边缘直线方程之间的间隔不同。其中,每一直线方程表达式中均包括一统一的网格斜率参数,由于网格排列关系中,不同的直线仅呈平行或垂直关系,也即其斜率参数为一相同值的正数(平行时)或负数(垂直时)。这一网格优化模型的限定较为宽松,有助于演算得到一个较优的网格斜率参数。
[0189] 具体的,第二砖块网格优化模型用于限定多个呈网格排列的大小相同且间隔相同的虚拟砖块之间的角点参数关系,同样,其可以用于限定多个虚拟砖块的上边缘、下边缘、左边缘和右边缘分别所在的直线的直线方程表达式,并将所有直线方程表达式中的参数组成可用于运算的参数矩阵以进行演算。其中,不同的相邻的上边缘直线方程和下边缘直线方程之间的间隔相同,不同的相邻的左边缘直线方程和右边缘直线方程之间的间隔相同。其特点在于,第二砖块网格优化模型中限定的虚拟砖块的不同边缘的直线关系方程中的斜率参数与第一砖块网格优化模型相同,也即两者共享一个相同的斜率参数。
[0190] 相应的,参数计算单元3021根据多个已铺设砖块的第一角点坐标信息,以及预设的砖块网格优化模型,优化计算得到砖块网格优化模型对应的模型参数的具体方式,包括:
[0191] 根据多个已铺设砖块的第一角点坐标信息,以及预设的第一砖块网格优化模型,拟合优化计算得到第一砖块网格优化模型对应的最优网格斜率参数;其中,最优网格斜率参数为第一砖块网格优化模型限定的虚拟砖块的不同边缘的直线关系方程中的斜率参数的优化计算值;
[0192] 将多个已铺设砖块的第一角点坐标信息,以及最优网格斜率参数,输入至预设的第二砖块网格优化模型,拟合优化计算得到第二砖块网格优化模型对应的模型参数。
[0193] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化计算,均可以为基于最小二乘法拟合的优化计算,例如,可以基于最小二乘法,将多个已铺设砖块的第一角点坐标信息代入至第一砖块网格优化模型或第二砖块网格优化模型或其对应的参数矩阵中进行演算优化,直至得到最优的拟合结果。
[0194] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化的过程中,可以对残差值大于预设的标准差阈值的角点坐标进行删除,其中,标准差阈值为所有角点坐标对应的残差值的标准差的预设倍数。优选的,预设倍数小于1。优选的,预设倍数可以为0.25,在一些具体的实施过程中有较优的模型拟合效果。
[0195] 可选的,上述对于第一砖块网格优化模型或第二砖块网格优化模型的拟合优化计算可以为带有权重因子的拟合优化计算,也即可以将每一第一角点坐标信息乘以对应的权重因子后代入模型进行拟合优化计算。可选的,权重因子包括中心轴距权重因子和/或方正性权重因子。可选的,权重因子可以为中心轴距权重因子和方正性权重因子的乘积。
[0196] 具体的,中心轴距权重因子与每一角点坐标信息与目标铺砖区域的中心之间的距离成正比,可选的,目标铺砖区域的中心可以为每一角点坐标信息所在的坐标系的特定的坐标点,例如其坐标原点,从而可以通过计算每一角点坐标信息与该坐标点的距离来确定其对应的该中心轴距权重因子的大小。可选的,中心轴距权重因子可以为以e(自然常数)为底数,指数至少包括每一角点坐标信息与目标铺砖区域的中心之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一角点坐标信息与目标铺砖区域的中心之间的距离的负数与二倍的第一调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0197] 具体的,方正性权重因子与每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差成反比。可选的,可以将每一角点坐标信息所在的砖块与标准正方形进行相似变换和拟合计算,以求得该砖块的每一角点与标准正方形之间的拟合残差,更进一步的,还可以计算该砖块的所有角点的拟合残差的标准差的倒数,以得到该砖块的每一角点所对应的方正性权重因子。优选的,将每一角点坐标信息与其所在的标准正方形的对应角点之间的拟合残差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子,例如可以将上述砖块的所有角点的拟合残差的标准差与特定极小数的和的倒数,确定为每一角点所对应的方正性权重因子。可选的,极小数可以为0.000001。通过这样设置,可以避免方正性权重因子因拟合残差为零而无穷大,以影响后续的计算结果。
[0198] 可见,通过实施该可选的实施方式,能够根据第一砖块网格优化模型拟合优化计算得到最优网格斜率参数,再根据最优网格斜率参数和第二砖块网格优化模型进行拟合优化计算得到模型参数,从而能够计算得到准确的砖块网格关系模型,以便后续能够精准计算得到待铺设砖块的坐标信息,以提高后续铺砖的准确度和效率。
[0199] 作为一种可选的实施方式,第一坐标确定模块301确定目标铺砖区域的多个已铺设砖块的第一角点坐标信息的具体方式,包括:
[0200] 获取由三维相机获取的目标铺砖区域的多个已铺设砖块的三维图像信息;
[0201] 根据三维图像信息,计算多个已铺设砖块在三维相机的相机坐标系中的第一三维角点坐标;
[0202] 根据多个已铺设砖块的第一三维角点坐标,拟合优化计算得到三维角点坐标对应的角点平面方程;
[0203] 计算角点平面方程的平面坐标系与相机坐标系之间的坐标系转换关系;
[0204] 根据坐标系转换关系,将多个已铺设砖块的第一三维角点坐标进行转换计算得到多个已铺设砖块在平面坐标系的第一角点坐标信息;
[0205] 以及,铺设位姿计算模块304根据目标待铺设砖块的第二角点坐标信息,确定目标待铺设砖块的铺设位姿信息的具体方式,包括:
[0206] 根据目标待铺设砖块的第二角点坐标信息,以及坐标系转换关系,转换计算得到目标待铺设砖块在相机坐标系的第二三维角点坐标;
[0207] 根据目标待铺设砖块的第二三维角点坐标,计算得到目标待铺设砖块的铺设位姿信息。
[0208] 可选的,三维图像信息中可以包括二维图像和点云信息。可选的,三维相机可以为设置在铺设机器人上的图像获取装置,优选的,其可以为微软Azure Kinect DK三维相机,其可以获取当前视野中的目标铺砖区域的多个已铺设砖块的二维图像和点云信息,以便于后续的计算。
[0209] 具体的,可以根据三维图像信息识别出视野中所有砖块,并定位计算出每个砖块的4个砖角点,然后由二维图像融合点云信息计算出每块砖4个角点的在相机坐标系(例如彩色相机坐标系)的三维坐标(x,y,z)。
[0210] 进一步的,可以按砖块在图像坐标系的位置用行与列编号(r,c),并根据铺砖规划计算出待铺砖块的编号,以得到已铺设砖块和待铺设砖块的砖块信息,以便于后续的模型优化演算和铺设位姿计算。
[0211] 可见,该可选的实施方式能够进一步的,计算得到相机坐标系和平面坐标系之间的转换关系,以根据转换关系来计算得到角点在平面坐标系中的坐标,以便于后续的网格优化计算,减少优化计算的工作量,同时还可以在后续计算得到待铺设砖块的角点坐标后再通过该转换关系计算而得到其三维角点坐标,以便于进一步计算铺设位姿信息,从而能够有效提高砖块角点计算的效率,进而提高铺砖工作的效率和准确度。
[0212] 作为一种可选的实施方式,第一坐标确定模块301根据多个已铺设砖块的第一三维角点坐标,拟合优化计算得到三维角点坐标对应的角点平面的具体方式,包括:
[0213] 确定角点平面表达方程;
[0214] 将多个已铺设砖块的第一三维角点坐标代入角点平面表达方程,基于光轴权重进行带权拟合计算,以得到三维角点坐标对应的角点平面方程。
[0215] 具体的,光轴权重与每一第一三维角点坐标与三维相机的相机光轴之间的距离成反比。可选的,三维相机的相机光轴一般为第一三维角点坐标所在的相机坐标系的原点,因此,光轴权重与每一第一三维角点坐标与坐标原点之间的距离成反比。优选的,光轴权重可以为以e(自然常数)为底数,指数至少包括每一第一三维角点坐标与三维相机的相机光轴之间的距离的负数的指数函数。优选的,该指数函数的指数可以为每一第一三维角点坐标与三维相机的相机光轴之间的距离的负数与二倍的第二调节阈值的比值,以使其函数形状接近正态分布,以达到合理的中心轴距权重调节效果。可选的,第一调节阈值在每一砖块为正方形时,可以为每一砖块的边长的平方值。
[0216] 可选的,带权拟合计算可以为基于最小二乘优化的带权拟合计算。
[0217] 可见,通过实施该可选的实施方式,能够将多个已铺设砖块的第一三维角点坐标代入角点平面表达方程,基于光轴权重进行带权拟合计算,以得到三维角点坐标对应的角点平面方程,从而能够计算得到精确的平面方程,以便后续能够精准计算得到待铺设砖块的角点的平面坐标信息,以提高后续网格拟合的计算效率和精度。
[0218] 实施例四
[0219] 请参阅图5,图5是本发明实施例公开的又一种基于网格拟合的铺砖位姿计算装置。图5所描述的基于网格拟合的铺砖位姿计算装置可以应用于数据处理系统、处理设备或处理服务器(其中,该服务器包括本地处理服务器或云处理服务器)中。如图5所示,该基于网格拟合的铺砖位姿计算装置可以包括:
[0220] 存储有可执行程序代码的存储器401;
[0221] 与存储器401耦合的处理器402;
[0222] 其中,处理器402调用存储器401中存储的可执行程序代码,用于执行实施例一或实施例二所描述的基于网格拟合的铺砖位姿计算方法的步骤。
[0223] 实施例五
[0224] 本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的基于网格拟合的铺砖位姿计算方法的步骤。
[0225] 实施例六
[0226] 本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的基于网格拟合的铺砖位姿计算方法的步骤。
[0227] 实施例七
[0228] 本发明实施例公开了一种铺砖机器人,具体的,该铺砖机器人可以包括图像获取装置、铺砖装置以及控制装置,其中该控制装置用于执行实施例一或实施例二所描述的基于网格拟合的铺砖位姿计算方法的步骤,以结合图像获取装置获取得到的图像,来控制铺砖装置进行铺砖工作。具体的,铺砖机器人中的设备细节可以参照实施例一或二中的表述,本发明在此不做赘述。
[0229] 上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0230] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0231] 本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
[0232] 控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0233] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0234] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0235] 本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0236] 本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0237] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0238] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0239] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0240] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0241] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0242] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0243] 本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0244] 最后应说明的是:本发明实施例公开的一种基于网格拟合的铺砖位姿计算方法、装置及铺砖机器人所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。