用于手眼标定的Zivid CLI工具

本教程描述了如何使用命令行界面(CLI)工具进行手眼标定。 以下是包含了屏幕截屏的分步说明。

备注

使用*.yaml文件格式记录机器人位姿的ZividExperimentalHandEyeCalibration.exe CLI工具是 实验性的。 它将被一个GUI代替。

要求

操作说明

采集数据集

如果您还没有阅读关 于 手眼标定 的完整教程 ,我们建议您先观看该教程。要保证能够正确采集数据集,请至少阅读 手眼标定的流程 了解有关所需机器人位姿的信息,并学习 如何获得Zivid标定板的高质量数据。另外,阅读 注意事项和建议 也会非常有帮助。

假设有10-20组数据集,数据集包含了.zdf格式的 Zivid棋盘格 点云文件和记录了对应的机器人位姿的.yaml格式的文件。命名规则为:

  • 点云: img01.zdf、img02.zdf、img03.zdf 等

  • 机器人位姿: pos01.yaml、pos02.yaml、pos03.yaml 等

小心

机器人位姿的平移部分必须以毫米为单位。

这是一个可供下载的机器人位姿的示例 - pos01.yaml。如需了解如何写入/读取.yaml格式的文件,请查看 OpenCV YAML file storage class。数据集文件夹应如下内容:

小心

机器人位姿文件是.yaml文件格式,不像相机设置和配置文件是.yml文件格式。

../../../_images/hand-eye-dataset-in-explorer-screenshot.png

运行手眼标定CLI工具

同时按下键盘上的Win+R键启动命令提示符,然后键入 cmd 并 按 Enter 键。

../../../_images/run-cmd-windows.png

导航到您安装Zivid软件的文件夹:

cd C:\Program Files\Zivid\bin>
../../../_images/cmd_zivid_folder.png

通过输入以下命令即可显示 ZividExperimentalHandEyeCalibration.exe CLI工具的输入和输出:

ZividExperimentalHandEyeCalibration.exe -h
../../../_images/hand_eye_cmd_help.png

要运行 ZividExperimentalHandEyeCalibration.exe CLI 工具,您必须指定:

  • 标定的类型(eye-in-hand或eye-to-hand)

  • 数据集(.zdf文件和.yaml机器人位姿)的路径。

指定要保存生成的手眼转换和残差的位置也很方便,请参见下面的示例:

SET dataset=C:\Users\Christian\Directory_where_dataset_is_located
ZividExperimentalHandEyeCalibration.exe --eth -d "%dataset%" --tf "%dataset%\tf.yaml" --rf "%dataset%\rf.yaml"

在运行期间,算法将输出能够检测到棋盘格图案(”OK”)或不能(”FAILED”)。 在检测完成之后,它将输出手眼转换的结果(4x4齐次变换矩阵)。 最后将输出每个位姿的 手眼标定的残差 。 请参阅下面的输出的示例。

../../../_images/hand_eye_cmd_results.png

然后可以使用生成的齐次变换矩阵 (eyeInHandTransform.yaml) 将拾取点坐标或基于相机坐标系的整个点云转换到机器人基坐标系。 要进行该转换,请查看 如何使用手眼标定的结果