IP Library Granted Patent US 11,519,729
Granted Patent B2
US 11,519,729 · App. 16/871,560 · Granted Dec 6, 2022

Vision-aided inertial navigation

Inventors: Stergios I. Roumeliotis (St Paul, MN); Anastasios I. Mourikis (Minneapolis, MN)
Assignee: Regents of the University of Minnesota
G01C21/16G01C21/165G05D1/00H04W4/027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,519,729
App. No.
16/871,560
Granted
Dec 6, 2022
Kind
B2
Abstract

Localization and navigation systems and techniques are described. An electronic device comprises a processor configured to maintain a state vector storing estimates for a position of the electronic device at poses along a trajectory within an environment along with estimates for positions for one or more features within the environment. The processor computes, from the image data, one or more constraints based on features observed from multiple poses of the electronic device along the trajectory, and computes updated state estimates for the position of the electronic device in accordance with the motion data and the one or more computed constraints without computing updated state estimates for the features for which the one or more constraints were computed.

Claims (52)

1. A real-time vision aided inertial navigation system, comprising:

a camera capable of capturing a plurality of images;

an inertial measurement unit (IMU) capable of generating IMU measurements;

a set of one or more processors capable of receiving data from the camera and the IMU;

wherein the set of one or more processors is also capable of performing steps including:

receiving an IMU measurement from the IMU;

generating an IMU pose estimate based upon the received IMU measurement;

receiving image data from the camera comprising an image in which a specific feature is visible;

extracting at least one feature from the received image including the specific feature;

estimating a camera pose corresponding to the received image based upon the IMU pose estimate;

estimating a position of the specific feature based upon a set of camera pose estimates, where the set of camera pose estimates comprises:

the camera pose estimate corresponding to the received image;

a plurality of additional camera pose estimates corresponding to a plurality of additional images in which the specific feature is visible;

computing an estimation error based upon:

the estimated position of the specific feature; and

observations of the specific feature based upon the received image and the plurality of additional images in which the specific feature is visible;

updating at least the set of camera pose estimates based upon the computed estimation error; and

generating navigation information for the system based upon the updated set of camera pose estimates.

2. The system of claim 1 , further comprising:

a visible display;

wherein the set of one or more processors is also capable of performing an additional step comprising providing an output via the visible display, where the output is determined based upon the navigation information.

3. The system of claim 2 , wherein the output includes a visual representation of the navigation information.

4. The system of claim 2 , wherein the navigation information comprises at least one piece of navigation information selected from a group consisting of:

a position,

an attitude,

an orientation,

a heading,

a roll,

a pitch,

a yaw,

a velocity measure, and

an acceleration measure.

5. The system of claim 1 , wherein:

the received IMU measurement comprises a measurement of angular velocity and a measurement of linear acceleration; and

the generated IMU pose estimate comprises a position estimate and an orientation estimate.

6. The system of claim 1 , wherein the set of one or more processors is also capable of performing an additional step comprising appending the camera pose estimate corresponding to the received image to a state vector to form an augmented state vector comprising the set of camera pose estimates.

7. The system of claim 6 , wherein the set of one or more processors is also capable of performing an additional step comprising removing at least one camera pose estimate from the set of camera pose estimates in the augmented state vector when the number of camera pose estimates in the augmented state vector is greater than a maximum allowable number of camera pose estimates.

8. The system of claim 7 , wherein:

the augmented state vector comprises an initial camera pose estimate corresponding to an image received prior to receipt of images corresponding to other camera pose estimates in the set of camera pose estimates; and

the initial camera pose estimate remains in the set of camera pose estimates within the augmented state vector.

9. The system of claim 1 , wherein computing estimation error further comprises computing a residual based upon the difference between:

the estimated position of the specific feature; and

the observations of the specific feature based upon the received image and the additional images in which the specific feature is visible.

10. The system of claim 1 , wherein the set of one or more processors is also capable of computing the estimation error by performing an additional step comprising computing a first Jacobian of the observations of the specific feature with respect to the estimated position of the specific feature.

11. The system of claim 10 , wherein the set of one or more processors is also capable of computing the estimation error by performing additional steps comprising:

computing a second Jacobian of the observations of the specific feature with respect to the set of camera pose estimates;

performing a projection of the second Jacobian, where the projection utilizes a basis determined using the first Jacobian; and

calculating the error estimate using the second Jacobian and an estimate of error for the set of camera pose estimates.

12. The system of claim 1 , wherein computing the estimation error further comprises determining a linear approximation of the estimation error.

13. The system of claim 1 , wherein the computed estimation error is a linearized constraint between camera poses in the set of camera pose estimates.

14. The system of claim 1 , wherein updating at least the set of camera pose estimates based upon the computed estimation error comprises updating a state vector of an Extended Kalman Filter based upon the computed estimation error, where the state vector comprises an IMU state vector and the set of camera pose estimates.

15. The system of claim 1 , wherein the steps of estimating the position of the specific feature, computing the estimation error, and updating the set of camera pose estimates are performed in response to receiving additional image data from the camera comprising a subsequent image in which the specific feature is not visible.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: ROUMELIOTIS, STERGIOS I.; MOURIKIS, ANASTASIOS I.
To: REGENTS OF THE UNIVERSITY OF MINNESOTA
Reel/Frame 057235/0469 →
Continuity (4)
Continuation 15706149 · Sep 15, 2017
Continuation 12383371 · Mar 23, 2009
Provisional Application 61040473 · Mar 28, 2008
Related Publication 20200300633A1 · Sep 24, 2020
Cited By (1)
US 12,529,563