Visual SLAM

Hi, I started this project way back in 2008 as a part of building the control system for an UAV (Unmanned Ariel Vehicle) for the DRDO golden Jubilee challenge. (the original link has expired). Basically we were trying to build a UAV that could stay aloft at about 30 meters and transmit live video back to base.

The control system was particularly complex to build based only on accelerometers and gyroscopes. So, we tried to use the on-board camera's ego motion to increase the stability of flight. It didn't quite take off, but I have carried my research on integration of inertial sensors to video camera. Mostly inspired by the gyroviz project. I have got quite a few exiting results, it can be seen on the publications page.

SLAM (Simultaneous Localization and Mapping) is an aspect of robotics that requires extensive visualization. Traditionally mapping was done using SONARs/LASERs to accurately find out the distance. But If a camera has a inertial sensor connected to it, it can have a fairly accurate data of its movement from one picture to another. and it can reconstruct the points that are imaged in the 2 frames much faster and more accurately.

Before starting with the process of downloading the codes, I would recommend you go through the papers listed here. the 3D scan repository in maintained in this site.

The codes associated with this project can be downloaded here. Please note they require a Linux operating system( Kernel version 2.6.26 or higher). I have personally tested it on Fedora 10.

The codes were originally written by Prof. Dr. Andreas Nuechter and his team and you have to include his work if you use this data.

The Readme file contains the list of modifications. There is a new file inertialsens.c to include the data from the inertial sensors. The file egomot.c is used to write into the /dat directory. The new files are named viscan.3d, viscan.pose etc...

You will need a webcam and the associated drivers on linux and it should be an UVC compatible camera. ( If it works fine with OpenCV, then it should be fine, I think).