IP Library Granted Patent US 11,713,975
Granted Patent B2
US 11,713,975 · App. 16/696,227 · Granted Aug 1, 2023

Routing graph management in autonomous vehicle routing

Inventors: Michael Voznesensky (San Francisco, CA); Adam Panzica (Pittsburgh, PA); Brent Goldman (San Francisco, CA); Bryan John Nagy (Allison Park, PA); Mark Yen (San Francisco, CA); Adrian Rechy Romero (San Francisco, CA)
Assignee: Uber Technologies, Inc.
G01C21/3492G01C21/3415G05D1/0027G05D1/0088G06F16/9024G05D2201/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,713,975
App. No.
16/696,227
Granted
Aug 1, 2023
Kind
B2
Abstract

Various examples are directed to routing autonomous vehicles. A processor unit accesses first routing graph modification data and second routing graph modification data. The first routing graph modification data based at least in part on first vehicle capability data describing a first type of autonomous vehicle and the second routing graph modification data based at least in part on second vehicle capability data describing a second type of autonomous vehicle. The processor unit accesses routing graph data describing a plurality of graph elements and generates a first route for a first autonomous vehicle of the first type based at least in part on the first routing graph modification data and the routing graph data. The processor unit also generates a second route for a second autonomous vehicle of the second type based at least in part on the second routing graph modification data and the routing graph data.

Claims (59)

1. A method for routing autonomous vehicles, the method comprising:

accessing first routing graph modification data comprising a first graph element descriptor and a first vehicle constraint, the first routing graph modification data based at least in part on first vehicle capability data describing a first type of autonomous vehicle,

accessing second routing graph modification data comprising a second graph element descriptor and a second vehicle constraint, the second routing graph modification data based at least in part on second vehicle capability data describing a second type of autonomous vehicle, the second vehicle constraint different from the first vehicle constraint based on a capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle;

accessing routing graph data describing a plurality of graph elements, the routing graph data comprising a first graph element cost describing a first graph element of the plurality of graph elements and connectivity data describing at least one connection between the first graph element and a second graph element of the plurality of graph elements;

applying the first routing graph modification data to the routing graph data to generate first constrained trained routing graph data, the first constrained routing graph data including a first modified subset of the routing graph data;

applying the second routing graph modification data to the routing graph data to generate second constrained routing graph data, the second constrained routing graph data including a second modified subset of the routing graph data;

generating a first route for a first autonomous vehicle of the first type, the generating of the first route based at least in part on the first constrained routing graph data;

generating a second route for a second autonomous vehicle of the second type, the generating of the second route based at least in part on the second constrained routing graph data, the second route different from the first route based on the capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle; and

transmitting data corresponding to the first route to a computing system associated with the first autonomous vehicle to cause the first autonomous vehicle to begin traveling the first route.

2. The method of claim 1 , further comprising:

generating a first portion of the first constrained routing graph data;

determining a first portion of the first route based at least in part on the first portion of the first constrained routing graph data, the first portion of the first route including a first portion endpoint; and

after determining the first portion of the first route, generating a second portion of the first constrained routing graph data, the second portion of the first constrained routing graph data describing at least one graph element of the plurality of graph elements having a connection to the first portion endpoint.

3. The method of claim 1 , wherein determining the first route comprises:

after generating the first constrained routing graph data, determining a first portion of the first route, the first portion of the first route including a first portion end point;

accessing a portion of the first constrained routing graph data that describes at least one graph element of the plurality of graph elements having a connection to the first portion end point; and

determining a second portion of the first route based at least in part on the portion of the first constrained routing graph data.

4. The method of claim 1 , further comprising accessing roadway condition data describing a condition of at least one roadway element described by the routing graph data, wherein the first routing graph modification data is based at least in part on the roadway condition data.

5. The method of claim 1 , further comprising accessing business policy data describing a business policy applicable at least to autonomous vehicles of the first type, wherein the first routing graph modification data is based at least in part on the business policy data.

6. The method of claim 1 , wherein generating the first constrained routing graph data comprises:

determining that the first graph element meets the first graph element descriptor; and

applying the first vehicle constraint to the first graph element.

7. The method of claim 6 , wherein applying the first vehicle constraint to the first graph element comprises increasing the first graph element cost.

8. The method of claim 6 , wherein applying the first vehicle constraint to the first graph element comprises disabling the at least one connection between the first graph element and the second graph element.

9. The method of claim 6 , wherein applying the first vehicle constraint to the first graph element comprises storing an indication that a roadway element corresponding to the first graph element is to be traversed in a manual mode or a semi-autonomous mode.

10. The method of claim 1 , wherein causing the first autonomous vehicle to begin traveling the first route comprises:

transmitting first route data describing the first route to the first autonomous vehicle; and

transmitting to the first autonomous vehicle an instruction to begin traveling the first route.

11. The method of claim 1 , wherein causing the autonomous vehicle to begin traveling the first route comprises modifying at least one vehicle control of the autonomous vehicle.

12. The method of claim 1 , further comprising selecting the first autonomous vehicle to execute a transportation service based at least in part on the first route and the second route.

13. A system for routing autonomous vehicles, the system comprising:

at least one processor unit programmed to perform operations comprising:

accessing first routing graph modification data comprising a first graph element descriptor and a first vehicle constraint the first routing graph modification data based at least in part on first vehicle capability data describing a first type of autonomous vehicle;

accessing second routing graph modification data comprising a second graph element descriptor and a second vehicle constraint, the second routing graph modification data based at least in part on second vehicle capability data describing a second type of autonomous vehicle, the second vehicle constraint different from the first vehicle constraint based on a capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle;

accessing routing graph data describing a plurality of graph elements, the routing graph data comprising a first graph element cost describing a first graph element of the plurality of graph elements and connectivity data describing at least one connection between the first graph element and a second graph element of the plurality of graph elements;

applying the first routing graph modification data to the routing graph data to generate first constrained routing graph data, the first constrained routing graph data including a first modified subset of the routing graph data;

applying the second routing graph modification data to the routing graph data to generate second constrained routing graph data, the second constrained routing graph data including a second modified subset of the routing graph data;

generating a first route for a first autonomous vehicle of the first type, the generating of the first route based at least in part on the first constrained routing graph data;

generating a second route for a second autonomous vehicle of the second type, the generating of the second route based at least in part on the second constrained routing graph data, the second route different from the first route based on the capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle; and

transmitting data corresponding to the first route to a computing system associated with the first autonomous vehicle to cause the first autonomous vehicle to begin traveling the first route.

14. The system of claim 13 , the operations further comprising:

generating a first portion of the first constrained routing graph data;

determining a first portion of the first route based at least in part on the first portion of the first constrained routing graph data, the first portion of the first route including a first portion endpoint; and

after determining the first portion of the first route, generating a second portion of the first constrained routing graph data, the second portion of the first constrained routing graph data describing at least one graph element of the plurality of graph elements having a connection to the first portion endpoint.

15. The system of claim 13 , wherein determining the first route comprises:

after generating the first constrained routing graph data, determining a first portion of the first route, the first portion of the first route including a first portion end point;

accessing a portion of the first constrained routing graph data that describes at least one graph element of the plurality of graph elements having a connection to the first portion end point; and

determining a second portion of the first route based at least in part on the portion of the first constrained routing graph data.

16. The system of claim 13 , the operations further comprising accessing roadway condition data describing a condition of at least one roadway element described by the routing graph data, wherein the first routing graph modification data is based at least in part on the roadway condition data.

17. The system of claim 13 , the operations further comprising accessing business policy data describing a business policy applicable at least to autonomous vehicles of the first type, wherein the first routing graph modification data is based at least in part on the business policy data.

18. A machine-readable medium comprising instructions stored thereon that, when executed by at least one processor unit, cause the at least one processor unit to perform operations comprising:

accessing first routing graph modification data comprising a first graph element descriptor and a first vehicle constraint, the first routing graph modification data based at least in part on first vehicle capability data describing a first type of autonomous vehicle;

accessing second routing graph modification data comprising a second graph element descriptor and a second vehicle constraint, the second routing graph modification data based at least in part on second vehicle capability data describing a second type of autonomous vehicle, the second vehicle constraint different from the first vehicle constraint based on a capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle;

accessing routing graph data describing a plurality of graph elements, the routing graph data comprising a first graph element cost describing a first graph element of the plurality of graph elements and connectivity data describing at least one connection between the first graph element and a second graph element of the plurality of graph elements;

applying the first routing graph modification data to the routing graph data to generate first constrained routing graph data, the first constrained routing graph data including a first modified subset of the routing graph data;

applying the second routing graph modification data to the routing graph data to generate second constrained routing graph data, the second constrained routing graph data including a second modified subset of the routing graph data;

generating a first route for a first autonomous vehicle of the first type, the generating of the first route based at least in part on the first constrained routing graph data;

generating a second route for a second autonomous vehicle of the second type, the generating of the second route based at least in part on the second constrained routing graph data, the second route different from the first route based on the capability difference between the first type of autonomous vehicle and the second type of autonomous vehicle; and

transmitting data corresponding to the first route to a computing system associated with the first autonomous vehicle to cause the first autonomous vehicle to begin traveling the first route.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 054790 FRAME: 0527. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 2, 2022
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 059692/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 054668/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 054790/0526 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: GOLDMAN, BRENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 051945/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: VOZNESENSKY, MICHAEL
To: UBER TECHNOLOGIES, INC.
Reel/Frame 051945/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: PANZICA, ADAM; NAGY, BRYAN JOHN; YEN, MARK; RECHY ROMERO, ADRIAN
To: UBER TECHNOLOGIES, INC.
Reel/Frame 051946/0072 →