US20190242713A1 - Determining the position of a mobile device in a geographical area - Google Patents
Determining the position of a mobile device in a geographical area Download PDFInfo
- Publication number
- US20190242713A1 US20190242713A1 US16/366,334 US201916366334A US2019242713A1 US 20190242713 A1 US20190242713 A1 US 20190242713A1 US 201916366334 A US201916366334 A US 201916366334A US 2019242713 A1 US2019242713 A1 US 2019242713A1
- Authority
- US
- United States
- Prior art keywords
- graph
- model
- vertices
- vertex
- observations
- 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.)
- Abandoned
Links
Images
Classifications
-
- 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/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
-
- 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/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3844—Data obtained from position sensors only, e.g. from inertial navigation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2323—Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
-
- G06K9/00476—
-
- G06K9/4604—
-
- G06K9/469—
-
- G06K9/52—
-
- G06K9/6224—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/42—Document-oriented image-based pattern recognition based on the type of document
- G06V30/422—Technical drawings; Geographical maps
Definitions
- the present invention concerns methods and devices for determining the position of a mobile device in a geographical area.
- the invention is particularly applicable where the geographical area is an indoor area. More particularly, but not exclusively, the invention concerns methods of constructing models comprising graphs and feature functions for performing the determination.
- GPS Global Positioning System
- GPS data is not always available, particularly when a device is indoors, due to its reliance on radio signals emitted by dedicated GPS satellites.
- various positioning systems have been proposed that use do not use GPS data, but rather use motion measurements provided by inertial measuring units of devices, such as accelerometer, magnetometer and gyroscopic units.
- inertial measuring units of devices such as accelerometer, magnetometer and gyroscopic units.
- all systems so far proposed have drawbacks, and none has become predominant.
- Electronic maps showing the boundaries in an area are becoming increasingly available, particularly for indoor areas.
- Such an electronic map can be considered to be a spatial graph with constraints.
- the most basic electronic map corresponds to a floor plan, which identifies the constraints on the possible motion within the floor plan, in other words the walls through which a person is not able to walk.
- Maps may also include other useful data (essentially metadata), such as the location of WiFi access points, radio fingerprints, signal strength peaks or distorted geomagnetic fields.
- map matching a series of observations are obtained over time, such as inertial trajectories or RF scans. Map matching then involves attempting to reconcile the observations with the constraints provided by the map, in order to estimate the most feasible trajectory (i.e. sequence of positions of the device), in other words the trajectory that violates the fewest constraints.
- Suggested map matching techniques include those based on recursive Bayesian filters, such as particle/Kalman filters and Hidden Markov Models (HMMs).
- HMMs Hidden Markov Models
- these techniques are computationally expensive, and so are typically run remotely on a server contacted via the Internet, rather than on a device itself. This leads to time delays (“lag”), lack of service in the absence of an reliable Internet connection, and the potential leaking of sensitive sensor/location information to third parties.
- lag time delays
- These techniques also typically require high-precision sensor data in order to provide accurate results, leading to power drain on the device.
- the present invention seeks to solve and/or mitigate the above-mentioned problems. Alternatively and/or additionally, the present invention seeks to provide improved positioning systems that are easily extendable to incorporate new types of sensor data in order to provide more accurate results.
- a computer-implemented method of constructing a model for determining the position of a mobile device in a geographical area comprising:
- a graph comprising a set of vertices and a set of edges between the vertices
- one or more feature functions that take as input one or more vertices of the graph and a set of observations for the device, and return a feature value
- the feature value of the one or more feature functions indicates the extent to which the observations support the device being positioned in the areas corresponding to the one or more vertices of the graph.
- the position of the mobile device can be determined without GPS data being used, for example when reliable GPS data is not available due to obstructions between the device and GPS satellites, jamming of GPS radio signals, or when GPS signals may be spoofed.
- a model can advantageously be provided that can be computed with efficiently and without requiring a large amount of memory. Further, the feature functions can be defined as desired to take into account different observations that can be made, giving flexibility and extendibility.
- the mobile device may be a mobile phone, tablet, wearable device or the like.
- the mobile device may be a mobile autonomous/semi-autonomous machine such as a mobile industrial robot.
- the observations for the mobile device may be provided by sensors such as accelerometers, magnetometers, gyroscopes, WiFi (i.e. radio) sensors or the like.
- the sensors may be incorporated into the device, or may be provided by other devices, such as a sensor worn on the body of a user of the device or another device carried by a user.
- the map may be 2-dimensional or 3-dimensional.
- the map may for example cover several floors of a building.
- features such as stairs and elevators can be identified, providing more constraints for the proposed model and increasing the accuracy of positioning.
- observations are provided only by the accelerometer and magnetometer of the device, as these require less energy than other sensors (for example gyroscopes may use 10 times more energy, and WiFi 200 times more energy.) Further, wearable device may only incorporate accelerometers and magnetometers in order to preserve energy. It has been found that the method of the invention is robust enough to provide accurate results even when using only with the “noisy” sensor data provided by accelerometers and magnetometers.
- the geographical area is an indoor area.
- the indoor area may be the interior of a building, but alternatively may be a cave, underground tunnel, industrial pipeline or the like.
- the model comprises a feature function that takes as input first and second vertices of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex.
- the movement observation includes a distance and angle for the movement.
- the model comprises a feature function that takes as input first and second vertices of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex corrected by a determined rotation angle.
- the rotation angle is determined over a pre-determined length time window.
- the model may comprise a feature function that takes as input a vertex of the graph and a set of observations indicating radio signal strength measurements taken by the device in the area corresponding to the vertex.
- the step of constructing the graph includes the step of removing any vertex which corresponds to an area which could not be reached by a device. This makes computation using the model much more efficient. Vertexes to be removed can be identified by checking if a chain of edges to a reachable vertex exists.
- the method may include the step of determining the weight values for the feature functions by training the model using at least one known device trajectories and corresponding set of observations.
- determining the position of the device to be the end point of the trajectory.
- the mobile device may be a mobile phone, tablet, wearable device or the like.
- observations are provided only by the accelerometer and magnetometer of the device. As discussed above, these require less energy than other sensors, and wearable device may only incorporate accelerometers and magnetometers.
- the method is performed on a co-processor of the mobile device, and does not require the main processor of the mobile device to be used.
- the optimisation may be done using the Viterbi algorithm.
- the method further comprises the step of displaying the determined position on a map on the screen of the device.
- the method further comprises the step of determining a heading for the device, and using the determined heading to correct a heading bias in the set of observations.
- the method further comprises the step of determining at least one parameter used for determining the observations for the device.
- the parameter can then be used improve the accuracy of observations obtained for the device, so helping to ensure the robustness of the method when determining position over long time-periods, and preventing “drift”.
- the at least one parameter includes a step parameter.
- the step parameter may be step length, step frequency coefficient and/or step constant.
- the at least one parameter includes a heading bias parameter.
- a computing device arranged to perform any of the methods described above.
- the computing device may for example be a server that can communicate via the Internet.
- the computing device is further arranged to send the constructed model to a mobile device.
- the computing device may be a mobile device.
- the mobile device may be a mobile phone, tablet, wearable device or the like.
- the mobile device is further arranged to receive the constructed model from a computer device.
- the mobile device may be arranged to construct the model itself.
- a system comprising a computing device as described above and a mobile device as described above.
- the computing device and mobile device may communicate over the Internet.
- a computer program product arranged, when executed on a computing device, to perform any of the methods described above.
- the computing device may be a mobile device.
- a computer program product arranged, when executed on a computing device, to provide a computing device as described above.
- the computing device may be a mobile device.
- a computer program product arranged, when executed on a mobile device, to provide the mobile device described above.
- FIG. 1 is a flowchart showing the operation of a system in accordance with an embodiment of the invention at the highest level;
- FIGS. 2 a to 2 d show creating of the graph in accordance with the embodiment of FIG. 1 ;
- FIG. 3 is a flowchart showing an embodiment of the invention in which the position determining system is used to determine the position of a device in communication with a remote server.
- the system determines the position of a device by map matching using an undirected graph model, in particular a model based upon linear chain conditional random fields (CRFs), as described in detail below.
- CRFs have been successfully used for various applications such as computer vision (e.g. to classify regions of an image), bioinformatics (e.g. to segment genes in a strand of DNA), and natural language processing (e.g. to extract syntax from natural-language text).
- CRFs are undirected probabilistic graphical models that were introduced in J. D. Lafferty, A. McCallum, F. C. N. Pereira, Conditional random fields: Probabilistic models for segmenting and labelling sequence data, Proceedings of the Eighteenth International Conference on Machine Learning, ICML '01, pp. 282-289, 2001.
- conditional probability of states given observations is proportional to the product of potential functions that link observations to consecutive states, as expressed by the following equation:
- a potential function is composed of multiple feature functions f i , each of which reflects in a different way how well the two states S j-1 and S j are supported by the observations Z.
- Feature functions can refer to different subset of observations (from a single step or from multiple steps), and may depend on one or both of S j-1 and S j :
- FIG. 1 is a flow chart showing the operation of the system at the highest level. The steps of operation are as follows; each step is described in more detail later below.
- a map for the indoor area within which the position of the device is to be determined is obtained, and is used to construct a graph (step 1 ). Once the graph has been constructed, it is used to build a set of “feature functions” (step 2 ), which are used with the observations that are obtained from the device.
- the “model” comprises the graph and corresponding feature functions.
- the model is then trained, in order to determine “weights” for the features of the graph (step 3 ).
- This step optimises the accuracy of the model, by applying the model to one or more sets of observation with known trajectories, and then “tuning” the weights so that the model best fits the known trajectories when applied to those sets of observations.
- the system of the invention can provide reliable results when the step of training the model is omitted, and so in alternative embodiments of the invention no training of the model is performed.
- the model can be used with real-time observations from a device to identify the position of the device (step 4 ).
- parameters that are used when making observations can also be determined and optimised. For example, step length parameters used by motion sensing algorithms to make motion observations, and heading estimation parameters used to make heading observations, can be determined.
- the map is obtained, for example the map 11 representing the floor plan of a floor of a building as shown in FIG. 2 a .
- the map is then processed to generate the graph; the later figures show the process as applied to the area 12 of the map, though in practice the entire map will typically be processed, of course.
- Conventional edge-detection algorithms may be used to “clean” the map 11 , e.g. to determine the edges are relevant to movement within the mapped area (i.e. the walls) in a colour map.
- the map 11 is divided into equal sized cells 13 , as shown in FIG. 2 b .
- a smaller cell size results in a model with increased accuracy, but at the expense of computational cost.
- a suitable cell size has been found to be a square cell with edge length the same as the average step length that will be matched, for example 0.8 metres.
- a graph is then constructed from the cells 13 , to give the vertices 14 as shown in FIG. 2 c .
- Each vertex 14 corresponds to a cell 13 .
- a vertex can correspond to a contiguous set of cells.
- Vertices are joined by an edge if they share a common geographical border (i.e. if they share edges or corners) and if their centre-points are “connected”, i.e. there is no wall on the map preventing movement between the two cells. Any unreachable vertices are removed from the graph, i.e. vertices that correspond to cells in which it is impossible for a device to be positioned. This is important to give efficient computational performance using the model.
- FIG. 2 d A resulting graph 15 , with vertices 16 and edges 17 , is shown in FIG. 2 d . (Note the graph of FIG. 2 d of course does not correspond to the graph for the map area shown in FIG. 2 c , of course.)
- a feature function f i defines the degree to which a set of observations Z supports the belief that there has been a change of state from S t-1 to S t ; the stronger support, the higher the value of f i (S t-1 , S t , Z).
- a state will correspond to a position for the device, and so a larger value for f i means a higher likelihood that the device moved from the position given by the state S t-1 to the position given by the state S t .
- any set of observations can be used, but it will be appreciated that those most close in time to t will be of most relevance.
- a first feature function f 1 of the model indicates the extent to which an inertial measurement Z in t supports a transition between state S t-1 and S t :
- I(S t-1 , S t ) is an indicator function equal to 1 when states S t-1 and S t are connected and 0 otherwise.
- the inertial observation Z in t has two components, the measured length Z l t and the angle (heading) Z ⁇ t of displacement, which are assumed to be independent.
- f ⁇ 1 and f l 1 are the functions to relate the angle and length to the underlying graph, respectively.
- the function f ⁇ 1 is defined as:
- ⁇ (S t-1 , S t ) is the orientation of the edge between states S t-1 and S t
- ⁇ ⁇ 2 is the variance of the observation Z ⁇ t
- the function f l 1 is defined similarly.
- a second feature function f 2 of the model handles correlations in heading errors in a recent time window. It does this by measuring how well a corrected inertial measurement Z in t ( ⁇ circumflex over ( ⁇ ) ⁇ ) which is derived by rotating Z in t by angle ⁇ circumflex over ( ⁇ ) ⁇ , supports a transition between state S t-1 and S t :
- ⁇ circumflex over ( ⁇ ) ⁇ is estimated as the estimated as the average heading difference between the estimated and measured headings from t-w to t, where w is a suitable window size parameter, for example 5.
- the estimated headings are based on maximum likelihood estimates (MLEs) generated during use of the model to determine the position, as described below. More specifically:
- MLE state estimates are computed efficiently using the Viterbi algorithm, again as described below.
- a third feature function f 3 of the model takes into account signal strength observations in conjunction with a radio fingerprint map, if it is available for the map area.
- a radio fingerprint map is a map of radio signal strength (RSS) data for known nearby radio sources, such as WiFi access points.
- RSS radio signal strength
- This feature function measures the negative squared Mahalanobis distance between the state and the RSS-based position estimate.
- any set of available feature functions can be used.
- Preferred embodiments of the invention will use the first and second feature functions described above, or feature functions that relate to similar observations.
- Embodiments of the invention may not use the third feature function described above in order to reduce the complexity of the model, or simply because a radio fingerprint map is not available.
- Alternative embodiments of the invention may use any other suitable feature functions, for example if a radio map PeakPointInMap(St) were available containing the locations where the received signal strength indicator (RSSI) from an access point takes a local peak value, the feature function:
- the training of the model uses a set of training data T, which consists of one or more true trajectories, and corresponding sequences of sensor observations.
- the goal of the training is to tune the feature weights ⁇ i in the potential functions ⁇ so that the observations best support the corresponding true trajectories.
- the weights reflect how well the corresponding feature functions can be relied upon as support for a particular state transition.
- Training the model is performed by maximising the log-likelihood on the training data T, i.e. the log of the conditional probability of states given observations:
- Determining the position the device using the model means finding the most likely sequence of hidden states, i.e. the most likely trajectory S*. This is done by solving the optimisation problem:
- Z ) max s ′ ⁇ S ⁇ ⁇ ⁇ j - 1 ⁇ ( s ′ ) ⁇ ⁇ j ⁇ ( s ′ , s , Z , j )
- the most-recently-filled column of the lattice represents a discrete distribution p(S i
- the accuracy of the current position estimate is calculated using the 2 ⁇ or 3 ⁇ rule.
- the use of the model involves one or both of the following additional optimisations.
- the first optimisation step when the estimated location accuracy is high the current step's discrete distribution is replaced with its Gaussian approximation; this helps remove low probabilities far away from the true location, and move them closer to the true location thus slightly extending the estimated error ellipse. This makes the model more robust to slight over- or under-estimation of step length which, after several steps, can make the estimated position drift away from the true position.
- the second optimisation uses the model to estimate the heading at each step, as well as the position. More specifically, when there is a high confidence in a determined path, estimates of headings are generated and compared with the raw heading data provided by the inertial sensors of the device. This allows any bias of the gyroscope of the device to be determined and corrected.
- parameters used for the observations can be determined.
- a step length parameter in particular a step constant ⁇ , can be determined as now described.
- the step constant is used for motion detection by determining an estimate step length l t using the equation:
- f t is step frequency
- h is the pedestrian height
- ⁇ is the step frequency coefficient
- ⁇ is the step constant given pedestrian height
- step length parameter learning only when the estimated step length is the same as (or very close to) the real step length can the maximum conditional probability of the state sequence given the observation be obtained. This means that step constant learning can be taken to be the optimization problem:
- ⁇ * arg ⁇ ⁇ max ⁇ ⁇ ⁇ ln ⁇ ⁇ p ⁇ ⁇ ( S
- step frequency coefficient ⁇ and step constant ⁇ can be also be determined during use of the model using a similar approach to that used for the step constant ⁇ .
- ⁇ gryo and ⁇ mag are the headings estimated from the gyroscopic sensors and magnetometers of the device at time t, respectively.
- the estimated initial heading bias is then fed into a conventional unscented Kalman filter mentioned to provide accurate heading estimations.
- the initial heading bias is obtained by combining gyroscope and magnetometer data.
- Gyroscopic sensors have high accuracy within a short time period, but suffer significantly from long-term bias because of thermo-mechanical events.
- magnetometers do not have long-term drift, but lack of short-term accuracy due to the soft or hard iron effect. Therefore, the two types of sensors can compensate each other to offer highly accurate heading estimations.
- the initial heading can only be estimated from magnetometer and thus a big bias might be introduced; this is compounded by there being at the beginning of the process no other information from the map constraints to correct the initial heading estimation. Due to the crucial nature of the initial heading (it impacts on all subsequent heading estimations), it is necessary to learn the initial heading bias as soon as possible. This is then used to correct heading observations provided by the device, and so improve the performance of the model.
- FIG. 3 is a flowchart showing an embodiment of the invention in which the position determining system is used to determine the position of a device in communication with a remote server.
- the device wishes to determine its location in an indoor area.
- the device queries the server for a model for the indoor area (step 21 ).
- the server obtains a model for the indoor area (step 22 ). It may do this by performing the steps of obtaining a map, constructing a graph and so on, as described above.
- the server may have a model that it previously constructed for the indoor area, or be able to obtain a model for a repository of such models.
- the server then sends the model to the device (step 23 ).
- the device constructs the model itself, using a map obtained from a remote device such as a server.
- the device uses the model as described above to determine its location (step 24 ); in particular, the device is able to do the determination itself without requiring any further communication with the server.
- the device uses the model to find the most likely trajectory, as described above. As part of this, the device also determines the step length and heading bias parameters as described above. At each step, the device obtains a Gaussian distribution indicating its position. The device then displays this distribution overlaid on the map on the screen of the device, to indicate to the user of the device their determined position.
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Navigation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A method of determining the position of a mobile device uses a model. The model is constructed by obtaining a map of a geographical area, constructing the graph using the map, wherein vertices of the graph correspond to areas of the map, and two vertices are joined by an edge when the areas corresponding to the vertices are adjacent and can be travelled between by a device, and building the one or more feature functions using the graph, wherein a feature value of the one or more feature functions indicates the extent to which the observations support the device being positioned in the areas corresponding to one or more vertices of the graph.
Description
- This application is a continuation of U.S. Non-provisional application Ser. No. 15/119,556 filed on Aug. 17, 2016, which is a national phase entry under 35 U.S.C. § 371 of PCT/GB15/050425 filed on Feb. 16, 2015, which claims priority to Greece Application No. 20140100087 filed on Feb. 17, 2014 and United Kingdom (GB) Application No. 1405469.6 filed on Mar. 27, 2014. The contents of each of the aforementioned patent applications are hereby incorporated by reference in their entirety.
- The present invention concerns methods and devices for determining the position of a mobile device in a geographical area. The invention is particularly applicable where the geographical area is an indoor area. More particularly, but not exclusively, the invention concerns methods of constructing models comprising graphs and feature functions for performing the determination.
- The identification of the position of a device when outdoors, for example to identify the position of a mobile phone, is primarily done using GPS (Global Positioning System). However, GPS data is not always available, particularly when a device is indoors, due to its reliance on radio signals emitted by dedicated GPS satellites. As a result, various positioning systems have been proposed that use do not use GPS data, but rather use motion measurements provided by inertial measuring units of devices, such as accelerometer, magnetometer and gyroscopic units. However, all systems so far proposed have drawbacks, and none has become predominant.
- Electronic maps showing the boundaries in an area are becoming increasingly available, particularly for indoor areas. Such an electronic map can be considered to be a spatial graph with constraints. The most basic electronic map corresponds to a floor plan, which identifies the constraints on the possible motion within the floor plan, in other words the walls through which a person is not able to walk. Maps may also include other useful data (essentially metadata), such as the location of WiFi access points, radio fingerprints, signal strength peaks or distorted geomagnetic fields.
- Various map matching techniques have been suggested for use with indoor positioning systems. In map matching, a series of observations are obtained over time, such as inertial trajectories or RF scans. Map matching then involves attempting to reconcile the observations with the constraints provided by the map, in order to estimate the most feasible trajectory (i.e. sequence of positions of the device), in other words the trajectory that violates the fewest constraints.
- Suggested map matching techniques include those based on recursive Bayesian filters, such as particle/Kalman filters and Hidden Markov Models (HMMs). However, these techniques are computationally expensive, and so are typically run remotely on a server contacted via the Internet, rather than on a device itself. This leads to time delays (“lag”), lack of service in the absence of an reliable Internet connection, and the potential leaking of sensitive sensor/location information to third parties. These techniques also typically require high-precision sensor data in order to provide accurate results, leading to power drain on the device.
- The present invention seeks to solve and/or mitigate the above-mentioned problems. Alternatively and/or additionally, the present invention seeks to provide improved positioning systems that are easily extendable to incorporate new types of sensor data in order to provide more accurate results.
- In accordance with a first embodiment of the invention there is provided a computer-implemented method of constructing a model for determining the position of a mobile device in a geographical area, wherein the model comprises:
- a graph comprising a set of vertices and a set of edges between the vertices;
- one or more feature functions that take as input one or more vertices of the graph and a set of observations for the device, and return a feature value;
- the method comprising the steps of:
- obtaining a map of the geographical area;
- constructing the graph using the map, wherein the vertices of the graph correspond to areas of the map, and two vertices are joined by an edge when the areas corresponding to the vertices are adjacent and can be travelled between by a device;
- building the one or more feature functions using the graph, wherein the feature value of the one or more feature functions indicates the extent to which the observations support the device being positioned in the areas corresponding to the one or more vertices of the graph.
- By using such a graph and feature functions defined using the graph, the position of the mobile device can be determined without GPS data being used, for example when reliable GPS data is not available due to obstructions between the device and GPS satellites, jamming of GPS radio signals, or when GPS signals may be spoofed.
- A model can advantageously be provided that can be computed with efficiently and without requiring a large amount of memory. Further, the feature functions can be defined as desired to take into account different observations that can be made, giving flexibility and extendibility.
- The mobile device may be a mobile phone, tablet, wearable device or the like. Alternatively, the mobile device may be a mobile autonomous/semi-autonomous machine such as a mobile industrial robot.
- The observations for the mobile device may be provided by sensors such as accelerometers, magnetometers, gyroscopes, WiFi (i.e. radio) sensors or the like. The sensors may be incorporated into the device, or may be provided by other devices, such as a sensor worn on the body of a user of the device or another device carried by a user.
- The map may be 2-dimensional or 3-dimensional. The map may for example cover several floors of a building. In the case the map is of a building, for example, features such as stairs and elevators can be identified, providing more constraints for the proposed model and increasing the accuracy of positioning.
- Advantageously, observations are provided only by the accelerometer and magnetometer of the device, as these require less energy than other sensors (for example gyroscopes may use 10 times more energy, and WiFi 200 times more energy.) Further, wearable device may only incorporate accelerometers and magnetometers in order to preserve energy. It has been found that the method of the invention is robust enough to provide accurate results even when using only with the “noisy” sensor data provided by accelerometers and magnetometers.
- Advantageously, the geographical area is an indoor area. The indoor area may be the interior of a building, but alternatively may be a cave, underground tunnel, industrial pipeline or the like.
- Preferably, the model comprises a feature function that takes as input first and second vertices of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex. Preferably the movement observation includes a distance and angle for the movement.
- Advantageously, the model comprises a feature function that takes as input first and second vertices of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex corrected by a determined rotation angle. Preferably, the rotation angle is determined over a pre-determined length time window.
- The model may comprise a feature function that takes as input a vertex of the graph and a set of observations indicating radio signal strength measurements taken by the device in the area corresponding to the vertex.
- It will be appreciated that feature functions based on any other observations provided by sensors of the device could be used.
- Preferably, the step of constructing the graph includes the step of removing any vertex which corresponds to an area which could not be reached by a device. This makes computation using the model much more efficient. Vertexes to be removed can be identified by checking if a chain of edges to a reachable vertex exists.
- Each feature function has a corresponding weight value. In that case, the method may include the step of determining the weight values for the feature functions by training the model using at least one known device trajectories and corresponding set of observations.
- In accordance with a second embodiment of the invention there is provided a computer-implemented method of determining the position of a mobile device using a model obtained using the method of any preceding claim, comprising the steps of:
- obtaining a set of observations from the sensors of the device;
- determining the trajectory for the device that optimises the values given by the feature functions given for the set of observations; and
- determining the position of the device to be the end point of the trajectory.
- The mobile device may be a mobile phone, tablet, wearable device or the like. Advantageously, observations are provided only by the accelerometer and magnetometer of the device. As discussed above, these require less energy than other sensors, and wearable device may only incorporate accelerometers and magnetometers.
- Advantageously, the method is performed on a co-processor of the mobile device, and does not require the main processor of the mobile device to be used.
- The optimisation may be done using the Viterbi algorithm.
- Preferably, the method further comprises the step of displaying the determined position on a map on the screen of the device.
- Advantageously, the method further comprises the step of determining a heading for the device, and using the determined heading to correct a heading bias in the set of observations.
- Advantageously, the method further comprises the step of determining at least one parameter used for determining the observations for the device. The parameter can then be used improve the accuracy of observations obtained for the device, so helping to ensure the robustness of the method when determining position over long time-periods, and preventing “drift”. Advantageously the at least one parameter includes a step parameter. The step parameter may be step length, step frequency coefficient and/or step constant. Further advantageously, the at least one parameter includes a heading bias parameter.
- In accordance with a third embodiment of the invention there is provided a computing device arranged to perform any of the methods described above. The computing device may for example be a server that can communicate via the Internet. Preferably, the computing device is further arranged to send the constructed model to a mobile device.
- The computing device may be a mobile device. The mobile device may be a mobile phone, tablet, wearable device or the like. Preferably, the mobile device is further arranged to receive the constructed model from a computer device. Alternatively, the mobile device may be arranged to construct the model itself.
- In accordance with a fourth embodiment of the invention there is provided a system comprising a computing device as described above and a mobile device as described above. The computing device and mobile device may communicate over the Internet.
- In accordance with a fifth embodiment of the invention there is provided a computer program product arranged, when executed on a computing device, to perform any of the methods described above. The computing device may be a mobile device.
- In accordance with a sixth embodiment of the invention there is provided a computer program product arranged, when executed on a computing device, to provide a computing device as described above. The computing device may be a mobile device.
- In accordance with a ninth embodiment of the invention there is provided a computer program product arranged, when executed on a mobile device, to provide the mobile device described above.
- It will of course be appreciated that features described in relation to one aspect of the present invention may be incorporated into other aspects of the present invention. For example, the method of the invention may incorporate any of the features described with reference to the apparatus of the invention and vice versa.
- Embodiments of the present invention will now be described by way of example only with reference to the accompanying schematic drawings of which:
-
FIG. 1 is a flowchart showing the operation of a system in accordance with an embodiment of the invention at the highest level; -
FIGS. 2a to 2d show creating of the graph in accordance with the embodiment ofFIG. 1 ; and -
FIG. 3 is a flowchart showing an embodiment of the invention in which the position determining system is used to determine the position of a device in communication with a remote server. - A system in accordance with an embodiment of the invention is now described with reference to
FIGS. 1 to 3 . The system determines the position of a device by map matching using an undirected graph model, in particular a model based upon linear chain conditional random fields (CRFs), as described in detail below. CRFs have been successfully used for various applications such as computer vision (e.g. to classify regions of an image), bioinformatics (e.g. to segment genes in a strand of DNA), and natural language processing (e.g. to extract syntax from natural-language text). - CRFs are undirected probabilistic graphical models that were introduced in J. D. Lafferty, A. McCallum, F. C. N. Pereira, Conditional random fields: Probabilistic models for segmenting and labelling sequence data, Proceedings of the Eighteenth International Conference on Machine Learning, ICML '01, pp. 282-289, 2001. In linear chain CRFs, the conditional probability of states given observations is proportional to the product of potential functions that link observations to consecutive states, as expressed by the following equation:
-
- where j denoted the position in the observation sequence, and Ψ are potential functions. A potential function is composed of multiple feature functions fi, each of which reflects in a different way how well the two states Sj-1 and Sj are supported by the observations Z. Feature functions can refer to different subset of observations (from a single step or from multiple steps), and may depend on one or both of Sj-1 and Sj:
-
-
FIG. 1 is a flow chart showing the operation of the system at the highest level. The steps of operation are as follows; each step is described in more detail later below. - First, a map for the indoor area within which the position of the device is to be determined is obtained, and is used to construct a graph (step 1). Once the graph has been constructed, it is used to build a set of “feature functions” (step 2), which are used with the observations that are obtained from the device. The “model” comprises the graph and corresponding feature functions.
- The model is then trained, in order to determine “weights” for the features of the graph (step 3). This step optimises the accuracy of the model, by applying the model to one or more sets of observation with known trajectories, and then “tuning” the weights so that the model best fits the known trajectories when applied to those sets of observations. However, it has been found that the system of the invention can provide reliable results when the step of training the model is omitted, and so in alternative embodiments of the invention no training of the model is performed.
- Once the model has been obtained and trained (if desired), it can be used with real-time observations from a device to identify the position of the device (step 4). During use of the model to determine the position of the device, parameters that are used when making observations can also be determined and optimised. For example, step length parameters used by motion sensing algorithms to make motion observations, and heading estimation parameters used to make heading observations, can be determined.
- The construction of the graph from the map is now described with reference to
FIGS. 2a to 2d . First, the map is obtained, for example themap 11 representing the floor plan of a floor of a building as shown inFIG. 2a . The map is then processed to generate the graph; the later figures show the process as applied to thearea 12 of the map, though in practice the entire map will typically be processed, of course. Conventional edge-detection algorithms may be used to “clean” themap 11, e.g. to determine the edges are relevant to movement within the mapped area (i.e. the walls) in a colour map. - The
map 11 is divided into equalsized cells 13, as shown inFIG. 2b . A smaller cell size results in a model with increased accuracy, but at the expense of computational cost. A suitable cell size has been found to be a square cell with edge length the same as the average step length that will be matched, for example 0.8 metres. - A graph is then constructed from the
cells 13, to give thevertices 14 as shown inFIG. 2c . Eachvertex 14 corresponds to acell 13. (In alternative embodiments of the invention, a vertex can correspond to a contiguous set of cells.) - Vertices are joined by an edge if they share a common geographical border (i.e. if they share edges or corners) and if their centre-points are “connected”, i.e. there is no wall on the map preventing movement between the two cells. Any unreachable vertices are removed from the graph, i.e. vertices that correspond to cells in which it is impossible for a device to be positioned. This is important to give efficient computational performance using the model.
- A resulting
graph 15, withvertices 16 andedges 17, is shown inFIG. 2d . (Note the graph ofFIG. 2d of course does not correspond to the graph for the map area shown inFIG. 2c , of course.) - The building of the feature functions for the model is now described. A feature function fi defines the degree to which a set of observations Z supports the belief that there has been a change of state from St-1 to St; the stronger support, the higher the value of fi(St-1, St, Z). In the model, a state will correspond to a position for the device, and so a larger value for fi means a higher likelihood that the device moved from the position given by the state St-1 to the position given by the state St. With CRFs any set of observations can be used, but it will be appreciated that those most close in time to t will be of most relevance.
- A first feature function f1 of the model indicates the extent to which an inertial measurement Zin t supports a transition between state St-1 and St:
-
- where I(St-1, St) is an indicator function equal to 1 when states St-1 and St are connected and 0 otherwise. The inertial observation Zin t has two components, the measured length Zl t and the angle (heading) Zθ t of displacement, which are assumed to be independent. fθ 1 and fl 1 are the functions to relate the angle and length to the underlying graph, respectively. The function fθ 1 is defined as:
-
- where θ(St-1, St) is the orientation of the edge between states St-1 and St, and σθ 2 is the variance of the observation Zθ t. The function fl 1 is defined similarly.
- A second feature function f2 of the model handles correlations in heading errors in a recent time window. It does this by measuring how well a corrected inertial measurement Zin t({circumflex over (θ)}) which is derived by rotating Zin t by angle {circumflex over (θ)}, supports a transition between state St-1 and St:
-
- where {circumflex over (θ)} is estimated as the estimated as the average heading difference between the estimated and measured headings from t-w to t, where w is a suitable window size parameter, for example 5. The estimated headings are based on maximum likelihood estimates (MLEs) generated during use of the model to determine the position, as described below. More specifically:
-
- where Θ represents the angle between two vectors, and SMLE t is the MLE of the state at time t taking into account all observations from 0 to t. MLE state estimates are computed efficiently using the Viterbi algorithm, again as described below.
- A third feature function f3 of the model takes into account signal strength observations in conjunction with a radio fingerprint map, if it is available for the map area. (A radio fingerprint map is a map of radio signal strength (RSS) data for known nearby radio sources, such as WiFi access points.) Unlike the previous feature functions which constrain state transitions, this feature function constraints individual states. It is defined as follows:
-
- where the observation ZRSS t has two components, the estimated mean μt and the covariance Σt of the current position given (RSS) fingerprint data. This feature function measures the negative squared Mahalanobis distance between the state and the RSS-based position estimate.
- The feature functions of the model are combined to give the potential function:
-
- as described above. It is an advantageous feature of the present invention that any set of available feature functions can be used. Preferred embodiments of the invention will use the first and second feature functions described above, or feature functions that relate to similar observations. Embodiments of the invention may not use the third feature function described above in order to reduce the complexity of the model, or simply because a radio fingerprint map is not available. Alternative embodiments of the invention may use any other suitable feature functions, for example if a radio map PeakPointInMap(St) were available containing the locations where the received signal strength indicator (RSSI) from an access point takes a local peak value, the feature function:
-
- could additionally be used.
- The training of the model is now described. The training uses a set of training data T, which consists of one or more true trajectories, and corresponding sequences of sensor observations. The goal of the training is to tune the feature weights λi in the potential functions Ψ so that the observations best support the corresponding true trajectories. The weights reflect how well the corresponding feature functions can be relied upon as support for a particular state transition.
- Training the model is performed by maximising the log-likelihood on the training data T, i.e. the log of the conditional probability of states given observations:
-
- By taking the partial derivative of the log likelihood function with respect to each feature L and setting it to 0, the maximum entropy model constraint:
-
- is obtained; that is, the expected value of the i-th feature under the empirical distribution ET(fi) is equal to its expected value under the model distribution E(fi), where the two expected values are:
-
- Setting the gradient to zero does not always allow an analytical solution for the weights λi to be obtained, in which case iterative methods such as iterative scaling or gradient-based methods must be used. Regardless of the method used, it is of course desirable to compute ET(fi) and E(fi) efficiently. This can be done for ET(fi) simply by going over each training sequence, summing up the weighted sum of feature functions over all time steps, and summing up the result for all training sequences. Computing E(fi), however, is slightly more complicated and requires the use of a dynamic programming approach, known as the Forward-Backward algorithm, similar to the one typically used for Hidden Markov Models. The application of this algorithm to CRFs is described in R. Klinger, K. Tomanek, Classical probabilistic models and conditional random fields, TR07-2-013, Technische Universitat Dortmund, 2007.
- The use of the model to determine the position of a device using obtained observations is now described. As discussed above, this may be done after the model has been trained, or alternatively the training step may be omitted.
- Determining the position the device using the model means finding the most likely sequence of hidden states, i.e. the most likely trajectory S*. This is done by solving the optimisation problem:
-
- This can be done using the Viterbi algorithm as described in G. D. Forney, The Viterbi algorithm, Proceedings of the IEEE 61(3): 268-278, March 1973. At each step, the highest score δi(s) along a path at position j that ends in each possible value s for state Sj is calculated:
-
- and a lattice is gradually filled with these values. The most-recently-filled column of the lattice represents a discrete distribution p(Si
| |Z1:i), and this is normalised and converted to a 2-dimensional Gaussian distribution, with mean {circumflex over (μ)} and variance {circumflex over (Σ)} determined by the MLE estimates: -
- The accuracy of the current position estimate is calculated using the 2σ or 3σ rule.
- In particular embodiments, the use of the model involves one or both of the following additional optimisations. For the first optimisation step, when the estimated location accuracy is high the current step's discrete distribution is replaced with its Gaussian approximation; this helps remove low probabilities far away from the true location, and move them closer to the true location thus slightly extending the estimated error ellipse. This makes the model more robust to slight over- or under-estimation of step length which, after several steps, can make the estimated position drift away from the true position. The second optimisation uses the model to estimate the heading at each step, as well as the position. More specifically, when there is a high confidence in a determined path, estimates of headings are generated and compared with the raw heading data provided by the inertial sensors of the device. This allows any bias of the gyroscope of the device to be determined and corrected.
- As discussed above, during use of the model, parameters used for the observations can be determined.
- A step length parameter, in particular a step constant γ, can be determined as now described. The step constant is used for motion detection by determining an estimate step length lt using the equation:
-
l t =h(αf t+β)+γ - where ft is step frequency, h is the pedestrian height, α is the step frequency coefficient, and β is the step constant given pedestrian height.
- The key idea of the step length parameter learning is that only when the estimated step length is the same as (or very close to) the real step length can the maximum conditional probability of the state sequence given the observation be obtained. This means that step constant learning can be taken to be the optimization problem:
-
- The feature functions described above cannot be used for step length parameter learning. Instead, starting with an initial γ the whole training trajectory is divided into segments of length the same as the graph edge length. A new feature function only taking into account the heading observation is then defined as:
-
- where Zθ t is the heading observation at time t, θ(St-1, St) is the orientation of the edge from state St-1 to state St, and σθ 2 is the heading observation variance. The optimization problem is then solved by the hard EM process of iterating over the steps:
-
- The step frequency coefficient α and step constant δ can be also be determined during use of the model using a similar approach to that used for the step constant γ.
- An initial heading bias Δh is obtained by solving the optimisation problem:
-
- where h is the heading bias at time t=0, t′ is the time the pedestrian has walked before the bias estimation (empirically found to be of the order of 30 to 90 seconds), θgryo and θmag are the headings estimated from the gyroscopic sensors and magnetometers of the device at time t, respectively. The estimated initial heading bias is then fed into a conventional unscented Kalman filter mentioned to provide accurate heading estimations.
- Thus, the initial heading bias is obtained by combining gyroscope and magnetometer data. Gyroscopic sensors have high accuracy within a short time period, but suffer significantly from long-term bias because of thermo-mechanical events. In contrast, magnetometers do not have long-term drift, but lack of short-term accuracy due to the soft or hard iron effect. Therefore, the two types of sensors can compensate each other to offer highly accurate heading estimations. However, the initial heading can only be estimated from magnetometer and thus a big bias might be introduced; this is compounded by there being at the beginning of the process no other information from the map constraints to correct the initial heading estimation. Due to the crucial nature of the initial heading (it impacts on all subsequent heading estimations), it is necessary to learn the initial heading bias as soon as possible. This is then used to correct heading observations provided by the device, and so improve the performance of the model.
-
FIG. 3 is a flowchart showing an embodiment of the invention in which the position determining system is used to determine the position of a device in communication with a remote server. The device wishes to determine its location in an indoor area. First, the device queries the server for a model for the indoor area (step 21). The server then obtains a model for the indoor area (step 22). It may do this by performing the steps of obtaining a map, constructing a graph and so on, as described above. Alternatively, the server may have a model that it previously constructed for the indoor area, or be able to obtain a model for a repository of such models. The server then sends the model to the device (step 23). - In alternative embodiments, the device constructs the model itself, using a map obtained from a remote device such as a server.
- The device then uses the model as described above to determine its location (step 24); in particular, the device is able to do the determination itself without requiring any further communication with the server.
- To determine its location, the device uses the model to find the most likely trajectory, as described above. As part of this, the device also determines the step length and heading bias parameters as described above. At each step, the device obtains a Gaussian distribution indicating its position. The device then displays this distribution overlaid on the map on the screen of the device, to indicate to the user of the device their determined position.
- While the present invention has been described and illustrated with reference to particular embodiments, it will be appreciated by those of ordinary skill in the art that the invention lends itself to many different variations not specifically illustrated herein.
Claims (14)
1. A computer-implemented method of constructing a model for determining the position of a mobile device in a geographical area, wherein the model comprises:
a graph comprising a set of vertices and a set of edges between the vertices;
one or more feature functions that take as input one or more vertices of the graph and a set of observations for the device, and return a feature value;
the method comprising constructing the model via executing the steps of:
obtaining a map of the geographical area;
constructing the graph using the map, wherein the vertices of the graph correspond to areas of the map, and two vertices are joined by an edge when the areas corresponding to the vertices are adjacent and can be travelled between by a device;
building the one or more feature functions using the graph, wherein the feature value of the one or more feature functions indicates the extent to which the observations support the device being positioned in the areas corresponding to the one or more vertices of the graph.
2. The computer-implemented method as claimed in claim 1 , wherein at least one of the one or more feature functions takes as input a first and a second vertex of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex.
3. The computer-implemented method as claimed in claim 1 , wherein at least one of the one or more feature functions takes as input a first and a second vertex of the graph, and a set of observations indicating the movement of the device from the area corresponding to the first vertex to the area corresponding to the second vertex corrected by a determined rotation angle.
4. The computer-implemented method as claimed in claim 1 , wherein at least one of the one or more feature functions takes as input a vertex of the graph and a set of observations indicating radio signal strength measurements taken by the device in the area corresponding to the vertex.
5. The computer-implemented method as claimed in claim 1 , wherein the step of constructing the graph includes the step of removing any vertex which corresponds to an area which could not be reached by a device.
6. The computer-implemented method as claimed in claim 1 , wherein each of the one or more feature functions has a corresponding weight value.
7. The computer-implemented method as claimed in claim 6 , further comprising the step of determining the weight values for the one or more feature functions by training the model using at least one known device trajectories and corresponding set of observations.
8. A computing device arranged to perform the method of claim 1 .
9. The computing device as claimed in claim 8 , further arranged to send the constructed model to a mobile device.
10. The computing device as claimed in claim 8 , wherein the computing device is a mobile device.
11. A system comprising a computing device as claimed in claim 8 .
12. A non-transitory computer program product arranged, when executed on a computing device, to perform the method of claim 1 .
13. The non-transitory computer program product as claimed in claim 12 , wherein the computing device is a mobile device.
14. A non-transitory computer program product arranged, when executed on a computing device, to provide the computing device of claim 8 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/366,334 US20190242713A1 (en) | 2014-02-17 | 2019-03-27 | Determining the position of a mobile device in a geographical area |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20140100087 | 2014-02-17 | ||
GR20140100087 | 2014-02-17 | ||
GB201405469A GB201405469D0 (en) | 2014-03-27 | 2014-03-27 | Determining the position of a mobile device in a geographical area |
GB1405469.6 | 2014-03-27 | ||
PCT/GB2015/050425 WO2015121677A1 (en) | 2014-02-17 | 2015-02-16 | Determining the position of a mobile device in a geographical area |
US201615119556A | 2016-08-17 | 2016-08-17 | |
US16/366,334 US20190242713A1 (en) | 2014-02-17 | 2019-03-27 | Determining the position of a mobile device in a geographical area |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/119,556 Continuation US10281282B2 (en) | 2014-02-17 | 2015-02-16 | Determining the position of a mobile device in a geographical area |
PCT/GB2015/050425 Continuation WO2015121677A1 (en) | 2014-02-17 | 2015-02-16 | Determining the position of a mobile device in a geographical area |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190242713A1 true US20190242713A1 (en) | 2019-08-08 |
Family
ID=52484513
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/119,556 Active US10281282B2 (en) | 2014-02-17 | 2015-02-16 | Determining the position of a mobile device in a geographical area |
US16/366,334 Abandoned US20190242713A1 (en) | 2014-02-17 | 2019-03-27 | Determining the position of a mobile device in a geographical area |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/119,556 Active US10281282B2 (en) | 2014-02-17 | 2015-02-16 | Determining the position of a mobile device in a geographical area |
Country Status (6)
Country | Link |
---|---|
US (2) | US10281282B2 (en) |
EP (1) | EP3108207B1 (en) |
CN (2) | CN106471338A (en) |
AU (1) | AU2015216722B2 (en) |
ES (1) | ES2821440T3 (en) |
WO (1) | WO2015121677A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185952A1 (en) * | 2020-03-20 | 2021-09-23 | Thales | Method for calculating a path, associated computer program product, storage medium and device |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180052636A (en) | 2015-09-10 | 2018-05-18 | 오리엔트 뉴 미디어 엘티디. | Automated map generation for mobile device navigation, tracking and positioning in GPS denied or inaccurate regions |
US10837774B2 (en) * | 2016-02-04 | 2020-11-17 | Gipstech S.R.L. | System and method for calibrating magnetic sensors in real and finite time |
CN106054125B (en) * | 2016-05-05 | 2018-03-13 | 南京邮电大学 | A kind of fusion indoor orientation method based on linear chain condition random field |
GB201613105D0 (en) * | 2016-07-29 | 2016-09-14 | Tomtom Navigation Bv | Methods and systems for map matching |
CN106871894B (en) * | 2017-03-23 | 2020-03-13 | 北京工业大学 | Map matching method based on conditional random field |
GB201718507D0 (en) | 2017-07-31 | 2017-12-27 | Univ Oxford Innovation Ltd | A method of constructing a model of the motion of a mobile device and related systems |
CN109425341B (en) * | 2017-08-22 | 2022-09-27 | 富士通株式会社 | Positioning method, positioning device and electronic equipment |
CN107702715B (en) * | 2017-08-23 | 2019-09-20 | 昆山联骥机器人有限公司 | A kind of robot autonomous navigation numerical map method for building up of indoor service |
CN109784353A (en) * | 2017-11-14 | 2019-05-21 | 北京三星通信技术研究有限公司 | A kind of matched method of non-directed graph, equipment and storage medium |
CN109839118A (en) * | 2017-11-24 | 2019-06-04 | 北京京东尚科信息技术有限公司 | Paths planning method, system, robot and computer readable storage medium |
US11631394B2 (en) * | 2017-12-22 | 2023-04-18 | Robert Bosch Gmbh | System and method for determining occupancy |
US10317216B1 (en) * | 2018-03-16 | 2019-06-11 | Microsoft Technology Licensing, Llc | Object and location tracking with a graph-of-graphs |
CN108801275B (en) * | 2018-06-11 | 2021-11-16 | 西安天图测绘信息技术有限公司 | Indoor mobile robot fingerprint map establishing method based on wireless network and geomagnetic signals |
CN109341681B (en) * | 2018-10-19 | 2023-10-27 | 珠海格力电器股份有限公司 | Method and system for determining position of equipment in building and air conditioner |
CN111708010B (en) * | 2019-03-01 | 2024-04-12 | 北京图森智途科技有限公司 | Mobile equipment positioning method, device and system and mobile equipment |
CN111174784B (en) * | 2020-01-03 | 2022-10-14 | 重庆邮电大学 | Visible light and inertial navigation fusion positioning method for indoor parking lot |
CN111536961A (en) * | 2020-03-31 | 2020-08-14 | 上海卫星工程研究所 | Information fusion method based on Markov random process and oriented to impact detection task |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5488559A (en) | 1993-08-02 | 1996-01-30 | Motorola, Inc. | Map-matching with competing sensory positions |
US6108603A (en) | 1998-04-07 | 2000-08-22 | Magellan Dis, Inc. | Navigation system using position network for map matching |
WO2001061271A2 (en) | 2000-02-15 | 2001-08-23 | Prolink, Inc. | Map-matching golf navigation system |
KR20040111446A (en) | 2002-03-29 | 2004-12-31 | 마쯔시다덴기산교 가부시키가이샤 | Map matching method, map matching device, database for shape matching, and shape matching device |
US7359718B2 (en) * | 2004-04-30 | 2008-04-15 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Location determination and location tracking in wireless networks |
CN100514084C (en) * | 2007-09-18 | 2009-07-15 | 澳门科技大学 | Positioning method for wireless radio frequency recognition system and device thereof |
KR100953079B1 (en) | 2007-11-09 | 2010-04-19 | 팅크웨어(주) | Map matching method using geomagnetic sensor and navigation system |
JP2011511281A (en) | 2008-02-04 | 2011-04-07 | テレ アトラス ノース アメリカ インコーポレイテッド | Map matching method with objects detected by sensors |
CN102116621B (en) * | 2010-01-05 | 2013-01-02 | 财团法人工业技术研究院 | Object tracking method and system across sensors |
US8583400B2 (en) * | 2011-05-13 | 2013-11-12 | Google Inc. | Indoor localization of mobile devices |
US20120295632A1 (en) | 2011-05-18 | 2012-11-22 | Sony Ericsson Mobile Communications Ab | Indoor map distribution |
US8706413B2 (en) * | 2011-10-17 | 2014-04-22 | Qualcomm Incorporated | Determining a likelihood of a directional transition at a junction in an encoded routability graph description |
KR20130066354A (en) | 2011-12-12 | 2013-06-20 | 현대엠엔소프트 주식회사 | Apparatus and method fot map matching of user termanal |
CN102819844A (en) * | 2012-08-22 | 2012-12-12 | 上海海事大学 | Laser particle image registering method for estimating relative motion of mobile robot |
GB201219742D0 (en) * | 2012-11-02 | 2012-12-12 | Tom Tom Int Bv | Methods and systems for generating a horizon for use in an advanced driver assistance system (adas) |
US9417091B2 (en) * | 2013-05-13 | 2016-08-16 | The Johns Hopkins University | System and method for determining and correcting field sensors errors |
-
2015
- 2015-02-16 EP EP15705372.9A patent/EP3108207B1/en active Active
- 2015-02-16 WO PCT/GB2015/050425 patent/WO2015121677A1/en active Application Filing
- 2015-02-16 CN CN201580020159.2A patent/CN106471338A/en active Pending
- 2015-02-16 ES ES15705372T patent/ES2821440T3/en active Active
- 2015-02-16 AU AU2015216722A patent/AU2015216722B2/en active Active
- 2015-02-16 CN CN201910651750.8A patent/CN110501010A/en active Pending
- 2015-02-16 US US15/119,556 patent/US10281282B2/en active Active
-
2019
- 2019-03-27 US US16/366,334 patent/US20190242713A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021185952A1 (en) * | 2020-03-20 | 2021-09-23 | Thales | Method for calculating a path, associated computer program product, storage medium and device |
FR3108399A1 (en) * | 2020-03-20 | 2021-09-24 | Thales | Method for calculating a path, computer program product, associated information medium and device |
Also Published As
Publication number | Publication date |
---|---|
CN110501010A (en) | 2019-11-26 |
EP3108207A1 (en) | 2016-12-28 |
ES2821440T3 (en) | 2021-04-26 |
US10281282B2 (en) | 2019-05-07 |
CN106471338A (en) | 2017-03-01 |
AU2015216722B2 (en) | 2019-01-24 |
US20170074665A1 (en) | 2017-03-16 |
WO2015121677A1 (en) | 2015-08-20 |
AU2015216722A1 (en) | 2016-09-01 |
EP3108207B1 (en) | 2020-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190242713A1 (en) | Determining the position of a mobile device in a geographical area | |
US10571270B2 (en) | Fusion of sensor and map data using constraint based optimization | |
US10365363B2 (en) | Mobile localization using sparse time-of-flight ranges and dead reckoning | |
Murata et al. | Smartphone-based indoor localization for blind navigation across building complexes | |
US10244362B2 (en) | Use of RF-based fingerprinting for indoor positioning by mobile technology platforms | |
CN108700421B (en) | Method and system for assisting enhanced portable navigation using offline map information | |
US10126134B2 (en) | Method and system for estimating uncertainty for offline map information aided enhanced portable navigation | |
US9846042B2 (en) | Gyroscope assisted scalable visual simultaneous localization and mapping | |
TWI500003B (en) | Positioning and mapping based on virtual landmarks | |
US20170023659A1 (en) | Adaptive positioning system | |
JP5450832B1 (en) | Position detection apparatus, position detection method, and position detection program | |
De Cock et al. | Multi-floor indoor pedestrian dead reckoning with a backtracking particle filter and viterbi-based floor number detection | |
Koroglu et al. | Pedestrian inertial navigation with building floor plans for indoor environments via non-recursive Bayesian filtering | |
JP7125927B2 (en) | Information terminal device, method and program | |
Charroud et al. | Enhanced autoencoder-based LiDAR localization in self-driving vehicles | |
Pradhan et al. | Development and testing of inertial measurement system for indoor localization | |
Peisker et al. | A new non-linear filtering algorithm for road-constrained vehicle tracking | |
WO2023067363A1 (en) | Location finding apparatus and associated methods | |
Yang et al. | Indoor/Outdoor Robot Localization | |
Yusefi et al. | Gnss-Onboard Inertial Sensor Integration for Accurate Autonomous Vehicle Localization in Gnss-Denied Scenarios | |
Xiao et al. | Lightweight map matching for indoor localization using conditional random fields (BEST PAPER) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: OXFORD UNIVERSITY INNOVATION LIMITED, UNITED KINGD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TRIGONI, AGATHANIKI;XIAO, ZHUOLING;SIGNING DATES FROM 20161213 TO 20161214;REEL/FRAME:048747/0524 |
|
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 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |