Hand-Eye GUI(手眼标定图形用户界面)
介绍
本指南将使用 Python 示例和 RoboDK 引导您了解 Zivid Hand-Eye GUI,从设置到标定和验证。

先决条件和设置
Zivid Python 已安装
[可选] RoboDK 已安装并配置机器人位姿/目标/安全点。请参阅 在 RoboDK 中创建手眼标定的位姿
硬件设置:
Zivid 相机连接到 PC
[可选] RoboDK 机器人库中具有数字孪生的机器人
[可选] 机器人连接到PC
初始化
选择相机:选择已连接的相机。如果需要升级固件,下一步会提示您。

2. Select a camera setting: Choose the settings that will be used for the Hand-Eye calibration. We recommend using the same settings as your final application.

如果您希望加载预定义的 YAML 设置文件,请点击 "Do Not Use" ,文件浏览器将打开,您可以手动选择一个 YAML 文件。如果您拒绝加载文件,系统将提示您选择 Vision Engine(视觉引擎) 和 Sampling(采样) - 3D 。

您还可以在正常使用期间从 GUI 加载设置文件。
3. Select the setup type: Choose the Hand-Eye calibration type based on your system configurations and the 标定对象 you will use.

选择旋转表示格式:选择与您的机器人匹配的旋转格式和单位。您可以从列表中选择机器人,也可以手动配置设置。下表列出了一些常用的机器人,但所有格式均受支持。
有关位姿表征以及如何在它们之间进行转换的更多详细信息,请参阅 位姿转换

备注
即使未配置 RoboDK 或未连接机器人,也可以使用 GUI。但是,在这种情况下,只有与相机相关的功能可用。需要连接机器人的功能将被禁用,直到正确配置和连接机器人为止。
小技巧
初始化过程结束后,每当您在 GUI 中选择一项功能(例如,WARMUP)时,右上角都会出现一个分步检查清单。此清单概述了完成任务的具体操作顺序,必须按顺序执行。
热机
确保在标定之前预热相机以获得最佳精度。

请参阅 相机预热指南 了解更多信息。
现场标定
为了获得最佳效果,请在手眼标定之前进行现场标定。

请参阅 现场标定 以了解更多信息。
标定
按照教程部分(右上角)中的说明,使用 GUI 运行手眼标定程序。

请参阅 手眼标定的流程 以了解更多信息。
验证
进行手眼标定后,必须验证相机和机器人坐标系之间转换关系的准确性。GUI 有几种互补的方法来确保手眼标定的精确性和可靠性:
触碰测试验证
该方法涉及指定末端执行器工具的物理尺寸,包括工具尖端偏移量。Zivid 相机捕获场景,并检测 ArUco 标记点(已知类型和字典)。在相机坐标系中估计其 3D 位姿,并使用手眼标定将其转换到机器人基坐标系。然后,机器人用末端执行器物理接触标记点的中心。
有关工具规格和详细测试说明,请参阅: 触碰测试程序 。

在下图中,您可以看到触碰验证测试的预期结果。
投影验证
相机将绿色圆圈投射到 Zivid 标定板已知的棋盘格角上。
测试的初始化过程是指示系统标定物体在机器人坐标系中的位置。这是通过初始捕获,使用已知的机器人位姿和手眼变换矩阵来完成的。
对于每个连续的机器人位姿,计算标定板在相机坐标系中的位置。计算方法如下:
机器人位姿
机器人坐标系中标定物体的已知位置
手眼变换矩阵
将计算出的标定物体的位置投影到投影仪图像平面中,然后使用投影仪将其投影回物理场景。
有关投影过程的更多详细信息,请参阅 2D图像投影 (LED) 。

在下图中,您可以看到投影验证的预期结果。
拼接验证
对于机器人的每个位姿,都会使用 Zivid 相机捕获 3D 点云,并使用手眼变换矩阵将其转换到机器人基坐标系中。重复此操作,将变换后的点云合并到一个共同的坐标系中,即可构建拼接场景。精确的标定可以生成清晰的重建图像,棋盘格可以精确对齐;而标定不当则会导致棋盘格之间出现偏移或错位等伪影。

有用的链接
` Zivid Hand-Eye GUI 博客 <https://blog.zivid.com/zivid-hand-eye-gui>`_