All calibrations

  • If you changed focal length of cameras - all new calibrations!
  • If you moved focusing of cameras - all new calibrations!
  • Don't use autofocus!

Actuators calibration

  • modify variable "MEXD" in:
    ../clopema_robothead/MATLAB_actuatorCalib/Actuator/src/MakeFile
  • modify variable "rhPath" on line 5 in:
    ../clopema_robothead/MATLAB_actuatorCalib/setupDefaultExperiment.m
  • make Actuator, SiftGPU and Video mex files one by one, or with m-file:
    ../clopema_robothead/MATLAB_actuatorCalib/config_and_build_all.m
  • main calibration m-file is:
    ../clopema_robothead/MATLAB_actuatorCalib/ActuatorCalibration/scriptCalib.m
  • in CTU, it is needed to run calibration m-file two times:
    1. on kinect1 pc (HW)
      - keep only sweepScene methods (at least one X and one Y, more isn't required but calibration will be more accurate)
    2. on clopema1 pc (GPU calculations)
      - copy results from sweepingScene on kinect1 to the same place on clopema1
      (../clopema_robothead/MATLAB_actuatorCalib/ActuatorCalibration/SX*(SY_*)_)
      - keep all other functions required for calibration calculations
  • result of actuators calibration - mean of all slope values overall calibration, which are <1

ROS nodes/launch files configuration

  • every launch file, which starts nodes for calculations (sift, vergence) and for HW controlling (cameras, PTUs) together, needs these modifications:

- machine definitions:

            <include file="$(find clopema_config)/launch/clopema.launch"/>

- required parameters using config file:

            <include file="$(find RH_launch)/launch/RH_parameters.launch" />

- nodes for HW controlling - running on kinect1 pc, eg:

        <node name="RHcam_left" pkg="RH_cameras" type="RHcam_left" output="screen" machine="kinect1"/>

  • in every launch file, launch file for settings required parameters is started:
    ../clopema_robothead/RH_launch/launch/RH_parameters.launch
  • here, follow wiki tutorial, but two last parameters (left and right camera info) have to be set like this:

    - simulation operations (after calibration on simulation images - it saves calibration results to clopema1 pc):
    paths have to be set absolutely - calL.xml & calR.xml files on clopema1
    - real images operations (after calibration on real images - it saves calibration results to kinect1 pc):
    paths have to be set absolutely - calL.xml & calR.xml files on kinect1

Simulation vs. real calibration & range imaging

  • before the first range imaging, you have to create these files (empty) in ../clopema_robothead/RH_C3D/C3D/ :
    fMatch0.txt, fMatch1.txt, fMatch2.txt, fRange0.txt
  • This file is used everytime:
    ../clopema_robothead/RH_calibration/src/calibration_input.xml
  • Here, this line is very important in simulations:
        <Input>"src/simulation_nodes/input_images_models.xml"</Input>
    
  • for simulated calibration, you have to set "input_images.xml" and in this file modify path to simulate calibration images
  • for simulated range imaging, you have to set "input_images_models.xml" and in this file modify path to simulate model images
  • also in simulated calibration and range imaging, you have to set "Debug_mode" to 1