Phoenix2D team base code for RoboCup 2D Simulation League.
The source code is divided in:
- Phoenix2D-agent (main application)
- Phoenix2D-base (minimum needed library to run Phoenix2D)
- Phoenix2D-libs (utilities for constructing AI)
- Phoenix2D-tests (unit tests for the project)
To create in Eclipse you will have to create a new project as follows:
- A c++ Static Library project in which you'll use the Phoenix2D-Library folder
- A c++ Console Application project in which you'll use the Phoenix2D-CPP folder
- A c++ Console Application project in which you'll use the Phoenix2D-Tests folder code
##Dependencies##
- boost_regex (libboost_regex)
- pthread (libpthread)
- boost_unit_test (libboost_unit_test_framework)
- Internally you should link the Console Applications with the Static Library
To prevent any further problems, link the project with the dynamic libraries (.so). If you link with the static libraries (.a) you will most likely have to link with libc.a to make libpthread compile without any problems. Otherwise your compiler will have an error on undefined variables.
Take on account that this project is just the code base for constructing agent for the RoboCup 2D Simulation League and it is focused to be compiled in Unix systems.
##Running the code##
You will also need RoboCup Soccer Server 2D to use this code properly. To do this perform the following:
-
Go to [The RoboCup Soccer Simulator](http://sourceforge.net/projects/sserver/) website and download rcssserver and rcssmonitor
- For rcssserver you'll be needing the following dependencies:
- build-essential
- bison
- flex
- libboost-all-dev
- For rcssmonitor you'll be needing the following:
- build-essential
- libqt4-dev
- libboost-all-dev
- libaudio-dev
- libxt-dev
- libxi-dev
- libxrender-dev
- libfreetype6-dev
- libfontconfig1-dev
- python-gobject-dev
- libpng-dev
- For rcssserver you'll be needing the following dependencies:
-
`tar -xf <tar_file>` for rcssserver
-
cd rcssserver folder
- ./configure --with-boost-libdir=<boost_libdir>
- make
- sudo make install
- Repeat from 2-6 for rcssmonitor
Afterwards just run the server and keep it running.
Now you can run the Main Application. :D
Once you have the server and the libraries you should be able to use the code without problems on an Unix System.
##Generating the documentation##
The Library Documentation is contained in the doc folder inside the Phoenix2D-Library Project. You should generate the documentation at this level. The Doxyfile generates latex and html documentation. The dependencies you will need to install (besides doxygen) are as follows:
libc6 (>= 2.14) [amd64]
Embedded GNU C Library: Shared libraries
also a virtual package provided by libc6-udeb
libc6 (>= 2.4) [i386]
libstdc++6 (>= 4.1.1)
GNU Standard C++ Library v3
doxygen-latex
Documentation system for C, C++, Java, Python and other languages
doxygen-doc
Documentation for doxygen
doxygen-gui
GUI configuration tool for doxygen
graphviz
rich set of graph drawing tools
This will allow you to generate the complete documentation using the following line:
~/<PathPhoenix2D-base>/doc$ doxygen Phoenix2DLibrary.doxyfile
This will generate an both html and latex folders along with the documentation. Just open the index.html or generate the latex documentation pdf using the following:
~/<PathPhoenix2D-base>/doc/latex$ pdflatex refman.tex
Keep in mind that you need a working pdflatex installation (texlive or miktex or similar)