halcon手眼标定总结

http://www.ihalcon.com/read-7445.html


在进行手眼标定时走了一些弯路,特在此总结,希望其他人少走一些弯路。
实验了

 1.  2D面阵相机,3DTOF相机 

 2.  固定相机以及移动相机的手眼标定。

在进行手眼标定时(不管是移动相机还是固定相机,不管是2D还是3D sensor)需要的数据准备:
1.ToolInBasePose即从机器人上读取的机械臂法兰盘当前的位姿,这其中类型很重要(XYZ?ZYX?ZYZ?。。。), 

类型设置错了,标定就会不正确。我就因为这个原因花了很多时间。开始没注意也不明白什么意思。哎,没想到用的ZYZ类型的呀。


2020/5/22勇哥注:

这个XYZ, ZXY类型被称为欧拉角

它表示是一种描述物体空间姿态的角度给定法,它是位姿坐标系绕动坐标系进行三次转动所得。

详细请参考另一篇文章:《四自由度仿手臂机器人报告(论文)》的第三章





2.ObjInCamPose即物体在相机中的位姿,从图像中得到。
需要设置的数据:StartCamParam(根据使用的相机进行设置初始参数)
(1)2D + 移动相机手眼标定(参考例程:handeye_movingcam_calibration.hdev)  
相机固定在机械臂法兰盘处,halcon标定板(自己打印的)放置在一固定平面上,移动机械臂至不同位置处(15处),记录每处ToolInBasePose以及图像。参考例程标定即可。
(2)2D + 固定相机手眼标定(参考例程:handeye_stationarycam_calibration.hdev)
2D相机固定在某一固定位置处,halcon标定板固定在机械臂法兰盘处,移动机械臂至不同位置处(15处),记录每处ToolInBasePose以及图像。参考例程标定即可。
(3)3D+移动相机手眼标定(参考例程:handeye_movingcam_calibration.hdev+calibrate_hand_eye_stationary_3d_sensor.hdev)
相机固定在机械臂法兰盘处,标定物体固定在某一位置,移动机械臂至不同位置处(15处),记录每处ToolInBasePose以及深度图像。
1)自己制作了一个简易的3D标定物体 (将两个长方形物体粘合在一起)
2)使用3D画图软件制作了标定物体的一个模型,read_object_model_3d读取模型;
3)find_surface_model找到模板
4)refine_surface_model_pose 最后得到ObjInCamPose。
根据ToolInBasePose,以及ObjInCamPose手眼标定即可。

感谢在此过程中帮助过我的每一位朋友。


image.png



本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864