System and method for fault detection and recovery for concurrent odometry and mapping
First Claim
1. A method, comprising:
- modifying, at an electronic device, a three-dimensional representation of an environment of the electronic device based on known feature descriptors of a stored plurality of maps of the environment that were previously generated by the electronic device during prior mapping sessions and a first map file comprising accumulated first mapping data received from a motion tracking module, wherein the first mapping data is based on images captured from one or more visual sensors and non-visual data from one or more non-image sensors;
in response to receiving a second map file comprising accumulated second mapping data from the motion tracking module after receiving an indication from the motion tracking module that a fault condition exists, wherein the fault condition comprises the electronic device changing direction at a rate that exceeds a rate at which the motion tracking module can generate accurate mapping data, buffering or discarding the second map file and omitting the second map file from the three-dimensional representation;
discontinuing buffering or discarding the second map file in response to receiving an indication from the motion tracking module that the fault condition has resolved; and
in response to receiving a third map file comprising accumulated third mapping data from the motion tracking module after receiving an indication from the motion tracking module that the fault condition has resolved, modifying the three-dimensional representation based on the third map file.
2 Assignments
0 Petitions
Accused Products
Abstract
An electronic device detects and recovers from fault conditions while tracking its motion and building a map of its environment. A front-end motion tracking module detects fault conditions while tracking motion over time and provides mapping data to a back-end mapping module. The front-end motion tracking module indicates to the back-end mapping module when a fault condition has been detected and when the fault condition is no longer detected. The back-end mapping module generates maps from the mapping data and merges the maps to build a three-dimensional representation of the environment. The back-end mapping module buffers or discards any mapping data received from the front-end motion tracking module during the existence of a fault condition. The back-end mapping module merges the maps generated based on mapping data received before and after the fault condition and adds the merged maps to the three-dimensional representation of the environment.
31 Citations
18 Claims
-
1. A method, comprising:
-
modifying, at an electronic device, a three-dimensional representation of an environment of the electronic device based on known feature descriptors of a stored plurality of maps of the environment that were previously generated by the electronic device during prior mapping sessions and a first map file comprising accumulated first mapping data received from a motion tracking module, wherein the first mapping data is based on images captured from one or more visual sensors and non-visual data from one or more non-image sensors; in response to receiving a second map file comprising accumulated second mapping data from the motion tracking module after receiving an indication from the motion tracking module that a fault condition exists, wherein the fault condition comprises the electronic device changing direction at a rate that exceeds a rate at which the motion tracking module can generate accurate mapping data, buffering or discarding the second map file and omitting the second map file from the three-dimensional representation; discontinuing buffering or discarding the second map file in response to receiving an indication from the motion tracking module that the fault condition has resolved; and in response to receiving a third map file comprising accumulated third mapping data from the motion tracking module after receiving an indication from the motion tracking module that the fault condition has resolved, modifying the three-dimensional representation based on the third map file. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
generating, at an electronic device, a three-dimensional representation of an environment of the electronic device based on known feature descriptors of a stored plurality of maps of the environment that were previously generated by the electronic device during prior mapping sessions and a first map file comprising accumulated first mapping data received from a motion tracking module of the electronic device, the first mapping data comprising feature descriptors of one or more spatial features representing an object in the environment of the electronic device based on images captured from one or more visual sensors and non-visual data from one or more non-image sensors; in response to receiving from the motion tracking module an indication of a fault condition, wherein the fault condition comprises the electronic device changing direction at a rate that exceeds a rate at which the motion tracking module can generate accurate mapping data, interrupting generating the three-dimensional representation of the environment; and in response to receiving an indication from the motion tracking module that the fault condition has resolved, resuming generating the three-dimensional representation based on a second map file comprising accumulated second mapping data received from the motion tracking module after the indication that the fault condition has resolved. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. An electronic device, comprising:
-
a motion tracking module configured to track motion of the electronic device relative to an environment of the electronic device based on mapping data comprising feature descriptors of one or more spatial features representing one or more objects in the environment and to indicate a fault condition, wherein the feature descriptors are generated based on images captured from one or more visual sensors and non-visual data from one or more non-image sensors; and a mapping module configured to generate a three-dimensional representation of the environment of the electronic device based on known feature descriptors of a stored plurality of maps of the environment that were previously generated by the electronic device during prior mapping sessions and first mapping data received from the motion tracking module, wherein the mapping module is further configured to interrupt generating the three-dimensional representation of the environment in response to receiving from the motion tracking module an indication of a fault condition, wherein the fault condition comprises the electronic device changing direction at a rate that exceeds a rate at which the motion tracking module can generate accurate mapping data, and, in response to receiving an indication from the motion tracking module that the fault condition has resolved, resume generating the three-dimensional representation based on the known feature descriptors of the stored plurality of maps and second mapping data received from the motion tracking module after the indication that the fault condition has resolved. - View Dependent Claims (15, 16, 17, 18)
-
Specification