US11622233B2 - Federated system for mobile device localization - Google Patents
Federated system for mobile device localization Download PDFInfo
- Publication number
- US11622233B2 US11622233B2 US16/822,217 US202016822217A US11622233B2 US 11622233 B2 US11622233 B2 US 11622233B2 US 202016822217 A US202016822217 A US 202016822217A US 11622233 B2 US11622233 B2 US 11622233B2
- Authority
- US
- United States
- Prior art keywords
- mobile device
- data
- signal strength
- world model
- location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000004807 localization Effects 0.000 title description 26
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 30
- 230000001413 cellular effect Effects 0.000 claims description 21
- 238000005259 measurement Methods 0.000 claims description 11
- 230000008054 signal transmission Effects 0.000 claims description 11
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000033001 locomotion Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 238000013480 data collection Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009012 visual motion Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/40—Correcting position, velocity or attitude
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/0252—Radio frequency fingerprinting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/04—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/04—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
- G01C21/08—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/52—Determining velocity
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/0009—Transmission of position information to remote stations
- G01S5/0018—Transmission from mobile station to base station
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/02—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
- G01S5/14—Determining absolute distances from a plurality of spaced points of known location
Definitions
- This disclosure relates generally to the field of navigation, and more particularly to mobile device localization.
- the global positioning system is a satellite-based radio-navigation system that provides geolocation and time information to a GPS receiver.
- Each of the GPS satellites continuously transmits a radio signal containing the current time and data about its position. Since the speed of radio waves is constant and independent of the satellites' speed, the time delay between when each satellite transmits a signal and when the receiver receives it is proportional to the distance from each satellite to the receiver.
- a GPS receiver monitors multiple satellites and solves equations to determine the precise position of the receiver and its deviation from true time. The GPS does not require the user to transmit any data, and it operates independently of any telephonic or internet reception.
- GPS global positioning system
- a method of determining a location of a mobile device including: receiving, by a base station, data from a mobile device, wherein the data is associated with a location of the mobile device; generating or updating a world model database, the world model database corresponding to a physical location (or coverage area) of the base station; constraining the received data based on the world model database; and determining a location of the mobile device based on the constrained data.
- a computer system of a base station for determining a location of a mobile device
- the computer system including: one or more computer-readable non-transitory storage media configured to store computer program code; and one or more computer processors configured to access said computer program code and operate as instructed by said computer program code, said computer program code including: receiving code configured to cause the one or more computer processors to receive data from a mobile device, wherein the data is associated with a location of the mobile device; generating or updating code configured to cause the one or more computer processors to generate or update a world model database corresponding to a physical location of the base station; constraining code configured to cause the one or more computer processors to constrain the received data based on the world model database; and determining code configured to cause the one or more computer processors to determine a location of the mobile device based on the constrained data.
- a non-transitory computer readable medium having stored thereon a computer program for determining a location of a mobile device, the computer program configured to cause one or more computer processors of a computing device of a base station to: receive data from a mobile device, wherein the data is associated with a location of the mobile device; generate or update a world model database corresponding to a physical location of the base station; constrain the received data based on the world model database; and determine a location of the mobile device based on the constrained data.
- FIG. 1 illustrates a computer environment for a federated positioning system according to at least one embodiment
- FIG. 2 is a block diagram of a device localization system, according to at least one embodiment
- FIG. 3 is an exemplary representation of a world model, according to at least one embodiment
- FIG. 4 is an operational flowchart illustrating operations carried out by a program for device localization, according to at least one embodiment
- FIG. 5 is flowchart illustrating a method of generating a world model according to at least one embodiment
- FIG. 6 is a flowchart illustrating a method of estimating user equipment position based on a world model according to at least one embodiment
- FIG. 7 is a flowchart illustrating a method of optimizing a world model for detecting a position of user equipment according to at least one embodiment.
- FIG. 8 is a block diagram of internal and external components of computers and servers depicted in FIG. 1 according to at least one embodiment.
- the expressions “at least one of [A], [B], and [C]” or “at least one of [A], [B], or [C]” means only A, only B, only C, A and B, B and C, A and C, or A, B, and C.
- One or more embodiments of the present disclosure relate generally to the field of navigation, and more particularly to positioning systems.
- One or more exemplary embodiments provide a system, method and program product to, among other things, enhance GPS location data. Therefore, some embodiments have the capacity to improve the field of computing by allowing for the enhancement of received GPS data by a computer using a world model to constrain the GPS data.
- One or more exemplary embodiments also provide a system, method, and program product to, among other things, provide device localization that is not GPS-reliant, and in some implementations may not use GPS at all to obtain a device's position.
- the global positioning system is a satellite-based radio-navigation system that provides geolocation and time information to a GPS receiver.
- Each of the GPS satellites continuously transmits a radio signal containing the current time and data about its position. Since the speed of radio waves is constant and independent of the satellites' speed, the time delay between when each satellite transmits a signal and when the receiver receives it is proportional to the distance from each satellite to the receiver.
- a GPS receiver monitors multiple satellites and solves equations to determine the precise position of the receiver and its deviation from true time.
- the GPS may not require the user to transmit any data, and it operates independently of any telephonic or internet reception. However, telephonic and internet reception may be used to augment GPS data. For example, GPS receivers in devices such as mobile phones may enhance the data received from the GPS satellites to update a position based on a Wireless-Fidelity (Wi-Fi) or cellular network.
- Wi-Fi Wireless-Fidelity
- GPS-based navigation and positioning systems cannot accurately provide location data.
- a device may be unable to receive a GPS signal or may endure a prolonged GPS startup (time-to-first-fix) time due to poor satellite signal conditions.
- time-to-first-fix time-to-first-fix
- there may be exceedingly poor signal conditions such that GPS signals may exhibit multipath propagation where signals deflect off buildings and other structures, or are weakened by weather conditions or tree canopies. It may be advantageous, therefore, to transmit GPS location data from a GPS receiver to a fixed terrestrial base station for enhancement and error-correction of the GPS location data.
- the following described exemplary embodiments provide a system, method and program product that enhances GPS location data or provides device positioning and localization without using or being reliant on GPS location data, by using a generated world model and a federated system of base stations.
- Each base station may maintain a corresponding world model of its vicinity, i.e., a ground reality of its vicinity.
- the distances between base stations 204 in the federated system may be less than 1 km. In this regard, by utilizing base stations within 1 km, the distance between the device and the base station will be low, thereby minimizing or avoiding problems of changes in GPS signals or location data due to multipath errors, and minimizing the occurrence of noise resulting from being underground, near tall buildings, etc.
- FIG. 1 illustrates a functional block diagram of a computer environment of a federated positioning system 100 (hereinafter “system”) for accurate device localization.
- the federated positioning system 100 may be a GPS enhancement system for improved enhancement and error-correction of GPS location data.
- the federated positioning system 100 may not use GPS data at all, or may not be reliant on GPS data, including when GPS data is unavailable.
- FIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
- the system 100 may include a computer 102 and a server or base station computer 114 .
- the computer 102 may communicate with the server computer 114 via a communication network 110 (hereinafter “network”).
- the computer 102 may include a processor 104 and a software program 108 that is stored on a data storage device 106 and is enabled to interface with a user and communicate with the server computer 114 .
- the computer 102 may include internal components 800 A and external components 900 A, respectively
- the server computer 114 may include internal components 800 B and external components 900 B, respectively.
- the computer 102 may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop computer, a tablet computer, a desktop computer, or any type of computing devices capable of running a program, accessing a network, and accessing a database.
- the server computer 114 may be included in a base station (as described below with reference to FIG. 2 ) for a communication network 110 that is a cellular or mobile communication network.
- the server computer 114 which may be used for determining a device's location or enhancing location data (e.g., enhancing GPS location data), is enabled to run a device localization program (e.g., a GPS Enhancement Program 116 ) (hereinafter “program”) that may interact with a database 112 (e.g., world model).
- a device localization program e.g., a GPS Enhancement Program 116
- program e.g., a GPS Enhancement Program 116
- the device localization program method according to an embodiment is explained in more detail below with respect to FIG. 4 .
- the computer 102 may operate as an input device including a user interface while the program 116 may run primarily on server computer 114 .
- the program 116 may run primarily on one or more computers 102 while the server computer 114 may be used for processing and storage of data used by the program 116 . It should be noted that the program 116 may be a standalone program or may be integrated into a larger program (e.g., a larger localization program or GPS enhancement program).
- processing for the program 116 may, in some instances, be shared amongst the computers 102 and the server computers 114 in any ratio.
- the program 116 may operate on more than one computer, server computer, or some combination of computers and server computers, for example, a plurality of computers 102 communicating across the network 110 with a single server computer 114 .
- the program 116 may operate on a plurality of server computers 114 communicating across the network 110 with a plurality of client computers.
- the program may operate on a network server communicating across the network with a server and a plurality of client computers.
- the network 110 may include wired connections, wireless connections, fiber optic connections, or some combination thereof.
- the network 110 may include a cellular network (e.g., a fifth generation (5G) network, a long-term evolution (LTE) network, a fourth generation (4G) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.).
- 5G fifth generation
- LTE long-term evolution
- 4G fourth generation
- 3G third generation
- CDMA code division multiple access
- the network 110 may include various types of networks, such as, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, a telecommunication network such as the Public Switched Telephone Network (PSTN), a wireless network, a public switched network, a satellite network, a public land mobile network (PLMN), a metropolitan area network (MAN), a private network, an ad hoc network, an intranet, a fiber optic-based network, or the like, and/or a combination of these or other types of networks.
- LAN local area network
- WAN wide area network
- PLMN public land mobile network
- MAN metropolitan area network
- private network such as an intranet, a fiber optic-based network, or the like, and/or a combination of these or other types of networks.
- the number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or differently arranged devices and/or networks than those shown in FIG. 1 . Furthermore, two or more devices shown in FIG. 1 may be implemented within a single device, or a single device shown in FIG. 1 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of system 100 may perform one or more functions described as being performed by another set of devices of system 100 .
- FIG. 2 a block diagram 200 of a device localization system (e.g., GPS Enhancement System) is depicted.
- the device localization system may accordingly include, among other things, a mobile device 202 and a base station 204 .
- the base station 204 may be configured to run a device localization program (such as the GPS Enhancement Program 116 ( FIG. 1 )).
- the mobile device 202 and the base station 204 may receive GPS data from one or more GPS satellites 206 .
- the base station 204 may be a communication base station (e.g., a communication base station close to a GPS base station), or a combination of a GPS base station and a communication base station.
- the communication base station may receive data (e.g., GPS data) from a close GPS base station such that the data can be used as is or to drive the location of the communication base station.
- the GPS base station may be at or near the center (i.e., where the communication base station is located). For an oriented communication base station, however, the GPS base station can be farther away.
- the GPS base station can be located at a known offset to the center of the coverage area to obtain the actual GPS signals received by the mobile device 202 ; the GPS base station may be located at a bottom of the base station tower while the communication base station is located at the top of the base station tower (by way of example, the vertical distance can be as large as a few hundred meters); and the GPS base station can be located with an offset along a horizontal plane relative to the communication base station.
- the federated positioning system may include a minimum of four GPS satellites. According to another embodiment, the federated positioning system may not use GPS data, or may only use GPS data for generating and/or optimizing a world model.
- the mobile device 202 may use the GPS signal data received from the GPS satellites 206 to determine data associated with a location.
- the data associated with location may not include GPS data (e.g., if unavailable or if the system according to another embodiment does not utilize GPS satellites 206 for localization).
- the mobile device 202 may use signals and/or signal information from surrounding Wireless Fidelity (Wi-Fi) access points, Bluetooth beacons, etc., to obtain or determine location data.
- Wi-Fi Wireless Fidelity
- the data associated with location may include, among other things, at least one of: a time associated with the mobile device 202 ; a position and velocity of the mobile device 202 based on one or more GPS signals; a signal strength value of the GPS signals; lists of Wi-Fi access points, Bluetooth beacons, and cellular network base stations available to the mobile device 202 and their respective signal strengths; a magnetic field vector based on a strength value and a direction at the position of the mobile device 202 ; inertial measurement unit data associated with the mobile device 202 ; and ambient atmospheric temperature, humidity, and pressure data associated with the location of the mobile device 202 .
- the data associated with location may be transmitted by the mobile device 202 to the base station 204 for augmentation and/or device localization using a world model maintained at the base station 204 (or a connected server). Additionally, the location data may be transmitted to the base station 204 for creating a world model, updating a world model, or optimizing a world model.
- the base station 204 may, among other things, maintain a world model of its vicinity for error correction, such that a central server may not be required.
- the base station 204 may use one or more mobile networks to estimate a position of the mobile device 202 using time delay of arrival or a phase-based direction of arrival.
- the base station 204 may also perform a real-time kinematic style of error correction using the mobile network data without requiring special equipment.
- the base station 204 may perform long-term building of a world model using both automatic methods (e.g., real-time kinematic GPS, cellular network-based position) and manual methods (e.g., manually inserted survey points with known value of GPS error due to multipath propagation and signal reflection).
- each mobile device 202 may use any number of mobile devices 202 , base stations 204 , and GPS satellites 206 .
- one or more base stations 204 may be added or removed based on demand, and multiple base stations 204 may overlap without requiring additional configuration due to mobile network standards. Because each base station 204 maintains a world model of its vicinity, there is no need for a central server. According to an embodiment, the distances between base stations 204 in the federated system may be less than 1 km.
- the distance between the mobile device 202 and the base station 204 will be low, thereby minimizing or avoiding problems of changes in GPS signals or location data due to multipath errors, and minimizing the occurrence of noise resulting from being underground, near tall buildings, etc.
- the world model 300 may be a multi-layer model or database that may include one or more layers 302 A- 302 N.
- the world model may be generated by closely correlating environment data with a data collection pose (position and orientate) that can be expected (based on sensor characteristics) to be noisy in absolute pose but accurate in relative motion.
- the layers 302 A- 302 N may include, among other things, at least one of a magnetic field deviation layer 302 A, a weather layer 302 B (e.g., humidity and wind speeds), a geographic information system (GIS) layer 302 C that may include information on one or more features 304 (e.g., a building, a road, a bridge, a tunnel, a landform, or a body of water), and one or more layers 302 D- 302 N that may correspond to one or more signals (e.g., a Wireless Fidelity (Wi-Fi) signal, a Bluetooth signal, a GPS signal, and a cellular network signal).
- a Wireless Fidelity (Wi-Fi) signal e.g., a Wireless Fidelity (Wi-Fi) signal, a Bluetooth signal, a GPS signal, and a cellular network signal.
- Wi-Fi Wireless Fidelity
- the signal layers 302 D- 302 N may be configured to provide a signal strength at a position (for example, using data from the GIS) for one or more sources having a known position and signal transmission strength.
- the signal layers 302 D- 302 N may also be configured to model the one or more signals for signal strength propagation loss for one or more sources having uncertainty in either a position or signal transmission strength. It may be appreciated that many other layers may be included within the world model 300 , and each type of signal and environment data that is collected may have its own layer in the world model 300 .
- the world model 300 may be optimized with data received from one or more additional mobile devices 202 ( FIG. 2 ).
- the magnetic field deviation layer 302 A may be updated with data based on the constraint position and time of the mobile devices 202 .
- the GIS layer 302 C may be updated with fingerprinting of available anchors, including signal-to-noise ratio for known anchors and raw signal strengths for unknown anchors.
- fingerprinting may refer to information related to spatio-temporal distribution of identifying data, such as anchor label, and may not include specific data such as signal strength.
- the anchors may refer to mathematical entities that can be used to model data (such as signal strength) with high accuracy.
- Anchors may include sources of wireless emission or magnetic deviation, visual landmarks, statistical landmarks (e.g., staircase where inertial data is predictably anomalous, etc.).
- motion models may be created based on a simple shift from one position or signal strength to another (e.g., relocation of Wi-Fi-router, door opening or closing), a temporal shift from one position or signal strength to another (e.g., movement of a Wi-Fi-router in a vehicle), or unknown shifts that may occur at fast frequencies, such as vibration or changes in weather conditions.
- These anchors may be marked for only fingerprinting and not high fidelity localization.
- the signal layers 302 D- 302 N may be used to create probable position and transmission characteristics of anchors with unknown positions, constrained by received data, including multiple models with varying complexity such as mixture-model, and Markov models.
- probable areas for each valid combination may be computed.
- the probable areas may be used to update the GIS layer 302 C with fingerprinting data of visible anchors to create probable area for future mobile devices 202 .
- anchors whose position and transmission characteristics are now known with high confidence these may be whitelisted. Once sufficient data may be available, the position of the mobile devices 202 and the world model 300 may be correlated.
- the optimization of the position data of the mobile devices 202 and the world model 300 may be repeated iteratively until equilibrium is reached.
- the optimization may be a continuous process that is performed in real time, periodically, or in response to any or certain location data received from mobile devices 202 .
- FIG. 4 an operational flowchart 400 illustrating the operations carried out by a program for device localization (e.g., a program that enhances GPS location data) is depicted.
- a program for device localization e.g., a program that enhances GPS location data
- FIG. 4 may be described with the aid of FIGS. 1 , 2 , and 3 .
- the device localization program e.g., GPS Enhancement Program 116 ( FIG. 1 )
- data is received by a computer (e.g., base station computer) from a device, e.g., mobile device, computer, processing device, etc., whereby the data is associated with a location of the device.
- the categories of data may include, among other things, at least one of: signal strength and/or direction, details regarding transmission frequency, transmission medium, and a category of transmission anchors; additional environment data not based on anchors (e.g., for long range coherence); and process based data (e.g., for short range coherence).
- the transmission anchors may include, among other things, at least one of: radio anchor points, including emitting sources such as radio towers, Wi-Fi routers and hotspots, Bluetooth beacons, a telecommunication base stations; audio anchor points, such as speakers and high frequency emitters; details such as transmission power, weather conditions, runtime measure of propagation loss; and a location of anchor points.
- the additional environment data may include, among others, at least one of: magnetometer data such as magnetic field vector data and reported acceleration values; image data from a camera for determining features and visual markers; GPS data, such as signal strength.
- the process based data may include, among others, at least one of inertial measurement unit (IMU) data; visual motion data (e.g., from one or more cameras); and processed data from other sources such as velocity from a vehicle odometer, third party sources, etc.
- IMU inertial measurement unit
- the mobile device 202 may determine a location based on one or more GPS satellites 206 ( FIG. 2 ) and may transmit the location data and other data to the base station 204 ( FIG. 2 ).
- a world model corresponding to a physical location (or coverage area) of the computer is generated.
- the world model may be a database with multiple layers that is created from the received data.
- the base station 204 FIG. 2
- the magnetic field deviation layer 302 A may be created using magnetometer data from the mobile device 202
- the weather layer 302 B may be created from the temperature, altitude, and pressure data from the mobile device 202 .
- the received data is constrained based on the generated world model database.
- the mobile device position may be estimated to a higher accuracy, and the one or more layers of the world model database may be applied to the set initial location based on a probability value associated with the one or more layers exceeding a threshold value.
- the constraints may be zero if no prior information is available. GPS may be used to create an initial constraint on the mobile device's position, and fingerprinting data may be used to add additional constraints.
- Anchors with known positions may have high confidence and may be used to further constrain the position of the mobile device. In the event of a conflict, the confidence level may be lowered, such that a minimum number of anchors may be relaxed by the least amount possible for data to be properly constrained.
- the list of anchors may be refreshed, and anchors below a threshold confidence level may be removed from the list of anchors (or given a lower weight).
- the base station 204 may apply the layers 302 A- 302 N ( FIG. 3 ) to the location data received from the mobile device 202 ( FIG. 2 ).
- the base station 204 may use the GPS position as an initial constraint and may apply, for example, data from the magnetic field deviation layer 302 A to form an additional constraint on the location of the mobile device 202 .
- a location (or an updated location) of the mobile device is determined based on the constrained data.
- the position of the mobile device may be known with higher confidence, and errors in the initial position may be corrected.
- the base station 204 ( FIG. 2 ) may use the data of the world model 300 ( FIG. 3 ) to determine a more accurate location of the mobile device 202 ( FIG. 2 ).
- the base station 204 may optionally transmit the updated location data back to the mobile device 202 .
- the world model is optimized.
- One or more of the layers may be updated based on receiving data from one or more additional mobile devices.
- a probability of position and transmission characteristics may be determined for the updated layers, and anchors with position and transmission characteristics having a probability greater than a threshold value may be whitelisted.
- the layers 302 A- 302 N ( FIG. 3 ) of the world model 300 ( FIG. 3 ) may be optimized using the data received from one or more mobile devices 202 ( FIG. 2 ). The optimization may allow the base station 204 ( FIG. 2 ) to provide more accurate location data to the mobile device 202 based on the world model 300 .
- FIG. 4 provides only an illustration of one implementation and does not imply any limitations with regard to how different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
- one or more operations in FIG. 4 may be omitted.
- operation 404 may be omitted.
- location data may be received from the mobile device, and a location of the mobile device may be determined (or updated) by inputting or correlating the received location data to the world model.
- the optimization of operation 410 based on the received location data may or may not be omitted.
- FIG. 5 is flowchart 500 illustrating a method of generating a world model according to at least one embodiment.
- the world model may initially be created by each Base Station with respect to its surrounding area or designated environment, to calculate a ground reality. These world models may then be interpolated in order to fix or fill in any missing areas using, for example, models of strength propagation for each particular signal's wavelength.
- Operation 502 corresponds to a bootstrapping phase in which data is collected and the world model is built.
- the data is collected and the world model is built using signals with estimated low to medium errors.
- the data may be collected from user equipment (e.g., the mobile devices 202 ) or dedicated data collection equipment (e.g., robots or equipment commissioned to collect data from designated areas, e.g., the area and buildings surrounding the Base Station).
- the data points collected in the bootstrapping phase may include sensor information and a corresponding location.
- the world model can be bootstrapped using at least one of offline and online methods, as described above.
- Offline methods may, among other things, increase accuracy in areas with high error rates.
- a sensor with an accurate GPS receiver may be taken around a building's floorplan.
- the sensor may be moved in a predefined or well-known location trajectory and the error between the sensor and the trajectory may be used to create a map of “errors” (i.e., a difference in location found via blueprints or using other sensors).
- the error map may be used to equalize noisy data from GPS, cellular networks and wireless networks and to compute statistics such as mean, standard deviation, and offset.
- Online methods may be adaptable to change and may be used for bootstrapping.
- one or more select users may provide high accuracy information such as inertial measurement unit (IMU) data, Bluetooth data, wireless signal data, and video data in addition to standard GPS and cellular network data.
- IMU inertial measurement unit
- Bluetooth data Bluetooth data
- wireless signal data wireless signal data
- video data in addition to standard GPS and cellular network data.
- noisy data may be used to create an error map, with improvements being iterative as more and more data is collected and added.
- the different sessions of collected data may be matched, smoothed, and interpolated to minimize differences therebetween.
- simultaneous localization and mapping (SLAM) algorithms may be used to create the world model, that is, a representation of the ground reality.
- particle filters and Discrete Markov Processes may be used to model and find the mobile device's motion and estimated position.
- Data on one band may be corroborated with data on another band to determine at least one error statistic (e.g., a rate of error), and multiple changes over time may be used to disambiguate confusing scenarios further.
- a band may refer to a combination of layers from which meaningful insight(s) regarding location can be obtained or gathered.
- Data from multiple bands may be used to determine error statistics.
- data collected from multiple mobile devices can be used to model the movement path and determine patterns to reduce errors even further.
- the movement-path models and error models around an antenna may be generated if the mobile device can send its location information to the network.
- a world model may be created by a base station corresponding to its nearby geographic area.
- One or more error models may be interpolated to determine missing areas using models of strength propagation for each particular wavelength.
- data collected from the mobile devices may give a position of one or more landmarks, such as deviations in Earth's magnetic field due to structures like desks, doors, walls, or power lines and a distance to one or more access points for Wi-Fi, Bluetooth, and cellular networks.
- landmarks such as deviations in Earth's magnetic field due to structures like desks, doors, walls, or power lines and a distance to one or more access points for Wi-Fi, Bluetooth, and cellular networks.
- These measurements may form constraints with one end inside the area of mobile devices (i.e., position plus error value) and the other end at the landmark location such that the constraint may have a boundary of measurement noise. Since the spatio-temporal behavior of anchors is known, constraints from a position of a mobile device to landmark position over multiple samples collected across time and mobile devices may be used to find valid positions of landmarks.
- operation 504 corresponds to a high quality data collection phase.
- high quality data may be collected using external sensors (e.g., LiDAR) to reduce mobile device position error in order to build the world model.
- external sensors e.g., LiDAR
- This may be used in places where bootstrapping may not work for reasons such as lack of sufficient users (e.g., in areas having low population density or difficult to access) and lack of signals with low errors (e.g., in subway tunnels).
- the categories of data collected in the bootstrapping phase (operation 502 ) and/or the high quality data collection phase (operation 504 ) may include, among other things, at least one of: signal strength and/or direction, details regarding transmission frequency, transmission medium, and a category of transmission anchors; additional environment data not based on anchors (e.g., for long range coherence); and process based data (e.g., for short range coherence).
- the transmission anchors may include, among other things, at least one of: radio anchor points, including emitting sources such as radio towers, Wi-Fi routers and hotspots, Bluetooth beacons, a telecommunication base stations; audio anchor points, such as speakers and high frequency emitters; details such as transmission power, weather conditions, runtime measure of propagation loss; and a location of anchor points.
- the additional environment data may include, among others, at least one of: magnetometer data such as magnetic field vector data and reported acceleration values; image data from a camera for determining features and visual markers; GPS data, such as signal strength.
- the process based data may include, among others, at least one of inertial measurement unit (IMU) data; visual motion data (e.g., from one or more cameras); and processed data from other sources such as velocity from a vehicle odometer, third party sources, etc.
- IMU inertial measurement unit
- Other data may also be collected for bootstrapping (e.g., fingerprinting data, as discussed below).
- Operation 506 corresponds to a data insight phase.
- This phase may include using the world model with additional data such as blueprints for urban areas and ground use statistics for open areas. These may be used to determine signal strength changes for different materials due to reflection, refraction, and pass-through loss differently.
- the additional data may also be used to determine noise levels at locations to determine the error at a location based on time or mobile device model independently from a mobile device's observations. This may eliminate noise by finding patterns that may occur over time such as high error during peak hours due to large number of people.
- the additional data may also be used to create interpolation models based on how the strength of different signals may be affected by weather and nearby obstacles.
- FIG. 6 is a flowchart 600 illustrating a method of estimating user equipment position based on a world model according to at least one embodiment.
- the method of FIG. 6 may be performed by a Base Station included in the federated system for device localization according to one or more embodiments. Further, the method of FIG. 6 may be performed to generate or update a world model and/or to determine a location of user equipment (e.g., mobile device 202 ) or equipment for updating the world model (e.g., robot, data collection device, etc.).
- user equipment e.g., mobile device 202
- equipment for updating the world model e.g., robot, data collection device, etc.
- data associated with location is received from a user equipment (e.g., mobile device).
- This data may include, among other things, at least one of GPS data, a time associated with the user equipment, a position and velocity of the user equipment based, for example, on one or more GPS signals, a signal strength value of the GPS signals, a list of Wi-Fi access points, Bluetooth beacons, and cellular network base stations available to the user equipment and/or their respective signal strengths, a magnetic field vector based on a strength value and a direction at the position of the user equipment, inertial measurement unit data associated with the user equipment, and ambient atmospheric temperature, humidity, and pressure data associated with the location of the user equipment.
- first data among the received data associated with location is used to constrain the user equipment position (e.g., to create an initial constraint on the user equipment position).
- the first data may be GPS data or any other data that is directly related to the location of the user (e.g., estimate position).
- the first data may be referred to as primary data.
- one or more second data among the received data associated with location is used to constrain (e.g., add constraints on) the user equipment position based on the world model.
- the second data may be referred to as secondary data and may not be directly related to the location of the user.
- fingerprinting data among the received data may be used to add further constraints.
- the fingerprinting data may be data that identifies or can be used to identify or determine a landmark (e.g., a name of a landmark).
- radio fingerprinting data may include the name of a Wi-Fi network or access point (such as “Wi-Fi STARBUCKS”), which would indicate that the user equipment is near a particular (e.g., known) location (e.g., STARBUCKS).
- the radio fingerprinting data received from the user equipment may include a list of Wi-Fi access points available to the user equipment.
- the second data is used to constrain the user equipment position based on the world model.
- the device position would be constrained to an overlapping area (C) of the first area (A) and the second area (B).
- data related to the world map is used to constrain (e.g., further constrain) the user equipment position. For example, where the received primary and secondary data constrains the device position to area C in operations 620 and 630 , and the world map indicates that area C includes a portion D that corresponds to an anchor for which no fingerprint or location data is received, then the device position would be further constrained within area C to exclude the overlapping portion D.
- anchors with known positions in space (or in time for moving anchors), or with positions known with high confidence (e.g., satisfying predetermined confidence criteria or greater than a predetermined value), are used to constrain (e.g., further constrain) the user equipment position, based on the world model.
- the anchors may, for example, include, among other things, at least one of: radio anchor points, including emitting sources such as radio towers, Wi-Fi routers and hotspots, Bluetooth beacons (e.g., a Bluetooth beacon used for advertising), a telecommunication base stations; audio anchor points, such as speakers and high frequency emitters; details such as transmission power, weather conditions, runtime measure of propagation loss; and a location of anchor points.
- the confidence on the anchor may be relaxed or reduced. For example, if the STARBUCKS router is an anchor in the world model for an area encompassing the constrained position data, but is not detected among the received data, then there would be a conflict and the confidence in this anchor would be reduced. In case of such conflicts, a minimum number of anchors may be relaxed by a least amount possible for the data to be properly constrained. Next, the list of anchors may be refreshed such that those that have a confidence below a preset threshold are removed from the list of anchors.
- operations 620 to 650 may be performed in sequential order, or may be performed in any order. Further, it is understood that the data received in operation 610 may be received sequentially and may be received in part while operations 620 to 650 are performed. Further, it is understood that at least some of operations 620 to 650 (e.g., operation 640 and 650 ) may be repeatedly performed, e.g., for all data across time, user equipment, and space.
- a user equipment position of high accuracy is obtained based on the data constrained in operations 620 to 660 .
- FIG. 7 is a flowchart 700 illustrating a method of optimizing a world model for detecting a position of user equipment according to at least one embodiment.
- the method of FIG. 8 may be performed by a Base Station included in the federated system for device localization according to one or more embodiments.
- the method of FIG. 8 may be performed to optimize a previously-generated world model.
- data associated with location is received from a user equipment (e.g., mobile device).
- This data may include, among other things, at least one of GPS data, a time associated with the user equipment, a position and velocity of the user equipment based, for example, on one or more GPS signals, a signal strength value of the GPS signals, a list of Wi-Fi access points, Bluetooth beacons, and cellular network base stations available to the user equipment and/or their respective signal strengths, a magnetic field vector based on a strength value and a direction at the position of the user equipment, inertial measurement unit data associated with the user equipment, and ambient atmospheric temperature, humidity, and pressure data associated with the location of the user equipment. Further, the method of FIG.
- operation 7 may be performed subsequently to or in connection with the method of FIG. 6 , such that operation 710 may be omitted and the data may be as obtained in operation 610 , and the optimizing may occur in real time.
- the user equipment position and the world model may be optimized together according to one or more embodiments.
- a deviation layer (e.g., the magnetic field deviation layer) of the world model is updated with data based on the constraint pose and time of user equipment.
- the magnetic field deviation layer includes the magnetic north at a point as well as the location of true north. Since the mobile device sensors provide magnetic north, the deviation layer is used to convert the magnetic north to actual north as well as extract any local influence (e.g., magnetic material).
- the GIS layer is updated with fingerprinting of available anchors, including ratio of signal strength (for example, corrected for transmission power variations, if any) for known anchors and raw signal strengths for unknown anchors.
- motion models in unobserved time are created. These motion models may model how a signal might be changing. Examples of motion models in unobserved time include, but are not limited to: simple shift from one strength/pose to another (e.g., relocation of a Wi-Fi router, open door versus closed door, etc.); temporal shift from one strength/pose to another (e.g., relocation of Wi-Fi router in a food truck); and unknown shifts as fast frequencies such as vibration, weather conditions, etc. (these anchors may be marked for only fingerprinting and not high fidelity localization).
- simple shift from one strength/pose to another e.g., relocation of a Wi-Fi router, open door versus closed door, etc.
- temporal shift from one strength/pose to another e.g., relocation of Wi-Fi router in a food truck
- unknown shifts as fast frequencies such as vibration, weather conditions, etc.
- one or more signal layers are used to create probable position and transmission characteristics (e.g., signal trajectory perpendicular to antenna on router according to identified model of router) of anchors with unknown position, constrained by data taken so far, including multiple models with varying complexity (such as mixture-model, Monte Carlo Markov Chain, etc.).
- probable position and transmission characteristics e.g., signal trajectory perpendicular to antenna on router according to identified model of router
- multiple models with varying complexity such as mixture-model, Monte Carlo Markov Chain, etc.
- the computed probable areas are used to update the GIS layer with fingerprinting data of visible anchors to create probable areas for future user equipment data.
- any anchor whose pose and transmission characteristics are now known with high confidence are added to the known list.
- FIG. 8 is a block diagram of internal and external components of computers 102 and 114 depicted in FIG. 1 in accordance with an illustrative embodiment. It should be appreciated that FIG. 8 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environments may be made based on design and implementation requirements.
- Computer 102 such as a mobile device, and server computer 114 ( FIG. 1 ), such as a device in a base station, may include respective sets of internal components 800 A,B and external components 900 A,B illustrated in FIG. 8 .
- Each of the sets of internal components 800 include one or more processors 820 , one or more computer-readable RAMs 822 and one or more computer-readable ROMs 824 on one or more buses 826 , one or more operating systems 828 , and one or more computer-readable tangible storage devices 830 .
- Processor 820 is implemented in hardware, firmware, or a combination of hardware and software.
- Processor 820 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component.
- processor 820 includes one or more processors capable of being programmed to perform a function.
- Bus 826 includes a component that permits communication among the internal components 800 A,B.
- the one or more operating systems 828 , the software program 108 ( FIG. 1 ) and the device localization program (e.g., GPS Enhancement Program 116 ( FIG. 1 )) on server computer 114 ( FIG. 1 ) are stored on one or more of the respective computer-readable tangible storage devices 830 for execution by one or more of the respective processors 820 via one or more of the respective RAMs 822 (which typically include cache memory).
- each of the computer-readable tangible storage devices 830 is a magnetic disk storage device of an internal hard drive.
- each of the computer-readable tangible storage devices 830 is a semiconductor storage device such as ROM 824 , EPROM, flash memory, an optical disk, a magneto-optic disk, a solid state disk, a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable tangible storage device that can store a computer program and digital information.
- Each set of internal components 800 A,B also includes a R/W drive or interface 832 to read from and write to one or more portable computer-readable tangible storage devices 936 such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk or semiconductor storage device.
- a software program such as the software program 108 ( FIG. 1 ) and the GPS Enhancement Program 116 ( FIG. 1 ) can be stored on one or more of the respective portable computer-readable tangible storage devices 936 , read via the respective R/W drive or interface 832 and loaded into the respective hard drive 830 .
- Each set of internal components 800 A,B also includes network adapters or interfaces 836 such as a TCP/IP adapter cards; wireless Wi-Fi interface cards; or 3G, 4G, or 5G wireless interface cards or other wired or wireless communication links.
- the software program 108 ( FIG. 1 ) and the device localization program (e.g., GPS Enhancement Program 116 ( FIG. 1 )) on the server computer 114 ( FIG. 1 ) can be downloaded to the computer 102 ( FIG. 1 ) and server computer 114 from an external computer via a network (for example, the Internet, a local area network or other, wide area network) and respective network adapters or interfaces 836 .
- a network for example, the Internet, a local area network or other, wide area network
- respective network adapters or interfaces 836 for example, the Internet, a local area network or other, wide area network
- the network may comprise copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- Each of the sets of external components 900 A,B can include a computer display monitor 920 , a keyboard 930 , and a computer mouse 934 .
- External components 900 A,B can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices.
- Each of the sets of internal components 800 A,B also includes device drivers 840 to interface to computer display monitor 920 , keyboard 930 and computer mouse 934 .
- the device drivers 840 , R/W drive or interface 832 and network adapter or interface 836 comprise hardware and software (stored in storage device 830 and/or ROM 824 ).
- the computer readable medium may include a computer-readable non-transitory storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out operations.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program code/instructions for carrying out operations may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects or operations.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the method, computer system, and computer readable medium may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in the Figures.
- the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed concurrently or substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Signal Processing (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Navigation (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/822,217 US11622233B2 (en) | 2020-03-18 | 2020-03-18 | Federated system for mobile device localization |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/822,217 US11622233B2 (en) | 2020-03-18 | 2020-03-18 | Federated system for mobile device localization |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20210297812A1 US20210297812A1 (en) | 2021-09-23 |
| US11622233B2 true US11622233B2 (en) | 2023-04-04 |
Family
ID=77748876
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/822,217 Active US11622233B2 (en) | 2020-03-18 | 2020-03-18 | Federated system for mobile device localization |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US11622233B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210396524A1 (en) * | 2020-06-17 | 2021-12-23 | Astra Navigation, Inc. | Generating a Geomagnetic Map |
| US11558714B2 (en) * | 2021-02-19 | 2023-01-17 | Qualcomm Incorporated | Signal overhead reduction in distributed positioning system |
| CN114117257B (en) * | 2021-11-29 | 2025-12-16 | 阿波罗智能技术(北京)有限公司 | Processing method, device and equipment for generating positioning information of high-precision map |
| JP7361087B2 (en) * | 2021-12-01 | 2023-10-13 | ソフトバンク株式会社 | Positioning system, installation auxiliary device, management device, positioning method and program |
| CN115086877B (en) * | 2022-06-23 | 2025-03-18 | 上海钧正网络科技有限公司 | Device positioning method, device, terminal and medium based on Bluetooth signal propagation model |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6750813B2 (en) * | 2002-07-24 | 2004-06-15 | Mcnc Research & Development Institute | Position optimized wireless communication |
| US20090247186A1 (en) * | 2008-03-28 | 2009-10-01 | University Of South Carolina | Dynamic Localization Using Geographical Information Systems |
| US20100137005A1 (en) * | 2008-11-29 | 2010-06-03 | Inventec Appliances Corp. | Method for positioning portable communication device |
| US8385943B1 (en) * | 2012-05-02 | 2013-02-26 | YFIND Technologies Pte. Ltd. | Method and apparatus for determining location information of a position in a multi-storey building |
| US20140141803A1 (en) * | 2012-11-21 | 2014-05-22 | Apple Inc. | Tiling of map data |
| US20170272911A1 (en) * | 2016-03-18 | 2017-09-21 | Qualcomm Incorporated | Access point environment characterization |
| US11280621B2 (en) * | 2019-01-04 | 2022-03-22 | International Business Machines Corporation | Navigation using a device without global positioning system assistance |
-
2020
- 2020-03-18 US US16/822,217 patent/US11622233B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6750813B2 (en) * | 2002-07-24 | 2004-06-15 | Mcnc Research & Development Institute | Position optimized wireless communication |
| US20090247186A1 (en) * | 2008-03-28 | 2009-10-01 | University Of South Carolina | Dynamic Localization Using Geographical Information Systems |
| US20100137005A1 (en) * | 2008-11-29 | 2010-06-03 | Inventec Appliances Corp. | Method for positioning portable communication device |
| US8385943B1 (en) * | 2012-05-02 | 2013-02-26 | YFIND Technologies Pte. Ltd. | Method and apparatus for determining location information of a position in a multi-storey building |
| US20140141803A1 (en) * | 2012-11-21 | 2014-05-22 | Apple Inc. | Tiling of map data |
| US20170272911A1 (en) * | 2016-03-18 | 2017-09-21 | Qualcomm Incorporated | Access point environment characterization |
| US11280621B2 (en) * | 2019-01-04 | 2022-03-22 | International Business Machines Corporation | Navigation using a device without global positioning system assistance |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210297812A1 (en) | 2021-09-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11622233B2 (en) | Federated system for mobile device localization | |
| EP2951607B1 (en) | Survey techniques for generating location fingerprint data | |
| KR102252566B1 (en) | Systems and methods for using three-dimensional location information to improve location services | |
| TWI557420B (en) | Indoor/outdoor differentiation using radio frequency (rf) transmitters | |
| US11403814B2 (en) | Systems, devices, and methods for generating a dynamic three dimensional communication map | |
| US6934626B2 (en) | Low-cost, low-power geolocation system | |
| US20190041225A1 (en) | Systems, devices, and methods for generating vehicle routes within signal coverage zones | |
| US10075818B2 (en) | Systems and methods for graph-based localization and mapping | |
| US9377519B2 (en) | Server-based mobile device regional candidate position fix mode selection | |
| US9769622B2 (en) | Indoor location survey assisted by a motion path on a venue map | |
| US20110172916A1 (en) | Mobile Device Positioning In A Constrained Environment | |
| US11243288B2 (en) | Location error radius determination | |
| US20210396542A1 (en) | Operating Modes of Magnetic Navigation Devices | |
| US20190043372A1 (en) | Systems, devices, and methods for generating routes within limited communication zones | |
| WO2019028380A1 (en) | Systems, devices, and methods for relaying communications using autonomous drones | |
| Costa | Simulation of the effects of different urban environments on GPS performance using digital elevation models and building databases | |
| US9720071B2 (en) | Mitigating effects of multipath during position computation | |
| US20140274108A1 (en) | Mobile device positioning responsive to externally generated regional candidate position fix mode selection | |
| US20230349698A1 (en) | Correlating Overlapping Magnetic Measurement Data from Multiple Magnetic Navigation Devices and Updating a Geomagnetic Map with that Data | |
| US20160124069A1 (en) | Systems and methods for estimating a two-dimensional position of a receiver | |
| US9389300B2 (en) | Mechanism for employing and facilitating geodetic triangulation for determining global positioning of computing devices | |
| CA3158474A1 (en) | Stable and accurate indoor localization based on predictive hyperbolic location fingerprinting | |
| KR20240158028A (en) | Flight path setting system for aircraft and path setting method therefor | |
| Wang et al. | Bit to brick: from cellular mobile signals to 3D city map creation | |
| Yang et al. | A WiFi/ins indoor pedestrian navigation system augmented by context feature |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: RAKUTEN, INC., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TYAGI, KUNAL;REEL/FRAME:052150/0838 Effective date: 20200312 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: RAKUTEN GROUP INC, JAPAN Free format text: CHANGE OF NAME;ASSIGNOR:RAKUTEN INC;REEL/FRAME:056816/0068 Effective date: 20210525 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |