From AIRWiki
Jump to: navigation, search
Coordinator: MatteoMatteucci (
Tutor: SimoneCeriani (
Students: VincenzoRizzo (, RobertoBacciocchi (, AntonioBianchi (, MladenMazuran (, MatteoLuperto (, AngeloZuffiano (
Research Area: Computer Vision and Image Analysis
Research Topic:
Start: 2010/06/30
Status: Active

PhD Thesis

Simone Ceriani PhD Thesis, download here or on POLITesi


The aim of the moonSlam project is to create a generic software framework for SLAM (Simultaneous Localization And Mapping).



Use the DEI svn system (you need a valid account):

Use --username <username> after the svn command if you neeed to specify your username and password

SVN principal commands

Check this, seems to be a good tutorial: [[1]]

  • do svn up or svn update to check the status of repository
  • with svn add you can add the unversioned elements (it is recursive)
  • with svn stat you can check your svn status
  • with svn ci -m"comments" you can checkin your files

How to says to svn that some folders or files has to be ignored

This is the common situtation

  • you want to avoid the versioning of .settings, build and doc folder (that are shown with a '?' in the svn stat result)
  • do svn propedit .
  • add in the editor (nano, vim or something similar) the folders or files that you want to ignore (one per line).
  • run svn stat, the '?' should disappear, because the elements are ignored.

Useful readings

Introduction to SLAM

  • Wikipedia [2]
  • IEEE Slam tutorials
    • Simultaneous Localization and Mapping: Part I [3]
    • Simultaneous Localization and Mapping: Part II [4]


  • Probabilistic Robotics [7]

Computer Vision

  • Computer Vision: Algorithms and Applications [8]

A freely available book about Computer Vision. Some chapters are dedicated to features recognition.

Useful Materials

  • Joan Solà materials on quaternions [9], EKF mathematics for SLAM [10] and PhD Thesis [11]

Some thesis (Bachelor, MS or PhD)

  • Visual
    • Migliore Davide (PhD) []
    • MarzoratiDaniele (PhD) []
    • RigamontiRoberto (MS) []
    • Joan Solà (Phd) [12]
  • Computer Vision
    • MassimoQuadrana (Bachelor) []
  • CI-Slam
    • Pedro Piniés Rodriguez (Phd) [13]

How to compile

On a "clean" Ubuntu 10.04.2 32bit installation, first of all, you need to install these packages:

  • subversion cmake g++ doxygen

Then you have to install all the libraries required by moonSlam:

  • liblog4cpp5-dev libxml++2.6-dev libpng3-dev libboost-all-dev

moonSlam requires packages that are not available in Ubuntu standard repositories:

  • libconfig++1.4.6

Download it from here and then install it, following the instructions written in INSTALL file.

  • Eigen 3.0 library

Download it from here and then install it, following the instructions written in INSTALL file.

  • Opencv 2.2

Download it from here and then install it, following the instruction written here.

Opencv2.2 needs eigen2 library. Before compiling it, install eigen2 library (apt-get install libeigen2-dev).

You need also mrpt from the svn

svn checkout mrpt-read-only
cd mrpt-read-only/
mkdir build
cd build/
cmake ..
sudo make install

Now you can compile moonSlam.

  • open a shell inside trunk folder
  • mkdir build
    cd build
  • now you can make one of these folder
    • Debug
    • Release
    • RelWithDebInfo
    • MinSizeRel
  • cd in the created folder (e.g. cd Debug)
  • cmake ../..
  • make

If everything goes fine, compiled binaries and libraries will be written inside trunk/build/<yourChoice> folder (keeping trunk folder "clean").

Note: performance, executable size and other aspects depends on the choosen build configuration. See the CMakeLists.txt file to know which compilations flags are used.

Note(2): MoonSlam compile with the libconfig++ proposed in Ubuntu repository, but some configuration files use the @include directive, that is supported by the libconfig++1.4.6.

Create the documentation

go in the base folder (e.g. trunk) and type doxygen <LibraryName>.doxyfile

you will find documentation in doc/<LibraryName>/html folder

for each library


Andrew Davison home page

Joan Solà home page

Robotics, Perception and Real Time group, Zaragoza