# US 9,752,892 B2 · Methods and systems for acquiring sensor data on a device using multiple acquisition modes

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

- Number: US 9,752,892 B2
- Document ID: US9752892B2
- Status: Granted
- Kind: B2
- Application number: 14/185,176
- Filed: 2014-02-20
- Published: 2015-08-20
- Granted: 2017-09-05
- Earliest claimed: 2014-02-20
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: James Fung; Joel Hesch; Johnny Lee
- Web page: https://patentgrep.com/patent/US9752892B2

## CPC

- G01C 23/00: Combined instruments indicating more than one navigational value, e.g. for aircraft; Combined measuring devices for measuring two or more variables of movement, e.g. distance, speed or acceleration
- 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)

## Abstract

Methods and systems for acquiring sensor data using multiple acquisition modes are described. An example method involves receiving, by a co-processor and from an application processor, a request for sensor data. The request identifies at least two sensors of a plurality of sensors for which data is requested. The at least two sensors are configured to acquire sensor data in a plurality of acquisition modes, and the request further identifies for the at least two sensors respective acquisition modes for acquiring data that are selected from among the plurality of acquisition modes. In response to receiving the request, the co-processor causes the at least two sensors to acquire data in the respective acquisition modes. The co-processor receives first sensor data from a first sensor and second sensor data from a second sensor, and the co-processor provides the first sensor data and the second sensor data to the application processor.

## Claims

### Claim 1

A method performed by a device having an application processor configured to function based on an operating system and a co-processor configured to receive data from a plurality of sensors of the device, the method comprising:
receiving, by the co-processor and from the application processor, a request for sensor data, wherein:
the request identifies at least two sensors of the plurality of sensors for which data is requested,
the at least two sensors are configured to acquire data using a plurality of acquisition modes, and
the request further identifies, for the at least two sensors, respective acquisition modes for acquiring data, the respective acquisition modes selected from among the plurality of acquisition modes;
in response to receiving the request, causing, by the co-processor, the at least two sensors to acquire data in the respective acquisition modes;
receiving, by the co-processor, first sensor data from a first sensor of the at least two sensors and second sensor data from a second sensor of the at least two sensors; and
providing, by the co-processor, the first sensor data and the second sensor data to the application processor.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first sensor data and the second sensor data are provided to the application processor within a single data structure.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first sensor data and the second sensor data are provided to the application processor within a single image.

### Claim 4 (depends on 1)

The method of claim 1, wherein the plurality of acquisition modes comprise a free-running mode in which sensor data is captured independently of a time clock of the co-processor at a predetermined frequency and a triggered mode in which sensor data is captured at one or more predetermined times that are synchronized with the time clock of the co-processor.

### Claim 5 (depends on 4)

The method of claim 4, wherein the identified acquisition mode for the first sensor is the free-running mode and the identified acquisition mode for the second sensor is the triggered mode.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first sensor comprises a first camera and the second sensor comprises a second camera.

### Claim 7 (depends on 5)

The method of claim 5, wherein the second sensor comprises a camera and the first sensor comprises a sensor selected from the group consisting of: an inertial measurement unit, an accelerometer, a gyroscope, a barometer, a magnetometer, and a temperature sensor.

### Claim 8 (depends on 1)

The method of claim 1, further comprising causing the first sensor to switch acquisition modes in response to receiving a subsequent request for sensor data from the application processor, wherein the subsequent request identifies a new acquisition mode selected from among the plurality of acquisition modes.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first sensor data comprises multiple intervals of data and the second sensor data comprises multiple intervals of data, and the method further comprises:
determining, by the co-processor, timestamps associated with the multiple intervals of the first sensor data and timestamps associated with the multiple intervals of the second sensor data; and
associating, by the co-processor and together within a single data structure, at least one interval of the multiple intervals of the first sensor data and at least one interval of the multiple intervals of the second sensor data based on the determined timestamps.

### Claim 10 (depends on 9)

The method of claim 9, wherein the request further identifies a global positioning system (GPS) time, and the method further comprises configuring, by the co-processor, a time clock of the co-processor based on the GPS time.

### Claim 11

A non-transitory computer readable memory configured to store instructions that, when executed by a device having an application processor configured to function based on an operating system and a co-processor configured to receive data from a plurality of sensors of the device, cause the device to perform functions comprising:
receiving a request for sensor data, wherein:
the request identifies at least two sensors of the plurality of sensors for which data is requested,
the at least two sensors are configured to acquire data using a plurality of acquisition modes, and
the request further identifies, for the at least two sensors, respective acquisition modes for acquiring data, the respective acquisition modes selected from among the plurality of acquisition modes;
in response to receiving the request, causing, by the co-processor, the at least two sensors to acquire data in the respective acquisition modes; and
receiving, by the application processor, first sensor data acquired using a first sensor of the at least two sensors and second sensor data acquired using a second sensor of the at least two sensors.

### Claim 12 (depends on 11)

The non-transitory computer readable memory of claim 11, wherein the functions further comprise:
receiving, by the co-processor, the first sensor data and the second sensor data; and
providing, by the co-processor, the first sensor data and the second sensor data to the application processor within a single data structure.

### Claim 13 (depends on 12)

The non-transitory computer readable memory of claim 12, wherein the first sensor data comprises multiple intervals of data and the second sensor data comprises multiple intervals of data, and wherein the functions further comprise:
determining, by the co-processor, timestamps associated with the multiple intervals of the first sensor data and timestamps associated with the multiple intervals of the second sensor data; and
associating, by the co-processor and together within the single data structure, at least one interval of the multiple intervals of the first sensor data and at least one interval of the multiple intervals of the second sensor data based on the determined timestamps.

### Claim 14 (depends on 11)

The non-transitory computer readable memory of claim 11, wherein the functions further comprise:
determining, by the co-processor, one or more timestamps associated with the first sensor data and one or more time stamps associated with the second sensor data; and
providing, by the co-processor and to the application processor, the one or more timestamps associated with the first sensor data and the one or more timestamps associated with the second sensor data.

### Claim 15 (depends on 11)

The non-transitory computer readable memory of claim 11, wherein the plurality of acquisition modes comprise a free-running mode in which sensor data is captured independently of a time clock of the co-processor at a predetermined frequency and a triggered mode in which sensor data is captured at one or more predetermined times that are synchronized with the time clock of the co-processor.

### Claim 16 (depends on 15)

The non-transitory computer readable memory of claim 15, wherein the functions further comprise causing the first sensor to switch acquisition modes in response to receiving a subsequent request for sensor data from the application processor, wherein the subsequent request identifies a new acquisition mode selected from among the plurality of acquisition modes.

### Claim 17

A device comprising:
an application processor configured to function based on an operating system;
at least two sensors, wherein the at least two sensors are configured to acquire data using a plurality of acquisition modes; and
a co-processor configured to receive data from the at least two sensors, and wherein the co-processor is configured to perform functions comprising:
receiving, from the application processor, a request for sensor data, wherein the request identifies, for the at least two sensors, respective acquisition modes for acquiring data, the respective acquisition modes selected from among the plurality of acquisition modes,
in response to receiving the request, causing the at least two sensors to acquire data in the respective acquisition modes,
receiving first sensor data from a first sensor of the at least two sensors and second sensor data from a second sensor of the at least two sensors, and
providing the first sensor data and the second sensor data to the application processor.

### Claim 18 (depends on 17)

The device of claim 17, wherein the plurality of acquisition modes comprise a free-running mode in which sensor data is captured independently of a time clock of the co-processor at a predetermined frequency and a triggered mode in which sensor data is captured at one or more predetermined times that are synchronized with the time clock of the co-processor.

### Claim 19 (depends on 17)

The device of claim 17, wherein the first sensor comprises a camera and the second sensor comprises a sensor selected from the group consisting of: an inertial measurement unit, an accelerometer, a gyroscope, a barometer, a magnetometer, and a temperature sensor.

### Claim 20 (depends on 17)

The device of claim 17, wherein the functions further comprise causing the first sensor to switch acquisition modes in response to receiving a subsequent request for sensor data from the application processor, wherein the subsequent request identifies a new acquisition mode selected from among the plurality of acquisition modes.
