本文主要是介绍眼在手上的手眼标定(matlab+python)实测精度±1mm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
眼在手上的手眼标定(matlab+python)实测精度±1mm
- 原理网上有很多教程,提供一个参考,就不详细阐述了,这里主要记录一下手眼标定的过程和代码。
- 源码:https://gitee.com/Tavox/hand-eye-calibrate
一、准备工作
- 材料准备:标定板、相机、机械臂;
- 做相机标定,同时记录拍照位机械臂位姿(images/pos.txt),照片放在images下;(笔者提供了标定的图片及数据)
二、相机标定:
- 使用matlab自带的相机标定工具箱进行标定,标定结果会输出到matlab工作区,需要将其保存至本地;
data = toStruct(cameraParams);
% 保存变量到.mat文件
save('cameraParams.mat', 'data');
三、手眼矩阵计算:
1. 运行hand_eye_calibrate.py;
- 读取cameraParams.mat中的标定结果,并写入配置文件camera.ini;
- 计算相机和机械臂末端变换矩阵至cam2end.txt;
2. 注意
- 需要注意机械臂位姿输出的格式,我这里用的输出格式为:
[x, y, z, rx, ry, rz]
四、如何使用手眼矩阵
- 提供了一个基于AprilTag的定位方案,见get_target_pose.py;
这篇关于眼在手上的手眼标定(matlab+python)实测精度±1mm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!