『7x24小时有问必答』
手眼标定解决的是相机坐标系机器人坐标系之间的刚体位姿关系
N点标定通常解决的是图像像素坐标某个工作平面上的实际坐标之间的平面映射关系:用多个已知点建立  2D  像素到  2D  实际坐标的变换。
Cognex  的校准工具就明确区分了手眼标定与N点标定:
手眼标定用于建立视觉系统与机器人坐标系的空间关系;
N Point/Calibrate/CalibrateAdvanced  则用于建立图像坐标到实际坐标的  2D  变换。
你可以把它们理解成:
手眼标定解决机器人怎么去到视觉看到的位置”  
N点标定:解决相机里这个点,换算成工件平面上到底是多少  mm”
一、手眼标定到底在标什么
手眼标定的核心,是求出机器人与相机之间的空间变换关系。
HALCON  的手眼标定说明得很直接:它利用相机看到的标定板位姿机器人上报的工具位姿,求出变换链两端缺失的位姿关系;对于固定相机(eye-to-hand)和相机装在机械臂末端(eye-in-hand)两种结构,最终求出的坐标关系并不一样。Cognex  也明确说,手眼标定的目的,是建立视觉系统与机器人坐标系之间的空间关系,从而把视觉结果转换成机器人可用的位姿。
所以手眼标定通常是  3D  位姿问题,至少概念上包含:
XYZ  平移  
RxRyRz  旋转  
也就是说,它求的是一个六自由度刚体变换
二、N点标定到底在标什么
“N点标定多数情况下,不是在求机器人和相机之间的  3D  关系,而是在求一个平面坐标变换Cognex    Calibrate/CalibrateAdvanced/N Point  文档都属于这一类:它们要求输入若干个图像中的像素点和对应的真实世界坐标点,然后计算一个  2D  变换,把像素坐标映射到实际坐标;N Point  工具支持  2    16  个输入点,CalibrateAdvanced  支持  1    32  对点,目的都是建立这种  2D  映射。
所以现场常说的九点标定、十二点标定都属于N点标定,很多时候只是:
在治具或平台上取  9  个点  / 12  个点
已知每个点的真实  XY  坐标  
相机依次识别这些点  
建立像素到工作平面  XY  的映射关系  
它本质还是  N  点平面标定,只不过这次用了  12  个点。“12”不是理论上必须的数字,而是工程上为了让拟合更稳、覆盖视野更均匀、压低畸变误差而选的点数。
Cognex  的文档也明确说明,多点高级标定比少点基础标定精度更高,格点标定通常精度最高。
三、两者最根本的区别
1. 目标不同
手眼标定的目标,是建立机器人坐标系 相机坐标系的空间关系。
N点标定的目标,是建立像素坐标 工作平面坐标的映射关系。
2. 维度不同
手眼标定本质上是 3D 位姿变换。
N点标定通常是 2D 平面映射。
3. 依赖数据不同
手眼标定需要:
多个机器人位姿  
每个位姿下相机观测到的标定板位姿
而且这些姿态要分布合理。Cognex 明确提到手眼标定需要采集多个机器人姿态,并且这些姿态在视野内要有足够分布。
N点标定需要:
多个已知真实坐标点  
每个点对应的图像像素位置,它不一定要求机器人参与。  
4. 结果用途不同
手眼标定结果直接用于:
视觉引导抓取  
机器人去到视觉算出的目标位姿
N点标定结果通常用于:  
测量  
平面定位  
把图像检测结果换算成平台上的 XY 坐标。
<b>四、为什么现场会把它们混在一起
因为在很多  2D  抓取项目里,流程看起来很像:
相机拍到目标  
算出目标图像坐标  
转成平台/机器人可用坐标  
机器人去抓  
如果项目很简单,而且抓取发生在固定高度的平面上,很多人会直接用一个多点平面标定,把像素  XY  直接映射到机器人工作平面  XY
这样在应用层看起来,也能实现视觉引导抓取。但这并不等于它做了严格意义上的手眼标定;它更像是一个平面近似解。一旦目标高度变化、相机角度变化、机械臂姿态变化明显,这种平面点标定就会暴露误差,而真正的手眼标定才是更完整的方法。
这个区别和  HALCONCognex  对手眼标定与  2D  标定的分开定义是一致的。
五、什么时候只做N点标定就够了
下面这些场景,通常N点平面标定就够:
相机固定不动  
工件始终在同一个平面  
抓取高度基本固定  
只关心  XY,不关心  Z  和空间姿态
做的是  2D  平面搬运、平面点胶、平面贴装、固定高度取放  
这类场景,本质上就是在一个已知平面内做像素到实际坐标的换算。Cognex  2D  标定工具就是为这种把图像结果输出为实际单位坐标而设计的。
六、什么时候必须做手眼标定
下面这些场景,通常要上真正的手眼标定
相机装在机械臂末端(eye-in-hand)  
需要机器人根据视觉结果在空间中运动  
目标高度不固定  
需要  Z、角度、姿态  
不是单纯的固定平面抓取  
要做更高精度的视觉引导机器人  
因为这时你需要的是机器人和视觉之间完整的空间变换,而不是单一平面的映射。Cognex    HALCON  都把这类场景明确归到  hand-eye calibration
七、两者在设备里经常是同时存在
这点很关键:很多项目不是二选一,而是两者一起用
典型做法是:
先做相机自身标定  /  畸变校正  
再做手眼标定,建立机器人和相机的关系  
还可能再做局部工作平面标定,进一步补偿某个工位平面的误差  
也就是说,手眼标定负责大坐标关系N点标定负责局部工作面修正平面换算。这和  Cognex  把手眼标定、CalibrateCalibrateGridCalibrateAdvanced  分成不同功能模块的做法是一致的。
八、自动化设备里可以这样理解
做设备时,最实用的区分方法是:
N点标定相当于回答:“
相机里这个点,在载具平面上是几毫米、什么  XY  位置?
手眼标定相当于回答:
相机看到这个目标后,机器人末端该去哪个空间位姿才能抓到它?
前者偏测量/平面映射,后者偏机器人引导/坐标链闭合
九、总结
只在固定平面上取  XY:先想N点标定。<b>只要机器人和相机之间要建立空间关系:就要想手眼标定。
更直白一点:
平面换算:N点标定  
空间引导:手眼标定

---

往期热门文章:
</b></b>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码