<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Development of Anytime Algorithms for Pass Implementation in Robocup Simulation League</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Saint Petersburg Electrotechnical University</institution>
          ,
          <addr-line>ul. Professora Popova 5, 197376 St. Petersburg, Russian Federation</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>bnovikov012</institution>
          ,
          <addr-line>MPanteleyev</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Creating intelligent agents that can carry out team interaction is one of the most important tasks in the eld of arti cial intelligence. For experimental veri cation of the e ectiveness of the proposed theoretical approaches to its construction, virtual football championship held annually as a part of the Robocup world championship One of the important tasks in building the intelligence of a robot football player is the implementation of the pass. As part of this task, the agent must be able to correctly understand the situation, determine the possibility of performing a pass, and calculate the parameters of the ball strike. The article will consider the method of determining the area where the ball will be passed without the possibility of interception of the ball during its ight by an opponent and with a known advantage of the receiver within its limits. This area is calculated by determining the receivers, interceptors, and calculating special areas, including the Voronoi diagram. The proposed algorithm also meets the requirements for anytime algorithms, which allows you to achieve a result whose quality is proportional to the time spent on calculations, which is extremely important in such a rapidly changing environment as virtual football. Experimental testing con rmed the algorithm's performance as an anytime algorithm, namely the ability to execute the algorithm faster due to the quality of the result.</p>
      </abstract>
      <kwd-group>
        <kwd>RoboCup Intelligent agents Anytime algorithm soccer Pass implementation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The creation of intelligent agents that would be capable of solving problems in
groups when opposing another team is currently one of the central problems in
arti cial intelligence [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The Robot World Cup (RoboCup) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] championship
is held annually to experimentally examine the multi-agent counteraction
models in virtual soccer. One of the important particular tasks in the construction
of intelligence of the football player agent is to determine the possibility and
parameters of the pass implementation in a given situation.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] an approach to ball interception based on introduced concepts of
qualitative and relative velocity (quick to left, neutral, quick to right) are proposed
and investigated. An experimental comparison of several methods was carried
out: an exact numerical calculation of the interception point, a naive method
with movement directly to the ball, a method based on reinforcement learning,
and method with qualitative velocities. The experiments have shown the
numerical method and the learned behavior to be the best, while the numerical method
is slightly preferable.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] a simple and robust algorithm for the interception of a moving ball
by an omnidirectional robot for RoboCup Small Size League is proposed. The
heuristic algorithm requires minimal knowledge of robot dynamics and based on
two key ideas: (i) consideration of ball motion via transition to a reference frame
where the ball is static and (ii) planning the motion of the robot in such a
reference frame from the geometric viewpoint. Experiments conducted in a real SSL
environment con rmed successful interception in a variety of scenarios,
characterized by di erent directions of ball motion and the positional relationships
between the ball, robot and goal.
      </p>
      <p>
        The solution for a ball interception behaviour developed as part of the
CAMBADA team from University of Aveiro for RoboCup Middle Size League is
presented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. CAMBADA solution is based on a uniformly accelerated robot
model, that takes into account a number of parameters, in particular ball
velocity, robot current v
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is considered an approach based on the calculation of the dominant
area of one agent team with respect to an opponent team. Inside the calculated
area, players have an advantage, namely, each point of this area is closer to them
than to the opponent. It means that the implementation of the pass along the
trajectory located inside this area will be made under the assumption that the
opponent will not be the rst on the ball.
      </p>
      <p>
        An important feature of the virtual football environment is the need to make
decisions in real time [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. According to that, the allowable thinking time can vary
signi cantly depending on the situation. It follows that algorithms for solving
speci c problems should be constructed as anytime algorithms (ATA) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], which
allow the agent exchange the computation time for the quality of the result.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Problem statement</title>
      <p>The game involves two teams of robot agents, 11 players on each side: T =
Ti; O = Oi, where i = 1; 11.</p>
      <p>Each player has a set of static parameters, which include the radius r of the
body, the area of possession of the ball KICKABLE AREA, the maximum
running speed Vmax, etc. In addition, the current state of the player is
characterized by dynamic parameters, such as coordinates (x; y), current speed V ,
direction of movement w, etc.</p>
      <p>
        The players can perform commands: Kick - kick the ball (the ball must be
in the KICKABLE AREA of the player); Dash - accelerate the run; Catch
capture the ball (only for the goalkeeper), etc [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>To implement the pass, the player must execute the Kick command so that
the ball begins to move towards the partner. Let us consider the situation when
the player Ti decided to give the pass to partner Tj. Agent needs to determine
the direction of movement and the initial speed of the ball so that the partner
Tj would reach the ball at the desired point and at the same time no players of
the other team (opponents) can intercept the ball, i.e. reach it earlier than Tj.</p>
      <p>Let's consider the problem under the worst case assumption, when all
opponents are already moving along the shortest path to the ball trajectory at
maximum speed Vmax to intercept the ball.</p>
      <p>In addition, we assume that the agent knows the exact (cleared of
servergenerated noise) global (Cartesian) coordinates of the ball and all players
involved in the episode.</p>
      <p>Under these assumptions, the task boils down to the de nition of a "Safety
Pass Area" (SPA), each point of which satis es the above conditions.</p>
      <p>Algorithm of SPA calculation will be developed as an anytime algorithm.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Calculating the Safe Pass Area</title>
      <p>Let's denote the necessary concepts: "The Game Area" - GA, "The In uence
Area" - IA, "The Reach Area" - RA, "The Safe Catching Area" - SCA.</p>
      <p>Then, SPA can be calculated by nding the intersection of these sets as
follows:</p>
      <p>SP A = GA \ IA \ RA \ SCA
(1)
3.1</p>
      <sec id="sec-3-1">
        <title>The Game Area</title>
        <p>
          It is represented by the four coordinates that de ne the area of the possible
location of the objects in the game. It is the constant parameters set by the
server [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>The In uence Area [10]</title>
        <p>
          To nd the area of in uence, you need to build a Voronoi diagram[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. This
diagram is based on a set of points P of the plane S. It is a partition of this
plane, in which each point pi of the set P is mapped to the area of this partition
si. Each area contains all the points of the plane that are closer to the point of
this area pi than to other points pj, where j! = i. the area si Mapped to point
pi is a polygon and is called a locus.
        </p>
        <p>If for the number of points required to build a diagram the coordinates of
players is taken, and for plane - game area, the locus of the graphs will be
considered as areas of in uence of each player (see Fig. 1).</p>
        <p>This diagram can also be used for solving other tasks, such as analyzing the
situation on the eld, which makes it useful to calculate it.
This area is a set of points in which the ball can be after the Kick command
execution. If the calculated area does not have any shared points with IA, then
a safe pass cannot be executed.</p>
        <p>We need to calculate the maximum ight length L of the ball, which becomes
the radius of the circle with center in the coordinate of the ball (see Fig 2). To
nd it, the agent needs to calculate the value of the power parameter of the kick
command.</p>
        <p>
          Let the real value of the force be act pow. Then, we calculate it by using the
formula 2 [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Its value depends on the distance dist dif f between the player
and ball and the angle dir dif f between the direction of the body and ball. The
power value will be equal to 100, because it is a maximum value of the power
parameter of the kick command. The kickable margin parameter is set by the
server and is pre-known [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
        </p>
        <p>act pow = power (1
0:25
dir dif f
180
0:25</p>
        <p>
          dist dif f
kickable margin
)
Then, putting the obtained value into the formula 3 allows us to nd the absolute
of the applied acceleration vector, where kick power rate is the parameter set by
the server [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]:
!
jV0j = j!a j = act pow
kick power rate
Thus, we know the maximum initial velocity of the ball V 0 = jV!0j. Knowing
the ball speed deceleration parameter DECAY set by the server DECAY [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], L
can be obtained as follows:
The receiver is within the reach area or can reach it earlier than anyone else, at
least at one point.
        </p>
        <p>To nd them, you need to calculate the reach area and the area of in uence
of each player.</p>
        <p>We consider potential receivers as players who have at least one vertex of the
in uence area within the reach area.
3.5</p>
      </sec>
      <sec id="sec-3-3">
        <title>The Order of Receivers</title>
        <p>It is advisable to consider the Receivers in a non-random order.</p>
        <p>Three options can be o ered at least for creating an order:
{ those who are closer to the goal go rst
{ those who are closer to the ball go rst
{ those who border strongly with my dominant area and weakly with enemies
go rst</p>
        <p>The amount of receivers to be considered can be decreased.
3.6</p>
      </sec>
      <sec id="sec-3-4">
        <title>Marking the Interceptors</title>
        <p>We need limit the amount of potential trajectories of the ball. To begin, we nd
two points of DA, which are at the minimum angle and maximum angle
relative to the coordinate of the ball.</p>
        <p>Then, let the interceptors be players-opponents who are closer to the ball
then target-player (the player to whom the pass is given), and at an angle in the
range [ 90; + 90] relative to the ball. Let's mark them as E = Ei (see Fig.
3.), where i = 1; p.
It is advisable to consider the interceptors also in a non-random order.</p>
        <p>Three options can be o ered at least for creating an order:
{ those who are closer to the receiver go rst
{ those who are closer to the ball go rst
{ those who border strongly with receivers dominant area go rst</p>
        <p>The amount of interceptors to be considered can be decreased.
3.8</p>
      </sec>
      <sec id="sec-3-5">
        <title>The Flight Trajectories</title>
        <p>Potential ight trajectories of the ball will be considered as a set of rays casted
in the range of previously found angles. The number of possible angles is limited
and equal to amount of trajectories. ATA's requirements force agent to check
only some of them. To ensure the optimal result the simple order of checking
the angles consider as non-optimal.</p>
        <p>One of the possible approaches to choose the order is to begin with checking
of the extreme angles and then at each step check the angle, which is between
the already checked neighbor angles and divides the greatest interval.</p>
        <p>Also, there is an approach in which the agent have the point of interest. For
example, the task is to push the ball closer to the goal. So, it might help if the
angle's probability of checking depends on the distance to the target angle.
3.9</p>
      </sec>
      <sec id="sec-3-6">
        <title>The Area Calculation</title>
        <p>Further, let B; Ei; Ti be the coordinates of the objects. We cast in the range of
previously found angles [ ; ] M rays R = Ri, where i = 1; m, which are vectors
of unit length. Then, (B + R!) - the set of possible trajectories of the ball.</p>
        <p>For each i and j in (B + R!i) and Ej we nd the intercept point Iij . As
mentioned earlier, we assume that the opponent Ej chose the shortest path to
the trajectory of the ball, namely, the perpendicular line to (B + R!i). Then, to
calculate the point Iij nd the projection of the vector (B + BE!j) on the ray
Ri, which is the length of the vector BI!ij , by the formula (5). So, the intercept
point can be calculated by the formula (6):
jBI!ij j = proj !B</p>
        <p>Ri</p>
        <p>BE!j =</p>
        <p>B</p>
        <p>BE!j Ri</p>
        <p>!
!
jRij</p>
        <p>Iij = B + R!i jB!Iij</p>
        <p>For each Ej time tij of reaching Iij can be obtained by the formula (7).
Regarding the initial assumption that the opponent moves at the constant speed
Vmax follows:
tij = jEj I!ij j</p>
        <p>Vmax</p>
        <p>We calculate a point Xij , which is the farthest point, passing to which the
ball will be intercepted. Firstly, by the formula 8 we nd the value of the initial
velocity V0ji , at which it during tij will pass the distance jBIij j. Take into account
act pow, calculated by the formula (2). Secondly, we calculate the distance Sij ,
which the ball will pass with V0ji , by the formula 9.</p>
        <p>Then, the point Xij (see Fig. 5.a) will be:</p>
        <p>V0ij = (1
jBIij j (1 DECAY )</p>
        <p>DECAY tij )) act pow
Sij =
(1</p>
        <p>V0ij</p>
        <p>DECAY )
Xij = B + R!i Sij
(5)
(6)
(7)
(8)
(9)</p>
        <p>Next, we select for each i of Xij the most farthest point from B and call it Gi.
The curve obtained by connecting the points Gi (see Fig. 5.b) is the boundary
of the safe pass area from below and the boundary of the interception area from
above.</p>
        <p>a. Xij calculation
b. Gi calculation</p>
        <p>The selection of the speci c point from the SPA can be performed based on
various criteria such as:
{ distance to the goal
{ distance to the target player
{ distance to the edge of the eld
3.11</p>
      </sec>
      <sec id="sec-3-7">
        <title>The Actions of the Receiver</title>
        <p>The player must correctly determine that he was selected as the receiver and
start moving immediately to the assumed point of receiving the pass. For correct
calculation of this point, it is necessary to take into account that he will be able
to see the ball ying in his direction only after one frame.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>The SPA Calculation Algorithm</title>
      <p>The pseudocode of the algorithm will be o ered below:
Data: Ti - coordinate of the player with ball;
Tj - coordinate of the receiver;
B - coordinate of the ball;
T = Ti, where i = 1; n - teammates' coordinates;
O = Oi, where i = 1; n - opponents' coordinates;
M = const - the amount of trajectories;
Result: SP A = SP Ai, where i = 1; m ;
RA RA Calculation(Ti; B);
IA IA Calculation(GA; T; O);
R Receivers M arking(RA; IA);
Receivers Ordering(R);
R Receivers M arking(RA; IA);
SP A ;
for r 2 R do
if need to interrupt then</p>
      <p>interrupt;
end
alpha; beta Caclulate A B(RA; IA);
T r Calculate T rajectories(alpha; beta);
T rajectories Ordering(T r);
I Interceptors M arking(alpha; beta; IA);
Interceptors Ordering(I);
for i 2 I do
if need to interrupt then</p>
      <p>interrupt;
end
X ; ;
for tr 2 T r do
if need to interrupt then</p>
      <p>interrupt;
end
x Calculate X(tr; B; i);
end</p>
      <p>Add T o X(X; x);
end
G Calculate G(X);
spa Calculate SP A(G; IA; RA);</p>
      <p>Add T o SP A(SP A; spa);
end
P ASS P OIN T</p>
      <p>Select P oint(SP A);
5</p>
    </sec>
    <sec id="sec-5">
      <title>The Results of Experiments</title>
      <p>In this section, we apply our algorithm to the RoboCup Simulation League and
evaluate how well it works.</p>
      <p>The graph above shows how the algorithm execution time depends on the
quality of its result (see Fig. 6). The algorithm works as the anytime algorithm,
as you can see. There are three curves on the graph: the receiving curve, the
interceptor curve, and the trajectory curve.</p>
      <p>The experiment was carried out with a separate decrease in the number of
considered receivers, interceptors, and trajectories. Reducing several
parameters at the same time can result in an even greater reduction of the algorithm
execution time.
5.1</p>
      <sec id="sec-5-1">
        <title>Reducing the amount of receivers considered</title>
        <p>The estimated parameter Quality was calculated as follows:</p>
        <p>Quality = Calculated SP A Area 100=SP A Rael Area
(11)</p>
        <p>A decrease of the number of considered receivers strongly a ects the result
time (see Fig. 6).
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Reducing the number of interceptors considered</title>
        <p>A decrease of the number of considered interceptors does not signi cantly
a ect the result time (see Fig. 6).
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Reducing the number of trajectories considered</title>
        <p>The estimated parameter Quality was calculated as follows in equation (12).</p>
        <p>A decrease of the number of considered interceptors has a little e ect on the
result time (see Fig. 6).</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion Remarks</title>
      <p>In this paper we presented a variety of methods to calculate the possibility and
parameters of the pass in the virtual environment of the RoboCup Simulation
League. We introduced an approach to ball passing that has quality which
depends on the time of calculation.</p>
      <p>We introduced an approach to ball passing that has quality which depends
on the time of calculation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Panteleev</surname>
            <given-names>M.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puzankov</surname>
            <given-names>D.V.</given-names>
          </string-name>
          <article-title>Intelligent agents and multiagent systems</article-title>
          ,
          <source>SPbGETU "LETI"</source>
          Publishing,
          <source>SPb</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. RoboCup. The Robot World Cup Initiative.
          <article-title>Robocup o ciale site</article-title>
          . Available at: http://www.robocup.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Stolzenburg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obst</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murray</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Qualitative velocity and ball interception</article-title>
          . In: Jarke,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Lakemeyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Koehler</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. (eds.) KI</surname>
          </string-name>
          <year>2002</year>
          .
          <article-title>LNCS (LNAI)</article-title>
          , vol.
          <volume>2479</volume>
          , pp.
          <volume>283</volume>
          {
          <fpage>298</fpage>
          . Springer, Heidelberg (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Makarov</surname>
            <given-names>P.A.</given-names>
          </string-name>
          et al.
          <article-title>A Model-Free Algorithm of Moving Ball Interception by Holonomic Robot Using Geometric Approach</article-title>
          . In: Chalup S.,
          <string-name>
            <surname>Niemueller</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suthakorn</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            <given-names>MA</given-names>
          </string-name>
          . (eds) RoboCup 2019: Robot World Cup XXIII.
          <article-title>RoboCup 2019</article-title>
          . LNCS, vol.
          <volume>11531</volume>
          , pp.
          <fpage>166</fpage>
          -
          <lpage>175</lpage>
          . Springer, Cham
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cunha</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lau</surname>
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodrigues</surname>
            <given-names>J</given-names>
          </string-name>
          .
          <article-title>Ball Interception Behaviour in Robotic Soccer</article-title>
          . In: T. Rofer et al. (Eds.): Robot Soccer World Cup XV, LNCS vol.
          <volume>7416</volume>
          , pp.
          <volume>114</volume>
          {
          <issue>125</issue>
          , Springer-Verlag Berlin Heidelberg (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nakanishi</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruce</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murakami</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naruse</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veloso M.M. Cooperative</surname>
          </string-name>
          3
          <article-title>-robot passing and shooting in the RoboCup small size league</article-title>
          . In: Lakemeyer,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Sklar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Sorrenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.G.</given-names>
            ,
            <surname>Takahashi</surname>
          </string-name>
          , T. (eds.)
          <source>RoboCup</source>
          <year>2006</year>
          :
          <article-title>Robot Soccer World Cup X. LNCS (LNAI)</article-title>
          , vol.
          <volume>4434</volume>
          , pp.
          <volume>418</volume>
          {
          <fpage>425</fpage>
          . Springer, Heidelberg (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Panteleev</surname>
            <given-names>M.G.</given-names>
          </string-name>
          <article-title>A formal model of proactive iterative action planning for real-time intelligent agents [In Russian]</article-title>
          .
          <source>Proc. of the 14 National Conference on Arti cial Intelligence with International Participation KII-2014</source>
          . - Kazan: Fizmatlit. - V 1. - pp.
          <fpage>323</fpage>
          -
          <lpage>334</lpage>
          . (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Zilberstein</surname>
            <given-names>S.</given-names>
          </string-name>
          <article-title>Using Anytime Algorithms in Intelligent Systems</article-title>
          .
          <source>AI Magazine</source>
          <volume>17</volume>
          (
          <issue>3</issue>
          ),
          <fpage>73</fpage>
          -
          <lpage>83</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Chen</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dorer K. RoboCup Soccer Server</surname>
          </string-name>
          ,
          <volume>150</volume>
          p. (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dashti H.T</surname>
          </string-name>
          . et al.
          <article-title>Dynamic Positioning Based on Voronoi Cells (DPVC)</article-title>
          . In: Bredenfeld A.,
          <string-name>
            <surname>Jaco</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noda</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Takahashi</surname>
            <given-names>Y</given-names>
          </string-name>
          . (eds) RoboCup
          <source>2005: Robot Soccer World Cup IX. RoboCup 2005. Lecture Notes in Computer Science</source>
          , vol
          <volume>4020</volume>
          . Springer, Berlin, Heidelberg
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Dobrin</surname>
          </string-name>
          <article-title>A. A review of properties and variations of Voronoi diagrams</article-title>
          .
          <source>Whitman College</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. Remco de Boer, Jelle Kok, Frans Groen.
          <source>UvA Trilearn 2002 team description { Faculty of Science</source>
          , University of Amsterdam (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>