# US 12,111,178 B2 · Distributed device mapping

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,178 B2
- Document ID: US12111178B2
- Status: Granted
- Kind: B2
- Application number: 18/078,745
- Filed: 2022-12-09
- Published: 2023-06-08
- Granted: 2024-10-08
- Earliest claimed: 2017-04-18
- Assignees: Blue Vision Labs UK Limited
- Applicants: Blue Vision Labs UK Limited
- Inventors: Peter Ondruska; Lukas Platinsky
- Web page: https://patentgrep.com/patent/US12111178B2

## CPC

- G01C 21/3848: {Data obtained from both position sensors and additional sensors}
- G01C 11/06: by comparison of two or more pictures of the same area
- G01C 21/12: executed aboard the object being navigated; Dead reckoning
- G01C 21/3811: {Point data, e.g. Point of Interest [POI]}
- G01C 21/3841: {Data obtained from two or more sources, e.g. probe vehicles}
- G01S 17/89: for mapping or imaging
- G01S 19/47: the supplementary measurement being an inertial measurement, e.g. tightly coupled inertial
- G06T 7/246: using feature-based methods, e.g. the tracking of corners or segments
- G06T 7/73: using feature-based methods
- G06T 7/74: {involving reference images or patches}
- G06T 2207/10012: Stereo images
- G06T 2207/10016: Video; Image sequence
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)
- G01S: RADIO 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
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

The present invention relates to the efficient use of both local and remote computational resources and communication bandwidth to provide distributed environment mapping using a plurality of mobile sensor-equipped devices. According to a first aspect, there is provided a method of determining a global position of one or more landmarks on a global map, the method comprising the steps of determining one or more differences between sequential sensor data captured by one or more moving devices; determining one or more relative localisation landmark positions with respect to the one or more moving devices; determining relative device poses based one or more differences between sequential sensor data relative to the one or more relative localisation landmark positions; and determining a correlation between each device pose and the one or more relative localisation landmarks positions.

## Claims

### Claim 1

A computer-implemented method comprising:
determining, by a computing system, a sub-sample frequency based on an uncertainty value calculated from an uncertainty function based on a speed of a device, wherein the uncertainty value satisfies a threshold uncertainty value;
causing, by the computing system, the device to capture sensor data of an environment at the sub-sample frequency;
determining, by the computing system, an estimated position of a landmark in the environment based on triangulation from the sensor data captured at the sub-sample frequency;
determining, by the computing system, a global position of the landmark in a map associated with the environment; and
updating, by the computing system, the global position of the landmark in the map based on the estimated position of the landmark.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the sub-sample frequency is a frequency in time or a frequency in space.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein a constraint is applied to the uncertainty function to maintain satisfaction of the threshold uncertainty value by the uncertainty value.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining, by the computing system, estimated motion of the device in the environment based on the sensor data; and
determining, by the computing system, relative positions of the landmark to the device based on the estimated motion and the sensor data, wherein the triangulation is based on the relative positions.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising:
determining, by the computing system, timestamps associated with the sensor data; and
estimating, by the computing system, relative motion between the timestamps based on the sensor data, wherein the estimated motion of the device is based on the relative motion.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining, by the computing system, prior sensor data of the environment captured by another device; and
determining, by the computing system, a global position of the device based on a constraint associated with relative pose data determined based on the sensor data and the prior sensor data, wherein the global position of the landmark is determined based on the global position of the device.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the prior sensor data of the environment is determined based on at least one of: locations associated with the sensor data and the prior sensor data, positioning data associated with the sensor data and the prior sensor data, statistical similarity of sensor poses associated with the sensor data and the prior sensor data, structures of landmarks determined based on the sensor data and the prior sensor data, semantic hashing of the sensor data and the prior sensor data, or appearance hashing of the sensor data and the prior sensor data.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6, wherein the constraint is determined based on a search for a variable that minimizes error between the global position of the device and an estimated position of the device derived from the relative pose data.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the triangulation from the sensor data is based on computation results provided by the device.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the determining the global position of the landmark is performed on a centralized server or distributed across a network of computers.

### Claim 11

A system comprising:
at least one processor; and
a memory storing instructions that, when executed by the at least one processor, cause the system to perform operations comprising:
determining a sub-sample frequency based on an uncertainty value calculated from an uncertainty function based on a speed of a device, wherein the uncertainty value satisfies a threshold uncertainty value;
causing the device to capture sensor data of an environment the sub-sample frequency;
determining an estimated position of a landmark in the environment based on triangulation from the sensor data captured at the sub-sample frequency;
determining a global position of the landmark in a map associated with the environment; and
updating the global position of the landmark in the map based on the estimated position of the landmark.

### Claim 12 (depends on 11)

The system of claim 11, wherein the sub-sample frequency is a frequency in time or a frequency in space.

### Claim 13 (depends on 11)

The system of claim 11, wherein a constraint is applied to the uncertainty function to maintain satisfaction of the threshold uncertainty value by the uncertainty value.

### Claim 14 (depends on 11)

The system of claim 11, the operations further comprising:
determining estimated motion of the device in the environment based on the sensor data; and
determining relative positions of the landmark to the device based on the estimated motion and the sensor data, wherein the triangulation is based on the relative positions.

### Claim 15 (depends on 14)

The system of claim 14, the operations further comprising:
determining timestamps associated with the sensor data; and
estimating relative motion between the timestamps based on the sensor data, wherein the estimated motion of the device is based on the relative motion.

### Claim 16

A non-transitory computer-readable storage medium including instructions that, when executed by at least on processor of a computing system, cause the computing system to perform operations comprising:
determining a sub-sample frequency based on an uncertainty value calculated from an uncertainty function based on a speed of a device, wherein the uncertainty value satisfies a threshold uncertainty value;
causing the device to capture sensor data of an environment the sub-sample frequency;
determining an estimated position of a landmark in the environment based on triangulation from the sensor data captured at the sub-sample frequency;
determining a global position of the landmark in a map associated with the environment; and
updating the global position of the landmark in the map based on the estimated position of the landmark.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the sub-sample frequency is a frequency in time or a frequency in space.

### Claim 18 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein a constraint is applied to the uncertainty function to maintain satisfaction of the threshold uncertainty value by the uncertainty value.

### Claim 19 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, the operations further comprising:
determining estimated motion of the device in the environment based on the sensor data; and
determining relative positions of the landmark to the device based on the estimated motion and the sensor data, wherein the triangulation is based on the relative positions.

### Claim 20 (depends on 19)

The non-transitory computer-readable storage medium of claim 19, the operations further comprising:
determining timestamps associated with the sensor data; and
estimating relative motion between the timestamps based on the sensor data, wherein the estimated motion of the device is based on the relative motion.
