“机器人 - 相机校准工具”的版本间的差异
(→验证计算后的转换精度) |
|||
(未显示同一用户的6个中间版本) | |||
第1行: | 第1行: | ||
[[File:RobotCameraCalibrationTool_0.8b.png|480px|thumb|Robot-Camera Calibration Tool,版本:0.8 beta]] | [[File:RobotCameraCalibrationTool_0.8b.png|480px|thumb|Robot-Camera Calibration Tool,版本:0.8 beta]] | ||
− | '''机器人 - 相机校准工具''' | + | '''机器人 - 相机校准工具'''用于找出相机(PhoXi 3D扫描仪)和机器人坐标空间之间的转换。计算矩阵将相机坐标系中的点转换为机器人坐标系。 |
− | + | 您需要授权的USB Dongle才能运行该应用程序。 | |
==校准过程== | ==校准过程== | ||
===准备=== | ===准备=== | ||
− | # | + | # 安装机器人和相机,使它们的相互位置固定。 |
− | # | + | # 取得校准球。这可能是一个乒乓球或一个轴承球。(使用轴承球时,确保它不会太亮,以便扫描仪可以高精度定位它。) |
− | # | + | # 将校准球放入在抓取点的机器人抓手中。 |
# 启动PhoXi控制应用程序。 | # 启动PhoXi控制应用程序。 | ||
# 插入您的授权USB Dongle。 | # 插入您的授权USB Dongle。 | ||
− | # 启动机器人 - | + | # 启动机器人 - 相机校准工具,选择想要的3D PhoXi扫描仪,然后按 <code>Connect</code> 按钮。 |
− | # | + | # 在应用程序中设置校准球的半径。该值用于在获取的3D扫描中定位校准球。 |
===收集校准点=== | ===收集校准点=== | ||
− | # | + | # 将夹持着球的夹持器移动到相机前方。 |
− | #* | + | #* 选择一个有代表性的位置,例如当为箱柜拾取应用进行校准时,这些位置应覆盖拾取所需物体的整个区域。 |
− | #* | + | #* 避免许多机器人位置靠彼此太近(比球的直径尺寸更近)。选择匀称地覆盖该区域的位置。 |
− | # | + | # 将校准球在机器人坐标系中的位置输入到应用程序中。 |
− | #* | + | #* 提示:如果您使用程序来定位机器人,可以将所有规划的位置保存到文件,并将其加载到校准表中。列中的值应该用空格分隔,每列放在新行中。 |
− | # | + | # 将夹具的旋转输入到应用程序中[旋转夹具时必须]。 |
− | #* | + | #* 当夹具旋转不变时,此步骤不是必需的,但通常它能提高校准精度。当球没有准确在夹点时,校准球的实际位置与机器人报告的位置稍有不同。知道夹持器的旋转可以消除这个'''错位错误'''。 |
− | #* | + | #* 从旋转组合框中选择正确的旋转格式。这种格式用于所有点的矩阵计算。 |
− | # 使用<code> Capture </ code> | + | # 使用 <code>Capture</code> 按钮触发新的扫描并定位校准球。 |
− | # | + | # 重复直到收集到足够数量的校准点。最少4点。 |
===计算=== | ===计算=== | ||
− | # 点击<code> | + | # 点击 <code>Compute</code> 按钮。 |
# 输出控制台显示计算过程。 | # 输出控制台显示计算过程。 | ||
− | #* | + | #* 注意:如果使用了旋转格式,输出还会显示计算的错位矢量,它表示实际放球位置与机器人报告的位置之间的差异。 |
− | # | + | # 计算出的变换矩阵会显示在表中。将其保存成文件供后续使用。 |
===将转换保存到扫描仪=== | ===将转换保存到扫描仪=== | ||
− | # | + | # 打开PhoXi控制应用程序并连接到扫描仪。 |
# 在左侧的选项窗格中,填写CustomTransformation矩阵 | # 在左侧的选项窗格中,填写CustomTransformation矩阵 | ||
− | #* | + | #* 旋转矩阵由计算出的变换矩阵的前3行和3列组成 |
− | #* | + | #* 平移矢量是变换矩阵的第四行 |
# 将选项CoordinateSpace设置为CustomSpace | # 将选项CoordinateSpace设置为CustomSpace | ||
− | # | + | # 标记复选框为永久保存设置,然后点击 <code>Set</code> 按钮 |
− | # | + | # 点云现在会以机器人坐标空间返回 |
==测试结果== | ==测试结果== | ||
− | + | 要查看在相机的点应用转换的结果,请按 <code>Test</code> 按钮。这将触发新的扫描,定位校准球并将其位置转换为机器人坐标。输出会显示在输出控制台中。此过程不会考虑夹具的旋转,因为在实际情况下,错位矢量会随着每个拾取的物体而变化。 | |
===验证计算后的转换精度=== | ===验证计算后的转换精度=== | ||
− | + | 在这种情境,我们将校准球放入夹具内,收集校准点并运行校准矩阵计算。我们没有移动校准球。为了验证转换精度,我们将通过相同的机器人位置并将它们与 <code>Test</code> 按钮计算的值进行比较。 | |
− | # 机器人空间中的第一个测试位置是'''[ | + | # 机器人空间中的第一个测试位置是 '''[0, -600, 100]''' ,夹具的旋转表示为旋转矢量 '''[3.14159, 0, 0]'''。 |
− | # | + | # 我们计算的错位矢量是:'''[-0.0422, -8.0056, 4.4710]''' (在计算转换矩阵后,此信息会显示在输出控制台中) |
− | # 我们把机器人放在第一个测试位置,然后按下<code> | + | # 我们把机器人放在第一个测试位置,然后按下 <code>Test</code> 按钮: |
− | #* | + | #* 计算出球在机器人空间的位置是 '''[-0.435708, -592.207, 95.3183]'''。 |
− | #* | + | #* 我们添加错位矢量到计算的位置,得到的点是 '''[-0.47791, -600.213, 99.7893]''' (错位矢量应该根据夹具旋转添加,在这个例子中,我们简单地将X ,Y,Z值加总) |
#* 转换精度因此小于0.6毫米。 | #* 转换精度因此小于0.6毫米。 |
2018年4月10日 (二) 03:35的最新版本
机器人 - 相机校准工具用于找出相机(PhoXi 3D扫描仪)和机器人坐标空间之间的转换。计算矩阵将相机坐标系中的点转换为机器人坐标系。
您需要授权的USB Dongle才能运行该应用程序。
校准过程
准备
- 安装机器人和相机,使它们的相互位置固定。
- 取得校准球。这可能是一个乒乓球或一个轴承球。(使用轴承球时,确保它不会太亮,以便扫描仪可以高精度定位它。)
- 将校准球放入在抓取点的机器人抓手中。
- 启动PhoXi控制应用程序。
- 插入您的授权USB Dongle。
- 启动机器人 - 相机校准工具,选择想要的3D PhoXi扫描仪,然后按
Connect
按钮。 - 在应用程序中设置校准球的半径。该值用于在获取的3D扫描中定位校准球。
收集校准点
- 将夹持着球的夹持器移动到相机前方。
- 选择一个有代表性的位置,例如当为箱柜拾取应用进行校准时,这些位置应覆盖拾取所需物体的整个区域。
- 避免许多机器人位置靠彼此太近(比球的直径尺寸更近)。选择匀称地覆盖该区域的位置。
- 将校准球在机器人坐标系中的位置输入到应用程序中。
- 提示:如果您使用程序来定位机器人,可以将所有规划的位置保存到文件,并将其加载到校准表中。列中的值应该用空格分隔,每列放在新行中。
- 将夹具的旋转输入到应用程序中[旋转夹具时必须]。
- 当夹具旋转不变时,此步骤不是必需的,但通常它能提高校准精度。当球没有准确在夹点时,校准球的实际位置与机器人报告的位置稍有不同。知道夹持器的旋转可以消除这个错位错误。
- 从旋转组合框中选择正确的旋转格式。这种格式用于所有点的矩阵计算。
- 使用
Capture
按钮触发新的扫描并定位校准球。 - 重复直到收集到足够数量的校准点。最少4点。
计算
- 点击
Compute
按钮。 - 输出控制台显示计算过程。
- 注意:如果使用了旋转格式,输出还会显示计算的错位矢量,它表示实际放球位置与机器人报告的位置之间的差异。
- 计算出的变换矩阵会显示在表中。将其保存成文件供后续使用。
将转换保存到扫描仪
- 打开PhoXi控制应用程序并连接到扫描仪。
- 在左侧的选项窗格中,填写CustomTransformation矩阵
- 旋转矩阵由计算出的变换矩阵的前3行和3列组成
- 平移矢量是变换矩阵的第四行
- 将选项CoordinateSpace设置为CustomSpace
- 标记复选框为永久保存设置,然后点击
Set
按钮 - 点云现在会以机器人坐标空间返回
测试结果
要查看在相机的点应用转换的结果,请按 Test
按钮。这将触发新的扫描,定位校准球并将其位置转换为机器人坐标。输出会显示在输出控制台中。此过程不会考虑夹具的旋转,因为在实际情况下,错位矢量会随着每个拾取的物体而变化。
验证计算后的转换精度
在这种情境,我们将校准球放入夹具内,收集校准点并运行校准矩阵计算。我们没有移动校准球。为了验证转换精度,我们将通过相同的机器人位置并将它们与 Test
按钮计算的值进行比较。
- 机器人空间中的第一个测试位置是 [0, -600, 100] ,夹具的旋转表示为旋转矢量 [3.14159, 0, 0]。
- 我们计算的错位矢量是:[-0.0422, -8.0056, 4.4710] (在计算转换矩阵后,此信息会显示在输出控制台中)
- 我们把机器人放在第一个测试位置,然后按下
Test
按钮:- 计算出球在机器人空间的位置是 [-0.435708, -592.207, 95.3183]。
- 我们添加错位矢量到计算的位置,得到的点是 [-0.47791, -600.213, 99.7893] (错位矢量应该根据夹具旋转添加,在这个例子中,我们简单地将X ,Y,Z值加总)
- 转换精度因此小于0.6毫米。