To run the system you must first get the code. To get the code, you follow two easy steps as specified in Getting the code. You then compile the code, and finally run it.
The code is located in a CVS repository on calvin.prodigy.cs.cmu.edu. CVS is a code repository system that maintains all the previous versions of the code. It also maintains a list of log files with each checked in version. You can check out old versions of the code in cases where something got badly broken or compare your changes to what is in the repository. When there are lots of people working on a project, this can be a very useful tool. For more information about CVS do a "man cvs" command or look at the CVS home page.
To get the code for a fresh check out on a new machine you need to first set up some environment variables. For the lab machines this is already done. The two environment variables are CVSROOT (where the repostiory is located), and CVS_RSH what to pipe CVS through. We are goign to use ssh. This requires you to have an account on calvin. To set up your environment variables in zsh type:
~/mydir> export CVSROOT=:ext:calvin.prodigy.cs.cmu.edu:/home/small/repository
~/mydir> export CVS_RSH=ssh
If you are using tcsh or csh, execute the following instead:
~/mydir> setenv CVSROOT :ext:calvin.prodigy.cs.cmu.edu:/home/small/repository
~/mydir> setenv CVS_RSH ssh
if you are not sure what shell you are using type echo $SHELL to find out. You can change shells with chsh command. You need to know where the shell is located however.
Now to check out the code, execute:
~/mydir> cvs co dragons
This will get you a copy of the code, all under teh dragons directory. To now make the code go to the making and compiling help.
Other CVS commands of use are:
Finally, if you want to set up your environment variables for CVS automatically, put them in your shell rc resource file. This is located in your home directory (ie ~/.) with the file name of .zshrc for zsh and .tcshrc for tcsh and so on.
If you have problems with cvs email someone for help like brett , Jim , or Mike for help.
To compile the code you need to go to the top-level dragons directory and run make. This will automatically make all the submodules and link the binaries located in the bin directory to the appropriate executables.You will then get a whole lot of output. If you get any errors the make program should halt andreport what that error was. If it was a fresh checkout/update then something is wrong and you should contact the Brett with the make error output as part of your message.
If you run make in one of the subdirectories it will only make the stuff in that directory. Make will symlink all the executables to the bin directory
To run the code go to the bin directory. I usually run with 3 windows, one for each executing program.
- Diffbot 0 enter cover 1 and click the check button
- Diffbot 1 enter cover 2 and click the check button
- Diffbot 2 enter cover 3 and click the check button
- Omnibot 0 enter cover 4 and click the check button
- Omnibot 1 enter cover 5 and click the check button
Then click set. You should get 5 robots appearing on the field with however many opponents you selected.
play around with it and see what you get.
- 10 allows all - kalman filter position, obstacle avoidance, kicking
- 5 or 6 - obstacle avoidance and kicking