Source Code

C++, CUDA and Matlab functions for automatic sensor alignment

Code produced during the creation of my PhD thesis. It contains all of the code used in performing the experiments found in the thesis.
 Briefly, this code utilizes the motion of sensors in combination with their output to calibrate a system with no initial estimates to the extrinsic parameters required. The code works for cameras, IMU and 3D lidar sensors and in addition to providing the calibration gives an estimate of the uncertainty of the values obtained. For more details refer to my thesis.

Note this code makes use of Matlab, C and Cuda, because of this it requires a computer with the appropriate compilers and an Nvidia graphics card with compute 2.0 or higher.
Code used to generate the results in my ICRA 2015 paper. Essentially a far less polished and more limited version of the above Motion-Based code. Unlike above the method cannot compensate for timing offsets and uses a simple and slow bootstrapping method in determining uncertainty parameters. 
A Matlab toolbox for quickly finding the transformation from a ridgidly mounted camera to the base of a robotic arm.
See the project page for further details.
This code represents a rough first draft of my motion-based calibration process. The code utilizes structure from motion in combination with the Levinson method to calibrate a Velodyne-Camera system. For more details see my ICRA2014 long term autonomy workshop paper in the publications section.
A couple of the more useful functions I have written in Matlab. Currently contains an efficient normals calculation method and methods for generating images from point clouds.
This code has had a strong focus on efficiency, readability and ease of use.
​This code was written during the first year of my PhD. It is a collection of C++, Cuda and Matlab functions for performing automatic alignment and extrinsic calibration of different sensors based on the appearance of an arbitrary scene.
The m files all contain information on each function and how to run them with a few example scripts provided with the code. If you are interested in the C++ and CUDA that is running behind the scenes the Doxergen documentation can be found  here .