libplankton
===========

This library contains objects and functions commonly used in the AUV project
libraries and programs.


What does this library contain?
------------------------------
* A Configuration file class
* A log file class.
* Definitions of vector and matrix classes (redefined from uBLAS)
* Vector and Matrix operations 
* Definition of 3D poses
* 3D Geometry functions for
   - the cross product matrix
   - rotation matrix
   - derivatives of rotation matrices with respect to phi, theta and psi
   - rotation rate matrix   
   - derivatives of the rotation rate matrix with respect to phi, theta and psi
   - pose composition operations and their Jacobians
      - head to tail
      - tail to tail
      - inverse


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.


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

uBLAS - part of the boost c++ library collection.
        Debian package is 'libboost-dev'


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'


Ian Mahon
19-04-05
