Difference between revisions of "MoonSlam"

From AIRWiki
Jump to: navigation, search
(Download)
Line 24: Line 24:
  
 
Use --username <username> after the svn command if you neeed to specify your username and password
 
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: [[http://svnbook.red-bean.com/en/1.4/svn.tour.cycle.html]]
 +
* do <code>svn up</code> or <code>svn update</code> to check the status of repository
 +
* with <code>svn add</code> you can add the unversioned elements (it is recursive)
 +
* with <code>svn stat</code>  you can check your svn status
 +
* with <code>svn ci -m"comments"</code> 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 <code>svn propedit .</code>
 +
* add in the editor (nano, vim or something similar) the folders or files that you want to ignore (one per line).
 +
* run <code>svn stat</code>, the '?' should disappear, because the elements are ignored.
  
 
== Useful readings ==
 
== Useful readings ==

Revision as of 22:55, 16 February 2011

moonSlam
Coordinator: MatteoMatteucci (matteo.matteucci@polimi.it)
Tutor: SimoneCeriani (ceriani@elet.polimi.it)
Collaborator:
Students: VincenzoRizzo (vincenzo.arigliano@gmail.com), RobertoBacciocchi (roberto.bacciocchi@mail.polimi.it), AntonioBianchi (antonio.bianchi.333@gmail.com), MladenMazuran (mladen.mazuran@gmail.com), MatteoLuperto (matteo.luperto@polimi.com), AngeloZuffiano (angelo.zuffiano@mail.polimi.it)
Research Area: Computer Vision and Image Analysis
Research Topic:
Start: 2010/06/30
Status: Active

Goal

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

Motivation

Download

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]

EKF

  • Probabilistic Robotics [7]

Useful Materials

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

Some thesis (Bachelor, MS or PhD)

  • Visual
    • Migliore Davide (PhD) []
    • MarzoratiDaniele (PhD) []
    • RigamontiRoberto (MS) []
    • Joan Solà (Phd) [11]
  • 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.

Note(2): MoonSlam now need OpenCV2.2, probably you have to compile it by hands (they are not available in Ubuntu standard repositories)

Note(3): 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. Get it from here.

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

Links

Andrew Davison home page

Joan Solà home page

Robotics, Perception and Real Time group, Zaragoza