IP Library Granted Patent US 10,809,364
Granted Patent B2
US 10,809,364 · App. 16/196,630 · Granted Oct 20, 2020

Determining relative velocity using co-located pixels

Inventors: Tomi P. Maila (San Carlos, CA); Pranav Maheshwari (Palo Alto, CA); Benjamin Englard (Palo Alto, CA)
Assignee: Luminar Technologies, Inc.
G01S7/497B60W30/0956G01S7/4808G01S7/4817G01S7/4818G01S17/06G01S17/08G01S17/42G01S17/58G01S17/86G01S17/87G01S17/89G01S17/931G05D1/0231G06K9/00791G06K9/00805G06K9/6201G06K9/6267G06N20/00G06T3/608G06T5/006G06T7/0002G06T7/20G06T7/246G06T7/521G06T7/73G06T7/75H04N5/2329G05D1/0088G05D2201/0213G06T2207/10028G06T2207/30168G06T2207/30252
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 10,809,364
App. No.
16/196,630
Granted
Oct 20, 2020
Kind
B2
Abstract

A computer-implemented method of determining relative velocity between a vehicle and an object. The method includes receiving sensor data generated by one or more sensors of the vehicle configured to sense an environment by following a scan pattern comprising component scan lines. The method includes obtaining, based on the sensor data, a point cloud frame. Additionally, the method includes identifying a first pixel and a second pixel that are co-located within a field of regard and overlap a point cloud object within the point cloud frame and calculating a difference between a depth associated with the first pixel and a depth associated with the second pixel. The method includes determining a relative velocity of the point cloud object by dividing the difference in depth data by a time difference between when the depth associated with the first pixel was sensed and the depth associated with the second pixel was sensed.

Claims (76)

1. A computer-implemented method of determining relative velocity between a vehicle and an object located in an environment of the vehicle, the method comprising:

receiving sensor data generated by one or more sensors of the vehicle, wherein the one or more sensors are configured to sense the environment through which the vehicle is moving by following a scan pattern comprising component scan lines;

obtaining, based on the sensor data and by one or more processors, a point cloud frame representative of the environment;

identifying, by the one or more processors, a first pixel and a second pixel that are co-located within a field of regard of the one or more sensors and overlap a point cloud object within the point cloud frame, wherein the point cloud object is a representation of the object located in the environment of the vehicle;

calculating, by the one or more processors, a difference between a depth associated with the first pixel and a depth associated with the second pixel;

determining, by the one or more processors, a relative velocity of the point cloud object based on the difference in depth data and a time difference between when the depth associated with the first pixel was sensed and the depth associated with the second pixel was sensed;

determining, based on the sensor data and by the one or more processors, that the point cloud object is distorted; and

correcting, by the one or more processors, the distortion of the point cloud object based on the relative velocity of the point cloud object.

2. The computer-implemented method of claim 1 , wherein the first pixel and the second pixel are located in the scan pattern followed by one sensor of the one or more sensors.

3. The computer-implemented method of claim 1 , wherein:

the one or more sensors include two or more sensors, and

the first pixel and the second pixel are located in two different scan patterns followed by two different sensors of the two or more sensors.

4. The computer-implemented method of claim 1 , further comprising:

associating, by the one or more processors, the object located in the environment of the vehicle with the determined relative velocity.

5. The computer-implemented method of claim 1 , further comprising:

generating, based on the determined relative velocity of the point cloud object, a predicted future state of the environment of the vehicle.

6. The computer-implemented method of claim 1 , further comprising:

obtaining, by the one or more processors, a velocity of the vehicle.

7. The computer-implemented method of claim 6 , wherein obtaining the velocity of the vehicle comprises:

obtaining, based on one or more messages transmitted over a vehicle bus, the velocity of the vehicle.

8. The computer-implemented method of claim 6 , wherein obtaining the velocity of the vehicle comprises:

identifying, by the one or more processors, a stationary object in the environment of the vehicle; and

determining, by the one or more processors, a relative velocity of the stationary object.

9. The computer-implemented method of claim 6 , further comprising:

determining, by the one or more processors, a velocity of the point cloud object by subtracting the velocity of the vehicle from the relative velocity of the point cloud object.

10. The computer-implemented method of claim 1 , wherein determining the relative velocity of the point cloud object comprises:

dividing, by the one or more processors, the difference in depth data by the time difference.

11. The computer-implemented method of claim 1 , wherein:

the point cloud object comprises sensor data generated by a first sensor of the one or more sensors; and

determining that the point cloud object is distorted comprises comparing a shape of the point cloud object to a shape of the object located in the environment of the vehicle as sensed by a second sensor of the one or more sensors.

12. The computer-implemented method of claim 11 , wherein the first sensor comprises a lidar system and the second sensor comprises a camera.

13. A system within an autonomous vehicle, the system comprising:

one or more sensors configured to generate sensor data by sensing an environment of the vehicle by following a scan pattern comprising component scan lines; and

a computing system configured to:

receive the sensor data generated by the one or more sensors;

obtain, based on the sensor data, a point cloud frame representative of the environment;

identify a first pixel and a second pixel that are co-located within a field of regard of the one or more sensors and overlap a point cloud object within the point cloud frame,

wherein the point cloud object is a representation of an object located in the environment of the vehicle;

calculate a difference between a depth associated with the first pixel and a depth associated with the second pixel;

determine a relative velocity of the point cloud object based on the difference in depth data and a time difference between when the depth associated with the first pixel was sensed and the depth associated with the second pixel was sensed;

determine, based on the sensor data, that the point cloud object is distorted; and

correct the distortion of the point cloud object based on the relative velocity of the point cloud object.

14. The system of claim 13 , wherein the first pixel and the second pixel are located in the scan pattern followed by one sensor of the one or more sensors.

15. The system of claim 13 , wherein:

the one or more sensors include two or more sensors, and

the first pixel and the second pixel are located in two different scan patterns followed by two different sensors of the two or more sensors.

16. The system of claim 13 , wherein the computing system is configured to:

associate the object located in the environment of the vehicle with the determined relative velocity.

17. The system of claim 13 , wherein the computing system is configured to:

generate, based on the determined relative velocity of the point cloud object, a predicted future state of the environment of the vehicle.

18. The system of claim 13 , wherein the computing system is configured to:

obtain a velocity of the vehicle.

19. The system of claim 18 , wherein to obtain the velocity of the vehicle, the computing system is configured to:

obtain the velocity of the vehicle based on one or more messages transmitted over a vehicle bus.

20. The system of claim 18 , wherein obtaining the velocity of the vehicle comprises:

identifying, by the one or more processors, a stationary object in the environment of the vehicle; and

determining, by the one or more processors, a relative velocity of the stationary object.

21. The system of claim 18 , wherein the computing system is configured to:

determine a velocity of the point cloud object by subtracting the velocity of the vehicle from the relative velocity of the point cloud object.

22. The system of claim 13 , wherein the computing system is configured to:

identify a third pixel and a fourth pixel that are co-located within the field of regard of the one or more sensors and overlap the point cloud object within the point cloud frame at a different location than the first and second pixels;

calculate another difference between a depth associated with the third pixel and a depth associated with the fourth pixel; and

determine another relative velocity of the point cloud object by dividing the another difference in depth data by a time difference between when the depth associated with the third pixel was sensed and the depth associated with the fourth pixel was sensed.

23. The system of claim 22 , wherein the computing system is configured to:

compare the relative velocity and the another relative velocity to determine that the object located in the environment of the vehicle is rotating with respect to the vehicle.

24. A computer-implemented method of determining relative velocity between a vehicle and an object located in an environment of the vehicle, the method comprising:

receiving sensor data generated by one or more sensors of the vehicle, wherein the one or more sensors are configured to sense the environment through which the vehicle is moving by following a scan pattern comprising component scan lines;

obtaining, based on the sensor data and by one or more processors, a point cloud frame representative of the environment;

identifying, by the one or more processors, a first pixel and a second pixel that are co-located within a field of regard of the one or more sensors and overlap a point cloud object within the point cloud frame, wherein the point cloud object is a representation of the object located in the environment of the vehicle;

calculating, by the one or more processors, a difference between a depth associated with the first pixel and a depth associated with the second pixel;

determining, by the one or more processors, a relative velocity of the point cloud object based on the difference in depth data and a time difference between when the depth associated with the first pixel was sensed and the depth associated with the second pixel was sensed;

identifying, by the one or more processors, a third pixel and a fourth pixel that are co-located within the field of regard of the one or more sensors and overlap the point cloud object within the point cloud frame at a different location than the first and second pixels;

calculating, by the one or more processors, another difference between a depth associated with the third pixel and a depth associated with the fourth pixel; and

determining, by the one or more processors, another relative velocity of the point cloud object by dividing the another difference in depth data by a time difference between when the depth associated with the third pixel was sensed and the depth associated with the fourth pixel was sensed.

25. The computer-implemented method of claim 24 , further comprising:

comparing, by the one or more processors, the relative velocity and the another relative velocity to determine that the object located in the environment of the vehicle is rotating with respect to the vehicle.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2026
From: LUMINAR TECHNOLOGIES, INC.
To: MICROVISION, INC.
Reel/Frame 075282/0141 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2026
From: GLAS TRUST COMPANY LLC
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 074733/0220 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Feb 4, 2026
From: GLAS TRUST COMPANY LLC
To: LUMINAR TECHNOLOGIES, INC.; LUMINAR LLC
Reel/Frame 074944/0658 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Feb 4, 2026
From: GLAS TRUST COMPANY LLC
To: LUMINAR TECHNOLOGIES, INC.; LUMINAR LLC
Reel/Frame 074944/0606 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NAME OF THE FIRST CONVEYING PARTY PREVIOUSLY RECORDED AT REEL: 69312 FRAME: 713. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 27, 2024
From: LUMINAR TECHNOLOGIES, INC; LUMINAR , LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069990/0772 →
SECURITY INTEREST Recorded Nov 6, 2024
From: LUMINAR TECHNOLOGIES, INC; LUMINAR , LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069312/0669 →
SECURITY INTEREST Recorded Nov 6, 2024
From: LIMINAR TECHNOLOGIES, INC; LUMINAR, LLC; FREEDOM PHOTONICS LLC
To: GLAS TRUST COMPANY LLC
Reel/Frame 069312/0713 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2023
From: LUMINAR, LLC
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 064371/0452 →
CHANGE OF NAME Recorded Jul 20, 2022
From: LUMINAR TECHNOLOGIES, INC.
To: LAZR, INC.
Reel/Frame 060755/0927 →
CHANGE OF NAME Recorded Jul 20, 2022
From: LUMINAR HOLDCO, LLC
To: LUMINAR, LLC
Reel/Frame 060755/0975 →
MERGER Recorded Jul 20, 2022
From: LAZR, INC.
To: LUMINAR HOLDCO, LLC
Reel/Frame 060560/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: MAILA, TOMI P.
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 049028/0484 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: MAHESHWARI, PRANAV; ENGLARD, BENJAMIN
To: LUMINAR TECHNOLOGIES, INC.
Reel/Frame 049028/0470 →