中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>专业论文>>正文

基于视觉的焊缝路径识别与轨迹规划的软件开发与系统实现

发布日期:2017-12-29   来源:《智慧工厂》11期   作者:袁玉荣 鲁其星 康静   浏览次数:26993
分享到:
【摘   要】:本文研究基于视觉的焊缝路径识别与轨迹规划系统的系统软件架构和Matlab与VC++的接口设置,并基于上述提出的视觉识别与轨迹生成算法进行平面曲线焊缝的焊接实验,最后对实验结果进行误差分析。

 关键词:焊接   视觉   识别   Matlab   VC++

Abstract: In this paper, the system software architecture of weld path recognition and trajectory

planning system based on vision and the interface setting of MATLAB and VC + + are studied,

and the welding experiment of plane curve welding is carried out based on the visual recognition

and trajectory generation algorithm. finally, the error analysis of the experimental results is carried

out.

Key words: Welding   Visual   Recognition   Matlab   VC++

【中图分类号】P755.1 【文献标识码】A 文章编号1606-5123201711-0000-00

1 引言

我国制造业在未来十几年将要要向自动化、智能化的方向发展,其中焊接技术在现代制造业中占据非常重要的地位,因此焊接过程的自动化和智能化将是焊接技术未来发展的方向之一。焊接技术是衡量一个国家制造业和国民经济发展水平的重要指标。

本文基于视觉传感系统和6自由度焊接机器人对焊缝路径进行图像采集,基于OPENCV对焊缝图像进行分析处理得出焊缝数据信息,基于MATLAB软件对焊缝进行三维重建并对焊接机器人进行轨迹规划,并用C++语言在Windows平台下对基于视觉的焊接机器人软件系统进行模块化设计,实现对基于视觉的焊接机器人的运动控制,对于提高焊接质量和效率,提高焊接机器人的自动化程度具有重要的现实意义和实用价值。

2 系统软件设计

2.1 软件开发语言与环境

本文的软件系统是基于OpenCVMatlabVC++的混合编程,采用模块化设计方法,并在Windows7操作系统,运用Visual Studio2010开发平台所提供的MFC工具,对基于视觉的焊缝识别和轨迹规划系统进行软件设计。其中OpenCV(Open Source Computer Vision Library)是一种开源计算机视觉库,用一系列的C函数和C++类来实现图像处理方面的算法,利用OpenCV能够很大程度的缩短视觉系统软件的开发周期。Matlab是一种广泛应用于工程计算及数值分析领域的高级语言,可进行线性代数、自动控制理论及图像处理等,功能非常强大,并应用RoboticsToolbox机器人工具箱,可便于进行仿真和轨迹规划。

VC++Matlab都是当前主流的编程工具,但也都有各自的优势和劣势。VC++界面友好,代码执行速度快,易维护和升级,但需掌握大量的编程技巧和算法知识。Matlab编程不能脱离平台独立运行,程序移植性和开放性较差。利用VC++Matlab混合编程可以将彼此的优点很好的结合起来,大大提高软件开发的效率。

2.2 系统软件架构

基于视觉的焊缝路径识别与轨迹规划系统是一种综合性强和人机交互的系统,软件设计比较复杂。本文采用模块化的设计思想对软件系统进行设计,按照功能进行模块划分的系统软件的基本架构如图1所示。


在图1系统软件的基本架构所示中的自动化焊接模块,主要调用其他模块实现平面曲线焊缝的全自动焊接,是本文设计的最终目的。其自动化焊接的流程如图3所示。


3 MatlabVC++的接口设置

本文采用在VC++中调用MatlabM函数编译成的动态链接库(DLL)

3.1 M函数编译成动态链接库(DLL)

Matlab窗口中运行deploytool工具箱,选择“Library Compiler”,选择“C++ Shared Library”,添加M函数,点击“Package”进行打包,界面如图4所示。编译完成后,生成dll会弹出文件夹,如图5所示,在“for_redistribution_files_only”文件夹中存在所需要的库文件,如图6所示。


3.2 VC++环境设置

首先设置环境变量,再对VC++目录进行配置。设置过程如下:项目->属性->VC++目录;在“包含文件”中添加目录:D:\ProgramFiles(x86)\MATLAB2014a\extern\include;在“库文件”中添加目录:D:\ProgramFiles(x86)\MATLAB2014a\extern\lib\win64\microsoft;配置界面如图7所示。然后将Matlab生成的.h.lib.dll文件拷贝到工程目录下,并在需要用到Matlab函数的文件中引入相关库,最后进行初始化库。最运行结果实例如图8所示。




4 系统实现

基于视觉的焊缝路径识别与轨迹规划的最终目的是为焊接机器人的自动化焊接提供连续的焊枪位置和姿态,以便最终完成焊接任务。焊枪位姿的合理性则有焊接实验所得到的焊缝质量来检测。

4.1 焊接试样与焊接参数

焊接试样选择的是I型坡口曲线焊缝,试样材料为铝合金,长520mm,宽300mm,厚3mm,焊接试样实物图如图9所示。


4.2 焊接试验与误差分析

(1)焊接试验:利用基于视觉的焊缝路径识别与轨迹规划的系统软件,首先,对摄像机进行标定,得到摄像机的内外参数,进行手眼标定得到手眼标定参数;其次,开启机器视觉是系统采集焊缝路径图像,对图像进行处理,提取焊缝路径信息;然后,建立焊缝特征坐标系;最后,以改进的等间距直线逼近法并根据建立的焊缝特征坐标系实时调整焊枪位姿生成平面曲线焊缝。在焊件长度方向上每隔26mm测量焊缝的熔宽中心与实际焊缝中心的偏离误差,如图10所示。


从图10中可知,熔宽中心与实际焊缝中心偏离的最大误差不超过1.8mm,且分散比较均匀,说明本文的基于视觉的焊缝路径识别与轨迹规划的算法设计可行,生成的焊枪位姿数据能实现平面曲线焊缝的准确焊接。

(2)误差分析:在基于视觉的焊缝路径识别与轨迹规划的自动化焊接的各个阶段中,都存在着误差。其中,最主要的是机器人定位精度误差、成像系统的误差以及手眼标定误差。

机器人在制造和装配等过程中均存在误差,这些误差直接反应在机器人的定位误差中。一般的工业机器人的重复定位精度较高,但绝对定位精度不高,当绝对定位精度不能满足要求时,需要通过标定提高机器人的绝对定位精度。

摄像机镜头的畸变会造成采集的图像的畸变,以及光照条件等都会影响摄像机的标定精度,因此成像系统存在一定的误差,在对摄像机进行标定时,要充分考虑这些因素,选择对标定精度影响最小的光照环境条件。

手眼标定中是利用机器人的理想模型,因此标定结果中存在系统误差。一般利用多机器人和手眼关系同时进行标定以减小系统误差。

5 结束语

本文主要研究了基于视觉的焊缝路径识别与轨迹规划系统的系统软件架构和MatlabVC++的接口设置,基于本文提出的视觉识别与轨迹生成算法进行了平面曲线焊缝的焊接实验,并对实验结果进行了误差分析。

参考文献

[1]李坤.钻机减速器箱体专用焊接机器人的研究与仿真[D].华中科技大学, 2007.

[2]徐培全,唐新华,李莉娜等.视觉传感机器人焊缝跟踪系统[J].上海交通大学学报,2008,

42(1):28-31.

[3]钱炳锋,刘南生,刘明友等.结构光视觉传感焊缝类型自动识别[J].南昌大学学报(工科版),

2007, 29(4):368-370.

[4]杨杰.数字图像处理及MATLAB实现:学习与实验指导[M].北京电子工业出版社, 2010.

[5]卢君宜,杨庆华,高峰等.五自由度农业采摘机器人轨迹规划[J].机电工程, 2010, 27(12):1-6.

作者简介

袁玉荣 1988- 工学学士 研究生在读 研究方向:机构创新与机器人技术

 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论