1

ARREST: A RSSI Based Approach for Mobile
Sensing and Tracking of a Moving Object

arXiv:1707.05493v2 [cs.RO] 24 Oct 2017

Pradipta Ghosh, Student Member, IEEE, Jason A. Tran, Student Member, IEEE,
and Bhaskar Krishnamachari, Member, IEEE

Abstract—We present Autonomous Rssi based RElative poSitioning and Tracking (ARREST), a new robotic sensing system
for tracking and following a moving, RF-emitting object, which
we refer to as the Leader, solely based on signal strength
information. This kind of system can expand the horizon of
autonomous mobile tracking and distributed robotics into many
scenarios with limited visibility such as nighttime, dense forests,
and cluttered environments. Our proposed tracking agent, which
we refer to as the TrackBot, uses a single rotating, off-the-shelf,
directional antenna, novel angle and relative speed estimation
algorithms, and Kalman filtering to continually estimate the
relative position of the Leader with decimeter level accuracy
(which is comparable to a state-of-the-art multiple access point
based RF-localization system) and the relative speed of the
Leader with accuracy on the order of 1 m/s. The TrackBot feeds
the relative position and speed estimates into a Linear Quadratic
Gaussian (LQG) controller to generate a set of control outputs
to control the orientation and the movement of the TrackBot.
We perform an extensive set of real world experiments with a
full-fledged prototype to demonstrate that the TrackBot is able to
stay within 5m of the Leader with: (1) more than 99% probability
in line of sight scenarios, and (2) more than 70% probability in
no line of sight scenarios, when it moves 1.8X faster than the
Leader. For ground truth estimation in real world experiments,
we also developed an integrated TDoA based distance and angle
estimation system with centimeter level localization accuracy in
line of sight scenarios. While providing a first proof of concept,
our work opens the door to future research aimed at further
improvements of autonomous RF-based tracking.

control of a robot that is required to stay in proximity to an
uncontrolled moving target such as a Leader robot or human.
Our Contribution: We propose the Autonomous Rssi based
RElative poSitioning and Tracking (ARREST), a purely Radio
Signal Strength Information (RSSI) based single node RF
sensing system for joint location, angle and speed estimation
and bounded distance tracking of a target moving arbitrarily
in 2-D that can be implemented using commodity hardware.
In our proposed system, the target, which we refer to as
the Leader, carries an RF-emitting device that sends out
periodic beacons. The tracking robot, which we refer to as the
TrackBot, employs an off-the-shelf directional antenna, novel
relative position and speed estimation algorithms, and a Linear
Quadratic Gaussian (LQG) controller to measure the RSSI of
the beacons and control its maneuvers. Further, to evaluate the
ARREST system in a range of large scale and uncontrolled
environments, we developed an integrated Time Difference of
Arrival (TDoA) based ground truth estimation system for line
of sight (LOS) scenarios that can be easily extended to perform
a range of large scale indoor and outdoor robotics experiments,
without the need of a costly and permanent VICON [7] system.

I. I NTRODUCTION
Sensing and tracking of a moving object/human by a robot
is an important topic of research in the field of robotics and
automation for enabling collaborative work environments [1],
including for applications such as fire fighting and exploration
of unknown terrains [2]–[4]. In disaster management, robots
can assist by tracking and following first-responders while
the team explores an unknown environment [5]. To achieve
this, staying in proximity to the first responders is the key.
Another application context of this field of research is in the
Leader–Follower collaborative robotics architecture [6] where
a follower robot is required to track and follow a respective
Leader. Robotic tracking is also required in smart home
environments where robots assist humans in daily activities. In
this paper, we focus on this class of tracking problems where
the term “tracking” refers to the relative position sensing and
P. Ghosh, J. Tran, and B. Krishnamachari are with the Department of
Electrical Engineering at the Viterbi School of Engineering, University of
Southern California, Los Angeles, CA, 90089 E-mail: pradiptg, jasontra,
bkrishna@usc.edu.

Fig. 1.

The TrackBot Prototype

Performance Evaluation Overview: To analyze and evaluate the ARREST architecture, we develop a hardware prototype (detailed in Section VI) and perform a set of exhaustive
real world experiments as well as emulations. We first perform
a set of emulation experiments (detailed in Section VII)
based on real world RSSI data traces collected in various
environments. The emulations demonstrate that the TrackBot
is able to estimate the target’s location with decimeter-scale
accuracy, and stay within 5m of the Leader (with ≥ 99%
probability and with bounded errors in estimations) as long
as the Leader’s speed is less than or equal to 3m/s and the
TrackBot’s speed is 1.8X times faster than the Leader’s speed.

2

Next, using the same parameter setup as in the emulations, we
perform a set of small scale real-world tracking experiments
(detailed in Section VIII) in three representative environments:
a cluttered indoor room, a long hallway, and a VICON [7]
based robotic experiment facility. This is followed by a range
of large-scale long duration experiments in four representative environments, detailed in Section IX. These experiments
demonstrate the practicality of our ARREST architecture and
validate the emulation results. Moreover, these experiments
prove that our ARREST system works well (with ≥ 70%
probability) in cluttered environments (even in the absence
of line of sight) and identify some non-line of sight scenarios
where our system can fail. To improve the success rate of
our ARREST system in severe non-line of sight (NLOS)
situations, we propose a movement randomization technique,
detailed in Section IX-E. We also compare the ARREST
system’s performance for varying relative position estimation
accuracies offered by different sensing modalities such as
camera or infrared in Section X-B.
II. R ELATED W ORKS
The most popular class of tracking architectures employs
vision and laser range finder systems [8]–[10]. Researchers
have proposed a class of efficient sampling and filtering
algorithms for vision based tracking such as the Kalman
filtering and the particle filtering [9], [11]. There also exist
some works that combine vision with range finders [10], [12],
[13]. However, the effectiveness of these sensors crumble
when visibility deteriorates or direct line of sight does not
exist [14]. Moreover, the use of these types of sensors and the
processing of their data, namely image processing, increases
the form factor and power consumption of the robots which
inherently always work under power constraints. In contrast,
our proposed RSSI based ARREST system can be developed
with low-cost, small form-factor hardware and can be applied
in scenarios with limited visibility and non-line-of-sight environments such as cluttered indoor environments and disaster
rubble.
Another class of related works lies within the large body
of works in the field of RF Localization in wireless sensor
networks [15] where robots are employed for localizing static
nodes. Graefenstein et al. [16] employed a rotating antenna
on a mobile robot to map the RSSI of a region and exploit
the map to localize the static nodes. Similar works have been
proposed in the context of locating radio tagged fish or wild
animals [17]–[19]. The works of Zickler and Veloso [20], and
Oliveira et al. [21] on RF-based relative localization are also
mentionable. In [22], a RSSI based static single radio source
localization method is presented by Twigg et al. whereas
multiple transient static radio source localization problem is
discussed in the work of Song, Kim and Yi [23]. Some
researchers have also employed infrared [24] and ultrasound
devices [25] for relative localization. One of the most recent
significant works on relative localization, which is presented
in [26], applies a MIMO-based system to localize a single
node. Simulation of a RSSI based constant distance following
technique is demonstrated in [27] where the leader movement

path is predetermined and known to the Follower. However,
unlike these works, the TrackBot in the ARREST system relies
solely on RSSI data not only for the localization of the
mobile Leader with unknown movement pattern, but also for
autonomous motion control with the goal of maintaining a
bounded distance. The closest state-of-the-art related to our
work is presented in [28]. In this work, the authors developed
a system that follows the bearing of a directional antenna
for effective communication. However, to our knowledge, the
maintenance of guaranteed close proximity to the Leader was
not discussed in [28], which is the most important goal in
our work. Also, this work employs both RSSI and sonar to
determine the orientation of the transmitter antenna. Lastly,
compared to their proposed hardware solution which is based
on a large robot that carries a laptop as the controller, our
solution is low power, small size, and requires much less
processing power.
On LQG related works, Bertsekas [29] has demonstrated
that a LQG controller can provide the optimal control of a
robot along a known/pre-calculated path, when the uncertainty
in the motion as well as the noise in observations are Gaussian. Extending this concept, Van Den Berg et al. [30], [31]
and Tornero et al. [32] proposed LQG based robotic path
planning solutions to deal with uncertainties and imperfect
state observations. To the best of our knowledge, we are the
first to combine RSSI-based relative position, angle, and speed
estimation with the LQG controller for localizing and tracking
a moving RF-emitting Object.
III. P ROBLEM F ORMULATION
In this section, we present the details of our tracking
problem and our mathematical formulation based on both a
2D global frame of reference, RG , and the TrackBot’s 2D
local frame of reference at time t, RF (t). Let the location of
the Leader at time t be represented as XL (t) = (xL (t), yL (t))
in RG . The Leader follows an unknown path, PL . Similarly,
let the position of the TrackBot at any time instant t be
denoted by XF (t) = (xF (t), yF (t)). The maximum speeds of
max
the Leader and the TrackBot are vL
and vFmax , respectively.
For simplicity, we discretize the time with steps of δt > 0
and use the notation n to refer to the nth time step i.e.,
t = n · δt. Let d[n] = ||XL [n] − XF [n]||2 be the distance
between the TrackBot and the Leader at time-slot n, where
||.||2 denotes the L2 norm. Then, with Dth denoting the max
distance allowed between the Leader (L) and the TrackBot
(F), the objective of tracking is to plan the TrackBot’s path,
PF , such that P (d[n] ≤ Dth ) ≈ 1 ∀n where P(.) denotes the
probability.
Realistic deployment scenarios typically do not have a
global frame of reference. Thus, we formulate a local frame
of reference, RF [n], with the origin representing the location
of the TrackBot, XF [n]. Let the robot’s forward and backward
movements at any time instant n be aligned with the X-axis
of RF [n]. Also, let the direction perpendicular to the robot’s
forward and backward movements be aligned with the Yaxis of RF [n]. This local frame of reference is illustrated in
Fig. 2. Note that in our real system all measurements by the

3

sweep by physically rotating the directional antenna while
storing RSSI measurements of successful beacon receptions
into the vector rv [n]. The Relative Position Estimation module
uses rv [n] to approximate the relative position of the Leader
by leveraging pre-estimated directional gains of the antenna,
detailed in Section V.

Fig. 2. Coordinate System Illustration

TrackBot are in RF [n]. In order to convert the position of
the Leader in RF [n] from RG or vice versa for simulations
and emulations, we need to apply coordinate transformations.
Let the relative angular orientation of RF [n] with respect to
RG be θrot [n] and the position of the Leader in RF [n] be
rel
rel
Xrel
L [n] = (xL [n], yL [n]). Then:

 
xL [n]
cos(θrot [n])
 yL [n]  =  sin(θrot [n])
1
0

− sin(θrot [n])
cos(θrot [n])
0

  rel 
xF [n]
xL [n]
rel
yF [n]  yL
[n]
1
1
(1)

rel
and θrel [n] = arctan(yL
[n]/xrel
L [n]) is the Leader’s direction
in RF [n]. To restate the objective of tracking in terms of the
local coordinates, P (d[n] ≤ Dth ) ≈ 1 ∀t where d[n] =
2 1/2
2
rel
rel
.
||Xrel
L [n]||2 = (xL [n] + yL [n] )

IV. T HE ARREST S YSTEM
In this section, we discuss our proposed system solution
for RSSI based relative position sensing and tracking. In the
ARREST system, the Leader is a robot or a human carrying
a device that periodically transmits RF beacons, and the
TrackBot is a robot carrying a directional, off-the-shelf RF
receiver. As shown in Fig. 3, the ARREST architecture consists
of three layers: Communication ANd Estimation (CANE),
Control And STate update (CAST), and Physical RobotIc
ControllEr (PRICE). In order to track the Leader, the TrackBot
needs sufficiently accurate estimations of both the Leader’s
relative position (Xrel
L ) and relative speed (vrel ). Thus, at any
time instant [n],
we
define the state of
the TrackBot as a 3

e
e
[n], θrel
[n] where the superscript
tuple: S[n] = de [n], vrel
e refers to the estimated values, de [n] = ||Xrel
L [n]||2 refers
e
to the estimated distance at time n, vrel
[n] refers to the relative
speed of the TrackBot along the X-axis of RF [n] with respect
e
to the Leader, and θrel
[n] refers to the angular orientation (in
radians) of the Leader in RF [n].
CANE: The function of the CANE layer is to measure
RSSI values from the beacons and approximate the Leader’s
e
position relative to the TrackBot, (i.e., de [n] and θrel
[n]). The
CANE layer is broken down into three modules: Wireless
Communication and Sensing, Rotating Platform Assembly,
and Relative Position Estimation. At the beginning of each
time slot n, the Wireless Communication and Sensing module
and the Rotating Platform Assembly perform a 360◦ RSSI

Fig. 3.

The ARREST Architecture

CAST: The functions of the CAST layer is to maintain
the 3-tuple state estimates and to generate control commands
based on current and past observations to send to the PRICE
layer. The CAST layer consists of two different modules:
the Linear Quadratic Gaussian (LQG) Controller and the
Strategic Speed Controller. We also have a special, case
specific module called Multipath Angle Correction for severely
cluttered environments (explained further in Section IX-E).
The Strategic Speed Controller estimates the relative speed of
the Leader by exploiting past and current state information and
generates the speed control signal in conjunction with the LQG
controller. The term “Strategic” is used to emphasize that we
propose two different strategies, Optimistic and Pragmatic, for
the relative speed approximation as well as speed control of
the TrackBot (detailed in Section V-C). The LQG controller
incorporates past state information, past control information,
and relative position and speed approximations to: (1) generate
the system’s instantaneous state, (2) determine how much to
rotate the TrackBot itself, and (3) determine what should be
the TrackBot’s relative speed. The state information generated
by the LQG controller is directly sent to the Strategic Speed
Controller to calculate the absolute speed of the TrackBot.
The details of our LQG controller formulation are discussed
in Section IV-A.
PRICE: The goal of the PRICE layer is to convert the
control signals from the CAST layer into actual translational
and rotational motions of the TrackBot. It consists of two modules: Movement Translator and Robot Chassis. The Movement
Translator maps the control signals from the CAST layer to a
series of platform-specific Robot Chassis motor control signals
(detailed in Section VI).
A. Proposed LQG Formulation
In our proposed solution, we first formulate the movement
control problem of the TrackBot as a discrete time Linear

4

Quadratic Gaussian (LQG) control problem. A LQG controller is a combination of a Kalman Filter with a Linear
Quadratic Regulator (LQR) that is proven to be the optimal
controller for linear systems with Additive White Gaussian
Noise (AWGN) and incomplete state information [33]. The
linear system equations for any discrete LQG problem can be
written as:
S[n + 1] = An S[n] + Bn U[n] + Z[n]
O[n] = Cn S[n] + W[n]

(2)
Fig. 4. Proposed LQG Controller System

where An and Bn are the state transition matrices, U[n] is the
LQG control vector, Z[n] is the system noise, O[n] is the LQG
system’s observation vector, Cn is the state-to-observation
transformation matrix, and W[n] is the observation noise at
time n. A LQG controller first predicts the next state based on
the current state and the signals generated by the LQR. Next, it
applies the system observations to update the estimates further
and generates the control signals based on the updated state
T
m
m
[n], θrel
[n]
estimates. In our case, O[n] = dm [n], vrel
(the superscript m refers to measured values). Moreover,
in our case, the state transition matices An = A, Bn = B,
Cn = C are time invariant and the time horizon is infinite as
we do not have any control over the Leader’s movements. For
a infinite time horizon LQG problem [29], the cost function
can be written as:
J = lim

N →∞

1
E
N

N
X

!
S[n]T QS[n] + U[n]T HU[n]

(3)

n=0

where Q ≥ 0, H > 0 are the weighting matrices. The discrete
time LQG controller for this optimization problem is:

e
sets θrel
[n] = 0. This is performed to align the robot toward
the estimated direction of the Leader before calculating the
movement speed. Thus, we use only the Kalman Filtering
part of the LQG controller for angle/orientation control. The
reason behind not using the full LQG controller for TrackBot’s
orientation control lies in the fact that the LQG controller
considers sudden rapid change in direction (≈ 180◦ ) as a noise
and takes a while to correct the course of the TrackBot. More
study of this problem is left as a future work. A block diagram
of our LQG control system model is presented in Fig. 4.

V. RSSI BASED R ELATIVE P OSITION AND S PEED
O BSERVATIONS
In this section, we discuss our methodologies to map the
observed RSSI vector, rv [n], into the controller observation
vector, O[n].
A. Distance Observations

The RSSI is well known to be a measure of distance
if provided with sufficient transceiver statistics such as the
Ŝ[n + 1] = AŜ[n] + BU[n] + K(O[n + 1] − C{AŜ[n] + BU[n]}) transmitter power, the channel path loss exponent, and the
U[n] = −LŜ[n]
and
Ŝ(0) = E(S(0))
fading characteristics. One of the standard equations for cal(4) culating the received power for an omnidirectional antenna is
as follows [35]:
where ˆ denotes estimates, K is the Kalman gain which can
dm [n]
be solved via the algebraic Riccati equation [34], and L is the
Pr,dBm = Pt,dBm + GdB − Lref − 10η log10
+ψ
dref
feedback gain matrix. In our system, the state transition matrix
values are as follows:
P ref = Pt,dBm + GdB − Lref + ψ
r,dBm

ref



1
A = 0
0

−δt
1
0



0
0
0 B = 0
1
0

−δt
1
0





0
1
0  C = 0
−1
0

0
1
0



0
0 (5)
1

where δt is the time granularity for the state update. Ideally,
within δt, the TrackBot executes one set of movement control
decisions while it also scans RSSI for the next set of control
decision (detailed in Sections VII and VIII). Note that, to solve
this optimization problem, we also require the covariance data
for the noise, i.e., ΣW W = E(WWT ), and ΣZZ = E(ZZT ).
We assume the system noise, Z[n], to be Gaussian and the
measurement noise, W [n], to be approximated as Gaussian.
Furthermore, we tweak the LQG controller to send out
a rotational control signal after a state update and before
generating the LQR control signals, U[n]. The rotational
e
control signal rotates the TrackBot assembly by θrel
[n] and

=⇒

(Pr,dBm −Pr,dBm )
dm [n]
10·η
≈ 10
dref
(6)

where Pr,dBm is the received power in dBm, Pt,dBm is the
transmitter power in dBm, GdB is the gain in dB, Lref is the
path loss at the reference distance dref in dB, η is the path
loss exponent, dm [n] is the distance between the transmitter
and receiver, ψ is the random shadowing and multipath fading
ref
noise in dB, and Pr,dBm
is the received power at reference
distance (dref ). Eqn. (6) is also valid for the average received
power for a directional antenna with an average gain of GdB .
To calculate the received power for a particular direction θ, we
just need to replace GdB in (6) with the directional gain of
the antenna, GdB (θ). To apply (6) in ARREST, the TrackBot
needs to learn the channel parameters such as the η, Lref , and

5

dref . In our proposed system, we assume that the TrackBot
has information about the initial distance to the Leader (dm (0))
ref
and the average received power (Pr,dBm
) at reference distance
(dref ) which we choose to be 1 meter. Furthermore, the
directional gain, GdB (θ), and the transmitter power, Pt,dBm ,
are known as a part of the system design process. Upon
initialization of ARREST, the TrackBot performs a RSSI
scan by rotating the antenna assembly to generate rv (0) and
harnesses the average received power (Pr,dBm ) information to
estimate the environment’s η as follows.
ref
η = (Pr,dBm
− Pr,dBm )/10 log10

dm (0)
dref

(7)

Next, the TrackBot applies the estimated η and Pr,dBm = avg
{rv [n]} on (6) to map rv [n] to the observed distance to the
Leader, dm [n].
B. Angle Observations
One of the main components of our ARREST architecture
is the observation of the Angle of Arrival (AoA) of RF
beacons solely based on the RSSI data, rv [n]. There exist three
different classes of RF based solutions to determine the AoA.
The first class, antenna array based approaches, employs
an array of antennas to determine the AoA by leveraging the
phase differences among the signals received by the different
antennas [36]. The main difficulty of implementing this class is
that very few multi-antenna off-the-shelf radios provide access
to phase information. The second class, multiple directional
antenna based approaches, employs at least two directional
antennas oriented in different directions [37] to determine
AoA. In this class, the differences among RSSI values from all
antennas are utilized to determine the AoA. However, utilizing
current off-the-shelf antenna arrays or multiple directional
antennas increases the cost, form factor, and complexity of
a TrackBot implementation. We avoid the multiple directional
antenna based option also because it requires separate radio
drivers for each antenna as well as proper time synchronizations. Thus, we develop methods contributing to the third class
of solutions, which is the use of a single, rotating antenna
and the knowledge of the antenna’s directional gain pattern
to approximate the AoA of RF beacons. The core of these
methods, called pattern correlation, is to correlate the vector
of RSSI measurements, rv [n], with another vector representing
the antenna’s known, normalized gain pattern, gabs . At the
beginning of each time slot n, the TrackBot performs a 360◦
sweep of RSSI measurements to generate the vector, rv [n].
Then, rv [n] is normalized: gm = rv [n] − max(rv [n]). The
TrackBot also generates different θ shifted versions of gabs (θ)
as follows.
rv [n] = [r−180 , r−178.2 , · · · , r−1.8 , r0 , r1.8 , · · · r178.2 ]
0
0
0
0
0
gm = [r−180
, r−178.2
, · · · , r−1.8
, r00 , r1.8
, · · · r178.2
]

(8)

gabs (θ) = [g(−180+θ) , · · · , g(0+θ) , · · · , g(178.2+θ) ]
where rφ refers to the RSSI measurement, gφ refers to the
antenna gain, and rφ0 = rφ − max{rv } refers to the observed
gain for the antenna orientation of φ◦ with respect to the Xaxis of RF [n]. The step size of 1.8◦ is chosen based on our

hardware implementation’s constraints. Thus, the possible antenna orientations (φ) are limited to Θ = {−180, · · · , −1.8, 0,
· · · , 178.2}. Next, the TrackBot employs different pattern correlation methods for the AoA observation. Below, we describe
three methods in increasing order of complexity. The first
method was originally demonstrated by [16]. Through real
world experimentation, we develop two additional improved
methods.
1) Basic Correlation Method: The first method of determining AoA correlates gm with all θ shifted versions of gabs
and calculates the respective L2 distances. The observed AoA
is the θ at which the L2 distance is the smallest:
X
m
θrel
= arg min
||rk0 − g(k+θ) ||2 · Irk0
(9)
θ∈Θ
k∈Θ

Irk0 is an indicator function to indicate whether the sample

rk0 exists or not to account for missing samples in real
experiments.
2) Clustering Method: While the first method works well
if enough uniformly distributed samples (≥ 100 in our implementation) are collected within the 360◦ scan, it fails in
scenarios of sparse, non-uniform sampling (< 100 samples),
which occurs in practice due to packet loss due to fading and
interference from collocated WiFi devices. In real experiments
(mainly indoors), the collected RSSI samples can be uniformly
sparse or sometimes batched sparse (samples form clusters
with large gaps (≈ 30◦ ) between them).

Definition 1. Angular Cluster: An angular cluster (Λ) is a set
of valid samples for a contiguous set of angles: Λ = {k|Irk0 =
1∀k ∈ {φf , φf + 1.8, · · · , φl − 1.8, φl }} where φf , φl ∈ Θ define
the boundary of the cluster.
To prevent undue bias from large cardinality clusters that can
cause errors in estimating the correlation, we assign a weight
(ωk ) to each sample (k) and use the pattern correlation method
as follows.
X
m
ωk · ||rk0 − g(k+θ) ||2 · Irk0
θrel
= arg min
(10)
θ∈Θ

k∈Θ

1
where k ∈ Λ.
In our weighting scheme, we assign ωk = |Λ|
Thus, the sum of all weights of the samples from a single
cluster sums to 1, i.e., the weights of the samples are defined
by the angular cluster it belongs to.
3) Weighted Average Method: Based on real world experi1
ments, we find that the angle observation based on (9), say θm
,
gives reasonable error performance if the average cluster size,
λa , is greater than the average gap size between clusters, µa .
2
Conversely, the angle observation based on (10), say θm
, is
better if λa << µa . Thus, as a trade-off between both the basic
correlation method and the clustering method, we propose a
weighted averaging method described below.
(
λa
2
· θ1 + (1 − µλaa ) · θm
if λa ≤ µa
m
(11)
θrel = µ1a m
θm
if λa > µa

In the rest of the paper, we use the weighted average
method for angle observations. We compare the performance

6

of all three methods based on real world experiments in
Section VIII-C.

between distance and speed estimation noise. We compare the
performance of both strategies based on emulation and real
world experiments in Sections VII-B and VIII-B, respectively.

C. Speed Observations
To fulfill the tracking objective, the TrackBot needs to adapt
its speed of movement (vF [n]), according to the Leader’s
speed (vL [n]). In our ARREST architecture, the Strategic Speed Controller uses the relative position observations
m
(dm [n], θrel
[n]) from the CANE layer and the past LQG state
m
estimates to determine the current relative speed, vrel
[n], as
m
well as the Leader’s speed, vL [n]. In this context, we employ
two different observation strategies. The first strategy, which
we refer to as the Optimistic strategy, assumes that the Leader
will be static for the next time slot and determines the relative
speed as follows:
m
vrel
[n]

=

m
(dm [n] − de [n] · cos(θrel
[n]))
−
δt

TABLE I
ARREST H ARDWARE I MPLEMENTATION

(12)

Module
Wireless Communication and Sensing

m

vL [n] =

m
[n] · sin(θrel
[n])}
p
v12 + v22

δt
v2
m
θv [n] = arctan
− θrel
[n]
v1
e
m
vL
[n + 1] = vL
[n] = vL [n] · cos(θv [n])

Rotating Platform
Assembly

Relative Position
Estimation
CAST
Movement Translator

m
v1 = {dm [n] · cos(θrel
[n]) − de [n]}

v2 = {d

CANE

+ 1] = 0

On the other hand, the Pragmatic Strategy assumes that the
m
[n].
Leader will continue traveling at the observed speed, vL
This strategy determines the relative speed as follows:

(13)

m
m
vrel
[n] = vF [n] − vL
[n]

Fig. 5.

A. Hardware
We implemented a TrackBot with our ARREST architecture
inside a real, low-cost robot prototype presented in Fig. 1. For
a concise description of our prototype, we list the hardware
used for implementation of each of the ARREST components
in Table I. We discuss details of the Time Difference of
Arrival (TDOA) based localization system integrated with our
ARREST architecture for ground truth estimation separately
in Section IX.

Illustration of the Relative Speed Observation

For an illustration of different components of this process,
please refer to Fig. 5. Next, the LQG controller uses the
observation vector O[n] to decide the next state’s relative
e
speed, vrel
[n + 1] which is used by the Speed Controller
to generate the TrackBot’s actual speed for next time step,
e
e
vF [n + 1] = vL
[n + 1] + vrel
[n + 1]. Note that the speed of the
TrackBot, vF [n], is exactly known to itself at any time n. In
addition to the different assumptions about the Leader’s speed,
the two strategies also differ in how the noise is modeled in
the correlation between distance and speed estimations: the
Optimistic Strategy assumes that the noise in speed observations are uncorrelated with the noise in distance observations,
whereas the Pragmatic strategy assumes strong correlation

PRICE

e
vL
[n

e
vrel
[n]

VI. T RACK B OT P ROTOTYPE

Robot Chassis

Hardware
OpenMote [38]; Rosewill Directional Antenna
(Model RNX-AD7D)
Nema 17 (4-wire bipolar Stepper Motor); EasyDriver - Stepper Motor Driver; mbed NXP
LPC1768 [39]
mbed NXP LPC1768 [39]
mbed NXP LPC1768 [39]
mbed NXP LPC1768 [39]
Baron-4WD Mobile Platform, L298N Stepper
Motor Driver Controller Board, HC-SR04 Ultrasonic Sensor [40]

TI 32-bit CC2538 @ 32 MHz with 512KB Flash
OpenMote [38] memory, 32KB RAM, 2.4GHz IEEE 802.15.4-based
Transceiver connected via SMA plug
32-bit ARM Cortex-M3 core @ 96MHz, 512KB
mbed NXPFLASH, 32KB RAM; Interfaces: built-in Ethernet,
LPC1768 [39]
USB Host and Device, CAN, SPI, I2C, ADC, DAC,
µ-processor
PWM and other I/O interfaces
Rosewill
Mode 1: Frequency: 2.4GHz, Max Gain: 5dBi,
RNX-AD7D
HPBW: 70◦ Mode 2: Frequency: 5GHz, Max Gain:
Directional
7dBi, HPBW: 50◦
Antenna
Nema
17 Dimension: 1.65”x1.65”x1.57”, Step size: 1.8 degrees
Stepper
(200 steps/rev), Rated current: 2A, Rated resistance:
Motor
1.1 Ohms
Operating Voltage: 5V DC, Operating Current:
HC15mA, Measure Angle: 15◦ , Ranging Distance: 2cm
SR04 [40]
- 4m

In the TrackBot prototype, the directional antenna and the
OpenMote are mounted on top of a stepper motor using
a plate. While we use two microprocessors (the OpenMote
and the mbed), the system can be implemented using one
microprocessor. We choose to use two in this prototype to
work around wiring issues and work around the lack of
sufficient GPIO pins on the OpenMote. The OpenMote is only
used for RF sensing while the mbed is used to implement
the rest of the ARREST modules. For programming of the
mbed, we use the mbed Real Time Operating System [41]. The
mbed sends control signals to the stepper motor to rotate it in
precise steps of 1.8◦ . Each consecutive 360◦ antenna rotations
alternate between clockwise and anti-clockwise because this:
(1) prevents any wire twisting between the mbed and OpenMote and (2) compensates for the stepper motor’s movement

7

errors. The mbed communicates with other H/W components
via GPIO pins and High Level Data Link Control (HDLC)
Protocol [42] based reliable serial line communication.
In the current prototype, the maximum speed of the robot
is 30cm/s. Due to synchronization issues on the mbed when
trying to simultaneously rotate the antenna and move the robot
chassis, the antenna assembly sometimes does not return to its
initial position after a complete rotation. To solve this issue
while avoiding complex solutions (e.g., via a feedback-based
offset control mechanism), the TrackBot instead first performs
a RSSI scan and then moves the chassis. Ideally, the antenna
can rotate 360◦ in 1s while collecting 200 samples. However,
we choose to slow the scan down to a duration of 2s to
cope with the occasional occurrence of sparse RSSI samples.
Moreover, to keep the movement simple, the TrackBot first
rotates to the desired direction and then moves straight with
the desired speed. The wheels of the robot are controlled using
PWM signals from the mbed with a period of 2s. We choose
a 2s period for robot rotation as one 2s pulse width equates to
a chassis rotation amount of ≈ 180◦ . We also choose the same
period length (2s) for forward movement which caps the speed
of the robot at 60/6 = 10cm/s (including 2s of RSSI scan).
The whole system is powered by five AA batteries which can
run for a total of ≈ 3 − 4 hours. We also implemented a very
simple obstacle avoidance mechanism by employing a single
HC-SR04 range finder in the front bumper of the chassis and
protection bumpers on the other sides. While moving forward,
if the ultrasound detects an object at a distance less than 10cm,
it stops the TrackBot’s movement immediately.
The Leader node is currently implemented as an OpenMote transmitting beacons with the standard omnidirectional
antenna and a transmit power of 7dBm. For programming
of the OpenMotes, we use the RIOT operating systems [43],
[44]. The Leader implementation is capable of transmitting
200 packets/second.

max
following settings: Qv = 0.1, Qθ = 1 and Qd = 10 · vL
max
where vL is the maximum speed of the Leader. With these
settings, our system performs better than any other explored
settings. Furthermore, H is chosen to be a 3×3 Identity matrix.
Note that, the values of Q and H are strategy (Optimistic or
Pragmatic) independent.
2) Noise Covariance Matrix Parameters Setup: The noise
covariance matrices, ΣW W and ΣZZ , need to be properly
set for a good state estimation in the presence of noise and
imperfect/partial state observations. The system noises are
assumed to be i.i.d normal random variables with ΣZZ being a
3 × 3 identity matrix. On the other hand, the observation noise
covariance matrix requires separate settings for the different
strategies. For the Optimistic strategy, we assume that the
observation noises are uncorrelated, whereas, for the Pragmatic strategy, the distance estimation errors and the relative
speed estimation errors are highly correlated with variances
max
proportional to vL
. A set of empirically determined values
of ΣW W for the Optimistic and the Pragmatic strategies are
as follows.



ΣOp
WW

4
= 0
0

0
2
0



1
0
g
max

0  , ΣP
=
v
L
WW
1
0

max
vL
max 2
(vF )
0


0
0
0.1

(15)

where Op and P g refers to the Optimistic and the Pragmatic
strategies, respectively.

VII. BASELINE A NALYSIS VIA E MULATION
In this section, we perform a thorough evaluation and setup
the different parameters such as the LQG covariance matrix
(discussed in Section VI-B) of the ARREST architecture via
a set of emulation experiments. We use the emulation experiment results as a baseline for our real-world experiments.

B. ARREST System Parameter Setup
We discuss here the choices of the LQG Controller parameters such as the Q, H, ΣW W and ΣZZ .
1) Cost Parameters Setup: In the cost function of LQG,
the matrix Q determines the weights of different states on the
overall cost, J. In our case, Q is a 3 × 3 positive definite
matrix with nonzero diagonal terms:

Qd
Q= 0
0

0
Qv
0


0
0
Qθ

(14)

Our main goal is to keep the distance as well as the relative
angle to be as low as possible while keeping emphasis on
the distance. From this perspective, the weights in increasing
order should be Qv , Qθ and Qd , respectively. Furthermore,
focusing on one particular aspect such as the distance has
detrimental effects on the other aspects. Thus, we perform a
set of experiments to find a good trade-off between Qv , Qθ
and Qd where we vary one parameter while keeping the rest of
them fixed. For example, we vary the value of Qd by keeping
Qv and Qθ fixed. Based on these experiments, we opt for the

A. Method
We employ our hardware prototypes, discussed in Section VI, to collect sets of RSSI data in cluttered indoor and
outdoor environments for a set of representative distances,
D, and angles Θ. Next, we use the collected samples to
interpolate the RSSI samples for any random configuration
C = (d, θrel ), where d ∈ R+ and θrel ∈ [−180, 180), as follows: re = rs −10·η·log10 (d/dnear )+N (0, σ 2 ), where rs is a
random sample for configuration Cnear = (dnear , θnear ) such
that dnear = arg mindi ∈D |di − d| and θnear = arg minθi ∈Θ
|θi − θrel |. Note that we add an extra noise of variance σ 2 = 2
on top of the noisy samples (with σ 2 ≈ 4) for configuration
Cnear . To estimate the η, we use (7) to calculate ηij for
each pair of distances, di , dj ∈ D and take the average of
them. We choose a value of δt = 1s in (5) to match the
maximum achievable speed of our stepper motor as, ideally,
the interval between any two consecutive movement control
decisions could be 1s where the TrackBot carries out any
movement control decision within the respective 1s interval.

8

B. The Optimistic Strategy vs. The Pragmatic Strategy
In this section, we compare the performance among the
two proposed strategies, Optimistic and Pragmatic, and a
Baseline algorithm. In the Baseline algorithm, the TrackBot
estimates the relative position via the basic correlation method
(discussed in V-B1). Once the direction is determined, the
TrackBot rotates to align itself toward the estimated
direction
e
and then moves with a speed of min{vFmax , d δt[n] }. In Fig. 6a,
we compare the average distance between the TrackBot and
max
max
the Leader for varying vL
while setting vFmax = 1.8 · vL
.
Figure 6a clearly demonstrates that the Pragmatic strategy
performs better than the Optimistic strategy as well as the
Baseline algorithm, due to adaptability and accuracy of the
speed information. The poor performance of the Optimistic
strategy is due to its indifference towards the actual speed
of the Leader which causes the TrackBot to lag behind for
higher velocities. Conversely, we compare the average distance
between the Leader and the TrackBot for varying vFmax , while
max
the Leader’s maximum speed is fixed at vL
= 1m/s.
The experiment outcomes, presented in Fig. 6b, show that
the performance of both strategies are comparable, while the
Optimistic strategy outperforms the Pragmatic strategy for
max
. The reason behind this is the Leader is
vFmax ≥ 3 · vL
constantly changing movement direction while the TrackBot
always travels along the straight line joining the last estimated
position of the Leader and the TrackBot which may not be
the same as the Leader’s direction of movement. This results
in oscillations in the movement pattern for the Pragmatic
strategy while the Optimistic strategy avoids oscillations since
it assumes the Leader to be static. The worst performance of
the Baseline approach is attributed to lack of speed adaptation
by taking past observation into account.
ARREST--Pragmatic
ARREST--Optimistic
Baseline Algorithm

20

10

0

2

4

6

8

1

1

1

0.8

0.8

0.8

0.6

0.6

0.6

0.4

0.4

0.4

0.2

0.2

0.2

(a) Varying Leader Speed

org

) in m

3

0
0

0.5

1

1.5

2

X

10

Leader Maximum Speed in m/s

Distance (d

One main focus of our ARREST architecture is to guarantee
∀n. The value of Dth
max
could be chosen as a function of vL
. However, according
to our target application context, we select Dth = 5m as we
consider a distance more than 5 meters to be large enough to
lose track in an indoor environment. With this constraint, we
find that our present implementation of the ARREST system
fails in the tracking/following objective if the Leader moves
faster than 3m/s. In order to verify whether our ARREST
architecture can guarantee the distance requirement for Leader
max
≤ 3m/s, we perform a set of emulations with
with vL
δt = 1s, where the Leader travels along a set of random
paths. In all cases, the instantaneous distances between the
TrackBot and the Leader during the emulation are less than
5m with probability ≈ 1. The nonzero probability of distances
higher than 5m is due to randomness in the Leader’s motion
including complete reversal of movement direction.
P (||XL [n] −XF [n]||2 ≤ Dth ) ≈ 1

0
0

(a)

0
0

45

90

135 180

0 0.5 1 1.5 2 2.5 3

X

X

(b)

(c)

Fig. 7. Emulation Based Performance: (a) Absolute Distance Estimation
Errors (in m), (b) Absolute Angle Estimation Errors (in degrees), and (c)
Absolute Speed Estimation Errors (in m/s)

ARREST--Pragmatic
ARREST--Optimistic
Baseline Algorithm

2

D. Estimation Errors
1

0

0

2

4

6

8

TrackBot Maximum Speed in m/s

10

(b) Varying TrackBot’s Speed
Fig. 6. (a)-(b)Tracking Performance Comparison Among Different Speed
Estimation Strategies

One more noticeable fact from Fig. 6b is that if vFmax =
the tracking performance is the worst. This is quite

max
vL
,

C. Absolute Distance Statistics

CDF, F(X)

Distance (d

org

) in m

30

intuitive because for this speed configuration, the TrackBot is
unable to compensate for any error or initial distance while the
max
Leader constantly moves at a speed close to vL
. Thus, the
relative speed needs to be positive for proper tracking. In order
to find a lower bound on the TrackBot’s speed requirement,
we perform another set of experiments by varying vFmax from
max
max
vL
to 3 · vL
. Based on the results, we conclude that for
max
max
vF ≤ 1.6 · vL
, the tracking system fails and the distance
max
increases rapidly. On the other hand, for vFmax > 1.6 · vL
the performance remains the same. Thus, in our experimental
max
setup, we opt for vFmax = 1.8 · vL
.

In order to learn the statistics of different estimation errors,
we perform a range of emulation experiments, where the
max
Leader follows a set of random paths and vL
≤ 3m/s. In
Fig. 7a, we plot the empirical CDF of the absolute errors in the
distance estimates maintained by our system. Figure 7a clearly
illustrates that the instantaneous errors are less than 100cm
with very high probability (≈ 90%), and that the absolute error
values are bounded by 1.5m. These statistics are reasonable
for pure RSSI-based estimation systems (explained further in
Section X-A). We also plot the CDF of the absolute angle

9

1

1

0.8

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

CDF, F(X)

1

0.6
0.4

Optimistic
Pragmatic
Baseline

0.2
0

0

2

X

0

4

0

(a)

1

2

0

Simplex
Clustering
Weighted
Average
0

X
(b)

20 40 60 80 100
X
(c)

Fig. 8. Real Experiment Based Performance for Small Scale: (a) Absolute Distance in Meters, (b) Absolute Distance Estimation Error in Meters, and (c)
Absolute Angle Estimation Error in Degrees

estimation errors over the duration of the emulations in Fig. 7b.
It can be seen that the absolute angle errors are less than 40◦
with high (≈ 80%) probability, which is justified as the Half
Power Beam Width (HPBW) for the antenna we are using is
approx 70◦ . Further improvements may be possible by using
an antenna with greater directionality or other radios (such
as UWB radios). The non-zero probability of the angle error
being more than 40◦ is again due to the random direction
changes in the Leader’s movements. Similarly, we analyze the
absolute speed estimation errors in terms of CDF, illustrated
in Fig. 7c. The absolute errors in the speed estimations of the
Leader are less that 1m/s with ≈ 90% probability.
TABLE II
S UMMARY OF E MULATION R ESULTS
max
max
< vFmax < 3·vL
 Pragmatic Strategy performs best for 1.6·vL
max
while Optimistic Strategy performs best for vFmax ≥ 3 · vL
max
> 3m/s.
 The ARREST system fails if vL
max
max
max
, the TrackBot stays
= 1.8 · vL
≤ 3m/s and vF
 For vL
within 5m of the Leader with probability ≈ 100%.
 Absolute distance estimation errors are < 100cm with probability
≈ 90% and < 150cm with probability ≈ 100%.
 Absolute angle estimation errors are < 40◦ with probability ≈
80%.
 Absolute speed estimation errors are less than 1m/s with probability ≈ 90%.

VIII. R EAL E XPERIMENT R ESULTS : S MALL S CALE
To analyse the performance of the ARREST architecture,
we use the TrackBot prototype to perform a set of small scale
experiments, followed by a range of large scale experiments.
In this section, we present the results of our small-scale realworld experiments.

only 4s. With this setup, we perform a set of real tracking
experiments in three different environments:
 A cluttered office space, illustrated in Fig. 9a (≈ 10m ×
6m), with a lot of office desks, chairs, cabinets, and reflecting
surfaces.
 A hallway, illustrated in Fig. 9b (≈ 18m long and 3m
wide), with pillars as well as sharp corners.
 A VICON camera localization [7] based robot experiment
facility, illustrated in Fig. 9d (≈ 6m × 6m).
For the first two environments, we use manual markings on
the floor to localize both the Leader and the TrackBot. For
the last environment, the VICON facility provides us with
camera-based localization at millimeter scale accuracy. We
perform a set of experiments in each of these environments
for an approximate total period of one month with individual
run lasting for 30 minutes during different times of the day.
For these experiments, the Leader is a human carrying an
OpenMote transmitter.
B. The Optimistic Strategy vs. The Pragmatic Strategy
Similar to our emulation based analysis, we perform a real
system based comparison of the proposed speed adaptation
strategies as well as the Baseline Algorithm (introduced in
Section VII-B). However, in this set of experiments we do not
vary the maximum speed of the TrackBot or the Leader due
to prototype hardware limitations. Instead, we compare the
absolute distance CDF statistics of these three strategies in
max
Fig. 8a for vFmax = 10cm/s and vFmax = 1.8 · vL
. Figure 8a
validates that Pragmatic strategy performs best among all three
max
strategies when vFmax = 1.8 · vL
. Moreover, the baseline
strategy performs the worst due to lack of speed adaptation
as well as lack of history incorporation. In summary, our real
experiment based results concur with the emulation results.

A. Method

C. Estimation Errors

Based on the valuable insights from the emulation results,
we choose TrackBot’s speed to be at least 1.8X the Leader’s
speed. The TrackBot makes a decision every 6s. Between each
decision, the TrackBot takes 2s for both the antenna rotation
and RSSI scan, 2s for the chassis rotation, and 2s for the
chassis translation. However, in the state update equations,
δt = 4s because the actual chassis movement takes place for

To analyze the state estimation errors in our ARREST
architecture similar to the emulations, we perform a range of
max
prototype based experiments, where the vFmax = 1.8 · vL
and the Leader follows a set of random paths. In Fig. 8b,
we plot the empirical CDF of the absolute errors in the
distance estimates maintained by our TrackBot. Figure 8b
clearly illustrates that the instantaneous absolute errors in our

10

0

Leader
Trackbot

in Meters

5
10
15
20
0

5

(a) Indoor

10
in Meters

15

20

(b) Hallway
3

Leader
Trackbot

in Meters

2
1
0
−1
−2
−3
−3

−2

(c) Indoor (No Line of Sight)

−1

0
1
in Meters

2

3

(d) VICON System

Fig. 9. Full Path Traces from Small Scale Real World Experiments

distance estimates are ≤ 100cm with very high probability
(≈ 90%), and are bounded by 1.5m. These statistics are also
reasonable for pure RSSI based estimation systems and concur
with the emulation results. Next, in Fig. 8c, we compare the
angle estimation error performance of the TrackBot for all
three AoA observation methods introduced in Section V-B
where we intentionally introduce random sparsity in the
RSSI measurements. Figure 8c illustrates that our proposed
clustering method and weighted average method perform
significantly better than the basic correlation method which
is expected since the first two take into account the clustered
sparsity (Detailed in Section V-B). The instantaneous absolute
angle errors are less than 40◦ with high probability (≈ 90%)
for all three methods which is justified because the HPBW
specification for the antenna is approx 70◦ . Figure 8c also
illustrates that the weighted angle observation method slightly
outperforms the clustering method for AoA observation. The
apparent similarity between the performance of the clustering
method and the weighted average method is attributed to
the consistent lower cluster sizes compared to the gap sizes
(λa << µa ) in our experiments.

we perform a set of experiments with a static Leader not in
the line of sight of the TrackBot for ≥ 50% of the TrackBot’s
path. Our TrackBot was able to find the Leader in 75% of
such experiments. In Fig. 9c, we present one instance of
such experiment. The main reason behind this success lies
in the TrackBot’s ability to leverage a good multipath signal
(if exists). In absence of direct line of sight, the TrackBot
first follows the most promising multipath component and by
doing so it eventually comes in line of sight with the Leader
and follows the direct path from that point on. In most of these
experiments (≥ 90%), the TrackBot travels a total distance of
less than 2X the distance traveled by the Leader. This implies
that our system is efficient in terms of energy consumption due
to robotic maneuvers.
Nonetheless, these small real-world experiments also point
out that our current system does not work if there exists
no strong/good multipath signal in NLOS situations where
“strong multipath” implies that one multipath signal’s power
is significantly higher than other multipath signals. We detail
multipath related problems and our method of partly circumventing it in Section IX-E.

D. Tracking Performance
In Fig. 9a, we present a representative path trace from
the experiments in the indoor scenario. Similarly, in Fig. 9b
we present a real experiment instance in the Hallway. Lastly,
Fig. 9d illustrates an example trace from the VICON system.
All three figures illustrate that our system performs quite
well in the respective scenarios and stays within ≈ 2m
from the Leader for the duration of the experiments. These
results suggest that our system works equally well in different
environments: cluttered and uncluttered. To verify that further,

IX. R EAL E XPERIMENT R ESULTS : L ARGE S CALE
A. Method
The small scale experiments, presented in Section VIII,
were limited in terms of deployment region (≤ 60 sq. meters)
due to the dimensions of the VICON system and the effort
plus time required for large scale experiments with manual
measuring/markings. To perform large scale and long duration
experiments based evaluations, we integrated a version of a
well known Time Difference of Arrival based localization [45],

11

TABLE III
S UMMARY OF S MALL S CALE R EAL -W ORLD E XPERIMENTS
max
 Pragmatic Strategy performs best for 1.8 · vL
= vFmax .
 Absolute distance estimation errors are < 100cm with probability
≈ 90% and < 150cm with probability ≈ 100%.
 Absolute angle estimation errors are < 40◦ with probability ≈
90%.
 Weighted average AoA observation method performs the best.
 The TrackBot stays within 2m of the Leader with probability
≈ 98% in line of sight contexts.
 The ARREST system works with probability ≈ 75% for NLOS
contexts, although it fails if no “strong multipath” exists.

[46] ground truth system in our TrackBot. This helped us avoid
the need of tedious manual markings and measurements. For
more efficient experiments, we also developed a robotic leader,
which we will refer to as the LeaderBot in this section, to act
as both Leader as well as the reference node for the TDoA
localization system.
The main idea behind TDoA systems is to use a reference
node that transmits two different types of signals, say RF and
Ultrasound, simultaneously. Now, the localizing/receiver node
receives these two signals at different instances of time due the
propagation speed difference between RF and Ultrasound, say
∆c. With proper timestamps, the receiver can now calculate
the time difference of arrival of these two signal, say ∆t,
to estimate the distance as ∆c · ∆t. We extend this concept
slightly further by placing both the receiver RF antenna and
the ultrasound on the the TrackBot’s rotating platform. We
rotate the platform in steps of 18◦ (just a design choice) and
perform TDoA based distance estimation for each orientation
of the assembly. The TDoA system returns a valid measurement if and only if the assembly is oriented toward a direct
line of sight or a reflected signal path. Assuming that there
exists a line of sight, the orientation with the smallest TDoA
corresponds to the actual angle between the LeaderBot and
the TrackBot, and value of the smallest TDoA corresponds to
the distance.

B. LeaderBot and TDoA Ranging
The LeaderBot is built upon the commercially available
small Pololu 3pi robot [47]. In our LeaderBot, we use two
Openmotes: one Openmote acts as the Leader beaconer
(Beacon Mote) and operates on 802.15.4 channel 26; the
other Openmote (Range Mote) is used to remotely control
the 3pi robot’s movements and to perform the TDoA based
localization on 802.15.4 channel 25. We use two Openmotes
for cleaner design as well as to avoid operation interference
between remote controlling and beaconing. We use a MB 1300
XL-MaxSonar-AE0 [48] as the ultrasound beaconer, powered
by the 3pi robot. The LeaderBot is illustrated in Fig. 11a.
On the TrackBot, we also add a MB 1300 XL-MaxSonarAE0 [48] ultrasound on the rotating platform along side with
the directional antenna to receive the ultrasound beacons. In
these experiments, the TrackBot switches between Tracking
mode and the Ranging mode for ground truth estimation
by switching its operating threads as well as the Openmote

channel (since there is only one Openmote on the TrackBot).
Step by step method of ranging are as follows.
1) Before ranging, the TrackBot and the LeaderBot finish up
their last movement step and stops.
2) TrackBot switches channel from 26 (Tracking channel) to
25 (Ranging Channel).
3) TrackBot’s Openmote sends a ranging request (REQ)
packet to the Leader’s RangeMote.
4) Upon receipt of the REQ packet, the RangeMote and the
LeaderBot prepares for ranging by temporarily switching
off the remote control feature and sends a Ready (RDY)
packet to the TrackBot.
5) Upon receiving RDY packet, the TrackBot’s Openmote
turns ON the ultrasound-rf ping receiving mode by setting
some flags in the MAC layer to prepare for interception of
the packet and sends a GO packet.
6) Upon receiving the GO packet, the RangeMote on the 3pi
sends exactly one RF packet and exactly one ultrasound
ping @42kHz.
7) If both transmissions are received, the TrackBot’s Openmote estimates the TDoA and sends it to the mbed which
then rotates the platform to the next orientation. If the
TDoA process fails, the Openmote timeout and returns 0
to the mbed.
8) After rotating the platform by one step, the mbed controls
the Openmote to repeat the procedure from Step 3 to Step
7.
9) If a full 360◦ rotation of the platform is complete, the
mbed processes the TDoA data to estimate the angle and
the distance. The TrackBot’s Openmote switches back to
channel 26 for Tracking mode.
Before evaluating the ARREST system on the basis of the
TDoA ground truth system, we first evaluate the performance
of the TDoA system. We found that the worst case distance
estimation errors in TDoA systems are in the order of 10 − 20
cm, as illustrated in Fig. 10a. The angle estimation statistics
presented in Fig. 10b demonstrates highly accurate performance in angle estimations. The slight chances of getting an
error of 18◦ is justifiable by our choice of ranging rotation
step size of 18◦ . Thus, our TDOA system is accurate enough
to be considered as a ground truth in line of sight situations.
Nonetheless, we monitor the ranging outputs to trigger retries
in case of very inaccurate outputs or momentary failures.
Moreover, in non-line sight situations, we still rely on manual
measurements as the TDOA system fails in such scenarios.
C. Different Experimental Settings
With the aforementioned setup, we performed a range of
experiments over months of duration with each run lasting for
1 − 2 hours. For the ARREST setup, we use the Pragmatic
policy with the weighted average angle estimation because
of its superior performance in our emulations and small
scale experiments. The LQG setup are also kept same as the
small scale experiments. To diversify the situation we have
performed experiments in four different classes of settings.
 Large (≥ 15m × 10m) office rooms with lots of computers, reflective surface, and cluttered regions.

12

8

PDF

6
4
2
0
-0.2

0

0.2

0.4

Distance Est. Errors in Meters
(a)

prominently better than the other scenarios due to absence of
any sort of multipath signals. The instantaneous angle errors
are less than 40◦ with high probability (≈ 85%) in overall
statistics. However the scenario specific errors statistics (error
being less that 40◦ ) vary from ≈ 75% probability in indoor
setting to ≈ 100% probability in the outdoor settings. This
slight discrepancy between small scale and large scale angle
error performance is mainly due to different environment
settings as evident from the Fig. 11d itself. In Fig. 12, we
present a sample illustrative trace of a large scale hallway
experiment, drawn based on manual reconstruction from a
video recording and markings on the floor.

0.15

0.1

0.05

0
-48

-30

-12

6

24

42

Angle Est. Errors in Degree
(b)
Fig. 10.
TDOA based Localization System Performance: (a) Distance
Estimation Errors and (b) Angle Estimation Errors

 Long hallways (≈ 200m long and 5 − 10m wide) with
lots of turns.
 Open ground floor spaces (≈ 30m × 30m) with pillars.
 Homelike environments with couches, furniture, and
obstacles.
D. Performance Analysis
In Fig. 11b, we present the statistics of the absolute distance
between the TrackBot and the LeaderBot throughout the
duration of the experiments in all four scenarios. Figure 11b
shows that the absolute distance is bounded by 3.5 meters
in all four scenarios which further verifies our small scale
experiment results presented in Fig. 8. Another noticeable fact
from the figure is that ARREST system performs worst in the
cluttered office scenarios which is justifiable due to presence
of a lot of reflecting surfaces as well as obstacles.
Similar statistics can be seen in the absolute LQG distance
error plot presented in the Fig. 11c. Figure 11c shows that
the instantaneous absolute distance errors are ≤ 100cm with
≈ 90% probability, except in the office scenario (≈ 70%). The
comparatively higher distance errors for office scenarios is due
to overestimation of distances in NLOS scenarios and in presence of strong multipath signals. However, this does not affect
the performance much as the temporarily predicted higher
distance tends to only lead to a temporary higher velocity of
the TrackBot. In summary, the distance error statistics is also
mostly similar to the distance error statistics from the small
scale experiments. Similar pattern can be observed in the angle
estimation error plots presented in Fig. 11d. Again the office
space performance is worst. The open space performance is

E. Multipath Adaptation
Similar to small-scale experiments, we perform a set of
experiments with a static Leader not in the line of sight of
the TrackBot for ≥ 50% of the TrackBot’s path. Due to
the TrackBot’s ability to leverage a good multipath signal,
the TrackBot was able to find the Leader in 70% of the
cases. However, we also notice that it fails dramatically if
the TrackBot falls into a region with no direct path as well as
no strong multipath signals (i.e., there exist multiple similar
strength multipath signals). To overcome that, we add a
Multipath Angle Correction module in the CAST layer (refer
to Fig. 3). This module triggers a randomized movement for a
single LQG period if: (1) the TrackBot hits an obstacle for 3−4
consecutive LQG periods or, (2) the LQG estimated distance
to the transmitter doesn’t change much over 3 − 4 consecutive
periods. This policy basically leads the TrackBot to a random direction with the hope of getting out of such region.
However, we noticed that if the TrackBot keeps following
randomized direction for consecutive LQG periods, it harms
the tracking performance. Thus, we have set a minimum time
duration (Five LQG periods in our implementation) between
any two consecutive randomized movements. Note that, all
these timing choices are made empirically via a range of real
experiments. With this strategy, we noticed an improvement
on the TrackBot’s success rate from ≈ 70% to a success rate
of ≈ 95% in such scenarios. However, the trade-off in such
context is that the convergence in case of a far away Leader
(≥ 8m) is now slower by ≈ 15%.
TABLE IV
S UMMARY OF L ARGE S CALE R EAL -W ORLD E XPERIMENTS

 Absolute distance estimation errors are < 100cm with probability
≈ 90% except in the case of cluttered office environments.
 Average Absolute angle estimation errors are < 40◦ with probability ≈ 85%.
 The TrackBot stays within 3.5m of the Leader with probability
≈ 100% in all scenarios of tracking.
 In NLOS scenarios, addition of a conditional randomization
improves the success rate from 70% to 95% but slows the converges
by ≈ 15% for static far-away Leader.

X. M ISCELLANEOUS
A. Raw RSSI Data Analysis
Based on all our evaluations, we conclude that the presence
of multipath signals does not hamper the performance if there

CDF, F(X)

13

1

1

1

0.8

0.8

0.8

0.6

0.6

0.6

0.4
0.2
0

(a)

0.4

Office Space
Open Space
Hallway
Home

0

1

2

(X)

3

4

0.2
5

(b)

0

0.4

Office Space
Open Space
Hallway
Home

0

1

2

3

(X)

4

5

Office Space
Open Space
Hallway
Home

0.2
0
6

0

90 180 270 360 450

(X)

(c)

(d)

Fig. 11. Real Experiment Based Performance for Large Scale: (a) 3pi LeaderBot (b) Absolute Distance in Meters, (c) Absolute Distance Estimation Error
in Meters, and (d) Absolute Angle Estimation Error in Degrees

actually doesn’t vary much with the sampling rate.
Our numbers may even appear to be better than those
typically reported for RSSI based localization (where typical
accuracies are ≈ 2m − 5m or higher), but this is attributed
to the fact that the distance estimates use the average of
40 − 200 samples, one from each sample’s respective antenna
orientation. This analysis also suggests that we can use sampling rate of 100 samples/rev to achieve similar performance.
Nonetheless, we stick with 200 sample/rev as we notice a
loss of maximum 70 − 90 samples per revolution in severe
scenarios.
1.5

Fig. 12. Full path Trace for a Sample Large Scale Experiment (Blue =⇒
Leader, Red =⇒ TrackBot)

PDF

1

exists a direct line of sight. To justify this further and to gather
more insights on the systems performance, we perform a raw
RSSI data analysis and calculate the unfiltered error statistics.
In Fig. 13a, we plot the RSSI pattern based distance estimation
error statistics which demonstrates that the accuracy of the
directional antenna pattern based distance estimations are in
the order of less than 1 meter with 90% probability. On the
other hand, Fig. 13b shows that the RSSI pattern based angle
estimation error are less that 40◦ with very high probability
(≈ 80%) with some deviations due to multipath and random
changes in movement directions. Again, note that, the an error
upto 40◦ is acceptable due to our choice of directional antenna.
We also perform a set of experiments in an anechoic chamber
with controlled position of the reflectors. While we do not
present the respective plots for page limitations, the statistics
are very similar to Fig. 13 for a maximum separation distance
of 5m. We also verify the performance of the RSSI based
estimation for varying sampling rate. For these set of experiments, we fix the distance and angle between the TrackBot
and the Leader and properly set the channel parameters before
each experiment. Figure 14 presents the average angle errors
and average distance estimation errors with 95% confidence
interval for varying sampling rate. Figure 14b shows that the
angle estimation performance deteriorates as the sampling rate
is decreased which is self-justified. The distance estimation

0.5

0
-5

-3

-1

1

3

5

Distance Est. Errors in Meters

(a)
0.015

0.01

0.005

0
-180 -120

-60

0

60

120

180

Angle Est. Errors in Degree

(b)
Fig. 13. Raw Data Analysis: (a) Distance Estimation Errors and (b) Angle
Estimation Errors

B. Different Sensing Modalities
While our proposed ARREST architecture employs pure
RSSI based distance, angle, and speed estimations, the same
architecture can be easily adapted to use other technologies
such as cameras or infrared sensors. In such cases, we just

14

C. Some Challenges and Lesson Learned
Here we present two main challenges we faced in this
project along with our methodology to overcome them.
Rotating Platform Wire Twisting: To overcome this challenge mechanically, we alternate the rotation direction between
clockwise and anticlockwise. Further, we opt for a system
design where every device on the rotating platform (in our
case only ultrasound) communicate via the serial line between
the Openmote (on the platform) and the mbed. To achieve that
we use multi-threading in RIOT OS and the HDLC protocol
to allocate a dedicated thread and HDLC identifier for each
of the peripheral device on the Openmote. Upon receipt of
a HDLC packet from the Openmote, the mbed process the
HDLC identifier to identify the source device and perform the
necessary operation.
Missing Samples: During the RSSI sampling, we noticed
that the mbed receives a very low number of samples from
the Openmote with chunks of missing samples. This was
caused by the beaconer’s buffer overflow (due to continuous
beaconing), interference from other devices, and loss in the
communication between the Openmote and the mbed. To solve

Distance Errors in Meter

0.5
0.4
0.3
0.2
0.1
0

0

50

100

150

200

150

200

Sample Count / Rotation

(a)
100

Angle Errors in Degree

need to modify the CANE layer of the ARREST architecture
and feed the relative position approximations to the CAST
layer. Now, each of these estimation technologies i.e., camera
based or RF based estimations, have different accuracies
in terms of distance and angle estimations. To analyze the
tracking performance of the ARREST system, oblivious to
the actual technology used in CANE layer, we perform a
set of simulation experiments where we control the average
errors in the distance and the angle estimations. Figure 15a
illustrates one instance of such experiments where we fix the
average angle error (0 in this case) and vary the average
distance estimation error. Figure 15a shows that the effect of
positive estimation errors (dorg − de > 0, where dorg is the
actual distance) have a more detrimental effect on the tracking
performance than negative errors.
This is justified as positive distance estimation errors imply
always falling short in the movements, whereas, negative
errors imply over-estimations and more aggressive movements.
It is also noticeable that there exists an optimal value of
average distance estimation error. The value of this optimal
distance error depends on the maximum Leader speed as well
as average angle error. Next, we plot the relation between average tracking distance and average angle error while the average
distance error is kept to be 0 in Fig. 15b. It is obvious and
quite intuitive that the best tracking performance is obtained
for an average angle estimation error of 0. Note that, we do
not control the speed error separately as it is directly related to
the angle and distance estimations. This analysis demonstrates
the versatility of our ARREST architecture to tolerate a large
range of estimation errors. More specifically, it tolerates up to
5m average distance error and 45◦ average absolute angle error
in a successful tracking application. This analysis also shows
that while RSSI based system is not optimum, it has reasonable
performance compared to the best possible ARREST system
(with zero distance and angle estimation error).

80
60
40
20
0

0

50

100

Sample Count / Rotation

(b)
Fig. 14. Estimation Performance for Varying Sampling Rate: (a) Distance
Estimation Errors and (b) Angle Estimation Errors

the beaconer buffer overflow issue, we added a periodic reset
controller on the 3pi LeaderBot’s mbed that resets the beaconer
after every two minute via a GPIO pin. The interference
and noise related missing samples problem were solved by
changing the beaconing from broadcast to unicast and also via
employing our proposed block based angle estimation (Refer
to Section V-B). We reduce the loss due to communication
between the mbed and the Openmote by employing the HDLC
protocol based packetized serial communication and proper
ACK mechanism.
XI. C ONCLUSION
While our proposed solely RSSI based relative localization
and tracking system for autonomously following a RF-emitting
object works with reasonable performance, there are a lot of
research questions that need to be addressed in our future
works and are not part of this work. First, we intend to develop
a strategy with a proper trade-off between Optimism and
Pragmatism, which will potentially improve the performance.
Second, we want to make the system faster by employing
the concept of compressive sampling that will potentially
allow for continuous-time decision making. Third, we want
to explore the optimal configuration options for our system
as well as the optimality conditions for RF based tracking.
Fourth, we intend to look into more structured randomization
in the TrackBot’s movements to improve performance in
severe NLOS environments. Finally, we intend to explore the
domains of game theory and robust control to see if better or
more robust predictions of the Leader’s motion could improve
the performance.
R EFERENCES
[1] M. McClure, D. R. Corbett, and D. W. Gage, “The darpa landroids
program,” in SPIE Defense, Security, and Sensing, 2009.

15

Avg Tracking Dist (in m)

6

6

RSSI
Based
Worst
Avg
Distance
Error

4

4

2

2

0
-5 -4 -3 -2 -1 0 1 2 3 4
Mean Distance Est. Error (in m)

5

0
-50
-25
0
25
50
Mean Angle Est. Error (in Degrees)

(a)
Fig. 15.

RSSI
Based
Worst
Avg
Angle
Error

(b)

Performance of the ARREST System in Terms of Controlled Estimation Errors

[2] R. R. Murphy, “Trial by fire [rescue robots],” Robotics & Automation
Magazine, IEEE, vol. 11, no. 3, pp. 50–61, 2004.
[3] J. Penders, L. Alboul, U. Witkowski, A. Naghsh, J. Saez-Pons, S. Herbrechtsmeier, and M. El-Habbal, “A robot swarm assisting a human
fire-fighter,” Advanced Robotics, vol. 25, no. 1-2, pp. 93–117, 2011.
[4] S. Thrun, S. Thayer, W. Whittaker, C. Baker, W. Burgard, D. Ferguson,
D. Hahnel, D. Montemerlo, A. Morris, and Z. Omohundro, “Autonomous
exploration and mapping of abandoned mines,” IEEE Robotics &
Automation Magazine, vol. 11, no. 4, pp. 79–91, 2004.
[5] V. Kumar, D. Rus, and S. Singh, “Robot and sensor networks for first
responders,” IEEE Pervasive Computing, vol. 3, no. 4, pp. 24–33, 2004.
[6] W. Ren and N. Sorensen, “Distributed coordination architecture for
multi-robot formation control,” Robotics and Autonomous Systems,
vol. 56, no. 4, pp. 324–333, 2008.
[7] VICON, “https://www.vicon.com/,” 2017.
[8] N. P. Papanikolopoulos, P. K. Khosla, and T. Kanade, “Visual tracking
of a moving target by a camera mounted on a robot: A combination
of control and vision,” IEEE Transactions on Robotics and Automation,
vol. 9, no. 1, pp. 14–35, 1993.
[9] B. Jung and G. S. Sukhatme, “Detecting moving objects using a single
camera on a mobile robot in an outdoor environment,” in IAS, 2004.
[10] M. Kleinehagenbrock, S. Lang, J. Fritsch, F. Lomker, G. A. Fink, and
G. Sagerer, “Person tracking with a mobile robot based on multi-modal
anchoring,” in IEEE RO-MAN, 2002.
[11] D. Schulz, W. Burgard, D. Fox, and A. B. Cremers, “Tracking multiple
moving targets with a mobile robot using particle filters and statistical
data association,” in IEEE ICRA, 2001.
[12] W. Xu, J. Snider, J. Wei, and J. M. Dolan, “Context-aware tracking of
moving objects for distance keeping,” in IEEE IV, 2015.
[13] B. Kluge, C. Kohler, and E. Prassler, “Fast and robust tracking of
multiple moving objects with a laser range finder,” in IEEE ICRA, 2001.
[14] M. Lindstrom and J.-O. Eklundh, “Detecting and tracking moving
objects from a mobile platform using a laser range scanner,” in IEEE/RSJ
IROS, 2001.
[15] G. Han, H. Xu, T. Q. Duong, J. Jiang, and T. Hara, “Localization
algorithms of wireless sensor networks: a survey,” Telecommunication
Systems, vol. 52, no. 4, pp. 2419–2436, 2013.
[16] J. Graefenstein, A. Albert, P. Biber, and A. Schilling, “Wireless node
localization based on rssi using a rotating antenna on a mobile robot,”
in IEEE WPNC, 2009.
[17] P. Tokekar, J. Vander Hook, and V. Isler, “Active target localization for
bearing based robotic telemetry,” in IEEE/RSJ IROS, 2011.
[18] P. Tokekar, V. Isler, and A. Franchi, “Multi-target visual tracking with
aerial robots,” in IEEE/RSJ IROS, 2014.
[19] J. Vander Hook, P. Tokekar, and V. Isler, “Cautious greedy strategy
for bearing-only active localization: Analysis and field experiments,”
Journal of Field Robotics, vol. 31, no. 2, pp. 296–318, 2014.
[20] S. Zickler and M. Veloso, “Rss-based relative localization and tethering
for moving robots in unknown environments,” in IEEE ICRA, 2010.
[21] L. Oliveira, H. Li, L. Almeida, and T. E. Abrudan, “Rssi-based relative
localisation for mobile robots,” Ad Hoc Networks, vol. 13, pp. 321–335,
2014.
[22] J. N. Twigg, J. R. Fink, L. Y. Paul, and B. M. Sadler, “Rss gradientassisted frontier exploration and radio source localization,” in IEEE
ICRA, 2012.
[23] D. Song, C.-Y. Kim, and J. Yi, “Simultaneous localization of multiple
unknown and transient radio sources using a mobile robot,” IEEE
Transactions on Robotics, vol. 28, no. 3, pp. 668–680, 2012.

[24] J. Pugh, X. Raemy, C. Favre, R. Falconi, and A. Martinoli, “A fast onboard relative positioning module for multirobot systems,” IEEE/ASME
Transactions on Mechatronics, vol. 14, no. 2, pp. 151–162, 2009.
[25] F. Rivard, J. Bisson, F. Michaud, and D. Létourneau, “Ultrasonic relative
positioning for multi-robot systems,” in IEEE ICRA, 2008.
[26] D. Vasisht, S. Kumar, and D. Katabi, “Decimeter-level localization with
a single wifi access point,” in USENIX NSDI, 2016.
[27] J. Elson, “Simulation of constant-distance robot following using
radio proximity beacons,” http://www.circlemud.org/jelson/writings/
constant-following/constant-following.html, 1999.
[28] B.-C. Min and E. T. Matson, “Robotic follower system using bearingonly tracking with directional antennas,” in Robot Intelligence Technology and Applications 2. Springer, 2014, pp. 37–58.
[29] D. P. Bertsekas, Dynamic programming and optimal control. Athena
Scientific Belmont, MA, 1995, vol. 1 & 2.
[30] J. Van Den Berg, P. Abbeel, and K. Goldberg, “Lqg-mp: Optimized
path planning for robots with motion uncertainty and imperfect state
information,” The International Journal of Robotics Research, vol. 30,
no. 7, pp. 895–913, 2011.
[31] J. Van Den Berg, D. Wilkie, S. J. Guy, M. Niethammer, and D. Manocha,
“Lqg-obstacles: Feedback control with collision avoidance for mobile
robots with motion and sensing uncertainty,” in IEEE ICRA, 2012.
[32] J. Tornero, R. Piza, P. Albertos, and J. Salt, “Multirate lqg controller
applied to self-location and path-tracking in mobile robots,” in IEEE/RSJ
IROS, 2001.
[33] M. Athans, “The role and use of the stochastic linear-quadratic-gaussian
problem in control system design,” IEEE Transactions on Automatic
Control, vol. 16, no. 6, pp. 529–552, 1971.
[34] P. Lancaster and L. Rodman, Algebraic riccati equations. Clarendon
press, 1995.
[35] T. S. Rappaport, Wireless communications: principles and practice.
prentice hall PTR New Jersey, 1996.
[36] J. Xiong and K. Jamieson, “Arraytrack: a fine-grained indoor location
system,” in USENIX NSDI, 2013.
[37] J.-R. Jiang, C.-M. Lin, F.-Y. Lin, and S.-T. Huang, “Alrd: Aoa localization with rssi differences of directional antennas for wireless sensor
networks,” in International Conference on i-Society, 2012.
[38] Openmote, “http://www.openmote.com/,” 2017.
[39] mbed LPC1768, “https://developer.mbed.org/platforms/,” 2017.
[40] HC-SRO4,
“https://cdn.sparkfun.com/datasheets/Sensors/Proximity/
HCSR04.pdf,” 2017.
[41] RTOS, “http://www.ni.com/white-paper/3938/en/,” 2017.
[42] E. Gelenbe, J. Labetoulle, and G. Pujolle, “Performance evaluation of
the hdlc protocol,” Computer Networks (1976), vol. 2, no. 4-5, pp. 409–
415, 1978.
[43] R. OS, “https://riot-os.org/,” 2017.
[44] E. Baccelli, O. Hahm, M. Gunes, M. Wahlisch, and T. C. Schmidt,
“Riot os: Towards an os for the internet of things,” in IEEE INFOCOM
Workshops, 2013.
[45] A. Savvides, C.-C. Han, and M. B. Strivastava, “Dynamic fine-grained
localization in ad-hoc networks of sensors,” in ACM MOBICOM, 2001.
[46] J. E. Maloney, C. J. Hinkle Jr, and J. O. Stevenson, “Enchanced time
difference localization system,” Aug. 22 2000, uS Patent 6,108,555.
[47] P. 3pi, “https://www.pololu.com/product/975,” 2017.
[48] M. X.-M. AE0, “http://www.maxbotix.com/Ultrasonic Sensors/
MB1300.htm,” 2017.

