IP Library Granted Patent US 11,772,638
Granted Patent B2
US 11,772,638 · App. 16/865,485 · Granted Oct 3, 2023

Systems and methods for planning and updating a vehicle's trajectory

Inventors: Olivia Leitermann (Cambridge, MA); Eryk Brian Nice (Medford, MA)
Assignee: Motional AD LLC
B60W30/09B60W30/0956B60W60/0011B60W60/0027B60W60/00272B60W60/00276G05D1/0214B60W2554/4041B60W2554/4042B60W2554/4043G05D2201/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,772,638
App. No.
16/865,485
Filed
May 4, 2020
Granted
Oct 3, 2023
Kind
B2
Examiner
SOOD, ANSHUL
Art Unit
3669
USPC
701/26
Abstract

Techniques are provided for generating a driving trajectory for a vehicle while the vehicle is blocked (e.g., the sensor of the vehicle have detected an object results in the vehicle being unable to move) by an object (e.g., another vehicle, bicycle, or a pedestrian) and executing the driving trajectory when the vehicle becomes unblocked. In addition, techniques are provided for updating a portion of a driving trajectory of a vehicle based on a determination that an object will cross a segment of the current driving trajectory at a later point, without recalculating the whole trajectory.

Claims (87)

1. A computer implemented method comprising:

receiving, by one or more processors of a vehicle, sensor data representing a plurality of objects in an environment of the vehicle;

determining, by the one or more processors, that the vehicle is physically blocked by an object of the plurality of objects and the vehicle is not moving due to being physically blocked by the object;

determining, by the one or more processors, probable locations for other objects within the plurality of objects based on the sensor data and a timestamp of the sensor data;

generating, by the one or more processors, one or more operational commands for the vehicle while the vehicle is physically blocked by the object and the vehicle is not moving due to being physically blocked by the object, the generating of the one or more operational commands based on the probable locations of the other objects within the plurality of objects; and

executing, by a control circuit of the vehicle, the one or more operational commands, the

executing of the operational commands comprising maneuvering the vehicle along a path that is unblocked by the object.

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

determining, by the one or more processors, that the vehicle is no longer blocked;

in response to determining that the vehicle is no longer blocked, determining, by the one or more processors, an amount of time elapsed from when the one or more operational commands were generated;

determining, by the one or more processors, whether the amount of time elapsed meets a threshold time; and

in response to determining that the amount of time elapsed meets the threshold time, regenerating, by the one or more processors, the one or more operational commands.

3. The computer implemented method of claim 2 , further comprising:

receiving, by the one or more processors, updated sensor data;

determining, by the one or more processors, that the vehicle is no longer blocked based on the updated sensor data.

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

determining, by the one or more processors, that a threshold amount of time has passed from a time when the one or more operational commands for the vehicle were generated, the determining that the threshold amount of time has passed performed prior to the vehicle being unblocked;

receiving, by the one or more processors, updated sensor data; and

updating, by the one or more processors, the one or more operational commands based on the updated sensor data.

5. The computer implemented method of claim 1 , further comprising assigning, by the one or more processors, a plurality of probabilities to the plurality of objects, each probability indicating how likely a corresponding object is to interfere with a trajectory of the vehicle, wherein each probability is based on location and velocity of a corresponding object.

6. The computer implemented method of claim 5 , wherein the generating of the one or more operational commands for the vehicle comprises:

generating, by the one or more processors, a plurality of possible trajectories for the vehicle;

selecting, by the one or more processors, a first trajectory of the plurality of possible trajectories;

identifying, by the one or more processors, one or more objects of the plurality of objects for the first trajectory, the one or more objects having been determined to interfere with the first trajectory;

receiving, by the one or more processors, one or more probabilities of the plurality of probabilities for the one or more objects;

determining, by the one or more processors, whether any of the one or more probabilities of the plurality of probabilities for the one or more objects meet a threshold; and

in response to determining that any of the one or more probabilities of the plurality of probabilities for the one or more objects meet the threshold, removing, by the one or more processors, the first trajectory from consideration for the vehicle's trajectory.

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

receiving, by the one or more processors, updated sensor data comprising updated locations and updated velocities of one or more objects of the plurality of objects; and

updating, by the one or more processors, the plurality of probabilities based on the updated sensor data.

8. A non-transitory computer-readable storage medium storing one or more programs for execution by one or more processors, the one or more programs including instructions which, when executed by the one or more processors, cause the one or more processors to:

receive sensor data representing a plurality of objects in an environment of a vehicle;

determine that the vehicle is physically blocked by an object of the plurality of objects and the vehicle is not moving due to being physically blocked by the object;

determine probable locations for other objects within the plurality of objects based on the sensor data and a timestamp of the sensor data;

generate one or more operational commands for the vehicle while the vehicle is physically blocked due to being physically blocked by the object and the vehicle is not moving, the generating of the one or more operational commands based on the probable locations of the other objects within the plurality of objects; and

execute, by a control circuit of the vehicle, the one or more operational commands, the executing of the operational commands comprising maneuvering the vehicle along a path that is unblocked by the object.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine that the vehicle is no longer blocked;

in response to determining that the vehicle is no longer blocked, determine an amount of time elapsed from when the one or more operational commands were generated;

determine whether the amount of time elapsed meets a threshold time; and

in response to determining that the amount of time elapsed meets the threshold time, regenerate the one or more operational commands.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

receive updated sensor data;

determine that the vehicle is no longer blocked based on the updated sensor data, wherein the executing of the one or more operational commands is performed in response to determining that the vehicle is no longer blocked.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine that a threshold amount of time has passed from a time when the one or more operational commands for the vehicle were generated, the determining that the threshold amount of time has passed performed prior to the vehicle being unblocked;

receive updated sensor data; and

update the one or more operational commands based on the updated sensor data.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to assign a plurality of probabilities to the plurality of objects, each probability indicating how likely a corresponding object is to interfere with a trajectory of the vehicle, wherein each probability is based on location and velocity of a corresponding object.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate a plurality of possible trajectories for the vehicle;

select a first trajectory of the plurality of possible trajectories;

identify one or more objects of the plurality of objects for the first trajectory, the one or more objects having been determined to interfere with the first trajectory;

receive one or more probabilities of the plurality of probabilities for the one or more objects;

determine whether any of the one or more probabilities of the plurality of probabilities for the one or more objects meet a threshold; and

in response to determining that any of the one or more probabilities of the plurality of probabilities for the one or more objects meet the threshold, remove the first trajectory from consideration for the vehicle's trajectory.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

receive updated sensor data comprising updated locations and updated velocities of one or more objects of the plurality of objects; and

update the plurality of probabilities based on the updated sensor data.

15. A vehicle comprising:

one or more processors; and

a non-transitory computer-readable storage medium storing one or more programs for execution by the one or more processors, the one or more programs including instructions which, when executed by the one or more processors, cause the one or more processors to:

receive sensor data representing a plurality of objects in an environment of the vehicle;

determine that the vehicle is physically blocked by an object of the plurality of objects and the vehicle is not moving due to being physically blocked by the object;

determine probable locations for other objects within the plurality of objects based on the sensor data and a timestamp of the sensor data;

generate one or more operational commands for the vehicle while the vehicle is physically blocked and the vehicle is not moving due to being physically blocked by the object, the generating of the one or more operational commands based on the probable locations of the other objects within the plurality of objects; and

execute, by a control circuit of the vehicle, the one or more operational commands, the executing of the operational commands comprising maneuvering the vehicle along a path that is unblocked by the object.

16. The vehicle of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine that the vehicle is no longer blocked;

in response to determining that the vehicle is no longer blocked, determine an amount of time elapsed from when the one or more operational commands were generated;

determine whether the amount of time elapsed meets a threshold time; and

in response to determining that the amount of time elapsed meets the threshold time, regenerate the one or more operational commands.

17. The vehicle of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

receive updated sensor data;

determine that the vehicle is no longer blocked based on the updated sensor data, wherein the executing of the one or more operational commands is performed in response to determining that the vehicle is no longer blocked.

18. The vehicle of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine that a threshold amount of time has passed from a time when the one or more operational commands for the vehicle were generated, the determining that the threshold amount of time has passed performed prior to the vehicle being unblocked;

receive updated sensor data; and

update the one or more operational commands based on the updated sensor data.

19. The vehicle of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to assign a plurality of probabilities to the plurality of objects, each probability indicating how likely a corresponding object is to interfere with a trajectory of the vehicle, wherein each probability is based on location and velocity of a corresponding object.

20. The vehicle of claim 19 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

generate a plurality of possible trajectories for the vehicle;

select a first trajectory of the plurality of possible trajectories;

identify one or more objects of the plurality of objects for the first trajectory, the one or more objects having been determined to interfere with the first trajectory;

receive one or more probabilities of the plurality of probabilities for the one or more objects;

determine whether any of the one or more probabilities of the plurality of probabilities for the one or more objects meet a threshold; and

in response to determining that any of the one or more probabilities of the plurality of probabilities for the one or more objects meet the threshold, remove the first trajectory from consideration for the vehicle's trajectory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: APTIV TECHNOLOGIES LIMITED
To: MOTIONAL AD LLC
Reel/Frame 053863/0746 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2020
From: LEITERMANN, OLIVIA; NICE, ERYK BRIAN
To: APTIV TECHNOLOGIES LIMITED
Reel/Frame 052821/0545 →
Continuity (2)
Provisional Application 62844689 · May 7, 2019
Related Publication 20200353917A1 · Nov 12, 2020