“机器人 - 相机校准工具”的版本间的差异

来自Photoneo 知识库
跳转至: 导航搜索
(创建页面,内容为“480px|thumb|Robot-Camera Calibration Tool, version: 0.8 beta '''Robot-Camera Calibration Tool''' is used to find the tr…”)
 
第1行: 第1行:
[[File:RobotCameraCalibrationTool_0.8b.png|480px|thumb|Robot-Camera Calibration Tool, version: 0.8 beta]]
+
[[File:RobotCameraCalibrationTool_0.8b.png|480px|thumb|Robot-Camera Calibration Tool,版本:0.8 beta]]
  
'''Robot-Camera Calibration Tool''' is used to find the transformation between the camera (PhoXi 3D Scanner) and robot coordinate spaces. Computed matrix transforms points from camera coordinate system to robot coordinate system.
+
'''机器人 - 相机校准工具'''用于查找相机(PhoXi 3D扫描仪)和机器人坐标空间之间的转换。计算矩阵将相机坐标系中的点转换为机器人坐标系。
  
You need a licensed USB Dongle to run the application.
+
您需要获得许可的USB Dongle才能运行该应用程序。
  
== Calibration process ==
+
==校准过程==
  
===Preparation===
+
===准备===
# Mount robot and camera so as their mutual position is fixed.
+
#安装机器人和摄像机,使它们的相互位置固定。
# Get calibration ball. This might be a table tennis ball or a bearing ball. (When using bearing ball make sure it is not too shiny so the scanner can locate it with high accuracy.)
+
#获取校准球。这可能是一个乒乓球或一个轴承球。 (使用轴承球时,确保它不太亮,以便扫描仪可以高精度定位。)
# Put the calibration ball into the robot's gripper at the gripping point.
+
#将校准球放入抓取点的机器人抓手中。
# Start PhoXi Control Application.
+
#启动PhoXi控制应用程序。
# Plug in your licensed USB Dongle.
+
#插入您的授权USB Dongle。
# Start Robot-Camera Calibration Tool, select desired 3D PhoXi Scanner and hit <code>Connect</code> button.
+
#启动机器人 - 相机校准工具,选择所需的3D PhoXi扫描仪,然后按<编码>连接</ code>按钮。
# Set the radius of calibration ball in the application. This value is used for locating the calibration ball in captured 3D scans.
+
#设置应用程序中校准球的半径。该值用于在捕获的3D扫描中定位校准球。
  
===Collecting calibration points===
+
===收集校准点===
# Move the gripper with the ball in front of the camera.
+
#将夹持器移动到相机前方。
#* Choose a representative location, e.g. when calibrating for bin-picking application, the locations should cover the whole area where desired objects will be picked.
+
*选择一个有代表性的位置,例如当为拾取箱应用程序进行校准时,这些位置应覆盖拾取所需物体的整个区域。
#* Avoid many robot positions too close to each other (closer than the size of ball diameter). Choose locations that regularly covers the area.
+
*避免许多机器人位置彼此靠得太近(比球直径的尺寸更近)。选择经常覆盖该地区的地点。
# Type the position of calibration ball in robot coordinate system into the application.
+
#将机器人坐标系中校准球的位置输入到应用程序中。
#* Tip: If you use a program to position the robot, it is useful to save all planned positions into a file and load it into calibrations table. Values in a row should be separated by white space, each row on the new line.
+
*提示:如果您使用程序定位机器人,将所有计划位置保存到文件并将其加载到校准表中非常有用。行中的值应该用空格分隔,每行放在新行中。
# Type the rotation of gripper into the application [mandatory when rotating the gripper].
+
#将夹具旋转输入应用程序[旋转夹具时必须]
#* This step is not necessary when the gripper rotation doesn't change, but in general it improves the calibration accuracy. When the ball is not exactly at the gripping point, the actual position of calibration ball slightly differs from the position reported by the robot. This '''misplacement error''' can be eliminated knowing the gripper rotation.
+
*当夹具旋转不变时,此步骤不是必需的,但通常它会提高校准精度。当球不在夹点时,校准球的实际位置与机器人报告的位置稍有不同。知道夹持器旋转可以消除'''错位错误'''
#* Pick the right rotation formalism from the rotation combo box. This format is used for all points at the time of matrix computation.
+
*从旋转组合框中选择正确的旋转形式。这种格式用于矩阵计算时的所有点。
# Use <code>Capture</code> button to trigger new scan and locate the calibration ball.
+
#使用<code> Capture </ code>按钮触发新的扫描并找到校准球。
# Repeat until sufficient number of calibration points are collected. The minimum is 4 points.
+
#重复,直到收集到足够数量的校准点。最低4点。
  
===Computation===
+
===计算===
# Hit <code>Compute</code> button.
+
#点击<code>计算</ code>按钮。
# The output console shows the process of computation.
+
#输出控制台显示计算过程。
#* Note: If rotation formalism was used, the output shows also computed misplacement vector that indicates the difference between the actual ball placement and the placement reported by robot.
+
*注意:如果使用旋转形式,输出还会显示计算的错位矢量,它表示实际放球位置与机器人报告的位置之间的差异。
# Computed transformation matrix is displayed in the table. Save it to a file for later use.
+
#表中显示了计算的变换矩阵。将其保存到文件供以后使用。
  
===Save transformation to the scanner===
+
===将转换保存到扫描仪===
# Open PhoXi Control App and connect to the scanner.
+
#打开PhoXi Control App并连接到扫描仪。
# In the options pane on the left, fill in the CustomTransformation matrices
+
#在左侧的选项窗格中,填写CustomTransformation矩阵
#* Rotation Matrix is composed of first 3 columns and 3 rows of computed transformation matrix
+
*旋转矩阵由前3列和3行计算变换矩阵组成
#* Translation Vector is the fourth column of transformation matrix
+
*翻译矢量是变换矩阵的第四列
# Set the option CoordinateSpace to the CustomSpace
+
#将选项CoordinateSpace设置为CustomSpace
# Mark checkbox to permanently save settings and click <code>Set</code> button
+
#标记复选框以永久保存设置,然后单击<code>设置</ code>按钮
# Point clouds are now returned in Robot Coordinate space
+
#点云现在返回到机器人坐标空间
  
==Testing the result==
+
==测试结果==
  
To see the result of applying the transformation on camera point, hit <code>Test</code> button. This will trigger new scan, locate calibration ball and transforms its position into robot coordinates. The output is shown in output console. This process will not consider the gripper rotation, because in real case scenario the misplacement vector changes with every picked object.
+
要查看在相机点上应用转换的结果,请按<code>测试</ code>按钮。这将触发新的扫描,定位校准球并将其位置转换为机器人坐标。输出显示在输出控制台中。此过程不会考虑抓手旋转,因为在实际情况下,错位矢量会随着每个拾取的物体而变化。
  
===Validating the transformation accuracy after computation===
+
===验证计算后的转换精度===
  
In this scenario, we put the calibration ball inside the gripper, collected calibration points and ran computation of calibration matrix. We did not moved the calibration ball. To validate the transformation accuracy, we will go through the same robot positions and compare them with values calculated by <code>Test</code> button.
+
在这种情况下,我们将校准球放入夹具内,收集校准点并运行校准矩阵计算。我们没有移动校准球。为了验证转换精度,我们将通过相同的机器人位置并将它们与<code> Test </ code>按钮计算的值进行比较。
  
# The first testing position in robot space is '''[0, -600, 100]''' and the rotation of gripper expressed as rotation vector is '''[3.14159, 0, 0]'''.
+
#机器人空间中的第一个测试位置是'''[0,-600,100]''',夹具的旋转表示为旋转矢量'''[3.14159,0,0]'''
# The misplacement vector of our computation was: '''[-0.0422, -8.0056, 4.4710]''' (this information is shown in output console after computation the transformation matrix)
+
#我们计算的错位向量是:'''[-0.0422,-8.0056,4.4710]'''(在计算转换矩阵后,此信息显示在输出控制台中)
# We put the robot in first testing position and hit <code>Test</code> button:
+
#我们把机器人放在第一个测试位置,然后按下<code>测试</ code>按钮:
#* Calculated ball position in robot space was '''[-0.435708, -592.207, 95.3183]'''.
+
*机器人空间的计算球位置是'''''[-0.435708,-592.207,95.3183]'''
#* We add misplacement vector to calculated position, the resulting point is '''[-0.47791, -600.213, 99.7893]''' (misplacement vector should be added according to the gripper rotation. In this example, we simply summed the X,Y,Z values)
+
*我们添加了错位矢量到计算位置,得到的点是'''['0.47791,-600.213,99.7893]'''(错位矢量应该根据夹具旋转添加,在这个例子中,我们简单地将X ,Y,Z值)
#* The transformation accuracy is thus less than 0.6 mm.
+
*转换精度因此小于0.6毫米。

2018年4月10日 (二) 02:21的版本

Robot-Camera Calibration Tool,版本:0.8 beta

机器人 - 相机校准工具用于查找相机(PhoXi 3D扫描仪)和机器人坐标空间之间的转换。计算矩阵将相机坐标系中的点转换为机器人坐标系。

您需要获得许可的USB Dongle才能运行该应用程序。

校准过程

准备

#安装机器人和摄像机,使它们的相互位置固定。 #获取校准球。这可能是一个乒乓球或一个轴承球。 (使用轴承球时,确保它不太亮,以便扫描仪可以高精度定位。) #将校准球放入抓取点的机器人抓手中。 #启动PhoXi控制应用程序。 #插入您的授权USB Dongle。 #启动机器人 - 相机校准工具,选择所需的3D PhoXi扫描仪,然后按<编码>连接</ code>按钮。 #设置应用程序中校准球的半径。该值用于在捕获的3D扫描中定位校准球。

收集校准点

#将夹持器移动到相机前方。 #*选择一个有代表性的位置,例如当为拾取箱应用程序进行校准时,这些位置应覆盖拾取所需物体的整个区域。 #*避免许多机器人位置彼此靠得太近(比球直径的尺寸更近)。选择经常覆盖该地区的地点。 #将机器人坐标系中校准球的位置输入到应用程序中。 #*提示:如果您使用程序定位机器人,将所有计划位置保存到文件并将其加载到校准表中非常有用。行中的值应该用空格分隔,每行放在新行中。 #将夹具旋转输入应用程序[旋转夹具时必须]。 #*当夹具旋转不变时,此步骤不是必需的,但通常它会提高校准精度。当球不在夹点时,校准球的实际位置与机器人报告的位置稍有不同。知道夹持器旋转可以消除错位错误。 #*从旋转组合框中选择正确的旋转形式。这种格式用于矩阵计算时的所有点。 #使用 Capture </ code>按钮触发新的扫描并找到校准球。 #重复,直到收集到足够数量的校准点。最低4点。

计算

#点击<code>计算</ code>按钮。 #输出控制台显示计算过程。 #*注意:如果使用旋转形式,输出还会显示计算的错位矢量,它表示实际放球位置与机器人报告的位置之间的差异。 #表中显示了计算的变换矩阵。将其保存到文件供以后使用。

将转换保存到扫描仪

#打开PhoXi Control App并连接到扫描仪。 #在左侧的选项窗格中,填写CustomTransformation矩阵 #*旋转矩阵由前3列和3行计算变换矩阵组成 #*翻译矢量是变换矩阵的第四列 #将选项CoordinateSpace设置为CustomSpace #标记复选框以永久保存设置,然后单击<code>设置</ code>按钮 #点云现在返回到机器人坐标空间

测试结果

要查看在相机点上应用转换的结果,请按<code>测试</ code>按钮。这将触发新的扫描,定位校准球并将其位置转换为机器人坐标。输出显示在输出控制台中。此过程不会考虑抓手旋转,因为在实际情况下,错位矢量会随着每个拾取的物体而变化。

验证计算后的转换精度

在这种情况下,我们将校准球放入夹具内,收集校准点并运行校准矩阵计算。我们没有移动校准球。为了验证转换精度,我们将通过相同的机器人位置并将它们与<code> Test </ code>按钮计算的值进行比较。

#机器人空间中的第一个测试位置是[0,-600,100],夹具的旋转表示为旋转矢量[3.14159,0,0]。 #我们计算的错位向量是:[-0.0422,-8.0056,4.4710](在计算转换矩阵后,此信息显示在输出控制台中) #我们把机器人放在第一个测试位置,然后按下<code>测试</ code>按钮: #*机器人空间的计算球位置是[-0.435708,-592.207,95.3183] #*我们添加了错位矢量到计算位置,得到的点是['0.47791,-600.213,99.7893](错位矢量应该根据夹具旋转添加,在这个例子中,我们简单地将X ,Y,Z值) #*转换精度因此小于0.6毫米。