The Laser-Camera Calibration Toolbox
What and Why?
External calibration of a camera to a laser rangefinder is a common pre-requisite on today's multi-sensor mobile robot platforms. However, the process of doing so is relatively poorly documented and almost always time-consuming.
To bridge this gap we've developed the Laser-Camera Calibration Toolbox (LCCT), a Matlab® -based graphical user interface to an easy and portable technique for external calibration of a camera to a laser rangefinder.
The latest version 1.1 (last updated on 10th Nov, 2006) may be downloaded in separate modules as:
LCCT source files (68 KB) - here
LCCT documentation (1.3 MB) - here
LCCT sample data and result files (5.3 MB) - here
LCCT test data files (2.5 MB) - here
OR as a complete self-contained bundle (9.1 MB) here containing software, documentation as well as all the sample laser and image data files.
The software assumes a certain convention for the xyz points in order to project it to 2d.
It assumes that x-axis faces to the right of the laser, y-axis faces forward and z-axis is
the upright direction facing "up" from the ground to the sky.
If this is not the same as your convention, then do the following:
Figure out what is the vector corresponding to the "up" direction in the coordinate
system of your laser points. e.g. in what I described earlier, it is the z-axis, so
the vector is [0 0 1]. Then appropriately change the line in view_range_image.m that goes:
handles.up_vector = [0 0 1]';
It should work then.
The above software has been tested on the following Matlab® versions/platforms :
220.127.116.115 (R14) SP2 (on windows)
18.104.22.16820(R14) (on windows)
22.214.171.124913a (R13) (on linux) and
126.96.36.199 (R14) SP 3 (on linux)
All potential incompatibilities between v6 and v7 have been taken care of as far I can tell. So in principle, you shouldn't have any trouble.
A citation of the tech report would be much appreciated. Sponsorship of vodka-based refreshments even more so.
Do email me in case there's some useful feature that you'd like to have added. Enjoy!
(11/10/2006) : Linux bug fix
(03/01/2006) : backward compatibility
Version 1.0 - the "inaugral release"
Improvements from previous (internal) beta version include: