From AIRWiki
Revision as of 23:39, 16 February 2011 by SimoneCeriani (Talk | contribs) (How to compile)

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


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

Useful readings

Introduction to SLAM

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


  • Probabilistic Robotics [6]

Useful Materials

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

Some thesis (Bachelor, MS or PhD)

  • Visual
    • Migliore Davide (PhD) []
    • MarzoratiDaniele (PhD) []
    • RigamontiRoberto (MS) []
    • Joan Solà (Phd) [10]
  • Computer Vision
    • MassimoQuadrana (Bachelor) []

How to compile

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

  • svn cmake g++

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

  • liblog4cpp5 liblog4cpp5-dev libcv-dev libhighgui-dev libconfig++8-dev libxml++2.6-dev libboost-all-dev libcvaux-dev opencv libopencv-dev

moonSlam requires also Eigen 3.0 library. It is not present on official Ubuntu 10.4 repository, download it from here and then install it, following the instructions written in INSTALL file.

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.


Andrew Davison home page

Joan Solà home page

Robotics, Perception and Real Time group, Zaragoza