基于单目视觉的工件位姿六自由度测量方法研究
2018-06-22吴文冀李福东
吴文冀,李福东
(扬州大学,江苏 扬州 225000)
1 引言
随着工业自动化设备需求量的增大及机器视觉技术的发展,自动化生产中对于三维装配技术的智能化和柔性化水平要求越来越高,同时,基于视觉的三维装配技术也越来越重要,尤其是在分拣机器人应用方面,对不同工件位姿的测量是关键。与传统的位姿测量技术,诸如使用陀螺仪,或者多激光传感器配合等的位姿测量技术相比,视觉系统具有结构简单、测量范围广、灵活性高等优点,有良好的发展前景。
2 目标工件图像识别
2.1 位姿的测量
在Windows中,利用QT软件和OpenGL库直接绘制出仿真图像,为仿真零件加入不同光照,以一定的视角生成二维场景图像,然后将生成的二维场景图像导入MATLAB,同时生成2D边缘图像作为目标物的模板,并记录此二维场景图像的视角信息,即虚拟相机相对于目标物坐标的位姿数据,最后使用MATLAB所生成的模板与加入噪声后的图像进行匹配,以获取位姿。
2.2 位姿的优化
由于所获得的三维位姿受限于视图采样间隔和匹配过程中的二维位姿采样间隔,所以,在实际应用中,其所能达到的精度并不够,需要对位姿进行调整优化。
本文采用最小二乘法对三维位姿进行优化调整,即:①将三维物体通过位姿投影到搜索图像中,并将在此投影中不可见的边缘通过OpenGL剔除,同时,对于可见的CAD模型边缘点,按照一个像素的距离采样。由于对每个采样的边缘点局部搜索会首先确定与之对应的亚像素边缘点,所以,搜索被限制在垂直于CAD模型边缘的方向上。此外,垂直于模型投影边缘与图像梯度之间的角度差也会被考虑进去,因此,不会错过潜在真正有效的对应点。②通过Levenberg-Marquardt算法(LM算法)进行鲁棒的非线性优化迭代,以得到优化的3D位姿。作为适用范围广泛的最小二乘算法,LM算法可以表示为高斯-牛顿算法与梯度下降法的结合,所以,其兼具Gauss-Newton算法的局部收敛性和梯度下降法的全局性。
对于LM算法,设xk为由第k次迭代的权值和阈值所组成的向量,则.对于牛顿法则,其中为误差指标函数E(x)的Hessian矩阵,∇E(x)为梯度。设误差指标函数为为误差,则.所以,由LM算法得.其中,I为单位矩阵,μ为大于0的常数。如果μ=0,则为高斯牛顿算法;如果μ较大,则LM算法更接近于梯度下降法,并且每迭代一次,μ随之减小。实践证明,采用LM算法能够使迭代效率提高许多。
图1 当前场景下的三维模型
图2 MATLAB生成的二维图像
图3 噪声图像匹配结果
3 工件位姿检测试验
本文利用QT软件和OpenGL库实现位姿的测量,为验证算法的正确性,本文在仿真图像上进行了实验,从而进行验证。图1、图2、图3是不同实验位姿下的部分实验结果。
从OpenGL导出二维图像时会保存视角位姿,下面给出3组实验结果,如表1所示。表1中,X,Y,Z,α,β,γ分别为物体在空间上沿X,Y,Z 3个直角坐标轴方向的移动自由度和绕这3个直角坐标轴的转动自由度。
4 结论
本文简要阐述了工件位姿的测量以及优化方法。实验得出,使用本文提出的方法和算法能正确测量出物体的位姿,且误差能够控制在合理的范围内,结果令人较为满意。
表1 3组实验结果
[1]刘俊.基于单目视觉的物体位姿估计方法研究[D].哈尔滨:哈尔滨工业大学,2016.
[2]宋薇,周扬.基于CAD模型的单目六自由度位姿测量[J].光学精密工程,2016,24(4):882-891.