Method to scale inertial location data using directional and/or scale confidence constraints
First Claim
Patent Images
1. A method for determining a scale used in estimating a path of a computing device in motion, the method comprising:
- receiving a plurality of pairs of points along the path based on inertial sensor data from the computer device;
determining which of the plurality of pairs of points along the path are constrained, each constrained pair of points comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance;
determining for each constrained pair of points a first bound and a second bound based on the first radius, the second radius, and the distance;
determining a first intersection of the first bounds of the plurality of pairs of points and a second intersection of the second bounds of the plurality of pairs of points; and
setting the scale as an intersection of the first intersection and the second intersection.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer readable storage media are presented for directional scaling of inertial path data to satisfy ranging constraints. The presented techniques take into account scaling confidence information. In addition to bounding potential scale corrections based on the reliability of the inertial path and the magnetic heading confidence, the techniques bound potential scale parameters based on constraints and solve for directional scale parameters.
-
Citations
20 Claims
-
1. A method for determining a scale used in estimating a path of a computing device in motion, the method comprising:
-
receiving a plurality of pairs of points along the path based on inertial sensor data from the computer device; determining which of the plurality of pairs of points along the path are constrained, each constrained pair of points comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance; determining for each constrained pair of points a first bound and a second bound based on the first radius, the second radius, and the distance; determining a first intersection of the first bounds of the plurality of pairs of points and a second intersection of the second bounds of the plurality of pairs of points; and setting the scale as an intersection of the first intersection and the second intersection. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for rescaling a path of a computing device in motion, the path including a plurality of points based on inertial sensor data, a desired endpoint, and a path endpoint, the method comprising:
-
representing each pair of consecutive points with a segment to generate a plurality of segments; determining a constraint error based on a comparison of the desired end point and the path endpoint; determining a contribution of each segment of the plurality of segments to the constraint error; and adjusting each segment of the plurality of segments based on the corresponding contribution. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for estimating a path of a computing device in motion, the method comprising:
-
determining a pair of points of the path comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance, points of the path between the first point and the second point forming step vectors, each step vector connecting two consecutive points; multiplying each step vector with an adjustable parameter associated with a scale of the path; summing the multiplied step vectors to generate the path to generate a total step vector; determining a difference vector between the first point and the second point; subtracting the total step vector from the difference vector to form a delta vector; and adjusting the parameters associated with the scale until the magnitude of the delta vector is less than the sum of the first radius and the second radius. - View Dependent Claims (16)
-
-
17. A computing system for estimating a path of a computing device in motion, the computing system comprising:
-
a processor; a memory communicatively coupled to the processor, the memory bearing instructions that, when executed on the processor, cause the computing system to at least; determine a plurality of pairs of points along the path that are constrained, each pair of points comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance; determine for each pair of points a first bound and a second bound based on the first radius, the second radius, and the distance; determine a first intersection of the first bounds of the plurality of pair of points and a second intersection of the second bounds of the plurality of pair of points; and set the scale as an intersection of the first intersection and the second intersection.
-
-
18. A map of a path of a computing device in motion, the map being obtained based on the steps of:
-
determining a pair of points of the path comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance, points of the path between the first point and the second point forming step vectors, each step vector connecting two consecutive points; multiplying each step vector with an adjustable parameter associated with a scale of the path; summing the multiplied step vectors to generate the path to generate a total step vector; determining a difference vector between the first point and the second point; subtracting the total step vector from the difference vector to form a path vector; adjusting the parameters associated with the scale until the magnitude of the path vector is less than the sum of the first radius and the second radius; and generating the map based at least in part on the points and the adjusted parameters.
-
-
19. A computer readable storage medium comprising instructions that, when executed on a system configured to rescale a path of a computing device in motion, the path including a plurality of points, a desired endpoint, and a path endpoint, cause the system to at least:
-
represent each pair of consecutive points with a segment to generate a plurality of segments; determine a constraint error based on a comparison of the desired end point and the path endpoint; determine a contribution of each segment of the plurality of segments to the constraint error; and adjust each segment of the plurality of segments based on the corresponding contribution.
-
-
20. A computing system for presenting a path of a computing device in motion, the computing system comprising:
-
a processor; and a memory communicatively coupled to the processor, the memory bearing instructions that, when executed on the processor, cause the computing system to at least; present a user interface configured to receive input from a user; determine a pair of points of the path comprising a first point and a second point, the first point being associated with a first constraint having a first radius, the second point being associated with a second constraint having a second radius, the first point and the second point being separated by a distance, points of the path between the first point and the second point forming step vectors, each step vector connecting two consecutive points; multiply each step vector with an adjustable parameter associated with a scale of the path; sum the multiplied step vectors to generate the path to generate a total step vector; determine a difference vector between the first point and the second point; subtract the total step vector from the difference vector to form a path vector; adjust the parameters associated with the scale until the magnitude of the path vector is less than the sum of the first radius and the second radius; generate a visual representation of the path based at least in part on the points and the adjusted parameters; and present the visual representation at the user interface.
-
Specification