用于手眼标定的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 等
小心
机器人位姿的平移部分必须以毫米为单位。
CLI 工具可与 Zivid 棋盘格或 ArUco 标记配合使用。但是,与 SDK 不同,CLI 工具仅与单个 ArUco 标记字典配合使用:DICT_4X4_50。
这是一个可供下载的机器人位姿的示例 - pos01.yaml
。如需了解如何写入/读取.yaml格式的文件,请查看 OpenCV YAML file storage class。数据集文件夹应如下内容:
小心
机器人位姿文件是.yaml文件格式,不像相机设置和配置文件是.yml文件格式。
运行手眼标定CLI工具
同时按下键盘上的Win+R键启动命令提示符,然后键入 cmd
并 按 Enter 键。
导航到您安装Zivid软件的文件夹:
cd C:\Program Files\Zivid\bin>
通过输入以下命令即可显示 ZividExperimentalHandEyeCalibration.exe CLI工具的输入和输出:
ZividExperimentalHandEyeCalibration.exe -h
要运行 ZividExperimentalHandEyeCalibration.exe CLI 工具,您必须指定:
标定的类型(eye-in-hand或eye-to-hand)
数据集(.zdf文件和.yaml机器人位姿)的路径。
指定要保存生成的手眼转换和残差的位置也很方便,请参见下面的示例:
SET dataset=C:\Users\Public\Documents\Directory_where_dataset_is_located ZividExperimentalHandEyeCalibration.exe --eth -d "%dataset%" --tf "%dataset%\transform.yaml" --rf "%dataset%\residuals.yaml"
标定的类型(eye-in-hand或eye-to-hand)
数据集(.zdf文件和.yaml机器人位姿)的路径。
使用的 ArUco 标记的 ID
指定要保存生成的手眼转换和残差的位置也很方便,请参见下面的示例:
SET dataset=C:\Users\Public\Documents\Directory_where_dataset_is_located ZividExperimentalHandEyeCalibration.exe --eth -d "%dataset%" --tf "%dataset%\transform.yaml" --rf "%dataset%\residuals.yaml" --ids 1, 2, 3
在运行期间,如果算法能够检测到校准对象,则输出("OK"),如果无法检测到,则输出("FAILED")。 在检测完成之后,它将输出手眼转换的结果(4x4齐次变换矩阵)。 最后将输出每个位姿的 手眼标定的残差 。 请参阅下面的输出的示例。
然后可以使用生成的齐次变换矩阵 (eyeInHandTransform.yaml) 将拾取点坐标或基于相机坐标系的整个点云转换到机器人基坐标系。 要进行该转换,请查看 如何使用手眼标定的结果。