libflounder
===========

This library contains classes and functions useful when implementing SLAM

The SLAM class is an abstract parent class that implements as much of the
application invariant SLAM functionality as possible. 

The SLAM class implements the EKF udpate equations, and provides helper 
functions for implementing prediction, feature addition/removal and pose 
addition/removal.


Documentation
-------------

Run 'make doc' or 'doxygen doc/doxygen.cfg' to create doxygen documentation. 
Doxygen will need to be installed. The documentation will be put in the doc/html
directory. Open doc/html/index.html with a web-browser to view the 
documentation.

The doc/slam directory has the latex sources for a document describing the
SLAM implementation of the Seabed AUV.


Dependencies
------------

cholmod - Sparse cholesky factorisation
          This is provided by the debian package ufsparse-dev

ulapack     - from ACFR public cvs repository
libplankton - from ACFR AUV project cvs repository


Build Instructions
------------------

First, type 'cmake .' to build makefiles.
then type:
 - 'make'                  - to build the library.
 - 'sudo make install'     - to install the library globally.
 - 'make test' or 'ctest'  - to run the tests
 - 'make doc'              - to generate the doxygen documentation.

Note: The result of the tests can be submitted to the dartboard using
      the command 'ctest -D Experimental'
