IP Library Granted Patent US 10,884,902
Granted Patent B2
US 10,884,902 · App. 15/602,244 · Granted Jan 5, 2021

Software version verification for autonomous vehicles

Inventors: Dima Kislovskiy (Pittsburgh, PA); David McAllister Bradley (Pittsburgh, PA)
Assignee: UATC, LLC
G06F11/3664G06F8/65G06F11/0706G06F11/0739G06F11/0778G06F11/3604
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,884,902
App. No.
15/602,244
Granted
Jan 5, 2021
Kind
B2
Abstract

An autonomous vehicle software management system can distribute AV software versions to safety-driven autonomous vehicles (SDAVs) operating within a given region. The system can receive log data from the SDAVs indicating any trip anomalies of the SDAVs while executing the AV software version. When a predetermined safety standard has been met based on the log data, the system can verify the AV software version for execution on fully autonomous vehicles (FAVs) operating within the given region.

Claims (42)

1. An autonomous vehicle (AV) software management system comprising:

a network communication interface connected, over one or more networks, with a plurality of AVs operating throughout a given region;

one or more processors; and

one or more memory resources storing instructions that, when executed by the one or more processors, cause the AV software management system to:

distribute, over the one or more networks, an unverified AV software version to safety-driven autonomous vehicles (SDAVs) operating within the given region, each of the SDAVs including a human safety driver that takes over control of the SDAV when the SDAV, executing the unverified AV software version, requires correction;

receive, over the one or more networks, log data from the SDAVs, the log data indicating trip anomalies of the SDAVs while executing the unverified AV software version;

when a predetermined safety standard has been met based on the log data, verify the unverified AV software version for execution on fully autonomous vehicles (FAVs) operating within the given region, wherein each of the FAVs is a self-driving vehicle that does not include a human safety driver, and wherein the predetermined safety standard corresponds to a threshold confidence level that the unverified AV software version is safer than an average human driver over a defined set of conditions; and

distribute, over the one or more networks, the verified AV software version to a plurality of FAVs operating within the given region for execution,

wherein the log data comprises live sensor data, telemetry data, diagnostic data and correlation data indicating which the software versions were in use during operation.

2. The AV software management system of claim 1 , wherein the executed instructions further cause the AV software management system to:

generate at least one simulation for pre-certifying unverified AV software versions for distribution to the SDAVs for verification.

3. The AV software management system of claim 2 , wherein the executed instructions further cause the AV software management system to:

prior to distributing the unverified AV software version to the SDAVs, execute the unverified AV software version through the at least one simulation to pre-certify the AV software for distribution to the SDAVs.

4. The AV software management system of claim 2 , wherein the at least one simulation comprises a forward simulation running the unverified AV software version on previously recorded vehicle log data corresponding to at least one trip by a data collection vehicle and comprising a set of sensors compatible with the unverified AV software version.

5. The AV software management system of claim 4 , wherein the forward simulation simulates at least one failure of an AV.

6. The AV software management system of claim 5 , wherein the at least one failure comprises at least one of a sensor failure, an on-board computer failure, or a mechanical failure.

7. The AV software management system of claim 2 , wherein the at least one simulation comprises edge case simulations on at least one previously recorded log of an AV, the edge case simulations corresponding to recorded harmful events experienced by the AV.

8. The AV software management system of claim 1 , wherein the trip anomalies correspond to at least one of hard braking events, swerve events, collisions, stuck states, or close calls by the SDAVs.

9. The AV software management system of claim 1 , wherein the unverified AV software version and the verified AV software version are executable by computational resources of a respective SDAV or FAV to autonomously operate control mechanisms of the respective SDAV or FAV based on a live sensor view.

10. The AV software management system of claim 1 , wherein the unverified AV software version correlates to a trip classifier that classifies requested trips as serviceable between SDAVS, FAVs, and human-driven vehicles (HDVs) based on aggregate risk, the trip classifier being unique to the unverified AV software version.

11. The AV software management system of claim 10 , wherein the trip classifier determines whether a requested trip qualifies for execution of the unverified AV software version by a selected SDAV based on an aggregate risk quantity for the requested trip.

12. The AV software management system of claim 11 , wherein the trip classifier classifies requested trips as serviceable between SDAVS, FAVs, and HDVs using a first set of risk thresholds for SDAVs and a second set of risk thresholds for FAVs, and comparing the aggregate risk quantity to the first set of risk thresholds and the second set of risk thresholds.

13. The AV software management system of claim 1 , wherein the executed instructions further cause the AV software management system to:

prior to verifying the unverified AV software version, distribute, over the one of more networks, the unverified AV software version to one or more FAVs operating within the given region;

receive, over the one or more networks, log data from the one or more FAVs, the log data indicating control decisions by the one or more FAVs in executing the unverified AV software version; and

compare the control decisions by the one or more FAVs with previous control decisions by FAVs executing a previously verified AV software version.

14. The AV software management system of claim 13 , wherein the executed instructions further cause the AV software management system to:

when the control decisions by the one or more FAVs are within a set of nominal ranges as compared to the control decisions by the FAVs executing the previously verified AV software version, pre-certify the unverified AV software version for distribution to the SDAVs.

15. The AV software management system of claim 13 , wherein the executed instructions cause the AV software management system to further verify the unverified AV software version for distribution to the one or more FAVs based on the control decisions by the one or more FAVs being within a set of nominal ranges as compared to the control decisions by the FAVs executing the previously verified AV software version.

16. The AV software management system of claim 1 , wherein the executed instructions cause the AV software management system to further verify the unverified AV software version for distribution to the FAVs based on the unverified AV software version passing a set of AV test runs in one or more controlled track environments.

17. A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

distribute, over one or more networks, an unverified AV software version to safety-driven autonomous vehicles (SDAVs) operating within a given region, each of the SDAVs including a human safety driver that takes over control of the SDAV when the SDAV, executing the unverified AV software version, requires correction;

receive, over the one or more networks, log data from the SDAVs, the log data indicating any trip anomalies of the SDAVs while executing the unverified AV software version;

when a predetermined safety standard has been met based on the log data, verify the unverified AV software version for execution on fully autonomous vehicles (FAVs) operating within the given region, wherein each of the FAVs is a self-driving vehicle that does not include a human safety driver, and wherein the predetermined safety standard corresponds to a threshold confidence level that the unverified AV software version is safer than an average human driver over a defined set of conditions;

distribute, over the one or more networks, the verified AV software version to a plurality of FAVs operating within the given region for execution,

wherein the log data comprises live sensor data, telemetry data, diagnostic data and correlation data indicating which the software versions were in use during operation.

18. A computer-implemented method of verifying software versions for autonomous vehicles (AVs), the method being performed by one or more processors and comprising:

distributing, over one or more networks, an unverified AV software version to safety-driven autonomous vehicles (SDAVs) operating within a given region, each of the SDAVs including a human safety driver that takes over control of the SDAV when the SDAV, executing the unverified AV software version, requires correction;

receiving, over the one or more networks, log data from the SDAVs, the log data indicating any trip anomalies of the SDAVs while executing the unverified AV software version;

when a predetermined safety standard has been met based on the log data, verifying the unverified AV software version for execution on fully autonomous vehicles (FAVs) operating within the given region, wherein each of the FAVs is a self-driving vehicle that does not include a human safety driver, and wherein the predetermined safety standard corresponds to a threshold confidence level that the unverified AV software version is safer than an average human driver over a defined set of conditions; and

distributing, over the one or more networks, the verified AV software version to a plurality of FAVs operating within the given region for execution,

wherein the log data comprises live sensor data, telemetry data, diagnostic data and correlation data indicating which the software versions were in use during operation.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 59692 FRAME: 345. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 4, 2025
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 070393/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2024
From: UATC, LLC
To: AURORA OPERATIONS, INC.
Reel/Frame 067733/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED AT REEL: 054940 FRAME: 0765. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 2, 2022
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 059692/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2021
From: UATC, LLC
To: UBER TECHNOLOGIES, INC.
Reel/Frame 054940/0765 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE FROM CHANGE OF NAME TO ASSIGNMENT PREVIOUSLY RECORDED ON REEL 050353 FRAME 0884. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT CONVEYANCE SHOULD BE ASSIGNMENT. Recorded Nov 27, 2019
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 051145/0001 →
CHANGE OF NAME Recorded Sep 12, 2019
From: UBER TECHNOLOGIES, INC.
To: UATC, LLC
Reel/Frame 050353/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2017
From: BRADLEY, DAVID MCALLISTER; KISLOVSKIY, DIMA
To: UBER TECHNOLOGIES, INC.
Reel/Frame 042730/0065 →
Continuity (1)
Related Publication 20180341571A1 · Nov 29, 2018
Cited By (4)
US 12,190,105 US 12,399,695 US 12,578,990 US 12,707,312