We consider localization of WiFi devices in a large region using an unmanned aerial vehicle (UAV). Due to the massive wide spread of commercial WiFi-enabled devices (smartphones, tablets, laptops, etc.), the location of WiFi devices can be used to localize people who own those devices. Such localizations are important for many applications, e.g. to deliver a mail package using UAVs for companies such as Amazon and Google, to provide internet connectivity using UAVs for companies like Facebook, and perhaps most importantly, in search and rescue operations to localize victims.
Localization of people could potentially be performed using bird’s-eye view camera mounted on a UAV, as discussed in Symington et al. (2010). However, this approach is limited to situations where the targets are clearly visible from the camera. Furthermore, it requires a great amount of image processing to separate the desired target from other objects.
Our approach is to localize WiFi devices measuring the received signal strength. As specified by the 802.11x standards, a mobile-station (MS) periodically broadcasts a management frame, called Probe Request Frame (PRF), to actively scan the environment and discover access points. A WiFi device operating in monitor111More specifically, in RFMON (Radio Frequency MONitor) mode. mode can receive and decode PRFs, extracting the MAC addresses of the source and measuring the corresponding signal strength index (RSSI).
The use of RSSI for localization purposes is problematic because there is no obvious connection between the measured signal strength and the distance between the transmitter and the receiver Benkic et al. (2008), Zarimpas et al. (2006) and Jianwu and Lu (2009).
However, some authors have shown that the RSSI can actually be used in real situations to perform an estimation of the relative positions between the source and the receiving deviceSaxena et al. (2008). Methods using Gaussian Processes (GP) are suited for modeling RSSI, since they can capture non-linearity and quantify uncertainty over a large region Hähnel and Fox (2006), Ferris et al. (2007), Fink and Kumar (2010).
As shown in Zarimpas et al. (2006), by combining the RSSIs measured by several monitor nodes appropriately placed in a certain area, one can estimate and track the position of the MS transmitting the frames. Such a method, however, is limited by the need of a large number of monitor nodes to cover large areas.
In this paper, we show that active sensing and exploitation using UAV results in a fast and accurate localization. Our approach is based on the fact that the expected value of an RSSI measurement increases as the distance decreases. The UAV therefore tries to get to a location where the expected value of the RSSI measurements is highest.
Since collecting measurements is costly, both in terms of time and energy, we use the machine-learning method called Bayesian optimization. Such method allows the UAV to collect observations in informative locations to find the WiFi device quickly and with high accuracy. More importantly, in our application, the environment is unknown and such “black-box” approach is appropriate since it avoids making assumptions about the environment. Our approach therefore is completely data-driven.
Fig. 1 summarizes our approach for locating a single WiFi device. In the beginning, the UAV does a quick scan of the area to get an initial number of measurements. Based on such measurements, the UAV computes an estimate of the distribution of the RSSI over the whole region. The UAV then decides to fly to a new location either to “exploit”, i.e., move to a location which is more likely to give higher RSSI measurements, or “explore”, i.e., it goes to previously unexplored locations. This decision is taken using a Bayesian optimization method. This process is repeated, i.e. as soon as a new measurement is made, the UAV moves to a new location either to exploit or to explore. The algorithm terminates when the confidence in our estimate is reasonable.
Our primary goal is to localize multiple WiFi devices in a given region. For simplicity, we will discuss localization of a single device. An extension to multiple devices is presented in Section A.1. We will denote the true location of the device by in a region .
To localize the device, the UAV flies over the region hoping to receive a measurement from the device. The measurements are received at random times. Let us suppose that by the time , we have received measurements with time-stamps such that . Denote by the location of the UAV when the ’th measurement was made and by the corresponding RSSI measurement. Note that the RSSI measurement is a random process that depends on many factors such as the current position of UAV, the true location of the device and the time of measurement, but for notation simplicity we only show dependency w.r.t. the position of the UAV at time , i.e. .
Therefore, at any time , we have a sequence of triplets: for such that . Denote the set of triplets at time by .
We will now discuss the characteristics of our data and the challenges associated with localization.
3 Data Characteristics and Challenges
The main characteristics of our data is that the measurement’s strength is on average highest around the transmitting device.
Fig. 2 shows the measurements gathered from a laptop (Sony Vaio Pro-13 ultrabook) during an exhaustive scan of the region that took more than 60 minutes. The device is located in the center of the figure, and the size and color of points are according to the signal strength.
Unfortunately, localizing the peak is challenging due to the fact that the relation between the signal strength and the distance is stochastic.
This is because the measured signal strength is affected by noise, by the power of the transmitter, by the implementation of the receiver, and by the channel characteristic that include reflection, multipath scattering and shadowing. Therefore, at different distances, the distribution of the RSSI is different (thus making the measurements heteroscedastic). This is shown in Fig. 3 where we plot the signal strength as a function of distance for two devices. We clearly see that the two devices follow completely different profiles.
Secondly, since the device is non-collaborative and unaware of the localization, the measurements are received at random times. More importantly, the chance of missing a measurement increases with the distance. This is shown in Fig. 4 where we plot the measurements arrival rate as a function of the distance from the device. Clearly, when we are close to the device, we get measurements more often compared to when we are far from it. Therefore, in our problem the missing-at-random Little and Rubin (1986), assumption is violated, making the problem challenging.
Finally, in our scenario, could potentially be large and therefore it is crucial to develop an algorithm that is capable of collecting measurements where they really matter. We need to make good decisions with very few measurements, otherwise we may end up performing an exhaustive scan of which will defeat the whole purpose.
As a result of these issues, naive methods such as hill-climbing do not work for our problem. Such methods needs a very good estimate of the gradient, and such estimate would require far more measurements that the ones that we have.
4 Our Approach
The UAV first performs a rough scan of the whole area looking for the an initial number of RSSI measurements. This initial phase, in our scenario, takes around 3 minutes. As soon as the initial phase is completed, it starts the process of localization in which it repeatedly performs the following tasks whenever a new measurement is received.
Using the data at time , the UAV computes the (predictive) distribution
. This is the probability density function of the measurementsat the candidate locations given the past measurements . Gaussian process regression is used for this purpose.
Given the distribution, it decides whether to exploit or to explore based on the expected improvement function. This step is based on the Bayesian-optimization framework Brochu et al. (2010).
The UAV moves then to the new location and waits for a new measurement. When a new measurement it received, it updates the estimate of the true location and decides whether to terminate the search or to repeat the three steps.
Algorithm 1 contains the details.
4.1 Distribution computation using Gaussian Process Regression
Gaussian process (GP) regression is one of the most popular choice within the Bayesian optimization framework. It is also particularly suited for our application for many reasons. Firstly, GP regression works well in small-sample setting which is desirable in our setting since in the beginning of the search we do not have a lot of data. Secondly, GP regression not only gives us predictions but also uncertainty associated with them, which helps us choose between exploration and exploitation (see more details in the next section). Finally, hyperparameters of GP regression can be set easily using maximum likelihood estimation, allowing for an easy implementation (see end of this section).
In this paper, we use a regression model that gives us a Gaussian distribution at each candidate location. In this paper, we assume that the measurements are sampled from a jointly Gaussian distribution. We make this choice since it leads to a computationally simple algorithm which can be implemented on the on-board computer in the UAV. Our model therefore takes the following form:
where are i.i.d. Gaussian noise
with variance, while is drawn from a GP with mean function and covariance function . The relationship between and is captured with a specific mean and covariance function. In this paper, we use the zero mean function and a squared-exponential covariance function defined below:
where are kernel hyperparameters that control the spatial correlation. We denote the set of hyperparameters by .
The distribution at a candidate location
is a Gaussian distribution. Denote the vector of measurements received until timeby . It follows from the property of GPs that any finite number of samples drawn from GP are jointly Gaussian, giving the following expression for the distribution of and any :
where is a matrix with ’th entry as , is a vector with ’th entry as and .
We can write the expression for the distribution of given (see page 16 of Rasmussen and Williams (2006)):
The computational complexity of these operations is where is the number of candidate locations. We limit the number of candidate locations to around . The cubic cost can be reduced by using one rank updates. Nevertheless, this computation is acceptable in our application since we do not have to measure more than 300 measurements for the whole search operation.
The distribution depends on specification of . We set offline using the data from a scan of the region (such as Fig. 2). Specifically, given a measurement vector taken at locations , we maximize . The expression for the log-likelihood is also available in closed-form. Please see Rasmussen and Williams (2006) for details.
4.2 Deciding UAV’s Next Location using Bayesian Optimization
We use the Bayesian optimization framework to decide the next location to visit. The decision in made based on the distribution . Intuitively, the decision trades-off the two competing goals:
The UAV should visit regions that are similar to regions where high RSSI measurements were observed. This is the exploitation step.
The UAV should also visit unexplored regions that could also potentially give rise to high RSSI measurements. This is the exploration step.
Bayesian optimization takes these two goals into account by using an acquisition function Brochu et al. (2010). In this paper, we use the expected-improvement (EI) acquisition function which measures the expected improvement over the location where the last highest RSSI measurement was observed. Let be the greatest mean value among those computed . Then the EI function is defined as follows:
For Gaussian predictive distribution, EI has a closed-form expression:
where and we assume that , and
are cumulative distribution function and probability density function of the standard Gaussian respectively. Whenis 0, we set EI to be zero as well. This equation shows that EI will be large under two circumstances: either the test location has a high mean value or it has a high . Clearly, the two scenarios correspond to exploitation and exploration respectively.
Using the distribution, we can compute an estimate of . We use for such estimate the for which is maximum.
4.3 Practical Issues
Initialization using a quick scan: In the initialization phase, the UAV flies with a predetermined trajectory. Starting from the upper-left corner of the search area, it reaches the opposite corner bouncing from one edge to the other times. The goal of this phase is to collect an initial number of measurement in order to start the Bayesian optimization algorithm.
Stopping rule: The algorithm stops when we don’t make any improvement in our estimate. In particular, we stop when a few successive predictions fall inside the same neighborhood of some predetermined radius .
Minor details about navigation: There are two minor details for task 2 specific to our set-up. Firstly, the UAV we used in our experiment does not exactly go to the new specified location, rather it flies in a circle around this location with a pre-defined radius. However, the location where measurements is received is the actual position of the UAV at time . Secondly, having made a decision to move to a new location, the UAV does not make any new decisions until it reaches to the new location. New measurements received during the flight are added to the dataset and are used for future decisions.
5 Details of UAV
We can distinguish two main types of small UAVs: rotary-blade (i.e. multi-copters) and fixed-wing. Multi-copters fly using the lift force generated by one or more blades (small UAVs have typically four blades, thus they are called quadricopters) They can take off and land vertically, and hover in the air. However, they are slow, particularly sensitive to the wind, and therefore unsuited to cover long distances. In order to cover a large search areas, we adopted fixed-wing UAVs, because they fly at higher speeds and with a higher energy efficiency compared to quadricopters.
For the experiments we used a fixed-wing UAV, named eBee, developed by SenseFly SenseFly . The vehicle’s body is made of expanded polypropylene (EPP), and it has a single rear-mounted propeller powered by an electric motor. The eBee platform is illustrated in Fig. 5. It has an integrated autopilot capable of flying with winds up to 12 m/s, at a cruising speed of about 57 km/h, with an autonomy of 45 minutes.
We installed an ARM-based computer-on-module named Gumstix Overo Tide Gumstix on the rear compartment of the plane, where the localization algorithm runs. The computer runs a customized Linux distribution (kernel version 3.5.0) and it is connected with two 802.11 radio interfaces via USB, and with the autopilot via serial port. The first 802.11 interface is set in monitor mode to sniff PRFs. The second one is used to connect the UAV computer to our ground station. The Gumstix computer interacts with the onboard autopilot to fly the UAV over specific locations decided from the localization algorithm.
6.1 Hyperparameter Estimation for GP
As discussed earlier, the chosen hyperparameters are those that maximize the log likelihood . They are , and .
To verify that we are not overfitting the data, we have tested the chosen values against new measurements. Figure 6 (right) shows the MSE between new samples and the mean value that follows from the chosen hyperparameters. The left side of Figure 6 shows the log likelihood. We can clearly see that the hyperparameters that maximize the log likelihood also give a very low value of MSE, justifying the choice.
6.2 Real-Data Based Simulations
This section reports simulation results, based on real measurements. Our results suggest that the proposed method is able to localize the device with an average error of 50 meters within 5 minutes. Specifically, we simulate the following:
The trajectory followed by the UAV during the localization process.
The RSSI measurements.
The random times at which the signals are emitted.
The details of the last two are explained in the next two paragraphs.
The RSSI measurements are sampled from an empirical distribution obtained from the real data show in in Figure 3. Specifically, the range between meters has been divided in 20 bins. For each bin, we have derived the corresponding empirical distribution. This distribution is used to draw a RSSI sample for any distance that falls into the bin.
shows the average localization error and the standard deviation as a function of the time, obtained from 1000 independent runs of the algorithm.
These results suggest that within 5 minutes the UAV is able to reach within 100 meters of the device. This is a huge improvement over the time taken to do a full scan of the region, e.g. the scan of Figure 2 took around an hour. In 5 minutes one would typically get only 10 to 30 RSSI measurements. According to the figure the average error at this time is below 50 meters.
Figure 8 shows the UAV’s trajectory during 10 independent runs. The initial locations are shown by a circle while the end locations are shown with a triangle. In every run the initial location was different, yet all final locations where within 30 meters of the transmitter. Given that in the final phase is an exploitation phase, the location of the UAV corresponds to the estimated WiFi device position.
6.3 Real-World Experiments
In this section, we present results of a field experiment. The WiFi device was a smartphone Samsung Galaxy Nexus i9250, positioned in a square of 1000 1000 .
The UAV followed the trajectory shown in Figure 9. Figure 10 shows the localization error vs time. We see that within 6 minutes the was error is reduced to 50 meters, validating the simulation results. The whole flight took approximately 15 minutes, after which the localization error was 18 meters.
Figure 11 shows the evolution of means and variances of , conditioned on the measurements. From the same Fiugre, we can also see whether the UAV is in exploration or exploitation phase.
After 5 minutes, the UAV had collected only 7 measurements. The predicted mean at that time was almost flat with a high variance almost everywhere (see Figure 11(a)). The star indicates the estimated device position, while the other marker shows where the UAV is going to collect the next measurement. As we can see, the UAV decides to do an exploration of the region moving away from the peak (shown with star).
Figures 11(b) and 11(c) show predictions after roughly 9 and 15 minutes respectively. We observe that as time progresses, the mean concentrates around the true location of the device and the variance at the same location reduces. We also see that the UAV keeps exploring after roughly 9 mins and does an exploitation step after 15 minutes. The algorithm terminates at minutes, with a localization error of 18 meters.
In conclusion, both the field experiments and simulation results confirmed the effectiveness of the Bayesian optimization approach combined with GP regression to locate a non collaborative WiFi device that emits PRF sparsely. Specifically, in the field experiment, after 15 minutes the estimate was within 18 meters of the actual device.
Appendix A Appendix
a.1 Extension to Multiple Devices
The sequential extension of the algorithm described in the previous section is straightforward. After having located the first device, the algorithm repeats the Bayesian driven search for each other target, while the initialization phase is performed only once at the beginning. During the localization of the first target, the UAV can potentially collect packets coming from any other target. Therefore the algorithm has an advantage when the estimation of the second target’s location starts, because the dataset is already rich.
To improve the localization efficiency, we designed a specific variant of the algorithm to locate multiple devices. The idea is to fly the UAV in specific locations to collect measurements that can be useful for localizing all the devices. Let us define as the set containing the indexes of the devices not yet located. After the initialization phase, . As a first step, we derive independently the distribution , . Then we compute the aggregated distribution according to
The max operator has been used to aggregate all the distribution in order to preserve the peaks, that are crucial for a precise estimation. The acquisition function makes use of to decide where the UAV moves next. Once device has been located, then .
- Benkic et al. (2008) K. Benkic, M. Malajner, P. Planinsic, and Z. Cucej. Using RSSI value for distance estimation in wireless sensor networks based on ZigBee. In Systems, Signals and Image Processing, 2008. IWSSIP 2008. 15th International Conference on, pages 303–306, June 2008. doi: 10.1109/IWSSIP.2008.4604427.
- Brochu et al. (2010) Eric Brochu, Vlad M Cora, and Nando de Freitas. A Tutorial on Bayesian Optimization of Expensive Cost Functions, with Application to Active User Modeling and Hierarchical Reinforcement Learning. eprint arXiv:1012.2599, arXiv.org, December 2010.
- Ferris et al. (2007) Brian Ferris, Dieter Fox, and Neil D Lawrence. WiFi-SLAM Using Gaussian Process Latent Variable Models. In IJCAI, volume 7, pages 2480–2485, 2007.
- Fink and Kumar (2010) J. Fink and V. Kumar. Online methods for radio signal mapping with mobile robots. In Robotics and Automation (ICRA), 2010 IEEE International Conference on, pages 1940–1945, May 2010. doi: 10.1109/ROBOT.2010.5509574.
- (5) Gumstix. Gumstix Web Page. https://www.gumstix.com.
- Hähnel and Fox (2006) Brian Ferris Dirk Hähnel and Dieter Fox. Gaussian Processes for Signal Strength-Based Location Estimation. In Proceeding of Robotics: Science and Systems, 2006.
- Jianwu and Lu (2009) Zhang Jianwu and Zhang Lu. Research on distance measurement based on RSSI of ZigBee. In Computing, Communication, Control, and Management, 2009. CCCM 2009. ISECS International Colloquium on, volume 3, pages 210–212, Aug 2009. doi: 10.1109/CCCM.2009.5267883.
- Little and Rubin (1986) Roderick J A Little and Donald B Rubin. Statistical Analysis with Missing Data. John Wiley & Sons, Inc., New York, NY, USA, 1986. ISBN 0-471-80254-9.
- Rasmussen and Williams (2006) Carl Edward Rasmussen and Christopher K. I. Williams. Gaussian Processes for Machine Learning. The MIT Press, 2006. ISBN 026218253X.
- Saxena et al. (2008) M. Saxena, P. Gupta, and B.N. Jain. Experimental analysis of RSSI-based location estimation in wireless sensor networks. In Communication Systems Software and Middleware and Workshops, 2008. COMSWARE 2008. 3rd International Conference on, pages 503–510, Jan 2008. doi: 10.1109/COMSWA.2008.4554465.
- (11) SenseFly. senseFly eBee UAV webpage. http://www.sensefly.com/drones/ebee.html. Accessed: 2015-10-09.
- Symington et al. (2010) A. Symington, S. Waharte, S. Julier, and N. Trigoni. Probabilistic target detection by camera-equipped UAVs. In Robotics and Automation (ICRA), 2010 IEEE International Conference on, pages 4076–4081, May 2010. doi: 10.1109/ROBOT.2010.5509355.
- Zarimpas et al. (2006) Vasileios Zarimpas, Bahram Honary, and Mike Darnell. Indoor 802.1x based location determination and real-time tracking. In Wireless, Mobile and Multimedia Networks, 2006 IET International Conference on, pages 1–4, Nov 2006.