The CAS Robot Navigation Toolbox

What is it?
  •  A GNU GPL licenced Matlab toolbox for robot localization and mapping
  •  Made for research and education
  •  Independent on the type(s) of feature
  •  Independent on the type(s) of sensors
  •  Imports a number of data file formats from any sensor
  •  Plug in and out your feature extraction, odometry model, data association strategy, etc.
  •  Plug in and out your SLAM or Localization approach
  •  Comes with a number of useful tools and functions

  • Current Version
    Version 1.0, February 2004

    System Requirements
  •  Matlab version 6 (tested on Win XP, Linux, Solaris and Mac OS X)
  •  No other Matlab toolbox required

  • Feedback
    Bug reports, comments on the documentation or suggestions for future releases are very welcome! Please write to: navtoolbox AT nada DOT kth DOT se. Don't forget to specify your computer, operating system and Matlab version (including information on installed toolboxes).

    Where can I get it?
  •  Toolbox [zipped tar file, 8.1 MBytes]
  • Version: 1.0
    Date: February 2004
  •  Quick Guide [pdf file, 256 kBytes]
  • Version: 1.0
    Date: February 2004
  •  Users Guide (PDF)
  • Version: 0.9
    Date: March 2004

    Quick Guide
    After decompression and unpacking, put the directory toolbox at a place of your choice. Start up Matlab from toolbox or set toolbox as the current working directory. Then execute the initialization script inittoolbox.m by typing inittoolbox (without the .m extension). The script adds all toolbox-related paths and reads in a lookup table. This has to be done only once per Matlab session.

    Obtaining Help
    If the command window is cleared and the initialization script terminates by inittoolbox: Paths added, lookup table in memory, you are ready to go. Remember that you can always type help filename (without the .m extension) to obtain the help text of a file and help directoryname to get the first lines of all m-files in a directory. As method names can be ambiguous, they must be called together with their class name using a slash, i.e. help map/set or help robotdd/draw.

    Drawing raw data
    There are four data sets and five precooked experiments: atrium, bakery1 & bakery3 and sjursflat (beacons and lines). First, try to draw the raw data, that is odometry and laser range data. Type
    where you specify the set up file of an experiment ('atriumsetup') which contains all (!) model and algorithm parameters of an experiment, the start step (1) and, say, the first hundred steps.
    Then the bakery experiments:
    and finally the data set with beacons and lines:

    Then, why not, try to do slam. Start with the smallest (fastest) experiments:
      G = slam('bakery3setup',1,72,3);
      G = slam('bakery1setup',1,160,3);
    Besides the set up file of the experiment, the start step and the number of steps we also give a forth parameter, the display mode. Three means that we want to show the local and the global map at each step. Then:
      G = slam('sjursflatbeaconsetup',1,280,3);
    Finally, the biggest experiments:
      G = slam('sjursflatlinesetup',1,280,3);"
      G = slam('atriumsetup',1,310,3);"
    The resulting maps should be identical to the corresponding tiff-images which accompany each data set. If you have a slow computer, just try the first two experiments or stop after, say, 50 steps.

    The User Guide and Reference contains a description how to employ the toolbox with your data sets, and how to configure the set up file of an experiment.

  •  Kai O. Arras
  • Thanks for valuable feedback
  •  Henrik I. Christensen
  •  Patric Jensfelt
  •  Ville Kyrki

  • Related Links
  •  Robotics Toolbox for MATLAB, CSIRO, Australia
  •  CARMEN, The CMU Robot Navigation Toolkit

  • K.O. Arras, 2004-02