/** \file
 * This file is used for the doxygen documentation. 
 */


/** \mainpage Documentation of lpzrobots
\par Organization:
	University Leipzig \n
	Institute for Computer Science  \n
	Dept. Intelligent Systems \n
	Prof. Dr.  Ralf Der \n
        Research Group Neuroinformatics und Robotic

\par People:
Ralf Der, Georg Martius, Frank Hesse, Rene Liebscher, 
Marcel Kretschmann, Dominic Schneider, Claus Stadler, 
Frank Güttler
 
\section General

This is a collection of algorithms, simulations, and tools 
developed by the robot group of the University Leipzig \n
(http://robot.informatik.uni-leipzig.de).
It consists of the following directories (click for details):
  - \ref selforg : controllers together with a small framework for using them,
	developed in the robotic group of Leipzig university
	yielding at self-organized behaviour for various kinds of machines. 
  - \ref ode_robots : stuff needed for our ODE-simulations 
	(Open Dynamics Engine, see http://www.ode.org) such as robots, 
 	obstacles, utils, our patches and stuff for visualization with OSG 
        (OpenSceneGraph, see http://www.openscenegraph.org)
  - \ref guilogger : application that coordinates multiple gnuplot 
	windows and switches channels on or of, data is sent per pipe from your program 
  - \ref neuronviz : application that displays neural networks
  - \ref webots : directory with some webots simulations  
  - \ref opende : directory with a snapshot of the open dynamics engine (some developer version after 0.6)
		(please follow the link for installion hints)


\section Requirements
 
You need the following software and libraries installed (Tested on Linux x86 machines)
- ODE see http://www.ode.org which is now in the opende directory 
   (please follow the instrutions printed by the Makefile in lpzrobots)
- OpenSceneGraph http://www.openscenegraph.org (version >= 0.9.8) 
  (Debian includes it in Etch (Testing) and higher)
- (\a optional) Qt library from http://www.trolltech.com for guilogger (version > 3.0)
- (\a optional) Java JDK for neuronviz (version >= J2SE 1.5.0)

\section Inst Installation \& Startup

- Download source tar ball from 
  http://robot.informatik.uni-leipzig.de/software .
- Unpack file.
- Change into <tt> lpzrobots </tt> directory
- Call <tt> make </tt>. It will to the following:
	- it compiles \ref neuronviz (not strictly necessary, only for displaying neuronal network online) 
	- it compiles \ref guilogger (not strictly necessary, only for displaying parameters online) 
   	- Please note, that the make call will not fail if either of them failed to make, 
 	  because they are optional.  
	  Type <tt> make guilogger </tt> and <tt> make neuronviz </tt> to compile them seperately.
	- it creates dependency files and creates links to header files, that they can be found.
	- it prints some information how to install the ODE residing in the \ref opende directory.
- Call <tt> make install </tt> to install the guilogger binary and the neuronviz stuff to your  
  <tt>~/bin</tt> and <tt>~/lib</tt> folder of your home directory. 
	(Might be necessary to create the folders by hand.)
- To start a simulation go into that simulation directory, call <tt>make</tt> and 
  <tt>./start</tt>.
  For example when you want to start the template_onerobot simulation type
  <tt>cd ode_robots/simulations/template_onerobot</tt>, then call <tt>make</tt> and after
  successful compilation type <tt>start</tt> to start the simulation 
  (<tt>make opt</tt> will produce and <tt>start_opt</tt>, which is compiled with optimisation. (might need a make clean before))
- The following command line options are available 
  (type start -h for a full list of options): \n
\verbatim
Usage: ./start [-g [interval]] [-f [interval]] [-r seed] [-x WxH] [-pause] [-noshadow] [-drawboundings] [-simtime [min]]
        -g [interval]   use guilogger (default interval 1)
        -f [interval]   write logging file (default interval 5)
        -n [interval]   use neuronviz (default interval 10)
        -r seed         random number seed
        -x WxH          window size of width(W) x height(H) is used (640x480 default)
        -pause          start in pause mode
        -noshadow       disables shadows and shaders
        -drawboundings  enables the drawing of the bounding shapes of the meshes
        -simtime [min]  intended simulation time in minutes
\endverbatim
- Have a look at the console after starting the program, 
  there you will find some further information for the usage of the program.
- For starting your own simulation see paragraph "How to Start Your Own Simulation" 
  in \ref ode_robots.
- For a well documented examples of a main.cpp of a simulation and a robot .cpp file click 
  the tab "Examples" at the top of this page.


\section Documentation

- This manual can be found at http://robot.informatik.uni-leipzig.de/software
- More informations on the used self-organization algorithm is available at  
  http://robot.informatik.uni-leipzig.de/research
- The ODE tutorial of Marcel Kretschmann can be found at 
  http://robot.informatik.uni-leipzig.de/students \n
  (Tar ball with pdf and example code also there available.)
- The original ODE documentation can be found at http://www.ode.org/ode-docs.html 
- The OSG documentation can be found at  http://www.openscenegraph.org/osgwiki/pmwiki.php/Documentation/Documentation

*/
