WO2013188597A2 - Irregular feature mapping - Google Patents

Irregular feature mapping Download PDF

Info

Publication number
WO2013188597A2
WO2013188597A2 PCT/US2013/045519 US2013045519W WO2013188597A2 WO 2013188597 A2 WO2013188597 A2 WO 2013188597A2 US 2013045519 W US2013045519 W US 2013045519W WO 2013188597 A2 WO2013188597 A2 WO 2013188597A2
Authority
WO
WIPO (PCT)
Prior art keywords
path
tracking data
determining
shape
feature
Prior art date
Application number
PCT/US2013/045519
Other languages
French (fr)
Other versions
WO2013188597A3 (en
Inventor
Amrit Bandyopadhyay
Brian BEISEL
John KARVOUNIS
Jared Napora
Benjamin E. Funk
Carole Teolis
Original Assignee
Amrit Bandyopadhyay
Beisel Brian
Karvounis John
Jared Napora
Funk Benjamin E
Carole Teolis
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Amrit Bandyopadhyay, Beisel Brian, Karvounis John, Jared Napora, Funk Benjamin E, Carole Teolis filed Critical Amrit Bandyopadhyay
Publication of WO2013188597A2 publication Critical patent/WO2013188597A2/en
Publication of WO2013188597A3 publication Critical patent/WO2013188597A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; 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/16Navigation; 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/165Navigation; 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
    • G01C21/1652Navigation; 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 with ranging devices, e.g. LIDAR or RADAR
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; 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/16Navigation; 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/165Navigation; 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
    • G01C21/1654Navigation; 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 with electromagnetic compass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/013Identifying areas in a building
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-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/0257Hybrid positioning
    • G01S5/0263Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems
    • G01S5/0264Hybrid positioning by combining or switching between positions derived from two or more separate positioning systems at least one of the systems being a non-radio wave positioning system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Definitions

  • Patent Application Serial Number 13/616,350 filed September 14, 2012; and "System and Method for Localizing a Trackee at a Location and Mapping the Location Using Inertial Sensor Formation," U.S. Patent Application Serial Number 13/852,649, filed March 28, 2013.
  • the technical field generally relates to a system and method for locating, tracking, and/or monitoring the status of personnel or assets, both indoors and outdoors.
  • the user track and map information that is acquired by use of multiple sensors is combined so that the map information can compensate for dead reckoning, e.g. inertial, drift while user motion/track information can allow perceptually aliased feature information to be disambiguated.
  • dead reckoning e.g. inertial
  • user motion/track information can allow perceptually aliased feature information to be disambiguated.
  • a computer-implemented method may include obtaining tracking data that has dead reckoning tracking data for a tracked subject along a path and performing shape correction on the tracking data to provide a first estimate of the path.
  • FIG. 1 illustrates tracks of multiple tracked subjects as they walk together into and over a tunnel structure.
  • FIG. 2 illustrates a non-limiting, exemplary method of implementing hierarchical shape matching
  • FIG. 3 illustrates misaligned shapes.
  • FIG. 4 illustrates an aligned shape based on misaligned shapes of FIG. 3
  • FIG. 5 illustrates a ground truth path shape
  • FIG. 6 illustrates a reported inertial path
  • FIG. 7 illustrates improvements to a dead reckoning path after sensor fusion corrections.
  • FIG. 8 illustrates improvements to a dead reckoning path after coarse shape corrections.
  • FIG. 9 illustrates a portion of a dead reckoning path after fine shape feature corrections
  • FIG. 10 illustrates close-up views of portions of the dead reckoning path of FIG.
  • FIG. 1 1 illustrates a portion of a dead reckoning path after fine shape feature corrections
  • FIG. 12 illustrates a rectangular building with lines indicating probable grid direction
  • FIG. 13 illustrates a multi-grid building with lines indicating probable grid direction
  • FIG. 14 illustrates a multi-grid building with lines indicating probable grid direction
  • FIG. 15 illustrates a building grid angle partition in an irregularly shaped building
  • FIG. 16 illustrates an approximate layout of hallways in a building
  • FIG. 17 illustrates inertial path data in conjunction with a building outline
  • FIG. 18 illustrates results of a shape matching algorithm aided by building grid information
  • FIG. 19 illustrates results dead reckoning path without grid information of a building
  • FIG. 20 illustrates a non-limiting, exemplary method of implementing shape matching with reduced complexity
  • FIG. 21 illustrates feature rotations and feature match
  • FIG. 22 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features
  • FIG. 23 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features
  • FIG. 24 illustrates a sensor fusion path and a corrected path after constraints have been enforced
  • FIG. 25 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features
  • FIG. 26 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features
  • FIG. 27 illustrates a path solution considering FIG. 26 with constraints applied.
  • FIG. 28 is an exemplary block diagram representing a general purpose computer system in which aspects of the methods and systems disclosed herein or portions thereof may be incorporated.
  • a hallway might be inferred if a subject moves for a long period in a confined straight area. Climbing might indicate the presence of a stairwell and an elevation change without climbing might infer an elevator. For each inferred feature, its estimated location and orientation are known from the sensor measurements. These geospatial constraints placed on the navigation solution can mitigate the accumulation of inertial dead reckoning errors. Postulated knowledge of hallways and other building grid constraints may be enforced on the navigation solution to yield an effective angular drift correction. Revisiting a known elevator or a stairwell, likewise, enables a location correction.
  • FIG. 1 shows the tracks of multiple tracked subjects as they walk together into and over a tunnel structure.
  • FIG. 1 shows the output of an automated transition detection cortex.
  • the relatively light colored/thin segments, such as segment 115 and 125 denote segments where the tracks are classified as in a "structured environment," while the relatively dark segments, such as 105, 1 10, and 120, of the track are classified as outdoors or in an "unstructured environment.”
  • the method of hierarchical shape matching segments the subject's dead reckoning path into combinations of lines and identifies potential matches based on segment descriptors and path shape.
  • the descriptors contain information on the segment length, width, and other segment signature data.
  • the algorithm is hierarchical and performs adaptive segmentation and then matching at what could be thought of as different zoom levels that are selected dependent on the path length. Coarse segmentation is performed and potential matches are made, then finer segmentation of the matched segments is performed in order to improve the accuracy of the match (or to reject it). Estimates of inertial track error are used to limit the corrections and the search space. Higher quality matching criteria are required for larger assumed errors.
  • FIG. 2 illustrates a non-limiting, exemplary method 200 of implementing hierarchical shape matching.
  • the algorithm includes sensor fusion 205, coarse shape corrections 210, and fine shape corrections 215.
  • Sensor fusion 205 corrections e.g., inertial, compass, pressure
  • the best estimate of the path can be obtained using constraint-based optimization, for example.
  • Constraint-based optimization may include obtaining tracking data, such as data from a dead reckoning sensor of a tracked subject, obtaining constraints, and then using a convex
  • the path is described by a set of linear segments with width less than a certain threshold which may be adapted based on the distance covered by the path. More details are given below when discussing path segmentation. Shapes consist of a series of segments. And new shapes in the path are attempted to be matched to prior path shapes within the error bounds of the tracked subject. Matches provide corrections which reduce error overall. With regard to fine shape corrections 215, the coarse shape corrected path is described by a set of linear segments with a width less than a certain lower threshold. Again, new shapes in the path are attempted to be matched to prior path shapes within the error bounds of the tracked subject. The goal is to fine tune the coarse corrections. If shapes do not match at the finer resolution, the coarse corrections may be reversed.
  • Path segmentation is based on the concept of dividing the path into stretches of straight walking or stretches that can be contained in a straight area of a certain width or with a deviation from the best fit line less than a threshold. Lines are chosen because shape matching techniques based on lines are efficient and relatively complicated logic can be simplified using straight line approximations. Additionally, segmenting in higher width segments allows a view of a lower resolution path which is similar to the approach human pattern recognition might follow when scanning for a match. While lines are chosen herein, other shape functions may be used to approximate the data, for example, polynomial approximations.
  • Path segmentation may be adapted to the distance covered by the path within the structure.
  • the threshold width is initialized at 2 meters because hallways are typically this wide in office buildings. In a house which is smaller, the width may be initializes at 1 meter. If a path covers several kilometers, the width of the segments can be adapted to be larger (e.g. 5 meters to 15 meters) providing a more coarse segmentation in the coarse matching allows for larger segments and for some of the more fine detail of the path to be ignored on the first matching.
  • All of the detected shape features can feed into simultaneous localization and mapping (SLAM) algorithms which can provide corrections based on the shape location estimate when a shape is revisited.
  • SLAM simultaneous localization and mapping
  • These SLAM algorithms search through the detected shapes comparing each to determine if there is a match. It makes sense to limit the search for potential matches to those shapes whose location estimates fall within the estimated error bound of the newly discovered shape feature. Regardless of the error bound, if the correction distance is high (for example, lO's of meters) (which may be the case in very long paths after significant time has passed) it makes sense to require a higher quality match, which may consist of requiring a higher amount of overlap of the shapes.
  • a match is determined by measuring the quality of the shape overlap, which is the amount of overlap between an input set of lines and a base set of lines. Overlap does not need to be 100%. A person may have walked a slightly different path so some lines in a base pattern may not have any overlap. On the other hand a person may have walked back and forth in one area of the map so some lines in the base pattern could have multiple segments overlapping them. The changes in orientation and offset needed to obtain the maximum overlap also feed into the match quality.
  • the shape matching algorithms may also include sensor profile matching. For example, magnetic heading data (which could be ⁇ 180 degrees rotation may account for walking through an area in the opposite direction) may be combed with shape matching to increase confidence of a good match.
  • FIG. 3 and FIG. 4 show an example of a good match.
  • Shape 305 is a rotation and translation of shape 310. The misalignment is caused by inertial drift. When the drift is removed the underlying map is evident and we get shape 405.
  • the tracking device contained three axis accelerometers, gyroscopes (poorly calibrated to challenge the algorithms), a magnetometer, and a barometric pressure sensor.
  • the tracks were initialized at a known starting location then continued for about 2 kilometers (in and out of the cavern) in fully GPS denied conditions.
  • FIG. 5 shows the ground truth path shape and FIG. 6 shows the reported inertial path.
  • the inertial path was initialized at the starting location and the heading was arbitrarily set to zero when the tracking unit was turned on. Sensor bias is seen as a drift factor (in the test it was .086) that causes the path to open up.
  • FIG. 7 shows the improvements after sensor fusion corrections.
  • Line 710 is a representation of the inertial path of FIG. 7 after sensor fusion corrections. After sensor fusion, the path still has slight drift errors which result in location errors in the middle section of the path of 91.85 meter as indicated by the line 715.
  • the path in should overlap the path out almost completely as shown in the ground truth path of FIG. 5.
  • FIG. 8 shows the inertial path in and out of the cavern after coarse shape corrections. The errors are significantly reduced, but the path has been distorted so that the errors increase in one section, as indicated by oval 805.
  • FIG. 9 illustrates a portion of the inertial path after fine shape feature corrections.
  • FIG. 10 and FIG. 11 show close-up views of portions of the inertial path in the center (error was 91.85 m before corrections), and at the end, (error was 176 m before corrections). At this point residual relative errors in the path were about 10 meters in the center and the end point error was less than 3 meters.
  • the footprint (outline of the structure) is usually known. Information can be inferred about the most probable orientation of hallways. For example, in a rectangular structure, hallways are likely to be aligned along directions parallel to the edges of the structure. Thus a grid is defined in the direction of the longest edge of the building indicating that and the most probable hallway directions will be either parallel or perpendicular to the grid direction, as shown in FIG. 12. In slightly more complex buildings, there may be wings with different grids, as shown in FIG. 13 or non-rectangular shapes, as shown in FIG. 14.
  • the process for determining the most probable grid may be automated. For example consider the building outline shown in FIG. 15. The building outline is partitioned into varying length straight segments whose vertices are indicated by black dots along the outline. The curved portion 1505 has several vertices to create the straight line segments.
  • the most probable grid direction can be determined, for example, by spawning lines from an interior point in all headings/directions, and finding the outline segment that intersects each of the spawned lines without obstruction (e.g., line of sight ray tracing). The distances from the interior point to the outline, weighted by the length of the intersected outline segment for all the spawned lines can be used to create a histogram of the possible grid headings for the point.
  • FIG. 15 illustrates the most probable grid headings computed in this manner.
  • the arrows on the left side of line 1508 and indicated by 1510 show an area where there is generally high probability of a single grid (length of the arrow is proportionate to the probability of the grid direction prediction).
  • the arrows on the right side of line 1508 and indicated generally by 155 show areas of higher probabilities of curved or multi-grid headings indicated with smaller arrows and multiple arrows at the same point.
  • the arrows within the building outline may be color coded (e.g., red and green) to easily display the probabilities of curved and straight line.
  • the probable headings at multiple points in the segment may be computed (e.g. start, end, center) and normalized across multiple points.
  • FIG. 16 shows an approximate layout of the building hallways. Building hallway information is not used in the algorithm, but the building outline information is used.
  • FIG. 17 shows the inertial path data 1705 with the start point set to the correct location and the heading set to zero in the direction the subject was facing when the device was turned on. It is clear that heading and corrections are needed. Note the ambiguity between the building curvature and the amount of drift in the path.
  • FIG. 18 shows the results of the shape matching algorithm aided by the building grid information.
  • the same algorithms can be used without the probable grid information when building footprints are not available.
  • the segments that are detected to be in a structure and are approximately perpendicular to each other are grouped. This is done first because in the majority of manmade structures rectangular shapes predominate.
  • the perpendicular segments are segments 1905, 1910, 1915, 1920, 1925, and 1930.
  • the heading estimates from each of these perpendicular segments are analyzed to estimate the combined orientation. Heading agreement from these segments reflects positively on the confidence that this is the grid heading of the underlying structure. Without information on the structure outline, shifting the shapes to match orientation may be less accurate. In this case since the tracked subject walked the same set of hallways the magnetic signatures matched and the confidence in the heading was high so the results are very similar.
  • FIG. 19 shows the results without grid information.
  • Hierarchical shape matching was run in post processing mode. In other words, there was access to the entire track before beginning the processing. It was desirable to implement a method for irregular shape matching that could run in real-time or near real-time. In the port to run real-time, some significant changes were made to the approach in order to reduce computational complexity. A method for selecting shape features was developed that put more emphasis on uniqueness and this had the added benefit of improved robustness.
  • FIG. 20 illustrates a non-limiting, exemplary method 2000 of implementing shape matching with reduced complexity.
  • hierarchical shape matching with reduced complexity includes sensor fusion 2005, unique shape feature selection 2010, feature matching 2015, and correction 2020.
  • Sensor fusion 2005 corrections e.g., inertial, compass, pressure
  • the best estimate of the path can be obtained using constraint-based optimization, for example.
  • Constraint-based optimization may include obtaining tracking data, such as data from a dead reckoning sensor, of a tracked subject, obtaining constraints, and then using convex optimization method on the constraints and the tracking data. Any of a plurality of known methods for sensor fusion may be used.
  • the real-time feature extraction and matching proceeds after sensor fusion algorithms have been run to determine the best globally corrected path. That is the path with best global offset, rotation, drift, and scale are already computed based on available information. For unique shape feature selection 2010, the path is processed to extract uniquely shaped segments.
  • the shapes length, L must be longer than a minimum threshold length.
  • a minimum threshold length In an embodiment 10 meters was chosen to insure structural features were picked and not points in a path that have unique motion, but are confined to a small space. Being confined to a small space may occur when a person with a tracking device loiters in an area.
  • a section of a path is considered unique when the standard deviation of vector of heading angle changes over a section of path, ⁇ , is greater than a threshold, for example 0.1 radians.
  • Douglas-Peucker algorithm is used to approximate the feature with a series of points joined by straight lines where the distance of the original feature from the approximation is never greater than epsilon.
  • the feature is considered unique only if the algorithm uses more than a minimum number of points. For example the minimum number of point may be 3, which would be only be possible for features are not straight lines since straight lines are not unique.
  • Another process looks at extracted shape features to determine that they are the same as other known features.
  • Two shape feature match candidates, A and ⁇ B are compared by taking the shorter length feature ⁇ B and comparing it with the longer candidate feature ⁇ A at different translations, s, along the length of the feature ⁇ A (both forward and reverse). For example, see FIG. 21.
  • the comparison is made by computing the difference in the vector heading changes over the duration of the feature.
  • the feature rotations are shown as perfect (curve 21 15 is flipped version of 2110) but this is not necessary for a match. Since the vector of heading changes are being compared as the feature (in either direction) is traversed, the differences in the feature rotation do not affect the comparison.
  • a threshold here 0.2 radians was chosen for each element of the feature. If this is true, then a cost is computed that measures the heading variations and normalizes for the length of the feature and the standard deviation of the feature candidates. It is determined whether the cost is less than a threshold (here 1.5)
  • estimates of the inertial track error are used to limit the search space for feature matches. Very tight control may be used to avoid false matches.
  • the search space accounts for a drift of ⁇ 0.001radians/second (this is a corrected drift since sensor fusion algorithms have already run). So for example, if the user revisits a feature, the drift accumulated since the feature was originally visited will be limited by ⁇ 0.001 radians/second applied to the intervening path.
  • Requiring higher quality matching criteria e.g., the differences between feature vector of heading changes matches over the segment is below some lower threshold, or requiring a more unique features, e.g., more points in the Ramer-Douglas-Peucker algorithm, could reduce the risk in allowing matching when the features have larger location estimate differences.
  • Other sensor signatures could also be compared to increase confidence in potential segment matches. For example, considering the magnetic data along with the heading differences at each point. With regard to correction 2020, if it is concluded that two features might be the same, then constraints are made at the endpoints and midpoint tie the two path segments together. This is enforced in the navigation solution by solving a constraint based optimization for at least one of the path offset, rotation, scale or drift of the result of the sensor fusion process such that the constraints are satisfied as closely as possible.
  • FIG. 22 and 23 shows two different sections of the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features. The lines connect the features at the endpoints and midpoint.
  • FIG. 24 shows the sensor fusion path (lines 2405 and 2410) and the corrected path 2415 after the constraints have been enforced using constraint based optimization to refine parameters for offset, rotation, drift and scale with a near perfect match.
  • FIG. 25 shows an example of the original track with connecting lines such as lines 2505 and 2510 indicating the connected endpoints and midpoint of the matched feature constraints.
  • the algorithms also apply also in buildings when there is no knowledge of the building outline.
  • FIG. 26 shows the original track and again the connecting lines are constraints.
  • FIG. 27 shows the solution with constraints applied. The true path looks like an "L". The final solution is accurate in some sections but not as accurate in others. Local constraint based optimization is used to apply constraints and sometimes constraints are not able to be found to correct every portion of a path. In this case, inferred building knowledge may be used to help improve the solution. It is not used in this instance, in order to highlight the shape matching.
  • the techniques described above can be implemented on a computing device associated with a user (e.g., gyroscope and accelerometer sensors implemented on a device worn by the user), a plurality of computing devices associated with a plurality of users, a server in communication with the computing device(s) (e.g., a server configured to calibrate the gyroscope and accelerometer sensors of the device worn by the user), or a plurality of servers in
  • Figure 28 illustrates an exemplary block diagram of a computing system that includes hardware modules, software module, and a combination thereof and that can be implemented as the computing device and/or as the server.
  • the computing system may include at least a processor, a system memory, a storage device, input/output peripherals, communication peripherals, and an interface bus.
  • the interface bus is configured to communicate, transmit, and transfer data, controls, and commands between the various components of the electronic device.
  • the system memory and the storage device comprise computer readable storage media, such as RAM, ROM, EEPROM, hard-drives, CD-ROMs, optical storage devices, magnetic storage devices, flash memory, and other tangible storage media. Any of such computer readable storage medium can be configured to store instructions or program codes embodying aspects of the disclosure.
  • system memory comprises an operation system and applications.
  • the processor is configured to execute the stored instructions and can comprise, for example, a logical processing unit, a microprocessor, a digital signal processor, and the like.
  • the system memory and the storage device may also comprise computer readable signal media.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein. Such a propagated signal may take any of variety of forms including, but not limited to, electro-magnetic, optical, or any combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use in connection with the computing system.
  • the input and output peripherals include user interfaces such as a keyboard, screen, microphone, speaker, other input/output devices, and computing components such as digital-to-analog and analog-to-digital converters, graphical processing units, serial ports, parallel ports, and universal serial bus.
  • the input/output peripherals may be connected to the processor through any of the ports coupled to the interface bus.
  • the user interfaces can be configured to allow a user of the computing system to interact with the computing system.
  • the computing system may include instructions that, when executed, cause the computing system to generate a user interface that the user can use to provide input to the computing system and to receive an output from the computing system.
  • This user interface may be in the form of a graphical user interface that is rendered at the screen and that is coupled with audio transmitted on the speaker and microphone and input received at the keyboard.
  • the user interface can be locally generated at the computing system.
  • the user interface may be hosted on a remote computing system and rendered at the computing system.
  • the server may generate the user interface and may transmit information related thereto to the computing device that, in turn, renders the user interface to the user.
  • the computing device may, for example, execute a browser or an application that exposes an application program interface (API) at the server to access the user interface hosted on the server.
  • API application program interface
  • the communication peripherals of the computing system are configured to facilitate communication between the computing system and other computing systems (e.g., between the computing device and the server) over a communications network.
  • communication peripherals include, for example, a network interface controller, modem, various modulators/demodulators and encoders/decoders, wireless and wired interface cards, antenna, and the like.
  • the communication network includes a network of any type that is suitable for providing communications between the computing device and the server and may comprise a combination of discrete networks which may use different technologies.
  • the communications network includes a cellular network, a WiFi/ broadband network, a local area network (LAN), a wide area network (WAN), a telephony network, a fiber-optic network, or combinations thereof.
  • the communication network includes the Internet and any networks adapted to communicate with the Internet.
  • the communications network may be also configured as a means for transmitting data between the computing device and the server.
  • the techniques described above may be embodied in, and fully or partially automated by, code modules executed by one or more computers or computer processors.
  • the code modules may be stored on any type of non-transitory computer-readable medium or computer storage device, such as hard drives, solid state memory, optical disc, and/or the like.
  • the processes and algorithms may be implemented partially or wholly in application-specific circuitry.
  • the results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of non-transitory computer storage such as, e.g., volatile or non- volatile storage.
  • the various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure.
  • Conditional language used herein such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

Abstract

Disclosed herein are methods and systems for mapping irregular features. In an embodiment, a computer-implemented method may include obtaining tracking data that has dead reckoning tracking data for a tracked subject along a path and performing shape correction on the tracking data to provide a first estimate of the path.

Description

IRREGULAR FEATURE MAPPING
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application
No. 61/658,883, filed June 12, 2012, titled "Advanced Navigation Engine."
GOVERNMENT RIGHTS
[0002] The subject matter disclosed herein was made with government support under contract number DARPA SBIR Phase II - W31P4Q-10-C-0166 awarded by the Defense Advanced Research Projects Agency. The Government may have certain rights in the herein disclosed subject matter.
INCORPORATION BY REFERENCE
[0003] This application address concepts discussed in the following previously-filed applications: "Method and System for Locating and Monitoring First Responders," U.S. Patent Publication Serial Number 2008/0077326, May 31, 2007; "Methods Resolving the Elevation of a Tracked Personnel or Assets," U.S. Provisional Patent Application Serial Number 61/783,799, filed March 14, 2013; "Methods for Improved Heading Estimation," U.S. Provisional Patent Application Serial Number 61/783,908, filed March 14, 2013; "System and Method for Locating, Tracking, and/or Monitoring the Status of Personnel and/or Assets Both Indoors and Outdoors," U.S. Patent Application Serial Number 13/616,350, filed September 14, 2012; and "System and Method for Localizing a Trackee at a Location and Mapping the Location Using Inertial Sensor Formation," U.S. Patent Application Serial Number 13/852,649, filed March 28, 2013.
TECHNICAL FIELD
[0004] The technical field generally relates to a system and method for locating, tracking, and/or monitoring the status of personnel or assets, both indoors and outdoors.
BACKGROUND
[0005] Derived relative motion information, which uses a dead reckoning process, is subject to cumulative error. Thus a tracking system relying on dead reckoning alone may have a continuous decrease in accuracy, which makes derived relative motion information not trustworthy over long periods of time. Many other aiding sensors have been considered including ranging and optical based mapping systems.
[0006] The user track and map information that is acquired by use of multiple sensors is combined so that the map information can compensate for dead reckoning, e.g. inertial, drift while user motion/track information can allow perceptually aliased feature information to be disambiguated.
SUMMARY
[0007] Disclosed herein are methods and systems for mapping irregular features. In an embodiment, a computer-implemented method may include obtaining tracking data that has dead reckoning tracking data for a tracked subject along a path and performing shape correction on the tracking data to provide a first estimate of the path.
[0008] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that solve any or all disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings wherein:
[0010] FIG. 1 illustrates tracks of multiple tracked subjects as they walk together into and over a tunnel structure.
[0011] FIG. 2 illustrates a non-limiting, exemplary method of implementing hierarchical shape matching;
[0012] FIG. 3 illustrates misaligned shapes.
[0013] FIG. 4 illustrates an aligned shape based on misaligned shapes of FIG. 3;
[0014] FIG. 5 illustrates a ground truth path shape;
[0015] FIG. 6 illustrates a reported inertial path;
[0016] FIG. 7 illustrates improvements to a dead reckoning path after sensor fusion corrections.
[0017] FIG. 8 illustrates improvements to a dead reckoning path after coarse shape corrections. [0018] FIG. 9 illustrates a portion of a dead reckoning path after fine shape feature corrections;
[0019] FIG. 10 illustrates close-up views of portions of the dead reckoning path of FIG.
9;
[0020] FIG. 1 1 illustrates a portion of a dead reckoning path after fine shape feature corrections;
[0021] FIG. 12 illustrates a rectangular building with lines indicating probable grid direction;
[0022] FIG. 13 illustrates a multi-grid building with lines indicating probable grid direction;
[0023] FIG. 14 illustrates a multi-grid building with lines indicating probable grid direction;
[0024] FIG. 15 illustrates a building grid angle partition in an irregularly shaped building;
[0025] FIG. 16 illustrates an approximate layout of hallways in a building;
[0026] FIG. 17 illustrates inertial path data in conjunction with a building outline;
[0027] FIG. 18 illustrates results of a shape matching algorithm aided by building grid information;
[0028] FIG. 19 illustrates results dead reckoning path without grid information of a building;
[0029] FIG. 20 illustrates a non-limiting, exemplary method of implementing shape matching with reduced complexity;
[0030] FIG. 21 illustrates feature rotations and feature match;
[0031] FIG. 22 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features;
[0032] FIG. 23 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features;
[0033] FIG. 24 illustrates a sensor fusion path and a corrected path after constraints have been enforced;
[0034] FIG. 25 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features;
[0035] FIG. 26 illustrates the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features;
[0036] FIG. 27 illustrates a path solution considering FIG. 26 with constraints applied. [0037] FIG. 28 is an exemplary block diagram representing a general purpose computer system in which aspects of the methods and systems disclosed herein or portions thereof may be incorporated.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0038] Low cost inertial sensors alone have insufficient accuracy to provide infrastructure free tracking over extended periods. System accuracy can generally be improved by typically higher cost hardware or signal processing algorithms that incorporate sensor redundancy and other external information. The latter approach is disclosed herein, which allows the delivery of high performance devices at relatively low prices. Algorithms have been designed to constrain or eliminate inertial errors that tend to accumulate in GPS denied environments. These algorithms may use path histories, geospatial constraints, inter-asset relationships, and other applicable external information.
[0039] Also, algorithms have been developed for in building tracking that is able to infer environmental structure based on measurements of the tracked subject's motion and using GIS building footprint information, if available.
[0040] For example, in buildings, the existence of a hallway might be inferred if a subject moves for a long period in a confined straight area. Climbing might indicate the presence of a stairwell and an elevation change without climbing might infer an elevator. For each inferred feature, its estimated location and orientation are known from the sensor measurements. These geospatial constraints placed on the navigation solution can mitigate the accumulation of inertial dead reckoning errors. Postulated knowledge of hallways and other building grid constraints may be enforced on the navigation solution to yield an effective angular drift correction. Revisiting a known elevator or a stairwell, likewise, enables a location correction.
[0041] In buildings, rigid assumptions can be made on their architecture to aid in identifying building features and the underlying map. These same assumptions do not necessarily hold in natural environmental structures, such as caves. But caves do have a rigid structure that can be mapped. Disclosed herein are methods that enable discovery and mapping of features in natural and manmade structures. The disclosed methods also enable improved tracking in non-rectangular buildings and other irregular unknown shape structures. Similar to the in-building algorithms, a feature map of the area is created that can be used for corrections.
[0042] Variations of this method exist. In the examples contained herein, these methods are applied to shape matching in 2-D. The matching criteria may be extended to consider the z location along the path at the same time. The method is similarly applicable to matching path elevation shapes to a given terrain elevation data set. Often the elevation data sets available online do not have fine resolution (they are sampled in x, y and z over a coarse grid) so methods discussed herein for coarse matching would be applicable.
[0043] With respect to developing a generic structural mapping capability, elevation tracking and automated detection of entry into a structured environment are issues. Even without pre-existing information of the environment (e.g., building footprint location and shape information), transitions to structured natural environments may be detected and mapped. The structured natural environments may be detected by using sensors, for example, to detect the reduction in signal strength of GPS, changes in satellite geometry, changes in light, changes in magnetic field variation or the like. By adding the ability to handle naturally varying elevation and potentially irregular (non-linear) shapes, the goal is to move away from rigid building structures to a "terrain", where terrains can be natural or man-made and may have varying elevation rather than discrete levels as in buildings.
[0044] FIG. 1 shows the tracks of multiple tracked subjects as they walk together into and over a tunnel structure. FIG. 1 shows the output of an automated transition detection cortex. The relatively light colored/thin segments, such as segment 115 and 125 denote segments where the tracks are classified as in a "structured environment," while the relatively dark segments, such as 105, 1 10, and 120, of the track are classified as outdoors or in an "unstructured environment."
[0045] The method of hierarchical shape matching segments the subject's dead reckoning path into combinations of lines and identifies potential matches based on segment descriptors and path shape. The descriptors contain information on the segment length, width, and other segment signature data. The algorithm is hierarchical and performs adaptive segmentation and then matching at what could be thought of as different zoom levels that are selected dependent on the path length. Coarse segmentation is performed and potential matches are made, then finer segmentation of the matched segments is performed in order to improve the accuracy of the match (or to reject it). Estimates of inertial track error are used to limit the corrections and the search space. Higher quality matching criteria are required for larger assumed errors. Other sensor signatures can be compared for potential segment matches and factored in to the match probabilities for a given location. The methods work on the same concepts as human pattern recognition capabilities in that they match at varying resolutions and allow partial shape matches. [0046] FIG. 2 illustrates a non-limiting, exemplary method 200 of implementing hierarchical shape matching. In summary, the algorithm includes sensor fusion 205, coarse shape corrections 210, and fine shape corrections 215. Sensor fusion 205 corrections (e.g., inertial, compass, pressure) are performed to get the best estimate of the dead reckoning path. The best estimate of the path can be obtained using constraint-based optimization, for example.
Constraint-based optimization may include obtaining tracking data, such as data from a dead reckoning sensor of a tracked subject, obtaining constraints, and then using a convex
optimization method on the constraints and the tracking data. Any of a plurality of known methods for sensor fusion may be used.
[0047] For coarse shape corrections 210 the path is described by a set of linear segments with width less than a certain threshold which may be adapted based on the distance covered by the path. More details are given below when discussing path segmentation. Shapes consist of a series of segments. And new shapes in the path are attempted to be matched to prior path shapes within the error bounds of the tracked subject. Matches provide corrections which reduce error overall. With regard to fine shape corrections 215, the coarse shape corrected path is described by a set of linear segments with a width less than a certain lower threshold. Again, new shapes in the path are attempted to be matched to prior path shapes within the error bounds of the tracked subject. The goal is to fine tune the coarse corrections. If shapes do not match at the finer resolution, the coarse corrections may be reversed.
[0048] Path segmentation is based on the concept of dividing the path into stretches of straight walking or stretches that can be contained in a straight area of a certain width or with a deviation from the best fit line less than a threshold. Lines are chosen because shape matching techniques based on lines are efficient and relatively complicated logic can be simplified using straight line approximations. Additionally, segmenting in higher width segments allows a view of a lower resolution path which is similar to the approach human pattern recognition might follow when scanning for a match. While lines are chosen herein, other shape functions may be used to approximate the data, for example, polynomial approximations.
[0049] Path segmentation may be adapted to the distance covered by the path within the structure. For example, in office buildings which have relatively small total distance covered (e.g., 10's of meters) in one embodiment the threshold width is initialized at 2 meters because hallways are typically this wide in office buildings. In a house which is smaller, the width may be initializes at 1 meter. If a path covers several kilometers, the width of the segments can be adapted to be larger (e.g. 5 meters to 15 meters) providing a more coarse segmentation in the coarse matching allows for larger segments and for some of the more fine detail of the path to be ignored on the first matching.
[0050] All of the detected shape features can feed into simultaneous localization and mapping (SLAM) algorithms which can provide corrections based on the shape location estimate when a shape is revisited. These SLAM algorithms search through the detected shapes comparing each to determine if there is a match. It makes sense to limit the search for potential matches to those shapes whose location estimates fall within the estimated error bound of the newly discovered shape feature. Regardless of the error bound, if the correction distance is high (for example, lO's of meters) (which may be the case in very long paths after significant time has passed) it makes sense to require a higher quality match, which may consist of requiring a higher amount of overlap of the shapes.
[0051] With regard to path features, features with the same path shape over several of the linear segments are considered. A match is determined by measuring the quality of the shape overlap, which is the amount of overlap between an input set of lines and a base set of lines. Overlap does not need to be 100%. A person may have walked a slightly different path so some lines in a base pattern may not have any overlap. On the other hand a person may have walked back and forth in one area of the map so some lines in the base pattern could have multiple segments overlapping them. The changes in orientation and offset needed to obtain the maximum overlap also feed into the match quality.
[0052] The shape matching algorithms may also include sensor profile matching. For example, magnetic heading data (which could be ±180 degrees rotation may account for walking through an area in the opposite direction) may be combed with shape matching to increase confidence of a good match. FIG. 3 and FIG. 4 show an example of a good match. Shape 305 is a rotation and translation of shape 310. The misalignment is caused by inertial drift. When the drift is removed the underlying map is evident and we get shape 405.
[0053] A test was conducted in caverns to test the ability of the algorithms to correct errors when tracking using low cost sensors. The tracking device contained three axis accelerometers, gyroscopes (poorly calibrated to challenge the algorithms), a magnetometer, and a barometric pressure sensor. The tracks were initialized at a known starting location then continued for about 2 kilometers (in and out of the cavern) in fully GPS denied conditions.
[0054] FIG. 5 shows the ground truth path shape and FIG. 6 shows the reported inertial path. The inertial path was initialized at the starting location and the heading was arbitrarily set to zero when the tracking unit was turned on. Sensor bias is seen as a drift factor (in the test it was .086) that causes the path to open up. [0055] FIG. 7 shows the improvements after sensor fusion corrections. Line 710 is a representation of the inertial path of FIG. 7 after sensor fusion corrections. After sensor fusion, the path still has slight drift errors which result in location errors in the middle section of the path of 91.85 meter as indicated by the line 715. The path in should overlap the path out almost completely as shown in the ground truth path of FIG. 5. At the end point the error was 176 meters (the end points should match). FIG. 8 shows the inertial path in and out of the cavern after coarse shape corrections. The errors are significantly reduced, but the path has been distorted so that the errors increase in one section, as indicated by oval 805.
[0056] FIG. 9 illustrates a portion of the inertial path after fine shape feature corrections. FIG. 10 and FIG. 11 show close-up views of portions of the inertial path in the center (error was 91.85 m before corrections), and at the end, (error was 176 m before corrections). At this point residual relative errors in the path were about 10 meters in the center and the end point error was less than 3 meters.
[0057] In a building or other structure the footprint (outline of the structure) is usually known. Information can be inferred about the most probable orientation of hallways. For example, in a rectangular structure, hallways are likely to be aligned along directions parallel to the edges of the structure. Thus a grid is defined in the direction of the longest edge of the building indicating that and the most probable hallway directions will be either parallel or perpendicular to the grid direction, as shown in FIG. 12. In slightly more complex buildings, there may be wings with different grids, as shown in FIG. 13 or non-rectangular shapes, as shown in FIG. 14.
[0058] In the aforementioned cases of FIG. 12 - FIG. 14, it is relatively easy to determine the most probable grid directions. Even in irregularly shaped structures, information can be derived from the outline. The process for determining the most probable grid may be automated. For example consider the building outline shown in FIG. 15. The building outline is partitioned into varying length straight segments whose vertices are indicated by black dots along the outline. The curved portion 1505 has several vertices to create the straight line segments. The most probable grid direction can be determined, for example, by spawning lines from an interior point in all headings/directions, and finding the outline segment that intersects each of the spawned lines without obstruction (e.g., line of sight ray tracing). The distances from the interior point to the outline, weighted by the length of the intersected outline segment for all the spawned lines can be used to create a histogram of the possible grid headings for the point.
[0059] FIG. 15 illustrates the most probable grid headings computed in this manner.
The arrows on the left side of line 1508 and indicated by 1510 show an area where there is generally high probability of a single grid (length of the arrow is proportionate to the probability of the grid direction prediction). The arrows on the right side of line 1508 and indicated generally by 155 show areas of higher probabilities of curved or multi-grid headings indicated with smaller arrows and multiple arrows at the same point. In FIG. 15, the arrows within the building outline may be color coded (e.g., red and green) to easily display the probabilities of curved and straight line. When considering the most probable heading of a long segment when multiple grids are possible, the probable headings at multiple points in the segment may be computed (e.g. start, end, center) and normalized across multiple points.
[0060] Using this type of heading likelihood information is helpful when magnetic interference is present, which is the case inside most buildings. Consider a path in this irregularly shaped building in FIG. 16. FIG. 16 shows an approximate layout of the building hallways. Building hallway information is not used in the algorithm, but the building outline information is used. In a conducted test, a tracked subject makes two laps around the structure. FIG. 17 shows the inertial path data 1705 with the start point set to the correct location and the heading set to zero in the direction the subject was facing when the device was turned on. It is clear that heading and corrections are needed. Note the ambiguity between the building curvature and the amount of drift in the path. FIG. 18 shows the results of the shape matching algorithm aided by the building grid information. In this case since the track is contained in an area that is only 10's of meters, only the fine shape corrections are needed. The line segments are overlaid on the path to show the segmentation used in the matching. Group 1 which includes segments 1805, 1810, 1815, 1820, 1825, 1830, and 1835 and group 2 segments 1840, 1845, 1850, 1855, and 1860 define the two shapes that have been matched. There is only partial overlap since the rectangular section 1870 of the path in the upper left corner of the figure was traversed only once.
[0061] The same algorithms can be used without the probable grid information when building footprints are not available. The segments that are detected to be in a structure and are approximately perpendicular to each other are grouped. This is done first because in the majority of manmade structures rectangular shapes predominate. In FIG. 19, the perpendicular segments are segments 1905, 1910, 1915, 1920, 1925, and 1930. The heading estimates from each of these perpendicular segments are analyzed to estimate the combined orientation. Heading agreement from these segments reflects positively on the confidence that this is the grid heading of the underlying structure. Without information on the structure outline, shifting the shapes to match orientation may be less accurate. In this case since the tracked subject walked the same set of hallways the magnetic signatures matched and the confidence in the heading was high so the results are very similar. FIG. 19 shows the results without grid information.
[0062] Hierarchical shape matching was run in post processing mode. In other words, there was access to the entire track before beginning the processing. It was desirable to implement a method for irregular shape matching that could run in real-time or near real-time. In the port to run real-time, some significant changes were made to the approach in order to reduce computational complexity. A method for selecting shape features was developed that put more emphasis on uniqueness and this had the added benefit of improved robustness.
[0063] FIG. 20 illustrates a non-limiting, exemplary method 2000 of implementing shape matching with reduced complexity. In summary, hierarchical shape matching with reduced complexity includes sensor fusion 2005, unique shape feature selection 2010, feature matching 2015, and correction 2020. Sensor fusion 2005 corrections (e.g., inertial, compass, pressure) are performed to get the best estimate of the path. The best estimate of the path can be obtained using constraint-based optimization, for example. Constraint-based optimization may include obtaining tracking data, such as data from a dead reckoning sensor, of a tracked subject, obtaining constraints, and then using convex optimization method on the constraints and the tracking data. Any of a plurality of known methods for sensor fusion may be used. The real-time feature extraction and matching proceeds after sensor fusion algorithms have been run to determine the best globally corrected path. That is the path with best global offset, rotation, drift, and scale are already computed based on available information. For unique shape feature selection 2010, the path is processed to extract uniquely shaped segments.
[0064] To be considered unique several criteria must be met. First, the shapes length, L, must be longer than a minimum threshold length. In an embodiment 10 meters was chosen to insure structural features were picked and not points in a path that have unique motion, but are confined to a small space. Being confined to a small space may occur when a person with a tracking device loiters in an area. In an embodiment, a section of a path is considered unique when the standard deviation of vector of heading angle changes over a section of path, σ, is greater than a threshold, for example 0.1 radians. Additionally, in an embodiment the Ramer-
Douglas-Peucker algorithm is used to approximate the feature with a series of points joined by straight lines where the distance of the original feature from the approximation is never greater than epsilon. The more points that are needed to describe a shape for a given epsilon, the more unique the shape. When applied with a given epsilon (e.g., epsilon of one meter) the feature is considered unique only if the algorithm uses more than a minimum number of points. For example the minimum number of point may be 3, which would be only be possible for features are not straight lines since straight lines are not unique. Once a unique shape is found (i.e., once a section of path satisfies the above unique criteria) a vector of heading changes Λ = over the duration of the feature is saved to describe the feature. Here we describe using shape data but this method applies directly to using other sensor signature data including using vectors of magnetic data, signal strength, or other environmentally linked data elements, or combinations of these data in the feature vector.
[0065] With regard to feature matching 2015, another process looks at extracted shape features to determine that they are the same as other known features. Two shape feature match candidates, A and ^B are compared by taking the shorter length feature ^B and comparing it with the longer candidate feature ^A at different translations, s, along the length of the feature ^A (both forward and reverse). For example, see FIG. 21. The comparison is made by computing the difference in the vector heading changes over the duration of the feature. In the example of FIG. 21, the feature rotations are shown as perfect (curve 21 15 is flipped version of 2110) but this is not necessary for a match. Since the vector of heading changes are being compared as the feature (in either direction) is traversed, the differences in the feature rotation do not affect the comparison. For a feature to be considered for a match, it is considered whether the computed difference is found to be smaller than a threshold (here 0.2 radians was chosen) for each element of the feature. If this is true, then a cost is computed that measures the heading variations and normalizes for the length of the feature and the standard deviation of the feature candidates. It is determined whether the cost is less than a threshold (here 1.5)
Figure imgf000013_0001
If the feature candidates satisfy these criteria then a match is declared.
[0066] Again, estimates of the inertial track error are used to limit the search space for feature matches. Very tight control may be used to avoid false matches. In one embodiment, the search space accounts for a drift of ±0.001radians/second (this is a corrected drift since sensor fusion algorithms have already run). So for example, if the user revisits a feature, the drift accumulated since the feature was originally visited will be limited by ±0.001 radians/second applied to the intervening path. Requiring higher quality matching criteria, e.g., the differences between feature vector of heading changes matches over the segment is below some lower threshold, or requiring a more unique features, e.g., more points in the Ramer-Douglas-Peucker algorithm, could reduce the risk in allowing matching when the features have larger location estimate differences. Other sensor signatures could also be compared to increase confidence in potential segment matches. For example, considering the magnetic data along with the heading differences at each point. With regard to correction 2020, if it is concluded that two features might be the same, then constraints are made at the endpoints and midpoint tie the two path segments together. This is enforced in the navigation solution by solving a constraint based optimization for at least one of the path offset, rotation, scale or drift of the result of the sensor fusion process such that the constraints are satisfied as closely as possible.
[0067] In tests, it was found useful to down sample the path data before beginning at unique shape feature selection 2010. Down sampling is useful to improve scalability (less computationally intensive) and this coarser view of the data is often helpful in removing unimportant features in the path. A method for adaptive down sampling based on the length of straight segments (less points are needed for longer segments) has been implemented.
[0068] Post processing of data from a cavern test was used to validate the algorithms and compare them to the prior method. Again sensor fusion results in a path with errors remaining relative to the ground truth of FIG. 5. FIG. 22 and 23 shows two different sections of the output of the sensor fusion results with constraints drawn between the matches of the discovered unique shape features. The lines connect the features at the endpoints and midpoint. FIG. 24 shows the sensor fusion path (lines 2405 and 2410) and the corrected path 2415 after the constraints have been enforced using constraint based optimization to refine parameters for offset, rotation, drift and scale with a near perfect match.
[0069] The hierarchical shape matching with reduced complexity algorithm has been tested in real time at an underground test facility. FIG. 25 shows an example of the original track with connecting lines such as lines 2505 and 2510 indicating the connected endpoints and midpoint of the matched feature constraints. The algorithms also apply also in buildings when there is no knowledge of the building outline. FIG. 26 shows the original track and again the connecting lines are constraints. FIG. 27 shows the solution with constraints applied. The true path looks like an "L". The final solution is accurate in some sections but not as accurate in others. Local constraint based optimization is used to apply constraints and sometimes constraints are not able to be found to correct every portion of a path. In this case, inferred building knowledge may be used to help improve the solution. It is not used in this instance, in order to highlight the shape matching.
[0070] The techniques described above can be implemented on a computing device associated with a user (e.g., gyroscope and accelerometer sensors implemented on a device worn by the user), a plurality of computing devices associated with a plurality of users, a server in communication with the computing device(s) (e.g., a server configured to calibrate the gyroscope and accelerometer sensors of the device worn by the user), or a plurality of servers in
communication with the computing device(s). Additionally, the techniques may be distributed between the computing device(s) and the server(s). For example, the computing device may collect and transmit raw data to the server that, in turn, process the raw data to improve heading estimation. Figure 28 illustrates an exemplary block diagram of a computing system that includes hardware modules, software module, and a combination thereof and that can be implemented as the computing device and/or as the server.
[0071] In a basic configuration, the computing system may include at least a processor, a system memory, a storage device, input/output peripherals, communication peripherals, and an interface bus. The interface bus is configured to communicate, transmit, and transfer data, controls, and commands between the various components of the electronic device. The system memory and the storage device comprise computer readable storage media, such as RAM, ROM, EEPROM, hard-drives, CD-ROMs, optical storage devices, magnetic storage devices, flash memory, and other tangible storage media. Any of such computer readable storage medium can be configured to store instructions or program codes embodying aspects of the disclosure.
Additionally, the system memory comprises an operation system and applications. The processor is configured to execute the stored instructions and can comprise, for example, a logical processing unit, a microprocessor, a digital signal processor, and the like.
[0072] The system memory and the storage device may also comprise computer readable signal media. A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein. Such a propagated signal may take any of variety of forms including, but not limited to, electro-magnetic, optical, or any combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use in connection with the computing system.
[0073] Further, the input and output peripherals include user interfaces such as a keyboard, screen, microphone, speaker, other input/output devices, and computing components such as digital-to-analog and analog-to-digital converters, graphical processing units, serial ports, parallel ports, and universal serial bus. The input/output peripherals may be connected to the processor through any of the ports coupled to the interface bus.
[0074] The user interfaces can be configured to allow a user of the computing system to interact with the computing system. For example, the computing system may include instructions that, when executed, cause the computing system to generate a user interface that the user can use to provide input to the computing system and to receive an output from the computing system.
[0075] This user interface may be in the form of a graphical user interface that is rendered at the screen and that is coupled with audio transmitted on the speaker and microphone and input received at the keyboard. In an embodiment, the user interface can be locally generated at the computing system. In another embodiment, the user interface may be hosted on a remote computing system and rendered at the computing system. For example, the server may generate the user interface and may transmit information related thereto to the computing device that, in turn, renders the user interface to the user. The computing device may, for example, execute a browser or an application that exposes an application program interface (API) at the server to access the user interface hosted on the server.
[0076] Finally, the communication peripherals of the computing system are configured to facilitate communication between the computing system and other computing systems (e.g., between the computing device and the server) over a communications network. The
communication peripherals include, for example, a network interface controller, modem, various modulators/demodulators and encoders/decoders, wireless and wired interface cards, antenna, and the like.
[0077] The communication network includes a network of any type that is suitable for providing communications between the computing device and the server and may comprise a combination of discrete networks which may use different technologies. For example, the communications network includes a cellular network, a WiFi/ broadband network, a local area network (LAN), a wide area network (WAN), a telephony network, a fiber-optic network, or combinations thereof. In an example embodiment, the communication network includes the Internet and any networks adapted to communicate with the Internet. The communications network may be also configured as a means for transmitting data between the computing device and the server.
[0078] The techniques described above may be embodied in, and fully or partially automated by, code modules executed by one or more computers or computer processors. The code modules may be stored on any type of non-transitory computer-readable medium or computer storage device, such as hard drives, solid state memory, optical disc, and/or the like. The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of non-transitory computer storage such as, e.g., volatile or non- volatile storage. [0079] The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
[0080] Conditional language used herein, such as, among others, "can," "could," "might," "may," "e.g.," and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. The terms "comprising," "including," "having," and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term "or" is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term "or" means one, some, or all of the elements in the list.
[0081] While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable.
Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions disclosed herein. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of certain of the inventions disclosed herein. Real-time as discussed herein refers to operations that usually occur in milliseconds, but not more than one second. Near real-time events usually occur within seconds.

Claims

What is Claimed:
1. A computer-implemented method of tracking a trackee, the method being implemented by a computer that includes a physical processor, the method comprising:
obtaining tracking data for a tracked subject along a path, the tracking data including data from a dead reckoning sensor; and
performing shape correction on the tracking data to provide a first estimate of the path.
2. The method of claim 1, wherein the dead reckoning sensor is at least one of an inertial sensor, and optical flow sensor, or a Doppler velocimeter.
3. The method of claim 1 wherein the performed shape correction comprises:
describing the path by a set of linear segments with a width less than a series of decreasing thresholds corresponding to at least one of coarse shape correction or fine shape correction.
4. The method of claim 1, wherein the performed shape correction further comprises:
grouping a set of linear segments into shapes; and
matching the grouped set of linear segments to a first group of shapes in a threshold proximity.
5. The method of claim 1, further comprising:
performing fine shape correction to the first estimate of the path that provides a second estimate of the path.
6. The method of claim 5, wherein fine shape correction comprises describing the first estimate of the path by a set of linear segments with width less than a second threshold.
7. A computer-implemented method of tracking a trackee, the method being implemented by a computer that includes a physical processor, the method comprising:
obtaining first tracking data for a first tracked subject along a path, the first tracking data including data from a dead reckoning sensor;
determining a unique shape feature in the first tracking data; and determining that the unique shape feature in the first tracking data matches second tracking data for a second tracked subject along the path based on shape matching.
8. The method of claim 7, further comprising:
creating a first estimate of the path based on whether the unique shape feature in the first tracking data matches second tracking data for the second tracked subject along the path.
9. The method of claim 7, wherein the dead reckoning sensor is at least one of an inertial sensor, and optical flow sensor, or a Doppler velocimeter.
10. The method of claim 7, wherein determining the unique shape feature in the first tracking data matches second tracking data for the second tracked subject along the path comprises at least one:
determining a shape feature of the path described by more than a threshold of points based on using a Ramer-Douglas-Peucker algorithm with a parameter epsilon;
determining heading changes over the shape feature of the path are greater than a threshold standard deviation; or
determining a length of the shape feature of the is greater than a threshold length.
1 1. The method of claim 7, wherein the unique shape feature is described by a vector of heading changes over a duration of a path feature.
12. The method of claim 7, wherein determining that the unique shape feature in the first tracking data matches the second tracking data for the second tracked subject along the path comprises at least one of:
comparing vectors of heading changes of a plurality of shape match candidates over a duration of a plurality of features; or
determining that a difference at each point in the vectors of heading changes of the plurality of shape match candidates over the duration of the plurality of features is less than a threshold.
13. A computing system used to track a trackee, the computing system comprising:
a dead reckoning sensor;
a processor in communication with the dead reckoning sensor; and a memory coupled to the processor, the memory having stored thereon executable instructions that when executed by the processor cause the processor to effectuate operations comprising:
obtaining first tracking data for a first tracked subject along a path, the first tracking data including data from the dead reckoning sensor;
determining a unique shape feature in the first tracking data of the first tracked subject; and
using shape matching to determine whether the unique shape feature in the tracking data matches second tracking data for a second tracked subject along the path.
14. The computing system of claim 13, wherein the dead reckoning sensor is at least one of an inertial sensor, and optical flow sensor, or a Doppler velocimeter.
15. The computing system of claim 13, wherein determining the unique shape feature in the first tracking data of the first tracked subject comprises at least one:
determining a shape feature of the path described by more than a threshold of points based on using a Ramer-Douglas-Peucker algorithm with a parameter epsilon;
determining heading changes over the shape feature of the path are greater than a threshold standard deviation; or
determining a length of the shape feature of the is greater than a threshold length.
16. The computing system of claim 13, wherein the unique shape feature is described by a vector of heading changes over a duration of a path feature.
17. The computing system of claim 13, wherein determining the unique shape feature in the first tracking data of the first tracked subject matches second tracking data for the second tracked subject along the path comprises:
comparing heading changes of vectors of a plurality of shape match candidates over a duration of features; and
determining that a difference at each point in the vectors is less than a threshold.
PCT/US2013/045519 2012-06-12 2013-06-12 Irregular feature mapping WO2013188597A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261658883P 2012-06-12 2012-06-12
US61/658,883 2012-06-12

Publications (2)

Publication Number Publication Date
WO2013188597A2 true WO2013188597A2 (en) 2013-12-19
WO2013188597A3 WO2013188597A3 (en) 2014-04-17

Family

ID=49715707

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/US2013/045519 WO2013188597A2 (en) 2012-06-12 2013-06-12 Irregular feature mapping
PCT/US2013/045522 WO2013188598A2 (en) 2012-06-12 2013-06-12 Fusion of sensor and map data using constraint based optimization
PCT/US2013/045488 WO2013188579A1 (en) 2012-06-12 2013-06-12 Wi-fi enhanced tracking algorithms

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/US2013/045522 WO2013188598A2 (en) 2012-06-12 2013-06-12 Fusion of sensor and map data using constraint based optimization
PCT/US2013/045488 WO2013188579A1 (en) 2012-06-12 2013-06-12 Wi-fi enhanced tracking algorithms

Country Status (2)

Country Link
US (5) US9297658B2 (en)
WO (3) WO2013188597A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351217A (en) * 2015-09-10 2018-07-31 欧里伊恩特新媒体有限公司 It is generated the mobile device navigating, track and position with automatic map in global positioning system denied access or global positioning system inaccuracy region

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9395190B1 (en) 2007-05-31 2016-07-19 Trx Systems, Inc. Crowd sourced mapping with robust structural features
US20130155102A1 (en) * 2011-12-20 2013-06-20 Honeywell International Inc. Systems and methods of accuracy mapping in a location tracking system
WO2013188597A2 (en) 2012-06-12 2013-12-19 Amrit Bandyopadhyay Irregular feature mapping
US9615172B2 (en) * 2012-10-04 2017-04-04 Siemens Aktiengesellschaft Broadband sensor location selection using convex optimization in very large scale arrays
US8825373B1 (en) * 2012-12-05 2014-09-02 Google Inc. Correcting path errors for vehicle navigation
US11156464B2 (en) 2013-03-14 2021-10-26 Trx Systems, Inc. Crowd sourced mapping with robust structural features
US11268818B2 (en) 2013-03-14 2022-03-08 Trx Systems, Inc. Crowd sourced mapping with robust structural features
US10495464B2 (en) 2013-12-02 2019-12-03 The Regents Of The University Of California Systems and methods for GNSS SNR probabilistic localization and 3-D mapping
EP2881875B1 (en) * 2013-12-03 2019-05-22 Micrel Medical Devices S.A. Device or system for locating and operating a medical device
US20150160838A1 (en) * 2013-12-06 2015-06-11 Takeshi SHIRABE Method and apparatus for automatic graphic editing with map-dependent constraints
US9747778B2 (en) * 2013-12-17 2017-08-29 Samsung Electronics Co. Ltd. Context-aware compliance monitoring
US9881480B2 (en) * 2013-12-20 2018-01-30 International Business Machines Corporation Mobile device loss prevention
DE102014200701A1 (en) * 2014-01-16 2015-07-16 Bayerische Motoren Werke Aktiengesellschaft A method and apparatus for providing a raw mapping data package for a building and method and apparatus for creating a digital map for a building
EP2911119A1 (en) * 2014-02-24 2015-08-26 Dassault Systèmes A method for designing a three dimensional modeled object in a three dimensional scene by extruding a curve
US10466056B2 (en) * 2014-04-25 2019-11-05 Samsung Electronics Co., Ltd. Trajectory matching using ambient signals
US9510154B2 (en) 2014-04-28 2016-11-29 Samsung Electronics Co., Ltd Location determination, mapping, and data management through crowdsourcing
DE102014211175A1 (en) * 2014-06-11 2015-12-17 Continental Teves Ag & Co. Ohg Method and system for initializing a sensor fusion system
US10518879B1 (en) * 2014-07-10 2019-12-31 Hrl Laboratories, Llc System and method for drift-free global trajectory estimation of a mobile platform
GB201500411D0 (en) 2014-09-15 2015-02-25 Isis Innovation Determining the position of a mobile device in a geographical area
WO2016048344A1 (en) * 2014-09-26 2016-03-31 Hewlett Packard Enterprise Development Lp Caching nodes
US9759561B2 (en) 2015-01-06 2017-09-12 Trx Systems, Inc. Heading constraints in a particle filter
WO2016131467A1 (en) 2015-02-16 2016-08-25 Here Global B.V. Providing an indication of a heading of a mobile device
BR112018000846A2 (en) 2015-07-17 2018-09-04 Univ California ? method for determining user device location?
US9945956B2 (en) * 2015-09-08 2018-04-17 Apple Inc. GNSS positioning using three-dimensional building models
US10386493B2 (en) 2015-10-01 2019-08-20 The Regents Of The University Of California System and method for localization and tracking
EP3165877B1 (en) * 2015-11-04 2020-03-25 Tata Consultancy Services Limited Systems and methods for fusing inertial and bluetooth low energy sensor data for localization
US10241514B2 (en) 2016-05-11 2019-03-26 Brain Corporation Systems and methods for initializing a robot to autonomously travel a trained route
KR102372669B1 (en) * 2016-06-08 2022-03-10 삼성전자주식회사 Electronic device, external server and controlling method thereof
US9987752B2 (en) 2016-06-10 2018-06-05 Brain Corporation Systems and methods for automatic detection of spills
US9820100B1 (en) 2016-06-17 2017-11-14 Qualcomm Incorporated Multi-source positioning
US10282849B2 (en) 2016-06-17 2019-05-07 Brain Corporation Systems and methods for predictive/reconstructive visual object tracker
US9661473B1 (en) 2016-06-17 2017-05-23 Qualcomm Incorporated Methods and apparatus for determining locations of devices in confined spaces
US10016896B2 (en) 2016-06-30 2018-07-10 Brain Corporation Systems and methods for robotic behavior around moving bodies
US10075818B2 (en) * 2016-09-13 2018-09-11 Google Llc Systems and methods for graph-based localization and mapping
US10274325B2 (en) * 2016-11-01 2019-04-30 Brain Corporation Systems and methods for robotic mapping
US10723018B2 (en) 2016-11-28 2020-07-28 Brain Corporation Systems and methods for remote operating and/or monitoring of a robot
US10694325B2 (en) 2016-12-31 2020-06-23 Google Llc Determining position of a device in three-dimensional space and corresponding calibration techniques
US9858791B1 (en) 2017-01-17 2018-01-02 3AM Innovations LLC Tracking and accountability device and system
US10511951B2 (en) 2017-01-17 2019-12-17 3AM Innovations LLC Tracking and accountability device and system
WO2018139773A1 (en) * 2017-01-25 2018-08-02 한국과학기술연구원 Slam method and device robust to changes in wireless environment
US10852730B2 (en) 2017-02-08 2020-12-01 Brain Corporation Systems and methods for robotic mobile platforms
CN108454652B (en) * 2017-02-22 2019-11-19 中车株洲电力机车研究所有限公司 A kind of method, apparatus and system of safe and reliable real time speed measuring and consecutive tracking
FR3065083A1 (en) * 2017-04-05 2018-10-12 Thales METHOD FOR DETERMINING PROTECTION LEVELS OF NAVIGATION SOLUTIONS, COMPUTER PROGRAM PRODUCT AND RECEIVER THEREFOR
US10048753B1 (en) * 2017-04-20 2018-08-14 Robert C. Brooks Perspective or gaze based visual identification and location system
EP3619683A1 (en) * 2017-05-04 2020-03-11 MIM Software, Inc. System and method for predictive fusion
US10545026B1 (en) 2017-06-05 2020-01-28 Philip Raymond Schaefer System and method for tracking the position of a person and providing navigation assistance
US10650586B2 (en) 2017-08-10 2020-05-12 Outward, Inc. Automated mesh generation
CN109558470B (en) * 2017-09-27 2021-06-15 方正国际软件(北京)有限公司 Trajectory data visualization method and device
CN107976190A (en) * 2017-11-10 2018-05-01 北京金坤科创技术有限公司 A kind of indoor positioning air navigation aid and Intelligent unattended foreground system on duty
CN109959376B (en) * 2017-12-14 2021-11-16 腾讯科技(北京)有限公司 Trajectory correction method, and navigation route drawing method and device related to indoor route
CN108344416B (en) * 2018-02-01 2021-06-01 感知智能科技新加坡有限公司 Positioning method for automatically matching target based on map information
US10861598B2 (en) * 2018-02-14 2020-12-08 Hill-Rom Services, Inc. Historical identification and accuracy compensation for problem areas in a locating system
FR3079618B1 (en) * 2018-03-29 2020-04-10 Compagnie Generale Des Etablissements Michelin METHOD AND SYSTEM FOR EVALUATING THE TRAJECTORY OF AN OPERATOR IN A WORKSHOP
CN108388135B (en) * 2018-03-30 2020-11-10 上海交通大学 Mars landing trajectory optimization control method based on convex optimization
CN108983254A (en) * 2018-08-08 2018-12-11 中国科学院电子学研究所 Two-dimentional range unit and distance measuring method based on light stream sensor
CN109412883B (en) * 2018-08-14 2021-12-03 阿里巴巴(中国)有限公司 Recommended path tracking method, device and system
CN109064482B (en) * 2018-08-16 2021-10-22 武大吉奥信息技术有限公司 Method and device for automatically acquiring house outline in three-dimensional oblique photography scene
CN109357686A (en) * 2018-11-19 2019-02-19 北京金州世纪信息技术有限公司 A kind of vehicle running path determines method and device
US11519974B1 (en) 2019-06-11 2022-12-06 ArcSecond, Inc. Systems and methods for improving orientation measurements
GB2585191B (en) 2019-06-28 2022-05-04 Raytheon Systems Ltd Positioning system and method with inertial navigation and position estimate
GB2585087B (en) 2019-06-28 2022-05-04 Raytheon Systems Ltd Positioning system and method
US11435376B2 (en) * 2019-06-28 2022-09-06 Sstatzz Oy Method for determining a direction of a spin axis of a rotating apparatus
CN110632941B (en) * 2019-09-25 2020-12-15 北京理工大学 Trajectory generation method for target tracking of unmanned aerial vehicle in complex environment
US11443455B2 (en) * 2019-10-24 2022-09-13 Microsoft Technology Licensing, Llc Prior informed pose and scale estimation
US11675366B2 (en) * 2019-12-27 2023-06-13 Motional Ad Llc Long-term object tracking supporting autonomous vehicle navigation
US11527109B1 (en) 2020-01-07 2022-12-13 ArcSecond, Inc. Form analysis system
CN111417069A (en) * 2020-03-27 2020-07-14 安徽理工大学 Positioning device and method for coal mine underground transportation robot with wheel type odometer and UWB integrated
CN111780756A (en) * 2020-07-20 2020-10-16 北京百度网讯科技有限公司 Vehicle dead reckoning method, device, equipment and storage medium
CN112272406A (en) * 2020-10-29 2021-01-26 武汉理工大学 Ship pilot patrol detection method based on Doppler frequency shift extraction
CN112492523B (en) * 2020-11-05 2021-09-14 南京大学 Track constraint method based on ultra wide band real-time positioning
CN112556696B (en) * 2020-12-03 2022-01-07 腾讯科技(深圳)有限公司 Object positioning method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080262730A1 (en) * 2005-11-18 2008-10-23 Toyota Jidosha Kabushiki Kaisha Mobile Object Position Estimation Apparatus and Method
US20090248301A1 (en) * 2008-03-31 2009-10-01 Honeywell International Inc. Position estimation for navigation devices
US20100305845A1 (en) * 2007-07-12 2010-12-02 Commissariat A L'energie Atomique Device for Assisting in the Navigation of a Person
US20120130632A1 (en) * 2007-08-06 2012-05-24 Amrit Bandyopadhyay System and method for locating, tracking, and/or monitoring the status of personnel and/or assets both indoors and outdoors

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939663A (en) * 1988-04-04 1990-07-03 Harris Corporation Elevation map-referenced mechanism for updating vehicle navigation system estimates
US6031892A (en) 1989-12-05 2000-02-29 University Of Massachusetts Medical Center System for quantitative radiographic imaging
US5774591A (en) 1995-12-15 1998-06-30 Xerox Corporation Apparatus and method for recognizing facial expressions and facial gestures in a sequence of images
US7728845B2 (en) 1996-02-26 2010-06-01 Rah Color Technologies Llc Color calibration of color image rendering devices
WO1998010307A1 (en) 1996-09-09 1998-03-12 Dennis Jay Dupray Location of a mobile station
US5818463A (en) 1997-02-13 1998-10-06 Rockwell Science Center, Inc. Data compression for animated three dimensional objects
US6024655A (en) 1997-03-31 2000-02-15 Leading Edge Technologies, Inc. Map-matching golf navigation system
US6072496A (en) 1998-06-08 2000-06-06 Microsoft Corporation Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects
US6415227B1 (en) * 1999-04-21 2002-07-02 American Gnc Corporation Enhanced global positioning system and map navigation process
JP2003536096A (en) 2000-06-08 2003-12-02 オートモーティブ システムズ ラボラトリー インコーポレーテッド Tracking map generator
US7304571B2 (en) 2000-10-18 2007-12-04 Information Systems Laboratories, Inc. Firefighter locator with activator
TW499349B (en) 2000-11-17 2002-08-21 Sony Corp Legged mobile robot, leg structure of legged mobile robot, and mobile leg unit for legged mobile robot
US6581005B2 (en) * 2000-11-30 2003-06-17 Nissan Motor Co., Ltd. Vehicle position calculation apparatus and method
US6560531B1 (en) 2001-05-22 2003-05-06 Navigation Technologies Corporation Multi-resolution trend metric for shape comparison and applications thereof
US20040021569A1 (en) 2001-11-21 2004-02-05 Robert Lepkofker Personnel and resource tracking method and system for enclosed spaces
US7145478B2 (en) 2002-12-17 2006-12-05 Evolution Robotics, Inc. Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system
US7546156B2 (en) 2003-05-09 2009-06-09 University Of Rochester Medical Center Method of indexing biological imaging data using a three-dimensional body representation
US20090321094A1 (en) 2003-07-31 2009-12-31 Michael Steven Thomas Fire suppression delivery system
US7425829B2 (en) 2003-10-14 2008-09-16 Merlin Technology, Inc. Tracking positions of personnel, vehicles, and inanimate objects
US8289274B2 (en) 2004-01-13 2012-10-16 Sliwa John W Microdroplet-based 3-D volumetric displays utilizing emitted and moving droplet projection screens
US7379623B2 (en) 2004-04-30 2008-05-27 Microsoft Corporation Method to quickly warp a 2-D image using only integer math
US7373012B2 (en) 2005-02-01 2008-05-13 Mitsubishi Electric Research Laboratories, Inc. Detecting moving objects in videos with corner-based background model
US7299056B2 (en) 2005-02-23 2007-11-20 Deere & Company Vehicular navigation based on site specific sensor quality data
US9037098B2 (en) 2007-08-30 2015-05-19 Binj Laboratories, Inc. System and method for wrist band transmitter and system thereof
US20070032748A1 (en) 2005-07-28 2007-02-08 608442 Bc Ltd. System for detecting and analyzing body motion
EP1770368B1 (en) 2005-10-03 2009-05-27 STMicroelectronics S.r.l. Pedometer device and step detection method using an algorithm for self-adaptive computation of acceleration thresholds.
RU2390791C2 (en) * 2005-11-07 2010-05-27 Квэлкомм Инкорпорейтед Positioning for wlan and other wireless networks
EP1804154A3 (en) 2005-12-27 2012-08-08 Poston Timothy Computer input device enabling three degrees of freedom and related input and feedback methods
CA2654960A1 (en) 2006-04-10 2008-12-24 Avaworks Incorporated Do-it-yourself photo realistic talking head creation system and method
US8688375B2 (en) 2006-05-31 2014-04-01 Trx Systems, Inc. Method and system for locating and monitoring first responders
US7925049B2 (en) 2006-08-15 2011-04-12 Sri International Stereo-based visual odometry method and system
US8128410B2 (en) 2006-09-29 2012-03-06 Nike, Inc. Multi-mode acceleration-based athleticism measurement system
JP4830789B2 (en) 2006-10-30 2011-12-07 オムロンヘルスケア株式会社 Body motion detection device, information transmission device, Nordic walking stock, and walking exercise amount calculation system
US7778769B2 (en) 2006-11-27 2010-08-17 International Business Machines Corporation Method and system for calculating least-cost routes based on historical fuel efficiency, street mapping and location based services
WO2008073962A2 (en) 2006-12-12 2008-06-19 Rutgers, The State University Of New Jersey System and method for detecting and tracking features in images
EP2118810B1 (en) 2007-02-05 2012-08-15 Andrew Corporation System and method for optimizing location estimate of mobile unit
US7961936B2 (en) 2007-03-30 2011-06-14 Intel Corporation Non-overlap region based automatic global alignment for ring camera image mosaic
JP4989532B2 (en) * 2007-03-30 2012-08-01 成均館大学校産学協力団 Central information processing system for mobile service robot, information processing method for mobile service robot, and computer-readable recording medium recording information processing method for mobile service robot
US8364242B2 (en) 2007-05-17 2013-01-29 General Electric Company System and method of combining ultrasound image acquisition with fluoroscopic image acquisition
US8751151B2 (en) 2012-06-12 2014-06-10 Trx Systems, Inc. System and method for localizing a trackee at a location and mapping the location using inertial sensor information
WO2008157622A1 (en) 2007-06-18 2008-12-24 University Of Pittsburgh-Of The Commonwealth System Of Higher Education Method, apparatus and system for food intake and physical activity assessment
US8331335B2 (en) * 2007-10-22 2012-12-11 Marvell World Trade Ltd. Location aware background access point scanning for WLAN
US20090259424A1 (en) 2008-03-06 2009-10-15 Texas Instruments Incorporated Parameter estimation for accelerometers, processes, circuits, devices and systems
US20090235608A1 (en) 2008-03-19 2009-09-24 Jan Kosny Support structures formed from triangular elements
US20090262974A1 (en) 2008-04-18 2009-10-22 Erik Lithopoulos System and method for obtaining georeferenced mapping data
GB0808081D0 (en) 2008-05-02 2008-06-11 In2Games Ltd Bridging ultrasonic position with accelerometer/gyroscope inertial guidance
EP2283641B1 (en) * 2008-06-06 2020-08-12 Skyhook Wireless, Inc. Method and system for determining location using a hybrid satellite and wlan positioning system by selecting the best wlan-ps solution
US8155666B2 (en) 2008-06-16 2012-04-10 Skyhook Wireless, Inc. Methods and systems for determining location using a cellular and WLAN positioning system by selecting the best cellular positioning system solution
US7990314B2 (en) * 2008-06-30 2011-08-02 Liao Henry H Method and system for locating a geographical position using broadcast frequency modulation signals
US8804551B2 (en) * 2008-08-06 2014-08-12 U-Blox Ag Location estimation by observing wireless signals
GB2465793A (en) 2008-11-28 2010-06-02 Sony Corp Estimating camera angle using extrapolated corner locations from a calibration pattern
US8265818B2 (en) * 2009-06-04 2012-09-11 Defense Technologies, Inc. Open architecture command system
US8473241B2 (en) 2009-08-03 2013-06-25 Thales Visionix, Inc. Navigation trajectory matching
US20120220274A1 (en) * 2009-10-14 2012-08-30 Ntt Docomo, Inc. Position information analysis device and position information analysis method
WO2011050247A1 (en) 2009-10-23 2011-04-28 Mine Safety Appliances Company Navigational system initialization system, process, and arrangement
US20110117924A1 (en) 2009-11-18 2011-05-19 Qualcomm Incorporated Position determination using a wireless signal
US9157745B2 (en) 2010-01-14 2015-10-13 Qualcomm Incorporated Scalable routing for mobile station navigation with location context identifier
CA2787646C (en) 2010-02-05 2016-12-13 Trimble Navigation Limited Systems and methods for processing mapping and modeling data
US9610063B2 (en) 2010-03-26 2017-04-04 The Johns Hopkins University Methods and apparatus for ultrasound strain imaging
US20110238308A1 (en) 2010-03-26 2011-09-29 Isaac Thomas Miller Pedal navigation using leo signals and body-mounted sensors
US8718963B2 (en) 2010-04-27 2014-05-06 Memsic, Inc. System and method for calibrating a three-axis accelerometer
US8538687B2 (en) 2010-05-04 2013-09-17 Honeywell International Inc. System for guidance and navigation in a building
US20120021764A1 (en) 2010-07-23 2012-01-26 Quantum Dimension Inc. System and Method for Robust Navigation and Communication Via A Cooperative Ad-hoc Network
US8594971B2 (en) 2010-09-22 2013-11-26 Invensense, Inc. Deduced reckoning navigation without a constraint relationship between orientation of a sensor platform and a direction of travel of an object
WO2012050932A1 (en) 2010-09-29 2012-04-19 University Of Virginia Patent Foundation Method, system and computer program product for optimizing route planning digital maps
US20120143495A1 (en) * 2010-10-14 2012-06-07 The University Of North Texas Methods and systems for indoor navigation
US8694251B2 (en) 2010-11-25 2014-04-08 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
JP6015664B2 (en) 2010-12-01 2016-10-26 コミサリアト ア レネルジー アトミクー エ オ エネルジーズ アルタナティヴズ Trajectory estimation method, computer program, and trajectory estimation device for moving user, mobile terminal, or transportation means
US8810640B2 (en) 2011-05-16 2014-08-19 Ut-Battelle, Llc Intrinsic feature-based pose measurement for imaging motion compensation
US9196087B2 (en) 2012-04-20 2015-11-24 Here Global B.V. Method and apparatus for presenting geo-traces using a reduced set of points based on an available display area
US9103916B2 (en) * 2012-05-02 2015-08-11 Texas Instruments Incorporated Apparatus and method for indoor positioning
US10215587B2 (en) 2012-05-18 2019-02-26 Trx Systems, Inc. Method for step detection and gait direction estimation
US9014903B1 (en) 2012-05-22 2015-04-21 Google Inc. Determination of object heading based on point cloud
WO2013188597A2 (en) 2012-06-12 2013-12-19 Amrit Bandyopadhyay Irregular feature mapping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080262730A1 (en) * 2005-11-18 2008-10-23 Toyota Jidosha Kabushiki Kaisha Mobile Object Position Estimation Apparatus and Method
US20100305845A1 (en) * 2007-07-12 2010-12-02 Commissariat A L'energie Atomique Device for Assisting in the Navigation of a Person
US20120130632A1 (en) * 2007-08-06 2012-05-24 Amrit Bandyopadhyay System and method for locating, tracking, and/or monitoring the status of personnel and/or assets both indoors and outdoors
US20090248301A1 (en) * 2008-03-31 2009-10-01 Honeywell International Inc. Position estimation for navigation devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351217A (en) * 2015-09-10 2018-07-31 欧里伊恩特新媒体有限公司 It is generated the mobile device navigating, track and position with automatic map in global positioning system denied access or global positioning system inaccuracy region
EP3347677A4 (en) * 2015-09-10 2019-01-02 Oriient New Media Ltd. Navigate, track, and position mobile devices in gps-denied or gps-inaccurate areas with automatic map generation
US10584972B2 (en) 2015-09-10 2020-03-10 Oriient New Media Ltd. Navigate, track, and position mobile devices in GPS-denied or GPS-inaccurate areas with automatic map generation
US11187540B2 (en) 2015-09-10 2021-11-30 Oriient New Media Ltd. Navigate, track, and position mobile devices in GPS-denied or GPS-inaccurate areas with automatic map generation
CN108351217B (en) * 2015-09-10 2022-03-01 欧里伊恩特新媒体有限公司 Mobile device for navigation, tracking and positioning with access denial in global positioning system

Also Published As

Publication number Publication date
US9441973B2 (en) 2016-09-13
WO2013188597A3 (en) 2014-04-17
US20150354965A1 (en) 2015-12-10
US9778044B2 (en) 2017-10-03
US10571270B2 (en) 2020-02-25
US20130332065A1 (en) 2013-12-12
US9297658B2 (en) 2016-03-29
US20170363426A1 (en) 2017-12-21
WO2013188579A1 (en) 2013-12-19
US20130331121A1 (en) 2013-12-12
WO2013188598A3 (en) 2015-06-25
US9746327B2 (en) 2017-08-29
WO2013188598A2 (en) 2013-12-19
US20170153111A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
US9778044B2 (en) Irregular feature mapping
CN110849374B (en) Underground environment positioning method, device, equipment and storage medium
US10281279B2 (en) Method and system for global shape matching a trajectory
CN105737826B (en) Pedestrian's indoor orientation method
CN108700421B (en) Method and system for assisting enhanced portable navigation using offline map information
AU2015216722B2 (en) Determining the position of a mobile device in a geographical area
US20170370728A1 (en) Collaborative creation of indoor maps
US20150119086A1 (en) Simultaneous localization and mapping systems and methods
US20190170521A1 (en) Method and system for fingerprinting survey
Wu et al. Efficient indoor localization based on geomagnetism
AU2016202042B2 (en) Backtracking indoor trajectories using mobile sensors
Shu et al. Efficient image-based indoor localization with MEMS aid on the mobile device
Jia et al. A cross-correction LiDAR SLAM method for high-accuracy 2D mapping of problematic scenario
CA2894863A1 (en) Indoor localization using crowdsourced data
US20220341752A1 (en) Alignment Of Map Segments
Gutierrez-Gomez et al. True scaled 6 DoF egocentric localisation with monocular wearable systems
JP2019207177A (en) Self-position estimation apparatus
WO2014145165A2 (en) Method to scale inertial location data using directional and/or scale confidence constraints
Seo et al. DO IONet: 9-axis IMU-based 6-DOF odometry framework using a neural network for direct orientation estimation
Charroud et al. Enhanced autoencoder-based LiDAR localization in self-driving vehicles
CN117419706A (en) Neural network geomagnetic positioning method based on multi-feature driving and computer equipment
Elyasi et al. Finding Your Way Back: Path Odometry Algorithms for Assisted Return
CN116562234A (en) Multi-source data fusion voice indoor positioning method and related equipment
CN117098224A (en) Indoor positioning and navigation method based on WiFi fingerprint and inertial sensor information fusion
CN116912310A (en) Camera pose estimation method, device, computer equipment and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13804829

Country of ref document: EP

Kind code of ref document: A2

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
122 Ep: pct application non-entry in european phase

Ref document number: 13804829

Country of ref document: EP

Kind code of ref document: A2