少有人走的路

勇哥的工业自动化技术网站

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



发表评论:

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

«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864