<!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>An Optimization-Based Algorithm for Indoor Localization of JADE Agents</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Stefania Monica, Federico Bergenti Dipartimento di Scienze Matematiche, Fisiche e Informatiche Universita` degli Studi di Parma Parco Area delle Scienze 53/A</institution>
          ,
          <addr-line>43124 Parma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>65</fpage>
      <lpage>70</lpage>
      <abstract>
        <p>-This paper describes and evaluates an optimizationbased localization algorithm which has been recently implemented to enrich the possibilities of the localization add-on module for JADE. The described algorithm targets indoor scenarios and it enables localization of JADE agents running on smart devices in known environments, provided that a conventional WiFi network is present. The algorithm assumes that WiFi access points in fixed and known positions are available, and it estimates the position of the smart device where the agent is running using estimates of the distance between the smart device and each access point. Distance estimates are used to build an optimization problem, whose solution is an estimate of the position of the smart device. The described algorithm uses particle swarm optimization to solve the built optimization problem, but it is open to the adoption of other optimization techniques. The validity of the proposed approach is supported by experimental results shown in the last part of the paper.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>I. INTRODUCTION</p>
      <p>
        Among the longstanding debate on the characteristics that
should be ascribed to agents, the fact that agents should be
considered situated entities immersed in a partially observable
environment seems consolidated. Agents acquire knowledge
from the environment, and they act on it to achieve their
goals. Whether the environment is physical or not is
irrelevant for a generic characterization, but agents executing in
physical environments are traditionally called robots, while
agents executing in nonphysical environments are traditionally
called software agents. Such a distinction is quickly fading
because onboard software of robots has now features that
were typical of software agents (see, e.g., [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), and smart
devices [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] provide software agents with a direct link with
the physical world that should be taken into serious account
to effectively implement the envisioned ideas of agent-based
ubiquitous and pervasive computing. Today, smart devices
are ideal candidates to host JADE containers with minimal
restrictions [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and it is perfectly reasonable to assume that
JADE should provide platform-level functionality to let agents
access the bidirectional link with the physical world that smart
devices offer. In order to fully comply with the metaphor
of agents as situated entities, JADE is demanded to provide
agents with platform-level functionality to let agents sense the
physical environment where they execute and act on it to bring
about their goals.
      </p>
      <p>
        Smart devices already integrate sophisticated sensors and
actuators that can be effectively used to provide agents with
a bidirectional link with the physical environment, but they
do not normally provide means to let agents know their
position in indoor environments. While localization can be
considered a solved problem in outdoor environments because
consolidated technologies like the Global Positioning System
(GPS) are commonly available in virtually all smart devices,
only few smart devices offer localization sensors for indoor
environments. Just to mention one of the most promising
possibilities in this respect, which is already available in
some smart devices, the Ultra-Wide Band (UWB) technology
guarantees accurate and robust indoor localization [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and
it has been already used for accurate indoor localization in
industrial environments [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]–[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and to provide agents with
indoor localization capabilities [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However, besides the need
of a specific type of smart device, the strongest limitation
that we currently see in the adoption of UWB or similar
technologies is that they require a dedicated infrastructure,
which needs to be implemented in indoor environments just
to support localization. Notably, WiFi networks can be
considered ubiquitous in indoor environments today, and the use
of standard WiFi infrastructures to support localization, rather
than dedicated infrastructures, can be considered a major
advancement and an enabler for applications [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        In this paper we document recent developments of
experiments intended to provide JADE agents running on common
Android devices with localization capabilities in known indoor
environments using only ordinary WiFi networks. In detail, the
targeted scenario assumes that a JADE agent is interested in
accurate and timely estimates of its dynamic position within
an indoor environment where known and static WiFi Access
Points (APs) are available. The proposed method is based on
the possibility of acquiring estimates of the distance between
the smart device where the agent is running and each AP
using the received power of signals from responding APs
during standard network discovery. Such distance estimates are
then processed to estimate the position of the smart device in
the indoor environment. Once computed, position estimates
are immediately made available to the JADE agent. The
processing of distance estimates can be performed using one
of the localization algorithms available in the literature [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
but in this paper we describe and evaluate the features of an
algorithm that was introduced in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and further improved
in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] to overcome the inherent numerical instability
of classic localization algorithms. The described algorithm,
which was originally designed to use UWB, turns the
localization problem into a specific optimization problem, which
is solved using Particle Swarm Optimization (PSO), even if
other optimization techniques could be adopted.
      </p>
      <p>This paper is organized as follows. Section II fixes notation
and describes the implemented algorithm. Section III shows
experimental results obtained in a representative indoor
scenarios. Finally, Section IV concludes the paper and outlines
possible future developments.</p>
    </sec>
    <sec id="sec-2">
      <title>II. OPTIMIZATION-BASED LOCALIZATION</title>
      <p>
        The described algorithm is implemented in a localization
add-on module for JADE, which has been recently
implemented to provide a framework to host localization algorithms,
and to offer agent developers the possibility of choosing
among different algorithms to address the specific needs of
applications [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. A discussion of the architecture of this
module, which is briefly summarized in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], is not needed
to describe the algorithm and its features.
      </p>
      <sec id="sec-2-1">
        <title>A. Notation and Reference Scenarios</title>
        <p>The smart device where the agent is running, which is
denoted as Target Node (TN) in the rest of the paper, is situated
in an indoor environment that contains M WiFi APs. Let
si = (xi, yi)T
i ∈ {1, . . . , M }.</p>
        <p>
          (1)
be the coordinates of such APs. We assume that APs are static
and we also assume that their coordinates si are known to
the agent. Note that, in order to simplify notation, we focus
on the description of the algorithm on bi-dimensional
scenarios. The generalization of the described algorithm to
threedimensional scenarios is straightforward. Moreover, under the
assumption that the smart device approximatively moves on a
plane, [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] shows how to relate a localization problem in a
three-dimensional scenario to a proper localization problem in
a bi-dimensional scenario.
        </p>
        <p>
          The ranging capabilities that the smart device is requested
to offer in order to support the implemented algorithm concern
the possibility of measuring estimates of the distances to
the M APs. Such estimates of distances are obtained by
processing the average received power of the WiFi signals
traveling between the TN and each responding AP during
standard network discovery. According to the Friis
transmission equation [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], the average received power P¯(r) can be
expressed as a function of the distance r between a transmitter
and a receiver. By inverting the Friis transmission equation, the
value of r as a function of P¯(r) can be expressed as
r = r0 · 10− P¯(r1)0−βP0
(2)
where P0 is the known power at reference distance r0, and
β depends on the characteristics of the transmission. Hence,
in order to derive an estimate of the distance r between the
TN and a generic AP, it is sufficient to measure the average
received power of the signal traveling between them and to
apply (2). Such a measure of the average received power is
 (xˆ − x1)2 + (yˆ − y1)2 = rˆ12

 . . .
        </p>
        <p> (xˆ − xM )2 + (yˆ − yM )2 = rˆM2
which is obtained from (5) by replacing the values of true
distances {ri}iM=1, with their estimates, denoted as {rˆi}iM=1.
Due to errors on distance estimates, the M circumferences
corresponding to the equations in (6) often do not intersect
in a single point and, for this reason, a proper localization
always provided by operating systems to applications during
standard WiFi network discovery because it is normally used
to let the user choose among available networks. Each range
estimate can also be associated with the corresponding AP
and, eventually, with its coordinates, because communications
between the TN and an AP during network discovery include
the Basic Service Set IDentification (BSSID) of the latter,
which can be used to identify the responding AP. Hence,
assuming that each known BSSID can be associated with
the coordinates si of the corresponding AP, each distance
estimate can be related to the coordinates of the corresponding
AP. Notably, needed information to support the computation
of distance estimates is always available to applications and
neither low-level access to hardware, nor privileged operating
system services are needed. Indeed, the TN is not even
requested to be connected to the WiFi network, because only
network discovery is used.</p>
        <p>
          We have already discussed the performance of some
localization algorithms in the context of agent-based indoor
localization, such as the circumference intersection algorithm [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
and the two-stage maximum-likelihood algorithm [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. In this
paper, we focus on a localization approach based on
optimization, where the localization problem is rewritten in terms of an
optimization problem. In order to describe the algorithm, let us
first introduce proper notation and makes relevant geometric
considerations. Let
        </p>
        <p>u = (x, y)T
be the true position of the TN, which is supposed to be
unknown and which is what should be estimated. The true
distance between the TN and the i−th AP can be denoted as
ri , ||u − si||</p>
        <p>i ∈ {1, . . . , M }.</p>
        <p>The knowledge of true distances {ri}iM=1, together with the
M
knowledge of coordinates {si}i=1 of the APs, would easily
determine the position of the TN. In this case, the coordinates
of the TN could be found by simply intersecting the
circumferences centered in {si}iM=1, whose radii are {ri}iM=1. This
translates into the following system of M quadratic equations
 (x − x1)2 + (y − y1)2 = r12

 . . .</p>
        <p> (x − xM )2 + (y − yM )2 = rM2 .</p>
        <p>Unfortunately, since true distances {ri}iM=1 between APs
and the TN are unknown, localization can only be performed
using the following system of quadratic equations
(3)
(4)
(5)
(6)
algorithm needs to be considered in order to find the proper
estimates of the position of the TN, which is denoted as</p>
        <p>In order to derive a proper localization algorithm, let us first
observe that (6) can be re-written in matrix notation as
uˆ = (xˆ, yˆ)T .
1 uˆT uˆ + A uˆ = kˆ
move all the particles towards the position corresponding to
the optimal solution of the considered minimization problem.</p>
        <p>The PSO-based algorithm that we adopted to solve the
minimization problem (10) works as follows. First, the positions
of the particles are randomly initialized in the search space,
which, in our context, corresponds to the physical indoor
environment where the APs and the TN are situated. The initial
positions are denoted as
x(i)(0)</p>
        <p>i ∈ {1, . . . , S}
where i is the index of the generic particle, and S is the number
of particles. Analogously, the velocity of the i−th particle is
initialized with the value
where 1 is vector with M elements equal to 1, kˆ is a vector
whose i−th element is rˆi2 − (xi2 + yi2), and A is the following
M × 2 matrix
 x1
 x2
A , −2  ...</p>
        <p>xM
y1 
y2 
...  .
yM</p>
        <p>
          Possible algorithms to solve (8), based on least square
techniques, on Taylor series expansion, or on
maximumlikelihood methods, can be found, for instance, in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The
rest of this section describes an alternative algorithm, which
was introduced to overcome numerical instability problems of
mentioned approaches.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>B. The PSO-Based Localization Algorithm</title>
        <p>
          Various algorithms to solve localization problems expressed
as systems of equations like (8) can be found in the significant
body of literature on the subject (see, e.g., [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] and referenced
literature). All such algorithms typically suffer from numerical
instability in correspondence of peculiar configurations of
network nodes in space, for example if APs are aligned as
discussed in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. In order to derive a more robust algorithm,
in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] it is proposed to reformulate (8) as an optimization
problem, which is solved using Particle Swarm Optimization
(PSO) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], as outlined in the rest of this section. Note that the
proposed PSO-based approach was originally designed to use
UWB signaling, and the description of its evolution to WiFi
signaling is the major contribution of this paper.
        </p>
        <p>Observe that (8) can be written as a minimization problem
whose solution is an estimate of the position of the TN
uˆ = arg min F (u)</p>
        <p>u
where F (u) represents the fitness function associated with the
problem, which is defined as</p>
        <p>ˆ</p>
        <p>F (u) = ||k − (1 uˆT uˆ + A uˆ)||.</p>
        <p>In order to solve the minimization problem (10), among
the wide range of possibilities, we propose to use the PSO
algorithm for its proved effectiveness and robustness.
According to such an algorithm, the set of potential solutions of
a minimization problem can be considered as a swarm of
particles whose positions and velocities are iteratively updated
according to proper rules. Such rules are inspired by biological
phenomena like the movements of birds in swarms. In the
context of optimization problems, such rules are meant to
where
where
(12)
(13)
(14)
(15)
(16)
(17)</p>
        <p>
          After the initialization phase, positions and velocities of all
the particles are updated at each iteration t ∈ N to simulate
interactions among individuals. More precisely, at the t−th
iteration, the velocity of the i−th particle whose position is
x(i)(t) is updated according to the following rule [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
v(i)(t + 1) = ω(t)v(i)(t)
+ c1R1(t)(y(i)(t) − x(i)(t))
+ c2R2(t)(y(t) − x(i)(t))
where, as discussed in [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ],
1) y(i)(t) is the best position reached so far;
2) y(t) is the best position globally reached so far;
3) ω(t) is the so called inertial factor;
4) c1 is a positive parameter called cognition parameter;
5) c2 is a positive parameter called social parameters; and
6) R1(t) and R2(t) are independent random variables
uniformly distributed in (0, 1).
        </p>
        <p>From (14) it can be easily observed that the velocity of a
particle at the (t + 1)−th iteration is obtained as the sum of
three addends. The first addend is related to the velocity of the
particle at the previous iteration, which is weighed according
to the inertial factor ω(t). The second addend is meant to move
each particle towards the best position it reached so far. Note
that such a best position is the one which corresponds to the
lowest value of the fitness function and, therefore, y(i)(t) can
be expressed as
y(i)(t) = arg min F (z)</p>
        <p>z∈X(i)(t)</p>
        <p>X(i)(t) = {x(i)(0), . . . , x(i)(t)}.</p>
        <p>
          Finally, the third addend aims at moving each particle towards
the global best position, which is the position that corresponds
to the smallest value of the fitness function among all those
reached by any particle in the swarm [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Hence, y(t) is
expressed as
y(t) = arg min F (z)
        </p>
        <p>z∈Y (t)
Y (t) = {y(1)(t), . . . , y(S)(t)}.</p>
        <p>TN
2</p>
        <p>3
x[m]
(b)
AP1
0</p>
        <p>AP2
1</p>
        <p>AP3
4</p>
        <p>AP4
5
6</p>
        <p>
          Typically, the inertial factor ω(t) is chosen as a decreasing
function of t to guarantee low dependence of the solution on
the initial population, and to reduce the exploration ability of
the swarm as the number of iterations increases, which makes
the method similar to a local search in last iterations [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>The velocities computed with (14) are used to update
the positions of particles at each iteration according to the
following rule
x(i)(t + 1) = x(i)(t) + v(i)(t)
i ∈ {1, . . . , S}.</p>
        <p>(19)
From (19) it can be observed that the position of the i−th
particle at the (t+1)−th iteration is simply obtained by adding
v(i)(t) to its previous position.</p>
        <p>The execution of the PSO algorithm terminates when a
proper termination condition is met. Normally, the termination
condition includes that a sufficient number of iterations was
performed, or that the fitness function reached a satisfactory
value. Once the execution of the algorithm terminates, the
solution of the minimization problem is the position of the
particle with the lowest value of the fitness function.</p>
        <p>
          The PSO algorithm outlined above is used to solve the
localization problem (10). In order to obtain the experimental
results shown in the next section, we set the value of the
inertial factor to 0.5. The values of c1 and c2 are equal and
they are set to 2, so that the average values of c1R1(t) and
of c2R2(t) correspond to 1. The size of the population S is
set to 40, and the algorithm terminates after 50 iterations.
These values proved to be effective for localization purposes
as documented in the experimental results presented in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. EXPERIMENTAL RESULTS</title>
      <p>
        This section shows experimental results obtained using the
described optimization-based algorithm, as implemented in
the localization add-on module for JADE. Presented results
are obtained in a representative scenario which consists in a
section of a corridor whose width is 2 m. Note that we consider
a bi-dimensional scenario, however, the algorithm can be
generalized to three-dimensional scenarios as shown in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>
        Moreover, under the assumption that the smart device moves
on a plane, [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] shows how to relate a localization problem in
a three-dimensional scenario to a proper localization problem
in a bi-dimensional scenario.
      </p>
      <p>We assume that M = 4 APs are used to estimate the
position of the TN and, in the same environment, we consider two
different configurations of such APs. The two configurations
are shown in Fig. 1 and in Fig. 2, respectively. In this figures,
the positions of the APs are marked with blue squares, the
position of the TN is marked with a red star, and the black
lines show the walls of the corridor. Note that, even if the
algorithm is evaluated for M = 4 APs, it can be executed with
an arbitrary number of APs. The minimum number of APs to
localize a TN in a bi-dimensional environment is three, but the
availability of more APs contributes to improve the accuracy
of localization.</p>
      <p>For each configuration of APs, the optimization-based
localization algorithm outlined in Section II is applied 100 times,
thus leading to 100 independent position estimates for the TN.</p>
      <p>In the following, the position estimates of the TN at the j−th
iteration are denoted as
uˆ(j) = (xˆ(j), yˆ(j))
j ∈ {1, . . . , 100}.</p>
      <p>(20)
The performance of the proposed localization algorithm is
analyzed in terms of a localization error computed as the
distance between each position estimate uˆ(j) and the true
position of the TN, denoted as u, which is known. Such a
localization error is
d(j) , ||uˆ(j) − u||</p>
      <p>j ∈ {1, . . . , 100}.</p>
      <p>The values of {d(j)}j1=001 can be used to compute the average
localization error, denoted as davg, which is expressed as
davg =</p>
      <p>We start by considering experimental results obtained in the
scenario shown in Fig. 1. In this case, the coordinates of the
APs, expressed in meters, are
davg
1.8
1.6
The position of the TN, instead, has the following coordinates
expressed in meters
According to the algorithm outlined in Section II, range
estimates for each one of the four APs are acquired and used
to estimate the position of the TN. This procedure is applied
100 times, thus obtaining 100 position estimates {uˆ(j)}j1=001 for
the TN. Obtained results are then used to evaluate distances
{d(j)}j1=001 between the j-th position estimate and the true
position of the TN, according to (21). Such distances are
used as a performance metrics to investigate the validity of
the proposed localization algorithm. Fig. 3 shows the values
of {d(j)}j1=001 and also the value of the average localization
error davg, which corresponds to 62 cm. Fig. 3 also shows
that the maximum value of {d(j)}j1=001 is approximately 1.4 m.</p>
      <p>This means that the distance between the true position of the
TN and its estimates is at most 1.4 m, and it is 0.62 m on
average, which makes the localization sufficiently accurate for
many indoor localization purposes.</p>
      <p>Let us now consider the results obtained with the
configuration of APs shown in Fig. 2, where all APs are located on
the same side of the corridor. In this case, the coordinates of
the APs expressed in meters are
Fig. 3. The values of the localization error d(j) is shown for 100 position
estimates for the configuration of APs in Fig. 1. The value of the average
localization error is shown with a magenta line across the diagram.</p>
      <p>
        This paper described and evaluated empirically an
The TN is located in the same point as in the first scenario, and optimization-based localization algorithm which is used to
its coordinates are shown in (24). Note that the configuration provide agents with accurate and timely estimates of their
of APs shown in Fig. 2 is less favorable for localization than position in indoor environments using only ordinary WiFi
that shown in Fig. 1, and many classic localization algorithm infrastructures. The discussed algorithm is implemented in
would fail in estimating the position of the TN. Actually, the the localization add-on module for JADE which provides a
large majority of classic localization algorithm rely on specific framework to host different localization algorithms and to let
geometric considerations concerning the positions of the APs agent developers choose among them to address the specific
and of the TN, and they are based on the solutions of non- needs of applications. In detail, the proposed approach uses
linear systems of equations. If all APs lay on the same line, the communication between the smart device where the agent
as in the scenario shown in Fig. 2, then the matrices which
appear in such classic algorithms become ill-conditioned, thus
leading to position estimates which are typically far distant
from the true position of the TN [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. At the opposite, the
PSO algorithm, being a refinement-based algorithm, does not
suffer from ill-conditioning related to the geometric relations
among the positions of the APs.
      </p>
      <p>As done in the first scenario, 100 range estimates from
each one of the four APs are acquired, but in this case
the configuration of APs is shown in Fig. 2. The values
of distances {d(j)}j1=001 corresponding to the 100 position
estimates are then evaluated according to (21) and they are
shown in Fig. 4. Fig. 4 also shows the value of the average
localization error davg, which corresponds to 56 cm (green
line). Finally, Fig. 4 shows that the distance between the true
position of the TN and its estimates is always smaller than
1.7 m, since the maximum value of {d(j)}j1=001 is 1.68 m.</p>
      <p>A comparison between the results shown in Fig. 3 and in
Fig. 4 emphasizes that the values of the average localization
errors davg are close in the two scenarios. The value of davg
with the configuration of APs shown in Fig. 2, which is the
less favorable, is 6 cm lower than that obtained with the
configuration of APs shown in Fig. 1, even if the maximum
value of {d(j)}j1=001 is smaller in the first scenario.</p>
      <p>IV. CONCLUSIONS
is running and the APs of the network, which are assumed to
be static and in known positions, to acquire estimates of the
distance between the smart device and each AP. Such estimates
are used to build a specific optimization problem, which is
then solved using PSO. The solution of such an optimization
problem is an estimate of the position of the smart device
which hosts the agent. No dedicated infrastructure is needed
to enable localization, and smart devices are not even requested
to be connected to one of the available WiFi networks because
only standard network discovery messages are used.</p>
      <p>
        Possible envisaged applications of the described algorithm
include location-aware social games [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], which can be
adopted, for instance, inside museums and exhibitions to
attract the interest of children, or to create personalized
itineraries with treasure hunts. Such games can be effectively
implemented using the localization add-on module for JADE
together with the Agent-based Multi-User Social Environment
(AMUSE) [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], a recent evolution of JADE that offers
platform-level functionality to help developers in the
implementation of social games. Illustrative results presented in
the last part of the paper show that the performance of the
proposed algorithms can be considered sufficiently good for
these types of applications. In addition, location-aware smart
emergency applications [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], which were typically intended
for outdoor environments because they need accurate
localization, could be retargeted to indoor environments with the
help of the described algorithm.
      </p>
      <p>Future work on the research discussed in this paper involves
further investigation on the performance of the described
algorithm in different indoor environments and with different
configurations of APs. Moreover, it is of interest to study the
effects of proper pre-processing of the range estimates in the
first phase of the algorithm. Actually, as also suggested by
experimental results shown in previous section, the performance
of the algorithm could benefit from proper averaging of range
estimates or of position estimates.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Fichera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Messina</surname>
          </string-name>
          , G. Pappalardo, and
          <string-name>
            <given-names>C.</given-names>
            <surname>Santoro</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          “
          <article-title>Python framework for programming autonomous robots using a declarative approach</article-title>
          ,”
          <source>Science of Computer Programming</source>
          , vol.
          <volume>139</volume>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Poslad</surname>
          </string-name>
          , Ubiquitous Computing: Smart Devices, Environments and Interactions. Wiley,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , G. Caire, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Gotta</surname>
          </string-name>
          ,
          <string-name>
            <surname>A“</surname>
          </string-name>
          <article-title>gents on the move: JADE for Android devices</article-title>
          ,”
          <source>in Proceedings of the 15th Workshop Dagli Oggetti agli Agenti (WOA</source>
          <year>2014</year>
          )
          <article-title>, ser</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1260</volume>
          . RWTH Aachen,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Gezici</surname>
          </string-name>
          and
          <string-name>
            <given-names>H. V.</given-names>
            <surname>Poor</surname>
          </string-name>
          , “
          <article-title>Position estimation via Ultra-Wide-Band signals</article-title>
          ,
          <source>” Proceedings of the IEEE</source>
          , vol.
          <volume>97</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>386</fpage>
          -
          <lpage>403</lpage>
          ,
          <year>February 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>Impact of the number of beacons in PSO-based auto-localization in UWB networks</article-title>
          ,”
          <source>in Proceedings of the International Conference on the Applications of Evolutionary Computation (EvoApplications</source>
          <year>2013</year>
          ),
          <article-title>track on Nature-inspired Techniques for Communication Networks and other Parallel and Distributed Systems (EvoCOMNET</article-title>
          <year>2013</year>
          ), Vienna, Austria,
          <year>April 2013</year>
          , pp.
          <fpage>42</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>Optimized anchors placement: An analytical approach in UWB-based TDOA localization</article-title>
          ,”
          <source>in Proceedings of the 9th International Wireless Communications &amp; Mobile Computing Conference (IWCMC</source>
          <year>2013</year>
          ), Cagliari, Italy,
          <year>July 2013</year>
          , pp.
          <fpage>982</fpage>
          -
          <lpage>987</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>UWB-based localization in large indoor scenarios: Optimized placement of anchor nodes</article-title>
          ,
          <source>” IEEE Transactions on Aerospace and Electronic Systems</source>
          , vol.
          <volume>51</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>987</fpage>
          -
          <lpage>999</lpage>
          ,
          <year>April 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , “
          <article-title>Location-aware JADE agents in indoor scenarios</article-title>
          ,”
          <source>in Proceedings of 16th Workshop Dagli Oggetti agli Agenti (WOA</source>
          <year>2015</year>
          )
          <article-title>, ser</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1382</volume>
          . RWTH Aachen,
          <year>2015</year>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          ,
          <article-title>A“ comparison of accurate indoor localization of static targets via WiFi and UWB ranging,” in Trends in Practical Applications of Scalable Multi-Agent Systems</article-title>
          ,
          <source>the PAAMS Collection</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>111</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , “
          <article-title>Experimental evaluation of agent-based localization of smart appliances</article-title>
          ,”
          <source>in Proceedings of the European Conference on Multi-Agent Systems (EUMAS)</source>
          , Sevilla, Spain,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Farid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Nordin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ismail</surname>
          </string-name>
          , “
          <article-title>Recent advances in wireless indoor localization techniques and system</article-title>
          ,
          <source>” Journal of Computer Networks and Communications</source>
          , vol.
          <year>2013</year>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>Particle swarm optimization for autolocalization of nodes in wireless sensor networks</article-title>
          ,
          <source>” in Proceedings of the 11th International Conference on Adaptive and Natural Computing Algorithms (ICANNGA</source>
          <year>2013</year>
          ), Lausanne, Switzerland,
          <year>April 2013</year>
          , pp.
          <fpage>456</fpage>
          -
          <lpage>465</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>Swarm intelligent approaches to autolocalization of nodes in static UWB networks</article-title>
          ,
          <source>” Applied Soft Computing</source>
          , vol.
          <volume>25</volume>
          , pp.
          <fpage>426</fpage>
          -
          <lpage>434</lpage>
          ,
          <year>December 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>A swarm-based approach to real-time 3D indoor localization: Experimental performance analysis</article-title>
          ,
          <source>” Applied Soft Computing</source>
          , vol.
          <volume>43</volume>
          , pp.
          <fpage>489</fpage>
          -
          <lpage>497</lpage>
          ,
          <year>June 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>G.</given-names>
            <surname>Shen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Zetik</surname>
          </string-name>
          , and R. S. Thoma¨, “
          <article-title>Performance comparison of TOA and TDOA based location estimation algorithms in</article-title>
          LOS environment,”
          <source>in Proceedings of the 5th Workshop on Positioning, Navigation and Communication (WPNC</source>
          <year>2008</year>
          ), Hannover, Germany,
          <year>March 2008</year>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>78</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kennedy</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Eberhart</surname>
          </string-name>
          , “Particle swarm optimization,”
          <source>in Proceedings of the IEEE International Conference on Neural Networks (ICNN)</source>
          , Perth, Australia,
          <year>November 1995</year>
          , pp.
          <fpage>1942</fpage>
          -
          <lpage>1948</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shi</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Eberhart</surname>
          </string-name>
          ,
          <article-title>A“ modified particle swarm optimizer</article-title>
          ,”
          <source>in Proceedings of the IEEE International Conference on Evolutionary Computation (ICEC)</source>
          , Washington, DC,
          <year>July 1999</year>
          , pp.
          <fpage>69</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R.</given-names>
            <surname>Eberhart</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Kennedy</surname>
          </string-name>
          ,
          <article-title>A“ new optimizer using particles swarm theory</article-title>
          ,”
          <source>in Proceedings of the 6th International Symposium on Micro Machine and Human Science (MHS)</source>
          , Nagoya, Japan,
          <year>October 1995</year>
          , pp.
          <fpage>39</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>R.</given-names>
            <surname>Poli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kennedy</surname>
          </string-name>
          , and T. Blackwell, “Particle swarm optimization,
          <source>” Swarm Intelligence Journal</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>June 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          and G. Ferrari, “
          <article-title>A swarm intelligence approach to 3D distance-based indoor UWB localization</article-title>
          ,”
          <source>in Proceedings of the International Conference on the Applications of Evolutionary Computation (EvoApplications</source>
          <year>2015</year>
          ),
          <article-title>track on Nature-inspired Techniques for Communication Networks and other Parallel and Distributed Systems (EvoCOMNET</article-title>
          <year>2015</year>
          ), Copenaghen, Denmark,
          <year>April 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Monica</surname>
          </string-name>
          , “
          <article-title>Location-aware social gaming with AMUSE,” in Advances in Practical Applications of Scalable Multiagent Systems</article-title>
          .
          <source>The PAAMS Collection: 14th International Conference, PAAMS</source>
          <year>2016</year>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Demazeau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bajo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Escalona</surname>
          </string-name>
          , Eds. Springer International Publishing,
          <year>2016</year>
          , pp.
          <fpage>36</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , G. Caire, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Gotta</surname>
          </string-name>
          ,
          <string-name>
            <surname>A“</surname>
          </string-name>
          <article-title>n overview of the AMUSE social gaming platform</article-title>
          ,”
          <source>in Proceedings of the 14th Workshop Dagli Oggetti agli Agenti (WOA</source>
          <year>2013</year>
          )
          <article-title>, ser</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1099</volume>
          . RWTH Aachen,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , G. Caire, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Gotta</surname>
          </string-name>
          ,
          <article-title>A“gent-based social gaming with AMUSE,” in Procs</article-title>
          . 5th
          <string-name>
            <surname>Int'l Conf</surname>
          </string-name>
          .
          <source>Ambient Systems, Networks and Technologies (ANT</source>
          <year>2014</year>
          )
          <article-title>and</article-title>
          4th
          <string-name>
            <surname>Int'l Conf</surname>
          </string-name>
          .
          <source>Sustainable Energy Information Technology (SEIT</source>
          <year>2014</year>
          )
          <article-title>, ser</article-title>
          .
          <source>Procedia Computer Science</source>
          , vol.
          <volume>32</volume>
          ,
          <year>2014</year>
          , pp.
          <fpage>914</fpage>
          -
          <lpage>919</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Bergenti</surname>
          </string-name>
          , “
          <article-title>Developing smart emergency applications with multi-agent systems</article-title>
          ,”
          <source>International Journal of E-Health and Medical Communications</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>