IP Library Granted Patent US 8,989,944
Granted Patent B1
US 8,989,944 · App. 14/090,308 · Granted Mar 24, 2015

Methods and devices for determining movements of an object in an environment

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 8,989,944
App. No.
14/090,308
Granted
Mar 24, 2015
Kind
B1
Abstract

An example method may include receiving a first set of points based on detection of an environment of an autonomous vehicle during a first time period, selecting a plurality of points from the first set of points that form a first point cloud representing an object in the environment, receiving a second set of points based on detection of the environment during a second time period which is after the first period, selecting a plurality of points from the second set of points that form a second point cloud representing the object in the environment, determining a transformation between the selected points from the first set of points and the selected points from the second set of points, using the transformation to determine a velocity of the object, and providing instructions to control the autonomous vehicle based at least in part on the velocity of the object.

Claims (61)

1. A computer-implemented method, comprising:

receiving a first set of points based on detection of an environment of an autonomous vehicle by one or more sensors on the autonomous vehicle during a first time period;

selecting a plurality of points from the first set of points that form a first point cloud representing an object in the environment;

receiving a second set of points based on detection of the environment by the one or more sensors on the autonomous vehicle during a second time period, wherein the second time period is after the first period;

selecting a plurality of points from the second set of points that form a second point cloud representing the object in the environment;

determining, by a control system of the autonomous vehicle, a transformation between the selected points from the first set of points that form the first point cloud representing the object in the environment and the selected points from the second set of points that form the second point cloud representing the object in the environment;

using the transformation to determine a velocity of the object; and

controlling the autonomous vehicle based at least in part on the velocity of the object.

2. The method of claim 1 , wherein using the transformation to determine the velocity of the object comprises determining at least one of a position and a heading of the object.

3. The method of claim 1 , further comprising before selecting the plurality of points from the first set of points, filtering the first set of points to remove one or more points generated based on detection of a ground surface in the environment.

4. The method of claim 1 , wherein selecting the plurality of points from the first set of points that form the first point cloud representing the object comprises selecting points such that adjacent selected points have a pairwise distance that is less than a threshold distance.

5. The method of claim 1 , wherein determining the transformation comprises determining a translation and a rotation between the selected points from the first set of points and the selected points from the second set of points so as to minimize a distance between selected points from the first set of points and associated points from the second set of points.

6. The method of claim 1 , further comprising providing instructions to control the autonomous vehicle so as to avoid the object.

7. The method of claim 6 , wherein providing instructions to control the autonomous vehicle so as to avoid the object comprises determining a plurality of contour outlines representing the object based on at least one of the first point cloud and the second point cloud.

8. The method of claim 1 , further comprising:

receiving a third set of points based on detection of the environment during a third time period, wherein the third time period is after the second time period;

selecting a plurality of points from the third set of points that form a third point cloud representing the object in the environment;

determining a transformation between the selected points from the second set of points and the selected points from the third set of points; and

using the transformation between the selected points from the first set of points and the selected points from the second set of points and the transformation between the selected points from the second set of points and the selected points from the third set of points to determine an acceleration of the object.

9. The method of claim 1 , further comprising:

selecting a plurality of points from the first set of points that form point cloud representations of one or more additional objects in the environment;

selecting a plurality of points from the second set of points that form point cloud representations of the one or more additional objects in the environment;

determining a transformation between the selected points from the first set of points and the selected from the second set of points for the one or more additional objects; and

using the transformation to determine a velocity of the one or more additional objects.

10. An autonomous vehicle, comprising:

one or more depth sensors; and

a control system configured to:

receive a first set of points based on detection of an environment by the one or more depth sensors on the autonomous vehicle during a first time period;

select a plurality of points from the first set of points that form a first point cloud representing an object in the environment;

receive a second set of points based on detection of the environment by the one or more depth sensors during a second time period, wherein the second time period is after the first time period;

select a plurality of points from the second set of points that form a second point cloud representing the object in the environment;

determine a transformation between the selected points from the first set of points that form the first point cloud representing the object in the environment and the selected from the second set of points that form the second point cloud representing the object in the environment;

use the transformation to determine a velocity of the object; and

control the autonomous vehicle based at least in part on the velocity of the object.

11. The vehicle of claim 10 , wherein the control system is configured to determine the velocity of the object by determining at least one of a position and a heading of the object.

12. The vehicle of claim 10 , wherein the control system is further configured to before selecting the plurality of points from the first set of points, filter the first set of points to remove one or more points generated based on detection of a ground surface in the environment.

13. The vehicle of claim 10 , wherein the control system is further configured to provide instructions to control the vehicle so as to avoid the object.

14. The vehicle of claim 10 , wherein the control system is further configured to:

receive the first set of points in the environment from one of a plurality of depth sensors on the vehicle; and

provide instructions to control the vehicle so as to avoid the object based on sensor data from any one of the plurality of depth sensors.

15. The vehicle of claim 10 , wherein the control system is further configured to:

receive a third set of points based on detection of the environment during a third time period by the depth sensor, wherein the third time period is after the second time period;

select a plurality of points from the third set of points that form a third point cloud representing the object in the environment;

determine a transformation between the selected points from the second set of points and the selected from the third set of points; and

use the transformation between the selected points from the first set of points and the selected points from the second set of points and the transformation between the selected points from the second set of points and the selected points from the third set of points to determine an acceleration of the object.

16. The vehicle of claim 10 , wherein the control system is further configured to:

select a plurality of points from the first set of points that form point cloud representations of one or more additional objects in the environment;

select a plurality of points from the second set of points that form point cloud representations of the one or more additional objects in the environment;

determine a transformation between the selected points from the first set of points and the selected points from the second set of points for the one or more additional objects; and

use the transformation to determine a velocity of the one or more additional objects.

17. A non-transitory computer readable medium having stored therein instructions, that when executed by a control system of an autonomous vehicle, cause the control system to perform functions comprising:

receiving a first set of points based on detection of an environment of the autonomous vehicle by one or more sensors on the autonomous vehicle during a first time period;

selecting a plurality of points from the first set of points that form a first point cloud representing an object in the environment;

receiving a second set of points based on detection of the environment by the one or more sensors on the autonomous vehicle during a second time period, wherein the second time period is after the first period;

selecting a plurality of points from the second set of points that form a second point cloud representing the object in the environment;

determining a transformation between the selected points from the first set of points that form the first point cloud representing the object in the environment and the selected points from the second set of points that form the second point cloud representing the object in the environment;

using the transformation to determine a velocity of the object; and

controlling the autonomous vehicle based at least in part on the velocity of the object.

18. The non-transitory computer readable medium of claim 17 , wherein using the transformation to determine the velocity of the object comprises determining at least one of a position and a heading of the object.

19. The non-transitory computer readable medium of claim 17 , further comprising providing instructions, that when executed by the computing system, cause the computing system to perform a function comprising:

controlling the autonomous vehicle so as to avoid the object.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2017
From: GOOGLE INC.
To: WAYMO HOLDING INC.
Reel/Frame 042084/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2017
From: WAYMO HOLDING INC.
To: WAYMO LLC
Reel/Frame 042085/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2013
From: AGARWAL, PRATIK; ZHU, JIAJUN; DOLGOV, DMITRI
To: GOOGLE INC.
Reel/Frame 031678/0553 →