本文主要是介绍Halcon 相机标定、手眼标定及机器人位姿矩阵的求解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.相机内外参标定
标定目的:为了获得相机的内参(焦距、畸变系数等)和外参(从世界坐标系转换到摄像机坐标系的旋转矩阵和平移矩阵)
标定步骤:
(1)相机固定,在放置物体的平面上放置halcon标定板;
(2)拍摄标定板图像,拍摄要求如下图所示:
(3)拍摄完毕后,打开halcon相机标定助手:
(4)将第二步拍摄到的标定板图像输入,进行标定。
(5)点击标定,内外参即可标定完毕。
2.眼在手外的手眼标定
眼在手外,是指摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,如下图所示:
手眼标定的目的:为了获得相机camera相对于机器人基坐标base的位姿矩阵
手眼标定的原理:https://blog.csdn.net/xiaoluoshan/article/details/99827717;
手眼标定的步骤:
(1)相机固定,机器人基坐标固定,标定板固定安装在机器人的末端工具上;
(2)控制机器人移动标定板的位置,使标定板图像在相机的视野中,然后拍摄标定板并记录当前机器人末端的位置,拍摄要求同上面的内外参标定一样;
(3)参照halcon中眼在手外的手眼标定例程,进行手眼标定,获取相机cam相对于机器人基坐标base的位姿矩阵(Hcaminbase),详细步骤及原理参照:
http://www.skcircle.com/?id=1181;
3.计算机器人末端抓手抓取物体时的位姿矩阵
通过手眼标定,可以得到相机camera相对于机器人基坐标base的位姿矩阵(Hcaminbase);通过图像处理和相机标定,可以得到物体object相对于相机camera的位姿矩阵(Hobjincam);因此,可以得到物体object相对于机器人基坐标base的位姿矩阵(Hobjinbase):
记:末端抓手tool相对于机器人末端end的位姿矩阵为Htoolinend(未知,待求量),末端抓手tool相对于物体object的位姿矩阵为Htoolinobj(已知,通过控制机器人将抓手放置于物体上即可),此时机器人末端end相对于机器人基坐标base的位姿矩阵为Hendinbase(已知,从上位机界面读取),因此可以得到:
当相机拍摄物体后,抓手抓取物体时机器人末端的位姿矩阵Hendinbase:
将计算出来的机器人末端的位姿矩阵Hendinbase发送给机器人,即可到达抓手抓取物体时的位置和姿态,进而对物体实现抓取等动作。
这篇关于Halcon 相机标定、手眼标定及机器人位姿矩阵的求解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!