一、前言
机器人的视觉系统分为固定场景视觉系统和运动的「手-眼」视觉系统。相机与机器人手臂末端,构成手眼视觉系统。根据相机在机器人安装位置的不同,手眼视觉系统分为Eye-in-Hand系统(眼在手上)和Eye-to-Hand系统(眼在手外)。Eye-in-Hand系统的相机安装在机器人手臂末端(end-effector),在机器人工作过程中随机器人一起运动。Eye-to-Hand系统的相机安装在机器人本体外的固定位置,在机器人工作过程中不随机器人一起运动。
Eye-in-Hand系统的在工业机器人中应用比较广泛,随着机械手逐渐接近目标,相机与目标的距离越来越小,被测物体位置参数的绝对误差会随之降低。在Eye-in-Hand系统中,采用基于图像的视觉控制、基于位置的视觉控制以及结合两者的混合视觉控制,可以快速有效地标定被测物体的坐标。
手眼标定方法通常分为3类:标准手眼标定、基于旋转运动的手眼标定以及在线手眼标定。以上方法是将相机标定与手眼标定分开进行,也有的论文采用的是联合标定法。
本文重点讲解我司封装好后手眼标定的使用方法。
涉及软硬件如下:
|--------|------|----------|
| 机械臂 | 相机 | 软件 |
| RM65系列 | D435 | 手眼标定.exe |
该标定程序是为了方便部分开发者完成手眼标定,并不能满足所有相机和机械臂需求。
本文章涉及的示例来自于睿尔曼机器人,如需获取最新资料可联系睿尔曼技术支持团队
二、 环境要求
本教程主要介绍RM机械臂与Realsense D435相机手眼标定的配置及方法,由于不同处理器架构在系统环境及相关功能包的安装配置上存在差异,所以在此不做相关介绍,如果使用我司提供的设备,出厂默认会将系统环境及相关功能包安装配置好或者提供配套的相关系统环境搭建的教程,在此默认系统环境满足以下要求:
系统:Windows10
软件:手眼标定.exe
硬件:棋牌格标定板,D435相机,RM65系列机械臂
三、开始前准备
1 . 相机安装固定
将相机通过转接件固定到机械臂末端,如图所示(这里未安装末端工具,用户如需要可以一并装上):
2. 接线
- 机械臂接上电源
- 机械臂面板网口通过网线连接到主机或交换机上(注意:机械臂默认固定IP为192.168.1.18,所以要确保主机与机械臂在同一网段内能够连通)
- 相机通过Type-C数据线将相机与主机USB3.0接口相连
3. 测试
主机与机械臂上电启动后,在主机打开cmd,执行以下命令测试主机与机械臂是否连通:
ping 192.168.1.18
在主机打开可视化测试界面(IntelRealSenseViewer),若未检测到相机尝试重新连接USB):
相机连接成功后,将左侧【Stereo Module】和【RGB Camera】选择"on"状态,右侧会 显示深度图像和RGB图像画面。鼠标移动到深度图像位置左下方画面会显示实时测量的深度距离,如图说明相机连接正常:
4 .标定板
这里使用的是玻璃材质的规格为12x9,每格长宽为3cm的棋盘格,如下图:
四、手眼标定程序EXE操作步骤
1,打开" RM机械臂手眼标定源码+exe文件"文件夹,可看到以下内容:
红色标记为封装后的exe程序,蓝色标记为程序源码。这里我们介绍怎样运行封装好后的exe程序。
2,将标定板放在地面或者桌子上,使其处于相机的视野范围内。
3,开始图像采集,进入到data_collection_d435_win_exe\dist\main路径下
选中main.exe右键以管理员身份运行。
保持标定板和机械臂基座位置不动,挪动机械臂末端,使标定板出现在屏幕上,选择清晰完整的图片,在打开的窗口中(如下图红色标记处),按下键盘 "s"和回车键将会获取当前界面里的标定板图片和当前机械臂末端的位姿。
建议采集15到20组图片以及数据,图片保存在data_collection_d435_win_exe\dist\
main\images路径下,位姿保存在相同路径下的poses.txt文件中。
4, 计算相机坐标系到机械臂末端坐标系的齐次变换矩阵(旋转矩阵和平移向量),将data_collection_d435_win_exe\dist\main\images路径下的图像和poses.txt文件
拷贝到eye_in_hand_homogeneous_matrix_exe\dist\main\images下。
5,修改eye_in_hand_homogeneous_matrix_exe\dist\main\angular_point_interval 文件,文件内容要根据实际情况填写。(备注:12行 ,9列,每格宽度为3cm)
6,进行结果解算
以管理员身份eye_in_hand_homogeneous_matrix_exe\dist\main\main.exe进行解算
最终解算结果将会在窗口中显示,此过程需要一到两分钟。若成功解算,将会在窗口显示解算内容。
若出现程序闪退或者无法打开需查看:
(1)系统环境是否正确;
(2)采图像是否清晰无遮挡,与周围环境对比明显;
(3)angular_point_interval 文件中标定板信息是否填写正确。