Here we answer various questions regarding the 3D simulator and
the UTAustinVilla code base.
Is there something missing? Something you want to add? Email us, and we'll add it.
- Penalty Kick Shootouts: A penalty kick shootout occurs
when two teams are tied after both regulation and overtime periods
when a tie must be broken. Each time gets 5 attempts to score with
a lone shooter against the other team's goalie. At the start of an
attempt the ball is placed at the center of the field and the shooter has 45
seconds to score. The goalie for the defending team trying to stop
the shooter is not allowed to leave the penalty box (the shooter is
allowed to enter the penalty box). After the 5 scoring attempts by
each team the team with the most goals wins. If the teams have the
same number of goals after 5 attempts each then they continue
alternating scoring attempts until one team scores and the other doesn't.
- How do I create a penalty kick shooter? You can edit
the methods in the
PKShooterBehavior
class in
pkbehaviors.cc. In order to start a penalty kick shooter run
the start_pkshooter.sh script.
- How do I create a penalty kick goalie? You can edit
the methods in the
PKGoalieBehavior
class in
pkbehaviors.cc. You may find the
isOutsidePenaltyBox()
method useful which lets you know
whether a location is inside the penalty box. In order to start a penalty kick goalie run
the start_pkgoalie.sh script.
- I want to run repeated trials of an agent doing something and
then measure X. Is there an automated way to do this? We have
created agents for doing this sort of thing for reinforcement
learning.
- Look in the optimization directory. Here you
will find scripting files for what we call optimization agents.
Optimization agents perform some behavior (potentially determined
by an input file) and then write out some output to a file. Check
the README file for some pointers as to what is going on here.
- Run the optimization/run-opt.sh script. This will by default
run an agent that measures how far it can walk forward in 15
seconds.
Example usage: run-opt.sh /tmp/out.txt
- Checkout optimizationbehaviors.cc. Here you will find the
behavior classes for the optimization agents. Methods for the
classes are
beam()
to initialize where an agent starts,
selectSkill()
to control an agent's behavior, and
updateFitness()
to monitor and write out data.
- How can I play two teams against each other and automatically
record the score from the game? We have a script for doing
this which plays a single half between your team and an opponent
team and then writes out the score.
- Look in the 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: run-stats.sh /tmp/out.txt
~/opponent_dir left
- Checkout recordstatsbehavior.cc. Here you can change
the
updateFitness()
method in the
RecordStatsBehavior
class to change what data is being
recorded and written out.
- Can I get an agent's ground truth position? Yes, you can
use the
worldModel->getMyPositionGroundTruth()
method
which gets an agent's ground truth position from the server.
Note that this functionality will NOT be turned on during the
class tournament so don't use this function in your final agent
submission or you will be sorry.
- Are there any example agents I can test my agent against? Yes, you can
play against the binaries from RoboCup 2010 Singapore
located at
http://robocup.martenvdsanden.net/singapore10/binaries/. Some
of these binaries will not work on UTCS or may require some work
arounds (hacks) to get them running.
- Is there a way to move the ball or players around and also
change the current game state? You can use the Coach/Trainer
command parser documented here.
Examples of its usage can be found in move-ball.pl,
stats/kickoff.pl, and optimization/beamball-and-kickoff.pl.
[Back to Department Homepage]
Page maintained by
Patrick MacAlpine
Questions? Send me
mail