Here we answer various questions regarding
the 2D simulator and
Helios code base.
Is there something missing? Something you want to add? Email us, and we'll add it.
- Are there any example agents I can test my agent against? Yes, you can
play against released binaries from the 2015 competition. You will
find them in the /projects/cs344M.pstone/2d/opponents/
directory. These binaries have all been configured to run on UTCS. The
unaltered set of RoboCup 2015 released binaries are
located at
http://chaosscripting.net/files/competitions/RoboCup/WorldCup/2015/2DSim/binaries/. To see how the
different teams did during the tournament you can check the
RoboCup 2015 2D simulation league results page.
General instructions for running a binary:
- Is there a way to graphically edit formations in the Helios code
base? Yes, you can use the fedit2 tool. It is located in
the /projects/cs344M.pstone/2d/fedit2-0.0.0/src directory.
% cd /projects/cs344M.pstone/2d/fedit2-0.0.0/src
% ./fedit2
We hope to add more information about how to use this tool soon.
- How do I create a delaunay triangulation formation file for use
with librcsc? See src/formations/delaunay-example.conf for
an example formation file.
- How can I add files to the Helios codebase? You can do this
by adding files to the src/Makefile.am file which will later
generate an appropriate Makefile through automake (just typing
'make' as usual after editing Makefile.am will handle
everything).
- Is there a way to freeze the current frame when playing
games? Yes, you can use the the third party
monitor soccerwindow2.
This monitor also adds other useful debugging tools such as
visualizations of formations. In order to use the soccerwindow2
monitor you need to first add the following to
your ~/.bashrc file (note you will need to open a new
terminal after doing this for your change to take effect).
export PATH=/projects/cs344M.pstone/2d:$PATH
To run soccerwindow2 with the server do the following
% rcsocwin2
or to just run the monitor by itself
% soccerwindow2
- How do I use SCRAM
dynamic role assignment?
In order to use dynamic role assignment from the SCRAM: Scalable Collision-avoiding Role Assignment with Minimal-makespan for Formational Positioning paper
you will need to comment in the code right after the
comment "
// Calls role assignment code
" in src/sample_player.cpp. Note that this only enables
computation of
role assignments and does not include the
voting coordination system from the Positioning to Win: A Dynamic Role Assignment and Formation
Positioning System paper (which is not in the code base)
- Can I have the server run faster than real-time? Yes, you
can run the server in synch mode with the following command
% <rcssserver | rcsoccersim | rcsocwin2> server::synch_mode=on
- How can I play two teams against each other and automatically
record the score from the game? We have scripts for doing
this which play a game between your team and an opponent
team and then writes out the score.
- Look in the src/stats directory. Here you
will find scripting files for playing your team against an
opponent team for a half. Check the README file for some pointers as to what is going on here.
- Run the stats/run-stats.sh script. This will run your
agent against an opponent agent, with your agent either starting
on the left or right side of the field, and then write output to the given
output file.
Example usage: condor-run.sh /tmp/out.txt
<full_path_to_opponent_dir>
- What stats are recorded can be changed in the
SamplePlayer::actionImpl() method in sample_player.cc
- We have scripts for running many games in parallel on the
condor distributed computing cluster. Talk to us if you want to
learn how to do this.
[Back to Department Homepage]
Page maintained by
Patrick MacAlpine
Questions? Send me
mail