Difference between revisions of "Robot-Camera Calibration Tool"

From 3D scanning Knowledge base - Photoneo wiki
Jump to: navigation, search
(explained the error validation)
(Testing the result)
 
(6 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
== Calibration process ==
 
== Calibration process ==
 
+
Please follow the Robot Camera Calibration User Manual, you can download it [http://photoneo.com/files/manuals/Robot_Camera_Calibration_User_Manual_EN_v2.pdf here]
===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.
 
# Plug in your licensed USB Dongle.
 
# Start Robot-Camera Calibration Tool, select desired 3D PhoXi Scanner and hit <code>Connect</code> button.
 
# Set the radius of calibration ball in the application. This value is used for locating the calibration ball in captured 3D scans.
 
 
 
===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 area where desired objects will be picked.
 
# 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.
 
# Repeat until sufficient number of calibration points are collected. The minimum is 4 points.
 
 
 
===Computation===
 
# Hit <code>Compute</code> button.
 
# 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.
 
 
 
==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.
 
 
 
===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.
 
 
 
# 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]'''.
 
# 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)
 
# We put the robot in first testing position and hit <code>Test</code> button:
 
#* Calculated ball position in robot space was '''[-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)
 
#* The transformation accuracy is thus less than 0.6 mm.
 

Latest revision as of 12:25, 18 October 2018

Robot-Camera Calibration Tool, version: 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.

You need a licensed USB Dongle to run the application.

Calibration process

Please follow the Robot Camera Calibration User Manual, you can download it here