Calibrate the iCub's stereo system (both intrinsics and extrinsics).
Calibrate the iCub's stereo system (both intrinsics and extrinsics).
Copyright (C) 2011 RobotCub Consortium
Author: Sean Ryan Fanello
Date: first release on 26/03/2011
CopyPolicy: Released under the terms of the GNU GPL v2.0.
Description
The module performs the stereo calibration (both intrinsic and extrinsic parameters). A chessboard pattern is required, for convenience, a chessboard calibration image is provided in the icub-main/app/cameraCalibration/data directory. In the config file calibrationConf.ini you should have the following group:
[STEREO_CALIBRATION_CONFIGURATION]
boardWidth W
boardSize S
numberOfImages N
MonoCalib value
This is the ONLY group used by the module. Other groups in your config file will be discarded. See below for the parameter description. Calibration results will be saved in the specified context (default is: $ICUB_ROOT/main/app/cameraCalibration/conf/outputCalib.ini). You should replace your old calibration file (e.g. icubEyes.ini) with this new one.
- Note
- If you are using low resolution images (320x240) you should use a big chessboard pattern (i.e. with square side length of ~4cm).
-
Make sure to show the pattern horizontally.
-
Further information can be found in the official documentation.
Libraries
YARP libraries and OpenCV
Parameters
–boardWidth numOfCornW
- The parameter numOfCornW identifies the number of inner corners in the Width direction of the chess.
–boardHeight numOfCornH
- The parameter numOfCornH identifies the number of inner corners in the Height direction of the chess.
–boardSize squareLength
- The parameter squareLength identifies the length (in meters) of the squares in the chess (usually 0.03m).
–numberOfImages Num
- The parameter Num identifies the number of pairs with the pattern needed before the stereo calibration (default 30).
–MonoCalib Val
- The parameter Val identifies if the module has to run the stereo calibration (Val=0) or the mono calibration (Val=1). For the mono calibration connect only the camera that you want to calibrate.
Ports Created
- /stereoCalib/cam/left:i accepts the incoming images from the left eye.
- /stereoCalib/cam/right:i accepts the incoming images from the right eye.
- /stereoCalib/cam/left:o outputs the left eye image.
- /stereoCalib/cam/right:o outputs the right eye image.
- /stereoCalib/cmd for terminal commands comunication. Recognized remote commands:
- [start]: Starts the calibration procedure, you have to show the chessboard image in different positions and orientations. After N times (N specified in the config file, see above). the module will run the stereo calibration
Input Data Files
None.
Output Data Files
outputCalib.ini
Tested OS
Windows and Linux.
- Author
- Sean Ryan Fanello