One of the most important decisions in the robotic
soccer domain arises when the agent has control of the ball. In this
state, it has the options of dribbling the ball in any direction,
passing to any teammate, shooting the ball, clearing the ball, or
simply controlling the ball.
In CMUnited-98, the agent uses a complex heuristic decision
mechanism, incorporating a machine learning module, to choose its
action. The best teammate to receive a potential pass (called
potential receiver below) is determined by a decision tree trained
off-line . Following is a rough sketch of the
decision-making process without all of the parametric details.
To begin with, since kicks (i.e. shots, passes, and clears) can take
several cycles to complete (Section 4.1), the agent
remembers the goal of a previously started kick and continues
executing it. When no kick is in progress (do the first that applies):
- If close to the opponent's goal and no defenders are blocking
the path to the goal (defined as a cone with vertex at the ball):
shoot or dribble based on the goaltender's position, the position of
the closest opponent, and the distance to the goal.
- At the other extreme, if close to the agent's own goal and
there is an opponent nearby: clear the ball.
- If approaching the line of the last opponent defender: dribble
the ball forward if possible; otherwise send the ball (clear) past the
- If the potential receiver is closer to the goal and has a clear
shot: pass to the potential receiver.
- If no opponents are in the direct path to the goal: dribble to
- If fairly close to the opponent's goal and there is at most one
opponent in front of the goal: shoot.
- If no opponents are in the way of one of the corner flags:
dribble towards the corner flag.
- If there is a potential receiver: pass.
- If it's possible to hold onto the ball without moving (at most one
opponent is nearby): hold the ball.
- Otherwise: Kick the ball away (clear).
Mon Nov 30 20:08:29 EST 1998