Difference between revisions of "Robot-Camera Calibration Tool"

From 3D scanning Knowledge base - Photoneo wiki
Jump to: navigation, search
(Created page with " '''Robot-Camera Calibration Tool''' serves for finding the transformation between the camera (PhoXi 3D Scanner) and robot coordinate spaces. Computed matrix transforms point...")
 
Line 3: Line 3:
 
'''Robot-Camera Calibration Tool''' serves for finding the transformation between the camera (PhoXi 3D Scanner) and robot coordinate spaces. Computed matrix transforms points from camera coordinate system to robot coordinate system.
 
'''Robot-Camera Calibration Tool''' serves for finding 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 HW usb dongle to run the application.
+
You need a licensed USB Dongle to run the application.
  
 
== GUI overview ==
 
== GUI overview ==
Line 11: Line 11:
 
== Calibration process ==
 
== Calibration process ==
  
'''Preparation'''
+
===Preparation===
 
# Mount robot and camera so as their mutual position is fixed.
 
# Mount robot and camera so as their mutual position is fixed.
 
# Get calibration ball.  
 
# Get calibration ball.  
Line 17: Line 17:
 
# Put the calibration ball into the robot's gripper at the gripping point.
 
# Put the calibration ball into the robot's gripper at the gripping point.
 
# Start PhoXi Control Application.
 
# Start PhoXi Control Application.
# Plug in your licensed HW usb dongle.
+
# Plug in your licensed USB Dongle.
 
# Start Robot-Camera Calibration Tool, select desired 3D PhoXi Scanner and hit <code>Connect</code> button.
 
# 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.
 
# Set the radius of calibration ball in the application.
  
'''Collecting calibration points'''
+
===Collecting calibration points===
 
# Move the gripper with the ball in front of the camera.  
 
# 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.
 
#* 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.
 
# Type the position of calibration ball in robot coordinate system into the application.
 +
#* Tip: If you use a program to position the robot, you might find useful to save planned positions into a file and load it into calibrations table. All points should be separated by white space.
 
# Type the rotation of gripper into the application [optional].
 
# Type the rotation of gripper into the application [optional].
 
#* This step is not necessary, but might improve 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 error can be eliminated knowing the gripper rotation.
 
#* This step is not necessary, but might improve 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 error can be eliminated knowing the gripper rotation.
Line 31: Line 32:
 
# Repeat until sufficient number of calibration points are collected. The minimum is 4 points.
 
# Repeat until sufficient number of calibration points are collected. The minimum is 4 points.
  
'''Computation'''
+
===Computation==
 
# Hit <code>Compute</code> button.
 
# Hit <code>Compute</code> button.
 
# The output console shows the process of computation.
 
# The output console shows the process of computation.
 
# Computed matrix is displayed in the table. Save it to a file for later use.
 
# Computed matrix is displayed in the table. Save it to a file for later use.
 
# 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 show in output console.
 
# 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 show in output console.
 +
 +
==Additional information===
 +
* Application saves data in text file with values separated with blank. To load data, the same format is expected.

Revision as of 00:33, 10 November 2016


Robot-Camera Calibration Tool serves for finding 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.

GUI overview

Calibration process

Preparation

  1. Mount robot and camera so as their mutual position is fixed.
  2. 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.)
  3. Put the calibration ball into the robot's gripper at the gripping point.
  4. Start PhoXi Control Application.
  5. Plug in your licensed USB Dongle.
  6. Start Robot-Camera Calibration Tool, select desired 3D PhoXi Scanner and hit Connect button.
  7. Set the radius of calibration ball in the application.

Collecting calibration points

  1. 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.
  2. Type the position of calibration ball in robot coordinate system into the application.
    • Tip: If you use a program to position the robot, you might find useful to save planned positions into a file and load it into calibrations table. All points should be separated by white space.
  3. Type the rotation of gripper into the application [optional].
    • This step is not necessary, but might improve 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 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.
  4. Use Capture button to trigger new scan and locate the calibration ball.
  5. Repeat until sufficient number of calibration points are collected. The minimum is 4 points.

=Computation

  1. Hit Compute button.
  2. The output console shows the process of computation.
  3. Computed matrix is displayed in the table. Save it to a file for later use.
  4. To see the result of applying the transformation on camera point, hit Test button. This will trigger new scan, locate calibration ball and transforms its position into robot coordinates. The output is show in output console.

Additional information=

  • Application saves data in text file with values separated with blank. To load data, the same format is expected.