Here we answer various questions regarding the 3D simulator and the UT Austin Villa code base.
Is there something missing? Something you want to add? Email us, and we'll add it.
% ./start.sh localhost (some teams might require 127.0.0.1 instead of localhost)If you are running a server on a remote machine (usually a good idea when running a full game) Replace
localhost
with the name of the machine (or ip address) the server is running on.
% ./start.sh remote_machine_name (some teams might require the ip address of the machine instead of its name)
% ./kill.sh
useDynamicRoleAssignment
variable to
true in naobehavior.cc. 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).getSpaceForRole()
function in positioning.cc. The positioning
system has two special roles: ON_BALL and GOALIE. The ON_BALL role
is always assigned to the player closest to the ball (as determined
by the getClosenessToBallMeasure()
metric in positioning.cc) while the
GOALIE role is assigned to the goalie (the agent with uniform number
1) unless the goalie is the closest to the ball and has been
assigned the ON_BALL role.getSpaceForRole(worldModel->getProposedRoles()[worldModel->getUNum()-1])
.
PKShooterBehavior
class in
pkbehaviors.cc. In order to start a penalty kick shooter run
the start_penalty_kicker.sh script.
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_penalty_goalie.sh script.run-opt.sh /tmp/out.txt
beam()
to initialize where an agent starts,
selectSkill()
to control an agent's behavior, and
updateFitness()
to monitor and write out data.
run-stats.sh /tmp/out.txt
~/opponent_dir left
updateFitness()
method in the
RecordStatsBehavior
class to change what data is being
recorded and written out.
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. Also you will need to use a
version of the server that has ground truth data
enabled: rcroboviz_gt
, run_server3d_gt
,
and rcsoccsersim3d_gt
.
setMonMessage()
method. In order for this to work, however, the agent must
connect to the server through the monitor port by adding the
command line argument "--mport 3200".
% cd /projects/cs344M.pstone/3d/fedit2-0.0.0/src % ./fedit2We hope to add more information about how to use this tool soon.
% export SPARK_FAST_TIME=trueNote that if you try and run more than one agent when attempting to run the server in faster than real-time mode it may freeze the server.
Page maintained by
Patrick MacAlpine
Questions? Send me
mail