Comparing voronoi based multi-agent coverage maps to

Comparing voronoi based multi-agent coverage maps to human soccer player
data
Rami Hamzey
Boston University
ME 570 - Robot Motion Planning
[email protected]
Abstract
compared against voronoi diagrams derived from a gradient
based controller [7]. These two seemingly differing ideas
will be reconciled, the problem formulated, and then results
shown to compare human team distribution to a voronoi diagram generated with the same number of players and using
a cost optimization algorithm.
Understanding how to use multiple robots to cover a
map with changing environments has garnered attention in
robotics and logistical planning literature, but no consensus approach has emerged. One avenue to gaining greater
insight into this problem is to observe and learn from how
humans and animals act in similar scenarios. The purpose
of this paper is to understand coverage strategies used in
a soccer game to enhance our understanding of possible
approaches in robotics. Player coordinate data was used to
develop a voronoi diagram during one half of a professional
soccer match. Characteristics of the resulting voronoi diagrams were compared to a multi-agent coverage map using
a gradient descent method on a cost function that is equivalent to a voronoi diagram.
1.1. Previous Work
After the computer science field considered itself to have
conquered the chess realm, soccer became one of the next
avenues for developing artificial intelligence and robotics.
Soccer is widely played and has simple objectives, but is
also dynamic and continuous. This makes it an attractive
paradigm for testing strategies that could eventually find
their way into real-world applications. Two obvious avenues that exist for reviewing previous strategies for teambased defensive positioning are videogames and the annual
RoboCup. Few specifics exist about the algorithms used in
videogame artificial intelligence, but the academic spirit of
the RoboCup offers a source of applied research in many
aspects of robotics and artificial intelligence.
Carnegie Mellon University, a consistent top performer
in the RoboCup small-size league, describe an effective
defensive strategy that uses a two-tier threat classification
strategy based on the most likely shot position and available passing lanes [2]. This approach is effective for games
with relatively few agents/players, and where a goal could
be scored from any position on the field. It does not address
a strategy for distributing the defensive agents to threats further down the line of importance. Secondly, it is difficult
to predict how this strategy might expand to a full field of
real-world soccer where a primary a threat might not be the
player with the ball or even that players nearest pass.
To address this strategy gap, we turn to multi-agent coverage algorithms, which aim to optimally distribute a group
of robots/agents in a defined space. Frasca et al. describe an
effective way to partition an open space into a Voronoi diagram [3]. In fact, many approaches exist that use Voronoi
cells to solve the multi-agent coverage map problem [7, 1].
1. Introduction
One of the fruits of improved data processing capabilities
is that deploying multi-agent robotic systems is now within
reach. Understanding how to control these systems is an
area of much potential and little consensus, mostly because
the numerous environments and goal tasks one can imagine
are nearly infinite. Additionally, the advent of computer vision and wearable technology is ushering in a more quantitative view of how animals interact with their environment.
This phenomenon now gives us a waterfall of real-world
data sets where we have usually been restrained to the lab.
Sports player tracking data are becoming available and are
a valuable resource to researchers looking to understand the
dynamics of team-based interactions, because they are wellcontrolled, finite in time, and offer a variety of options for
individual or group-based analyses.
This paper aims to take advantage of a preexisting player
and ball tracking data set from a professional Norwegian
soccer team in order to understand team positioning and
dynamics [6]. The real world player positioning will be
1
Okabe and Suzuki give a thorough summary of various formulations of facility placement optimization problems and
approaches using Voronoi diagrams [5]. However, these do
not specifically address strategies for dealing with dynamic
environments where the position of a target may change.
Novaes et al. examined continuous location optimization
problems in transportation and logistics [4]. In their paper, both the problem space and demand points can vary.
Lastly, while there are a variety of approaches to multiagent coverage optimization, Schwager et al. produced a
unifying approach that uses a single, free parameter to adapt
the same formulation between potential-based, probability
based, and geometry based planners. This elegant approach
will be implemented in this paper to solve the multi-robot
deployment problem of soccer players distributing themselves on a field [7].
It remains to be seen how well the multitude of these approaches apply to humans and other animals, though some
literature does exist on how wild animals establish territory
in the wild. This is an interesting question, because sensing,
computation, and communication are handled very differently in a biological context, not to mention a goal-directed
task like a soccer game. Some analysis has been completed
on soccer player distributions in futsal using Voronoi diagrams, but it has not been scaled to a full 11-player team,
nor have the studied characteristics been implemented in a
model or testing environment /citeFonseca.
In this project the data from real-world player positions
during a game will be plotted against an automated voronoi
diagram and compared. Potential applications for this research go beyond recreation. For example, research in this
realm could inform strategies that create coverage maps in
dynamic environments, help coaches further develop their
training philosophy, or inform strategies for city-wide pursuits, surveillance, and crowd control tasks.
xb )
Figure 1. A visual representation of the importance function φ(x
based on the ball location x b = (90, 15) i.e. the coordinates, in
meters, of the ball from the origin as indicated at the nearest corner
of the field in this view. The value of the function is 1 at the location of the ball, and drops off quadratically to 0 around the edges
of the field.
is available with this data set. Figure 1 shows an example
of this function. The peak is the ball location, though a
function could be written to add importance to either goal
location as well. For the sake of simplicity only the ball
position was taken into account in the importance function
φ(pp).
3) Lastly, a ”mixing function,” gα dictates how mutiple
players should act, assuming that they all have a full view of
the field. In robotics, this would be analogous to all robots
sensing some common event.
n
X
α
gα = (fdist,1 , ..., fdist,n ) = (
fdist,i
)1/α
where α represents a parameter that can be changed depending on the formulation. In this case, since our goal is a geometric voronoi diagram, α can be set arbitrarily low, as a
true voronoi diagram results when α → −∞. For more information, see Schwager et al. In Eq. 2, the n cost functions
represent the sum of cost functions for all players/robots
on the field. Together, the importance function, the mixing
function, and the distance these three pieces of information
are combined to create a unifying cost of the players’ current formation on the field. The generalized cost function
can be defined as follows:
Z X
n
α
Hα =
(
fdist,i
)1/α φ(pp)dpp
(3)
1.2. Formulation of Robotic Voronoi-based distribution
The following formulation has been adapted from
Schwager et al. and adapted to fit this idea of controlling
multiple robotic ”players” on a soccer field, that is 105 meters long and 68 meters wide. The origin of the 2d field
plane (P ∈ R2 ), is at one of the corners of the field. In
the authors’ unifying theory, a generalized cost function is
formulated based on three different pieces of information
regarding the positions of the players on the plane of the
field: 1) The distance of each player, x p , from the ball, x b
(in this case, a Euclidean norm on the plane:
xp − x b k
fdist = kx
(2)
i=1
P i=1
Now that we have a cost function integrated over the entire
field, for each ”robotic” player, pi , we can take the derivative of the general cost function in order to use it as a controller for multiple players on the field, or the vector velocities of all players, P :
(1)
dHα
(4)
dP
where k is a gain set by the user. To summarize, equation
4, gives the velocity vectors for each player in the field, so
Ṗ = −k
2) a measure of importance of every point on the field. In
this case, the measure of importance will be the location
of the ball, since no information about opponent location
2
when these velocities reach near zero, the minimum cost
(Eq. 3) associated with the current configuration of players,
P has been reached. This brief formulation passes some
intricacies that are well defined by Schwager et al., and the
reader is encouraged to refer to that document.
2. Data Analysis
2.1. Source Data
Figure 2. This figure represents the control velocities given to the
player coordinates over time in meters per second after each iteration. The x-axis includes each iteration from 0 to 60. As the
control velocity function iterates, the velocities decrease showing
an approach toward stability for the player distributions.
The source data was pulled from a preexisting data
set published in 2014 at http://home.ifi.uio.no/
paalh/dataset/alfheim/. The data set was collected at 20 Hz and includes positioning, energy consumption, speed, heading, total distance covered, and other
performance-related metrics for all players on the field during a single half of the game. In total, at least 8 players were on the field at a time, though in a regulation
match there are 11 to start. No explanation was given as
to why fewer players exist on the field, though they may
have just not been wearing sensors. Based on the movements of the players during this time period, which can be
seen at https://drive.google.com/open?id=
0B1tUq3tNASJJNk9FOFF3ak9lcHc the goalkeeper
was not included in this dataset.
2.2. Data processing
All data processing was completed using MATLAB
2015b with functions from the image processing toolbox.
The real player data was downsampled to 1Hz and ball position was transformed from the given video pixel coordinates to (x,y) field location in meters using a homography
estimate. This proved difficult and the resulting processed
ball positions show jagged movement, likely due to noise
introduced in the transformation. In total, roughly 39 minutes of data was collected.
The player data was plotted and voronoi diagrams calculated using the voronoi.m and voronoin.m functions in
matlab. These were plotted for the entire half of the game,
as shown in the video in the url linked above. Once this
data was processed, player positions based on the voronoi
construction above was calculated using the players’ real
data positions, and ball position as inputs into the gradientbased controller of the voronoi formulation from section 1.2
above. The controller function, Eq. 4, was allowed to iterate
with this input data for 60 iterations, or until all control velocities reached below example was allowed to iterate until
the control velocities each reached 60 iterations or all control velocities reached below 0.1 m/s. Qualitative comparisons were then made on the differring voronoi distributions
that resulted from the real world data and the gradient-based
iterative control method formulated above.
Figure 3. Simulated player locations are given in Figure A after 60
iterations of the control algorithm Eq. 4. The ball is displayed in
purple, and the players in light green. Note the difference from the
real world player locations given in B.
3. Results
Because the real-world data is incomplete and This
threshold was not reached, but control velocities generally
decreased asymptotically below 2 m/s before reaching 60
iterations. See Figure 2. The α level was set to -50.
In Figure 3 one can see that the computer generated
voronoi plot, after 60 iterations, and the real-world data do
not agree. More work must be done to quantify this difference, though much of the time on this project was taken
3
during the data processing and formulation steps. Unfortunately, at this time, no quantitative results are available. The
real world data proved very difficult to filter and transform
to reach the appropriate format.
[6] S. A. Pettersen, D. Johansen, H. Johansen, V. Berg-Johansen,
V. R. Gaddam, A. Mortensen, R. Langseth, C. Griwodz, H. K.
Stensland, and P. Halvorsen. Soccer video and player position
dataset, 2014. Available at http://home.ifi.uio.no/
paalh/dataset/alfheim/.
[7] M. Schwager, J.-J. Slotine, and D. Rus. Unifying Geometric,
Probabilistic, and Potential Field Approaches to Multi-robot
Coverage Control, pages 21–38. Springer Berlin Heidelberg,
Berlin, Heidelberg, 2011.
4. Conclusions
Based on the formulation determined by Schwager et al.
the real world voronoi diagrams did not correlate after visual inspection. There are multiple reasons why this could
have happened. The importance function could take into account more specific information about the field space, rather
than just accounting for the ball location. For instance, if
data were available on the opponents it might inform the importance function. Similarly, there must be a way for strategy to be quantified in this model. Defensive players like to
keep compact, and future iterations of this algorithm could
include zone limits based on the players furthest down the
field, for which to bound the players (i.e. and offside line).
Furthermore, which team has the ball is highly important
in the distribution of the players on the field, as the attacking team generally will spread out more than the defending
team. The computation time for 60 iterations was on the
order of 10 minutes, so efficiency in the algorithm could be
improved. Lastly, a lower α could be used in future versions of this paper to approach a true distribution based on
voronoi diagrams.
Overall, this was a challenging approach, and much work
needs to be done to account for these strategic nuances and
field distribution changes that occur over the course of a
game. Much more study needs to be done on the data as
well, so while the initial intent was to create a model, this
paper represents a first step in visualizing real world data
and comparing it to a player distribution constructed via a
gradient descent algorithm.
References
[1] F. Aurenhammer and H. Edelsbrunner. An optimal algorithm
for constructing the weighted voronoi diagram in the plane.
Pattern Recognition, 17(2):251 – 257, 1984.
[2] J. Biswas, J. P. Mendoza, D. Zhu, B. Choi, S. Klee, and
M. Veloso. Opponent-driven planning and execution for pass,
attack, and defense in a multi-robot soccer team, 2014.
[3] P. Frasca, R. Carli, and F. Bullo. Multiagent coverage algorithms with gossip communication: Control systems on the
space of partitions. In 2009 American Control Conference,
pages 2228–2235, June 2009.
[4] A. G. Novaes, J. S. de Cursi, A. C. da Silva, and J. C. Souza.
Solving continuous locationdistricting problems with voronoi
diagrams. Computers & Operations Research, 36(1):40 – 59,
2009. Part Special Issue: Operations Research Approaches
for Disaster Recovery Planning.
[5] A. Okabe and A. Suzuki. Locational optimization problems
solved through voronoi diagrams. European Journal of Operational Research, 98(3):445 – 456, 1997.
4