一种机器人视觉系统快速标定方法.pdf

上传人:v**** 文档编号:5998008 上传时间:2019-04-02 格式:PDF 页数:10 大小:541.55KB
返回 下载 相关 举报
摘要
申请专利号:

CN201611151766.5

申请日:

2016.12.14

公开号:

CN106780623A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06T 7/80申请日:20161214|||公开

IPC分类号:

G06T7/80(2017.01)I

主分类号:

G06T7/80

申请人:

厦门理工学院

发明人:

刘建春; 黄勇杰

地址:

361024 福建省厦门市集美区理工路600号

优先权:

专利代理机构:

泉州市潭思专利代理事务所(普通合伙) 35221

代理人:

麻艳

PDF下载: PDF下载
内容摘要

本发明公开一种机器人视觉系统快速标定方法,所述机器人视觉系统包括机器人、工作平台、CCD摄像机和计算机,其中,计算机用于控制CCD摄像机采集工作平台的图像数据,计算机还能够控制机器人的移动;所述方法包括如下步骤:步骤1,将CCD摄像机安装在工作平台上,使得工件放置在工作平台上时,工件的局部位于CCD摄像机的视场区域内,以摄像机坐标系的坐标采集工件的特征坐标点;步骤2,利用opencv编写畸变矫正算法,对CCD摄像机进行快速畸变矫正;步骤3,对摄像机坐标系与机器人世界坐标系和实际尺寸的比例关系进行标定;步骤4,对整个工作平台的用户坐标系原点进行标定。此种标定方法成本低,安装方便,标定快速,易于实现。

权利要求书

1.一种机器人视觉系统快速标定方法,所述机器人视觉系统包括机器人、工作平台、
CCD摄像机和计算机,其中,计算机用于控制CCD摄像机采集工作平台的图像数据,计算机还
能够控制机器人的移动;其特征在于所述方法包括如下步骤:
步骤1,将CCD摄像机安装在工作平台上,使得工件放置在工作平台上时,工件的局部位
于CCD摄像机的视场区域内,以摄像机坐标系的坐标采集工件的特征坐标点;
步骤2,利用opencv编写畸变矫正算法,对CCD摄像机进行快速畸变矫正;
步骤3,对摄像机坐标系与机器人世界坐标系和实际尺寸的比例关系进行标定;
步骤4,对整个工作平台的用户坐标系原点进行标定。
2.如权利要求1所述的一种机器人视觉系统快速标定方法,其特征在于:所述步骤1中,
采集工件的特征坐标点的方法是:CCD摄像机对其视场区域内工件的局部特征进行识别并
提取该特征的坐标,同时检测工件在工作平台上放置的姿态,依据工件图纸采集工件内部
特征之间的坐标关系,计算需要的特征坐标与检测到的特征坐标之间的横纵坐标的差值,
从而得到所需要的特征坐标点。
3.如权利要求1所述的一种机器人视觉系统快速标定方法,其特征在于:所述步骤2中,
畸变矫正算法的具体内容是:
(1)通过移动或旋转棋盘格,CCD摄像机采集获取N张不同角度包含有整个棋盘格的图
像;
(2)预设棋盘格的内焦点行数和列数,行数和列数不能相同;
(3)设定3D场景中的点位数据;
(4)对步骤(1)采集的棋盘格图像进行如下处理:
a.调取第一张图像,进行灰度处理;
b.再将图像尺寸缩小n倍,n根据图像实际大小设定;
c.使用棋盘格检测函数检测角点;
d.重新加载原始图像,并且将检测到的角点数据横纵坐标都放大n倍,将这些加入到亚
像素角点检测函数中;
e.将检测到的亚像素角点坐标放入集合;
f.调取下一张图像,重复步骤a-e,直至所有棋盘格图像均处理完成;
(5)将存放有亚像素角点坐标的集合添加到相机标定矩阵,由相机标定函数来计算摄
像机内参和畸变矩阵;
(6)将摄像机内参和畸变矩阵保存并输出。
4.如权利要求3所述的一种机器人视觉系统快速标定方法,其特征在于:所述上述步骤
(6)中,将摄像机内参和畸变矩阵采用.vml后缀格式保存并输出。
5.如权利要求1所述的一种机器人视觉系统快速标定方法,其特征在于:所述上述步骤
3的具体内容是,首先在视场区域内工作平台的空白区域任选两个标记点,利用摄像机检测
两个标记点的坐标,并以摄像机坐标表示二者之间的距离d1;然后控制机器人找到两个标
记点,以机器人世界坐标表示二者之间的距离d2;最后用尺子测量两个标记点之间的实际
距离尺寸d3;设k1=d1/d2,k2=d2/d3,设摄像机摄像机坐标系的坐标为Cc,机器人世界坐
标系的坐标为Cr,工作平台的用户坐标系的坐标为Cu,有Cc=k1×Cr=k1×k2×Cu。
6.如权利要求5所述的一种机器人视觉系统快速标定方法,其特征在于:所述步骤4的
具体内容是:在工作平台上定义某一点为原点,记录其机器人世界坐标Cro(Cro.x,Cro.y),
再在CCD摄像机的视场区域任选一个标记点,记录标记点的摄像机坐标Ccp(Ccp.x,Ccp.y)
和机器人世界坐标Crp(Crp.x,Crp.y);在机器人世界坐标下计算原点与标记点的距离,二
者的横坐标差值Ex=Crp.x-Cro.x,纵坐标差值Ey=Crp.y-Cro.y;设摄像机取得的待测点
坐标为Cca(Cca.x,Cca.y),机器人从原点移动到待测点时,横纵坐标需要移动的距离为dx
和dy,则dx=Cro.x+Ex+[(Cca.x-Ccp.x)/k1],dy=Cro.y+Ey+[(Cca.y-Ccp.y)/k1]。

说明书

一种机器人视觉系统快速标定方法

技术领域

本发明属于机器视觉系统的标定领域,特别涉及一种摄像机固定的机器人视觉系
统的标定方法。

背景技术

标定是每一台视觉设备都必不可少的步骤,现在越来越多的自动化设备开始使用
机器视觉,标定的精度和快慢直接影响企业的生产效率。现在较多的方法是使用早期的棋
盘格标定程序直接进行标定摄像机,而机器人和摄像机的标定多利用标定工具的辅助,现
在较多的是将摄像机安装在机器人手臂的末端,利用标定工具进行手眼标定也有较快的速
度,但由于一些工作的需要,不适合将CCD摄像机固定在机器人的末端,对于固定式CCD的机
器人视觉系统有以下几个缺陷:

(1)摄像机内参和畸变矩阵获取速度慢,对于CCD摄像机的标定目前多数使用棋盘
格标定程序来标定,不同的摄像机、不同的安装距离和镜头焦距都会产生不同的畸变,所以
往往在设备安装好之后会进行一次摄像机畸变矩阵的获取,用来在以后工作时取像之后的
矫正,利用摄像机内参和畸变矩阵矫正图像的速度往往很快,但是在获取畸变矩阵时的效
率很低,在这上面会浪费安装调试人员大量的时间;

(2)检测大型工件精度低,对于CCD检测大型工件常固定在能够将工件完全放在视
场内的位置,由于摄像机和工件的距离太远,导致CCD摄像机的畸变对检测精度的影响加
大,并且由于摄像机像素的限制导致图像的特征模糊不清;

(3)机器人与摄像机的坐标系对应关系和比例转换常常通过机器人对特殊标定工
具的示教来完成,这样就需要精度较高的工件复杂的过程和较长的时间来做这项工作,降
低效率。

发明内容

本发明的目的,在于提供一种机器人视觉系统快速标定方法,其成本低,安装方
便,标定快速,易于实现。

为了达成上述目的,本发明的解决方案是:

一种机器人视觉系统快速标定方法,所述机器人视觉系统包括机器人、工作平台、
CCD摄像机和计算机,其中,计算机用于控制CCD摄像机采集工作平台的图像数据,计算机还
能够控制机器人的移动;所述方法包括如下步骤:

步骤1,将CCD摄像机安装在工作平台上,使得工件放置在工作平台上时,工件的局
部位于CCD摄像机的视场区域内,以摄像机坐标系的坐标采集工件的特征坐标点;

步骤2,利用opencv编写畸变矫正算法,对CCD摄像机进行快速畸变矫正;

步骤3,对摄像机坐标系与机器人世界坐标系和实际尺寸的比例关系进行标定;

步骤4,对整个工作平台的用户坐标系原点进行标定。

上述步骤1中,采集工件的特征坐标点的方法是:CCD摄像机对其视场区域内工件
的局部特征进行识别并提取该特征的坐标,同时检测工件在工作平台上放置的姿态,依据
工件图纸采集工件内部特征之间的坐标关系,计算需要的特征坐标与检测到的特征坐标之
间的横纵坐标的差值,从而得到所需要的特征坐标点。

上述步骤2中,畸变矫正算法的具体内容是:

(1)通过移动或旋转棋盘格,CCD摄像机采集获取N张不同角度包含有整个棋盘格
的图像;

(2)预设棋盘格的内焦点行数和列数,行数和列数不能相同;

(3)设定3D场景中的点位数据;

(4)对步骤(1)采集的棋盘格图像进行如下处理:

a.调取第一张图像,进行灰度处理;

b.再将图像尺寸缩小n倍,n根据图像实际大小设定;

c.使用棋盘格检测函数检测角点;

d.重新加载原始图像,并且将检测到的角点数据横纵坐标都放大n倍,将这些加入
到亚像素角点检测函数中;

e.将检测到的亚像素角点坐标放入集合;

f.调取下一张图像,重复步骤a-e,直至所有棋盘格图像均处理完成;

(5)将存放有亚像素角点坐标的集合添加到相机标定矩阵,由相机标定函数来计
算摄像机内参和畸变矩阵;

(6)将摄像机内参和畸变矩阵保存并输出。

上述步骤(6)中,将摄像机内参和畸变矩阵采用.vml后缀格式保存并输出。

上述步骤3的具体内容是,首先在视场区域内工作平台的空白区域任选两个标记
点,利用摄像机检测两个标记点的坐标,并以摄像机坐标表示二者之间的距离d1;然后控制
机器人找到两个标记点,以机器人世界坐标表示二者之间的距离d2;最后用尺子测量两个
标记点之间的实际距离尺寸d3;设k1=d1/d2,k2=d2/d3,设摄像机摄像机坐标系的坐标为
Cc,机器人世界坐标系的坐标为Cr,工作平台的用户坐标系的坐标为Cu,有Cc=k1×Cr=k1
×k2×Cu。

上述步骤4的具体内容是:在工作平台上定义某一点为原点,记录其机器人世界坐
标Cro(Cro.x,Cro.y),再在CCD摄像机的视场区域任选一个标记点,记录标记点的摄像机坐
标Ccp(Ccp.x,Ccp.y)和机器人世界坐标Crp(Crp.x,Crp.y);在机器人世界坐标下计算原点
与标记点的距离,二者的横坐标差值Ex=Crp.x-Cro.x,纵坐标差值Ey=Crp.y-Cro.y;设摄
像机取得的待测点坐标为Cca(Cca.x,Cca.y),机器人从原点移动到待测点时,横纵坐标需
要移动的距离为dx和dy,则dx=Cro.x+Ex+[(Cca.x-Ccp.x)/k1],dy=Cro.y+Ey+[(Cca.y-
Ccp.y)/k1]。

采用上述方案后,本发明具有以下优势:

(1)克服了摄像机相机内参和畸变矩阵获取速度慢的缺点,既加快了计算速度又
不降低标定的精度。

(2)有效提高了检测大型工件的特征识别精度并且有益于安装调试和缩减整机尺
寸。

(3)不使用特殊的标定工具,简单快速的完成机器人与摄像机的坐标系对应关系
和比例转换。

附图说明

图1是本发明的实现示意图;

图2是opencv常用的棋盘格示意图;

图3是opencv摄像机内参和畸变矫正算法流程图。

具体实施方式

以下将结合附图,对本发明的技术方案进行详细说明。

如图1所示,本发明提供一种机器人视觉系统快速标定方法,其中,机器人视觉系
统包括机器人5、工作平台2、CCD摄像机4和计算机6,其中,机器人5可以使用任意型号,需能
够进行高精度定位;CCD摄像机4具有面对工作平台2的固定式成像镜头;计算机6用于控制
CCD摄像机4和机器人5的动作;计算机6通过CCD摄像机4采集图像数据,并利用标定算法对
图像数据进行处理,同时计算机6通过控制机器人5在标记点之间的移动来计算用户坐标系
与机器人世界坐标系和摄像机坐标系之间的转换关系,完成标定。

所述标定方法包括如下步骤:

步骤1,将CCD摄像机4安装在工作平台2的角落,使其视场区域位于图1中的范围3,
这样就可以使工件在通过传送带或其它夹具被放置到工作平台2上之后,CCD摄像机4能够
对其视场区域内的工件的局部特征进行识别并提取该特征的坐标,同时检测工件在工作平
台2上放置的姿态,按照工件图纸先将工件的内部特征之间的坐标关系写入程序,通过转换
关系计算需要的特征坐标与检测到的特征坐标之间的横纵坐标的差值,间接得到所需要的
特征坐标点,该坐标点数据是以摄像机坐标系的坐标来储存的。

对于大型工件来说,现有技术中将整个工件放入摄像机视场中的做法会降低精
度,所以本发明在安装时,将CCD摄像机与工件的距离拉近,只将工件的一部分放入CCD摄像
机的视场区域,通过对工件局部特征的提取和工件图纸的内部特征之间的坐标关系,间接
得到所需要的特征坐标。这样能够有效提高大型工件的特征识别精度,并且有益于安装调
试和缩减整机尺寸。

步骤2,利用opencv编写畸变矫正算法,对CCD摄像机进行快速畸变矫正。

opencv标定常用的棋盘格如图2,可以使用打印机打印后贴在一张板上使用。使用
opencv的棋盘格检测函数、亚像素角点检测和相机标定函数来获取CCD摄像机畸变矩阵。但
由于opencv的棋盘格检测函数对尺寸较大的图像检测较慢,太大的图像甚至不能够检测到
棋盘格格点,而亚像素角点检测函数却需要更加精确的图像数据来定位角点的坐标,所以
图像尺寸越大越好,这就造成了矛盾,若将图像缩小,检测速度快了,却牺牲了精度,而不将
图像缩小又会浪费很多时间。所以本发明提出了畸变矫正算法,该算法是这样实现的:

(1)人为移动或旋转棋盘格,使CCD摄像机获取30张左右包含了整个棋盘格的图
像;

(2)预设棋盘格的内焦点行数和列数,行列数不能相同;

(3)设定3D场景中的点位数据;

(4)将这些棋盘格图像的第一幅加载到程序中;

(5)对图像进行灰度处理;

(6)将图像尺寸缩小n倍,n可以由用户根据图像实际大小设定;

(7)使用棋盘格检测函数检测角点;

(8)重新加载这幅原始图像,并且将检测到的角点数据横纵坐标都放大n倍,将这
些加入到亚像素角点检测函数中;

(9)将检测到的亚像素角点坐标放入集合,加载下一张图像,直到检测完所有图
像;

(10)将存放了亚像素角点坐标的集合添加到相机标定矩阵,由opencv自带的相机
标定函数来计算摄像机内参和畸变矩阵;

(11)将摄像机内参和畸变矩阵用特殊格式保存并输出,此处的特殊格式是指
opencv专门用于保存输出和读取矩阵的.vml后缀格式。

步骤3,在标定好摄像机畸变之后,对摄像机坐标系与机器人世界坐标系和实际尺
寸的比例关系进行标定,在工作平台上用记号笔随意点两个点,检测这两个点的摄像机坐
标和机器人世界坐标,分别计算这坐标系下这两点之间的距离,最后用尺子测量这两点之
间的实际距离尺寸。这三个距离之间的比例关系可以将摄像机取得的坐标和由图纸得到的
工件的尺寸数据转换成机器人可以直接使用的坐标。

具体来说,首先在视场区域内工作平台的空白区域用记号笔随意点两个点作为标
记,利用摄像机检测到这两个点的坐标,计算这两个点之间的距离,记为“d1”,这是摄像机
坐标的尺寸是以像素为单位的;之后通过机器人示教让机器人找到这两点,得到这两点的
机器人世界坐标,计算这两个点之间的距离,记为“d2”;最后用尺子测量这两点之间的实际
距离尺寸,记为“d3”。将d1与d2之间的比例关系设为“k1”,k1=d1/d2,将d2与d3之间的比例
关系设为“k2”,k2=d2/d3,设摄像机摄像机坐标系的坐标为Cc,机器人世界坐标系的坐标
为Cr,工作平台的用户坐标系的坐标为Cu,有Cc=k1×Cr=k1×k2×Cu。

步骤4,对整个工作平台的用户坐标系原点进行标定。在工作平台上设置一个固定
的原点标记1,用于调试工作平台时手动让机器人回原点使用。由于是适用于大型工件的工
作平台,所以摄像机的视场区域并没有将原点标记包括在内,使用记号笔在视场区域内随
意点一个点,得到该点的摄像机坐标和机器人坐标,再让机器人移动到工作平台的原点标
记,得到原点的机器人坐标。通过比例关系和这三个点之间的差值,就可以将摄像机取得的
任意坐标转换为工作平台的用户坐标,可以在以后的定位算法中将摄像机视场内和视场外
的点都转换为摄像机坐标的形式来工作了,有效减少计算量。在未来维护调试工作平台的
时候就只需要调教机器人到达原点标记就行了,不需要再次进行摄像机的标定,减少调试
员的工作量,加快调试速度。

在本实施例中,使用记号笔在视场区域内随意点一个点,称为标记点P1,使用摄像
机取像后检测得到该点的坐标,并写入工作平台的视觉检测程序中,记为Ccp(Ccp.x,
Ccp.y)。通过示教让机器人移动到P1点,得到该点的机器人世界坐标,记为Crp(Crp.x,
Crp.y),再让机器人移动到工作平台的原点标记,得到原点的机器人坐标,记为Cro(Cro.x,
Cro.y),计算这两个点之间的机器人的横纵坐标的差值,记为Ex和Ey,Ex=Crp.x-Cro.x,Ey
=Crp.y-Cro.y,将Ex和Ey写入程序。设摄像机取得的任意坐标为Cca(Cca.x,Cca.y),机器
人从原点Cro移动到Cca时的X和Y轴需要移动的距离为dx和dy,dx=Cro.x+Ex+[(Cca.x-
Ccp.x)/k1],dy=Cro.y+Ey+[(Cca.y-Ccp.y)/k1]。

综合上述,本发明一种机器人视觉系统快速标定方法,通过设定CCD摄像机和镜头
固定不动,通过机器人的运动和标记点的辅助,获得CCD摄像机视场内的标记点与机器人点
位的坐标,并且获得机器人与工作区域对应的坐标,将这些像素及坐标输入计算机,通过标
定算法模型进行计算,从而完成对机器人视觉系统的快速标定。本发明利用机器人的精确
定位,开发特别的标定算法,不需要制作特殊的标定工具可以在任何机器视觉设备上实现
快速操作。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是
按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围
之内。

一种机器人视觉系统快速标定方法.pdf_第1页
第1页 / 共10页
一种机器人视觉系统快速标定方法.pdf_第2页
第2页 / 共10页
一种机器人视觉系统快速标定方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种机器人视觉系统快速标定方法.pdf》由会员分享,可在线阅读,更多相关《一种机器人视觉系统快速标定方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开一种机器人视觉系统快速标定方法,所述机器人视觉系统包括机器人、工作平台、CCD摄像机和计算机,其中,计算机用于控制CCD摄像机采集工作平台的图像数据,计算机还能够控制机器人的移动;所述方法包括如下步骤:步骤1,将CCD摄像机安装在工作平台上,使得工件放置在工作平台上时,工件的局部位于CCD摄像机的视场区域内,以摄像机坐标系的坐标采集工件的特征坐标点;步骤2,利用opencv编写畸变矫正算。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1