=Paper= {{Paper |id=Vol-1382/paper16 |storemode=property |title=Location-aware JADE Agents in Indoor Scenarios |pdfUrl=https://ceur-ws.org/Vol-1382/paper16.pdf |volume=Vol-1382 |dblpUrl=https://dblp.org/rec/conf/woa/MonicaB15a }} ==Location-aware JADE Agents in Indoor Scenarios== https://ceur-ws.org/Vol-1382/paper16.pdf
    Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                  June 17-19, Naples, Italy



   Location-Aware JADE Agents in Indoor Scenarios

                                                 Stefania Monica, Federico Bergenti
                                              Dipartimento di Matematica e Informatica
                                          Parco Area delle Scienze 53/A, 43124 Parma, Italy
                                         Email: {stefania.monica, federico.bergenti}@unipr.it

    Abstract—This paper presents a novel JADE add-on that                 it provides a standardized physical layer for short-range, low
enables the implementation of location-aware agents by interfac-          data rate communications, and for high-precision ranging using
ing an underlying ranging technology which provides accurate              low-power devices [11].
distance measures both indoor and outdoor. First, the paper mo-
tivates the work and it presents the features and the architecture            The use of UWB signals is particularly promising for
of the add-on. Then, the paper provides a detailed description of         high-precision localization because it ensures high ranging
the implemented localization algorithms and it validates them in          accuracy. As a matter of fact, due to their large bandwidth,
an indoor scenario. The experimental results show that accurate           UWB signals are characterized by very short duration pulses—
indoor localization can be achieved and that the presented add-
on can be used to support location-aware agents with sufficient
                                                                          usually in the order of one nanosecond—which guarantee
accuracy for targeted educational and ludic applications.                 accurate Time of Flight (ToF) estimation for signals traveling
                                                                          between nodes. This implies that the distance between a trans-
                       I.   I NTRODUCTION                                 mitter and a receiver can be accurately determined, yielding
                                                                          high ranging accuracy. At the opposite, pulses received via
     The use of software agents on mobile devices dates back              multiple paths using conventional narrow-band signals can
to first cellular telephone prototypes capable of running Java            easily overlap, causing wrong ToF estimates, hence wrong
applications, and JADE was one of the first tools that enabled            range estimates [11]. Besides their short pulses, UWB sig-
FIPA agents on devices that were then called Java-enabled                 nals are also characterized by low duty cycle which leads
phones [1]. We used to call them nomadic agents [2] at the                to low energy consumption. Moreover, since UWB signals
time—to make a clear distinction with then popular mobile                 occupy a large portion of the spectrum, in order to avoid
agents—and they were considered one of the most promising                 interference problems with other devices operating in the
applications of agent technology. More recently, the porting              same frequency spectrum, UWB systems normally use low-
of JADE to Android devices [3], and the widespread adoption               power transmissions. Finally, UWB signals are characterized
of JADE and related technologies in crucial parts of large-               by their capability of penetrating through obstacles thanks to
scale networks [4], revitalized the idea of having FIPA agents            the large frequency spectrum that characterizes them (which
on mobile appliances to support large communities of users                includes low-frequency components as well as high-frequency
in their daily activities, which include both collaborative (see,         ones) [12]. Such a feature is particularly interesting in indoor
e.g., [5], [6]) and competitive tasks (see, e.g., [7], [8]). Notably,     environments where the presence of walls and objects can
the appliances of today offer much more resources than                    cause Non-Line-of-Sight (NLoS) effects between sensors.
first Java-enabled phones, and the challenge of implementing
agents for mobile devices is no longer about fitting complex                  Such unique aspects make UWB technology a good can-
software into constrained-resource devices; rather, it is about           didate for accurate and low-power positioning systems. One
interfacing agents with the physical world they live in to                of the main drawbacks that caused the slow adoption of
ensure that user can be provided with contextualized services.            UWB technology for accurate indoor localization was that
This paper tackles the problem of interfacing agents with                 UWB transceivers were normally very expensive because of
the physical world by presenting a novel software module                  the intrinsic challenges that their design and construction
which can be used to develop JADE agents that can sense                   involve, which also include high frequency logics for mea-
the presence of nearby localization beacons or agents, both in            suring very short delays. Only recently, in 2013, a company
outdoor and indoor scenarios. We prototyped such a module                 named BeSpoon (www.bespoon.com) started producing add-on
as a conventional JADE add-on which uses Ultra Wide Band                  modules for smartphones integrating an UWB transceiver and
(UWB) signals (see, e.g., [9]) to measure the distances between           an antenna at a price compatible with the consumers’ demands.
the appliance where the agent is running and target beacons               They also provide a smartphone, called spoonphone, which
or other appliances.                                                      natively accommodates the UWB module and which provides
                                                                          needed drivers for Android. This makes the development of
    The acronym UWB was first used by the US Department                   accurate ranging techniques attractive also for general-purpose
of Defense in late ’80s and it became popular after the                   technologies, like JADE, which are not intended to tackle the
Federal Communications Commission allowed the unlicensed                  issues of interfacing with proprietary, and expensive, hardware.
use of UWB devices in February 2002 under specific emission
constraints [10]. In 2004, IEEE established standardization                   This paper is organized as follows. Section II describes
group IEEE 802.15.4a with the aim of defining a new physical              the architecture of the add-on and it details the implemented
layer for the already existing IEEE 802.15.4 standard for                 localization algorithms. Section III describes the experimental
Wireless Personal Area Networks (WPANs). In 2007 the new                  campaign that we performed to validate the usability of the
IEEE 802.15.4a standard was finally completed and since then              proposed approach. Section IV concludes the paper.



                                                                        103
Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                June 17-19, Naples, Italy


  II.   D ISTANCE - AND P OSITION -AWARE JADE AGENTS                  be found according to simple geometric considerations. As
                                                                      a matter of fact, the TN lies on each of the circumferences
    The presented add-on for JADE uses the tools and tech-
                                                                           i=1 , centered in {si }i=1 with radii {ri }i=1 and, therefore,
                                                                      {Ci }M                      M                    M
niques that JADE provides to integrate an underlying ranging
                                                                      its coordinates satisfy the following system of equations
technology, like UWB signaling, with the common agent loop.
In details, it provides two customizable JADE behaviours that                        
                                                                                                  2           2       2
                                                                                     
                                                                                      (x − x1 ) + (y − y1 ) = r1
can be used to access the services of the add-on.
                                                                                        ...                                           (2)
    The first behaviour, called RangeChangeBehaviour,                                
                                                                                      (x − x )2 + (y − y )2 = r2 .
is in charge of connecting with the underlying ranging tech-                                   M             M          M
nology to measure the distances with targeted beacons or              Since the true distances are unknown, we can only rely on
smart appliances. The behaviour can accommodate any ranging           their estimates {r̂i }M                           ˆ M
                                                                                            i=1 . The circumferences {Ci }i=1 centered
technology, provided that an implementation of a specific             in {si }i=1 with radii {r̂i }i=1 lead to the system of equations
                                                                              M                     M
interface is available. In the presented prototype we opt for an
                                                                                    
implementation that we developed using BeSpoon APIs which                                        2           2     2
acquires real-time information from the UWB transceiver                              (x − x1 ) + (y − y1 ) = r̂1
installed in a spoonphone. The RangeChangeBehaviour                                    ...                                          (3)
                                                                                    
                                                                                     (x − x )2 + (y − y )2 = r̂2 .
is scheduled when an above-threshold change in the distances                                    M            M        M
from selected beacons or smart appliances occurs, or when
the agent decides to change the set of devices that it monitors.      Obviously, due to the errors that affect the range estimates
                                                                                                      ˆ M
In details, the implemented prototype uses hardware-specific                i=1 , the circumferences {Ci }i=1 would hardly intersect
                                                                      {r̂i }M
unique identifiers associated with transceivers that allow target-    in a unique point, hence proper localization algorithms need
ing beacons and smart appliances indifferently. This way the          to be used. For such algorithms we assume that the errors
agent developer is free to track beacons and smart appliances         which affect the range measurements {r̂i }M
                                                                                                                i=1 can be modeled
with a single, generic mechanism.                                     as independent additive random variables {νi }Mi=1 , namely

    The second behaviour that ships with the add-on is called                        r̂i = ri + νi     i ∈ {1, . . . , M }.           (4)
LocationChangeBehaviour and it uses the first be-
haviour to acquire needed ranging information to inform an            Let us define as ν the vector whose i−th element is νi and let
agent about its current location in a predefined reference            us denote as Q its covariance matrix.
frame. The behaviour can be configured to acquire needed
information for performing localization from a set of beacons,            Many range-based localization algorithms have been pro-
commonly known as Anchor Nodes (ANs), and its main duty               posed in the literature, and they can be broadly classified
is to invoke a pluggable localization algorithm to estimate the       into passive and active [14]. Passive localization relies on
location of the agent every time the distances from ANs change        the fact that wireless communications strongly depend on the
significantly. The developer is free to implement custom local-       environment and it is based on the analysis of the scattering
ization algorithms but the add-on contains two general-purpose        caused by obstacles found along signal propagation and/or of
algorithms that can be used if no additional information besides      the variance of a measured signal. Such analysis allows finding
the distance from a fixed number of ANs is available. Such            changes in the received signals that can be used to detect and
algorithms are discussed in details below.                            locate targets [15].
     For the sake of simplicity, the implemented localization             In active techniques, instead, all nodes are equipped with
algorithms currently consider only a bi-dimensional scenario,         sensors and with an electronic device which sends needed
i.e., they assume that all the nodes lay on the same plane.           information to support a proper localization algorithm. Since
The same algorithms can be extended to the case of a three-           all implemented algorithms follow in this category, we focus
dimensional scenario (e.g., see [13]). Both implemented local-        on range-based localization with active tags, which can be
ization algorithms are based on the ToF between some nodes            based on the ToF, the Angle of Arrival (AoA), or the Re-
with known positions, the ANs, and the Target Node (TN),              ceived Signal Strength (RSS) of the signals [10]. As explained
whose position is to be estimated.                                    in the introduction, we are mostly interested in ToF-based
   Denoting as M the number of ANs, we indicate the                   localization algorithms because are particularly well suited
coordinates of the ANs as                                             when dealing with UWB signaling. In details, if two synchro-
                                                                      nized nodes communicate, the node receiving the signal can
             si = [xi , yi ]T      i ∈ {1, . . . , M }.        (1)    determine the Time of Arrival (ToA) of the incoming signal
The (unknown) TN position and its estimate are denoted as             from the timestamp of the sending node. If the nodes are not
u = [x, y]T and û = [x̂, ŷ]T , respectively. Moreover, the true     synchronized, Time Difference of Arrival (TDoA) techniques
and the estimated distances between the i−th AN and the TN            can be employed, which are based on the estimation of the
are denoted as                                                        difference between the arrival times of UWB signals traveling
                      q                                               between the TN and ANs. A large number of ToF-based
  ri , ||u − si || = (u − si )T (u − si )      i ∈ {1, . . . , M }    localization techniques have been proposed in the literature.
                      q                                               Among them, it is worth mentioning iterative methods [16],
  r̂i , ||û − si || = (û − si )T (û − si )  i ∈ {1, . . . , M }.   graph-based methods [17], closed-form algorithms [18] and
                                                                      optimization methods [19]. Observe that the accuracy of some
    Observe that if the coordinates of the ANs and the true           of such algorithms may strongly depend on the number of
distances {ri }M
               i=1 are known, the true position of the TN can         ANs [20] and on their topology [21].



                                                                104
    Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                    June 17-19, Naples, Italy


    In the following subsections, the two implemented lo-               CI algorithm. In order to solve it, a two-step approach based
calization algorithms are described in details, namely: the             on Maximum-Likelihood (ML) technique can be considered.
Circumference Intersection (CI) algorithm and the Two-Stage             First, let us define as ai the Euclidean norm of the coordinate
Maximum-Likelihood (TSML) algorithm. From now on, we                    vector of the i−th AN, namely
assume that M = 3 ANs are used to locate the TN.                                                 q
                                                                                   ai , ||si || = x2i + yi2     i ∈ {1, . . . , 3}. (10)
A. Circumference Intersection (CI) algorithm
                                                                        Moreover, let us introduce the new variable
    This subsection describes the CI localization algorithm,
which is a very intuitive algorithm that can be considered as                                n̂ , ||û||2 = x̂2 + ŷ 2                  (11)
the basis of other more elaborate algorithms (see, e.g. [22]).          so that system (3) can be rewritten, in matrix notation, as
    In order to better explain the CI algorithm, let us make
                                                                                                  G1 ω̂ 1 = ĥ1                         (12)
a few geometric considerations on the considered problem.
As already observed, the position of the TN coincides with              where
the (unique) intersection of the three circumferences in (2).                                                       
                                                                                                x1      y1   −0.5
Since such circumferences are unknown, in order to find the
TN position estimate û = [x̂, ŷ] it is necessary to consider                                ..        ..    .. 
                                                                                   G1 = −2  .            .     . 
proper localization approaches based on the set of equations
(3). According to the CI algorithm, since the circumferences                                    x3      y3   −0.5
                                                                                                               2                      (13)
do not intersect in a single point, we intersect pairs of them.                                                r̂1 − a21
                                                                                            x̂
                                                                                                                     ..    
    More precisely, we define the following three sets—each of                     ω̂ 1 =  ŷ         ĥ1 =         .
                                                                                                                            .
                                                                                                                           
which contains two points—obtained by intersecting the three                                n̂
different pairs of circumferences                                                                                r̂32 − a23

                 I1 = {p12 , q 12 }   , Cˆ1 ∩ Cˆ2              (5)      Let us also introduce ω 1 and h1 the vectors analogous to
                                                                        ω̂ 1 and to ĥ1 , respectively, where estimated quantities are
                 I2 = {p13 , q 13 }   , Cˆ1 ∩ Cˆ3              (6)      substituted by true ones, namely
                 I3 = {p23 , q 23 }   , Cˆ2 ∩ Cˆ3 .            (7)                                            2         
                                                                                                              r1 − a21
                                                                                              x
                                                                                                                   ..   
    We then choose a point from each of the three sets, namely                     ω1 =  y            h1 = 
                                                                                                                    .
                                                                                                                         .
                                                                                                                                 (14)
p1 ∈ I1 , p2 ∈ I2 , and p3 ∈ I3 , so that the three selected points                           n                   2
                                                                                                                r −a   2
are the nearest ones to each other. More precisely, since such                                                        3    3

points belong to circumference intersections, it can be shown
that they can be chosen as                                                   While (12) might look like a linear system, it is not, since
                                                                        the third element of the solution vector ω̂ 1 depends on the
            ||p1 − p2 ||   =    minp∈I1 ,q∈I2 ||p − q||        (8)      first two according to (11). The solution ω̂ 1 of the system (12)
            ||p1 − p3 ||   =    minq∈I3 ||p1 − q||.            (9)      can be determined through an ML approach. In particular, as
                                                                        suggested in [18], let us define the error vector
Given these three points, the TN position estimate is chosen
as their baricenter.                                                                           ψ 1 , ĥ1 − G1 ω 1 .                     (15)
    We remark that the intersection between two circumfer-              Given a positive definite matrix W 1 , the weighted Least Square
ences can be empty. Assume, for instance, that in (5) the               (LS) solution of (12) that minimizes ψ T1 W 1 ψ 1 is
set I1 is empty, namely the circumferences Cˆ1 and Cˆ2 do not
intersect. In this case, the two nearest points of Cˆ1 and Cˆ2 are                     ω̂ 1 = (GT1 W 1 G1 )−1 GT1 W 1 ĥ1 .             (16)
found, and if their distance is below a given threshold, they
are considered the two intersection points and the set I1 is            The simplest choice of the weighting matrix W 1 is the identity
redefined as the set containing such two points. Otherwise,             matrix. In [25] it is shown that the choice of W 1 which
the TN position estimate is found based on the remaining                minimizes the variance of ω̂ 1 is
intersections, whenever possible.                                                     W 1 , Cov[ψ 1 ]−1 = (4B Q B)−1                    (17)
B. Two-Stage Maximum-Likelihood (TSML) algorithm                        where Q is the covariance matrix of the ToA range measure-
    This subsection describes a TSML method that uses ToA               ments {ri }M i=1 , B is a diagonal matrix whose elements are
information, hence known as TSLM-ToA method [23]. Such                       i=1 , and the last equality follows from the fact that, from
                                                                        {ri }M
method is a well-known localization algorithm, and it is                (4) and (13), ψ 1 can be written as
particularly interesting because it was shown that it can attain
the Cramer-Rao Lower Bound, which is a lower bound for                             ψ 1 = ĥ1 − h1 = 2B ν + ν          ν ' 2B ν          (18)
the variance of an estimator [24]. A detailed derivation of this
                                                                        where      denotes the entrywise product and the last approx-
method can be found in [25].
                                                                        imation is obtained neglecting second order perturbations.
   The starting point of the TSML algorithm is once again the           With this choice of the weighting matrix one obtains that
quadratic system (3), where we set M = 3 as in the case of the          Cov[ω̂ 1 ] = (GT1 W 1 G1 )−1 .



                                                                      105
Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                                                                           June 17-19, Naples, Italy


                                                                                                                           TN Position                                       TN Position
                              7                                                                                            Estimated Positions (CI)                          Estimated Positions (TSML)

                                     AN3
                              6


                                                                                                             1.2                                                    1.2
                              5
                                                       TN3
                              4
                                                                                                             1.1                                                    1.1
                     y [m]




                              3
                                                TN2




                                                                                                     y [m]




                                                                                                                                                            y [m]
                                                                                                              1                                                      1
                              2


                                                                                                             0.9                                                    0.9
                              1
                                           TN1

                              0
                                                                                                             0.8                                                    0.8
                                     AN1                      AN2
                             −1
                              −1     0     1           2      3       4
                                               x [m]                                                         0.7
                                                                                                               0.8   0.9          1        1.1        1.2
                                                                                                                                                                    0.7
                                                                                                                                                                      0.8   0.9      1        1.1         1.2
                                                                                                                               x [m]                                              x [m]
                                                                                                                                (a)                                                (b)
Fig. 1. The positions of the three considered ANs are shown (blue stars),                       Fig. 2. The 1000 position estimates of TN1 obtained using: (a) the CI
together with the three different TN positions (red stars).                                     algorithm; and (b) the TSML algorithm.


    The second stage of the algorithm is meant to take into                                     3 m and 6 m. Using the same notation introduced in Section
account the dependence of n̂ on the other elements of the                                       II, the ANs position in the experimental setup are denoted as
unknown vector in the system of equations (12) and it involves
the solution of the system                                                                             s1 = [0, 0]T                        s2 = [3, 0]T                      s3 = [0, 6]T                       (25)
                                     G2 ω̂ 2 = ĥ2                                       (19)
                                                                                                where the coordinates are expressed in meters. In Fig. 1 the
where ω̂ 2 = (x̂ , ŷ ) and
                 2       2 T                                                                    ANs positions are shown (blue stars) in the considered room.
                                                                                  
                      1 0
                                                                                2
                                                                          [ω̂ 1 ]1                  Inside the same room, we consider three different TN
                                                                                              positions, denoted as red stars in Fig. 1. First, we put the TN
           G2 =  0 1                                     ĥ2 =  [ω̂ 1 ]22            (20)
                                                                                                in the points whose coordinates, expressed in meters, are
                      1 1                                          [ω̂ 1 ]3
with [ω̂ 1 ]j denoting the j−th component of ω̂ 1 . The linear                                                                                   u1 = [1, 1]T .                                                 (26)
system (19) can be solved, once again, through the ML
technique. Defining the error vector                                                            Observe that this point, denoted as TN1 in Fig. 1, is close to
                                                                                                one of the corners of the room and close to AN1 . The second
                                   ψ 2 , ĥ2 − G2 ω 2                                    (21)   TN position we consider is
the weighted LS solution of (19) that minimizes the weighted
                                                                                                                                             u2 = [1.5, 3]T                                                     (27)
norm of ψ 2 with a positive definite matrix W 2 is

                 ω̂ 2 = (GT2 W 2 G2 )−1 GT2 W 2 ĥ2 .                                    (22)   which corresponds to the point in the middle of the room,
                                                                                                denoted as TN2 in Fig. 1. Finally, the coordinates of the last
As considered to solve (12), the simplest choice of the weight-                                 TN position, expressed in meters, are
ing matrix W 2 is the identity matrix. In [25], it is shown that
the choice of W 2 which minimizes the variance of ω̂ 2 is                                                                                        u3 = [2, 5]T .                                                 (28)
           W 2 , Cov[ψ 2 ]−1 = (4B 2 Cov[ω̂ 1 ] B 2 )−1                                  (23)   Observe that this point is symmetric of u1 with respect to the
where B 2 = diag(x, y, 0.5). Finally, the position estimate can                                 center of the room.
be expressed as
                                                                                                    For each TN position {TNi }3i=1 , we first acquire the three
                        hp            p         iT                                              distance estimates between the TN and the three ANs and
                û = U      [ω̂ 2 ]1 , [ω̂ 2 ]2            (24)                                 we use such distances to feed the two localization algorithms
                                                                                                described in Section II. This process is iterated NI = 1000
where U = diag(sign(ω̂ 1 )).
                                                                                                times, thus obtaining 1000 position estimates for each of the
                                                                                                two localization algorithms and for each TN position. For each
         III.    E XPERIMENTAL S ETUP AND R ESULTS                                              iteration j ∈ {1, . . . , NI } we define the distance between the
    This section shows localization results obtained with the                                   true TN position and its estimate in the j-th iteration as
two implemented algorithms, as described in the previous
section, using a JADE agent running on a spoonphone used as                                                                                 dj = ||ûj − u||                                                    (29)
TN. We use three localization beacons as ANs and we put them
at three corners of a rectangular room whose sides measures                                     where ûj is the TN position estimate in the j-th iteration.



                                                                                          106
    Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                                                                                                            June 17-19, Naples, Italy



                           TN Position                                       TN Position                                                               TN Position                                              TN Position
                           Estimated Positions (CI)                          Estimated Positions (TSML)                                                Estimated Positions (CI)                                 Estimated Positions (TSML)
             3.3                                                    3.3




             3.2                                                    3.2                                                                  5.2                                                     5.2




             3.1                                                    3.1                                                                  5.1                                                     5.1




                                                                                                                                 y [m]




                                                                                                                                                                                         y [m]
     y [m]




                                                            y [m]
              3                                                      3                                                                    5                                                       5




             2.9                                                    2.9                                                                  4.9                                                     4.9




             2.8                                                    2.8                                                                  4.8                                                     4.8




             2.7                                                    2.7                                                                  4.7                                                     4.7
               1.3   1.4         1.5       1.6        1.7             1.3   1.4     1.5       1.6         1.7                              1.8   1.9          2        2.1         2.2             1.8      1.9         2        2.1         2.2
                               x [m]                                              x [m]                                                                    x [m]                                                     x [m]
                                (a)                                                (b)                                                                      (a)                                                       (b)


Fig. 3. The 1000 position estimates of TN2 obtained using: (a) the CI                                                    Fig. 4. The 1000 position estimates of TN3 obtained using: (a) the CI
algorithm; and (b) the TSML algorithm.                                                                                   algorithm; and (b) the TSML algorithm.


                                                                                                                                TABLE I.   VALUES OF MINIMUM , MAXIMUM , AND AVERAGE
    We can define the minimum, the maximum, and the average                                                                  DISTANCES BETWEEN THE TRUE TN POSITIONS AND THEIR ESTIMATES .
distance between the true TN position and its estimates as
                                                                                                                                                                     dmin [cm]                    dmax [cm]                 davg [cm]
                                       dmin =                 min            dj
                                                       j∈{1,...,NI }
                                                                                                                                          TN1 - CI                        0.03                           12.2                   5.7
                                       dmax =                 max            dj
                                                       j∈{1,...,NI }
                                                                                                                (30)                      TN1 - TSML                         1.4                         13.8                   7.2
                                                                    N
                                              1 X  I

                                       davg =        dj .                                                                                 TN2 - CI                           9.6                         17.6                  11.6
                                              NI j=1
                                                                                                                                          TN2 - TSML                      10.1                           16.5                  11.4
The performance of the localization algorithms is evaluated in
terms of the values in (30).                                                                                                              TN3 - CI                           4.6                         19.5                  11.5

                                                                                                                                          TN3 - TSML                         5.7                         20.8                  12.2
    Fig. 2 is relative to the position estimates of the target TN1
of Fig. 1. More precisely, Fig. 2 (a) shows the 1000 position
estimates obtained using the CI algorithm and Fig. 2 (b) shows
the 1000 position estimates obtained according to the TSML                                                               the true TN position and its estimates are always greater than
algorithm. A comparison between Fig. 2 (a) and Fig. 2 (b)                                                                dmin ' 10 cm.
shows that the CI algorithm performs slightly better that the
TSML algorithm in terms of the distance between the true                                                                     Finally, Fig. 4 is relative to the position estimates of the
position and the estimated ones. As a matter of fact, from                                                               target TN3 of Fig. 1 obtained: (a) using the CI algorithm;
Table I it can be observed that while the average distance                                                               and (b) using the TSML algorithm. In this case, the average
davg when using the CI algorithm is 5.7 cm, the value of                                                                 distance davg between the true TN position and its estimates
davg obtained with the TSML algorithm is 7.2 cm. Analogous                                                               is 11.5 cm when using the CI algorithm and 12.2 cm with the
considerations hold when considering dmin and dmax . More                                                                TSML algorithm, as shown in Table I. The performance of
precisely, the value of dmin relative to the CI algorithm is                                                             the two algorithms are similar also in terms of dmin and dmax .
only 0.03 cm and it becomes 1.4 cm when using the TSML                                                                   Observe that the values of dmax are greater than those obtained
algorithm, while the values of dmax correspond to 12.2 cm                                                                in the previous two TN positions. The values of dmin , instead,
and 13.8 cm, respectively.                                                                                               are greater than those relative to TN1 but they are smaller than
                                                                                                                         those relative to TN2 .
    Fig. 3 refers to the position estimates of the target TN2
of Fig. 1, corresponding to the case where the TN is in the
middle of the room. The 1000 position estimates obtained                                                                                                           IV.        C ONCLUSIONS
using the CI algorithm are shown in Fig. 3 (a) while Fig. 2 (b)
shows the 1000 position estimates obtained with the TSML                                                                     This paper presents a novel JADE add-on that enables the
algorithm. In this case, the performance of the two algorithms                                                           implementation of distance- and location-aware agents. Using
are similar, as also shown in Table I, which shows that the                                                              this add-on an agent can measure the distance that separates
values of davg obtained with the CI and the TSML algorithms                                                              the smart appliance that hosts it from target beacons and other
differ by only 2 mm. Observe that in this case the values of                                                             smart appliances. Experimental results summarized in Table I
davg are greater than those obtained when considering TN1 ,                                                              show that the average error in locating the smart appliance in
meaning that the localization in the center of the room is less                                                          an empty room is less than 15 cm, which ensures sufficient
accurate. In particular, Table I shows that the distances between                                                        accuracy for considered education and ludic applications.



                                                                                                                       107
Proc. of the 16th Workshop “From Object to Agents” (WOA15)                                                                  June 17-19, Naples, Italy


                              R EFERENCES                                         [15]   D. Dardari and R. D’Errico, “Passive ultrawide bandwidth RFID,”
                                                                                         in Proceedings of the IEEE Global Telecommunications Conference
 [1]   F. Bergenti and A. Poggi, “Ubiquitous information agents,” Int’l J.               (GLOBECOM ’08), New Orleans, LA, December 2008, pp. 1–6.
       Cooperative Information Systems, vol. 11, no. 34, pp. 231–244, 2002.
                                                                                  [16]   C. Mensing and S. Plass, “Positioning algorithms for cellular networks
 [2]   F. Bergenti, A. Poggi, B. Burg, and G. Caire, “Deploying FIPA-
                                                                                         using TDOA,” in Proceedings of the IEEE International Conference
       compliant systems on handheld devices,” IEEE Internet Computing,
                                                                                         on Acoustics, Speech and Signal Processing (ICASSP 2006), Toulouse,
       vol. 5, no. 4, pp. 20–25, 2001.
                                                                                         France, May 2006, pp. 513–516.
 [3]   F. Bergenti, G. Caire, and D. Gotta, “Agents on the move: JADE for
                                                                                  [17]   Y. Zheng, W. Chenshu, C. Tao, Z. Yiyang, G. Wei, and L. Yunhao,
       Android devices,” in Procs. Workshop From Objects to Agents, 2014.
                                                                                         “Detecting outlier measurements based on graph rigidity for wireless
 [4]   F. Bergenti, G. Caire, and D. Gotta, “Large-scale network and service             sensor network localization,” IEEE Transactions on Vehicular Technol-
       management with WANTS,” in Industrial Agents: Emerging Applica-                   ogy, vol. 62, no. 1, pp. 374–383, January 2013.
       tions of Software Agents in Industry. Elsevier, 2015, pp. 231–246.
                                                                                  [18]   Y. Chan and K. C. Ho, “A simple and efficient estimator for hyperbolic
 [5]   F. Bergenti and A. Poggi, “Agent-based approach to manage negoti-                 location,” IEEE Transactions on Signal Processing, vol. 42, no. 8, pp.
       ation protocols in flexible CSCW systems,” in Procs. 4th Intl Conf.               1905–1915, August 1994.
       Autonomous Agents, 2000, pp. 267–268.
                                                                                  [19]   S. Monica and G. Ferrari, “Swarm intelligent approaches to auto-
 [6]   F. Bergenti, A. Poggi, and M. Somacher, “A collaborative platform                 localization of nodes in static UWB networks,” Applied Soft Computing,
       for fixed and mobile networks,” Communications of the ACM, vol. 45,               vol. 25, pp. 426–434, December 2014.
       no. 11, pp. 39–44, 2002.
                                                                                  [20]   S. Monica and G. Ferrari, “Impact of the number of beacons in
 [7]   F. Bergenti, G. Caire, and D. Gotta, “An overview of the AMUSE social
                                                                                         PSO-based auto-localization in UWB networks,” in Proceedings of the
       gaming platform,” in Procs. Workshop From Objects to Agents, 2013.
                                                                                         International Conference on the Applications of Evolutionary Compu-
 [8]   F. Bergenti, G. Caire, and D. Gotta, “Agent-based social gaming with              tation (EvoApplications ’13), track on Nature-inspired Techniques for
       AMUSE,” in Procs. 5th Int’l Conf. Ambient Systems, Networks and
       Technologies (ANT 2014) and 4th Int’l Conf. Sustainable Energy                    Communication Networks and other Parallel and Distributed Systems
       Information Technology (SEIT 2014), ser. Procedia Computer Science.               (EvoCOMNET ’13), Vienna, Austria, April 2013, pp. 42–51.
       Elsevier, 2014, pp. 914–919.                                               [21]   S. Monica and G. Ferrari, “Particle swarm optimization for auto-
 [9]   S. Monica and G. Ferrari, “Accurate indoor localization with UWB                  localization of nodes in wireless sensor networks,” in Proceedings of
       wireless sensor networks,” in Proceedings of the 23rd IEEE In-                    the 11th International Conference on Adaptive and Natural Computing
       ternational Conference on Enabling Technologies: Infrastructure for               Algorithms (ICANNGA ’13), Lausanne, Switzerland, April 2013, pp.
       Collaborative Enterprises (WETICE 2014), track on Capacity-Driven                 456–465.
       Processes and Services for the Cyber-Physical Society (CPS), Parma,        [22]   S. Monica and G. Ferrari, “An experimental model for UWB distance
       Italy, June 2014, pp. 287–289.                                                    measurements and its application to localization problems,” in Proceed-
[10]   Z. Sahinoglu, S. Gezici, and I. Guvenc, Ultra-wideband positioning sys-           ings of the IEEE International Conference on Ultra Wide Band (ICUWB
       tems: Theoretical limits, ranging algorithms and protocols. Cambridge,            2014), Paris, France, September 2014, pp. 297–302.
       U.K.: Cambridge University Press, 2008.                                    [23]   S. Monica and G. Ferrari, “A swarm intelligence approach to 3D
[11]   J. Zhang, P. V. Orlik, Z. Sahinoglu, A. F. Molisch, and P. Kinney, “UWB           distance-based indoor UWB localization,” in Proceedings of the In-
       systems for wireless sensor networks,” Proceedings of the IEEE, vol. 97,          ternational Conference on the Applications of Evolutionary Compu-
       no. 2, pp. 313–331, February 2009.                                                tation (EvoApplications ’15), track on Nature-inspired Techniques for
                                                                                         Communication Networks and other Parallel and Distributed Systems
[12]   S. Gezici and H. V. Poor, “Position estimation via Ultra-Wide-Band
                                                                                         (EvoCOMNET ’15), Copenaghen, Denmark, April 2015, pp. 42–51.
       signals,” Proceedings of the IEEE, vol. 97, no. 2, pp. 386–403, February
       2009.                                                                      [24]   K. C. Ho, X. Lu, and L. Kovavisaruch, “Source localization using
[13]   S. Monica and G. Ferrari, “Optimized anchors placement: An analyt-                TDOA and FDOA measurements in the presence of receiver location
       ical approach in UWB-based TDOA localization,” in Proceedings of                  errors: Analysis and solution,” IEEE Transactions on Signal Processing,
       the 9th International Wireless Communications & Mobile Computing                  vol. 55, no. 2, pp. 684–696, February 2007.
       Conference (IWCMC 2013), Cagliari, Italy, July 2013, pp. 982–987.          [25]   G. Shen, R. Zetik, and R. S. Thomä, “Performance comparison of TOA
[14]   H. Liu, H. Darabi, P. Banerjee, and J. Liu, “Survey of wireless indoor            and TDOA based location estimation algorithms in LOS environment,”
       positioning techniques and systems,” IEEE Transactions on Systems,                in Proceedings of the 5th Workshop on Positioning, Navigation and
       Man, and Cybernetics, Part C: Applications and Reviews, vol. 37, no. 6,           Communication (WPNC 2008), Hannover, Germany, March 2008, pp.
       pp. 1067–1080, November 2007.                                                     71–78.




                                                                           108