基于结构光三维视觉测量的机器人制孔姿态修正方法
陈璐1, 关立文1, 刘春2, 陈志雄3, 薛俊4    
1. 清华大学 机械工程系, 北京 100084;
2. 成都飞机工业(集团)有限责任公司, 成都 610092;
3. 电子科技大学 机械与电气工程学院, 成都 611731;
4. 中国航空制造技术研究院, 北京 100025
摘要:在制孔工艺中, 垂直度很大程度上影响着飞机装配精度、飞机使用寿命和安全性。开展基于先进视觉检测技术的姿态修正研究具有十分重要的意义。该文基于机器人制孔工艺流程, 提出了基准孔位置和法向量检测的改进方法, 设计了机器人视觉检测系统的工作原理和主要模块, 搭建了仿真平台和原理样机; 建立了法向量检测模块的三维测量模型, 生成了工件表面的点云数据, 通过基于无迹Kalman滤波的在线手眼标定方法, 将相机坐标系中的点云转换成制孔刀具坐标系中的点云。通过提取待制孔点法向量, 提出了机器人制孔姿态修正方法。三维测量结果表明:法向量检测方法精度能够满足航空工业对制孔垂直度的要求。
关键词机器人制孔    编码结构光    孔位精度    垂直度    
Robotic hole drilling attitude correction method based on structured light 3-D visual measurements
CHEN Lu1, GUAN Liwen1, LIU Chun2, CHEN Zhixiong3, XUE Jun4    
1. Department of Mechanical Engineering, Tsinghua University, Beijing 100084, China;
2. Chengdu Aircraft Industrial (Group) Co., Ltd., Chengdu 610092, China;
3. School of Mechanical and Electrical Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China;
4. AVIC Manufacturing Technology Institute, Beijing 100025, China
Abstract: The accuracy of the normal direction during hole drilling greatly affects the assembly accuracy and the service life and safety of aircraft. Therefore, better methods are needed for pose correction based on advanced visual detection methods. A reference normal direction detection method was developed for robotic hole drilling using a robotic visual inspection system that was tested using simulations and a prototype. The systems used a 3-D measurement model of the normal vector detection module to generate a point cloud on the workpiece surface. The point cloud in the camera coordinate system was then transformed into a point cloud in the hole drilling tool coordinate system by an online hand-eye calibration method based on a untraceless Kalman filter. After the normal vector to the surface is identified, a robotic hole drilling attitude correction algorithm is used to guide the drill. 3-D measurements show that this normal vector detection method is accurate and meets the hole specification requirements for the aviation industry.
Key words: robot drilling    encoded structured light    positioning accuracy    perpendicularity    

由于末端执行器姿态存在偏差,机器人制孔时无法保证刀具轴向量与待制孔点处法向量完全一致,导致待制孔轴线和工件表面存在一定程度的垂直度误差。若待制孔处法向精度超出范围,会出现孔加工质量下降、连接形式变为强迫连接、连接处产生应力集中以及蒙皮表面不光滑等问题,进而影响铆接质量和飞机气动外形,最终导致飞机使用性能下降。因此,在制孔前修正机器人末端的姿态偏差,对于提高待制孔垂直度,进而提升飞机装配质量和使用寿命具有重要意义。

根据待制孔点处法向测量方法,姿态修正可分为接触式和非接触式[1]。薛汉杰等[2]通过4个接触式的位移传感器测量值,将垂直度偏差补偿分解到末端的各个轴上,但是这种接触式检测方法易造成工件表面变形,导致传感器感应区域与加工区域变形不一致,从而引起调姿不准确,所以非接触式测量方法被更多的研究者使用。Zhu等[3]利用激光位移传感器对待制孔区域投射4个激光点,建立制孔刀具姿态误差修正模型,从而满足制孔垂直度要求。公茂震等[4]基于3个激光传感器,测量待制孔点周围3个特征点坐标,计算待制孔点处法向量,但对激光传感器安装要求较高。Tian等[5]通过4个激光位移传感器建立了刀轴和工件法矢几何偏差模型,提出了机器人制孔刀具姿态修正方法。Song等[6]利用激光扫描仪生成点云,提出了法向量检测算法,完成了误差分析,该方法精度较高,但难以满足生产高效率需求[7]。Eguti等[8]通过3个高精度(±0.5 mm)超声波传感器检测刀轴垂直度偏差,进而修正制孔刀具姿态,将垂直度控制在±0.4°。Zhang等[9]使用三激光测距传感器布局,确定待制孔处法向量,同时指出工件光洁度变化(亮度、粗糙度等)将引起传感器测量误差。有学者提出了视觉结构光方式提取工件表面信息,完成机器人末端姿态修正。张为民[10]利用点结构光和视觉结合系统,开发了向量叉积测量算法。文[11-13]利用相机和数字投影仪三维测量工件,得到其点云数据并实现制孔刀具姿态调整,满足制孔垂直度要求。

目前,在机器人自动制孔系统中,法向量检测通常采用多个激光位移传感器测量待制孔点法向量和制孔刀具当前姿态的偏差。该方式对传感器安装精度要求较高,通过待制孔点处周围3个或4个激光点间接计算得到待制孔点处法向量,测量精度受相邻激光点距离限制。而利用基于视觉结构光的方式进行制孔姿态调整,可以降低传感器安装难度,并且通过三维测量获取点云数据,可直接得到待制孔点处法向量。由于结构光给工件表面增加了纹理信息,减少了视觉测量对被测工件表面纹理依赖。因此,本文研究了工业相机和数字投影仪的三维测量,以及利用点云提取法向量进行姿态修正技术。

1 基于三维测量的机器人制孔系统

基于三维测量的机器人制孔系统主要包含机器人、制孔刀具、法向量检测模块。法向量检测模块由工业相机和数字投影仪组成,如图 1所示。数字投影仪向待检测表面投射一系列经过编码的规则条纹图,相机拍摄变形条纹图,此时的条纹图具有工件表面的三维信息。利用这一系列变形条纹图可以进行三维测量,进而提取待制孔点处法向量。由于投射的规则条纹图包含了特定的编码信息,因此本文法向量检测模块也称为编码结构光模块。

图 1 法向量检测模块工作机制

拍摄每张条纹图时,采用相机曝光时输出触发信号触发投影仪曝光投射条纹图方式,并且相机曝光时间大于投影仪曝光时,能拍摄条纹完整清晰的图片。

首先,计算机向投影仪发送由MATLAB生成的编码条纹;其次,投影仪接收到工业相机输出的触发信号,将条纹序列投射到工件上;再次,相机将拍摄到的条纹序列图片传送给计算机,这里图片中的条纹受到工件表面高度调制;最后,计算机通过解调编码条纹和三维测量获取工件的点云数据。

在自动制孔系统中,机器人运动和制孔程序通常是基于基坐标系和工件坐标系编写的,为了把视觉检测中的位置补偿和法向修正调整量反馈至机器人运动和制孔程序中,首先需要建立系统中各模块坐标系的统一关系。

图 2所示,制孔系统标定包括制孔刀具刀尖点(tool center point, TCP)坐标系和法兰中心坐标系间关系,机器人基坐标系和工件坐标系间关系,TCP和相机坐标系间关系,法向量检测模块中相机坐标系和投影仪坐标系间关系。与视觉相关的标定,包括相机内外参数、投影仪内外参数标定以及相机和投影仪之间外部参数立体标定,TCP和相机之间标定即手眼标定。

图 2 机器人制孔视觉检测系统的坐标系

在建立系统坐标系基础上,在各坐标系间完成数据关联和转换,从而确定TCP坐标系中待制孔点处法向量。

2 基于结构光视觉的三维测量 2.1 编码结构光模块标定

模块采用TI公司DLP Lightcrafter4500数字投影仪和FLIR公司BFS-U3-50S5M-C工业相机。数字投影仪包括光引擎模块和驱动控制模块,光引擎模块包括RGB光源和912×1 140数字微镜(DMD),驱动模块控制微镜开关投射图案。工业相机分辨率为2 448×2 048像素,采用USB接口。

编码结构光模块标定包括工业相机标定和数字投影仪标定。在相机成像模型的基础上,采用Zhang[14]棋盘格标定法进行相机标定,得到相机内部参数和外部参数矩阵。完成相机标定后,由于投影仪是一个投射元件,本身不具备采集图像能力,因此,需要对投影仪标定,将投影仪当作投射图像的逆向相机,通过Gray码方法[15]建立相机和投影仪图像的关系,确定相机图像中标定角点在投影仪图像中的点,通过标定板确定投影仪的内外参数。

搭建如图 3所示的视觉结构光平台,其中标定板为12×9的棋盘格,且小方格的边长为6 mm,如图 4所示。

图 3 视觉结构光模块标定实验

图 4 标定板棋盘格(单位:mm)

标定时多次改变棋盘格标定板位置,对于标定板每个位置,相机拍摄一系列投影仪投射条纹图像,通过拍摄各种角度标定板,得到多组图像序列,计算得到相机和投影仪内参以及两者之间的立体参数。

(1) 相机标定。如式(1)所示, 为采用棋盘格标定法时相机的内参矩阵,相机畸变参数为[-0.115 6, 0.211 7, -0.000 3, -0.000 7, 0],重投影误差为0.155 04像素。

$ \boldsymbol{M}_{\mathrm{ci}}=\left[\begin{array}{cccc} 2\;489 & 0 & 1\;200 & 0 \\ 0 & 2\;487 & 1\;066 & 0 \\ 0 & 0 & 1 & 0 \end{array}\right]. $ (1)

(2) 投影仪标定。通过Gray码的投射和图像采集,投影仪的内参矩阵如式(2)所示,且畸变参数为[0.058 6, -0.184 4, 0.001 1, -0.000 3, 0],重投影误差为0.197 06像素。

$ \boldsymbol{M}_{\mathrm{pi}}=\left[\begin{array}{cccc} 1\;141 & 0 & 445 & 0 \\ 0 & 2\;284 & 1\;151 & 0 \\ 0 & 0 & 1 & 0 \end{array}\right]. $ (2)

(3) 立体标定。如式(3)所示,利用立体标定得到相机和投影仪坐标系的转换关系,重投影误差为0.248 251像素。

$ { }^{P} \boldsymbol{T}_{\mathrm{C}}=\left[\begin{array}{cccc} 0.979\;8 & 0.006\;1 & -0.199\;7 & 61.891\;9 \\ 0.006\;2 & 0.998\;1 & 0.060\;8 & -91.403\;6 \\ 0.199\;7 & -0.060\;8 & 0.978\;0 & -43.828\;8 \\ 0 & 0 & 0 & 1 \end{array}\right]. $ (3)
2.2 三维测量实验

本文的三维测量采用了三角测量原理[16],利用标定参数对2种表面进行了三维测量实验。图 56为平面的相机拍摄图及测量后相机坐标系下的点云图。图 78是曲面的相机拍摄图及点云图。

图 5 平面拍摄图

图 6 平面三维点云图

图 7 曲面拍摄图

图 8 曲面三维点云图

为了验证三维测量的精度,本文设计加工了如图 9所示的阶梯工件和曲面工件,加工精度为0.02 mm,其中阶梯工件的测试面平面度为0.02 mm。如图 10所示,对阶梯工件的测试面进行三维测量并生成拟合平面,3个测试面的平面拟合均方根误差分别是0.120 5、0.139 1、0.116 7,表明本文的三维测量算法有较高精度。

图 9 加工测试工件

图 10 测试面拟合结果

曲面工件具有凸面和凹面2个测试面,工件上的加工孔为定位孔,确定相机相对于曲面工件坐标系的转换矩阵。利用变换矩阵获取工件坐标系下的点云,计算点云中测试点的法向量,并将该法向量与CAD模型中对应点法向量的偏差作为法向量测量误差。图 11是工件坐标系中凹测试面的部分点云,其中红色箭头代表通过点云计算的法向量,测试点法向量的最大测量误差为0.27°。

图 11 凹测试面点云

图 12为工件坐标系中凸测试面的部分点云,测试点法向量的最大测量误差为0.3°。从凸测试面和凹测试面的测量结果来看,本文提出的法向量测量精度不大于0.3°,且符合航空制孔中0.5°的最大误差要求。

图 12 凸测试面点云

3 制孔姿态修正算法

通过手眼标定矩阵X可将相机坐标系中的点云数据转换成TCP坐标系中的数据。在制孔流程中需要得到待制孔处的法向量,如图 13所示,采用k近邻点算法[17]求TCP坐标系下待制孔点Ph的法向量n

图 13 法向量示意图

制孔刀具坐标系OTXTYTZT建立在刀尖点TCP上(图 14),ZT轴指向工件,为了减小制孔刀具的ZT轴方向向量与待制孔点的法向量之间的误差,需要使制孔刀具分别绕XTYT轴旋转一定角度。

图 14 姿态调整图

在制孔刀具坐标系下,的法向量为n=[0, 0, 1]T,通过点云数据得到待制孔点的法向量是n=[-a, -b, -c]T。假设经过制孔刀具的旋转矩阵RT使制孔刀具法向量与待制孔点法向量重合,则两者之间满足如式(4)所示的关系:

$ \begin{gathered} \overline{\boldsymbol{n}}=[a, b, c]^{\mathrm{T}}=\boldsymbol{R}_{\mathrm{T}}[0, 0, 1]^{\mathrm{T}}, \\ a^{2}+b^{2}+c^{2}=1, c>0 . \end{gathered} $ (4)

其中RT满足:

$ \begin{gathered} \boldsymbol{R}_{\mathrm{T}}=\left[\begin{array}{lll} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{ccc} \cos \gamma_{y} & 0 & \sin \gamma_{y} \\ 0 & 1 & 0 \\ -\sin \gamma_{y} & 0 & \cos \gamma_{y} \end{array}\right] ∙\\ {\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & \cos \gamma_{x} & -\sin \gamma_{x} \\ 0 & \sin \gamma_{x} & \cos \gamma_{x} \end{array}\right]}{\cdot} \end{gathered} $ (5)

RT代入式(4)可计算得到需要调整的姿态角:

$ \left\{\begin{array}{l} \gamma_{x}=\arcsin (-b) \\ \gamma_{y}=\arctan \left(\frac{a}{c}\right) \end{array}\right.\cdot $ (6)

最终修正方式需要使制孔刀具分别绕XTYT轴旋转γxγy,从而提出了图 15的修正角算法。

图 15 调姿流程图

假设制孔系统要求的垂直度为δ,则机器人姿态修正的过程为:首先,通过三维测量得相机坐标系的点云数据;其次,基于手眼关系生成TCP点云;再次,求待制孔点的法向量n并判断是否满足制孔的垂直度要求,若不满足,则机器人调整姿态,重新进行三维测量并重复上述步骤,直至法向量符合要求;最后,进入制孔程序。

在搭建好实验平台后,机器人姿态修正的实验步骤如下:

步骤1  基于完成的视觉结构光模块的立体标定,建立系统中各坐标系的关系。

步骤2  确定工件坐标系中的待制孔点坐标WH,则该点在TB中可表示为BH=BTWWH,通过控制器获取在TT中该点坐标TH=TTBBH

步骤3  由于调整位姿前需要对工件表面投射并采集图像,因此工具实际的TCP点不能直接接触待制孔点,而是控制机器人运动使得虚拟TCP点到达待制孔点。

步骤4  启动法向量检测模块使得相机采集投影仪投射的条纹图像序列,并将采集的图像序列反馈至控制电脑进行三维测量生成点云,从而计算机器人当前位姿TT中待制孔点的法向量n

步骤5  由于安装、变形等误差,n和刀具轴线的法向量之间存在角度偏差。若该偏差不满足垂直度要求,则通过姿态修正的算法计算得到姿态修正角γxγy,并控制机器人调整姿态,重复步骤4和5直至机器人的最终姿态满足制孔垂直度要求。

4 基于三维测量的机器人制孔姿态修正方法

由于投影仪是投射结构光的元件,而相机是采集光信号的元件,建立两者之间的数据关联是实现三维测量的前提。基于编码结构光的原理,本文提出的法向量的检测原理示意图如图 16所示。

图 16 法向量检测模块工作原理示意图

检测步骤如下:

步骤1  利用计算机生成编码后的条纹图序列,设计相机和投影仪的硬件连接方案,并建立相机触发投影仪投射条纹图的工作机制。

步骤2  相机拍摄经过工件表面调制的条纹图,通过对采集的变形条纹图进行解码处理,建立相机和投影仪图像中对应点的关系。

步骤3  标定相机参数,利用步骤2中建立的对应点关系,通过相机标定方法来标定投影仪以及两者之间的立体参数。

步骤4  建立相机和投影仪的三维测量模型,生成相机坐标系中的工件表面点云。

步骤5  根据基于无迹滤波的手眼标定模型[18],确定相机和制孔刀具坐标系的转换关系。

步骤6  利用步骤5中的转换矩阵得到制孔刀具坐标系中的点云数据,并通过法向量检测算法测量待制孔处的法向量。

步骤7  计算姿态修正角完成机器人调姿,从而满足制孔垂直度的要求。

针对上述检测流程,设计了法向量检测的方法,如图 17所示。

图 17 法向量检测方法

基于编码结构光的测量要求设定合适的投影和拍摄曝光序列,使相机能够拍摄到完整的投射图案。为了实现本文提出的法向检测方法,根据图 17所示的工作原理对模块中数字投影仪和相机选型,并建立两者之间的硬件连接和软件触发工作机制。

5 结论

本文研究了基于视觉结构光的机器人制孔姿态修正方法,建立了相机和投影仪的三维测量模型并生成了相机坐标系下的工件点云;基于棋盘格手眼标定方法,将相机坐标系中点云转变到TCP坐标系中;提取了工件上待制孔点处法向量,并开发了末端工具的姿态调整算法,保证了机器人制孔的垂直度;开展了三维测量实验,验证了本文所提出方法的法向量测量精度能够满足航空工业对制孔要求。

参考文献
[1]
周华飞. 机器人自动化制孔中位姿误差的修正与补偿[D]. 杭州: 浙江大学, 2015.
ZHOU H F. Correction and compensation for positioning- orientation error of robot in automatic drilling [D]. Hangzhou: Zhejiang University, 2015. (in Chinese)
[2]
薛汉杰, 张敬佩. 蒙皮类部件钻孔法向的测量和调整[J]. 航空制造技术, 2010(23): 60-62, 66.
XUE H J, ZHANG J P. Normal measurement and adjustment for skin drilling[J]. Aeronautical Manufacturing Technology, 2010(23): 60-62, 66. DOI:10.3969/j.issn.1671-833X.2010.23.010 (in Chinese)
[3]
ZHU W D, MEI B, YAN G R, et al. Measurement error analysis and accuracy enhancement of 2D vision system for robotic drilling[J]. Robotics and Computer-Integrated Manufacturing, 2014, 30(2): 160-171. DOI:10.1016/j.rcim.2013.09.014
[4]
公茂震, 袁培江, 王田苗, 等. 航空制孔机器人末端垂直度智能调节方法[J]. 北京航空航天大学学报, 2012, 38(10): 1400-1404.
GONG M Z, YUAN P J, WANG T M, et al. Intelligent verticality-adjustment method of end-effector in aeronautical drilling robot[J]. Journal of Beijing University of Aeronautics and Astronautics, 2012, 38(10): 1400-1404. (in Chinese)
[5]
TIAN W, ZHOU W X, ZHOU W, et al. Auto-normalization algorithm for robotic precision drilling system in aircraft component assembly[J]. Chinese Journal of Aeronautics, 2013, 26(2): 495-500. DOI:10.1016/j.cja.2013.02.029
[6]
SONG T, XI F F, GUO S, et al. A comparison study of algorithms for surface normal determination based on point cloud data[J]. Precision Engineering, 2015, 39: 47-55. DOI:10.1016/j.precisioneng.2014.07.005
[7]
张诚然. 机身蒙皮自动铆接的辅助定位视觉伺服系统设计[D]. 沈阳: 沈阳航空航天大学, 2018.
ZHANG C R. Design of auxiliary positioning visual servo system for automatic riveting to fuselage panel [D]. Shenyang: Shenyang Aerospace University, 2018. (in Chinese)
[8]
EGUTI C C A, TRABASSO L G. Design of a robotic orbital driller for assembling aircraft structures[J]. Mechatronics, 2014, 24(5): 533-545. DOI:10.1016/j.mechatronics.2014.06.007
[9]
ZHANG R, YUAN P J, GONG M Z. Intelligent surface-normal adjustment system and application in aeronautical drilling robot [C]//2012 Second International Conference on Intelligent System Design and Engineering Application. Sanya, China: IEEE, 2012: 696-699.
[10]
张为民. 基于视觉信息处理的飞行器型面法向矢量的在线测量方法[J]. 航空制造技术, 2015(19): 43-46, 87.
ZHANG W M. Aircraft surface normal vector on line measuring method base on visual information processing[J]. Aeronautical Manufacturing Technology, 2015(19): 43-46, 87. (in Chinese)
[11]
RAO G, WANG G L, YANG X D, et al. Normal direction measurement and optimization with a dense three-dimensional point cloud in robotic drilling[J]. IEEE/ASME Transactions on Mechatronics, 2018, 23(3): 986-996. DOI:10.1109/TMECH.2017.2747133
[12]
RAO G, YANG X D, XU J, et al. Normal direction measurement based on 3D point cloud in robotic drilling [C]// 2017 IEEE 7th Annual International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER). Honolulu, USA: IEEE, 2017: 1182-1187.
[13]
饶刚. 机器人制孔法矢的面结构光三维测量与控制研究[D]. 北京: 清华大学, 2019.
RAO G. Research on 3D measurement and control of surface structured light for robot drilling normal vector [D]. Beijing: Tsinghua University, 2019. (in Chinese)
[14]
ZHANG Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330-1334. DOI:10.1109/34.888718
[15]
陈彦军, 左旺孟, 王宽全, 等. 结构光编码方法综述[J]. 小型微型计算机系统, 2010, 31(9): 1856-1863.
CHEN Y J, ZUO W M, WANG K Q, et al. Survey on structured light pattern codification methods[J]. Journal of Chinese Computer Systems, 2010, 31(9): 1856-1863. (in Chinese)
[16]
张广军, 王红, 赵慧洁, 等. 结构光三维视觉系统研究[J]. 航空学报, 1999, 20(4): 365-367.
ZHANG G J, WANG H, ZHAO H J, et al. Structured light 3D vision[J]. Acta Aeronauticaet Astronautica Sinica, 1999, 20(4): 365-367. DOI:10.3321/j.issn:1000-6893.1999.04.019 (in Chinese)
[17]
ZHANG H, BERG A C, MAIRE M, et al. SVM-KNN: Discriminative nearest neighbor classification for visual category recognition [C]// 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'06). New York, USA: IEEE, 2006: 2126-2136.
[18]
王君臣, 王田苗, 杨艳, 等. 基于无迹卡尔曼滤波的机器人手眼标定[J]. 机器人, 2011, 33(5): 621-627.
WANG J C, WANG T M, YANG Y, et al. Robot hand-eye calibration using unscented Kalman filtering[J]. Robot, 2011, 33(5): 621-627. (in Chinese)