the ball is situated behind the robot.
In state (a) the attacking robot is in a probable
position to kick, in state (b) it is kicking the ball, in
state (c) it is in front of ball, so should be careful to
avoid the offside position, and in state (d) it is in
contact with ball.
With these four states, the Petri-net for the
attacking robot controller is formed. “Angle” is used
to refer to the angle between the heading direction of
the attacking robot and ball. “Distance” is used to
refer to the distance between the attacking robot and
ball in pixels. In state (a), the attacking robot is
ordered to move to ball and kick it. In state (b), if
“Angle” is above 45° , or “Distance” is more than 20
pixels, the attacking defense robot goes to state (a).
In state (a), if the ball is on the right side of attacking
robot (offside position), it should go to state (c). In
state (b), if the attacking robot fails to kick the ball,
the robot goes to state (c). In state (c), the attacking
controller orders the robot to move sideways and it
comes behind the ball without touching it and goes
to state (a). In state (c), if “Distance” is below 10
pixels, the robot goes to state (d), so it should move
away from the ball till “Distance” is above 20 pixels
and then can get into state (c).
Analyzing the situations for Goalkeeper player,
for Defender and for Midfield we can generalize the
situations as:
p
1
) The robot is behind the ball;
p
2
) The robot kicks the ball in the opponent
direction;
p
3
) The robot is in unwanted position;
p
4
) The robot is in contact with ball and the ball is
situated behind the robot.
Using Simi Scout a set of attributes are assured.
Statistically, after analyzing the all attributes
proposed, only 7 are retained and become transition
for our algorithm:
t
1
. Tries to kick the ball, though it is not in a good
position to kick,
t
2
. In front of the ball and at the following instant it
is in a good position to kick,
t
3
. In front of the ball, and moving to an unwanted
position,
t
4
. In unwanted position and escaping from that,
t
5
. Misses the ball, and is in front of the ball,
t
6
. In unwanted position, and then in contact with the
ball and behind, and
t
7
. Away from the ball and behind, but still in an
unwanted position.
The incidence matrix has rank 3, so that the Petri net
model shown in Fig. 2 will have:
m - rank (A) = 1 ⇒ at most 1 P-invariants are
linearly independent,
n − rank(A) = 4 ⇒ at most 4 T-invariants are liniarly
independent.
Figure 2: Petri net model for the soccer robot.
As every robot has the same strategy, the role for
attack, defender, midfield or attack can be easily
switched between the robots. The roll will be
assigned dynamically, be image analyze.
A role assigned it is means that the intervention
area of the robot is in:
• Attack Area
• Midfield Area
• Defense Area
• Goalkeeper Area
The ball position will switch the team strategy.
The team strategy extracted (from Romania –
Columbia 1994 - soccer game - using Simi Scout
software) is:
- If the ball is in attack area then 2 player are
attack player, and the nearest player to midfield
area is midfield
- If the ball is in the midfield area, then 2 player
are midfield player, and the nearest player to
defense area is defender
- If the ball is in defense area, then 2 players are
defense player, and the nearest player to goal
area is goalkeeper.
5 NUMERICAL SIMULATION
AND EXPERIMENTS
The results from the mathematical method of
checking through the invariants method associated
transitions and the corresponding positions after
calculating the incidence matrix of the net have been
validated through the simulations using Petri Net
Toolbox in Matlab environment.
ROBOT SOCCER STRATEGY - BIOMIMETIC APPROACH
435