The disclosure herein relates to the field of mobile device navigation and positioning.
Users of mobile devices, including smartphones, tablets and wearable computing devices, are increasingly using and depending upon indoor positioning and navigation applications and features. Seamless, accurate and dependable indoor positioning of a mobile device as carried or worn by a user can be difficult to achieve using satellite-based navigation systems when the latter becomes unavailable, or sporadically available, and therefore unreliable, such as within enclosed or partially enclosed urban infrastructure and buildings, including hospitals, shopping malls, airports, universities and industrial warehouses. Wireless communication signal data, ambient barometric data and magnetic field data may be measured to aid in localizing a mobile device along a route traversed within indoor infrastructure. Variations in environmental or ambient conditions, however, and also varying barometric pressure sensor characteristics inherent to different mobile devices, has adversely affected the usefulness of barometric fingerprint data, posing a challenge to wider application of barometric data for localizing mobile devices.
Embodiments herein recognize that temporal variations and fluctuations in environmental or ambient barometric conditions, and also varying barometric measurement sensor characteristics inherent to different mobile devices, can adversely affect the usefulness of applying barometric data values as measured for localizing mobile devices. Among other technical effects and advantages, embodiments herein provide for utilizing a pattern, or signature, of barometric data measurements established over a spatial route being traversed before including same into a cumulative repository of barometric fingerprint data. Embodiments herein provide for using a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over a spatial set of contiguous positions minimizes relative changes in barometric pressure due to mobile device barometric sensor characteristics, even under temporally varying environmental or ambient pressure conditions, notwithstanding differing mobile device absolute values of barometric pressure measurements in such situations, prior to updating a data repository with crowd-sourced barometric fingerprint data.
Embodiments herein provide a method for a crowd-sourced data repository. The method is executed in a processor of a server computing device 108 and comprises storing a fingerprint map of an indoor facility in the crowd-sourced data repository, the fingerprint map having positioning fingerprint data that includes barometric fingerprint data. Receiving, at the crowd-sourced data repository, at least one of mobile device signal data and mobile device sensor data correlated with a sequence of positions describing a movement of a mobile device along a trajectory relative to the indoor facility, the sensor data including mobile device barometric pressure measurements for at least a pair of contiguous positions in the sequence of positions. Then, based on identifying a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over the at least a pair of contiguous positions, automatically updating, using the processor, the crowd-sourced data repository by adding the mobile device barometric pressure measurements to the barometric fingerprint data of the crowd-sourced data repository.
Also provided is a server computing device 108 including a processor and a memory storing a set of computer instructions. The instructions are executable in the processor to store a fingerprint map of an indoor facility in the crowd-sourced data repository, the fingerprint map having positioning fingerprint data that includes barometric fingerprint data. Receive, at the crowd-sourced data repository, at least one of mobile device signal data and mobile device sensor data correlated with a sequence of positions describing a movement of a mobile device along a trajectory relative to the indoor facility, the sensor data including mobile device barometric pressure measurements for at least a pair of contiguous positions in the sequence of position. Then based on identifying a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over the at least a pair of contiguous positions, automatically update, using the processor, the crowd-sourced data repository by adding the mobile device barometric pressure measurements to the barometric fingerprint data of the crowd-sourced data repository.
Further provided is a non-transitory memory storing processor-executable instructions. The instructions are executable in the processor to store a fingerprint map of an indoor facility in the crowd-sourced data repository, the fingerprint map having positioning fingerprint data that includes barometric fingerprint data, receive, at the crowd-sourced data repository, at least one of mobile device signal data and mobile device sensor data correlated with a sequence of positions describing a movement of a mobile device along a trajectory relative to the indoor facility, the sensor data including mobile device barometric pressure measurements for at least a pair of contiguous positions in the sequence of positions, and based on identifying a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over the at least a pair of contiguous positions, automatically update, using the processor, the crowd-sourced data repository by adding the mobile device barometric pressure measurements to the barometric fingerprint data of the crowd-sourced data repository.
One or more embodiments described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
One or more embodiments described herein can be implemented using programmatic modules, engines, or components. A programmatic module, engine, or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
A mobile device as described herein may be implemented, in whole or in part, on mobile computing devices such as cellular or smartphones, laptop computers, wearable computer devices, and tablet devices. Memory, processing, and network resources may all be used in connection with the use and performance of embodiments described herein, including with the performance of any method or with the implementation of any system.
Furthermore, one or more embodiments described herein may be implemented through the use of logic instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. In particular, machines shown with embodiments herein include processor(s) and various forms of memory for storing data and instructions. Examples of computer-readable mediums and computer storage mediums include portable memory storage units, and flash memory (such as carried on smartphones). A mobile device as described herein utilizes processors, memory, and logic instructions stored on computer-readable medium. Embodiments described herein may be implemented in the form of computer processor-executable logic instructions or programs stored on computer memory mediums.
System Description
Mobile device 101 may include sensor functionality by way of sensor devices. The sensor devices may include inertial sensors such as an accelerometer and a gyroscope, magnetometer or other magnetic field sensing functionality, barometric or other ambient pressure sensing functionality, and ambient lighting sensors, such as to detect ambient lighting intensity. Mobile device 101 may also include capability for detecting and communicatively accessing ambient wireless communication signals including but not limited to any of Bluetooth and Bluetooth Low Energy (BLE), Wi-Fi, RFID, and also satellite-based navigations signals including global positioning system (GPS) signals. Mobile device 101 further includes the capability for detecting, via various sensor devices, and measuring a received signal strength, and of determining signal connectivity parameters, related to the ambient wireless signals. In particular, mobile device 101 may include location determination capability such as by way of a GPS module having a GPS receiver communicatively coupled via communication network 106 such as by sending and receiving cellular data over data and voice channels.
A navigation, or positioning, software application downloaded and installed, or stored, in a memory of mobile device 101 may render physical layout map 102 related to a facility or building within a user interface display of mobile device 101. In one embodiment, the navigation software application may incorporate mobile device localization logic module 105. The terms indoor facility or building as used herein means an at least partially enclosed building having at least one fixed boundary, such as an exterior boundary wall, typically constituting a pedestrian navigation area. Display of physical layout map 102 may further show trajectory or route 103 constituted of a sequence of spatial positions traversed by the mobile device, which may include an estimated trajectory segment predicted for traversal by mobile device 101. Physical layout map 102 may further depict one or more physical constraint features 104, such as an internal wall or other map constraint feature including a doorway, a facility exit, a physical marker fixed in place, a facility entrance, a stairwell, a stairway, a corridor, an elevator, and an external boundary outline of the indoor facility.
Positioning fingerprint data repository 107, hosted at server computing device 108 in one embodiment, may be communicatively accessible to mobile device 101 via communication network 106. In alternate embodiments, one or more portions of fingerprint data repository 107 may be stored in a memory of mobile device 101. The terms fingerprint and fingerprint data as used herein refer to time-correlated, individual measurements of any of, or any combination of, received wireless communication signal strength and signal connectivity parameters, magnetic field measurements and barometric pressure measurements, and mobile device inertial sensor data at known, particular locations within an area being traversed, or anticipated for traversal, by the mobile device. In other words, a fingerprint includes a correlation of sensor and signal information including, but not necessarily limited to wireless signal strength, magnetic and barometric data, and inertial sensor information time-correlated for respective positions or coordinate locations within the area or facility being traversed. Thus, barometric fingerprint data associated with contiguous locations or positions may establish a pattern or signature that uniquely correlates to that particular sequence of locations or positions. Once a particular as-measured value, a pattern or signature based on any one or more of received wireless communication signal strength and signal connectivity parameters, magnetic field parameters or barometric pressure parameters, and mobile device inertial sensor data is detected or recorded by mobile device 101, the value or pattern as detected may be matched to a reference fingerprint stored in a fingerprint map of a given facility, for example as stored in positioning fingerprint data repository 107, to identify the unique position of the mobile device relative to the facility, a process also referred to herein as localization. A sequence of positions or locations that constitute a navigation path traversed by mobile device 101 relative to the indoor facility may be mapped for fingerprint data during a fingerprint calibration process. In some embodiments, given that sampling times and sampling rates applied in conjunction with particular mobile device sensors may be different, the signal and sensor information as measured during a fingerprint calibration process may be time-averaged across particular periods of time, with the time-averaged value being used to represent the signal information at any given instance of time within that particular period of time in which the signal information is time-averaged. Fingerprint data may be used to track mobile device 101 traversal along route 103 within, and even adjoining, the indoor facility. In embodiments, at least some of the positioning fingerprint data of repository 107 may be crowd-sourced collectively from individual mobile computing and communication devices, accumulated over time.
Processor 201 uses executable instructions stored in fingerprint map module 210 to store a fingerprint map of an indoor facility in data repository 107, the fingerprint map having positioning fingerprint data that includes barometric fingerprint data.
Processor 201 uses executable instructions stored in barometric fingerprint module 211 to receive, at data repository 107 that includes crowd-sourced barometric fingerprint data, at least one of mobile device signal data and mobile device sensor data correlated with a sequence of positions describing a movement of mobile device 101 along trajectory 103 relative to the indoor facility, the sensor data including mobile device barometric pressure measurements for at least a pair of contiguous positions in the sequence of positions.
Processor 201 uses executable instructions stored in barometric data updating module 212, based on identifying a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over the at least a pair of contiguous positions, to automatically update data repository 107 by adding the mobile device barometric pressure measurements to the crowd-sourced barometric fingerprint data of the data repository 107.
In embodiments, mobile device 101 barometric data may establish a pattern for a set of barometric data measurements along route 103, the pattern, or pattern segment, may be constituted of any 2 or more contiguous positions in a sequence of positions describing route 103 under traversal by mobile device 101. In one embodiment, mobile device 101 barometric data as measured along route 103 may be added to the cumulatively-acquired, crowd-sourced barometric fingerprint data of repository 107.
In an embodiment, the matching of mobile device 102 pattern segment matching with barometric fingerprint data of repository 107 further identifies a floor number of a multi-floor building being traversed by mobile device 101 that at least partially includes the route. In effect, the barometric pattern segment may be matched in view of its unique occurrence in association with a particular floor or floor number.
In another variation, in preparation for the adding of a matched pattern of barometric data, the barometric pattern segment as derived from barometric pressure measurements acquired at mobile device 102 may be algorithmically smoothed, for example, using a triangular smoothing algorithm. Other curve or trend smoothing techniques may be applied, such as a butterworth filter, kalman filter, kernel smoother, low-pass filter, exponential moving average. In yet another variation, the smoothing may be performed on the barometric pattern segment as derived from barometric pressure measurements acquired at mobile device 102 prior to adding same to the cumulatively-acquired barometric fingerprint data of repository 107.
In another embodiment, barometric pressure patterns 301 and 302, in an embodiment during walking down a series of floors of a multi-floor building, as acquired by respective ones of a pair of different mobile devices mobile at a same time and even without fluctuations in ambient pressure conditions. Again, a flat or generally horizontal pattern segments 301a, 301c may occur while traversing horizontally across a same-floor of the multi-floor building, while ramp pattern segments 301b, 301d may indicate traversing down the stairs of the building. Barometric pressure pattern segment 302 may be offset from barometric pressure pattern segment 301 by substantially constant amount 303, reflecting differences in barometric sensor characteristics assembled and utilized in the respective mobile devices. Again, while the barometric pressure data as measured by each of the different mobile devices at a given spatial location in the facility might differ in absolute magnitudes by substantially constant amount 303, the spatial patterns in variation or trend of the respective absolute measurements provide substantially similar and comparable pattern signatures. Using the barometric pattern signatures, rather than absolute barometric pressure measurements, in effect provide for normalizing barometric pressure differences due to temporal fluctuations in ambient pressure conditions, or also due to differences in barometric pressure sensor characteristics across different mobile devices.
Methodology
Examples of method steps described herein relate to the use of server computing device 108 for implementing the techniques described. According to one embodiment, the techniques are performed by fingerprint data repository logic module 109 of server computing device 108 in response to the processor 201 executing one or more sequences of software logic instructions. In embodiments, fingerprint data repository logic module 109 may include the one or more sequences of instructions within sub-modules including fingerprint map module 210, barometric fingerprint module 211 and barometric data updating module 212. Such instructions may be read into memory 202 from machine-readable medium, such as memory storage devices. In executing the sequences of instructions contained in fingerprint map module 210, barometric fingerprint module 211 and barometric data updating module 212 of fingerprint data repository logic module 109 stored in memory 202, processor 201 performs the process steps described herein. In alternative implementations, at least some hard-wired circuitry may be used in place of, or in combination with, the software logic instructions to implement examples described herein. Thus, the examples described herein are not limited to any particular combination of hardware circuitry and software instructions. Additionally, it is contemplated that in alternative embodiments, the techniques herein, or portions thereof, may be distributed between the mobile device 101 and remote server computing device 108. For example, mobile device 102 may perform at least some portion of the techniques ascribed to server computing device 108 herein.
At step 410, processor 201 executes instructions included in fingerprint map module 210, to store a fingerprint map of an indoor facility in fingerprint data repository 107, the fingerprint map having positioning fingerprint data that includes barometric fingerprint data. The fingerprint data correlates mobile device sensor data, including mobile device barometric sensor data, to unique positions or locations within or adjoining the indoor facility which may include pedestrian route 103. The positions or locations may be expressed in accordance with either a local or a global (X, Y, Z) coordinate system.
In embodiments, mobile device 101 barometric data may include a set of barometric ambient pressure measurements based on one or more barometric sensors of mobile device 101, along route 103. Route 103 being traversed may be such as a hallway, a corridor, a pedestrian path, a set of stairs or a route commencing from any of an entrance, an exit or a location within or near a building.
At step 420, processor 201 executes instructions included in barometric fingerprint module 211 to receive, at data repository 107 that includes crowd-sourced barometric fingerprint data, at least one of mobile device signal data and mobile device sensor data correlated with a sequence of positions describing a movement of mobile device 101 along trajectory 103 relative to the indoor facility, the sensor data including mobile device barometric pressure measurements for at least a pair of contiguous positions in the sequence of positions. In embodiments, the fingerprint map data stored in fingerprint data repository 107 (also referred to herein as data repository 107 or repository 107) further associates respective positions along route 103 within the pedestrian area or indoor facility with a unique combination of fingerprint data, including gyroscope data, accelerometer data, wireless signal strength data, wireless connectivity data, barometric data, acoustic data, line-of sight data, ambient lighting data, and magnetic data.
In embodiments, the data of repository 107 may be accessible in memory 202 of server computing device 108, server computing device 108 being in communication mobile device 101 via wireless communication network 106.
At step 430, processor 201 executes further instructions included in barometric data updating module 212 to, based on identifying a pattern match between the mobile device barometric pressure measurements and the barometric fingerprint data over the at least a pair of contiguous positions, automatically update, using the processor, fingerprint data repository 107 by adding the crowd-sourced mobile device barometric pressure measurements to the barometric fingerprint data of crowd-sourced data repository 107.
In embodiments, mobile device 101 barometric data establishes a pattern for a set of barometric data measurements along route 103, the pattern, or pattern segment, may be constituted of any 2 or more contiguous positions in a sequence of positions describing route 103 under traversal by mobile device 101. Barometric data updating module 212 matches the pattern segment with an identified correlating pattern, which may be a portion of a larger fingerprint pattern, from repository 107 storing the barometric fingerprint data. Mobile device 101 may be localized by identifying, based on the matching, a position of mobile device 101 among respective positions or locations along route 103 associated with the pattern or trend as indicated by the barometric data of the fingerprint map accessible at repository 107. In one embodiment, mobile device 101 barometric data as measured along route 103 may be added to the cumulatively-acquired barometric fingerprint data of repository 107. 3. In some embodiments, the pattern match is based on identifying a substantially similar trend or pattern between the mobile device barometric pressure measurements and the barometric fingerprint data over contiguous positions in the sequence of positions describing pedestrian route 103.
In an embodiment, the matching of mobile device 102 pattern segment matching with barometric fingerprint data of repository 107 further identifies a floor number of a multi-floor building being traversed by mobile device 101 that at least partially includes the route. In effect, the barometric pattern segment may be matched in view of its unique occurrence in association with a particular floor or floor number.
In some embodiments, an updated sourced data repository 107 may be generated subsequently to adding the mobile device barometric data. The updated data repository 107 may then be deployed as including crowd-sourced barometric data to data repository 107 and applied to localizing mobile devices relative to the indoor facility.
In another variation, in preparation for the matching, the barometric pattern segment as derived from barometric pressure measurements acquired at mobile device 102 may be algorithmically smoothed, for example, using a triangular smoothing algorithm. Other curve or trend smoothing techniques may be applied, such as a butterworth filter, kalman filter, kernel smoother, low-pass filter, exponential moving average. In yet another variation, the smoothing may be performed on the barometric pattern segment as derived from barometric pressure measurements acquired at mobile device 102 prior to adding same to the cumulatively-acquired barometric fingerprint data of repository 107.
It is contemplated for embodiments described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or system, as well as for embodiments to include combinations of elements recited anywhere in this application. Although embodiments are described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of the invention be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an embodiment can be combined with other individually described features, or parts of other embodiments, even if the other features and embodiments make no mention of the particular feature. Thus, the absence of describing combinations should not preclude the inventor from claiming rights to such combinations.
Number | Name | Date | Kind |
---|---|---|---|
20090043504 | Bandyopadhyay et al. | Feb 2009 | A1 |
20090248301 | Judd et al. | Oct 2009 | A1 |
20130150076 | Kim et al. | Jun 2013 | A1 |
20140188381 | Saitoh | Jul 2014 | A1 |
20140278060 | Kordari | Sep 2014 | A1 |
20150119087 | Lee | Apr 2015 | A1 |
20160195400 | Young | Jul 2016 | A1 |
20160379074 | Nielsen et al. | Dec 2016 | A1 |
20170251338 | Huberman | Aug 2017 | A1 |
20170332203 | Nagpal | Nov 2017 | A1 |
20180073951 | Venkatraman | Mar 2018 | A1 |
20180091953 | Nagpal | Mar 2018 | A1 |
20180245916 | Ivanov | Aug 2018 | A1 |
20180288728 | Berkovich | Oct 2018 | A1 |