目录
3. 计算相机坐标系到机械臂基座坐标系的齐次变换矩阵(旋转矩阵和平移向量)
本教程主要介绍RM机械臂与Realsense D435相机用Python实现眼在手外标定的使用教程,本文中Python实现的代码已上传百度网盘,仅供参考。
链接:https://pan.baidu.com/s/1ITyItVkbbcJDOsxeEIaWaw?pwd=pno9 提取码:pno9
资料中包含眼在手外及眼在手上两种视觉传感器的安装方式,可自行下载使用;
1. 开始前准备
1.1 软件
- python 3.8及以上
- numpy 1.24.2
- scipy 1.10.1
- pyrealsense2 2.53.1.4623
1.2 硬件准备
- 一个标定板 棋格盘
- 机械臂
- D435相机
1.3 相机/机械臂连接
将标定板通过支架与机械臂末端组合起来,如下图所示:
2. 采集数据
步骤一:运行采集脚本
进入data_collection_d435_win文件夹,修改main.py文件里cam0_path变量为想要保存标定板图片的文件夹路径。
- 运行python文件,打开D435相机
python main.py
步骤二:挪动机械臂末端
保持相机和机械臂基座不动,挪动机械臂末端,使标定板出现在屏幕上,选择清晰 完整的图片 点击 键盘 "s" 获取当前界面里的标定板图片和当前机械臂末端的位姿。
采集十几组图片以及数据,图片保存到之前设置的标定板图片保存路径,位姿保存在相同路径下的poses.txt文件中。
3. 计算相机坐标系到机械臂基座坐标系的齐次变换矩阵(旋转矩阵和平移向量)
- 进入到文件夹out_of_hand_homogeneous_matrix中
- 将python文件 main.py的数据源设置为上面采集数据时设置的路径
- 将python文件 main.py的 角点个数和棋盘格间距设置为实际使用的标定板
如当前标定板的格式为12*9,每个间隔距离为0.03米
则修改main.py 的XX、YY和L变量为 11 8 0.03
- 运行python文件计算相机坐标系到机械臂末端坐标系的齐次变换矩阵
python main.py
输出旋转矩阵和平移向量
至此,Python实现机械臂的眼在手外标定结束,最终得到旋转矩阵和平移向量;