The present invention generally relates to the field of localization and mapping.
The widespread deployment of wireless networks presents an opportunity for localization and mapping using signal-strength measurements. Wireless networks are ubiquitous, whether in the home, office, shopping malls, or airports.
Recent work in signal-strength-based simultaneous localization and mapping (SLAM) uses Gaussian processes latent variable models (GP-LVM). This work, however, requires that maps are limited to very specific predefined shapes (e.g. narrow and straight hallways) and WIFI fingerprints are assumed unique at distinct locations. Generally, in the absence of any odometry information, arbitrary assumptions must be made about human walking patters and data association.
GraphSLAM is a technique used in the robotics community for simultaneously estimating a trajectory and building a map offline. It shares many benefits of Gaussian processes, but can be applied to a broader range of environments. Below, it is shown how wireless signal strength SLAM can be formulated as a GraphSLAM problem. By using GraphSLAM, limitations of traditional approaches are addressed to improve runtime complexity from O(N3) to O(N2), where N is the dimensionality of the state space, i.e., the number of poses being estimated.
In both GraphSLAM and Gaussian processes, measurement likelihoods are modeled as Gaussian random variables. Gaussian processes can improve their model fit by moving points away from each other. To prevent these trivial solutions, GP-LVM methods require special constraints. In the case of signal strength SLAM, the special constraints force similar signal strengths to similar locations. GraphSLAM requires no special constraints. This makes GraphSLAM suitable to a wider range of real-world environments.
An appeal of GraphSLAM is that it reduces to a standard non-linear least squares problem. This gives GraphSLAM access to widely used and well-studied techniques for its optimization. A parameterization of the state space for typical mobile phone applications is presented below.
If wireless signal strength maps are determined ahead of time, Monte Carlo localization methods can achieve high accuracy indoor localization. In a traditional approach, the signal strength map is discretized into a spatial grid and, combined with contact sensing, obtains 0.25 m accuracy using standard Monte Carlo methods while improving convergence time over contact sensing alone. In another approach, spatial discretization of the signal strength map is preformed and combine with WIFI with a low-cost image sensor to localize within 3 m. In traditional approaches, however, the process for obtaining signal strength maps is expensive and time consuming.
Outdoor applications have been handled by GPS and/or attenuation model or range-based SLAM methods. Other indoor signal-strength-based localization research relies on extensive training phases or incorporates other features of the signal such as time-of-arrival or angle-of-arrival measurements. In most pedestrian applications, however, such data is inaccessible to the general public without additional infrastructure costs. The implications of low-cost signal-strength SLAM are especially meaningful for large (indoor) GPS deprived environments such as shopping malls, airports, etc. where wireless internet infrastructure is readily accessible.
Existing wireless mapping techniques model the signal data in different ways. Some traditional techniques assume a model of the signal propagation. Others use a connectivity graph of predetermined cells to localize coarsely. Since these techniques rely on pre-existing information about the environment, they do not handle the problem of mapping in unknown locations.
The current state of the art uses Gaussian processes to determine a map of signal strength without modeling the propagation from transmitting nodes explicitly. Gaussian processes are applied to WiFi-SLAM under a specific set of assumptions.
The widespread deployment of wireless networks presents an opportunity for localization and mapping using only signal-strength measurements. The current state of the art is to use Gaussian process latent variable models (GP-LVM). This method relies on a signature uniqueness assumption which limits its applicability to only signal-rich environments. Moreover, it does not scale computationally to large sets of data, requiring O(N3) operations per iteration.
In an embodiment of the present invention, a GraphSLAM-like algorithm for signal strength SLAM is presented. This algorithm shares many of the benefits of Gaussian processes, yet is viable for a broader range of environments since it makes no signature uniqueness assumptions. It is also more tractable to larger map sizes, requiring O(N2) operations per iteration. Below, this algorithm is compared to a laser-SLAM ground truth, showing that it produces excellent results in practice.
In an embodiment of the present invention, the restriction that similar signal strength fingerprints/signatures all correspond to a similar location on the map is lifted. If the geographic distribution of access points is sparse, there are more spatial configurations where the fingerprint uniqueness assumption breaks down. As illustrated in
Shown in
Relaxing this requirement brings modern signal-strength-based SLAM to sparse signal environments. Furthermore, explicitly mapping similar signal strengths to similar locations hurts scalability: as the dataset grows, the risk increases of erroneous measurements being incorrectly mapped by this constraint. Since such mappings are hard constraints, these errors are completely unrecoverable. The current state of the art cannot achieve signal-strength SLAM without relying upon explicit fingerprint uniqueness back-constraints. In a traditional approach, the GP-LVM method is only reasonable in dense environments. The method of an embodiment of the present invention does not make any assumptions of fingerprint uniqueness. Therefore, signal density or sparsity, which influences fingerprint uniqueness, is not a concern in an embodiment of the present invention.
In order to provide a SLAM solution suitable for both rectilinear corridor-type environments as well as open atrium-type environments, in an embodiment of the present invention, low-cost IMU data is incorporated. Introducing motion measurements makes the sensor model general enough to apply to a wide range of crowdsourcing applications. In this embodiment, subjects need not explicitly cooperate with predetermined walking patterns, consistent walking speeds, etc. Motion sensors may also make the problem easier. The viability of low-cost WiFi SLAM according to an embodiment of the present invention is demonstrated below and compared to a laser-SLAM implementation.
In an embodiment, the scalability of modern signal strength SLAM is improved for larger datasets. In this embodiment, the proposed GraphSLAM based method is shown to have better runtime complexity than Gaussian process latent variable models. This method is demonstrated to produce useful results on real-world data.
Our results compare the GraphSLAM approach for WiFi SLAM against a LIDAR-based GraphSLAM implementation. Using real-world datasets, a localization accuracy of between 1.75 m and 2.18 m over an area of 600 square meters is demonstrated. The manner in which the resultant maps are directly applicable to online Monte Carlo Localization is discussed below.
These and other embodiments can be more fully appreciated upon an understanding of the detailed description of the invention as disclosed below in conjunction with the attached figures.
The following drawings will be used to more fully describe embodiments of the present invention.
Among other things, the present invention relates to methods, techniques, and algorithms that are intended to be implemented in a digital computer system 100 such as generally shown in
Computer system 500 may include at least one central processing unit 502 but may include many processors or processing cores. Computer system 500 may further include memory 504 in different forms such as RAM, ROM, hard disk, optical drives, and removable drives that may further include drive controllers and other hardware. Auxiliary storage 512 may also be include that can be similar to memory 504 but may be more remotely incorporated such as in a distributed computer system with distributed memory capabilities.
Computer system 500 may further include at least one output device 508 such as a display unit, video hardware, or other peripherals (e.g., printer). At least one input device 506 may also be included in computer system 500 that may include a pointing device (e.g., mouse), a text input device (e.g., keyboard), or touch screen.
Communications interfaces 514 also form an important aspect of computer system 500 especially where computer system 500 is deployed as a distributed computer system. Computer interfaces 514 may include LAN network adapters, WAN network adapters, wireless interfaces, Bluetooth interfaces, modems and other networking interfaces as currently available and as may be developed in the future.
Computer system 500 may further include other components 516 that may be generally available components as well as specially developed components for implementation of the present invention. Importantly, computer system 500 incorporates various data buses 516 that are intended to allow for communication of the various components of computer system 500. Data buses 516 include, for example, input/output buses and bus controllers.
Indeed, the present invention is not limited to computer system 500 as known at the time of the invention. Instead, the present invention is intended to be deployed in future computer systems with more advanced technology that can make use of all aspects of the present invention. It is expected that computer technology will continue to advance but one of ordinary skill in the art will be able to take the present disclosure and implement the described teachings on the more advanced computers or other digital devices such as mobile telephones or smart televisions as they become available. Moreover, the present invention may be implemented on one or more distributed computers. Still further, the present invention may be implemented in various types of software languages including C, C++, and others. Also, one of ordinary skill in the art is familiar with compiling software source code into executable software that may be stored in various forms and in various media (e.g., magnetic, optical, solid state, etc.). One of ordinary skill in the art is familiar with the use of computers and software languages and, with an understanding of the present disclosure, will be able to implement the present teachings for use on a wide variety of computers.
For example, embodiments of the present invention can be implemented in cellular telephones including smart telephones that include the necessary computing and communications capabilities. Also, embodiments of the present invention can be implemented in tablet computers with the necessary hardware and software capabilities. More broadly, embodiments of the present invention can be implemented in general purposes devices with the necessary capabilities as described herein. Still other embodiments of the present invention can be implemented in stand-alone devices that are especially configured to implement the teachings of the present invention.
The present disclosure provides a detailed explanation of the present invention with detailed explanations that allow one of ordinary skill in the art to implement the present invention into a computerized method. Certain of these and other details are not included in the present disclosure so as not to detract from the teachings presented herein but it is understood that one of ordinary skill in the at would be familiar with such details.
The GraphSLAM family of techniques are used in the robotics community for simultaneously estimating a trajectory and building a map offline. Such techniques have been used in applications in computer vision and robotics. The signal strength SLAM problem is reduced to an instance of GraphSLAM as discussed below.
GraphSLAM is traditionally formulated as a network of Gaussian constraints between robot poses and landmarks. Measurements are assumed to contain only additive Gaussian noise and to be conditionally independent given the world states. For each measurement Zi from any sensor, a state-to-measurement mapping function hi(X) describes the true measurement that would have taken place if the value of the state variables were known:
Zi=hi(X)+εi
where
X={{right arrow over (x)}t
represents the collection of all state variables (e.g. robot locations {
The typical GraphSLAM motion model can be expressed as state-to-measurement mappings. For example, a pedometry measurement on the interval between time ti and ti+1 is related to the state space by the function
hipedometry(X)=∥{right arrow over (x)}t
Similarly, angular velocity measurements correspond to
where Δt=(ti+1−ti−1)/2. Note that implementations must be careful to account for headings that cross over from −π to +π and vice versa.
The definition of a state-to-measurement mapping h together with the variance of the corresponding sensors noise, σε=Var (ε), describes the GraphSLAM measurement likelihood function for each sensor. The methods presented herein as embodiments of the present invention will work with any class of sensors. Pedometry and gyroscopes are merely used as examples here because they are the sensors of the sample dataset as discussed below.
The state-to-measurement mapping for the ith signal strength measurement is defined to be
hiWiFi(X)={right arrow over (β)}iT{right arrow over (z)}WiFi
{right arrow over (β)}i={right arrow over (w)}i−[{right arrow over (w)}i]iêi, ∥{right arrow over (β)}iβ1=1
For notational convenience, {right arrow over (z)}WiFi is the vector of all signal strength measurements. {right arrow over (β)}i excludes the ith element from {right arrow over (w)}i. {right arrow over (w)}i is the vector of interpolation weights for hWiFi. The notation [{right arrow over (a)}]i is shorthand for the ith element of the vector {right arrow over (a)}, and êi is the unit vector with all elements zero except the ith element. Note that hi does not interpolate the ith elements zero except the ith element. This allows the measurement model to operate in sparse WIFI environments.
At most distances from a transmission node, propagating radio waves are expected to have nearly the same power within any small region of free space. Over larger regions across non-free space the relationship between nearby signal strengths is highly dependent on building structure/architecture. Without a model for building structure, a method according to an embodiment of the present invention interpolates over small regions likely to be free space.
The quantity [{right arrow over (w)}i]j can be considered as related to the probability that location i and location j are inter-polatable, e.g., nearby and separated by only free space. In practice, at reasonable scales and in lieu of additional knowledge, Gaussian interpolation weights are a popular kernel choice and have been used with success to interpolate WIFI signal strengths as well as in other machine learning applications.
where τ is a scale parameter, related roughly to the distance between walls (e.g., 95% of walls can be considered at least 2τ away from measurement locations). In an embodiment, τ can be learned from training data (experimental value of τ for our dataset was approximately 2.2 meters).
With this formulation, for any specific measured value zi, the following is evaluated:
The WIFI measurement likelihood, as a function of zi, is Gaussian with mean hi(X) and variance
(1+∥{right arrow over (β)}i∥22)σε2
where
σε2=Var(εWiFi)
denotes the measurement noise variance associated with the WIFI sensor. In practice,
∥{right arrow over (β)}i∥22<<1
for any sufficiently dense dataset (recall that ∥{right arrow over (β)}i∥1=1).
Observe that this formulation is free of any restrictions on fingerprint uniqueness, and is equally applicable to both sparse and dense signal environments.
Embodiments of the present invention can be implemented using hand-held devices such as cellular telephones, sometimes called smart-phones, tablet computers, or other computing devices having signal receivers such as WIFI transceivers. In such embodiments, the described algorithms can be implemented on the hand-held device itself or can be implemented on another computing device that is in communication with the hand-held device. Likewise, the collection of signal information can be performed on the handheld device itself or by other devices. Still other embodiments may distribute certain computational steps between a hand-held device and a separately networked computer. Computer networks in such cases can include cellular networks. Many other embodiments are possible as would be known to those of ordinary skill in the art upon understanding the teachings of the present disclosure.
Here, a few key differences between our measurement model according to an embodiment of the present invention and Gaussian processes are discussed. In Gaussian processes, the model fit to the WIFI measurements, as a function of zi, has mean:
hiGP(X)={right arrow over (k)}iT(K+σε2I)−1{right arrow over (z)}WiFi
hiWiFi(X)={right arrow over (β)}iT{right arrow over (z)}WiFi
σε2 is measurement noise variance associated with the WIFI sensor. ki and K come from the choice of kernel weighting function.
The comparison to GraphSLAM is most clear when
[{right arrow over (w)}1,{right arrow over (w)}2, . . . ]^∝K,
a square matrix whose jth column is kj∝{right arrow over (u′)}j. The two key differences in the measurement model presented here are the omission of the (K+σε2I)−1 term and exclusion of ziWiFi from {right arrow over (z)}WiFi in the weighted average, i.e. [
Omission of (K+σε2I)−1
The (K+σε2I)−1 term can be thought of as a whitening transform on the weighted observations and their weights. If, for example, ten observations appear at the same location {right arrow over (x)} and the same value z, they would collectively only be given one “vote” in the weighted average, rather than ten. This makes sense when attempting to make statistically consistent function value estimates over large distances. Only at small scales can signal strengths be averaged meaningfully without physical modeling of the surrounding materials. At these scales, giving (nearby) past measurements each an “equal vote” provides a larger sample size with which to predict future measurements, which is the methodology employed within the GraphSLAM formulation. Formally, treating past measurements in this way is equivalent to the approximation of
for a Gaussian Process, e.g., the measurement noise dominates innate signal variance. At wireless frequencies this is a reasonable assumption. Error in measured signal strength is tightly coupled to innate signal variance by the dynamics of the environment. Distinguishing measurement noise from signal variance would require extensive prior information of building materials, population distributions, etc.
Furthermore, the size of K grows quadratically in the size of the dataset (number of measured locations, N). The need to invert K when computing h and its derivatives makes each iteration an O(N3) operation. This is the main reason that it is difficult to scale Gaussian process techniques to larger datasets and omitting this term in the interpolation allows GraphSLAM to achieve an O(N2) asymptotic runtime and in turn makes the GraphSLAM technique easier to scale to larger datasets.
It should be noted that both GraphSLAM and Gaussian process latent variable models can improve their runtime complexities by means of sparsification or other approximation methods.
The second key difference in interpolation methods is that a model fit according to an embodiment of the present invention always excludes ziWiFi from
As a consequence of including ziWiFi, its own model fit definition, for any fixed τ, the latent space optimization of GP-LVM can improve model fit by moving all points away from each other. To circumvent this behavior, GP-LVM methods almost always require explicit signal strength→location back constraints or carefully selected priors. The GraphSLAM approach according to an embodiment of the invention, on the other hand, will require no hard constraints. Excluding ziWiFi causes measurements to be attracted to similar neighboring measurements. This makes GraphSLAM as an embodiment of the present invention suitable to a wider range of real-world environments, including those where wireless signatures are not rich enough to guarantee uniqueness but still provide enough information to augment an existing SLAM implementation.
V. Non-Linear Least Squares
One of the primary appeals of GraphSLAM methods in general is that minimizing the negative log posterior reduces to standard non-linear least squares, giving GraphSLAM access to a vast set of widely used and well-studied techniques for its optimization.
Here, hpedometry, hgyro, hWiFi, together with Var (εpedometry), Var (εgyro), Var (εWiFi) are needed to formulate the least squares problem:
Depending on the application, environment, or domain, a uniform prior and maximize the likelihood can be assumed, or any number of Gaussian priors can be added (e.g., inertial priors or smoothness constraints). For the experiments discussed below, uniform priors have been assumed and the data likelihood has been maximized directly.
In general, non-linear least squares is a well-studied problem in numerical optimization communities and any number of solvers can be used instead. Methods such as gradient/steepest descent, Levenberg-Marquardt, BFGS and many Conjugate gradient based methods are readily available and can be applied directly.
Typical solvers depend on local linearization to iterate toward an optimum. Let Jhi(X) denote the derivatives of h with respect to each state variable in X (each row of J is a gradient of h). For example, if this Jacobian is known, any initial guess X0 can be iteratively refined by solving
with Jhi evaluated at X0 on each iteration. This is known as Gauss-Newton iteration.
Our results in as described below are obtained using standard Gauss-Newton iteration. In our case, z and h are always scalar valued so Jh
and updating Xnew:=X0+
The convergence characteristics of GraphSLAM, as an embodiment of the present invention, depend on the linearizability of h. In an embodiment, some effort is made to transform the state space to improve linearization. In certain settings, reformulation of a GraphSLAM state space has lead to dramatically improved performance and result quality. So far, all three of the state-to-measurement mappings hpedometry, hgyro and hWiFi, are non-linear functions if the world state is represented as X={
Due to the exponential terms created by the interpolation weight kernel, hWiFi will be non-linear regardless of the state space parameterization. The state space is solved in terms of the headings {φ1, φ2, . . . , φN-1} and {d1, d2, . . . , dN-1} between each WIFI scan, e.g.,
which linearize with infinite radius of convergence. This allows for eliminating linearization error in all but one of the sensors.
To compute derivatives ∇{
The gradient of hWiFi(X) under this ‘heading and distance’ parametrization is fast to compute in practice. This is because the columns of J{
elements.
To evaluate the embodiments of the present invention, a trace was used of 536 WIFI scans captured over 17 minutes across a 60 m×10 m area of one floor of a university building. The trajectory covers about 1.2 km of travel distance. This dataset contains corresponding pedometry data, readings from a MEMS gyroscope, and an accompanying LIDAR-derived ground truth. The ground truth has been derived by processing the LIDAR, pedometry, and gyroscope measurements through off-the-shelf LIDAR SLAM.
Maximizing the likelihood of the dataset over parameter τ yields an optimal value of 2.2 m (e.g., the average distance to a wall in all directions is roughly 4.4 m for 95% of measurement locations), but in our experiments, any values from τ≈1.5 m through τ≈3.5 m all produce good results.
The ground truth is accurate to about 10 cm. The ground truth and LIDAR are used only to evaluate the results. GraphSLAM requires no labeled data.
The state space parametrization discussed herein is used.
By nature of the sensors, GraphSLAM output is displayed in units of steps; ground truth is plotted in meters. Notice that the results show straight halls, despite the GraphSLAM method containing absolutely no explicit shape prior. This adds further confidence to the notion that signal-strength SLAM can be achieved in a completely unsupervised manner, without relying on trajectory priors.
The sensor used in our experiment measures pedometry in units of steps. The ground truth is collected using a laser-based technique that produces coordinates measured in meters. The location of the nodes in GraphSLAM are in a different reference frame than those in the ground-truth trajectory. To report error in standard units, localization accuracy is computed with a subjective-objective technique: A characterization is made of “how accurately a person detects returning to a previously visited location.” For each time ti during the trajectory, an inferred ‘subjective’ location {tilde over ({right arrow over (x)})}t
With this metric, in an embodiment of the present invention, a mean localization error of 2.23 meters is achieved. The standard deviation Osborne publication this value is 1.25 m. For comparison, using the same metric, the mean localization error from only pedometry and gyroscope without WIFI is 7.10 m.
To demonstrate the robustness of an algorithm according to an embodiment of the present invention with respect to parameter selection,
The parameter Var(εWiFi) which is related to the measurement noise variance associated with the WIFI sensor, can take any value from roughly 50 through 500 dB. Considering that the WIFI measurements themselves only range from about 0 to −90 dB, this implies that this embodiment is very robust against poor Var(εWiFi), selection. The parameter τ, which is related to the expected distance to the nearest wall, needs only be accurate to within 3 meters. This also provides confidence that slight errors in τ will not cause a catastrophic increase in error.
These experiments may represent a lower bound on result quality for this algorithm according to an embodiment of the present invention. As a non-linear least squares problem, in general, benefit is expected from more robust solvers, e.g., Levenberg-Marquardt, simulated annealing, etc. Given that the GraphSLAM framework has been well-studied in the SLAM community, any number of solvers are likely to improve performance or result quality further.
As described above, a signal strength SLAM has been formulated into an instance of GraphSLAM as an embodiment of the present invention. In doing so, scalability has been improved, runtime complexity has been reduced, limitations on WIFI density/richness has been relaxed, and shape priors have been removed. Experimental results on real-world data demonstrate the effectiveness of using GraphSLAM approach to solve this problem. The teaching presented here can be implemented in 3D variants of the WIFI SLAM problem, multi-agent extensions, time-of-arrival/round-trip-time sensor models, improved initialization techniques as well as more specialized solvers as would be obvious to one of ordinary skill in the art upon reading and understanding the present disclosure.
It should be appreciated by those skilled in the art that the specific embodiments disclosed above may be readily utilized as a basis for modifying or designing other image processing algorithms or systems. It should also be appreciated by those skilled in the art that such modifications do not depart from the scope of the invention as set forth in the appended claims.
This application claims priority to U.S. Provisional Application No. 61/558,695 filed Nov. 11, 2011, and to U.S. Pat. No. 9,201,133 filed Nov. 13, 2012, which are hereby incorporated by reference in their entirety for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
20050176442 | Ju | Aug 2005 | A1 |
20080085692 | Hart | Apr 2008 | A1 |
20110125323 | Gutmann | May 2011 | A1 |
Entry |
---|
WiSLAM: improving FootSLAM with WiFi by Bruno et al., dated Sep. 2011. |
WiFi GraphSLAM in 1-D by Jose Roberto Ayala Solares, dated Aug. 2, 2011. |
Number | Date | Country | |
---|---|---|---|
20160216359 A1 | Jul 2016 | US |
Number | Date | Country | |
---|---|---|---|
61558695 | Nov 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13676071 | Nov 2012 | US |
Child | 14954944 | US |