00001 /** \file 00002 * This file is used for the doxygen documentation. 00003 */ 00004 00005 /** 00006 \dir ode_robots 00007 00008 00009 The \a ode_robots directory provides all the stuff necessary for 00010 the simulations we did with ODE (http://ode.org). 00011 00012 \par Simulation Environment 00013 00014 The class \ref lpzrobots::OdeConfig holds the configurable parameters of the simulation environment 00015 like \ref lpzrobots::OdeConfig::gravity "gravity", \ref lpzrobots::OdeConfig::simStepSize "simStepSize", 00016 \ref lpzrobots::OdeConfig::realTimeFactor "realTimeFactor" and so on.\n 00017 In \ref simulation.h and \ref simulation.cpp you find the \ref lpzrobots::OdeConfig::simulation_start "start", 00018 \ref lpzrobots::OdeConfig::simulation_init "init" and \ref lpzrobots::OdeConfig::simulation_close "close" routines 00019 as well as the \ref lpzrobots::OdeConfig::nearCallback "collision handling" etc. of the simulation environment, 00020 which are used for all simulations. 00021 In the \ref lpzrobots::OdeConfig::simulation_init "init" function you can specify user defined functions if your simulation needs this, possible are: 00022 - \ref lpzrobots::Simulation::start "start" 00023 - \ref lpzrobots::Simulation::end "end" 00024 - \ref lpzrobots::Simulation::config "config" 00025 - \ref lpzrobots::Simulation::command "command" 00026 - \ref lpzrobots::Simulation::collCallback "collCallback" 00027 - \ref lpzrobots::Simulation::addCallback "addCallback" 00028 00029 But you normally do not have to change anything in this files. 00030 00031 00032 \par Simulation Objects and more 00033 00034 The things inside the simulation environment (and some additional stuff) is inside 00035 the following subdirectories 00036 - \ref ode_robots/simulations "simulations" : 00037 ready to use simulations 00038 - \ref ode_robots/agents "agents": 00039 structure to build a "complete" agent (consisting of a controller, 00040 a robot and the wiring in between), different wirings 00041 - \ref ode_robots/robots "robots": 00042 our robots,creatures, vehicles or whatever you would like to call 00043 them are in this directory 00044 - \ref ode_robots/components "components": 00045 create your robots by plugging together different parts (work in progress) 00046 - \ref ode_robots/osg "osg primitives": 00047 primitives of which robots and obstacles can be assembled, and further helpful things dealing with OSG 00048 - \ref ode_robots/motors "motors": 00049 a few additional motors (PID servos) 00050 - \ref ode_robots/sensors "senors": 00051 up to now an infrared-sensor and a sensorbank is available 00052 - \ref ode_robots/obstacles "obstacles": 00053 passive obstacles like different kinds of playgrounds, a sphere and usage of terrains 00054 - \ref ode_robots/utils "utils": 00055 all the little things that make life easier 00056 - \ref ode_robots/ode_patches "ode_patches": 00057 our patches for ODE and drawstuff 00058 - \ref ode_robots/textures "textures": 00059 our textures used in the simulations and a program for calculating heigtmaps 00060 00061 00062 00063 \par How to Start Your Own Simulation 00064 00065 To start a new project copy one of the "template" directories in the simulations folder. 00066 Please note that you have to delete the CVS dirctory inside your copy 00067 before you add it to the cvs repository. 00068 Or just use the createNewSimulation.sh script in the simulations directory:\n 00069 <tt> $> ./createNewSimulation.sh template_dir newsimname </tt>\n 00070 where \p template_dir is the template directory you wish to copy and \p newsimname is the 00071 name of the new simulation you wish to create. 00072 00073 Now you can adjust the simulation as needed. 00074 A simple make (and maybe a make depend before the make) in the simulation directory should be enough. 00075 In case your simulation code consists of other files than main.cpp, 00076 please add them to FILES in the Makefile in the simulation directory. 00077 00078 If you insert a new file to the simulation framework, 00079 such as a new obstacle, robot or similar you DON'T need to do anything. 00080 Every *.cpp file in the directories specified in Makefile.conf is 00081 compiled and included in the library libode_robots.a. 00082 In case you add a new directory with source files, 00083 which should be included in the lib, then add it to Makefile.conf. 00084 00085 */ 00086 00087