IP Library Granted Patent US 11,667,283
Granted Patent B2
US 11,667,283 · App. 17/159,948 · Granted Jun 6, 2023

Autonomous vehicle motion control systems and methods

Inventors: Kalin Vasilev Gochev (Pittsburgh, PA); Michael Lee Phillips (Pittsburgh, PA); David McAllister Bradley (Pittsburgh, PA); Bradley Nicholas Emi (Westlake Village, CA)
Assignee: UATC, LLC
B60W30/0956B60W50/0097G05D1/0088G05D1/0214G08G1/166B60W2554/00B60W2720/24G05D2201/0213
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 11,667,283
App. No.
17/159,948
Granted
Jun 6, 2023
Kind
B2
Abstract

Systems and methods for controlling the motion of an autonomous are provided. In one example embodiment, a computer-implemented method includes obtaining data associated with an object within a surrounding environment of an autonomous vehicle. The data associated with the object is indicative of a predicted motion trajectory of the object. The method includes determining a vehicle action sequence based at least in part on the predicted motion trajectory of the object. The vehicle action sequence is indicative of a plurality of vehicle actions for the autonomous vehicle at a plurality of respective time steps associated with the predicted motion trajectory. The method includes determining a motion plan for the autonomous vehicle based at least in part on the vehicle action sequence. The method includes causing the autonomous vehicle to initiate motion control in accordance with at least a portion of the motion plan.

Claims (54)

1. A computer-implemented method of controlling autonomous vehicle motion, comprising:

obtaining, by a computing system comprising one or more computing devices, object data associated with an object within a surrounding environment of an autonomous vehicle;

determining, by the computing system, a vehicle action sequence comprising a plurality of discrete vehicle actions with respect to the object based, at least in part, on the object data;

determining, by the computing system, a motion plan for the autonomous vehicle based at least in part on the vehicle action sequence; and

causing, by the computing system, the autonomous vehicle to initiate motion control in accordance with at least a portion of the motion plan.

2. The computer-implemented method of claim 1 , wherein the plurality of discrete vehicle actions comprise one or more vehicle actions of a set of predefined vehicle actions, wherein the predefined vehicle actions comprise at least one of a passing vehicle action, a queueing vehicle action, a stay behind vehicle action, a stay ahead vehicle action, a follow vehicle action, a lead vehicle action, or an ignore vehicle action.

3. The computer-implemented method of claim 1 , wherein the object data is indicative of a predicted motion trajectory of the object over a plurality of time steps, and wherein the plurality of discrete vehicle actions comprises at least one discrete vehicle action at each time step of the plurality of time steps.

4. The computer-implemented method of claim 3 , wherein determining, by the computing system, the vehicle action sequence comprises:

determining for each time step of the plurality of time steps, by the computing system, whether the object is blocking the autonomous vehicle based at least in part on the predicted motion trajectory of the object and a motion trajectory of the autonomous vehicle; and

determining, by the computing system, a respective discrete vehicle action for the autonomous vehicle at each of the respective time steps based at least in part on whether the object is blocking the autonomous vehicle at the respective time step.

5. The computer-implemented method of claim 4 , wherein determining for each time step, by the computing system, whether the object is blocking the autonomous vehicle based at least in part on the predicted motion trajectory of the object comprises:

obtaining, by the computing system, data descriptive of a blocking model;

inputting, by the computing system, data indicative of the predicted motion trajectory of the object into the blocking model; and

obtaining, by the computing system as an output from the blocking model, data indicative of whether the object is blocking the autonomous vehicle at each of the respective time steps.

6. The computer-implemented method of claim 4 , wherein determining, by the computing system, the respective discrete vehicle action for the autonomous vehicle at each of the respective time steps comprises:

obtaining, by the computing system, data indicative of a machine-learned vehicle action model;

providing, by the computing system, input data into the machine-learned vehicle action model, wherein the input data comprises data associated with the autonomous vehicle and the data indicative of the whether the object is blocking the autonomous vehicle at each of the respective time steps; and

obtaining, by the computing system as an output from the machine-learned vehicle action model, data indicative of the vehicle action sequence.

7. The computer-implemented method of claim 6 , wherein the machine-learned vehicle action model is trained at least in part on training data that comprises labelled driving log data, wherein the labelled driving log data comprises a first plurality of labels that indicate whether a training object is considered to be blocking at a plurality of respective training time steps, and a second plurality of labels that indicate a training vehicle action at each of the respective training time steps.

8. The computer-implemented method of claim 7 , wherein the first plurality of labels are human-labelled and wherein the second plurality of labels are machine-labelled.

9. The computer-implemented method of claim 1 , wherein the object data is indicative of one or more object features, the object features comprising at least one of a movement of the object, a location of the object, or an object class.

10. The computer-implemented method of claim 9 , wherein the vehicle action sequence is determined based at least in part on the one or more object features.

11. A computing system for controlling autonomous vehicle motion, comprising:

one or more processors; and

one or more non-transitory computer-readable media that collectively store instructions that when executed by the one or more processors cause the one or more processors to perform operations comprising:

obtaining object data associated with an object within a surrounding environment of an autonomous vehicle;

determining a vehicle action sequence comprising a plurality of discrete vehicle actions with respect to the object based, at least in part, on the object data;

determining a motion plan for the autonomous vehicle based at least in part on the vehicle action sequence; and

causing the autonomous vehicle to initiate motion control in accordance with at least a portion of the motion plan.

12. The computing system of claim 11 , wherein the plurality of discrete vehicle actions comprise one or more vehicle actions of a set of predefined vehicle actions, wherein the predefined vehicle actions comprise at least one of a passing vehicle action, a queueing vehicle action, a stay behind vehicle action, a stay ahead vehicle action, a follow vehicle action, a lead vehicle action, or an ignore vehicle action.

13. The computing system of claim 11 , wherein the object data is indicative of a predicted motion trajectory of the object over a plurality of time steps, and wherein the plurality of discrete vehicle actions comprises at least one discrete vehicle action at each time step of the plurality of time steps.

14. The computing system of claim 13 , wherein determining the vehicle action sequence comprises:

determining for each time step of the plurality of time steps whether the object is blocking the autonomous vehicle based at least in part on the predicted motion trajectory of the object and a motion trajectory of the autonomous vehicle; and

determining a respective discrete vehicle action for the autonomous vehicle at each of the respective time steps based at least in part on whether the object is blocking the autonomous vehicle at the respective time step.

15. The computing system of claim 14 , wherein determining for each time step whether the object is blocking the autonomous vehicle based at least in part on the predicted motion trajectory of the object comprises:

obtaining data descriptive of a blocking model;

inputting data indicative of the predicted motion trajectory of the object into the blocking model; and

obtaining, as an output from the blocking model, data indicative of whether the object is blocking the autonomous vehicle at each of the respective time steps.

16. The computing system of claim 14 , wherein determining the respective discrete vehicle action for the autonomous vehicle at each of the respective time steps comprises:

obtaining data indicative of a machine-learned vehicle action model;

providing input data into the machine-learned vehicle action model, wherein the input data comprises data associated with the autonomous vehicle and the data indicative of the whether the object is blocking the autonomous vehicle at each of the respective time steps; and

obtaining, as an output from the machine-learned vehicle action model, data indicative of the vehicle action sequence.

17. An autonomous vehicle, comprising:

one or more processors; and

one or more non-transitory computer-readable media that collectively store instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

obtaining object data associated with an object within a surrounding environment of an autonomous vehicle;

determining a vehicle action sequence comprising a plurality of discrete vehicle actions with respect to the object based, at least in part, on the object data;

determining a motion plan for the autonomous vehicle based at least in part on the vehicle action sequence; and

causing the autonomous vehicle to initiate motion control in accordance with at least a portion of the motion plan.

18. The autonomous vehicle of claim 17 , wherein the object data is indicative of a predicted motion trajectory of the object over a plurality of time steps, and wherein the plurality of discrete vehicle actions comprise at least one discrete vehicle action at each time step of the plurality of time steps.

19. The autonomous vehicle of claim 18 , further comprising:

a blocking model configured to determine whether the object is blocking the autonomous vehicle at one or more of the plurality of time steps, wherein the vehicle action sequence is determined based at least in part on whether the object is blocking the autonomous vehicle at one or more of the plurality of time steps.

20. The autonomous vehicle of claim 19 , further comprising:

a vehicle action model that is configured to determine the plurality of discrete vehicle actions for the autonomous vehicle based at least in part on the object data and whether the object is blocking the autonomous vehicle at one or more of the plurality of time steps.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: UATC, LLC
To: AURORA OPERATIONS, INC.
Reel/Frame 067733/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: GOCHEV, KALIN VASILEV; PHILLIPS, MICHAEL LEE; BRADLEY, DAVID MCALLISTER; EMI, BRADLEY NICHOLAS
To: UBER TECHNOLOGIES, INC.
Reel/Frame 061493/0488 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 061493/0491 →