forked from georgmartius/lpzrobots
-
Notifications
You must be signed in to change notification settings - Fork 0
Robot simulator with realistic 3D physics
koro/lpzrobots
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
/** \file
* This file is used for the doxygen documentation.
*/
/** \mainpage Documentation of lpzrobots
\par Organization:
Max-Planck Institute for Mathematics in the Sciences\n
Inselstr. 22, 04103 Leipzig, Germany\n
Dr. Georg Martius & Prof. Dr. Ralf Der \n
\n
University Leipzig \n
Institute for Computer Science \n
Dept. Intelligent Systems \n
Frank Güttler \n
Research Group: Technische Informatik\n
\par People:
Georg Martius, Ralf Der, Frank Hesse, Frank Güttler, Jörn Hoffmann\n
Former Contributors: Antonia Siegert, Marcel Kretschmann, Dominic Schneider, Claus Stadler
\section General
This is a collection of algorithms, simulations, and tools
developed by the Robotics Group for Self-Organization of Control
(http://robot.informatik.uni-leipzig.de).\n
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 behavior for various kinds of machines.
- \ref ode_robots : physics simulator based on ODE
(Open Dynamics Engine, see http://www.ode.org).
This includes such as robots, obstacles, utilities,
stuff for visualization with OSG
(OpenSceneGraph, see http://www.openscenegraph.org) and so on.
- \ref guilogger : application that coordinates multiple gnuplot
windows and allows for an interactive display of data that is sent per pipe from another - \ref matrixvix : application for interactive display of changing matrix and vector data
- \ref configurator : a library implementing a GUI to change the parameters interactively
which is otherwise done on the console
- \ref ga_tools : genetic algorithms framework that can be used to together with
ode_robots or for independent simulations (not well maintained)
program
- \ref opende : directory with a snapshot of the open dynamics engine (release 0.11.1)
renamed to ode-dbl in order to avoid conflicts with packaged single
precision versions. It contains the capsule-box collision bugfix
which is upstream (in svn)
(please follow the link for installation hints)
\section Inst Installation \& Startup
You have two different ways to get the simulator to work.
- A) Install a package for your distribution.
This is the quick 'n' easy way if you have root permissions, see \ref InstA.
- B) Download the source tar ball and compile the simulator yourself, see \ref InstB
\subsection InstA Way A: Package installation
\subsubsection Ubuntu
A package repository is hosted at
https://launchpad.net/~georg-martius/+archive/lpzrobots \n
Do on a terminal (or read the link: "read about installing" on that page):
\verbatim
sudo add-apt-repository ppa:georg-martius/lpzrobots
sudo apt-get update
\endverbatim
Then you can install <tt>lpzrobots</tt> as any other package do:
\verbatim
sudo apt-get install guilogger lpzrobots-oderobots
\endverbatim
This will automatically install all other dependencies.
That's it!
Now you can copy the sample simulations from
<tt>/usr/share/lpzrobots/</tt> to your home directory and
continue reading in section \ref RunExample.
\subsubsection Other debian based systems (deb)
There is an install makefile located here:
http://robot.informatik.uni-leipzig.de/software/packages/deb/install_deb_source.makefile .
Save it on you disk in an empty directory and run on the console
\verbatim
su -c apt-get install make
make -f install_deb_source.makefile
\endverbatim
That will download the newest packages, compile them and install it.
If something fails you can also redo parts of the process, see "make -f install_deb_source.makefile help".
The packages are: guilogger, matrixviz, ode-dbl, lpzrobots-selforg, and lpzrobots-oderobots
You can uninstall them later using the package manager (apt-get or synaptics)
\subsubsection Alternatively: Creating your own packages
You can do it step by step as follows:
Download all files from http://robot.informatik.uni-leipzig.de/software/packages/deb/current/ \n
Then do
\verbatim
# here you should not be root
dpkg-source -x guilogger-0.*.dsc
cd guilogger-0.*
dpkg-buildpackage -rfakeroot -b -uc
cd ../
# become root (e.g. with su or sudo -s)
dpkg -i guilogger-0.*.deb
\endverbatim
This you have to repeat for each package (e.g. replace guilogger by ode-dbl, lpzrobots-selforg, and lpzrobots-oderobots)
\subsection InstB Way B: Installation from source
\subsubsection Linux
Check the <tt>Dependencies</tt> file for required packages.
\subsubsection MAC
We recommend to install the ODE and OSG via macports (http://www.macports.org)
(after installation of macports type on a console
<tt>sudo port install osg OpenSceneGraph</tt>) and see the <tt>Dependencies</tt> file.
We will update the mac-related install procedures soon.
\subsubsection Instructions
- Download the source tar ball from
http://robot.informatik.uni-leipzig.de/software/current .
- Unpack file (<tt>tar -xvzf lpzrobots*.tar</tt>).
- Change into <tt> lpzrobots </tt> directory
- Call <tt> make help</tt> to get a help display and continue with
<b><tt> make all</tt></b>. This will do everything. The first time you call it
it will configure your build (you can reconfigure later with make conf).
The following modules are compiled:
- \ref matrixviz (not strictly necessary, only for displaying neuronal network parameters online)
- \ref guilogger (not strictly necessary, only for displaying parameters online (recommended))
- \ref configurator library (not strictly necessary, only for changing parameters conveniently)
- Please note, that the make call will not fail if either of them failed to compile, because they are optional. You can type <tt> make guilogger </tt> and <tt> make matrixviz </tt> to compile them separately.
- \ref selforg
- \ref opende (our ode version with double precision) (required)
- \ref ode_robots
- \ref ga_tools
- if you do it step by step as display with <tt>make help</tt>
you need to use <tt>sudo make xxxx</tt> if the installation is into a system directory. (make all will do use it automatically if required). Note that the <tt>PATH</tt> variable needs to contain the PREFIX<tt>/bin</tt> (as checked by the configuration process). If you have multiple lpzrobots installations make sure the prefix for the current lpzrobots comes first in the <tt>PATH</tt> variable
- Now you are done with the installation and you can try a sample simulation see next section.
\subsection RunExample Run example Simulations
- Simulations are located in <tt>ode_robots/simulations/</tt>,<tt>ode_robots/examples/</tt>, and <tt>selforg/simulations/</tt>. This folders you can find in the lpzrobots tar files or if installed on your system under <tt>/usr/share/lpzrobots</tt>or<tt>/usr/local/share/lpzrobots</tt>. In the latter case copy the simulations to your home directory first.
- To start a simulation go into a simulation directory.
- Call <tt>make</tt> to compile it.
- You can start the simulation by <tt>./start</tt>.
- For example when you want to start the template_sphererobot simulation type:
\verbatim
cd ode_robots/simulations/template_sphererobot
./start
\endverbatim
- for optimization you can also use <tt>make opt</tt> which produces and <tt>start_opt</tt>. This is recommended to use after testing the code.
- 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] [-fs]
[-pause] [-shadow N] [-noshadow] [-drawboundings] [-simtime [min]] [-threads N]
[-odethread] [-osgthread] [-savecfg]
-g interval use guilogger (default interval 1)
-f interval write logging file (default interval 5)
-m interval use matrixviz (default interval 10)
-s "-disc|ampl|freq val" use soundMan
-r seed random number seed
-x WxH * window size of width(W) x height(H) is used (default 640x480)
-fs fullscreen mode
-pause start in pause mode
-nographics start without any graphics
-noshadow disables shadows and shaders (same as -shadow 0)
-shadow [0..5]] * sets the type of the shadow to be used
0: no shadow, 1: ShadowVolume, 2: ShadowTextue, 3: ParallelSplitShadowMap
4: SoftShadowMap, 5: ShadowMap (default)
-shadowsize size * sets the size of the shadow texture (default 2048)
-drawboundings enables the drawing of the bounding shapes of the meshes
-simtime min limited simulation time in minutes
-savecfg safe the configuration file with the values given by the cmd line
-threads N number of threads to use (default is the number of processors)
-odethread * if given the ODE runs in its own thread. -> Sensors are delayed by 1
-osgthread * if given the OSG runs in its own thread (recommended)
* this parameter can be set in the configuration file ~/.lpzrobots/ode_robots.cfg
\endverbatim
- On some machine the program crashed right away because of graphic card incompatibilities,
try: <tt>./start -noshadow</tt>
- Have a look at the console after starting the program,
there you will find some further information for the usage of the program.
- E. g. with Ctrl+C (on the terminal) you get a interactive console interface
which can be used to modify parameters on the fly.
- 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 information on the used self-organization algorithm is available at
http://robot.informatik.uni-leipzig.de/research
- The original ODE documentation can be found at http://opende.sourceforge.net/wiki/index.php/Main_Page
- The OSG documentation can be found at http://www.openscenegraph.org/projects/osg/wiki/Support
*/
About
Robot simulator with realistic 3D physics
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 91.6%
- C 3.9%
- Makefile 1.3%
- Java 1.0%
- Objective-C 0.9%
- Shell 0.4%
- Other 0.9%