完成 Eye to Hand 场景下的自动标定

本文档介绍如何完成 Eye to Hand (ETH) 场景下的自动标定。

标定前准备

在进行手眼标定前,您先需要完成如下准备工作:

  • 完成梅卡曼德视觉系统的搭建。

  • 准备标定所需物料。

  • 调整标定板点云成像。

  • 完成机器人与通信配置。

完成整个视觉系统的搭建

请参照 视觉系统的搭建 章节完成梅卡曼德视觉系统的搭建。

手眼标定需要使用 Mech-Eye Viewer 、Mech-Center 、 Mech-Vision 和 Mech-Viz 软件。请确保上述软件已经安装并更新到最新版本。

准备标定所需物料

ETH 场景下的自动标定需要使用标定板。

请按照如下要求准备标定板:

  • 请确保标定板上圆清晰,没有明显刮花痕迹,标定板没有明显弯曲变形。

  • 在 ETH 场景下,先将标定板连接件安装到机器人末端法兰上,再将标定板安装到连接件上。确保标定板安装稳固,标定板与机器人末端的 XY 平面平行。

    注解

    当机器人法兰装载不可拆卸夹具时,可将标定板直接固接在夹具上。

此外,在标定开始前,请将机器人移动到标定起始位姿。对于 ETH 场景下的自动标定,机器人的标定起始位置为视野最下方中间位置(机器人带动标定板由下往上层层标定)。

调整标定板点云成像

  1. 打开 Mech-Eye Viewer 软件,调整相机参数。

  2. 调整 2D 参数 ,使 2D 图中标定板清晰,没有过曝和过暗现象。

  3. 调整 3D 参数 ,使标定板上圆点点云饱满完整,建议将 点云后处理 中的 点云平滑噪点去除 改为 Normal,降低点云波动范围。

    注解

    若现场环境光较复杂,建议通过遮补光来降低环境光对 2D 图和点云的影响。

  4. 通过完成以上步骤来确保标定板上的圆点点云完整,轮廓清晰,如下图所示。

../../_images/clear-board.png

提示

标定过程中的相机 2D 图源类型为同源纹理图,所以采集的图像和生成的场景点云为黑白成像。

完成机器人与通信配置

如果机器人使用标准接口与视觉侧通信,请完成机器人的标准接口通信配置。详情请参考 标准接口通信 章节的相关内容。

如果机器人使用主控方式与视觉侧通信,请完成机器人的主控通信配置。详情请参考 主控通信 章节的相关内容。

标定预配置

如果机器人使用标准接口与视觉侧通信,请完成 标定预配置(标准接口)

如果机器人使用主控方式与视觉侧通信,请完成 标定预配置(主控)

标定预配置(标准接口)

如果使用标准接口与机器人进行通信,执行如下步骤:

  1. 打开 Mech-Vision 软件,在工具栏上单击 相机标定(标准) 按钮。 标定预配置 窗口将弹出。

  2. 选择如何标定 窗口,选择 开始新的标定 单选框,然后单击 下一步 按钮。

    ../../_images/calib_preset_new.png
  3. 选择标定任务 窗口,从下拉列表框中选择 品牌机器人的手眼标定,点击 选择机器人型号 按钮以选择项目使用的机器人型号,然后单击 下一步 按钮。

    ../../_images/calib_preset_select_robot.png
  4. 选择相机安装方式 窗口,选择 Eye to hand 单选框,然后单击 下一步 按钮。

    ../../_images/calib_preset_eth.png
  5. 标定方法及机器人控制方式 窗口,选择 自动标定标准接口, 然后单击 下一步 按钮。

    ../../_images/calib_preset_auto_standardinterface.png
  6. 通信设置 窗口,设置参数 协议主机IP地址,然后单击 启动接口服务 按钮。按钮将变为 等待机器人连接中…

    ../../_images/calib_preset_auto_start_interface.png

    注解

    上图中,TCP服务器Hex(Little-endian) 仅为ABB机器人的 协议 配置示例。其他机器人的协议设置不同,软件将会自动为机器人添加默认配置,请保持默认配置即可。

  7. 在机器人的示教器上, 选择自动标定程序,示教标定起始点并运行标定程序。不同机器人的标定操作流程,请请参见 标准接口通信 章节。程序启动成功后,日志栏中将打印“进入标定流程,请在 Mech-Vision 中启动标定”日志。

  8. 返回 Mech-Vision 软件,确认在 连接机器人 区域显示“已连接”状态信息后,单击 开始标定 按钮。 标定(Eye to Hand) 窗口将弹出。

标定预配置(主控)

如果使用主控方式与机器人进行通信,执行如下步骤:

  1. 打开 Mech-Vision 软件,在工具栏上单击 相机标定(标准) 按钮。 标定预配置 窗口将弹出。

  2. 选择如何标定 窗口,选择 开始新的标定 单选框,然后单击 下一步 按钮。

    ../../_images/calib_preset_new.png
  3. 选择标定任务 窗口,从下拉列表框中选择 品牌机器人的手眼标定,点击 选择机器人型号 按钮以选择项目使用的机器人型号,然后单击 下一步 按钮。

    ../../_images/calib_preset_select_robot.png
  4. 选择相机安装方式 窗口,选择 Eye to hand 单选框,然后单击 下一步 按钮。

    ../../_images/calib_preset_eth.png
  5. 标定方法及机器人控制方式 窗口,选择 自动标定主控, 然后单击 下一步 按钮。

    ../../_images/calib_preset_auto_mastercontrol.png
  6. 在新窗口,设置参数 机器人IP地址

    ../../_images/calib_preset_auto_mastercontrol_robotip.png
  7. 在机器人的示教器上, 选择并运行主控程序。关于不同机器的操作方法,请请参见 主控通信 章节。

  8. 返回 Mech-Vision 软件,在 连接机器人 区域单击 连接机器人 按钮。按钮将变为 等待机器人连接中…

    ../../_images/calib_preset_auto_connect_robot.png
  9. 等待在 连接机器人 区域显示“已连接”状态信息,然后单击 开始标定 按钮。 标定(Eye to Hand) 窗口将弹出。

至此,标定预配置已完成,将进入正式标定过程。

标定过程

连接相机

  1. 连接相机 步骤,在 检测到的相机 列表中选中需要连接的相机,然后单击 icon_1 即可连接相机,或者直接双击需要连接的相机。

    ../../_images/connect_camera_auto.png
  2. 连接相机后,可以选择 连续采集 或者 单次采集 按钮。

    ../../_images/image_capture_auto.png
  3. 图像视图 中,确定相机采集的 2D 图和深度图符合标定要求,然后在底部栏单击 下一步 按钮。

    注解

    如果采集的图像不符合标定要求,你需要打开 Mech-Eye Viewer 软件 调整相机 的 2D 和 3D 曝光参数,并重新进行采集。

安装标定板

  1. 安装标定板 步骤,在 1. 选择标定板规格 区域,选择 标准 单选框,然后根据标定板的型号标签选择对应的标定板规格。

    ../../_images/select_calib_board_auto.png
  2. 确认标定板已平放在工作平面的中心位置,然后在 2. 安装标定板 区域单击 确认 按钮。

  3. 确保标定板处于相机视野中心(红色矩形内),然后在 3. 将标定板定位至红色矩形内 区域单击 确认 按钮。

    ../../_images/install_calib_board_eth.png
  4. 完成所有标定板相关操作后,在底部栏单击 下一步 按钮。

检查内参

  1. 检查内参 步骤,单击 开始检查 按钮。

    ../../_images/check_intri_auto.png
  2. 确认相机内参检查结果。

    • 如果相机内参检查成功,单击 确定 后单击 下一步 按钮。

      ../../_images/check_intri_pass1.png
    • 如果相机内参检查失败,通过画辅助圆或者手动编辑标定圆检测参数,然后单击 重新检查 按钮。

画辅助圆

  1. 若选择画辅助圆,单击 开始画辅助圆 按钮。

  2. 在右侧 图像视图 面板,右键单击标定板图像,取消勾选 适用窗口 复选框,然后按住 Ctrl 键并拖动滚轴将图片调整到合适的大小。

  3. 将鼠标指针移动到标定圆十字中线点,按下鼠标左键然后使辅助圆完全包括标定圆然后松开。

    ../../_images/adjust_blob.png
  4. 单击 重新检查 按钮,并确认相机内参检查是否通过。

手动调整检测参数

若选择手动调整检测参数,单击 标定圆检测参数(高级) ,更改检测参数值即可。

倘若仍检测不到标定圆,需根据现场作业条件调节相机相关参数,相机参数调节参考 参数调节

设置机器人路径

  1. 设置机器人路径 步骤,设置 相机深度方向标定范围 参数。

    ../../_images/set_robot_path_eth.png

    小技巧

    相机深度方向标定范围 参数应根据相机的推荐工作距离范围和机器人的工作空间大小设置。

  2. 如果相机和世界坐标系的 Z 轴不平行,单击 自动将路径对齐 按钮。

  3. 根据需要设置 路径类型 参数为 ToHand,指定金字塔参数 高度范围层数底层尺寸X/Y顶层尺寸X/Y每行移动网格行列数,指定旋转参数 旋转角度,然后单击 确认 按钮。

  4. 在右侧场景视图面板中,确认各路径点位置合理且不会发生与周边环境的碰撞。

    ../../_images/set_robot_path_eth_view.png
  5. 在底部栏单击 下一步 按钮。

获取图像和位姿

  1. 获取图像和位姿 步骤,勾选 保存图像 ,然后单击 使机器人沿路径移动机器人并拍照 按钮。

    ../../_images/add_image_pose.png
  2. 仔细阅读机器人运动安全提示,然后单击 确定 按钮。

    ../../_images/safety_tips.png
  3. 等待机器人按照设定路径移动以及相机完成各路径点的图像采集。右侧 图像视图 面板会显示已经采集到的图像。

    注意

    • 机器人移动时请远离机器人工作区域,以免机器伤人。

    • 单击停止机器人可以退出标定,但机器人不会马上停止,会在移动完当前路径点后停止。如果遇到紧急情况请按机器人示教器上的急停按钮(按急停后需要重连机器人)。

  4. 图像采集完成后,在弹出的窗口单击 确认 按钮。

    ../../_images/auto_capture_finished1.png
  5. 确认当前识别的标定点满足需求,然后在底部栏单击 下一步 按钮。

小技巧

若不满足,您需要手动移动机器人后(可以选择使用示教器移动或者通过 Mech-Viz 移动),勾选 手动添加更多图像 复选框,单击 添加图像并记录法兰位姿 按钮,添加标定板图像,并输入机器人法兰位姿。

计算相机参数

  1. 计算相机参数 步骤,勾选 分开计算旋转结果与平移结果 参数,然后单击 计算相机外参 按钮。

    ../../_images/calculate_extri_params_auto.png
  2. 在弹出的标定成功对话框中单击 确定 按钮。

    ../../_images/confirm_calib_eth_result.png

确认标定精度满足要求并保存标定数据

  1. 计算相机参数 步骤中,标定结果计算完成后,在右侧 点云视图 面板查看标定误差点云。

  2. 查找占比为 100% 的误差值,即可粗略确定标定的精度。例如,下图的精度为小于 2.5 mm。

    ../../_images/error_point_cloud.png
  3. 确认标定精度满足预期要求,然后在底部栏单击 保存 按钮。

    ../../_images/save_calib_eth_results.png
  4. 在弹出的 保存标定文件 对话框,单击 确定 按钮将相机标定结果保存到工程目录下。

至此,标定流程完成。如需提升标定精度,请参考 标定结果分析 小节。