The present disclosure relates generally to methods, systems, and computer-readable media for improving the accuracy of an indoor positioning system using crowdsourced sensor detection fingerprints.
Recent advances in global positioning system (GPS) technology, have made it possible for the general public to determine their geographic location on a map using small, inexpensive devices such as car navigation systems and smartphones. The ease and reliability of GPS devices are made possible, in part, by the known locations of orbiting satellites that transmit radio signals as part of the universal GPS standard. Although GPS is often reliable for determining geographic location when using GPS devices in outdoor settings, GPS is less reliable in indoor settings, where signal strength may be weakened by structural dielectrics such as roofs, ceilings, and walls. As a result, whereas GPS may enable a device to determine the general geographic location of the building in which it is located, GPS is typically not sufficiently granular or reliable to enable devices to determine their specific location within a building, such as a particular room or hallway.
In light of these and other deficiencies, various indoor positioning system (IPS) technologies have been devised to enable devices to determine their indoor locations in a more granular and reliable manner. For example, some IPSs make use of a system of dispersed indoor beacons to enable devices to approximate their location within an indoor map. As depicted in
As depicted in
For example, beacon 110a may broadcast at a Tx Power value of −20 dBm. Device 200 may receive the signal broadcast from beacon 110a but, due to distance and other factors, may measure an RSSI of only −35 dBm. Based on the difference between Tx Power and RSSI, device 200 may estimate its distance 120a from beacon 110a using one or more algorithms or estimation techniques known to those skilled in the art. Device 200 may further approximate its distance 120b from beacon 110b and its distance 120c from beacon 110c using the same or similar techniques. Then, assuming that device 200 knows where beacons 110a-110c are located within level 100, device 200 may use trilateration techniques known to those skilled in the art to approximate its position within level 100. Although not depicted, device 200 may also approximate its distance from other beacons 110d-110i and may use such approximated distances as part of its trilateration algorithm to increase the accuracy of its indoor position determination.
As depicted in
Although indoor location estimation techniques, such as the trilateration technique described above, can be effective, their effectiveness may be weakened by a dependency on known, static, accurate, and/or comprehensive beacon fingerprint information. As used herein, beacon fingerprint information may refer to information indicating where various beacons are located within a building. In the event that the beacon fingerprint information known to an IPS-enabled device becomes outdated or inaccurate, the accuracy of the IPS-enabled device's approximation of indoor location may suffer.
For example, as depicted in
Such beacon fingerprint information may become outdated due to any number of factors, such as relocation of beacons, removal of beacons, addition of new or different beacons, degraded or discontinued operation of beacons due to hardware failure or low batteries, or reorganization of internal structures (e.g., walls) or furniture within a building that act as dielectrics to weaken beacon signal strength. And because a building may have hundreds or thousands of individual beacons installed (e.g., to increase the accuracy of indoor location estimation), it may not be practical to manually create or maintain up-to-date beacon fingerprint information on a regular basis.
Accordingly, there is a need for methods, systems, and computer-readable media for automatically updating beacon fingerprint information.
The present disclosure addresses these and other needs in the area of indoor positioning systems. In some embodiments, one or more IPS-enabled devices may communicate information about their location, along with information about beacons detected and their respective measured signal strengths at approximately the same time, to an IPS backend. The IPS backend may update a database of beacon information, including assumed locations of beacons, based on the received beacon information. By continually receiving such detected beacon information from IPS-enabled devices, the IPS system may continually, automatically update its beacon database with up-to-date information in lieu of, or as a supplement to, less frequent manual updates to the beacon database.
Additional objects, advantages, and embodiments of the present disclosure will be set forth in part in the description that follows, and in part will be derived from the description, or may be learned by practice of the disclosed embodiments. The objects, advantages, and embodiments of the present disclosure will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and are not restrictive of the present disclosure, as claimed. It is also to be understood that use of the word “exemplary” throughout the application is to be understood as providing examples that may be useful for illustrating general principles or concepts; thus, figures and descriptions identified as “exemplary” should not be interpreted as representing the best or only approaches to practicing the disclosed embodiments.
Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of the embodiments when considered in connection with the accompanying figures, in which:
a is a diagram depicting an exemplary floor layout in a building in which beacons have been placed in various locations to enable an IPS-enabled device to determine its location within the building.
b is a diagram depicting an exemplary technique for using beacon signal strength to estimate the location of an IPS-enabled device within a building.
The following detailed description refers to the accompanying drawings. Wherever convenient, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the present disclosure are described herein, modifications, adaptations, and other implementations are possible, without departing from the spirit and scope of the present disclosure. Accordingly, the following detailed description does not limit the present disclosure. Instead, the proper scope of the disclosure is defined by the appended claims.
App 210 may include one or more features for enabling a user to communicate his location. For example, app 210 may include a feature that allows the user to select the floor or level on which he is located using a control 530, at which point an indoor map 220 associated with the level is displayed. App 210 may then allow the user to drag a graphical pin 510 onto a specific location 225 on the displayed indoor map 220 and to share that location by activating a button 520. In some embodiments, upon the user's manual selection of his indoor location 225, app 210 may capture a local beacon fingerprint from device 200. A local beacon fingerprint may refer to a collection of information relating to the beacons detected by device 200 and their respective measured signal strengths at the time that the user captured his indoor location.
As depicted in
Lines 710-723 depict an exemplary representation of the local beacon fingerprint information captured at the time that the user shared his indoor location. Line 712 indicates the MAC address of a beacon whose signal was detected by device 200 (in this case beacon 110a), and line 713 indicates the presumed distance of the beacon. In this example, the app 210 has computed the presumed distance of the beacon from device 200 by comparing the RSSI of the beacon to its advertised broadcast strength, and app 210 has communicated only such computed distance to IPS backend 620. In other embodiments, app 210 may alternatively or additionally communicate the RSSI and advertised broadcast strength to IPS backend 620 in order to allow IPS backend 620 to perform its own distance calculations based on such information. Lines 716 and 717 represent the information detected from beacon 110b, and lines 720 and 721 represent the information detected from beacon 110c. Although not depicted, device 200 may have detected and measured beacons 110d-110j and included such information as part of the local beacon fingerprint information communicated to IPS backend 620.
Returning to
Thus, as depicted in
In some embodiments, device 800 may receive and/or display map 840 and picture 850 through email or through a social network. In some embodiments, a user may manually indicate the location of another user in IPS app 210 and the other user's IPS device may respond by automatically transmitting local beacon fingerprint information to IPS backend 620 without the involvement of the user of such device. In other embodiments, certain devices that remain stationary in a building may automatically capture local beacon fingerprint information at a given interval or frequency and transmit the same to IPS backend 620. Because such devices are stationary, their location information may be known with each transmission. In still other embodiments, the foregoing techniques may be used to communicate the indoor location of an object, rather than a person. For example, a store may offer a special on grill-ready beef patties on a summer holiday. The store may drag a pin to a location in an indoor map that indicates where the patties are available for purchase. The store may then transmit that location to one or more IPS-enabled devices that are detected to be in the store and/or to one or more non-IPS-enabled devices through text message, webpage URL, or social media alert or message.
In the foregoing embodiment, the user of device 800 may see where the transmitting user is within the indoor map without using IPS-enabled hardware or software. Such functionality alone is very useful for enabling users to communicate indoor location information to each other without the need to rely on beacons or an up-to-date beacon fingerprint database. In some embodiments, however, such user-provided location information may be used by an IPS to automatically update and increase the accuracy of its global beacon fingerprint database (step 430).
Thus, for example, as depicted in
For example, database rows 911-913 may represent the latest information known to IPS backend 620 about beacons 110a-110c, respectively. For each beacon (as represented by its MAC address), database snapshot 910 may store the map and floor in which the beacon is located, the location of the beacon within the map (in the form of X and Y offsets from the top left corner), and the timestamp corresponding to when the information was entered into database 900. As can be seen, the beacon information reflected in database snapshot 910 corresponds to the placement of beacons 110a-110c depicted in
However, as depicted in
In some embodiments, as depicted in
Returning to
Such updated global beacon fingerprint information may be used to determine indoor location using a variety of techniques. For example, if an IPS-enabled device includes or has access to updated global beacon fingerprint information 920, the device may use multiple entries for each detected beacon but may assign a greater weight to the more recent entries. The foregoing technique may be useful for smoothing out significant additions to the global beacon fingerprint database that may or may not be accurate. For example, a faint signal from a beacon that previously would have been strong for an IPS-enabled device in a particular location could be caused by the beacon having been moved, or it could have been caused by other factors, such as a low battery in the beacon or temporary placement of a dielectric object between the IPS-enabled device and the beacon. By retaining old beacon fingerprint information after new local beacon fingerprint information is added to the global beacon fingerprint database, the system may smooth out errant data.
In some embodiments, in addition to sending user-specific location information and local beacon fingerprint information to IPS backend 620, IPS app 210 may also collect sensor data from device 200 that is not directly related to detection of beacons. For example, device 200 may include additional sensors, such as a gyroscope that measures the orientation of device 200 and an accelerometer that measures the inertial state of device 200. IPS app 210 or IPS backend 620 may use such additional non-IPS-related sensor data to further interpret or weight the local beacon fingerprint information. For example, if the gyroscope sensor data indicates that the top of device 200 is facing toward a particular beacon while facing away from another beacon, such information might be used to normalize the detected RSSI values such that a portion of the lower RSSI value of the second beacon is attributed to the orientation of the device rather than distance from the second beacon. As another example, if the accelerometer indicates that device 200 is moving or accelerating in a particular direction, the local beacon fingerprint information may be modified to account for potential redshift or blueshift.
Those skilled in the art will appreciate that the nature of the local beacon fingerprint information, the storage of global beacon fingerprint information, or the method for updating global beacon fingerprint information with local beacon fingerprint information may differ and that other techniques may be used.
The foregoing description relates to the entry of a single local beacon fingerprint to the global beacon fingerprint database. In some embodiments, multiple individual IPS-enabled devices may contribute their local beacon fingerprint information to the global beacon fingerprint database using a variety of techniques. For example, IPS app 210 may include alternative functionality that allows a user to indicate his or her indoor location by simply tapping on a room in indoor map 220 or by selecting the room from a list of indoor locations.
In some embodiments, the IPS system may also be configured to infer a user's location from other actions that are not primarily intended to communicate position. For example, a user may send a textual message to another user. An IPS system that monitors textual messages may infer the user's location based on the content of the message. After so inferring, the IPS system may instruct the user's device to collect local beacon fingerprint information and send the same back to the IPS system in order to update the global beacon fingerprint database.
To reduce the likelihood of false location inferences based on text, in some embodiments, the IPS system may collect local beacon fingerprint information only if the IPS system determines that the text exceeds a certain probability of indicating user location. For example, the IPS system may determine that the message “Hey, I'm upstairs in the lounge, come meet me here” has a sufficiently high probability of indicating that the user is in the lounge area, whereas the message “I'm almost done with the dryer, anyone need it?” does not have a sufficiently high probability of indicating the user is in the laundry room. In other embodiments, the IPS system may infer user location from, and collect local beacon fingerprint information as a result of, both messages, but the IPS system may assign different weights to the collected local beacon fingerprints based on the confidence score associated with each. In the case of the statement, “I'm almost done with the dryer, anyone need it?,” the IPS system may employ a process for mapping the word “dryer” to a physical location in the building. For example, the IPS system may include a database of objects or object names that are associated with locations in the building. If a given object is associated with more than one location, the IPS system may use the collected local beacon fingerprint information to infer the correct location.
The foregoing techniques may also be used to determine the location of other persons who are not interacting with the device from which messages are being sent. For example, if a user mentions another person in connection with a location—e.g., “Jane and I are in the lobby. You coming?—the IPS system may infer the location of the person (here, “Jane”) from the content of the message. The IPS system may then instruct Jane's device to capture and transmit local beacon fingerprint information.
In some embodiments, two or more devices may work together to collect local beacon fingerprint information. For example, a first user may use her mobile device to take a picture of a second user. The first user's mobile device may or may not be able to detect beacons and estimate location based on the same. However, the first user's mobile device (or an IPS backend) may perform facial recognition on the second user in the captured image to determine the identity of the second user. Upon determining the identity of the second user, the first user's mobile device (or the IPS backend) may instruct the second user's IPS-enabled mobile device to capture local beacon fingerprint information and transmit the same back to the IPS backend for the purpose of updating the global beacon fingerprint database. If there are additional objects in the room, the second user's location may also be inferred and used to provide context to the collected and transmitted local beacon fingerprint information. For example, if the picture includes a pool table, the system may infer that the second user is in the billiards room.
In other embodiments, a first device may detect the presence of a second, IPS-enabled device. The first device may determine that the second device is within a certain proximity of the first device upon the occurrence of a certain action that suggests that the user of the second device is interacting with the first device. For example, a coffee machine could be equipped with a sensor. The coffee machine might detect the presence of an IPS-enabled mobile device through Bluetooth or other detection mechanisms known to those skilled in the art. The coffee machine might take no action until the user interacts with the coffee machine in some way, such as initiating a brewing operation. Upon the occurrence of the user interaction, the coffee machine may infer that the user is within a certain distance (e.g., five feet) of the coffee machine. The coffee machine (or an IPS backend) may then instruct the user's IPS-enabled device to capture local beacon fingerprint information and transmit the same back to the IPS backend for the purpose of updating the global beacon fingerprint database.
If multiple IPS-enabled devices participate in the above techniques (or similar techniques) for capturing local beacon fingerprint information and transmitting the same to an IPS backend, the global beacon fingerprint database maintained by the IPS backend may continually be updated and improved with crowdsourced information. Thus, if actual changes occur to the locations, identities, or operation of beacons within an indoor environment, the IPS backend may nonetheless flexibly maintain accurate information about the beacon configuration of the indoor environment without the need for (or as a temporary self-fixing measure until) manual updates to be made to the global beacon fingerprint database.
In some embodiments, the IPS system may wait until a certain threshold is reached with respect to the number of IPS-enabled devices supplying local beacon fingerprint information, or the amount or frequency of local beacon fingerprint information being collected, before including such crowd-sourced beacon fingerprint information in its indoor location calculations. The threshold may go up or down based on the number of fingerprints in the system, per floor or per building (or a combination), or based on how recent the fingerprints are or their distribution. The IPS system may also include a mechanism for incentivizing users to manually share their indoor location information or to turn on automatic location sharing. For example, the IPS system may provide rewards in proportion to the degree to which users assist in calibrating the global beacon fingerprint database.
Such crowdsourced updates to the global beacon fingerprint database may be used by all participating IPS-enabled devices to estimate their indoor locations. In some embodiments, the updated global beacon fingerprint information may be transmitted to participating IPS-enabled devices, which may estimate their own indoor locations using the received information. In other embodiments, a participating IPS-enabled device may send its detected local beacon fingerprint information to the IPS backend, and the IPS backend may estimate the IPS-enabled device's indoor location based on the global beacon fingerprint database and transmit the estimated indoor location back to the IPS-enabled device. In some cases, this latter embodiment may be preferred, since if many IPS-enabled devices participate in crowdsourcing updates to the global beacon fingerprint database, the global beacon fingerprint database may be frequently updated, which may make it impractical or transmission-expensive to continually send updated global beacon fingerprint information to multiple participating IPS-enabled devices.
Memory devices 1020 may further be physically or logically arranged or configured to provide for or store one or more data stores 1060, such as one or more file systems or databases, and one or more software programs 1050, which may contain interpretable or executable instructions for performing one or more of the disclosed embodiments. Those skilled in the art will appreciate that the above-described componentry is exemplary only, as computing system 1000 may comprise any type of hardware componentry, including any necessary accompanying firmware or software, for performing the disclosed embodiments. Computing system 1000 may also be implemented in part or in whole by electronic circuit components or processors, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).
The foregoing description of the present disclosure, along with its associated embodiments, has been presented for purposes of illustration only. It is not exhaustive and does not limit the present disclosure to the precise form disclosed. Those skilled in the art will appreciate from the foregoing description that modifications and variations are possible in light of the above teachings or may be acquired from practicing the disclosed embodiments.
For example, although embodiments have been described in terms of interaction with a user, the above-described techniques are equally applicable to implementations that do not involve human users. Thus, the same techniques may be used to execute programs according to instructions received from another program in computing system 1000 or from another computing system altogether. Similarly, commands may be received, executed, and their output returned entirely within the processing and/or memory of computing system 1000.
Likewise, the steps described need not be performed in the same sequence discussed or with the same degree of separation. Various steps may be omitted, repeated, combined, or divided, as necessary to achieve the same or similar objectives or enhancements. Accordingly, the present disclosure is not limited to the above-described embodiments, but instead is defined by the appended claims in light of their full scope of equivalents.
In the below claims, unless specified otherwise, the term “IPS-enabled” and its variants are to be interpreted to mean that a device is capable of detecting signal emissions from nearby beacons, measuring the respective strengths of such signals, and estimating its indoor location based on the same. A device may have the hardware capabilities to perform the foregoing actions but may not be IPS-enabled at a point in time if it does not have software installed at that time for performing the foregoing actions (or if it does not have IPS software installed that is compatible with the IPS software used by another device that is attempting to communicate indoor location information to it).
This application claims the benefit of, and priority to, U.S. Provisional Application No. 62/023,870 filed on Jul. 12, 2014, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62023870 | Jul 2014 | US |