CN114926531A - 基于双目视觉的大视场下工件焊缝自主定位方法及系统 - Google Patents
基于双目视觉的大视场下工件焊缝自主定位方法及系统 Download PDFInfo
- Publication number
- CN114926531A CN114926531A CN202210441149.8A CN202210441149A CN114926531A CN 114926531 A CN114926531 A CN 114926531A CN 202210441149 A CN202210441149 A CN 202210441149A CN 114926531 A CN114926531 A CN 114926531A
- Authority
- CN
- China
- Prior art keywords
- camera
- coordinate system
- workpiece
- robot
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0014—Image feed-back for automatic industrial control, e.g. robot with camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30152—Solder
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Robotics (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种基于双目视觉的大视场下工件焊缝自主定位方法及系统,包括:建立相机坐标系与图像像素坐标的关系,获取相机坐标系与机器人坐标系的转换矩阵;基于获取的工件图像得到工件焊缝特征点像素坐标;结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特征点在双目视觉相机两幅图中的像素坐标获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差修正;通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
Description
技术领域
本发明涉及智能焊接焊缝定位及轨迹规划领域,具体地,涉及基于双目视觉的 大视场下工件焊缝自主定位方法及系统。
背景技术
随着制造业逐渐向着智能化转型,机器人焊接也顺应焊接自动化、智能化的趋 势不断发展。如何提高机器人焊接的自动化水平,提高机器人焊接的生产效率,最 终保证焊接质量,一直是一个重大的挑战。
目前控制机器人焊接路径的方式大多为示教再现型以及离线编程型。示教再现操作简单,得到了广泛的应用,但焊接轨迹精度依靠人工目测,对复杂轨迹耗时长, 效率低下。离线编程虽然可以实现复杂的运动轨迹、进行最佳路径规划等。但是, 该方法必须建立机器人及其工作环境的理论模型,而该模型与实际执行焊接任务时 的工况难免会存在偏差。因此需要让机器人与传感器相结合,使其获得感知外界的 能力,提高其适应性,向自主定位的方向发展。
目前大多采用视觉传感的方式来定位焊缝。在采用结构光的案例中,如专利公 开号为CN211539974U的中国专利文献所公开的“一种用于船舶小组立机器人在线自 动焊接3D扫描设备”,专利公开号为CN210549317U的中国专利文献所公开的“基 于结构光的实训用自动装配装置”等,通过结构光传感器对待焊件进行扫描,获取 其完整的空间信息从而实现定位。但投影光栅的方式对环境要求高,不适用于复杂 的实际生产过程中,而单线激光扫描的方式往往需要扫描整个待焊件,耗费时间长, 不利于提高生产效率。
用双目视觉的方法,如专利公开号为CN 113042939 A的中国专利文献所公开的“基于三维视觉信息的工件焊缝定位方法及系统”,专利公开号为CN 113369761 A 的中国专利文献所公开的“基一种基于视觉引导机器人焊缝定位的方法及系统”等 方法,虽然能够自动确定焊接起始点,但前者依赖点云数据,若待焊件越大,则点 云数据量越大,算法处理过程越复杂,耗时也越长。后者无法在焊前进行焊接轨迹 的自动规划,需要在焊接过程中实时调整,容易受到外界环境的影响。
而如专利公开号为CN104400279A的中国专利文献所公开的“基于CCD的管道空 间焊缝自动识别与轨迹规划的方法及系统”,采用了相机安装于机械臂的形式,但 也导致相机视场小,需要在多个不同位置拍摄照片,对机器人的活动范围以及工件 尺寸也提出了较高的要求。
目前基于视觉的焊缝定位及轨迹规划方法均存在一定的局限性,考虑到双目视觉更容易应用于工程之中,开发基于双目视觉的大视场下的工件焊缝自主定位方法 及系统具有十分重要的意义。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于双目视觉的大视场下工件焊缝自主定位方法及系统。
根据本发明提供的一种基于双目视觉的大视场下工件焊缝自主定位方法,包括:
步骤S1:建立基于双目视觉的自动焊接系统;
步骤S2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系, 通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
步骤S3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征 点像素坐标;
步骤S4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特 征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵 获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差 修正;
步骤S5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中 心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
优选地,所述基于双目视觉的自动焊接系统包括:工控机1、采集卡2、焊接机器人3、机器人控制柜4、旋转变位工作台5、双目视觉系统6以及待焊接件7;
所述工控机1与所述机器人控制柜4通过总线连接;所述机器人控制柜4与所述焊接机器人3连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡2安装于所述工控机1上;
所述双目视觉系统6包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡2连接,实现所述工控机1对双目相机的控制以及两者之间的 数据传输;
所述待焊接件7放置在所述旋转变位工作台5上。
优选地,所述步骤S2采用:
步骤S2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
步骤S2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数 的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标 值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
步骤S2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的 转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
优选地,所述步骤S3采用:
步骤S3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习 算法确定图像中工件感兴趣区域;
步骤S3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
步骤S3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
步骤S3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
步骤S3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
优选地,所述步骤S4采用:
步骤S4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约 束得到在双目视觉相机的另一幅图像中相对应的匹配点;
步骤S4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐 标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
步骤S4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值, 得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
根据本发明提供的一种基于双目视觉的大视场下工件焊缝自主定位系统,包括:
模块M1:建立基于双目视觉的自动焊接系统;
模块M2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系, 通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
模块M3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征 点像素坐标;
模块M4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特 征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵 获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差 修正;
模块M5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中 心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
优选地,所述基于双目视觉的自动焊接系统包括:工控机1、采集卡2、焊接机器人3、机器人控制柜4、旋转变位工作台5、双目视觉系统6以及待焊接件7;
所述工控机1与所述机器人控制柜4通过总线连接;所述机器人控制柜4与所述焊接机器人3连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡2安装于所述工控机1上;
所述双目视觉系统6包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡2连接,实现所述工控机1对双目相机的控制以及两者之间的 数据传输;
所述待焊接件7放置在所述旋转变位工作台5上。
优选地,所述模块M2采用:
模块M2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
模块M2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数 的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标 值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
模块M2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的 转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
优选地,所述模块M3采用:
模块M3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习 算法确定图像中工件感兴趣区域;
模块M3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
模块M3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
模块M3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
模块M3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
优选地,所述模块M4采用:
模块M4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约 束得到在双目视觉相机的另一幅图像中相对应的匹配点;
模块M4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐 标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
模块M4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值, 得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
与现有技术相比,本发明具有如下的有益效果:
1、双目相机安装于机器人外的云台上,配合焊接变位装置,使其拥有更大视场,针对不同的板型和板坯尺寸,可以灵活调节焊枪位置和姿态及工件位置,适应性大 大增强。
2、通过推算的方式计算棋盘格角点在机器人坐标系下的空间坐标,减少了人工标定所产生的误差,提高了系统的定位精度。
3、通过双目视觉及数据处理系统,不需要离线编程即可自动对待焊焊缝进行定位以及轨迹规划,从而能够实现无人自主焊接作业,减少人为因素的影响,最大程 度实现智能控制,保证焊接过程的顺利进行。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为基于双目视觉的大视场下工件焊缝自主定位方法的流程图;
图2为工件焊缝图像采集系统组成示意图;
图3为带有畸变相机成像的几何模型示意图;
图4为机器人手眼标定的几何示意图
图5为棋盘格示意图;
图6为对极线几何图;
其中,附图标记:1-工控机,2-采集卡,3-焊接机器人,4-机器人控制柜,5- 旋转变位工作台,6-双目视觉系统,7-待焊工件。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人 员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于 本发明的保护范围。
实施例1
根据本发明提供的一种基于双目视觉的大视场下工件焊缝自主定位方法,包括:
步骤S1:建立基于双目视觉的自动焊接系统;
具体地,所述基于双目视觉的自动焊接系统包括:工控机1、采集卡2、焊接机器人3、机器人控制柜4、旋转变位工作台5、双目视觉系统6以及待焊接件7;
所述工控机1与所述机器人控制柜4通过总线连接;所述机器人控制柜4与所述焊接机器人3连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡2安装于所述工控机1上;
所述双目视觉系统6包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡2连接,实现所述工控机1对双目相机的控制以及两者之间的 数据传输;
所述待焊接件7放置在所述旋转变位工作台5上。
步骤S2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系, 通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
具体地,所述步骤S2采用:
步骤S2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
步骤S2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数 的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标 值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
步骤S2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的 转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
步骤S3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征 点像素坐标;
具体地,所述步骤S3采用:
步骤S3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习 算法确定图像中工件感兴趣区域;
步骤S3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
步骤S3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
步骤S3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
步骤S3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
步骤S4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特 征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵 获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差 修正;
具体地,所述步骤S4采用:
步骤S4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约 束得到在双目视觉相机的另一幅图像中相对应的匹配点;
步骤S4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐 标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
其中,上标1和上标2分别表示双目相机的左右相机;
步骤S4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值, 得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
步骤S5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中 心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
根据本发明提供的一种基于双目视觉的大视场下工件焊缝自主定位系统,包括:
模块M1:建立基于双目视觉的自动焊接系统;
具体地,所述基于双目视觉的自动焊接系统包括:工控机1、采集卡2、焊接机器人3、机器人控制柜4、旋转变位工作台5、双目视觉系统6以及待焊接件7;
所述工控机1与所述机器人控制柜4通过总线连接;所述机器人控制柜4与所述焊接机器人3连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡2安装于所述工控机1上;
所述双目视觉系统6包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡2连接,实现所述工控机1对双目相机的控制以及两者之间的 数据传输;
所述待焊接件7放置在所述旋转变位工作台5上。
模块M2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系, 通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
具体地,所述模块M2采用:
模块M2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
模块M2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数 的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标 值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
模块M2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的 转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
模块M3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征 点像素坐标;
具体地,所述模块M3采用:
模块M3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习 算法确定图像中工件感兴趣区域;
模块M3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
模块M3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
模块M3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
模块M3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
模块M4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特 征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵 获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差 修正;
具体地,所述模块M4采用:
模块M4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约 束得到在双目视觉相机的另一幅图像中相对应的匹配点;
模块M4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐 标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
其中,上标1和上标2分别表示双目相机的左右相机;
模块M4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值, 得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
模块M5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中 心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
实施例2
实施例2是实施例1的优选例
本发明的目的是为了提供一种基于双目视觉的焊缝自主识别及定位方法,实现大视场下工件的焊接自主定位和轨迹规划,解决目前焊接示教过程复杂效率低的问 题,克服现有技术存在的缺陷。
为了实现上述目的,本发明提出一种基于双目视觉的焊缝自主识别及定位方法及系统,通过双目相机拍摄大视场下的工件照片,结合图像处理寻找焊缝坡口特征 点,对左右相机所获图片中的特征点进行匹配并计算其机器人坐标系下的空间坐标, 实现快速精准的工件的焊接自主定位和轨迹规划。
如图1所示,本发明提供了一种基于双目视觉的工件焊缝自主定位方法,包括:
步骤S1:构建自动焊接系统。如图2所示,将工控机1及采集卡2、焊接机器 人3及其控制柜4、旋转变位工作台5、双目视觉系统6、以及待焊工件7等部件组 成自动焊接系统。如图2所示,本实施例由工控机1及采集卡2、KUKA KR60-3机器 人3及其控制柜4、旋转变位工作台5、双目视觉系统6、以及待焊工件7等部件组 成,双目视觉系统6安装在机器人3外侧,距离旋转变位工作台的工作距离约为2 到3m,视野范围为1.5m×1.2m,旋转工作台5处于机器人3正前方,作为库卡机器 人的外部轴所使用。相机为FLIR公司生产的型号BFS-PGE-200S6M-C相机,分辨率 5472×3648,采用V2528-MPY镜头。采集卡型号为Point Grey双端口GIGE-PCIE2-2P02网络接口卡。
所述的工控机1与机器人控制柜4通过总线相连,控制机器人3以及作为机器 人外部轴驱动的旋转变位系统5的运动。
所述的双目视觉系统6固定在机器人和工作台外的云台上,通过总线与安装于 工控机1上的采集卡2相连,实现工控机1对双目相机6的控制以及两者间的数据 传输。
步骤S2:系统标定。根据双目相机和机器人之间的几何模型,对相机内外参数 进行标定,获得像素坐标系到相机坐标系的转换矩阵。再通过最小二乘法进行机器 人手眼标定,最终完成相机坐标系到机器人坐标系的转换。
步骤S3:图像处理。从双目相机获取工件图像,通过深度学习网络获取工件ROI(感兴趣区域);结合图像滤波、边缘提取、霍夫变换等方法求取工件焊缝特征点 像素坐标。
步骤S4:特征点空间坐标计算。通过极线约束,结合特征点于图像中的空间方 位,对特征点的匹配程度进行衡量,将这些点建立匹配关系,确定同一个特征点在 两幅图中的像素坐标。利用基础矩阵结合坐标系转换矩阵计算各特征点的空间坐标。 把不同位置特征点X、Y、Z三个方向上的误差量化,并得出双目相机模型的修正矩 阵ΔT。之后运用此修正矩阵对特征点的三维坐标再次进行修正。
步骤S5:焊接轨迹规划。根据所求特征点对焊接轨迹进行规划,并将数据传输 给机器人,完成了机器人对于大视场下工件焊缝自主定位。通过已经确定的特征点 的机器人坐标系下的三维空间坐标,可以进而计算工件焊缝中心位置的坐标,从而 完成工件焊缝的自主定位。坐标值的系统测量误差也达到了0.8mm的精度要求。
进一步的,所述步骤S2包括:
步骤S2.1:双目相机标定并求得像素坐标系到相机坐标系的坐标转换关系。为 了将焊缝特征点从图像的像素坐标系转换至世界坐标系下,需要进行双目相机的内 外参数标定。
通过棋盘格法对双目相机进行内外参数标定,采集标定板的不同位置不同姿态下的左右相机图片共84组,运用MATLAB相机标定工具ToolBox_calib得到相机各 参数,并通过反投影量化了标定参数的误差,根据误差判断是否重新标定。
具体的,选择具有9行10列方格的标准棋盘格板,每个棋盘格的大小为30×30mm。在选择棋盘格角点时,因为Matlab相机标定工具箱的要求,必须保证X和Y方向的 方格数一个为偶数,一个为奇数,标定时以中间的8行9列的棋盘格角点为准。
将双目相机系统位置固定后,确保两相机相对位置固定,相机外参数不会发生 改变。将标定板放置在实际工件的放置区域内,尽可能多地在不同位置和不同姿态 下拍摄棋盘格的照片,并且要求照片覆盖标定板的每个方格。使用了拍摄的76组与 手眼标定时拍摄的8组,共84组照片进行标定。
进行标定时需要将左右相机分别进行单目标定并计算内参数,最后根据两相机的标定结果进行双目标定计算外参数。双目标定时需要同时向工具箱中导入左右相 机的单目标定结果,进行双目标定后会对单目标定的结果进行修正。
根据标定工具箱中的优化函数计算出相机的内外参数。其中内部参数包括左右相机的焦距长度fl、fr,左右像平面的主点坐标cl、cr,相机的畸变系数kc= [k1;k2;p1;p2;k3],前两项与最后一项为径向畸变系数,第三、四项为切向畸变系数。
外参数包括,右相机到左相机的旋转矩阵R,右边相机到左边相机的平移向量T,用以表示两个相机之间的位置关系。
根据双目标定所得内外参数可以建立空间某一点p其世界坐标与其图像像素坐标的关系,如图3所示,设点p在世界坐标系下的坐标值为(xw,yw,zw),在相机平 面下的坐标值为(xc,yc,zc),其在像平面下的理想成像点pn,发生畸变后的实际成像 点为pi。pn点在像素坐标系PCS下的坐标点为(u,v),成像平面下的坐标为(x,y)。畸 变后的成像点在像素坐标系下为(ui,vi),在成像平面坐标系下的坐标为(xi,yi)。由小 孔成像原理,坐标公式推导如下:
(1)目标点P在相机平面坐标系下的坐标(xc,yc,zc)与在世界坐标系下的坐标(xw,yw,zw)可由下式:
式中,R是世界坐标系到相机坐标系的旋转矩阵,为3×3的矩阵,T为世界坐 标系到相机坐标系的3×1的平移矩阵。
(2)在成像平面和像素平面中,用dx和dy表示像元间距,用(u0,v0)表示像素坐 标系原点即主点在成像平面坐标系下的坐标,即可得以下关系式:
(3)由相似三角形的关系可知pn(x,y)与p点相对于相机坐标系下的坐标点 (xc,yc,zc)有如下几何关系:
其中f为相机的焦距。
(4)把前三式转化为矩阵形式,可以推导出可以推导出pn点坐标(u,v)与p点 世界坐标系坐标(xw,yw,zw)的关系为:
其中:
M2=[R T]
令M=M1·M2,则:
(5)设空间点(x,y,z)在双目相机左右图像中对应像素点的坐标分别为(u1,v1) 和(u2,v2),则可推得:
依据此关系我们可以将点的像素坐标转换为相机坐标。
(6)考虑相机畸变模型,主要考虑径向畸变与切向畸变。考虑畸变后投影点pi的坐标为:
其中,k1、k2、k3是径向畸变系数,p1、p2是切向畸变系数,r2=x2+y2。其 中,Δxr表示x方向的径向畸变,Δyr表示y方向的径向畸变,Δxt表示x方向的切向 畸变,Δyt表示y方向的切向畸变,r4表示r的4次方,r6表示r的六次方,r的二 次方r2=x2+y2,变量r与下标r并无关联
根据上述(1)至(6)步公式推导,可以建立图像中点p其世界坐标与其图像像素 坐标的关系。根据标定结果可以确定(4)步中的矩阵M1及M2矩阵进而计算得出矩 阵M。已知点p在左右相机图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),结 合(6)步,去除畸变求得相机平面下的真实像素坐标(u1',v1')和(u2',v2'),根据(5) 步的方程即可求解点p的世界坐标系坐标(x,y,z),完成从像素坐标到世界坐标的转 换。上述步骤用下式指代:
(x,y,z)=f(u1,v1,u2,v2)
步骤S2.2:手眼标定求取相机坐标系至机器人坐标系的转换矩阵。由于机器人 实际运行时是以机器人坐标系为基准,而步骤S201中所得的特征点坐标是建立在以 相机为基准的世界坐标系(相机坐标系)中,故需要进行坐标转换。如图4所示,设Xt为机器手的TCP坐标系,Xc为相机坐标系,Xr为机器人基座的坐标系,Xw为世界坐 标系。坐标转换公式如下所示:
Xr=Tc-r·Xc
为了求得将特征点从相机坐标系转换到机器人坐标系的转换矩阵Tc-r,需要进 行手眼标定,即获取多组角点的机器人坐标系坐标以及对应的相机坐标系坐标,利 用上式求解转换矩阵。进行手眼标定时,把标定板的棋盘格角点作为参照物,通过 测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到 机器人坐标系的转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系 中计算误差。
在具体标定时,将标定板放在焊接操作台上,通过双目相机系统采集标定板的 照片,再求出其在相机坐标系下的坐标Xc并记录。然后通过手动控制机器人TCP点 对准棋盘格中如图5中所示的1~4号点,在机器人控制器中读取这些特征点在机器 人基座坐标系下的坐标Xr,为了提高标定的精度,以这4个点为基础计算中间72 点的机器人坐标系下的坐标,这样操作一方面可以减少手动操作机器人对准棋盘格 角点时所产生的人工误差,另一方面能大大节省时间,并获取足够数量的数据点。 之后,改变标定板的位置和姿态,尽量包含工件所在区域,得到共8组不同位置下 的棋盘格图片和特征点坐标。将8组角点坐标从每组4个扩充到每组72个,将这 576个点运用最小二乘法进行数据拟合求得的转换矩阵Tc-r。
之后进行验证,用所求得的转换矩阵Tc-r,对576个点进行反投影,通过下方 公式求出各点的残余误差。若误差过大则重新标定。
d=|Xr-Tc-r·Xc|
最终各点残余误差的平均值为0.1656mm,精度较好。
进一步地,所述步骤S3包括:
步骤S3.1:基于采集到的待焊工件图像通过深度学习算法确定图像中工件感兴趣区域,排除多余背景的干扰;
具体地,所述步骤S3.1采用:
步骤S3.1.1:将采集到的待焊工件图像通过训练后的深度学习网络生成包含大部分工件图像像素的掩膜图像;
步骤S3.1.2:掩膜图像通过形态学处理将掩膜扩大并修正,从而将工件完整地 包含进去,实现工件与背景基本分离的效果。
更为具体地,采用:
经过训练后的深度学习模型可以通过如下方式获取:
(1)获取工件图像,并对其进行标注,划分每个图像的感兴趣区域,之后进行数 据增强操作,包括:翻转、旋转等操作,完成自制工件图像数据集。
(2)通过Microsoft COCO数据集对深度学习网络进行训练。
(3)利用迁移学习的方法结合自制工件图像数据集对网络重新训练,使得网络在数据集较小的情况下也能获得较好的效果。
需要说明的是,本实施例采用Mask R-CNN算法作为获取感兴趣区域的深度学习模型。图像输入模型后,采用卷积神经网络获得对应的feature map。接着使用RPN 区域建议网络获得建议框,截取原图中的不同区域。利用ROI Align层统一截取的 不同大小的特征层区域。利用分类和回归网络判断所截取的内容是否包含目标,并 对建议框进行调整,生成预测框。将预测框截取内容传入ROI Align层调整大小后, 再传入语义分割网络获得语义分割结果得到所需要的掩膜。
步骤S3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像,突出焊缝图像的关键信息;
具体地,所述步骤S3.2采用:对确定的图像中工件感兴趣区域进行包括去畸变 以及滤波处理;
更为具体地,图像去畸变具体采用:
相机的镜头畸变(包括径向畸变与切向畸变),会使得所得的相机照片发生一 定程度的扭曲变形,像素点会偏离原有的位置,直线也因此会发生弯曲。
考虑相机畸变模型,相机畸变存在径向畸变,切向畸变,偏心畸变等。通常主 要考虑径向畸变与切向畸变。设目标点为p(x,y),则畸变后投影点pi(xi,yi)的坐标为:
其中,k1、k2、k3是径向畸变系数,p1、p2是切向畸变系数,r2=x2+y2。其中, Δxr表示x方向的径向畸变,Δyr表示y方向的径向畸变,Δxt表示x方向的切向畸变, Δyt表示y方向的切向畸变,r4表示r的4次方,r6表示r的六次方,r的二次方 r2=x2+y2,变量r与下标r并无关联;
根据上述关系式,对图像各个像素进行修正,还原真实信息。
本实施例可以通过调用OpenCV中的cv2.undistort()函数对所得的图像进行畸变去除的处理。
更为具体地,图像滤波采用:
考虑到在相机拍摄图像的过程当中,可能会受到许多因素的干扰(工作环境的 变化、光照的变化等等),所获得的目标图像会存在各种形式的噪声,影响后续的 图像处理和分析有效性和可靠性。因此,需要通过图像滤波的方式在尽可能保留图 像细节特征的条件下对这些噪声进行抑制。采用中值滤波去除数据中的脉冲噪声, 以某像素的领域图像区域中的像素值的排序为基础,将像素领域内灰度的中值代替 该像素的值。中值滤波去除椒盐噪声和斑块噪声时效果非常明显,通过中值滤波可 以有效抑制噪声信号,同时保留较多的图像特征。在实施例中,中值滤波的窗口大 小选为5×5。
步骤S3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取,为寻找特征线和特征点做准备;
具体地,所述步骤S3.3采用:
步骤S3.3.1:通过Canny边缘检测提取待焊工件及焊缝边缘轮廓;Canny边缘 检测算法包含以下几个步骤:第一步为使用高斯滤波器对图像进行去噪。由于边缘 检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因 此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有 高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核,然后基于高斯核函 数对图像灰度矩阵的每一点进行加权求和。第二步便是计算梯度幅值和方向。第三 步,在边缘上使用非最大抑制(NMS),这一步排除非边缘像素,仅仅保留了一些细线 条(候选边缘)。最后,Canny算法使用了滞后阈值,包含两个阈值分别为高阈值 和低阈值。
(1)若某一像素位置的幅值超过高阈值,该像素阈值被保留为边缘像素
(2)若某一像素位置的幅值小于低阈值,该像素被排除
(3)若某一像素位置的幅值在两个阈值之间,该像素仅仅在连接到一个高于高阈值的像素时被保留。
步骤S3.3.2:对曲线图像施加闭运算联通Canny算子提取边缘数据;闭运算即 针对白色像素先膨胀后腐蚀,能够填平小孔,弥合小裂缝,而总的位置和形状不变, 能够连通更多的图像区域。
步骤S3.3.3:基于八连通的概念删除总面积小的连通像素保留边缘主体。如图 3所示,四连通域指的是像素周围上下左右四个区域,而八连通域指的是像素周围 的八个区域。所需要保留的边缘像素曲线往往是以八连通的方式形成连通区域的, 只需要对八连通的连通区域的大小进行判断,将过小的连通区域当作噪点排除,即 可保留完整的边缘曲线。实施例中仅保留连通域大小100以上的像素区域。
步骤S3.4:通过直线检测突出工件边缘特征,便于之后提取特征点;具体地, 采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
具体地,所述步骤S3.4采用:
如图4所示,步骤S3.4.1:在霍夫变换中,直线用数学表达式ρ=xcosθ+ ysinθ来表示。其中,ρ是原点到直线的垂直距离,θ为直线的垂线与横轴顺时针 方向的夹角。
如果一条线在原点下方经过,ρ的值就应该大于0,角度小于180,但是如果从 原点上方经过的话,角度不是大于180,也是小于180,但ρ的值小于0。垂直的线 角度为0度,水平线的角度为90度。只要确定了ρ与θ的值以及原点的坐标,便能 得到直线在图像中的具体位置。
其算法设计如下步骤:
步骤S3.4.1.1:将参数空间(ρ,θ)量化,赋初值给一个二维矩阵M,M(ρ,θ) 就是一个累加器。
步骤S3.4.1.2:对边缘图像中的每个像素点进行变换得到一组(ρ,θ),将该组 (ρ,θ)对应的累加器中的数值加1。
步骤S3.4.1.3:当所有的像素点都处理完毕后,分析得到的累加器M(ρ,θ), 设置一个阈值T,当M(ρ,θ)>T时,就认为存在一条有意义的直线,对应的(ρ,θ) 就是这条直线方程的参数。
步骤S3.4.1.4:根据(ρ,θ)和点(x,y)计算出直线方程。
步骤S3.4.2:合并特征直线。由于在边缘检测的过程当中,我们所获得的焊缝 边缘并不是一条平滑的直线,很多情况下是一串不连续的边缘点。因此,用边缘图 进行霍夫变换后的结果往往是一条边缘可能测出多组直线,需要将这些特征直线进 行合并处理。
依据每条直线的(ρ,θ)值对它们进行分组。如图5所示,首先根据θ值将全部 直线进行排序,对排序后的直线在θ值发生跳变处设置标记,这样即可完成初步的 直线分组。下一步对每组直线根据ρ由小到大进行排序,与前一步相似,同样在ρ 值发生跳变处设置标记。这样就可以完成直线分类。θ值的阈值取π/10,ρ值的 阈值取25。
由于同一组需要合并的直线之间的ρ和θ非常接近,故合并后的直线的 (ρ',θ')采用将所有直线的ρ和θ相加取平均值的方法,简单有效而且误差不大。
步骤S3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
具体地,如图6所示,所述步骤S3.5采用:步骤S3.4所得的特征直线5中可 以分辨出工件上边缘的四条直线以及焊缝边缘的两条直线。考虑到对于坡口较浅的 焊件,焊缝边缘的识别误差会较大,因此需要在坡口附近开设小区域的方式,在该 区域中进行霍夫变换以及交点的计算。
上边缘四条直线的交点的所在区域即为工件上方四个角点的所在区域,根据上方角点以及焊缝边缘直线,可以大致将坡口角点的所在位置6在图中找出。
针对小区域内部边缘特征进行直线提取即可计算求得坡口角点,设待求焊缝特征点p的像素坐标为(x,y),所提取的两条直线分别为l1和l2,l1的直线方程为:
ρ1=x cosθ1+y sinθ1
l2的直线方程为:
ρ2=x cosθ2+y sinθ2
解得焊缝特征点p的坐标为:
其中,ρ1是原点到直线l1的垂直距离,θ1为直线l1的垂线与横轴顺时针方向的 夹角;ρ2是原点到直线l2的垂直距离,θ2为直线l2的垂线与横轴顺时针方向的夹角。
进一步的,所述步骤S4包括:
步骤S4.1:特征点匹配。即已知空间特征点在两图像中的其中的一个成像点(或称为源匹配点),后在另一幅图像上寻找与之相对应的目标匹配点(或称为同名像 点),完成匹配后才可用步骤S201中公式进行空间坐标计算。
由于步骤S3中所获得的特征点的像素坐标计算在算法上存在着一定的先后顺 序关系,依靠该关系即可完成特征点的大致匹配。同时通过极线约束的方法,我们 可以进一步地确定特征点之间的匹配度,对识别出来的左右相机的工件特征点进行 匹配。具体匹配方法为:首先根据算法所求得的不同特征点的顺序将左右两幅图中 的特征点一一分组对应。接着对同一组中的特征点计算匹配的误差,若误差超过一 定值,则认为匹配失败。需要重新采集图像并重新计算。
如图6所示,所述极线约束的原理为:匹配点一定位于两幅图像中相应的极线 上。设任意空间存在一点P,点P在左相机相平面的投影点为x1,在右相机的相平 面投影点为x2。左相机的光心为C1,右相机的光心为C2,C1 C2的连线与左右相机 相平面的交点为e1和e2,分别称为左右相机的极点。把P C1 C2所在的平面定义为极 平面π,观察几何关系可知特征点和其匹配点x1,x2一定在极平面与相平面的交线即 对极线l1,l2上。因此我们可以通过求出对极线l1,l2的方程观察点是否落在对极线 上从而得出对应的特征点。
p2=R(p1-T)
其中p1为P点在左相机坐标系下的坐标,p2为P点在右相机坐标系下的坐标, R,T为左相机转化为右相机方向的平移和旋转向量。
设T的矩阵为S,将向量的叉乘写为矩阵形式:
其中:
由于C2P也在极平面上,所以:
则有:
P2 T·(R·S)·P1=0
因为R·S只与相机的外参数即相对位置有关,设左右相机的内参数矩阵为M1, M2根据相机模型可求得:
x2 T[(M2 -1)T·R·S·M1 -1]x1=0
其中把F=(M2 -1)T·R·S·M1 -1称为基础矩阵,由相机的内外参数决定。
本案例中基础矩阵的计算采用如下方法。用先前进行相机标定所得到的棋盘格标定板在不同角度和姿态下的图片,分别提取出左、右相机照片中的匹配特征点对, 去除误差较大的6、58、59组,用其余81组共5832对特征点对,采用最小二乘法 求解得。
对于左图中点P的像素坐标x1=(u1 v1 1)T,它在右图中对应的对极线l2为:
l2=F·x1
其中l2是3×1向量,代表着直线方程中的三个系数A、B、C,即:
L2=AX+BY+C
虽然理论上P点在右图中的像素点应该在对极线上,但由于相机的畸变、标定 的误差、角点提取不准确等种种因素,导致像点在对极线周围。我们可以通过计算 右图特征点到到左图对应点的对极线的距离d作为极线约束的误差,将其量化。右 图中对应点Q的像素坐标为x2=(u2 v2 1)T
到对极线的距离d可用下方公式表示:
在实际判断匹配情况时,我们可以通过设立一个误差阈值,当匹配点对的d超 过一定值时,则认为两点并不匹配。各点误差的平均值为0.5724pixel,精度较好。
步骤S4.2:空间坐标计算。
根据步骤S2.1建立的双目相机的几何模型,我们可以通过特征点在左右图像中成像的像素坐标,通过公式可以计算出该点在相机坐标系(左相机坐标系)下的三 维坐标,可用如下公式表示:
(xc,yc,zc)=f(u1,v1,u2,v2)
通过步骤S2.2机器人手眼标定得到的相机坐标系到机器人坐标系的转换矩阵Tc-r,将计算得到的相机坐标系坐标Xc(xc,yc,zc)转换到在机器人坐标系Xr(xr,yr,zr) 下的坐标:
Xr=Tc-r·Xc
最终实现特征点从像素坐标(u1,v1),(u2,v2)到机器人坐标系坐标(xr,yr,zr)的转换。
步骤S4.3:系统误差修正。
实际测量时发现所得坐标在某一固定误差附近波动,考虑到实际焊接工艺的需求,为降低误差,需要进一步对误差进行修正。为了观察数据点的波动以及误差情 况,通过不断拍摄同一工件的图像,获取20组工件特征点计算后的机器人坐标数据, 并用TCP点测量其准确特征点的三维坐标值。将连续多组坐标数据放在一起观察可 以发现,去除极大极小值后,所得坐标相对稳定。这种误差产生的原因可能是因为 在标定时存在系统误差矩阵。为了消除此误差,可以针对不同的点对X、Y、Z的误 差,去极大极小值后,求取平均值,得到其偏移量,作为坐标转换的修正值ΔT。最 终坐标:
Xr'=Xr+ΔT
运用此修正矩阵对特征点的三维坐标再次进行修正,测得与真实特征点的平均距离误差为0.770mm,证明了修正矩阵具有一定的适用性。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明 提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制 器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置 及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模 块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是 实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上 述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改, 这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的 特征可以任意相互组合。
Claims (10)
1.一种基于双目视觉的大视场下工件焊缝自主定位方法,其特征在于,包括:
步骤S1:建立基于双目视觉的自动焊接系统;
步骤S2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系,通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
步骤S3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征点像素坐标;
步骤S4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差修正;
步骤S5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
2.根据权利要求1所述的基于双目视觉的大视场下工件焊缝自主定位方法,其特征在于,所述基于双目视觉的自动焊接系统包括:工控机(1)、采集卡(2)、焊接机器人(3)、机器人控制柜(4)、旋转变位工作台(5)、双目视觉系统(6)以及待焊接件(7);
所述工控机(1)与所述机器人控制柜(4)通过总线连接;所述机器人控制柜(4)与所述焊接机器人(3)连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡(2)安装于所述工控机(1)上;
所述双目视觉系统(6)包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡(2)连接,实现所述工控机(1)对双目相机的控制以及两者之间的数据传输;
所述待焊接件(7)放置在所述旋转变位工作台(5)上。
3.根据权利要求1所述的基于双目视觉的大视场下工件焊缝自主定位方法,其特征在于,所述步骤S2采用:
步骤S2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
步骤S2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
步骤S2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
4.根据权利要求1所述的基于双目视觉的大视场下工件焊缝自主定位方法,其特征在于,所述步骤S3采用:
步骤S3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习算法确定图像中工件感兴趣区域;
步骤S3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
步骤S3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
步骤S3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
步骤S3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
5.根据权利要求1所述的基于双目视觉的大视场下工件焊缝自主定位方法,其特征在于,所述步骤S4采用:
步骤S4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约束得到在双目视觉相机的另一幅图像中相对应的匹配点;
步骤S4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
步骤S4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值,得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
6.一种基于双目视觉的大视场下工件焊缝自主定位系统,其特征在于,包括:
模块M1:建立基于双目视觉的自动焊接系统;
模块M2:基于相机标定并以双目相机为基准建立相机坐标系与图像像素坐标的关系,通过手眼标定获取相机坐标系与机器人坐标系的转换矩阵;
模块M3:通过双目视觉相机获取工件图像,基于获取的工件图像得到工件焊缝特征点像素坐标;
模块M4:通过极线约束,结合工件焊缝特征点于图像中的坐标,对特征点建立匹配关系,确定同一个特征点在双目视觉相机两幅图中的像素坐标;基于同一个工件焊缝特征点在双目视觉相机两幅图中的像素坐标利用相机坐标系与机器人坐标系的转换矩阵获得工件焊缝特征点的机器人坐标;并对获得的工件焊缝特征点的机器人坐标进行误差修正;
模块M5:通过已经确定的特征点的机器人坐标系下的三维空间坐标计算工件焊缝中心位置的坐标,完成工件焊缝的自主定位;根据特征点对焊接轨迹进行规划,并将数据传输给机器人。
7.根据权利要求6所述的基于双目视觉的大视场下工件焊缝自主定位系统,其特征在于,所述基于双目视觉的自动焊接系统包括:工控机(1)、采集卡(2)、焊接机器人(3)、机器人控制柜(4)、旋转变位工作台(5)、双目视觉系统(6)以及待焊接件(7);
所述工控机(1)与所述机器人控制柜(4)通过总线连接;所述机器人控制柜(4)与所述焊接机器人(3)连接,从而控制机器人以及作为机器人外部轴的旋转变位系统的运动;
所述采集卡(2)安装于所述工控机(1)上;
所述双目视觉系统(6)包括了双目相机和云台;且所述双目相机固定在所述云台上;并通过总线与所述采集卡(2)连接,实现所述工控机(1)对双目相机的控制以及两者之间的数据传输;
所述待焊接件(7)放置在所述旋转变位工作台(5)上。
8.根据权利要求6所述的基于双目视觉的大视场下工件焊缝自主定位系统,其特征在于,所述模块M2采用:
模块M2.1:去除畸变得到相机平面下的真实像素坐标(u′,v′);
其中,(u,v)表示特征点p在左右相机图像中对应像素点的坐标;k1、k2、k3是径向畸变系数;p1、p2是切向畸变系数,r2=u2+v2;
模块M2.2:通过棋盘格法对双目相机进行内外参数标定,根据双目相机的内外参数的标定建立空间点p的以相机为基准建立的相机坐标系的相机坐标与点p的图像像素坐标的关系;
真实像素坐标与相机坐标系坐标的关系:
其中:
M2=[R T] (5)
其中,(xw,yw,zw)表示世界坐标系下的坐标值;(xc,yc,zc)表示相机坐标系下的坐标值;R表示世界坐标系到相机坐标系的旋转矩阵;T表示世界坐标系到相机坐标系的平移矩阵;(u0,v0)表示像素坐标系原点;f表示相机的焦距;在成像平面和像素平面中,用dx和dy表示像元间距;
模块M2.3:手眼标定时,把标定板的棋盘格多组角点作为参照物,通过测量标定板上角点的TCP坐标值和相机坐标值,运用最小二乘法求得相机坐标系到机器人坐标系的转换矩阵Tc-r,再将相机坐标系下的棋盘格点投影到机器人坐标系中计算误差;
Xr=Tc-r·Xc (6)
d=|Xr-Tc-r·Xc| (7)
其中,Xc为相机坐标系,Xr为机器人基座的坐标系;d表示计算误差。
9.根据权利要求6所述的基于双目视觉的大视场下工件焊缝自主定位系统,其特征在于,所述模块M3采用:
模块M3.1:通过双目视觉相机获取工件图像,基于采集到的工件图像通过深度学习算法确定图像中工件感兴趣区域;
模块M3.2:对确定的图像中工件感兴趣区域进行预处理,得到预处理后的图像;
模块M3.3:对预处理后的图像运用边缘检测方法对图像中的工件轮廓信息进行提取;
模块M3.4:采用霍夫变换检测工件及其焊缝边缘直线并合并特征直线;
模块M3.5:根据检测所得直线计算交点从而确定工件以及焊缝特征点的像素坐标。
10.根据权利要求6所述的基于双目视觉的大视场下工件焊缝自主定位系统,其特征在于,所述模块M4采用:
模块M4.1:获取焊缝特征点在双目视觉相机其中一张图像中的成像点,通过极线约束得到在双目视觉相机的另一幅图像中相对应的匹配点;
模块M4.2:通过焊缝特征点在左右图像中成像的像素坐标计算焊缝特征点在相机坐标系下的三维坐标,并将相机坐标系下的三维坐标转化为机器人坐标系下的坐标;
在双目相机左右图像中对应像素点的坐标分别为(u1,v1)和(u2,v2),
其中,(x,y,z)表示特征点的相机坐标系的坐标;
模块M4.3:获取多组工件焊缝特征点计算后的机器人坐标数据,并用TCP点测量其准确特征点的三维坐标值,针对不同的点对X、Y、Z的误差去极大极小值后,求平均值,得到其偏移量作为坐标转换的修正值ΔT;
Xr'=Xr+ΔT (10)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441149.8A CN114926531A (zh) | 2022-04-25 | 2022-04-25 | 基于双目视觉的大视场下工件焊缝自主定位方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210441149.8A CN114926531A (zh) | 2022-04-25 | 2022-04-25 | 基于双目视觉的大视场下工件焊缝自主定位方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114926531A true CN114926531A (zh) | 2022-08-19 |
Family
ID=82806608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210441149.8A Pending CN114926531A (zh) | 2022-04-25 | 2022-04-25 | 基于双目视觉的大视场下工件焊缝自主定位方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114926531A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116858857A (zh) * | 2023-07-04 | 2023-10-10 | 河南众驰富联精工科技有限公司 | 一种双龙门工件尖端测量装置及坐标标定方法 |
-
2022
- 2022-04-25 CN CN202210441149.8A patent/CN114926531A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116858857A (zh) * | 2023-07-04 | 2023-10-10 | 河南众驰富联精工科技有限公司 | 一种双龙门工件尖端测量装置及坐标标定方法 |
CN116858857B (zh) * | 2023-07-04 | 2024-05-24 | 河南富驰科技有限公司 | 一种双龙门工件尖端测量装置及坐标标定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110497187B (zh) | 基于视觉引导的太阳花模组装配系统 | |
CN111721259B (zh) | 基于双目视觉的水下机器人回收定位方法 | |
CN112476434A (zh) | 一种基于协作机器人的视觉3d取放方法及系统 | |
CN103192397B (zh) | 视觉机器人离线编程方法和系统 | |
CN111028340B (zh) | 精密装配中的三维重构方法、装置、设备及系统 | |
CN109035200A (zh) | 一种基于单双目视觉协同的螺栓定位及位姿检测方法 | |
Chen et al. | Acquisition of weld seam dimensional position information for arc welding robot based on vision computing | |
CN111897349A (zh) | 一种基于双目视觉的水下机器人自主避障方法 | |
CN110717943A (zh) | 用于二维平面的眼在手上机械手手眼标定方法及系统 | |
CN111784655B (zh) | 一种水下机器人回收定位方法 | |
CN113894481B (zh) | 复杂空间曲线焊缝的焊接位姿调整方法及装置 | |
US12073582B2 (en) | Method and apparatus for determining a three-dimensional position and pose of a fiducial marker | |
CN108907526A (zh) | 一种具有高鲁棒性的焊缝图像特征识别方法 | |
CN112419429B (zh) | 一种基于多视角的大型工件表面缺陷检测标定方法 | |
CN113146172A (zh) | 一种基于多视觉的检测与装配系统及方法 | |
Hsu et al. | Development of a faster classification system for metal parts using machine vision under different lighting environments | |
CN110415363A (zh) | 一种基于三目视觉的散乱物识别定位方法 | |
CN116872216B (zh) | 一种基于有限时间控制的机器人视觉伺服作业方法 | |
CN114842144A (zh) | 双目视觉三维重构方法及系统 | |
CN114926531A (zh) | 基于双目视觉的大视场下工件焊缝自主定位方法及系统 | |
CN111583342A (zh) | 一种基于双目视觉的目标快速定位方法及装置 | |
CN112588621B (zh) | 一种基于视觉伺服的农产品分拣方法及系统 | |
Ye et al. | Weld seam tracking based on laser imaging binary image preprocessing | |
CN116594351A (zh) | 一种基于机器视觉的数控加工单元系统 | |
Boby | Hand-eye calibration using a single image and robotic picking up using images lacking in contrast |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |