# US 10,501,091 B2 · Software version and mode switching for autonomous vehicles

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,501,091 B2
- Document ID: US10501091B2
- Status: Granted
- Kind: B2
- Application number: 15/602,234
- Filed: 2017-05-23
- Published: 2018-11-29
- Granted: 2019-12-10
- Earliest claimed: 2017-05-23
- Assignees: Uber Technologies, Inc.
- Applicants: Uatc, LLC
- Inventors: Dima Kislovskiy; David McAllister Bradley
- Web page: https://patentgrep.com/patent/US10501091B2

## CPC

- B60W 50/0098: {Details of control systems ensuring comfort, safety or stability not otherwise provided for}
- B60W 50/0205: {Diagnosing or detecting failures; Failure detection models}
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04W 4/021: Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
- H04W 4/025: {using location based information parameters}
- H04W 4/44: for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
- B60W 2050/0072: {Controller asks driver to take over}
- B60W 2050/0075: {Automatic parameter input, automatic initialising or calibrating means}
- B60W 2050/0215: {Sensor drifts or sensor failures}
- B60W 2050/022: {Actuator failures}
- B60W 2552/00: Input parameters relating to infrastructure
- B60W 2552/53: Road markings, e.g. lane marker or crosswalk
- B60W 2554/00: Input parameters relating to objects
- B60W 2554/20: Static objects
- B60W 2554/4029: Pedestrians
- B60W 2554/406: Traffic density
- B60W 2555/20: Ambient conditions, e.g. wind or rain
- B60W 2556/45: External transmission of data to or from the vehicle
- B60W: CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An on-trip monitoring system for an on-demand transportation service can receive log data from autonomous vehicles operating throughout a given region. Based on a set of triggering conditions, the on-trip monitoring system can transmit switching commands to cause the AVs to switch between software versions and/or operative modes.

## Claims

### Claim 1

An on-trip monitoring system for autonomous vehicles (AVs) comprising:
one or more processors; and
one or more memory resources storing instructions that, when executed by the one or more processors, cause the on-trip monitoring system to:
monitor AVs operating throughout a given region by receiving AV data from each of the AVs;
based on a triggering condition of an AV operating within the given region, transmit a software switching command to the AV, the software switching command instructing the AV to terminate execution of a current software version and begin executing a new software version for autonomous operation.

### Claim 2 (depends on 1)

The on-trip monitoring system of claim 1, wherein the executed instructions further cause the on-trip monitoring system to:
monitor current environmental conditions for the AV;
wherein the executed instructions cause the on-trip monitoring system to further transmit the software switching command based on a change in the current environmental conditions.

### Claim 3 (depends on 2)

The on-trip monitoring system of claim 2, wherein the change in the current environmental conditions comprises at least one of a change in lighting conditions, weather conditions, or road conditions.

### Claim 4 (depends on 1)

The on-trip monitoring system of claim 1, wherein the executed instructions further cause the on-trip monitoring system to:
monitor current traffic conditions for the AV;
wherein the executed instructions cause the on-trip monitoring system to further transmit the software switching command based on a change in the current traffic conditions.

### Claim 5 (depends on 1)

The on-trip monitoring system of claim 1, wherein the triggering condition is indicated in the AV data of the AV.

### Claim 6 (depends on 5)

The on-trip monitoring system of claim 5, wherein the AV data includes at least one of AV telemetry data and AV diagnostics data.

### Claim 7 (depends on 6)

The on-trip monitoring system of claim 6, wherein the executed instructions cause the on-trip monitoring system to transmit the software switching command based on the at least one of the AV telemetry data and the AV diagnostics data indicating a degraded state for the AV.

### Claim 8 (depends on 7)

The on-trip monitoring system of claim 7, wherein the degraded state corresponds to at least one of a degraded quality of sensor data for the AV, a sensor fault or failure, or a mechanical fault or failure.

### Claim 9

The on-trip monitoring system 5, wherein the AV data includes AV location data from a location-based resource on-board the AV, and wherein the executed instructions cause the on-trip monitoring system to transmit the software switching command based on a location and direction of the AV as indicated in the AV location data.

### Claim 10 (depends on 1)

The on-trip monitoring system of claim 1, wherein the triggering condition corresponds to at least one of the AV picking up a passenger, the AV dropping off a passenger, a location of the AV relative to a boundary of an autonomy grid on which the AV operates, the AV encountering a road closure, the AV failing to complete a given path segment as planned, or one or more efficiency parameters.

### Claim 11 (depends on 1)

The on-trip monitoring system of claim 1, wherein the executed instructions further cause the on-trip monitoring system to:
dynamically determine an aggregate risk quantity for a remainder of a current trip for the AV;
wherein the triggering condition corresponds to the aggregate risk quantity exceeding a predetermined risk threshold.

### Claim 12 (depends on 11)

The on-trip monitoring system of claim 11, wherein the executed instructions further cause the on-trip monitoring system to:
transmit an operation mode switching command to the AV when the aggregate risk quantity exceeds a second risk threshold, the operation mode switching command causing the AV to hand over manual control of the AV to a human driver.

### Claim 13 (depends on 1)

The on-trip monitoring system of claim 1, wherein the AV stores at least one verified software version for fully autonomous operation and at least one unverified software version requiring safety driver supervision during execution.

### Claim 14 (depends on 1)

The on-trip monitoring system of claim 1, wherein the AV data comprises data indicating the AV's interactions with other entities.

### Claim 15 (depends on 14)

The on-trip monitoring system of claim 14, wherein the triggering condition corresponds to a dose call with another entity as indicated in the AV data.

### Claim 16 (depends on 1)

The on-trip monitoring system of claim 1, wherein the executed instructions further cause the on-trip monitoring system to:
transmit the AV data from the AV to other AVs within a given proximity of the AV.

### Claim 17 (depends on 16)

The on-trip monitoring system of claim 16, wherein the executed instructions cause the on-trip monitoring system to transmit the AV data to other AVs within a given proximity of the AV in response to detecting at least one of a change in environmental conditions, a change in traffic conditions, or a change in road conditions in the AV data.

### Claim 18

A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
monitor AVs operating throughout a given region by receiving AV data from each of the AVs;
based on a triggering condition of an AV operating within the given region, transmit a software switching command to the AV, the software switching command instructing the AV to terminate execution of a current software version and begin executing a new software version for autonomous operation.

### Claim 19 (depends on 18)

The non-transitory computer readable medium of claim 18, wherein the executed instructions further cause the one or more processors to:
monitor current environmental conditions for the AV;
wherein the executed instructions cause the one or more processors to further transmit the software switching command based on a change in the current environmental conditions.

### Claim 20

A computer-implemented method of facilitating on-demand transport by autonomous vehicles, the method being performed by one or more processors and comprising:
monitoring AVs operating throughout a given region by receiving AV data from each of the AVs;
based on a triggering condition of an AV operating within the given region, transmitting a software switching command to the AV, the software switching command instructing the AV to terminate execution of a current software version and begin executing a new software version for autonomous operation.
