This is the source code of the German Team used in the 2004 RoboCup. 
More detailed information can be found in the "GT2004 Team Report" 
available on "http://www.robocup.de/germanteam"

All software used in the build process (except Visual Studio)
 is available as one package "GT-install" on http://www.robocup.de/germanteam" 
(it is STRONGLY recommended to use "GT-install" to get a sane build environment)

******* FILES INCLUDED ******************************
+ Bin:
 - binary files of the tools needed to build the source code
 - binary of Tools RobotControl, RobotControl2, SimRobot, MakeStick
+ Build\MS
 - binary files for the robot
+ Doc
 - doxygen-generated documentation of the source code
 - XABSL2-generated dokumentation of the Behavior written in XABSL
+ Make 
 - scripts to generate binary files
+ Src 
 - the c++ source code
 - XABSL2 source code
+ Util
 - utilities needed to generate binaries and documentation
 
******* REQUIREMENTS *******************************
+ Windows 2000 or Windows XP
+ Cygwin plus the Open-R SDK available freely on http://openr.aibo.com
+ path variable must include "...\cygwin\bin;...\cygwin\lib;"
+ this code release located at \XXX\GT2004 with no white spaces in XXX.
  so this file should be \XXX\GT2004\readme.txt and no "GT200" in XXX.

+ Cygwin as well as the Open-R SDK and additional software used in the build process, is available as easy to install package(GT-install) from the GermanTeam-Website (it is STRONGLY recommended to use GT-install from www.robocup.de/germanteam)


******* NICE TO HAVE *******************************
+ Microsoft VisualStudio 7.x
+ "...\cygwin\bin;...\cygwin\lib;" in the path of VisualStudio

******* INSTALLATION *******************************
Simply extract the archive and you're set!

******* ROBOTCONTROL *******************************
RobotControl is at the centre of our development environment. It contains all tools necessary to control and debug the robots, create color tables, establish a WLAN connection to the robot. It even contains a simulator. A precompiled version is available under Bin. It is called "RbotoControlCMDRelease.exe" and is runnable as standalone program(no dll´s needed.)

******* SimRobot **********************************
SimRobot is a kinematic robotics simulator. SimRobot(SimulatorCMD.exe) is the second Windows tool of the GermanTeam besides RobotControl. SimRobot focuses on interaction and delivers a powerful scripting console. While mainly being a Simulator, it still offers some of the tasks RobotControl has.
The compiled binary in "Bin/" (SimulatorCMD.exe) will only run with MFC-DLL´s installed(mainly MFC42D.dll)

******* PREPARING MEMORY STICKS ********************
You can prepare MemorySticks manually or with MakeStick. 

*** Prepare MemorySticks with MakeStick **********
+ start GT2005\Bin\MakeStick.exe
+ set the correct MemoryStick-drive
+ fill in the settings as you like them and press write to copy all data for a specific player.

*** Prepare MemorySticks manually *******************
+ Adjust GT2005\Config\player.cfg:
   teamColor [red|blue]
   playerNumber [1|2|3|4]
+ Adjust GT2005\Config\wlanconf.txt
+ insert a MemoryStick in your MemoryStick-reader.
+ run GT2004\Make\copyfiles.bash (see "GT2004\Make\copyfiles.bash --help" for help)
  Example: C:/GT2005/Make/copyfiles.bash ERS7 -d C:/GT2004 -m I: --force --rm

******* PLAY A GAME OF SOCCER *********************************
+ Start four robots with different IPs and same teamname.
+ The robots are connected, if the leds at the ears are blue
+ The robot starts in "initial" state (the teamcolor and kickoff can be adjusted with the back buttons). States are described in the rules document for 2005 at http://www.tzi.de/4legged/bin/view/Website/WebHome.
+ Press the head button once to switch to "ready" state (robots are going to their respective kickoff positions)
+ Press the head button again for the "set" state
 + briefly press the head button for "play"
 + or press long to go back to "initial"
+ Press the back button for at least one second to stop the robot("penalized" state). A brief press on the head button puts the robot back into "play" mode.

******* CONNECT ROBOTCONTROL AND A ROBOT ***********
+ In the WLAN-toolbar select "edit connection" and select the check box of the robot you want to connect to.
+ Press the connect button in the WLAN-toolbar
+ Start exploring ... (Open ImageViewer, send the DebugKey: "sendJPEGImage, always", ... create a color table, see TeamReport)


******* Visual Studio Projects **********************
+ the workspace and the projects may be found in Make
+ Workspace: gt2005.sln for Visual Studio 7.1
+ there are a number of projects starting with "_", they are the important ones
  + _GT2005 - the code for the robot
  + _RobotControl - the code for RobotControl
  + _RobotControl2 - the code for RobotControl2
  + _Simulator - the code for SimRobot, the kinematic simulator including GUI
  notice: "CMD" in the project configurations marks the process layout "Cognition Motion Debug"
+ other usefull projects (most of them are included in the main projects as dependencies, so you wont have to build them yourself)
  + Depend - used for the build process(to gather necessary files)
  + Documentation - complete documentation of class files for various projects
  + Xabsl2 - behavior engineering
  + SpecialActions - project used for kicks and other special actions
  + PotentialFields - behavior specification based on potential fields
  + Dsp-Generation - creates VS6 and VS7 project files, if files have been added (based on depend, automatically gets all the files needed, starting from the process layout)
  + MakeStick - a standalone program for creating memorysticks
  
******* QUESTIONS ??????? ***************************
See the TeamReport and other publications at "www.germanteam.org"
Ask: germanteam@tzi.de
