From: <mar...@us...> - 2009-02-08 00:25:57
|
Revision: 42 http://simspark.svn.sourceforge.net/simspark/?rev=42&view=rev Author: marianbuchta Date: 2009-02-08 00:25:53 +0000 (Sun, 08 Feb 2009) Log Message: ----------- Update SimSpark User's Manual Modified Paths: -------------- trunk/rcssserver3d/doc/users/CMakeLists.txt trunk/rcssserver3d/doc/users/definitions.tex trunk/rcssserver3d/doc/users/gettingstarted.tex trunk/rcssserver3d/doc/users/introduction.tex trunk/rcssserver3d/doc/users/overview.tex trunk/rcssserver3d/doc/users/resources.tex trunk/rcssserver3d/doc/users/robots.tex trunk/rcssserver3d/doc/users/simspark.tex trunk/rcssserver3d/doc/users/simulations.tex trunk/rcssserver3d/doc/users/user-manual.tex Added Paths: ----------- trunk/rcssserver3d/doc/users/rcssagent3d.tex Removed Paths: ------------- trunk/rcssserver3d/doc/users/agentspark.tex Modified: trunk/rcssserver3d/doc/users/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/doc/users/CMakeLists.txt 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/CMakeLists.txt 2009-02-08 00:25:53 UTC (rev 42) @@ -3,7 +3,7 @@ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/user-manual.tex) if (PDFLATEX_COMPILER) include(../../cmake/UseLATEX.cmake) - add_latex_document(user-manual.tex INPUTS agentspark.tex gettingstarted.tex + add_latex_document(user-manual.tex INPUTS rcssagent3d.tex gettingstarted.tex robots.tex introduction.tex monitorspark.tex simspark.tex license.tex overview.tex simulations.tex definitions.tex resources.tex user-manual.tex BIBFILES references.bib IMAGE_DIRS fig DEFAULT_PDF) Deleted: trunk/rcssserver3d/doc/users/agentspark.tex =================================================================== --- trunk/rcssserver3d/doc/users/agentspark.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/agentspark.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -1,47 +0,0 @@ -\chapter{Agentspark} -\label{cha:agentspark} - -This chapter introduces AgentSpark, the demo agent implementation -available for SimSpark. - -\section{Behaviors} - -AgentSpark is a demo agent implementation for use with the SimSpark -server. It serves as a testbed for agent implementation. It implements -all low level details of connecting and communicating with the -server. It further implements an abstract run loop. The behavior of -this agent skeleton is implemented using plugins. On of these plugins -is configured and installed at run time. - -\subsection{SoccerbotBehavior} - -The \texttt{SoccerbotBehavior} is a minimal example of an agent that -acts on a soccer field and controls our current humanoid soccer bot -model. It demonstrates reading preceptor values and controlling the -robot with the installed effectors in a control loop. The implemented -behavior resembles the classic \texttt{hello world} program in a -way. It moves up the arms of the robot and repeatedly waves hello. - -\section{How to change Behaviors?} - -The different Behaviors of AgentSpark are encapsulated in classes -that derive from the \texttt{Behavior} class. Classes of this type -implement an interface with two functions that each return a command -string that is then send to the SimSpark server. - -The first implemented function is \texttt{Init}. This function is -called once when the agent initially connected to the server. It is -typically used to construct the agent representation in the server -with the help of the \texttt{scene} effector and to move the agent to -a suitable start position in the simulation. - -The second implemented function is called \texttt{Think}. This -function is called every simulation cycle. As a parameter it receives -the sensor data as reported from the server in the last cycle. This -function should implements the main behavior run loop of each -agent. - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "user-manual" -%%% End: Modified: trunk/rcssserver3d/doc/users/definitions.tex =================================================================== --- trunk/rcssserver3d/doc/users/definitions.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/definitions.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -108,15 +108,16 @@ Markus Rollmann\\% Yuan Xu\\% Feng Xue\\% + Marian Buchta\\% } } \end{minipage} \hspace*{6cm} \begin{minipage}[t]{0.5\linewidth} - \textsf{\Large\flushright{Version 1.1}} + \textsf{\Large\flushright{Version 1.2}} \end{minipage} - \vspace{-2.5cm} + \vspace{-3cm} \begin{minipage}[t]{\linewidth} \hspace*{2.25cm} @@ -126,7 +127,7 @@ \vspace*{-0.25cm} \hspace*{-3cm}% \begin{minipage}[b]{3cm} - \textsf{\Large\flushleft{June 2008}} + \textsf{\Large\flushleft{February 2009}} \end{minipage} \end{titlepage}% Modified: trunk/rcssserver3d/doc/users/gettingstarted.tex =================================================================== --- trunk/rcssserver3d/doc/users/gettingstarted.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/gettingstarted.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -5,14 +5,12 @@ \section{Download and Installation Instructions} \label{section:install} -%Currently the soccer3d CVS builds only for Linux (the Win32 build system is not yet ported/tested, so we should focus on *nix systems. +%Currently the simspark SVN builds only for Linux (the Win32 build system is not yet ported/tested, so we should focus on *nix systems. -This chapter explains how to install SimSpark on an Ubuntu Linux -system\footnote{This guide is adapted from the guide created by the -Little Green Bats Team at -\url{http://www.littlegreenbats.nl/?q=node/70}}. It should work with +This chapter explains how to install SimSpark on an Ubuntu Linux. It should work with slight modifications on other distributions like Fedora, Suse and -especially Debian. +especially Debian system\footnote{For more guides please visit Simspark Wiki: +\url{http://simspark.sourceforge.net/wiki/index.php/Installation_on_Linux}}. \begin{enumerate} @@ -22,8 +20,7 @@ enable additional repositories in order to install all required packages. Please refer to your system specific documentation for details. In Ubuntu Linux these repositories are called -\texttt{Universe} and -\texttt{Multiverse} +\texttt{Universe} and \texttt{Multiverse}. To enable them you have to edit the \texttt{/etc/apt/sources.list} file and update the local package database. @@ -46,15 +43,8 @@ \item Install dependencies SimSpark builds and depends upon the work of other software -projects. We use the Gnu autotools to configure and build -SimSpark. Therefore these packages are required: - -\begin{enumerate} -\item autoconf -\item automake -\item libtool -\end{enumerate} - +projects. We use the CMake to configure and build +SimSpark. Further required packages are: \begin{enumerate} @@ -76,79 +66,77 @@ \item Tiff library (libtiff) \end{enumerate} -In order to build the SimSpark documentation you need a Latex -installation (e.g. \texttt{tetex}). +\texttt{\$ sudo apt-get install g++ subversion cmake libfreetype6-dev libode0-dev libsdl-dev ruby1.8 ruby1.8-dev libdevil-dev libboost-dev libboost-thread-dev libboost-regex-dev} -If you want to build the rsgedit gui you need to install -\texttt{wxWidgets}. The following commands download and installed the required packages: +\item Check out the source from the source forge SVN repository -\texttt{\$ sudo apt-get install g++ ruby1.9 ruby1.9-dev libode0-dev\ -libboost-dev libsdl-dev libfreetype6-dev libdevil-dev autoconf\ -automake1.9 libtool freeglut3-dev tetex-extra cvs xlibs-dev\ -libtiff4-dev libslang1-dev} - -\texttt{\$ sudo rm /usr/bin/ruby} - - -\texttt{\$ sudo ln -s /usr/bin/ruby1.9 /usr/bin/ruby} - - -\texttt{\$ sudo ln -s /usr/lib/libruby1.9.so /usr/lib/libruby.so} - -\item Check out the source from the source forge CVS repository - -The SimSpark source is hosted in a CVS repository at +The SimSpark source is hosted in a SVN repository at sourceforge.net. In order to build the source first download the -current version, this is called \texttt{check out} in CVS terminology: +current version, this is called \texttt{check out} in SVN terminology: -\texttt{\$ cvs -d:pserver:ano...@ss...:/cvsroot/sserver login} +\texttt{\$ svn co https://simspark.svn.sourceforge.net/svnroot/simspark sserver} +Downloaded package contains following packages: +\begin{itemize} +\item Simspark: this package contains the core simulation engine and +can be used to create different kinds of simulation. It is not soccer +specific +\item Rcssserver3D: implements soccer simulation 3d on top of simspark +engine. This package depends on simspark package +\item Rsgedit: simspark simulator with graphics user interface +\item Simspark utilities: it'll contain some additional tools for +simspark core package like: +\begin{itemize} +\item Gendot: generates a graphviz dot file showing the zeitgeist class hierarchy, including all classes that are visible at runtime +\item Monitorspark: external monitor implementation. Please refer to chapter \ref{cha:monitorspark} +\item Sampleagent: sample of simple behaviour implementation +\item Samplesim: sample of simple simulation +\end{itemize} +\end{itemize} -When you get asked for a password, just press enter. +\item Configure, generate build files and install the soccer server +You can build this packages using CMake build system (version 2.6 or higher +should be installed on your system). CMake can generate different kinds of +native build files for your system (e.g. Unix Makefiles, Eclipse CDT 4.0 project +files, Visual Studio project files). You can generate build files using CMake +command-line or GUI interfaces. -\texttt{\$ cvs -z3 -d:pserver:ano...@ss...:/cvsroot/sserver co -P rcsoccersim/rcssserver3D} - - -\item Build and install the soccer server - -The automake build tools use a \texttt{configure} script that adapts -the build process to your system allows you to customize it. The -configure script accepts a number of options that you can add to it's +The configure \texttt{cmake} accepts a number of options that you can add to it's command line: \begin{enumerate} \item \texttt{--help} lists all available configure options. There are some more available -that would exceed the scope of this manual +that would exceed the scope of this manual. Note: The list of all available generator for your OS platform are at the end of printout. -\item \texttt{--enable-debug=no} builds an optimized version of SimSpark -that contains no debug symbols +\item \texttt{--G <generator-name>} specify a makefile generator. -\item \texttt{--enable-kerosin=no} builds SimSpark without rendering support +\item \texttt{-DCMAKE\_INSTALL\_PREFIX:PATH=/some/path} +defines the path where the \texttt{make install} will later install the SimSpark executable and resources into your system. If omitted it defaults to /usr/local/lib -\item \texttt{--prefix=/some/path} defines the path where the \texttt{make install} will later -install the SimSpark executable, plugins and resources into your -system. If omitted it defaults to /usr/local - \end{enumerate} -Change in to the top level source directory call the bootstrap script -that invokes the autotools, run configure with your custom options, -start the build process and install the server into your system. +Every package has the same installation procedure. Change in to the top level package directory (spark, rcssserver3D etc.). We recommend to create a directory to hold your build files. Change directory to the directory you created in the previous, run cmake build system, start the build process and install the server into your system. -\texttt{\$ cd rcsoccersim/rcssserver3D/} +For soccer simulation, you'll need at least simspark (build at first) and rcssserver3d packages. Other packages are optional (Rsgedit and Simspark-utilities). -\texttt{\$ ./bootstrap} +\texttt{\$ cd sserver/trunk/spark/} -\texttt{\$ ./configure} +\texttt{\$ mkdir build} +\texttt{\$ cd build} + +\texttt{\$ cmake ..} + +Note: Optionally, now you can run \texttt{ccmake .} to edit the build settings (for example the installation directory). + \texttt{\$ make} \texttt{\$ sudo make install} \item Make sure the linker can find your shared libraries if you changed -the install prefix as described above with the \texttt{--prefix} +the install prefix as described above with the \texttt{-DCMAKE\_INSTALL\_PREFIX:PATH} option. \texttt{\$ sudo gedit /etc/ld.so.conf} @@ -157,12 +145,43 @@ \texttt{\$ sudo ldconfig} -\item run the simulation +\item Run the simulation -{\texttt{\$ cd}} +\texttt{\$ simspark} -{\texttt{\$ simspark}} +\item Optionally +\begin{itemize} +\item Documentation + +After creating build files, there will be two extra targets (if you have their requirements): doc and pdf. If you want to create API documentation (using doxygen) you can run \texttt{make doc} . + +\texttt{\$ sudo apt-get install doxygen} +\texttt{\$ sudo ldconfig} + +\texttt{\$ make doc} + +To create PDF documentation, run \texttt{make pdf}. + +\texttt{\$ sudo apt-get install tetex-extra latex2html imagemagick} +\texttt{\$ sudo ldconfig} + +\texttt{\$ make pdf} + +\item Rsgedit + +Before build the rsgedit gui you need to install \texttt{wxWidgets} with OpenGL support. The following commands download and installed the required packages: + +\texttt{\$ sudo apt-get install libwxgtk2.8-dev} +\texttt{\$ sudo ldconfig} + +Build rsgedit with steps describe in step 4. + +\item Simspark utilities + +Simspark utilities require Boost and Simspark library. Build with steps describe in step 4. + +\end{itemize} \end{enumerate} \section{An Example of a Simulation Run} @@ -265,7 +284,7 @@ \item{Connect an agent} The next step is to connect one or more agents to the simulation. To -do this please change to a separate console window and type \texttt{agentspark}. +do this please change to a separate console window and type \texttt{rcssagent3d}. This starts the example agent that is included with SimSpark. You should now see a humanoid robot appear on the field, as in figure Modified: trunk/rcssserver3d/doc/users/introduction.tex =================================================================== --- trunk/rcssserver3d/doc/users/introduction.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/introduction.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -105,8 +105,8 @@ available monitor and log player setups. Their configuration and usage is described in detail there. -The following chapter \ref{cha:agentspark} explains the -\texttt{agentspark} demo agent. This agent is a reference implementation and +The following chapter \ref{cha:rcssagent3d} explains the +\texttt{rcssagent3d} demo agent. This agent is a reference implementation and a basis to start your own agent implementation work. We explain how to configure the agent to use custom behavior implementations. Modified: trunk/rcssserver3d/doc/users/overview.tex =================================================================== --- trunk/rcssserver3d/doc/users/overview.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/overview.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -117,7 +117,7 @@ soccer game. In recent versions players possess articulated bodies that resemble humanoid robots. -\section{Available Robot Models} +%\section{Available Robot Models} %NEC Papero Roboter Joschka %Fabio Della Libera models the VStone VisiON 4g Added: trunk/rcssserver3d/doc/users/rcssagent3d.tex =================================================================== --- trunk/rcssserver3d/doc/users/rcssagent3d.tex (rev 0) +++ trunk/rcssserver3d/doc/users/rcssagent3d.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -0,0 +1,47 @@ +\chapter{Rcssagent3d} +\label{cha:rcssagent3d} + +This chapter introduces Rcssagent3D, the demo agent implementation +available for SimSpark. + +\section{Behaviors} + +Rcssagent3D is a demo agent implementation for use with the SimSpark +server. It serves as a testbed for agent implementation. It implements +all low level details of connecting and communicating with the +server. It further implements an abstract run loop. The behavior of +this agent skeleton is implemented using plugins. On of these plugins +is configured and installed at run time. + +\subsection{SoccerbotBehavior} + +The \texttt{SoccerbotBehavior} is a minimal example of an agent that +acts on a soccer field and controls our current humanoid soccer bot +model. It demonstrates reading preceptor values and controlling the +robot with the installed effectors in a control loop. The implemented +behavior resembles the classic \texttt{hello world} program in a +way. It moves up the arms of the robot and repeatedly waves hello. + +\section{How to change Behaviors?} + +The different Behaviors of Rcssagent3D are encapsulated in classes +that derive from the \texttt{Behavior} class. Classes of this type +implement an interface with two functions that each return a command +string that is then send to the SimSpark server. + +The first implemented function is \texttt{Init}. This function is +called once when the agent initially connected to the server. It is +typically used to construct the agent representation in the server +with the help of the \texttt{scene} effector and to move the agent to +a suitable start position in the simulation. + +The second implemented function is called \texttt{Think}. This +function is called every simulation cycle. As a parameter it receives +the sensor data as reported from the server in the last cycle. This +function should implements the main behavior run loop of each +agent. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "user-manual" +%%% End: Modified: trunk/rcssserver3d/doc/users/resources.tex =================================================================== --- trunk/rcssserver3d/doc/users/resources.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/resources.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -10,7 +10,7 @@ \section{Mailing Lists} -si...@li... +si...@li...\\ sse...@li... \section{IRC channel} Modified: trunk/rcssserver3d/doc/users/robots.tex =================================================================== --- trunk/rcssserver3d/doc/users/robots.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/robots.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -3,7 +3,7 @@ %Later: HOAP-2, NEC Papero (I already did a model in Blender), CITIZEN Eco-Be!, VisiON 4g (Fabio Dalla Libera is working on that), AIBO via RoSIML importer -Below, we only describe the most advanced robot model that comes with the simulation package at this point in time: the Soccerbot. There are some other models which you can find in the directory \texttt{app/simspark/rsg/agent/}, e.g., the soccerplayer.rsg, or the hoap2.rsg files. These are currently not in use in any simulation, and considered experimental. +Below, we only describe the most advanced robot model that comes with the simulation package at this point in time: the Soccerbot. There are some other models which you can find in the directory \texttt{rcssserver3d/data/rsg/agent/}, e.g., the soccerplayer.rsg, or the hoap2.rsg files. These are currently not in use in any simulation, and considered experimental. Besides that, work is in progress on other robot models and will be described here when usable. We plan to integrate an improved model of the HOAP-2 robot from Fujitsu Automation, and models of the VisiON 4g robot, and the Sony AIBO. For help on how to model new robots for your simulation, please have a look at tutorials in the SimSpark Wiki at \\ @@ -13,18 +13,18 @@ This is the robot currently used in the competitions of the 3D Soccer Simulation League at RoboCup. It is a humanoid robot with 20 degrees of freedom (DOF) as depicted in figure \ref{fig:soccerbotdof}. Its current dimensions are quite unrealistic for a real humanoid robot (see table \ref{table:dimensions} which is due to instabilities in the physics simulation at the time the robot was first modeled. This is a serious shortcoming of this robot model and should be changed. Another open issue is that the joint ranges are not limited in the current model. This allows for very unrealistic movements which can be fun to watch, but can lead to unfair behavior in a competition. -\begin{figure}[htp] -\begin{minipage}[b]{0.5\linewidth} -\centering -\includegraphics[width=6cm]{fig/soccerbotfront} -\caption{Frontal view of the Soccerbot in the simulation} -\end{minipage} -\hspace{0.5cm} -\begin{minipage}[b]{0.5\linewidth} -\centering -\includegraphics[width=6cm]{fig/soccerbotside} -\caption{Side view of the Soccerbot in the simulation} -\end{minipage} +\begin{figure}[htp] +\begin{minipage}[b]{0.5\linewidth} +\centering +\includegraphics[width=6cm]{fig/soccerbotfront} +\caption{Frontal view of the Soccerbot in the simulation} +\end{minipage} +\hspace{0.5cm} +\begin{minipage}[b]{0.5\linewidth} +\centering +\includegraphics[width=6cm]{fig/soccerbotside} +\caption{Side view of the Soccerbot in the simulation} +\end{minipage} \end{figure} \begin{figure}[htp] @@ -217,7 +217,7 @@ \subsection{Implementation} The Nao robot model is implemented in the rsg files under -\texttt{app/simspark/rsg/agent/nao}, see \autoref{tab:nao-implement} +\texttt{rcssserver3d/data/rsg/agent/nao}, see \autoref{tab:nao-implement} for details. This section goes much deeper and is a little boring. \begin{table}[htp] \centering Modified: trunk/rcssserver3d/doc/users/simspark.tex =================================================================== --- trunk/rcssserver3d/doc/users/simspark.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/simspark.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -331,7 +331,7 @@ effectors and preceptors. \begin{itemize} \item[Message format:] \texttt{(scene <filename>)} - \item[Example message:] \texttt{(scene rsg/agent/soccerbot056.rsg)} + \item[Example message:] \texttt{(scene rsg/agent/nao/nao.rsg)} \end{itemize} After the agent representation is constructed in the server the agent @@ -630,14 +630,14 @@ \end{figure} %---------------------------------------------------------------------- -\section{Setup Scripts} +%\section{Setup Scripts} -\textbf{TODO:} +%\textbf{TODO:} -\begin{itemize} -\item describe purpose of scripts in \~/.rcssserver3d/ -\item kerosin.rb for rendering configuration of simspark -\end{itemize} +%\begin{itemize} +%\item describe purpose of scripts in \~/.rcssserver3d/ +%\item kerosin.rb for rendering configuration of simspark +%\end{itemize} %%% Local Variables: %%% mode: latex Modified: trunk/rcssserver3d/doc/users/simulations.tex =================================================================== --- trunk/rcssserver3d/doc/users/simulations.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/simulations.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -95,7 +95,7 @@ game. He is further able to command a \texttt{free kick} where one player is able to shoot from a short distance to the goal. -\subsection{Setup Script} +%\subsection{Setup Script} %%% Local Variables: Modified: trunk/rcssserver3d/doc/users/user-manual.tex =================================================================== --- trunk/rcssserver3d/doc/users/user-manual.tex 2009-02-06 02:05:26 UTC (rev 41) +++ trunk/rcssserver3d/doc/users/user-manual.tex 2009-02-08 00:25:53 UTC (rev 42) @@ -1,10 +1,10 @@ \include{definitions} \author{Joschka Boedecker \\ Klaus Dorer \\ Markus Rollmann \\ Yuan Xu -\\ Feng Xue} +\\ Feng Xue \\ Marian Buchta} \title{Simspark User Manual} -\date{June 2008} +\date{February 2009} \begin{document} @@ -26,7 +26,7 @@ \input{gettingstarted} \input{simspark} \input{monitorspark} -\input{agentspark} +\input{rcssagent3d} \input{simulations} \input{robots} \input{resources} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |