Hand-Eye GUI(手眼标定图形用户界面)

介绍

本指南将使用 Python 示例和 RoboDK 引导您了解 Zivid Hand-Eye GUI,从设置到标定和验证。

手眼系统配置

Video Tutorial

This is a short video; for a more detailed walkthrough, check the Eye-to-hand version.

先决条件和设置

硬件设置:

  • Zivid 相机连接到 PC

  • Zivid 标定对象

  • [可选] RoboDK 机器人库中具有数字孪生的机器人

  • [可选] 机器人连接到PC

初始化

  1. 选择会话:创建新会话或选择现有会话。会话是一个文件夹,用于存储与手眼标定过程相关的所有数据,包括捕获的点云、机器人位姿和标定结果。

手眼图形用户界面会话选择窗口

小技巧

如果您想在不创建自己的数据集的情况下测试手眼标定用户图形界面,可以将 Hand-Eye Calibration Sample Dataset 作为现有会话进行加载。

  1. 选择相机:选择已连接的相机。如果需要升级固件,下一步会提示您。

Hand-Eye GUI 相机选择窗口

3. 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.

Hand-Eye GUI 预设值选择窗口

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

Hand-Eye GUI 预设值选择窗口

您还可以在正常使用期间从 GUI 加载设置文件。

4. Select the setup type: Choose the hand-eye calibration type based on your system configurations and the Zivid 标定对象 you will use.

Hand-Eye GUI - 手眼设置窗口

5. Select robot configuration: Choose whether you want to use the GUI with or without RoboDK.

手眼图形用户界面 - 机器人配置窗口

备注

即使未配置 RoboDK 或未连接机器人,也可以使用 GUI。但是,在这种情况下,只有与相机相关的功能可用。需要连接机器人的功能将被禁用,直到正确配置和连接机器人为止。

  1. 选择旋转表示格式:选择与您的机器人匹配的旋转格式和单位。您可以从列表中选择机器人,也可以手动配置设置。下表列出了一些常用的机器人,但所有格式均受支持。

    有关位姿表征以及如何在它们之间进行转换的更多详细信息,请参阅 位姿转换

Hand-Eye GUI 机器人选择窗口

小技巧

初始化过程结束后,每当您在 GUI 中选择一项功能(例如,WARMUP)时,右上角都会出现一个分步检查清单。此清单概述了完成任务的具体操作顺序,必须按顺序执行。

热机

确保在标定之前预热相机以获得最佳精度。

Hand-Eye GUI 预热窗口

请参阅 相机预热指南 了解更多信息。

现场标定

为了获得最佳效果,请在手眼标定之前进行现场标定。

Hand-Eye GUI 现场标定窗口

请参阅 现场标定 以了解更多信息。

标定

使用 GUI 按照教程部分(右上角)中的说明运行手眼标定程序。

Hand-Eye GUI - 手眼标定窗口

请参阅 手眼标定的流程 以了解更多信息。

验证

完成手眼标定后,验证相机坐标系和机器人坐标系之间转换的准确性至关重要。图形用户界面提供了几种互补的方法来确保标定的精确性和可靠性:

触碰测试验证

该方法需要指定末端执行器工具的物理尺寸,包括工具尖端偏移量。然后,使用 Zivid 相机捕获场景,并检测 ArUco 标记(已知类型和字典)。系统会在相机坐标系中估算其三维位姿,并利用手眼标定结果将其转换到机器人基坐标系。随后,机器人使用末端执行器实际触碰标记的中心点。

有关工具规格和详细测试说明,请参阅: 触碰测试程序

通过触碰测试进行手眼 GUI 验证

在下图中,您可以看到触碰验证测试的预期结果。

投影验证

相机将绿色圆圈投射到 Zivid 标定板已知的棋盘格角上。

  1. 测试的初始化需要告知系统标定对象在机器人坐标系中的位置。这一步是通过初始捕获完成的,该过程中会利用已知的机器人位姿以及手眼变换矩阵来确定标定对象的位置。

  2. 对于每个连续的机器人位姿,计算标定板在相机坐标系中的位置。计算方法如下:

    • 机器人位姿

    • 机器人坐标系中标定物体的已知位置

    • 手眼变换矩阵

  3. 将计算出的标定物体的位置投影到投影仪图像平面中,然后使用投影仪将其投影回物理场景。

有关投影过程的更多详细信息,请参阅 Projector

通过投影进行手眼 GUI 验证

在下图中,您可以看到投影验证的预期结果。

拼接验证

对于每一个机器人位姿,系统都会使用 Zivid 相机采集 3D 点云,并利用手眼变换矩阵将其转换到机器人基坐标系中。在不同位姿下重复此过程,并将转换后的点云合并到同一坐标系下,即可生成拼接场景。如果标定准确,重建结果将非常清晰,棋盘格能够精确对齐;而标定效果较差时,则会产生伪影,例如棋盘格之间出现偏移或错位。

通过拼接进行手眼 GUI 验证

后续步骤

如果您的验证结果令人满意,请查看:

如果您对手眼标定结果不满意,请查看以下文章之一:

有用的链接