Your final programming project is to create an entry in the
end-of-class RoboCup tournament to be held on Tuesday, December 18th.
By default, your task will be to create a full team of 11 agents. You
will be provided with code that parses the server messages, handles
the timing issues, and builds up a world model, but provides no
behaviors.
If you prefer, you may instead propose a variation on this task. For
instance, you may want to start with an existing team and build a
coach agent to control its behavior. Or you may choose to start from
scratch and build a team entirely on your own. The instructor will do
his best to provide you with the appropriate code to allow you to get
to your proposed starting point. Expectations will be commensurate
with the starting point you choose, so feel free to follow your
interests.
You may work as an individual or as a team of at most 2 people.
2-person teams should only turn in one submission for each portion of
the assignment (including final report). Expectations will be higher
for 2-person teams.
The schedule is as follows.
Code
Some code is now available on the class machines at
/usr/local/agents/src/classcpp.tar.gz and
/usr/local/agents/src/classjava.zip.
You may use it for the purposes of this class only (if at some point
you want to use it for other purposes, please ask permission).
Please do not distribute it to anyone outside of the class.
The java code comes with javadoc pages that should be
self-explanatory. It has been generously provided by Klaus Dorer, creator of
the Magma Freiburg and then Living Systems teams. Please try it out ASAP and
report any problems you might have on the class mailing list.
Some hints from Klaus:
It may be helpful if you tell the students that the class
AgentFHStudents.java is the best point to start with.
It contains the parameters for the server (which they have to change).
And it contains a method actionSelection, which is called whenever the
agent has received a sense_body to decide on the next step.
To get the C++ code to work, take the following steps:
% cp /usr/local/agents/src/classcpp.tar.gz ~/
% cd ~/
% tar -xzf classcpp.tar.gz
% cd /home/cN/scratch/[username] (where N is the number of the class machine you're on)
(if it's not there, you may have to make the [username] subdirectory)
% ~/classcpp/player/configure
% gmake depend
% gmake
At that point, if you start the server, you should be able to get a player going by typing
% ./start
The above sequence does an out-of-directory build. Your source code
is in ~/classcpp, but you run locally in the scratch directory.
Remember that any changes you make to the .conf files in this
directory will not be saved in your source code directory.
There is a README file in classcpp/player/README. That should tell
you how to access the world model and use the simple behaviors that
exist. Behaviors for assignment 2 (shooting and passing) are
included.
If you run into any problems, please report them on the class mailing list.
[Back to Department Homepage]
Page maintained by
Peter Stone
Questions? Send me
mail