IP Library Granted Patent US 11,328,158
Granted Patent B2
US 11,328,158 · App. 17/008,299 · Granted May 10, 2022

Visual-inertial positional awareness for autonomous and non-autonomous tracking

Inventors: Zhe Zhang (Sunnyvale, CA); Grace Tsai (Campbell, CA); Shaoshan Liu (Fremont, CA)
Assignee: Trifo, Inc.
G06K9/00671G06K9/00805G06K9/4604G06K9/6202G06K9/6296G06T7/74G06T17/05G06K9/4676G06T2207/10016G06T2207/10028G06T2207/30244
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,328,158
App. No.
17/008,299
Granted
May 10, 2022
Kind
B2
Abstract

The described positional awareness techniques employing visual-inertial sensory data gathering and analysis hardware with reference to specific example implementations implement improvements in the use of sensors, techniques and hardware design that can enable specific embodiments to provide positional awareness to machines with improved speed and accuracy.

Claims (65)

1. A system including:

two or more mobile autonomous units, including a first autonomous unit and a second autonomous unit, each having a mobile platform and disposed thereon:

a visual sensor comprising cameras providing capturing images including at least two frames, thereby providing a 360-degrees view about a centerline of the mobile platform; and at least one of:

a multi-axis inertial measuring unit (IMU) sensor capable of providing measurement of at least acceleration using one or more accelerometers; and

a global positioning system (GPS) receiver; and

a map server, including a processor and a coupled memory storing instructions, which instructions when executed by the processor perform:

receiving visual information of surrounding scenery captured by the visual sensor of the first autonomous unit and a position of the first autonomous unit where the visual information was captured;

classifying at least one of one or more objects from the visual information of the surrounding scenery into a set of moving objects and a set of non-moving objects;

determining a sparse 3D mapping of object feature points taken from the visual information of the surrounding scenery from the set of non-moving objects; and

building a 3D map of object feature points from the sparse 3D mapping of object feature points.

2. The system of claim 1 , further comprising instructions that when executed by the processor perform:

receiving from the second autonomous unit a set of keyrigs while hosting a first 3D map, each keyrig comprising visual information of the surrounding scenery and a position of the first autonomous unit where the visual information was captured, the position of the first autonomous unit generated using combinations of global positioning system, inertial measurement unit, and visual information of the surrounding scenery by the second autonomous unit;

generating a second 3D map using the set of keyrigs from the second autonomous unit; and

merging the second 3D map with the first 3D map.

3. The system of claim 2 , wherein the first 3D map and the second 3D map both cover common location and further comprising instructions that when executed by the processor perform:

updating the first 3D map using the second 3D map.

4. The system of claim 1 , further comprising instructions that when executed by the processor perform:

generating several hundred thousand images during one hour of operation by an autonomous unit.

5. The system of claim 1 , further comprising instructions that when executed by the processor perform:

substantially contemporaneously tracking a position of moving autonomous units against 3D maps.

6. The system of claim 1 , further comprising instructions that when executed by the processor perform:

storing a time of day with at least one 3D map.

7. The system of claim 1 , further comprising instructions that when executed by the processor perform:

storing a weather condition with at least one 3D map.

8. The system of claim 1 , further comprising instructions that when executed by the processor perform:

identifying an object feature point to be included in the sparse 3D mapping of object feature points:

extracting a first set 2D features of the object from a first 360-degrees image in a keyrig selected from a subset of keyrigs;

extracting a second set of 2D features of the object from a second 360-degrees image in the selected keyrig;

receiving a position of the autonomous unit when the 360-degrees images were captured including longitude and latitude as input;

triangulating the first set of 2D features from the first 360-degrees image and the second set of 2D features from the 360-degrees second image to derive location for feature points of the object relative to the position of the autonomous unit; and

generating for at least one feature point of the object, a global position, including longitude, latitude, and height and adding the global position and feature descriptors of the object to the sparse mapping of object feature points.

9. The system of claim 1 , further comprising instructions that when executed by the processor perform

identifying an object feature point to be included in the 3D map of object feature points, by:

extracting a first set 2D features of the object from a first 360-degrees image in a keyrig selected from a set of keyrigs provided by an autonomous unit;

extracting a second set of 2D features of the object from a second 360-degrees image in the selected keyrig;

receiving a position of the autonomous unit when the 360-degrees images were captured including longitude and latitude as input;

triangulating the first set of 2D features from the first 360-degrees image and the second set of 2D features from the 360-degrees second image to derive location for feature points of the object relative to the position of the autonomous unit; and

generating for at least one feature point of the object, a global position, including longitude, latitude, and height and adding the global position and feature descriptors of the object to the 3D map of object feature points.

10. The system of claim 1 , wherein accuracy is determined by a difference between a location of an object depiction on the 3D map and an actual location of the object in space.

11. The system of claim 10 , further including at least one 3D map with an accuracy within 10 centimeters.

12. The system of claim 1 , wherein a starting point of travel of the first autonomous unit is an end point of the travel of the first autonomous unit.

13. The system of claim 1 , wherein the multi-axis inertial measuring unit (IMU) sensor further includes one or more gyroscopes for reporting a rotational rate, and wherein the position of the autonomous unit generated using combinations of global positioning system (GPS) receiver, the multi-axis inertial measurement unit (IMU), and visual information of the surrounding scenery by the first autonomous unit during travel from a starting point to an end point further includes:

generating position of the autonomous unit using the rotational rate from the one or more gyroscopes.

14. The system of claim 13 , wherein the multi-axis inertial measuring unit (IMU) sensor further including three gyroscopes and three accelerometers mounted substantially orthogonal to each other, and the coupled memory further storing instructions for performing:

determining misalignment between the IMU and the mobile unit by performing a sighting estimation to determine an offset between an IMU measurement frame and a sensor frame.

15. The system of claim 14 , wherein the coupled memory further storing instructions for performing:

correcting misalignment correction using the offset determined between the IMU measurement frame and the sensor frame.

16. The system of claim 14 , wherein the coupled memory further storing instructions for performing continuous estimation and correction during system operation to minimize effect of the offset determined between the IMU measurement frame and the sensor frame.

17. The system of claim 14 , wherein the offset determined between the IMU measurement frame and the sensor frame is a transformation stored by the autonomous unit.

18. A method for building 3D maps from a surrounding scenery using information sourced by one or more moving autonomous units that include at least a camera visual sensor and at least one selected from a global positioning system and an inertial measurement unit, including:

receiving visual information of the surrounding scenery and a position of a first autonomous unit where the visual information was captured;

classifying at least one of one or more objects from the visual information of the surrounding scenery into a set of moving objects and a set of non-moving objects;

determining a sparse 3D mapping of object feature points taken from the visual information of the surrounding scenery from the set of non-moving objects; and

building a 3D map of object feature points from the sparse 3D mapping of object feature points.

19. A non-transitory computer readable medium storing instructions for building 3D maps from a surrounding scenery using information sourced by one or more moving autonomous units, which instructions when executed by a processor perform a method for building 3D maps from a surrounding scenery using information sourced by one or more moving autonomous units that include at least a camera visual sensor and at least one selected from a global positioning system and an inertial measurement unit, the method comprising:

receiving visual information from surrounding scenery and a position of a first autonomous unit where the visual information was captured;

classifying at least one of one or more objects from the visual information of the surrounding scenery into a set of moving objects and a set of non-moving objects;

determining a sparse 3D mapping of object feature points taken from the visual information of the surrounding scenery from the set of non-moving objects; and

building a 3D map of object feature points from the sparse 3D mapping of object feature points.

20. A method for building 3D maps from a surrounding scenery using information sourced by one or more moving autonomous units that include at least a camera visual sensor and at least one selected from a global positioning system and an inertial measurement unit, including:

capturing visual information of the surrounding scenery and a position of a first autonomous unit where the visual information was captured;

providing the visual information of the surrounding scenery and a position of the first autonomous unit where the visual information was captured to a server for:

classification of at least one of one or more objects from the visual information of the surrounding scenery into a set of moving objects and a set of non-moving objects;

determination of a sparse 3D mapping of object feature points taken from the visual information of the surrounding scenery from the set of non-moving objects; and

building of a 3D map of object feature points from the sparse 3D mapping of object feature points.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2021
From: ZHANG, ZHE; TSAI, GRACE; LIU, SHAOSHAN
To: PERCEPTIN, INC
Reel/Frame 058360/0773 →
CHANGE OF NAME Recorded Dec 10, 2021
From: PERCEPTIN, INC
To: TRIFO, INC.
Reel/Frame 058957/0445 →
Continuity (4)
Continuation 16550143 · Aug 23, 2019
Continuation 15942348 · Mar 30, 2018
Continuation In Part 15250393 · Aug 29, 2016
Related Publication 20200394410A1 · Dec 17, 2020
Cited By (3)
US 12,387,502 US 12,699,394 US 12,705,762