halcon标定_halcon两个不关联的轴九点标定-程序员宅基地

技术标签: 机器视觉  旋转中心  标定  

基于HALCON的机器人视觉标定
陈阳光 , 王磊     
厦门大学 机电工程系, 福建 厦门 361005
摘要: 基于HALCON平面标定板,充分考虑机器人末端中心和摄像机镜头径向畸变的影响,设计了一种新的Eye-to-Hand机器人视觉标定方法。该方法不仅标定了摄像机的内外参数,同时也建立了摄像机图像坐标系和机器人世界坐标系的关系。实验证明,该方法具有较高的标定精度和实用性,适用于工业机器人的视觉系统标定。
关键词: HALCON     机器视觉     Eye-to-Hand     工业机器人    
Robot visual calibration based on HALCON
CHEN Yangguang, WANG Lei     
Department of Mechanical and Electrical Engineering, Xiamen University, Xiamen 361005, China
Abstract: Based on plate calibration board of HALCON, a new Eye-to-Hand calibration method is schemed out.The method sufficiently involves the influence on robot terminal center and the radial distortion of camera lens.It calibrates the camera parameters and establishes the relationship between image coordinate and robotic coordinate.According to results of experiments, the method has more precision and it is applicable to industrial robot vision calibration.
Key words: HALCON     machine vision     Eye-to-Hand     industrial robot    
引言

机器人视觉控制[1-2]是机器人领域的重要研究方向, 也是当前的研究热点之一。其系统按照摄像机与机器人的相对位置分为Eye-to-Hand系统和Eye-in-Hand系统。Eye-to-Hand系统将摄像机固定安装于机器人本体之外。随着工业化水平与科技的不断发展, 劳动力成本增加, 对定位装配的精度和自动化要求也越来越高。基于机器视觉技术的工业机器人定位[3-4]具有定位精度高、自动化和智能化水平高、劳动力成本低等优点, 因此在定位装配领域有着广泛的应用。

本文建立了机器人Eye-to-Hand系统, 主要论述了一种基于HALCON的摄像机内外部参数和手眼关系标定方法与其实验过程。该标定方法具有操作简单, 定位精度高等特点, 适用于产品抓取定位。

1 机器人视觉标定模型

机器人视觉系统的标定其实是获取摄像机图像坐标系(ICS)与机器人坐标系(RCS)之间转换关系的过程, 在标定机器人视觉系统(Eye-to-Hand)之前, 首先要对摄像机进行标定。通常摄像机镜头会存在径向、切向和偏心等畸变, 因此需要选择合适的畸变模型对摄像机进行标定。工业镜头的畸变主要为径向畸变, 为线性畸变模型; 非线性模型畸变包括径向、切向和偏心等畸变。对于工业镜头, 使用非线性畸变模型往往不能提高其标定精度, 而且还会造成求解的不稳定[5-6]; 采用线性畸变模型, 可以使标定精度提高一个数量级, 与非线性畸变模型相比标定精度差别不大。因此本文在论述中采用线性畸变模型来标定机器人视觉系统, 其标定模型如图 1所示。

图 1
Figure 1
图 1 机器人视觉标定模型Figure 1 Model of robot vision calibration

图 1中, (Oc,Xc, Yc, Zc)为摄像机坐标系(CCS),Oc即为摄像机的投影中心, z轴与摄像机的主光轴重合; (Ow,Xw, Yw, Zw)为机器人坐标系(世界坐标系WCS); (Oi,Xi, Yi)为成像平面坐标系(IPCS); (Ou,Xu, Yu)为图像坐标系(ICS)。空间一点PCCS下的坐标为P(xc,yc, zc); 在WCS下的坐标为P(xw,yw, zw)。若不考虑畸变, 则点P以透视投影在成像平面投影, 投影点为Pn(xn,yn); 若考虑径向畸变, 镜头的畸变将导致P发生偏移, 投影点为(xi,yi)。

建立WCSICS的转换关系需要以下3个步骤:

(1) 点P(xw, yw,zw)变换到点P(xc, yc,zc), 其关系如式(1)所示, Rt共同构成摄像机的外参数, 决定了CCSWCS之间的相对位置。

(1)

式中:R为旋转矩阵; t为一个平移向量。

(2) 点P(xc, yc,zc)变换到点(xi, yi), 其关系式为

(2)

式中:f为摄像机的主距; 考虑畸变, 设为畸变后的成像平面内的坐标, 则径向畸变关系式为

(3)

(3) 点变换到ICS内的点, 其关系式为

(4)

式中:sxsy为缩放比例因子; 点(cx,cy)为图像的主点, 对于针孔摄像机模型而言, 这个点是投影中心Oc在成像平面上的投影。

综上所述, 摄像机标定实际上是确定内参cxcysxsyfk和外参Rt的过程, 标定摄像机是标定机器人视觉系统的必要条件。

2 基于HALCON的手眼标定 2.1 标定板

手眼标定之前, 必须通过固定在机器人末端的工具来建立机器人坐标系和图像坐标系之间的关系。与传统的使用固定针尖人工寻找图像点的方式相比, HALCON软件自带标定板具有标定点容易提取、标定精度高、方向唯一等特点, 因此本文标定摄像机内外参数和机器人视觉的标定均采用HALCON标定板来完成。标定板如图 2所示。通常, 标定板的尺寸为摄像机摄影的1/2~1/3;背光源选择玻璃标定板, 正面光源选择陶瓷标定板, 视野范围大的, 标定精度不高的可以选择打印的标定板。

图 2
Figure 2
图 2 标定板Figure 2 Calibration plate
2.2 机器人末端旋转中心

典型的四轴工业机器人如图 3所示, 机器人坐标点通常是末端z轴的旋转中心, 如何找到其对应的图像坐标点, 建立机器人坐标系和图像坐标系的关系, 是标定成功与否的关键。一般可以通过在末端固定特制的针尖来寻找机器人坐标的对应图像点。该方法虽然简单易行, 但是受针尖加工误差、安装误差和针尖对焦困难等影响, 不能获得良好的标定效果。将标定板固定于机器人末端, 取标定板中心点为Mark点, 在摄像机视野内, 旋转机器人z轴, 获取多张图像, 计算末端中心在图像坐标上的对应点。

图 3
Figure 3
图 3 四轴工业机器人Figure 3 4-orientation industrial robot

设(uc, vc)为末端中心点, 则点标定板中心圆点坐标与末端中心的距离为

(5)

利用最小二乘法解式(5), 因为式(5)中有3个未知变量, 所以至少需要3个点(即需要3个旋转位置)来计算末端中心。

2.3 机器人视觉标定

在标定完摄像机内外参数之后, 可以指定任意一个坐标系作为摄像机的世界坐标系。考虑到Eye-to-Hand系统中摄像机和机器人的相对位置固定, 所以采用机器人的本体坐标系作为摄像机的外参数(世界坐标系), 通过上述标定过程, 即可完成Eye-to-Hand系统的标定。应该注意的是, 在2.2中获得末端中心位置的图像坐标后, 每次在摄像机视野内移动机器臂, 需要保持机器人R轴和z轴的值不变, 获取的图像点增加一个偏移量, 换算成机器人末端中心的图像坐标, 即

(6)

其中, (u0, v0)为计算旋转中心时的一个Mark点, (Δu, Δv)为偏移量。

3 实验结果与分析

本实验是在日本ESPON公司的LS3-401S型号机器人上完成的。摄像机采用BASLER型号ACA1300-30GM的工业相机, 固定于第2机械臂下方, 并于镜头正上方固定一环形光源。视野大小为200 mm×150 mm, 选取标定板尺寸为100 mm×100 mm的自制打印标定板, 其中两张拍摄图如图 4~5所示。

图 4
Figure 4
图 4 标定板Figure 4 Calibration plate

图 5
Figure 5
图 5 标定板坐标Figure 5 Coordinate in calibration plate

整个机器人系统标定包括摄像机内参标定、计算末端中心和手眼标定, 三个模块均需要通过标定板来寻找图像Mark点。其算法流程如图 6~8所示。

图 6
Figure 6
图 6 寻找Mark点Figure 6 Find Marks

图 7
Figure 7
图 7 摄像机标定与末端中心计算Figure 7 Camera calibration and terminal center calculation

图 8
Figure 8
图 8 手眼标定Figure 8 Hand-to-Eye calibration

本文根据上述算法流程进行实验, 采集15张图像来标定摄像机内参数; 采集8张图像来计算机器人末端中心; 采集12张图像来手眼标定。标定得摄像机内参数:f=10.4 mm,k=-3 124.1, sx=3.75×10-6 mm, sy=3.75×10-6 mm,cx=693.2, cy=404.2, 标定误差error=0.15。末端轴心偏移量:Δu=2.16 pixel, Δv=-2.34 pixel。机器人坐标系如表 1所示。

表 1 ( Table 1)
表 1 手眼标定结果 Table 1 The result of Eye-to-Hand
标定变量 X/m Y/m Z/m X轴旋转角/(°) Y轴旋转角/(°) Z轴旋转角/(°)
标定结果 -0.72 0.61 1.43 359.926 0.014 0.430
表 1 手眼标定结果Table 1 The result of Eye-to-Hand

为验证标定的准确性, 在标定机器人视觉系统后, 采用校验点真实的世界坐标即机器人坐标和利用标定后参数所求得的坐标之差的平均值作为标定精度的度量参数, 如式(7)所示。

(7)

分别计算横坐标Xn=0.148 mm, 纵坐标Yn=0.084 mm。又因为ESPON机器人的XY轴坐标精度为0.01 mm, 本文采用的摄像机像素精度为0.154 mm, 所以可得标定精度在一个像素范围内, 精度较高。

另外计算得横坐标最大差值为0.361 mm, 横坐标最大差值为0.143 mm, 横坐标差值的标准差为0.128 mm, 纵坐标标准差为0.049 mm。文献[7]指出, 标准差可以表征测量系统的不确定度, 因此横纵坐标的不确定度都在一个像素范围内, 精度较好。

4 结论

采用本文所述方法进行Eye-to-Hand手眼标定, 充分发挥了HALCON视觉软件强大的计算分析能力, 其标定结果具有精度高、操作简单、开发周期短、跨平台性好等特点[8], 适用于工业上需要抓取定位及装配的机器人视觉系统。

参考文献
[1] STEGER C, ULRICH M, WIEDEMANN C.机器视觉算法与应用(双语版)[M].杨少荣, 吴迪靖, 段德山, 译.北京:清华大学出版社, 2009.
[2] 蔡自兴. 机器人学[M]. 北京: 清华大学出版社, 2000 .
[3] 马光, 申桂英. 工业机器人的现状及发展趋势[J]. 组合机床与自动化加工技术 , 2002 (3) :48–51.
[4] 王敏, 王万俊, 黄心汉. 空间物体定位的机器人手眼视觉标定方法[J]. 华中科技大学学报 , 2001, 29 (3) :45–47.
[5] TSAI R Y.An efficient and accurate camera calibration technique for 3D machine vision[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition[C].New York:IEEE, 1986:364-374..
[6] HEIKKILA T, SALLINEN M, MATSUSHITA T, et al.Flexible hand-eye calibration for multi-camera systems[C]//Proceeding of 2000 IEEE/RSJ International Conference on Intelligent Robots and Systems.Takamatsu:IEEE, 2000, 3:2292-2297.
[7] 王磊, 郭淑霞, 张凤玲, 等. 微型铣刀外径视觉测量的不确定度[J]. 光学精密工程 , 2012, 20 (4) :880–887.
[8] 卢泉奇, 苗同升, 汪地, 等. 基于HALCON的机械手视觉抓取应用研究[J]. 光学仪器 , 2014, 36 (6) :492–498. 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zzzkiti/article/details/78235684

智能推荐

【LocalDate的compareTo方法学习】_localdate compareto-程序员宅基地

文章浏览阅读1.9k次。LocalDate的compareTo方法学习_localdate compareto

Error: Cannot find module ‘D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js_error: cannot find module 'd:\program files\nodejs-程序员宅基地

文章浏览阅读8.5k次。nodejs重新修复一下就可以了_error: cannot find module 'd:\program files\nodejs\node_modules\npm\bin\npm-

使用IPSET屏蔽美国IP_ipset封禁国外ip-程序员宅基地

文章浏览阅读387次,点赞6次,收藏8次。最近被美国IP盯上了,瞄的不间断攻击ADD-TO-CART页面。记录下用IPSET屏蔽过程。执行如下脚本,将IP地址段中的记录转换为Ipset指令,保存在。_ipset封禁国外ip

nodejs的字符串操作模块_nodejs 字符串操作模块-程序员宅基地

文章浏览阅读3.2w次。nodejs字符串操作简介需要引入querystring对象,querystring对象的方法有stringifyquerystring.stringify(“对象”,“分隔符”,“分配符”),将一个json对象,转为字符串,通过指定的分隔符,以及分配符 具体代码:var querystring = require('querystring');var result = querystring.s_nodejs 字符串操作模块

李宏毅机器学习笔记第1周-机器学习基本概念_anomaly compression-程序员宅基地

文章浏览阅读855次。机器学习基本概念_anomaly compression

MD5碰撞-程序员宅基地

文章浏览阅读9.4k次,点赞29次,收藏109次。在CTF中可以说是经常碰到md5加密了,一般都是进行强比较抑或是弱比较,考法非常多,但是万变不离其中。只要我们掌握了原理,一切问题便迎刃而解了。文章首发于我的博客,格式可能比较清晰,有兴趣了解CTF中MD5碰撞的伙伴可以移步查看。_md5碰撞

随便推点

占位式插件化一Activity的跳转_activity跳转 插件-程序员宅基地

文章浏览阅读329次。原理宿主APP安装在手机中的APP,并且通过该APP加载插件中的Activity插件APP没有安装的apk,通过宿主直接打开其内部Activity标准(协议)宿主APP和插件APP通信的桥梁。宿主APP通过一个空壳Activity(代理Activity)加载插件app中的Activity,实际上插件app中的Activity并没有入栈,也没法入栈,因为插件app没有安装,没有上下文和..._activity跳转 插件

PTA 剥洋葱(C语言 + 详细注释 + 代码超简单)_c语言pta怎么使用-程序员宅基地

文章浏览阅读1.0k次,点赞9次,收藏13次。输入格式:一行,一个整数,即图形的层数输出格式:如上述图形输入样例:3输出样例:AAAAAABBBAABCBAABBBAAAAAA//打印图形题关键是找规律,一般只需两重循环(行循环、列循环)#include<stdio.h>#include<string.h>int main() { int i, n; char ..._c语言pta怎么使用

docker配置国内镜像源_docker国内镜像源-程序员宅基地

文章浏览阅读3.3w次,点赞9次,收藏25次。刚开始学习docker,发现下载镜像非常的慢。如果不经过,docker的镜像下载都来源于国外,因此需要配置国内的镜像源。Docker中国区官方镜像。_docker国内镜像源

Unity中怎么播放视频_unity 播放视频-程序员宅基地

文章浏览阅读1.9w次,点赞40次,收藏209次。一.首先在场景中新建UI中的Raw Image可以按住Alt再点击下图红色箭头所示将Raw Image铺满游戏全屏(也可以自己调整大小)二.给Raw Image添加Video Player组件三.在Assets或者自己想要的文件夹中创建Render Texture四.将准备好的视频(这里用到的视频格式是mp4)拖入项目中并做如下修改这里我把新建的Render Texture命名为2,拖入的视频也命名为2(随便命的,不要在意)这里我们看到这个Render Te..._unity 播放视频

使用BOOTICE 恢复系统启动项_bootice保存后没用-程序员宅基地

文章浏览阅读9.7k次,点赞2次,收藏9次。使用BOOTICE 恢复系统启动项我在安装deepin 系统的时候,经常遇到重启进不去系统,每次重启都会进入windows 系统,这让我感到特别头疼,试了好多次都不成功,有些情况是,成功后再次重启又回到了windows系统。后来终于在PE中利用一款叫做BOOT ICE的工具成功解决。BOOTICE— 引导扇区维护工具简介BOOTICE 是一个启动相关的维护的小工具,主要用于安装、修复、备份和恢复磁盘_bootice保存后没用

文本分类与SVM_svm分类-程序员宅基地

文章浏览阅读9.5w次,点赞54次,收藏202次。之前做过一些文本挖掘的项目,比如网页分类、微博情感分析、用户评论挖掘,也曾经将libsvm进行包装,写了一个文本分类的开软软件Tmsvm。所以这里将之前做过一些关于文本分类的东西整理总结一下。1 基础知识1. 1 样本整理文本分类属于有监督的学习,所以需要整理样本。根据业务需求,确定样本标签与数目,其中样本标签多为整数。在svm中其中如果为二分类,样本标签一般会设定为-1和_svm分类

推荐文章

热门文章

相关标签