HowTo get started with assignment 1 =================================== Created 2003-08-27 by Peter Andersson Last updated 2011-08-22 by Fredrik Heintz The purpose of this HowTo is to describe how to check out the RoboSoc library from the CVS, have a short walk through of it and getting ready for the first assignment. 0. Log onto your brand new aipXX account 1. Add the module /home/TDDD10/modulefiles/tddd10 by issuing the following commands > module add /home/TDDD10/modulefiles/tddd10 > module initadd /home/TDDD10/modulefiles/tddd10 Note: now the module is only loaded in the terminal where you executed the module add command. The next time you log in the module will be loaded in all the terminals. 2. Check out the RoboSoc libraries from the CVS > cd > cvs -d /home/TDDD10/cvsroot co RoboSoc Note: This code is checked out mainly for reference, any compiling will be done with pre-compiled shared libraries. (The RoboSoc Library takes ~30-60 minutes to compile). 3. Enter the RoboSoc directory > cd RoboSoc 4. Browse around and check where things are RoboSoc/Framework This directory contains things which might be interesting to you. It contains templates for creating teams, skills, example agents and implementations of some higher level functionality. RoboSoc/BasicSystem In the BasicSystem is low level basic functionality located. If something needs changing here, please contact a course assistant. Other things can be largely ignored. 5. Make a local copy of the TDDD10 template code > cd > cp -r RoboSoc/Framework/template/tddd10 ourteam > cd ourteam > find . -name 'CVS' | xargs \rm -Rf 6. Check the files that came with the template. ourteam/Team.cc In this file you can turn on/off logging and use different strategies for seeing/hearing/etc. ourteam/TeamDecision.cc TeamDecision.h This is where the higher level decisions of an agent take place. The code handles the messages from the coach regarding the test cases for the skill and team assignments. Based on the message from the coach different skills will be tested. For the skill assignment you don't need to change anything in this file, but you may do so if you like. ourteam/Dribble.cc Dribble.h Score.cc Score.h Pass.cc Pass.h ReceivePass.cc ReceivePass.h The implementation files for the skills you are supposed to implement in the skill assignment. The template files contain extremly simple implementations of the skills. 7. Generate the configure-script > cd ~/ourteam > ./bootstrap 8. Run the configure-script to generate the makefiles > ./configure 9. Make the example agent > make 10. Configure the soccer simulator to allow several groups to run the server on the same machine > rcsoccersim Close or kill the soccer server. (The soccer simulator creates the conf files you should edit if not already present). > emacs ~/.rcssmonitor.conf Change port to 60XX where XX is your group number Save and exit > emacs ~/.rcssserver/server.conf Change server::port to 60XX where XX is your group number Change server::coach_port to 61XX where XX is your group number Change server::olcoach_port to 62XX where XX is your group number Save and exit > porttest X To see if the ports are specified correctly (where x is your group number). The output should be: "Monitor: port OK Server: port OK Server: coach port OK Server: old coach port OK" 11. Run the skill test cases > test_score_group XX ./Team (where XX is your group number) > test_dribble_group XX ./Team (where XX is your group number) > test_pass_group XX ./Team (where XX is your group number) Note: Since the first test cases are really simple you can test your skills on the more difficult cases by supplying an extra number argument to the scripts. Example: > test_score_group XX 4 ./Team (where XX is your group number) 12. Try the example agent without running the test scenario (Start another console, referred to as console2) Console2: > rcsoccersim Note: If the command isn't found it probably means you haven't loaded the tddd10 module in that terminal. Either load the module explicitly with 'module add /home/TDDD10/modulefiles/tddd10' or log out and then in again. Console1: > cd ~/ourteam > ./Team -port 60XX (where XX is your group number) Note: The agent won't start until it is PLAY_ON, to get to this, press kick_off and then use middle button to drop ball in front of the agent. Now you should be somewhat familiarized with how to compile and start an agent. You can now delve into the TeamDecision and Score skill to implement a great scorer. For more info on how to start the tests, check the details for the skill assignment. Good luck!