# US 10,120,057 B1 · System and method for determining the direction of an actor

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

- Number: US 10,120,057 B1
- Document ID: US10120057B1
- Status: Granted
- Kind: B1
- Application number: 14/881,822
- Filed: 2015-10-13
- Granted: 2018-11-06
- Earliest claimed: 2015-10-13
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Paul Vincent Byrne; Greg Joseph Klein
- Web page: https://patentgrep.com/patent/US10120057B1

## CPC

- G01S 17/89: for mapping or imaging
- G01S 17/88: Lidar systems specially adapted for specific applications
- G01S 3/78: using electromagnetic waves other than radio waves
- G01S 5/16: using electromagnetic waves other than radio waves
- 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

## Abstract

Example systems and methods are disclosed for determining the direction of an actor based on sensors within an environment. The method may include receiving point cloud data representative of the actor within the environment. The method may also include generating data segments of the point cloud data corresponding to respective height levels of the actor. The method may further include determining an area value for each data segment. Also, the method may include determining a transition between a first data segment and an adjacent second data segment based on a difference between the corresponding area values. Further, the method may include determining that the first data segment is representative of a head of the actor while the second data segment is representative of a body of the actor. The method may also include providing information indicating a direction of the actor based on the second data segment.

## Claims

### Claim 1

A method comprising:
receiving, by a control system from at least one depth sensor, point cloud data for an actor including a plurality of points that are representative of the actor within an environment;
generating, by the control system, a plurality of data segments of the point cloud data corresponding to respective height levels for the actor, wherein each data segment includes a portion of the plurality of points;
determining, by the control system, an area value for each data segment;
determining, by the control system, a transition from a first data segment to an adjacent second data segment based on a difference between the area value for the first data segment and the area value for the second data segment;
determining, by the control system based on the transition, that the first data segment is representative of a head of the actor and that the second data segment is representative of a body of the actor;
providing, by the control system, information indicating a direction of the actor based at least on the determined second data segment representative of the body of the actor; and
adjusting operation of a robotic device based on the direction of the actor.

### Claim 2 (depends on 1)

The method of claim 1, wherein the area value describes, for each data segment, the area spanned by the corresponding portion of point cloud data.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
determining a third data segment adjacent to the second data segment that is representative of an arm of the actor; and
providing information indicating a direction that the actor is pointing based on the determined third data segment that is representative of the arm of the actor.

### Claim 4 (depends on 1)

The method of claim 1 further comprising:
generating a bounding box around the second data segment that is representative of the body of the actor; and
providing information indicating the direction of the actor based on the bounding box.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
receiving historical velocity data indicating a previous velocity of the actor;
receiving historical orientation data indicating a previous direction of the actor; and
providing information indicating the direction of the actor based on the determined second data segment representative of the body of the actor, the received historical velocity data, and the received historical orientation data.

### Claim 6 (depends on 1)

The method of claim 1, wherein the at least one depth sensor comprises at least one LIDAR sensor and wherein the point cloud data has a non-uniform density.

### Claim 7 (depends on 1)

The method of claim 1, wherein the height level of the second data segment is the same amount as the height level of the first data segment.

### Claim 8

A non-transitory computer-readable medium storing instructions that are executable by one or more computing devices, wherein executing the instructions causes the one or more computing devices to perform functions comprising:
receiving, from at least one depth sensor, point cloud data for an actor including a plurality of points that are representative of the actor within an environment;
generating a plurality of data segments of the point cloud data corresponding to respective height levels for the actor, wherein each data segment includes a portion of the plurality of points;
determining an area value for each data segment;
determining a transition from a first data segment to an adjacent second data segment based on a difference between the area value for the first data segment and the area value for the second data segment;
determining based on the transition that the first data segment is representative of a head of the actor and that the second data segment is representative of a body of the actor;
providing information indicating a direction of the actor based at least on the determined second data segment representative of the body of the actor; and
adjusting operation of a robotic device based on the direction of the actor.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein executing the instructions further causes the one or more computing devices to perform functions comprising:
navigating a robotic device based at least on the direction of the actor.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein executing the instructions further causes the one or more computing devices to perform functions comprising:
determining a third data segment adjacent to the second data segment that is representative of an arm of the actor; and
providing information indicating a direction that the actor is pointing based on the determined third data segment that is representative of the arm of the actor.

### Claim 11 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein executing the instructions further causes the one or more computing devices to perform functions comprising:
receiving historical velocity data indicating a previous velocity of the actor;
receiving historical orientation data indicating a previous direction of the actor; and
providing information indicating the direction of the actor based on the determined second data segment representative of the body of the actor, the received historical velocity data, and the received historical orientation data.

### Claim 12 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein executing the instructions further causes the one or more computing devices to perform functions comprising:
determining a second transition from a third data segment to an adjacent fourth data segment based on a difference between the area value for the third data segment and the area value for the fourth data segment;
determining based on the second transition that the third data segment is representative of a bottom of the body of the actor and that the fourth data segment is representative of the legs of the actor; and
providing information indicating the direction of the actor based at least on the determined second data segment representative of the body of the actor and the fourth data segment representative of the legs of the actor.

### Claim 13

A robotic device comprising:
a processor; and
a memory storing instructions that when executed by the processor cause the robotic device to perform functions comprising:
receiving point cloud data for an actor including a plurality of points that are representative of the actor within an environment;
generating a plurality of data segments of the point cloud data corresponding to respective height levels for the actor, wherein each data segment includes a portion of the plurality of points;
determining an area value for each data segment;
determining a transition from a first data segment to an adjacent second data segment based on a difference between the area value for the first data segment and the area value for the second data segment;
determining based on the transition that the first data segment is representative of a head of the actor and that the second data segment is representative of a body of the actor;
determining a direction of the actor based at least on the determined second data segment representative of the body of the actor; and
adjusting operation of the robotic device based on the direction of the actor.

### Claim 14 (depends on 13)

The robotic device of claim 13, wherein the point cloud data is received from one or more LIDAR sensors.

### Claim 15 (depends on 13)

The robotic device of claim 13, wherein the instructions further cause the robotic device to perform functions comprising:
determining a third data segment adjacent to the second data segment that is representative of an arm of the actor;
determining a direction that the actor is pointing based on the determined third data segment that is representative of the arm of the actor; and
adjusting operation of the robotic device based on the direction the actor is pointing.

### Claim 16 (depends on 13)

The robotic device of claim 13, wherein the instructions further cause the robotic device to perform functions comprising:
generating a bounding box around the second data segment that is representative of the body of the actor; and
determining the direction of the actor based on the bounding box.

### Claim 17 (depends on 13)

The robotic device of claim 13, wherein the instructions further cause the robotic device to perform functions comprising:
receiving historical velocity data indicating a previous velocity of the actor;
receiving historical orientation data indicating a previous direction of the actor; and
determining the direction of the actor based on the determined second data segment representative of the body of the actor, the received historical velocity data, and the received historical orientation data.

### Claim 18 (depends on 13)

The robotic device of claim 13, wherein the area value describes, for each data segment, the surface area spanned by the corresponding portion of point cloud data.
