.. _calibration-part1-label: ************************************************** Calibration Part1 (Camera, Hand-Eye, Endeffector) ************************************************** The Rosvita package **auto_calibration** (``/home/xamla/Rosvita.Control/lua/auto_calibration``) containts scripts for camera and hand-eye calibration, including data acquisition. It is almost completely written in LUA, except for the current endeffector calibration (subfolder ``endEffectorCalibration_py``), which is written in Python. **Major features are:** 1. :ref:`camera-calibration-label` (single and stereo setup) including data acquisition 2. :ref:`hand-eye-calibration-label` Hand-Eye calibration (including evaluation) 3. :ref:`endeffector-calibration-label` **Calibration pattern requirements:** For all camera and hand-eye calibrations one of our |Circle_Pattern_link| (see also ``/home/xamla/Rosvita.Control/lua/auto_calibration/Patterns_with_ID.pdf``) has to be used. For a high-quality print of one of these patterns contact us (http://xamla.com). .. _camera-calibration-label: Camera calibration ------------------- Calibration of Ximea cameras or GenICam based cameras as single or stereo camera setup mounted onboard (on the robot) or extern can easily be performed by running the scripts **configureCalibration.lua** and **runCalibration.lua**. In more detail, the **calibration pipeline** is as follows: * In Rosvita load or create a project (e.g. with UR5 or SDA10, cameras and gripper), compile it and start ROS. * With the Rosvita terminal go into your project folder and start the configuration script: .. code-block:: bash cd /home/xamla/Rosvita.Control/projects/ th /home/xamla/Rosvita.Control/lua/auto_calibration/configureCalibration.lua * -> The **configuration main menu** will appear in the terminal. * Now you can select the calibration mode (single or stereo camera setup), the robot move group, the camera type, the circle pattern id and geometry, etc. ... * Moreover, you can teach base poses, capture poses and optionally evaluation poses for the calibration. * **Hint**: Base Poses are mainly used for picking a calibration target. If you don't want to pick a calibration target, only teach a start pose and successively press return afterwards for the remaining base poses. * Don't forget to **save** the configuration by **pressing the 's' button**. * Next run the calibration script from your project folder and with the previously saved configuration: .. code-block:: bash th /home/xamla/Rosvita.Control/lua/auto_calibration/runCalibration.lua -cfg .t7 * -> The **calibration main menu** will appear in the terminal. * Now, simply press: * f (Full calibraton cycle) * or press the following sequence: * c (Capture calibration images) * a (Calibrate camera) * s (Save calibration) * b (Hand-eye calibration) * e (Evaluate calibration) (optionally) * The order of this sequence is important, in particular don't forget to save the camera calibration by pressing 's' before starting the hand-eye calibration. .. note:: The output directory for your calibration data (image capturing and calibration results) will be ``/tmp/calibration/_