ARREST: A RSSI Based Approach for Mobile Sensing and Tracking of a Moving Object
Abstract
We present Autonomous Rssi based RElative poSitioning and Tracking (ARREST), a new robotic sensing system for tracking and following a moving, RFemitting 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, offtheshelf, 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 stateoftheart multiple access point based RFlocalization 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 fullfledged prototype to demonstrate that the TrackBot is able to stay within 5m of the Leader with: (1) more than probability in line of sight scenarios, and (2) more than 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 RFbased tracking.
I Introduction
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, 3, 4]. In disaster management, robots can assist by tracking and following firstresponders 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 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 2D that can be implemented using commodity hardware. In our proposed system, the target, which we refer to as the Leader, carries an RFemitting device that sends out periodic beacons. The tracking robot, which we refer to as the TrackBot, employs an offtheshelf 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.
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 decimeterscale accuracy, and stay within of the Leader (with probability and with bounded errors in estimations) as long as the Leader’s speed is less than or equal to and the TrackBot’s speed is 1.8X times faster than the Leader’s speed. Next, using the same parameter setup as in the emulations, we perform a set of small scale realworld 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 largescale 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 probability) in cluttered environments (even in the absence of line of sight) and identify some nonline of sight scenarios where our system can fail. To improve the success rate of our ARREST system in severe nonline of sight (NLOS) situations, we propose a movement randomization technique, detailed in Section IXE. 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 XB.
Ii Related Works
The most popular class of tracking architectures employs vision and laser range finder systems [8, 9, 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 lowcost, small formfactor hardware and can be applied in scenarios with limited visibility and nonlineofsight 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, 18, 19]. The works of Zickler and Veloso [20], and Oliveira et al. [21] on RFbased 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 MIMObased 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 stateoftheart 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/precalculated 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 RSSIbased relative position, angle, and speed estimation with the LQG controller for localizing and tracking a moving RFemitting Object.
Iii Problem Formulation
In this section, we present the details of our tracking problem and our mathematical formulation based on both a 2D global frame of reference, , and the TrackBot’s 2D local frame of reference at time , . Let the location of the Leader at time be represented as in . The Leader follows an unknown path, . Similarly, let the position of the TrackBot at any time instant be denoted by . The maximum speeds of the Leader and the TrackBot are and , respectively. For simplicity, we discretize the time with steps of and use the notation to refer to the time step i.e., . Let be the distance between the TrackBot and the Leader at timeslot , where denotes the norm. Then, with denoting the max distance allowed between the Leader (L) and the TrackBot (F), the objective of tracking is to plan the TrackBot’s path, , such that where denotes the probability.
Realistic deployment scenarios typically do not have a global frame of reference. Thus, we formulate a local frame of reference, , with the origin representing the location of the TrackBot, . Let the robot’s forward and backward movements at any time instant be aligned with the Xaxis of . Also, let the direction perpendicular to the robot’s forward and backward movements be aligned with the Yaxis of . This local frame of reference is illustrated in Fig. 2. Note that in our real system all measurements by the TrackBot are in . In order to convert the position of the Leader in from or vice versa for simulations and emulations, we need to apply coordinate transformations. Let the relative angular orientation of with respect to be and the position of the Leader in be . Then:
(1) 
and is the Leader’s direction in . To restate the objective of tracking in terms of the local coordinates, where .
Iv The ARREST System
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, offtheshelf 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 () and relative speed (). Thus, at any time instant , we define the state of the TrackBot as a 3tuple: where the superscript refers to the estimated values, refers to the estimated distance at time , refers to the relative speed of the TrackBot along the Xaxis of with respect to the Leader, and refers to the angular orientation (in radians) of the Leader in .
CANE: The function of the CANE layer is to measure RSSI values from the beacons and approximate the Leader’s position relative to the TrackBot, (i.e., and ). 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 , the Wireless Communication and Sensing module and the Rotating Platform Assembly perform a RSSI sweep by physically rotating the directional antenna while storing RSSI measurements of successful beacon receptions into the vector . The Relative Position Estimation module uses to approximate the relative position of the Leader by leveraging preestimated directional gains of the antenna, detailed in Section V.
CAST: The functions of the CAST layer is to maintain the 3tuple 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 IXE). 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 VC). 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 IVA.
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 platformspecific Robot Chassis motor control signals (detailed in Section VI).
Iva Proposed LQG Formulation
In our proposed solution, we first formulate the movement control problem of the TrackBot as a discrete time Linear 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:
(2) 
where and are the state transition matrices, is the LQG control vector, is the system noise, is the LQG system’s observation vector, is the statetoobservation transformation matrix, and is the observation noise at time . 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 estimates. In our case, (the superscript refers to measured values). Moreover, in our case, the state transition matices , , 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:
(3) 
where are the weighting matrices. The discrete time LQG controller for this optimization problem is:
(4) 
where denotes estimates, is the Kalman gain which can be solved via the algebraic Riccati equation [34], and is the feedback gain matrix. In our system, the state transition matrix values are as follows:
(5) 
where is the time granularity for the state update. Ideally, within , 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., and . We assume the system noise, , to be Gaussian and the measurement noise, , 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, . The rotational control signal rotates the TrackBot assembly by and sets . 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 () 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 Relative Position and Speed Observations
In this section, we discuss our methodologies to map the observed RSSI vector, , into the controller observation vector, .
Va Distance Observations
The RSSI is well known to be a measure of distance if provided with sufficient transceiver statistics such as the transmitter power, the channel path loss exponent, and the fading characteristics. One of the standard equations for calculating the received power for an omnidirectional antenna is as follows [35]:
(6) 
where is the received power in dBm, is the transmitter power in dBm, is the gain in dB, is the path loss at the reference distance in dB, is the path loss exponent, is the distance between the transmitter and receiver, is the random shadowing and multipath fading noise in dB, and is the received power at reference distance (). Eqn. (6) is also valid for the average received power for a directional antenna with an average gain of . To calculate the received power for a particular direction , we just need to replace in (6) with the directional gain of the antenna, . To apply (6) in ARREST, the TrackBot needs to learn the channel parameters such as the , , and . In our proposed system, we assume that the TrackBot has information about the initial distance to the Leader () and the average received power () at reference distance () which we choose to be 1 meter. Furthermore, the directional gain, , and the transmitter power, , 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 and harnesses the average received power () information to estimate the environment’s as follows.
(7) 
Next, the TrackBot applies the estimated and on (6) to map to the observed distance to the Leader, .
VB 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, . 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 multiantenna offtheshelf 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 offtheshelf 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, , with another vector representing the antenna’s known, normalized gain pattern, . At the beginning of each time slot , the TrackBot performs a sweep of RSSI measurements to generate the vector, . Then, is normalized: . The TrackBot also generates different shifted versions of as follows.
(8) 
where refers to the RSSI measurement, refers to the antenna gain, and refers to the observed gain for the antenna orientation of with respect to the Xaxis of . The step size of is chosen based on our hardware implementation’s constraints. Thus, the possible antenna orientations () are limited to . 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.
VB1 Basic Correlation Method
The first method of determining AoA correlates with all shifted versions of and calculates the respective distances. The observed AoA is the at which the distance is the smallest:
(9) 
is an indicator function to indicate whether the sample exists or not to account for missing samples in real experiments.
VB2 Clustering Method
While the first method works well if enough uniformly distributed samples ( in our implementation) are collected within the scan, it fails in scenarios of sparse, nonuniform sampling ( 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 () between them).
Definition 1.
Angular Cluster: An angular cluster () is a set of valid samples for a contiguous set of angles: where 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 () to each sample () and use the pattern correlation method as follows.
(10) 
In our weighting scheme, we assign where . Thus, the sum of all weights of the samples from a single cluster sums to , i.e., the weights of the samples are defined by the angular cluster it belongs to.
VB3 Weighted Average Method
Based on real world experiments, we find that the angle observation based on (9), say , gives reasonable error performance if the average cluster size, , is greater than the average gap size between clusters, . Conversely, the angle observation based on (10), say , is better if . Thus, as a tradeoff between both the basic correlation method and the clustering method, we propose a weighted averaging method described below.
(11) 
In the rest of the paper, we use the weighted average method for angle observations. We compare the performance of all three methods based on real world experiments in Section VIIIC.
VC Speed Observations
To fulfill the tracking objective, the TrackBot needs to adapt its speed of movement (), according to the Leader’s speed (). In our ARREST architecture, the Strategic Speed Controller uses the relative position observations from the CANE layer and the past LQG state estimates to determine the current relative speed, , as well as the Leader’s speed, . 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:
(12) 
On the other hand, the Pragmatic Strategy assumes that the Leader will continue traveling at the observed speed, . This strategy determines the relative speed as follows:
(13) 
For an illustration of different components of this process, please refer to Fig. 5. Next, the LQG controller uses the observation vector to decide the next state’s relative speed, which is used by the Speed Controller to generate the TrackBot’s actual speed for next time step, . Note that the speed of the TrackBot, , is exactly known to itself at any time . 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 between distance and speed estimation noise. We compare the performance of both strategies based on emulation and real world experiments in Sections VIIB and VIIIB, respectively.
Vi TrackBot Prototype
Via Hardware
We implemented a TrackBot with our ARREST architecture inside a real, lowcost 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.
Module  Hardware  

Wireless Communication and Sensing  OpenMote[38]; Rosewill Directional Antenna (Model RNXAD7D)  
CANE 
Rotating Platform Assembly  Nema 17 (4wire bipolar Stepper Motor); EasyDriver  Stepper Motor Driver; mbed NXP LPC1768 [39] 
Relative Position Estimation  mbed NXP LPC1768 [39]  
CAST  mbed NXP LPC1768 [39]  
PRICE 
Movement Translator  mbed NXP LPC1768 [39] 
Robot Chassis  Baron4WD Mobile Platform, L298N Stepper Motor Driver Controller Board, HCSR04 Ultrasonic Sensor [40] 
OpenMote [38]  TI 32bit CC2538 @ 32 MHz with 512KB Flash memory, 32KB RAM, 2.4GHz IEEE 802.15.4based Transceiver connected via SMA plug 

mbed NXPLPC1768 [39] processor  32bit ARM CortexM3 core @ 96MHz, 512KB FLASH, 32KB RAM; Interfaces: builtin Ethernet, USB Host and Device, CAN, SPI, I2C, ADC, DAC, PWM and other I/O interfaces 
Rosewill RNXAD7D Directional Antenna  Mode 1: Frequency: 2.4GHz, Max Gain: 5dBi, HPBW: Mode 2: Frequency: 5GHz, Max Gain: 7dBi, HPBW: 
Nema 17 Stepper Motor  Dimension: 1.65”x1.65”x1.57”, Step size: 1.8 degrees (200 steps/rev), Rated current: 2A, Rated resistance: 1.1 Ohms 
HCSR04 [40]  Operating Voltage: 5V DC, Operating Current: 15mA, Measure Angle: , Ranging Distance: 2cm  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 . Each consecutive antenna rotations alternate between clockwise and anticlockwise because this: (1) prevents any wire twisting between the mbed and OpenMote and (2) compensates for the stepper motor’s movement 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 . 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 feedbackbased offset control mechanism), the TrackBot instead first performs a RSSI scan and then moves the chassis. Ideally, the antenna can rotate in while collecting samples. However, we choose to slow the scan down to a duration of 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 . We choose a period for robot rotation as one pulse width equates to a chassis rotation amount of . We also choose the same period length () for forward movement which caps the speed of the robot at (including of RSSI scan). The whole system is powered by five AA batteries which can run for a total of hours. We also implemented a very simple obstacle avoidance mechanism by employing a single HCSR04 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 cm, it stops the TrackBot’s movement immediately.
ViB ARREST System Parameter Setup
We discuss here the choices of the LQG Controller parameters such as the , , and .
ViB1 Cost Parameters Setup
In the cost function of LQG, the matrix determines the weights of different states on the overall cost, . In our case, is a positive definite matrix with nonzero diagonal terms:
(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 , and , 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 tradeoff between , and where we vary one parameter while keeping the rest of them fixed. For example, we vary the value of by keeping and fixed. Based on these experiments, we opt for the following settings: , and where is the maximum speed of the Leader. With these settings, our system performs better than any other explored settings. Furthermore, is chosen to be a Identity matrix. Note that, the values of and are strategy (Optimistic or Pragmatic) independent.
ViB2 Noise Covariance Matrix Parameters Setup
The noise covariance matrices, and , 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 being a 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 proportional to . A set of empirically determined values of for the Optimistic and the Pragmatic strategies are as follows.
(15) 
where and refers to the Optimistic and the Pragmatic strategies, respectively.
Vii Baseline Analysis via Emulation
In this section, we perform a thorough evaluation and setup the different parameters such as the LQG covariance matrix (discussed in Section VIB) of the ARREST architecture via a set of emulation experiments. We use the emulation experiment results as a baseline for our realworld experiments.
Viia 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, , and angles . Next, we use the collected samples to interpolate the RSSI samples for any random configuration , where and , as follows: , where is a random sample for configuration such that and . Note that we add an extra noise of variance on top of the noisy samples (with ) for configuration . To estimate the , we use (7) to calculate for each pair of distances, and take the average of them. We choose a value of 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 where the TrackBot carries out any movement control decision within the respective interval.
ViiB 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 VB1). Once the direction is determined, the TrackBot rotates to align itself toward the estimated direction and then moves with a speed of . In Fig. (a)a, we compare the average distance between the TrackBot and the Leader for varying while setting . Figure (a)a 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 , while the Leader’s maximum speed is fixed at . The experiment outcomes, presented in Fig. (b)b, show that the performance of both strategies are comparable, while the Optimistic strategy outperforms the Pragmatic strategy for . The reason behind this is the Leader is 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.
One more noticeable fact from Fig. (b)b is that if , the tracking performance is the worst. This is quite intuitive because for this speed configuration, the TrackBot is unable to compensate for any error or initial distance while the Leader constantly moves at a speed close to . 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 from to . Based on the results, we conclude that for , the tracking system fails and the distance increases rapidly. On the other hand, for the performance remains the same. Thus, in our experimental setup, we opt for .
ViiC Absolute Distance Statistics
One main focus of our ARREST architecture is to guarantee . The value of could be chosen as a function of . However, according to our target application context, we select 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 with , we perform a set of emulations with , 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 with probability . The nonzero probability of distances higher than is due to randomness in the Leader’s motion including complete reversal of movement direction.
ViiD Estimation Errors
In order to learn the statistics of different estimation errors, we perform a range of emulation experiments, where the Leader follows a set of random paths and . In Fig. (a)a, we plot the empirical CDF of the absolute errors in the distance estimates maintained by our system. Figure (a)a clearly illustrates that the instantaneous errors are less than with very high probability (), and that the absolute error values are bounded by . These statistics are reasonable for pure RSSIbased estimation systems (explained further in Section XA). We also plot the CDF of the absolute angle estimation errors over the duration of the emulations in Fig. (b)b. It can be seen that the absolute angle errors are less than with high () probability, which is justified as the Half Power Beam Width (HPBW) for the antenna we are using is approx . Further improvements may be possible by using an antenna with greater directionality or other radios (such as UWB radios). The nonzero probability of the angle error being more than 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. (c)c. The absolute errors in the speed estimations of the Leader are less that with probability.
Pragmatic Strategy performs best for while Optimistic Strategy performs best for 
The ARREST system fails if . 
For and , the TrackBot stays within of the Leader with probability . 
Absolute distance estimation errors are with probability and with probability . 
Absolute angle estimation errors are with probability . 
Absolute speed estimation errors are less than with probability . 
Viii Real Experiment Results : Small Scale
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 smallscale realworld experiments.
Viiia Method
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 . Between each decision, the TrackBot takes for both the antenna rotation and RSSI scan, for the chassis rotation, and for the chassis translation. However, in the state update equations, because the actual chassis movement takes place for only . With this setup, we perform a set of real tracking experiments in three different environments:
A cluttered office space, illustrated in Fig. (a)a (), with a lot of office desks, chairs, cabinets, and reflecting surfaces.
A hallway, illustrated in Fig. (b)b ( long and wide), with pillars as well as sharp corners.
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 camerabased 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 minutes during different times of the day. For these experiments, the Leader is a human carrying an OpenMote transmitter.
ViiiB 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 VIIB). 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 Fig. (a)a for and . Figure (a)a validates that Pragmatic strategy performs best among all three strategies when . 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.
ViiiC Estimation Errors
To analyze the state estimation errors in our ARREST architecture similar to the emulations, we perform a range of prototype based experiments, where the and the Leader follows a set of random paths. In Fig. (b)b, we plot the empirical CDF of the absolute errors in the distance estimates maintained by our TrackBot. Figure (b)b clearly illustrates that the instantaneous absolute errors in our distance estimates are with very high probability (), and are bounded by . These statistics are also reasonable for pure RSSI based estimation systems and concur with the emulation results. Next, in Fig. (c)c, we compare the angle estimation error performance of the TrackBot for all three AoA observation methods introduced in Section VB where we intentionally introduce random sparsity in the RSSI measurements. Figure (c)c 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 VB). The instantaneous absolute angle errors are less than with high probability () for all three methods which is justified because the HPBW specification for the antenna is approx . Figure (c)c 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 () in our experiments.
ViiiD Tracking Performance
In Fig. (a)a, we present a representative path trace from the experiments in the indoor scenario. Similarly, in Fig. (b)b we present a real experiment instance in the Hallway. Lastly, Fig. (d)d 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 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, we perform a set of experiments with a static Leader not in the line of sight of the TrackBot for of the TrackBot’s path. Our TrackBot was able to find the Leader in of such experiments. In Fig. (c)c, 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 (), 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 realworld 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 IXE.
Pragmatic Strategy performs best for . 
Absolute distance estimation errors are with probability and with probability . 
Absolute angle estimation errors are with probability . 
Weighted average AoA observation method performs the best. 
The TrackBot stays within of the Leader with probability in line of sight contexts. 
The ARREST system works with probability for NLOS contexts, although it fails if no “strong multipath” exists. 
Ix Real Experiment Results : Large Scale
Ixa Method
The small scale experiments, presented in Section VIII, were limited in terms of deployment region ( 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, 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 . With proper timestamps, the receiver can now calculate the time difference of arrival of these two signal, say , to estimate the distance as . 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 (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.
IxB 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 XLMaxSonarAE0 [48] as the ultrasound beaconer, powered by the 3pi robot. The LeaderBot is illustrated in Fig. (a)a. On the TrackBot, we also add a MB 1300 XLMaxSonarAE0 [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.

Before ranging, the TrackBot and the LeaderBot finish up their last movement step and stops.

TrackBot switches channel from 26 (Tracking channel) to 25 (Ranging Channel).

TrackBot’s Openmote sends a ranging request (REQ) packet to the Leader’s RangeMote.

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.

Upon receiving RDY packet, the TrackBot’s Openmote turns ON the ultrasoundrf ping receiving mode by setting some flags in the MAC layer to prepare for interception of the packet and sends a GO packet.

Upon receiving the GO packet, the RangeMote on the 3pi sends exactly one RF packet and exactly one ultrasound ping @42kHz.

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.

After rotating the platform by one step, the mbed controls the Openmote to repeat the procedure from Step 3 to Step 7.

If a full 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 cm, as illustrated in Fig. (a)a. The angle estimation statistics presented in Fig. (b)b demonstrates highly accurate performance in angle estimations. The slight chances of getting an error of is justifiable by our choice of ranging rotation step size of . 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 nonline sight situations, we still rely on manual measurements as the TDOA system fails in such scenarios.
IxC Different Experimental Settings
With the aforementioned setup, we performed a range of experiments over months of duration with each run lasting for 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 () office rooms with lots of computers, reflective surface, and cluttered regions.
Long hallways ( long and wide) with lots of turns.
Open ground floor spaces () with pillars.
Homelike environments with couches, furniture, and obstacles.
IxD Performance Analysis
In Fig. (b)b, 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 (b)b 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. (c)c. Figure (c)c shows that the instantaneous absolute distance errors are with probability, except in the office scenario (). 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. (d)d. Again the office space performance is worst. The open space performance is prominently better than the other scenarios due to absence of any sort of multipath signals. The instantaneous angle errors are less than with high probability () in overall statistics. However the scenario specific errors statistics (error being less that ) vary from probability in indoor setting to 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. (d)d 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.
IxE Multipath Adaptation
Similar to smallscale experiments, we perform a set of experiments with a static Leader not in the line of sight of the TrackBot for 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 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 consecutive LQG periods or, (2) the LQG estimated distance to the transmitter doesn’t change much over 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 to a success rate of in such scenarios. However, the tradeoff in such context is that the convergence in case of a far away Leader () is now slower by .
Absolute distance estimation errors are with probability except in the case of cluttered office environments. 
Average Absolute angle estimation errors are with probability . 
The TrackBot stays within of the Leader with probability in all scenarios of tracking. 
In NLOS scenarios, addition of a conditional randomization improves the success rate from to but slows the converges by for static faraway Leader. 
X Miscellaneous
Xa Raw RSSI Data Analysis
Based on all our evaluations, we conclude that the presence of multipath signals does not hamper the performance if there 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. (a)a, 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 probability. On the other hand, Fig. (b)b shows that the RSSI pattern based angle estimation error are less that with very high probability () with some deviations due to multipath and random changes in movement directions. Again, note that, the an error upto 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 confidence interval for varying sampling rate. Figure (b)b shows that the angle estimation performance deteriorates as the sampling rate is decreased which is selfjustified. The distance estimation 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 or higher), but this is attributed to the fact that the distance estimates use the average of samples, one from each sample’s respective antenna orientation. This analysis also suggests that we can use sampling rate of samples/rev to achieve similar performance. Nonetheless, we stick with sample/rev as we notice a loss of maximum samples per revolution in severe scenarios.
XB 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 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 (a)a illustrates one instance of such experiments where we fix the average angle error ( in this case) and vary the average distance estimation error. Figure (a)a shows that the effect of positive estimation errors (, where 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 overestimations 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 in Fig. (b)b. It is obvious and quite intuitive that the best tracking performance is obtained for an average angle estimation error of . 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 average distance error and 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).
XC 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 multithreading 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 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 VB). 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 Conclusion
While our proposed solely RSSI based relative localization and tracking system for autonomously following a RFemitting 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 tradeoff 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 continuoustime 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.
References
 [1] M. McClure, D. R. Corbett, and D. W. Gage, “The darpa landroids program,” in SPIE Defense, Security, and Sensing, 2009.
 [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. SaezPons, S. Herbrechtsmeier, and M. ElHabbal, “A robot swarm assisting a human firefighter,” Advanced Robotics, vol. 25, no. 12, 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 multirobot 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 multimodal anchoring,” in IEEE ROMAN, 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, “Contextaware 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, “Multitarget visual tracking with aerial robots,” in IEEE/RSJ IROS, 2014.
 [19] J. Vander Hook, P. Tokekar, and V. Isler, “Cautious greedy strategy for bearingonly active localization: Analysis and field experiments,” Journal of Field Robotics, vol. 31, no. 2, pp. 296–318, 2014.
 [20] S. Zickler and M. Veloso, “Rssbased 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, “Rssibased 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. Létourneau, “Ultrasonic relative positioning for multirobot systems,” in IEEE ICRA, 2008.
 [26] D. Vasisht, S. Kumar, and D. Katabi, “Decimeterlevel localization with a single wifi access point,” in USENIX NSDI, 2016.
 [27] J. Elson, “Simulation of constantdistance robot following using radio proximity beacons,” http://www.circlemud.org/jelson/writings/constantfollowing/constantfollowing.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, “Lqgmp: 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, “Lqgobstacles: 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 selflocation and pathtracking in mobile robots,” in IEEE/RSJ IROS, 2001.
 [33] M. Athans, “The role and use of the stochastic linearquadraticgaussian 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 finegrained 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 iSociety, 2012.
 [38] Openmote, “http://www.openmote.com/,” 2017.
 [39] mbed LPC1768, “https://developer.mbed.org/platforms/,” 2017.
 [40] HCSRO4, “https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf,” 2017.
 [41] RTOS, “http://www.ni.com/whitepaper/3938/en/,” 2017.
 [42] E. Gelenbe, J. Labetoulle, and G. Pujolle, “Performance evaluation of the hdlc protocol,” Computer Networks (1976), vol. 2, no. 45, pp. 409–415, 1978.
 [43] R. OS, “https://riotos.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 finegrained localization in adhoc 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.