一种激光焊接焊缝跟踪实现装置及其控制方法 技术领域 本发明及机器人制造领域中视觉测量与智能运动控制技术, 具体的说是一种激光 焊接焊缝跟踪实现装置及其控制方法。
背景技术 目前, 在制造机器人的焊接工艺生产中, 一般采用人工手动控制、 机器人示教或离 线编程的方式进行路径规划和运动编程, 焊接过程中只是简单的重复预先设定的动作。但 在激光焊接中, 由于其具有高速高精度的工艺要求, 因此对激光焊接设备提出了较高的要 求。
在现有的焊缝跟踪实现方案中, 一般采用机械、 电磁、 视觉等传感器提供焊缝信 息, 由系统进行处理, 实现焊枪位置控制。但是这样的焊缝跟踪系统一般是封闭的, 是针对 特定系统开发的传感器及处理算法, 缺少通用、 灵活和独立的实时焊缝跟踪系统。 国外已经 有部分较成熟的激光焊接焊缝跟踪系统的产品, 但比较系统性能, 各有千秋, 很难在精度上 和速度上同时满足激光焊接高速高精度的要求, 并且系统结构庞大、 构成复杂。
发明内容 针对现有技术中存在的上述不足之处, 本发明要解决的技术问题是提供一种具有 精度高、 定位准、 适应性强的激光焊接焊缝跟踪实现装置及其控制方法。
为解决上述技术问题, 本发明采用的技术方案是 :
本发明一种激光焊接焊缝跟踪实现装置包括 :
图像采集及处理单元, 采集激光焊接焊缝特征的图像数据, 对该图像数据进行处 理并输出焊缝位置信息 ;
运动控制单元, 接收上述焊缝位置信息进行分析处理, 向运动轴执行机构发送运 动控制指令 ;
上层参数设置和控制单元, 设置图像采集和处理参数、 运动控制参数, 分别与图像 采集及处理单元、 运动控制单元进行通讯连接。
所述图像采集及处理单元包括激光光源、 光学组件及智能相机, 其中激光光源产 生的一字线性激光通过焊接工件反射, 经光学组件由智能相机进行采集 ; 所述激光光源波 长为 660nm, 功率为 50mw ~ 100mw 可调 ; 所述光学组件中的滤光片能透过波长 660nm 的光 波。
所述运动控制单元包括运动控制器、 运动轴驱动器及运动轴执行机构, 其中 :
运动控制器以 DSP 为控制核心, 与图像采集及处理单元的智能相机通过 CAN 总线 相连, 对其输入的位置信息进行分析、 计算, 得到运动轴执行机构的控制位置信息 ;
运动轴驱动器, 接收运动控制器的控制位置信息, 输出至运动轴执行机构, 最终实 现的焊枪对焊缝位置的跟踪矫正补偿运动。
本发明一种激光焊接焊缝跟踪实现装置的控制方法, 其特征在于包括以下步骤 :
开始, 通过上层参数设置和控制单元设置参数 ; 由图像采集和处理单元实时采集焊缝图像, 并进行图像算法处理得到焊缝图像数据; 将焊缝图像数据缓存, 并进行标定处理, 确定当前采集图像对应的焊枪偏移量 ;
运动控制单元中的运动控制器根据上述焊枪偏移量进行跟踪轨迹的滤波、 拟合以 及轨迹规划 ;
上述计算结果送给运动轴驱动器对运动轴执行机构实施控制。
所述参数包括激光器光强调节参数、 工件参数、 图像处理算法参数以及跟踪轨迹 计算过程的滤波、 拟合控制算法参数。
所述图像算法处理通过 FPGA 硬件编程和 DSP 软件编程相结合来实现, 其中通过 FPGA 硬件编程实现图像预处理过程, 包括以下步骤 :
对采集焊缝图像开窗, 得到感兴趣区域 ;
对感兴趣区域图像进行中值滤波得到滤波后图像 ;
对滤波后图像进行二值化图像增强处理 ;
对二值化后的图像实施膨胀和腐蚀的数学形态学处理 ;
对膨胀和腐蚀后的图像进行边缘提取 ;
对边缘提取后的图像进行中心线提取 ;
通过 DSP 软件编程实现特征点提取过程, 包括以下步骤 :
对由 FPGA 处理得到的中心线采用最小二乘法进行直线拟合 ;
通过找到最大拐点位置找到特征点, 实现特征点提取。
所述确定当前采集图像对应的焊枪偏移量包括以下步骤 :
将光平面按密度等间隔划分为矩形网格, 各个网格顶点即为事先标定的特征点 ;
在像平面中有与光平面相应的网格, 通过位置控制进行网格各点的实际测量, 获 取像平面中不规则网格顶点的图像坐标 (u, v) 所对应的光平面物理坐标 (xw, yw, zw), 得到 对应的关系数据表 ;
对于上述图像处理得到的焊缝特征点信息, 即为像平面中的任意待标定点 P(u, v), 通过上述已建立的关系表格中包围该待标定点的小四边形网格插值计算出其物理坐 标, 得到实际焊缝点的三维坐标 P(xw, yw, zw)。
通过三维坐标 (x, y, z) 及相机与焊枪物理位置关系确定固定于运动轴执行机构 上的焊枪对焊缝的跟踪位移量。
所述跟踪轨迹的滤波、 拟合并实时计算跟踪点以及运动指令规划功能, 实现过程 包括以下步骤 :
运动控制器采用定时中断方式读取图像采集和处理单元的焊枪偏移量信息 ;
运动控制器跟踪轨迹滤波模块以前视距离范围取得的焊枪偏移量信息作为滤波 输入信息, 通过上位机传输的滤波参数 ( 如中值或均值滤波算法及 3 或 5 次滤波参数 ) 进 行算法和参数的选择, 设置 2 倍前视距离作为滤波窗口的长度, 完成滤波计算, 输出经过滤 波之后的焊枪偏移量 ;
跟踪轨迹拟合模块以滤波模块的输出量作为输入, 通过上位机传输的拟合参数进 行拟合方法 ( 如最小二乘或三次样条拟合 ) 和拟合窗口大小 ( 如参数设置或前视距离倍数
设置 ) 的选择, 完成拟合计算, 并对拟合后的线段按照与采集节拍同步的时间节拍进行控 制焊枪偏移量的划分实时计算 ;
跟踪轨迹规划模块以拟合计算后的输出量作为输入, 通过超前偏差计算方法, 计 算当前焊枪需要跟踪补偿运动的矫正偏移量, 并按照预定的 10 毫秒倍数的控制节拍进行 运动指令规划。
所述超前偏差计算方法如下 :
当焊枪前进距离小于等于 L 时, 焊枪从位置 “n” 到位置 “n+1” 的矫正值为 :
焊枪前进距离小于等于 L ; 其中:
M 为前视距离 L 长度焊枪前进节拍数, 即焊枪开始实时跟踪前的处理图像数 ; n 为当前计算超前偏差值时的焊枪前进控制节拍的前一节拍数 ; p 为当前位置之前的某一节拍 ; Distn+1 为当前位置焊枪偏离初始位置的距离 ; Deltap 为当前位置之前的某一节拍水平位置相对前一节拍的矫正值 ; Deltan+1 为当前位置相对前一节拍位置的矫正值。 焊枪到达位置 “M” 后矫正值计算公式为 :其中 :
M, p 含义同上 ;
n 为从初始位置开始经过第一个前视距离长度之后开始计算的当前位置焊枪前进 控制节拍的前一节拍数 ;
Distm+n+1 为当前位置焊枪偏离初始位置的距离 ;
Deltap 为当前位置之前的某一节拍水平位置相对前一节拍的矫正值 ;
Deltam+n+1 为当前位置相对前一节拍位置的矫正值。
本发明具有以下有益效果及优点 :
1. 应用本发明方法及装置可以适应多种焊缝类型和工艺, 能够实现焊缝位置的高 精度实时定位, 具有通用性好、 灵活性强和独立性高以及精度高、 定位准、 适应性强等优点。 本发明能够适应 V 形接口、 搭接和等厚板、 不等厚板对接等多种焊缝类型, 采集激光焊缝图 像、 提取焊缝特征点位置 ; 智能相机提供网络接口实现上位机设置相机的工作参数, 提供 CAN 通讯接口进行图像处理后的焊缝跟踪位置数据传输 ; 运动控制 DSP 具有对线性激光器 的模拟功率控制接口以及对 PLC 的信号交互接口 ; 针对一种工况完成参数设置后, 系统可 以脱离上位机独立完成自动焊缝跟踪。
2. 本发明针对 V 形接口、 搭接和等厚板、 不等厚板对接等多种焊缝类型的不同工 况设计了不同参数用于焊缝图像处理模块, 并且根据智能相机与跟踪执行机构的固联连接 方式, 开发了超前偏差焊缝跟踪控制算法, 以适应多种焊接类型工况的焊缝跟踪要求。
附图说明
图 1 为本发明激光焊接焊缝跟踪实现装置的结构框图 ; 图 2 为本发明方法控制流程图 ; 图 3 为激光焊接焊缝跟踪实现装置中智能相机的结构框图 ; 图 4 为激光焊接焊缝跟踪实现装置中智能相机的功能流程图 ; 图 5 为激光焊接焊缝跟踪实现装置中运动控制单元功能流程图 ; 图 6 为激光焊接焊缝跟踪实现装置中智能相机的标定功能原理图 ; 图 7 为激光焊接焊缝跟踪实现装置控制柜布置示意图 ; 图 8 为本发明实施例结构示意图 ; 图 9 ~图 15 为本发明图像处理各步骤的处理效果图 ( 一 ) ~ ( 七 ) ; 图 16 跟踪机构与焊缝相对位置示意图。具体实施方式
本发明装置结构如图 1 所示, 包括 :
图像采集及处理单元, 采集激光焊接焊缝特征的图像数据, 对该图像数据进行处 理并输出焊缝位置信息 ;
运动控制单元, 接收上述焊缝位置信息进行分析处理, 向运动轴执行机构发送运 动控制指令 ;
上层参数设置和控制单元, 设置图像采集和处理参数、 运动控制参数, 分别与图像 采集及处理单元、 运动控制单元进行通讯连接。
所述图像采集及处理单元包括激光光源、 光学组件及智能相机, 其中激光光源产 生的一字线性激光通过焊接工件反射, 经光学组件由智能相机进行采集。
所述运动控制单元包括运动控制器、 运动轴驱动器及运动轴执行机构, 其中 :
运动控制器以 DSP 为控制核心, 与图像采集及处理单元的智能相机通过 CAN 总线 相连, 对其输入的位置信息进行分析、 计算, 得到运动轴执行机构的控制位置信息 ;
运动轴驱动器, 接收运动控制器的控制位置信息, 输出给运动轴执行机构, 从而完 成本发明所要最终实现的焊枪对焊缝位置的跟踪矫正补偿运动。
如图 8 所示, 系统中的智能相机 3 与跟踪执行机构 10 固联, 焊接焊枪 9 与执行机 构 10 固联。图像采集及处理单元 4 内封装了半导体一字线性激光器 1、 滤光片 2 以及智能 相机 3。 外罩顶部第 1 开孔 6, 用于引出激光器和智能相机的电源线、 激光器功率模拟控制信 号线和智能相机现场总线 CAN 和以太网 LAN 的通讯线, 第 1、 2 开孔 7、 8 作为图像采集和处 理单元 4 气冷系统的出、 入气口。整体机壳与焊枪 9 刚性连接, 安装距离通过安装孔精确保 证, 并整体连接于执行机构 10 上, 执行机构 10 能够垂直于焊缝方向运动从而实现焊枪 9 相 对于焊缝位置的调整, 在本实施例中将什么方向?规定为 Y 方向。 执行机构 10 通过支架 11 整体固定于焊接设备上。如图 7 所示, 运动控制单元以及上层参数设置和控制单元集成安 装于控制柜中, 其中运动控制单元中的运动轴驱动器即伺服驱动器安装在控制柜下方, 运 动控制器 DSP2812 和采用 Windows 系统的工业控制计算机即上层参数设置和控制单元分别 安装于控制柜的上方, 预留接口连接图像采集及处理单元 4 中智能相机电缆、 外部 PLC( 用 于与其它系统相连实现外部控制 ) 和系统供电等, 控制柜操作面板安装有显示器和各种指示灯、 按钮和急停开关。
半导体一字线性激光器 1 发出的激光束产生结构光平面, 照射到焊接工件表面, 形成焊缝 5 的特征激光条纹, 激光器焦距为 110mm, 焦点位置线宽为 0.044mm, 功率为 50 ~ 100mw, 波长为 660nm。滤光片 2, 能透过波长 660nm 的光波。智能相机 3 采集由激光器 1 形 成的激光条纹图像。
激光焊接焊缝跟踪系统总工作流程如图 2 所示, 包括以下步骤 :
开始, 通过上层参数设置和控制单元设置参数 ;
由图像采集及处理单元实时采集焊缝图像, 并进行图像算法处理得到焊缝图像数据 ;
将焊缝图像数据缓存, 并进行标定处理, 确定当前采集图像对应的焊枪偏移量 ;
运动控制单元中的运动控制器根据上述焊枪偏移量进行跟踪轨迹的滤波、 拟合并 实时计算跟踪点以及运动指令规划 ;
上述计算结果送给运动轴驱动器对运动轴执行机构实施控制。
首先, 通过上层参数设置和控制单元设置参数, 包括 1) 激光器光强调节参数, 通 过串口传输给下位机 DSP2812, 在通过其模拟控制接口对激光器光强进行控制 ; 2)V 字接 口、 对接、 搭接等接口形式的选择和等厚板、 不等厚板焊接工艺参数的选择, 以及开窗大小、 滤波等算法的相关参数, 通过 LAN 网络接口传输给智能相机 ; 3) 设定跟踪系统跟踪轨迹滤 波、 拟合参数, 通过串口传输给 DSP2812 运动控制单元。
然后, 由图像采集及处理单元实时采集焊缝图像, 并进行图像算法处理得到焊缝 图像数据 ; 将焊缝图像数据缓存, 并进行标定处理, 确定当前采集图像对应的焊枪偏移量, 具体过程如下 :
图像采集及处理单元实时采集并进行焊缝图像处理功能由智能相机完成, 智能相 机的组成结构如图 3 所示, 工作过程如图 4 所示, 现具体描述如下 : 相机的光学传感器按照 一定的节拍进行图像采集, 节拍控制、 曝光时间和开窗大小等相关参数由上位机通过局域 网 LAN 接口完成预先设定, FPGA 读取采集存储于 “帧缓存” 中的原始图像, 并进行 FPGA 硬 件实现的图像处理功能, 包括开窗、 滤波、 二值化、 膨胀与腐蚀、 边缘提取以及焊缝中心线提 取, 图像处理效果见图 9 ~ 15, 其中图 9 为带有开窗标识的原始焊缝图像, 图 10 为开窗后 的感兴趣区域图像, 图 11 为滤波处理后的图像, 图 12 为二值化处理后的图像, 图 13 为膨胀 与腐蚀处理后的图像, 图 14 为边缘提取处理后的图像, 图 15 为中心线提取处理后的图像。 提取的焊缝中心线图像数据存储到 “图像缓存” 中, 相机中的 DSP 将焊缝中心线图像数据从 “图像缓存” 中取出并存储于与其相关联的 “同步动态随机存储器” 中, 并对其进行焊缝位置 特征点提取处理 ( 如图 15 所示 ), 数据存储于 “只读存储器” 中。同时, 智能相机中的 DSP 对焊缝图像数据进行标定处理, 确定当前采集图像位置对应的焊枪相对焊缝的偏移量, 最 后通过现场总线 CAN 接口将焊枪偏移量传送给运动控制单元。
其中, 标定原理图如图 6 所示, 过程如下 :
将光平面按某个密度等间隔划分为矩形网格, 各个网格顶点即为事先标定的特征 点, 在像平面中有与光平面相应的网格, 由于镜头畸变, 这些网格成不规则的四边形 ; 通过 进行一系列精确的实验测量, 可以获取像平面中不规则网格顶点的图像坐标 (u, v) 所对应 的光平面物理坐标 (xw, yw, zw), 得到对应的关系数据表 ; 对于上述图像处理得到的焊缝特 征点信息, 即为像平面中的任意待标定点 P(u, v), 可以通过上述已建立的关系表格中包围该待标定点的小四边形网格插值计算出其物理坐标, 得到实际焊缝点的三维坐标 P(xw, yw, zw)。
在系统开始工作前, 需要通过精确测量进行零点标定, 即标定在规定的零点位置 执行机构与像平面上某一点的物理对应关系。由于智能相机固联于执行机构和焊枪, 因此 通过这种对应关系, 可以将像平面上某一点位置对应到焊枪实际位置上。
接着, 运动控制单元中的 DSP2812 运动控制器根据上述焊枪偏移量进行跟踪轨迹 的滤波、 拟合并实时计算跟踪点以及运动指令规划 ;
运动轴执行机构实施控制的量为当前焊枪需要跟踪补偿运动的矫正偏移量, 即焊 枪从一个位置前进到下一个位置在垂直于焊缝方向上需要的矫正量, 而图像处理结果体现 的是获取图像时刻固定于运动轴执行机构上的焊枪与焊缝的相对偏移量, 并不是上述需要 的运动控制矫正量, 所以必须对图像采集和处理单元所得的结果进行运动规划。
在运动规划之前, 为了保证运动稳定, 需要先对跟踪轨迹数据进行滤波、 拟合并实 时计算跟踪点。
DSP 运动控制器采用定时中断方式读取图像采集和处理单元的焊枪偏移量信息, 定时时间节拍设计为 10 毫秒 ; DSP 运动控制器跟踪轨迹滤波模块 ( 如图 5 所示 ) 以前视距离范围 ( 如图 8 中, 激 光条纹 5 与焊枪 9 在工件上的投影之间的垂直距离 D) 取得的焊枪偏移量信息作为滤波输 入信息, 通过上位机 ( 即上层参数设置和控制单元 ) 传输的滤波参数 ( 如中值或均值滤波 算法及 3 或 5 次滤波参数 ) 进行算法和参数的选择, 设置 2 倍前视距离作为滤波窗口的长 度, 完成滤波计算, 输出经过滤波之后的焊枪偏移量。
跟踪轨迹拟合模块 ( 如图 5 所示 ) 的输出量作为输入, 通过上位机传输的拟合参 数进行拟合方法 ( 如最小二乘或三次样条拟合 ) 和拟合窗口大小 ( 如参数设置或前视距离 倍数设置 ) 的选择, 完成拟合计算, 并对拟合后的线段按照与采集节拍同步的时间节拍进 行控制焊枪偏移量的划分实时计算。
跟踪轨迹规划模块 ( 如图 5 所示 ) 以拟合计算后的输出量作为输入, 通过超前偏 差计算方法计算当前焊枪需要跟踪补偿运动的矫正偏移量, 并按照预定的 10 毫秒倍数的 控制节拍进行运动指令规划。超前偏差计算方法原理图如图 16 所示, 具体过程如下 :
由于摄像头位于焊枪的前方, 所以焊枪对焊缝的跟踪滞后于图像处理过程, 从摄 像头采集第一幅图像到焊枪开始实时跟踪之间处理的图像数, 即前视距离范围内采集的图 像数, 可以采用下面的公式推算, 如图 16 所示, 为焊缝与焊枪的偏差示意图。
式中 : M 为处理图像数 ; L 为焊枪与摄像头之间距离, 即前视距离 ; v 为焊接速度 ; tp 为处理一帧焊缝图像时间。
上式的意义 : 由于焊枪要到达摄像头初始位置后才开始进行实时跟踪, 即经过前 视距离的长度 L, 所以首先计算出从焊枪开始行走到焊枪到达摄像头初始位置所需时间 (L/v), 再用这一时间除以智能相机处理一帧图像所用时间 tp, 即 (L/(v·tp)), 得到焊枪开 始实时跟踪前的处理图像数 (M)。
在实际应用中, 本发明关心的是焊枪从一个位置前进到下一个位置在水平方向上
需要的矫正量, 而图像处理结果体现的是获取图像这一时刻焊枪与焊缝的相对位置, 并不 是本发明需要的矫正量, 所以必须对图像处理所得的结果进行调整。设位置 “n” 的图像处 理结果的焊枪与焊缝中心位置的距离用 Distn 表示, 从位置 “n-1” 到位置 “n” 的水平方向矫 正值用 Deltan 表示。Distn 和 Deltan 均为有符号数, 定义焊缝位于焊枪右侧时的 Distn 和 Deltan 为正, 位于焊枪左侧时对应的 Distn 和 Deltan 为负。
由初始条件可知, 当焊枪前进到摄像头初始位置 ( 设为位置 “0” ) 前, 不进行任何 水平方向位置调整, 在到达摄像头初始位置时, 焊枪正对焊缝, 焊枪由位置 “0” 前进到位置 “1” 所需的水平位置矫正值 (Delta1) 等于之前计算所得的偏差值 Dist1 ; 而从位置 “1” 前进 到位置 “2” 水平方向矫正值不再是得到的图像处理结果 Dist2, 对该结果必须进行矫正, 矫 正公式如下 :
Delta2 = Dist2-Delta1 (2)
焊枪从位置 “2” 到位置 “3” 的矫正值为 :
Delta3 = Dist2-Delta1-Delta2 (3)
依此类推, 从位置 “n” 到位置 “n+1” 的矫正值为 :
上面的公式适用于焊枪前进距离小于等于 L 的情况。
当焊枪从位置 “M” ( 这里位置 “M” 表示焊枪开始实时跟踪前从初始位置开始的第 一个前视距离位置 ) 前进到位置 “M+1” 时, 情况发生变化。摄像头在位置 “M+1” 处获得的 焊缝图像对应于焊枪 ( 即摄像头中心 ) 在水平方向平移 Delta1 距离, 即此时图像的水平基 准为位置 “1” 的横坐标, 而不是此前的位置 “0” 的横坐标, 所以焊枪从位置 “M” 前进到位置 “M+1” 的矫正值为 :
即用位置 “M+1” 处的图像处理结果减去焊枪从位置 “1” 到位置 “M” 在水平方向的 移动距离之和就是从位置 “M” 到位置 “M+1” 的水平方向矫正值。
同理, 在焊枪到达位置 “2” 时得到的位置 “M+2” 处的焊缝图像, 并通过图像处理算 法得到对应的 DistM+2, 为得到从位置 “M+1” 到位置 “M+2” 的矫正值 DeltaM+2, 需要从 DistM+2 减去从位置 “2” 到位置 “M+1” 焊枪在水平方向的移动距离之和, 即:
所以焊枪到达位置 “M” 后的通用矫正值计算公式为 :上面 (4)、 (7) 两个公式适用于焊枪与焊缝存在的各种位置关系, 即为上述的超前 偏差计算方法。
最后, 上述运动指令通过运动控制器 DSP2812 的 PWM 信号送给运动轴驱动器对运 动轴执行机构实施控制实现焊缝跟踪运动。