完成 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 图和点云的影响。

  1. 通过完成以上步骤来确保标定板点云成像质量满足要求。

    正常 过曝 欠曝

    2D 图

    normal-2d

    overexposure-2d

    underexposure-2d

    点云

    normal-3d

    overexposure-3d

    underexposure-3d

完成机器人与通信配置

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

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

标定预配置

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

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

标定预配置(标准接口)

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

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

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

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

    calibration calib preset select robot
  4. 选择相机安装方式窗口,选择Eye to hand单选框,然后单击下一步按钮。

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

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

    calibration auto calib preset auto start interface
    上图中,TCP服务器Hex(Little-endian)仅为ABB机器人的协议配置示例。其他机器人的协议设置不同,软件将会自动为机器人添加默认配置,请保持默认配置即可。
  7. 在机器人的示教器上,选择自动标定程序,示教标定起始点并运行标定程序。不同机器人的标定操作流程,请参见 标准接口通信 章节。程序启动成功后,日志栏中将打印“进入标定流程,请在 Mech-Vision 中启动标定”日志。

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

标定预配置(主控)

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

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

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

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

    calibration calib preset select robot
  4. 选择相机安装方式窗口,选择Eye to hand单选框,然后单击下一步按钮。

    calibration calib preset eth
  5. 标定方法及机器人控制方式窗口,选择自动标定主控, 然后单击下一步按钮。

    calibration auto calib preset auto mastercontrol
  6. 在新窗口,设置参数机器人 IP 地址

    calibration auto calib preset auto mastercontrol robotip
  7. 在机器人的示教器上,选择并运行主控程序。关于不同机器的操作方法,请参见 主控通信 章节。

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

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

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

标定过程

连接相机

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

    calibration auto connect camera auto
  2. 连接相机后,可以选择连续采集或者单次采集按钮。

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

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

安装标定板

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

    calibration auto select calib board auto
  2. 确认标定板已平放在工作平面的中心位置,然后在2. 安装标定板区域单击确认按钮。

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

    calibration install calib board eth
  4. 完成所有标定板相关操作后,在底部栏单击下一步按钮。

检查内参

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

    calibration auto check intri auto
  2. 确认相机内参检查结果。

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

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

画辅助圆

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

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

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

    calibration adjust blob
  4. 单击重新检查按钮,并确认相机内参检查是否通过。

手动调整检测参数

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

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

设置机器人路径

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

    calibration auto set robot path eth

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

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

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

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

    calibration auto set robot path eth view
  5. 在底部栏单击下一步按钮。

获取图像和位姿

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

    calibration auto add image pose
  2. 仔细阅读机器人运动安全提示,然后单击确定按钮。

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

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

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

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

    calibration auto auto capture finished
  5. 确认当前识别的标定点满足需求,然后在底部栏单击下一步按钮。

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

计算相机参数

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

    calibration auto calculate extri params auto
  2. 在弹出的标定成功对话框中单击确定按钮。

    calibration auto confirm calib eth result
  1. 在右侧点云视图面板查看标定误差点云。

    误差点云用于显示每个标定位姿上标定板圆真实值与计算值之间的偏差。
  2. 确认标定精度满足预期要求。

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

    calibration error point cloud

    如需提升标定精度,请参考 标定结果分析 小节。

验证标定结果并保存

在计算出相机外参后,可以通过在场景视图中查看机器人的点云与机器人模型的重合度来粗略判断标定结果,具体操作如下:

  1. 将机器人手臂移动至相机视野范围内。

  2. 计算相机参数步骤中,单击重新计算外参按钮。该操作将触发相机拍照。

  3. 单击场景视图,查看机器人点云与机器人模型的重合度。

    如机器人的点云与机器人模型大致重合,则说明标定结果可用。

    calibration reference coincidence degree
    1. 机器人模型与真实机器人外观可能不完全吻合,不能作为微调外参的依据。

    2. 除了场景视图外,也可以在Mech-Viz软件中查看机器人的点云与机器人模型的重合度。

  4. 在底部栏单击保存按钮,在弹出的保存标定文件对话框,单击确定按钮。相机标定结果将自动保存到工程的“calibration”目录下。

至此,标定流程完成。