基于球拟合的单轴激光扫描机器人精确标定方法与流程

文档序号:18091469发布日期:2019-07-06 10:47阅读:217来源:国知局
基于球拟合的单轴激光扫描机器人精确标定方法与流程

本发明涉及机器人三维激光扫描检测领域,具体地,涉及基于球拟合的单轴激光扫描机器人精确标定方法及系统。



背景技术:

线激光传感器主要利用空间三角法测量原理,由CCD采集被测面的轮廓曲线,通过计算机处理,得到物体表面的三维几何点云数据。三维激光扫描技术,指利用机器人运动带动线激光传感器连续扫描物体轮廓,该技术可用于快速地采集被测物体表面完整的三维几何点云数据,真实描述被测物体的整体结构及形态特性,准确生成三维数据模型,将三维激光扫描技术与尺寸测量原理结合起来,可以得到被测物体的尺寸及形位公差数据。工业机器人与线激光传感器结合是工业测量领域的普遍做法,可以将工业机器人的高柔性和线激光传感器的高精度实现较好地整合。不足的是,目前市场上成熟应用的六轴工业机器人,其重复定位精度虽然已经达到相当高的水平,可以保证在0.1mm以下,但其绝对定位精度相对而言却很低,而且每台机器人的差别都很大,有的甚至达到厘米量级。因此,直接将线激光传感器安装到工业机器人上实现三维扫描,得到的点云精度低,效果并不好。而实际中发现单轴机器人运动精度很高,由单轴机器人直线运动带动线激光传感器实现三维扫描,得到的点云精度高,因此将线激光传感器安装到单轴机器人上,然后将单轴机器人和线激光传感器整体安装到六轴工业机器人上,既可以实现高精度扫描,又可以实现多位置、多角度等高柔性运动,并且通过不同的安装结构形式,可以适应开放式物体及复杂内腔物体的扫描。其中对扫描精度影响最重要的因素之一,就是线激光传感器和单轴机器人的标定,即标定出线激光传感器内置坐标系与单轴机器人坐标系之间的角度关系,如图1所示。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于球拟合的单轴激光扫描机器人精确标定方法及系统。

根据本发明提供的基于球拟合的单轴激光扫描机器人精确标定方法,包括:包括如下步骤:

步骤1:在空间中设定一个非镜面靶球,控制六轴工业机器人运动,使非镜面靶球的位置基本位于单轴机器人行程的中间位置;

步骤2:通过单轴机器人运动带动线激光传感器扫描非镜面靶球得到球面点云;

步骤3:去除重复扫描的球面点云和杂点,并提取属于球面的部分点云,排除不属于球面的噪声点云;

步骤4:迭代优化,以提取到的球面点云作为输入,调整线激光传感器内置坐标系与单轴机器人坐标系之间的俯仰角、偏航角、滚转角的值,对球面点云进行旋转变换,然后对变换后的球面点云进行拟合,得到拟合残差;

步骤5:判断步骤4中得到的拟合残差是否满足迭代终止条件,若满足,则得到的俯仰角、偏航角、滚转角的值即为最优解;若不满足迭代终止条件,则返回执行步骤4。

优选地,所述步骤3中的杂点是指:原本不属于被扫描物体,却意外出现在点云中的离群点。

优选地,所述步骤3中采用RANSAC算法,即随机抽样一致算法提取球面的部分点云,所述RANSAC算法用于去除不属于球面的噪声点云;所述噪声点云是指:由非镜面靶球固定配件或者相关辅助设备引入的点云,该点云不属于球面。

优选地,所述步骤4包括:

首先定义中间变量:Sx、Sy、Sz、Sxx、Syy、Szz、Sxy、Sxz、Syz、Sxxx、Syyy、Szzz、Sxyy、Sxzz、Sxxy、Sxxz、Syyz、Syzz,具体计算公式如下:

Sx=∑xi Sy=∑yi Sz=∑zi

Sxx=∑xi2 Syy=∑yi2 Szz=∑zi2

Sxy=∑(xiyi) Sxz=∑(xizi) Syz=∑(yizi)

Sxxx=∑xi3 Syyy=∑yi3 Szzz=∑zi3

Sxyy=∑(xiyi2) Sxzz=∑(xizi2) Sxxy=∑(xi2yi)

Sxxz=∑(xi2zi) Syyz=∑(yi2zi) Syzz=∑(yizi2)

式中:xi,yi,zi分别表示任意一个点云关于X轴、Y轴、Z轴的坐标;

通过Sx、Sy、Sz、Sxx、Syy、Szz、Sxy、Sxz、Syz、Sxxx、Syyy、Szzz、Sxyy、Sxzz、Sxxy、Sxxz、Syyz、Syzz的值分别计算出中间变量:A1、a、b、c、d、e、f、g、h、j、k、l、m,具体计算公式如下:

A1=Sxx+Syy+Szz

a=2*Sx*Sx-2*N*Sxx

b=2*Sx*Sy-2*N*Sxy

c=2*Sx*Sz-2*N*Sxz

d=-N*(Sxxx+Sxyy+Sxzz)+A1*Sx

e=2*Sx*Sy-2*N*Sxy

f=2*Sy*Sy-2*N*Syy

g=2*Sy*Sz-2*N*Syz

h=-N*(Sxxy+Syyy+Syzz)+A1*Sy

j=2*Sx*Sz-2*N*Sxz

k=2*Sy*Sz-2*N*Syz

l=2*Sz*Sz-2*N*Szz

m=-N*(Sxxz+Syyz+Szzz)+A1*Sz

式中:N表示点云中属于球面的点的数量;

通过a、b、c、d、e、f、g、h、j、k、l、m的值计算中间变量delta,具体计算公式如下:

delta=a*(f*l-g*k)-e*(b*l-c*k)+j*(b*g-c*f)

通过中间变量a、b、c、d、e、f、g、h、j、k、l、m、delta的值计算出坐标xc,yc,zc,计算公式如下:

xc=(d*(f*l-g*k)-h*(b*l-c*k)+m*(b*g-c*f))/delta

yc=(a*(h*l-m*g)-e*(d*l-m*c)+j*(d*g-h*c))/delta

zc=(a*(f*m-h*k)-e*(b*m-d*k)+j*(b*h-d*f))/delta

式中:xc,yc,zc分别表示拟合球的球心关于X轴、Y轴、Z轴的坐标,R表示拟合球的球半径,rms表示拟合残差。

优选地,所述步骤5中的迭代终止条件是指:

f(xk+1)-f(xk)≤ε

式中:f(xk+1)表示第k+1次迭代的拟合残差,f(xk)表示第k次迭代的拟合残差;xk+1表示第k+1次迭代的三个姿态角,xk表示第k次迭代的三个姿态角,ε表示优化精度,取值包括:10-5

根据本发明提供的基于球拟合的单轴激光扫描机器人精确标定系统,包括:非镜面靶球、六轴工业机器人、单轴机器人、线激光传感器以及处理器;所述非镜面靶球基本位于单轴机器人行程的中间位置;所述单轴机器人安装在六轴工业机器人上,用于带动单轴机器人完成位置和角度的变化;所述线激光传感器安装在单轴机器人上,用于带动线激光传感器对非镜面靶球进行三维扫描得到球面点云;所述处理器接收线激光传感器采集到的球面点云,拟合迭代后得到线激光传感器内置坐标系与单轴机器人坐标系之间的俯仰角、偏航角、滚转角的最优解。

与现有技术相比,本发明具有如下的有益效果:

1、本发明提供的基于球拟合的单轴激光扫描机器人精确标定方法可以精确建立线激光传感器与单轴机器人的角度关系,方法简单,自动化程度高。

2、本发明提供的基于球拟合的单轴激光扫描机器人精确标定方法采用主动寻优方式,与传统的被动寻优方式相比,本发明能够对整个可行域进行搜索,从而得到最优解。

3、本发明提供的基于球拟合的单轴激光扫描机器人精确标定方法不需要依赖外部精密的仪器,实用性强,适合与多种场合的工业现场应用。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为需要标定的角度关系示意图;

其中OWXWYWZW坐标系为世界坐标系,其中YW轴与单轴机器人运动方向一致,OMXMYMZM坐标系为移动坐标系,其各个坐标轴与OWXWYWZW对应的坐标轴平行,OsXsYsZs为内置线激光传感器坐标系,其中原点Os与原点OM重合。需标定出OsXsYsZs坐标系与OMXMYMZM坐标系的旋转关系,其结果的是一个3X3的旋转矩阵,更简化地说,即俯仰角、偏航角、滚转角。

图2为本发明提供的基于球拟合的单轴激光扫描机器人精确标定方法的流程示意图;

图3为原始输入点云示意图;

图4为对图3进行优化后的点云示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明的目的是要精确标定出线激光传感器内置坐标系与单轴机器人坐标系的角度关系,提出一种基于球拟合的优化过程,输出最优结果。具体地,在空间中固定一个精密陶瓷材质的非镜面靶球,然后三维扫描系统扫描得到靶球的三维点云,随后通过RANSAC(随机抽样一致)算法提取球面点云,并用解析法进行球拟合,得到拟合残差,以拟合残差最小为优化目标,以三个姿态角,即俯仰角(pitch)、偏航角(yaw)、滚转角(roll)作为优化变量展开搜索,直至满足迭代终止条件,得到最优解。

具体地,包括如下步骤:

步骤1:通过示教盒手动控制六轴工业机器人运动,使靶球基本位于单轴机器人行程的中间位置(由于靶球在机器人工作范围内可以任意放置,这一步骤主要目的是由人工引导工业机器人至靶球,记录该位置后就可以自动运行);

步骤2:单轴机器人运动带动线激光传感器扫描得到球面点云(由于需要固定靶球,周边会有其他一些硬件,所以会扫描得到不属于球面的点云,称这部分点云为噪声点云);

步骤3:去除重复扫描的球面点云,并通过RANSAC(随机抽样一致)算法提取属于球面的部分点云,排除不属于球面的噪声点云;

步骤4:迭代优化,优化算法通过调整俯仰角(pitch)、偏航角(yaw)、滚转角(roll)的值,对点云进行旋转变换,并对变化后的球面点云进行拟合,得到拟合残差;

需要指出的是,由于单轴机器人带动线激光传感器扫描只能得到半个球面的点云,所以不能使用针对整个球面点的拟合算法,除此之外,由于球拟合已经是迭代优化过程一个环节,所以受非线性优化算法求解搜索方向的限制,球拟合过程不能迭代,只能解析,即直接从离散点坐标到拟合残差的公式解;

步骤5:判断步骤4中得到的新的拟合残差是否满足迭代终止条件,若满足,则得到的俯仰角、偏航角、滚转角的值即为最优解;若不满足迭代终止条件,则返回执行步骤4。

从上述步骤中可以看出,本发明借鉴了优化设计的思想,将标定过程作为一个优化过程。首先,由于标定参照物是一个非常精密的陶瓷材质的非镜面靶球,圆度在0.01mm以内,因此以球拟合残差最小作为优化目标,其中具体半径值在标定过程中不需要知道,但可以用作评价标定结果的指标;其次,由于求解优化目标的中间过程比较复杂,不能显式求解目标函数的梯度函数,所以只能选择无导数优化算法,由优化算法去估计目标函数在某优化变量处的梯度;最后,优化变量只有三个姿态角,即俯仰角(pitch)、偏航角(yaw)、滚转角(roll),且初始安装位置很接近理论位置,所以初始值可以设为(0,0,0),收敛速度很快。

下面结合具体实施方式对本发明中的技术做更加详细的说明。

(1)人工通过示教盒手动控制六轴工业机器人运动,使靶球大致位于单轴机器人行程的中间位置,单轴机器人虽然运动精度很高,但也存在误差,为了使标定过程更好地体现偏角,选择具有代表性的中间一段距离用作扫描区间;

(2)系统开始扫描,单轴机器人运动带动线激光传感器扫描得到球面点云数据,如图2所示,由于需要固定靶球,靶球下端有一段螺纹杆,所以会扫描得到螺纹杆的点云,称这部分点云为噪声点云;

(3)去除重复点,去除杂点,并通过RANSAC(随机抽样一致)算法提取属于球面的部分点云,并将这部分点云用作球面拟合优化过程;

(4)迭代优化,优化算法不断变换搜索方向,不断调整俯仰角(pitch)、偏航角(yaw)、滚转角(roll)的值,对点云进行旋转变换,然后再进行球拟合,得到新的拟合残差;

(5)重复步骤(4),直到满足迭代终止条件,停止优化,此时的三个姿态角即为最优解。

本发明中的方法属于主动寻优,不是被动寻优,其中被动寻优是指人为指定优化过程,即给定三个姿态角的初始值、上限值及微小增量,然后不断循环,循环结束后从中找出最小的拟合残差值,其对应的三个姿态角即认为是最优解。从过程中可以看出被动寻优得到的结果并非最优解,因为它并没有搜索整个可行域,只尝试了优化变量的有限个数值组合,而主动寻优不存在这个问题,得到的一定是最优解。

此外,本发明提供的方法不需要外部精密的仪器,实用性强,适合多种场合的工业现场应用。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1