IP Library Granted Patent US 11,650,585
Granted Patent B1
US 11,650,585 · App. 16/265,244 · Granted May 16, 2023

Fault tolerant autonomous vehicle platform

Inventors: Nathan Aschbacher (Portland, OR); Joshua John Hartung (Portland, OR)
Assignee: VAY TECHNOLOGY GMBH
G05D1/0055G07C5/085G07C5/0816
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,650,585
App. No.
16/265,244
Granted
May 16, 2023
Kind
B1
Abstract

Technologies are provided for detecting anomalous data at runtime in an autonomous vehicle component that is indicative of a byzantine fault, and providing real-time remediation. Input and output data streams of the vehicle component can be analyzed to generate a normal operational model for the vehicle component. Using the model, deviations from a known steady state of operation of the vehicle component can be detected and flagged as potential faults. The vehicle component can then be isolated and/or restarted. Additionally or alternatively, a specification can be defined that specifies allowed component interactions in the autonomous vehicle system. The specification can be used to generate tests that can be used to validate the functional correctness of the vehicle components. The specification can be used at run-time to detect component interactions that are not allowed. Such a disallowed component interaction can be detected using the specification and flagged as a potential fault.

Claims (71)

1. A system for detecting faults in autonomous vehicle operation, the system comprising:

a vehicle component monitor configured to:

monitor data activity of a vehicle component of an autonomous vehicle, including monitoring communications to and from the vehicle component;

generate a normal operation model for the vehicle component based on one or more data patterns in the monitored data activity, wherein the one or more data patterns characterize valid operation of the vehicle component;

detect anomalous data activity using the normal operation model for the vehicle component;

determine whether the communications to and from the vehicle component are authorized; and

transmit a message indicating that a fault has been detected in the vehicle component based on the detection of anomalous activity or the determination of an unauthorized communication; and

a fault detection module configured to:

receive the message from the vehicle component monitor;

isolate the vehicle component; and

identify at least one redundant component that performs the same function as the vehicle component, and offload a workload of the vehicle component for which a fault has been detected to the at least one redundant component.

2. The system of claim 1 , wherein the fault detection module is further configured to restart the isolated vehicle component.

3. The system of claim 2 , wherein the fault detection module is further configured to:

store vehicle component metadata for the vehicle component based on the detected anomalous data activity; and

initialize the restarted vehicle component using the stored metadata.

4. The system of claim 1 , wherein:

the vehicle component monitor is further configured to analyze the data activity of the vehicle component using a system behavior specification; and

the detecting anomalous data activity comprises determining that data activity of the vehicle component does not conform to the system behavior specification.

5. The system of claim 4 , wherein the vehicle component monitor is further configured to:

generate a test using the system behavior specification; and

execute the generated test to validate the functionality of the vehicle component.

6. The system of claim 1 , wherein:

the detecting anomalous data activity comprises detecting anomalous activity of an application of the vehicle component; and

the vehicle component monitor is further configured to determine, based on the anomalous activity of the application, that the application of the vehicle component is in a fail state.

7. The system of claim 6 , wherein the fault detection module is further configured to:

stop the execution of the application on the vehicle component; and

start another execution of the application on another vehicle component.

8. A computing device comprising a processor and a memory storing executable instructions that, when executed by the processor, cause the computing device to perform operations, the operations comprising:

monitoring data activity for a vehicle component of an autonomous vehicle, including monitoring communications to and from the vehicle component;

analyzing the monitored vehicle component data activity using a system behavior specification for the autonomous vehicle, wherein the analyzing determines, based at least in part on a current state of the monitored vehicle component, whether at least one communication of the monitored vehicle component is not authorized;

determining that the monitored vehicle component data activity does not conform to the system behavior specification;

taking the vehicle component offline; and

identifying at least one redundant component that performs the same function as the vehicle component taken offline, and offloading a workload of the vehicle component taken offline to the at least one redundant component.

9. The computing device of claim 8 , wherein the operations further comprise restarting the offline vehicle component.

10. The computing device of claim 9 , wherein the operations further comprise:

storing vehicle component metadata based on the analyzed vehicle component data activity; and

initializing the restarted vehicle component using the stored metadata.

11. The computing device of claim 8 , wherein the operations further comprise:

generating a test using the system behavior specification; and

using the generated test to determine that the monitored vehicle component data activity does not conform to the system behavior specification.

12. The computing device of claim 8 , wherein the operations further comprise:

determining that an application of the vehicle component is in a fail state; and restarting the application.

13. The computing device of claim 12 , wherein restarting the application comprises:

stopping the execution of the application on the offline vehicle component; and

starting another execution of the application on another vehicle component.

14. The computing device of claim 8 , wherein the operations further comprise:

generating a normal operation model for the vehicle component based on the monitored data activity; and

detecting anomalous data activity using the normal operation model for the vehicle component.

15. A method for detecting faults in autonomous vehicle operation, the method comprising:

monitoring data activity for a plurality of vehicle components of an autonomous vehicle, including monitoring communications to and from the plurality of vehicle components;

determining, based at least in part on a current state of the plurality of vehicle components, whether the communications are authorized;

identifying, based at least in part on the monitored data activity, a pattern for normal operation of the autonomous vehicle, wherein the pattern characterizes valid operation of the autonomous vehicle;

detecting vehicle component data activity that deviates from the identified pattern for normal operation of the autonomous vehicle;

determining that a fault has occurred in a vehicle component, of the vehicle components, based on a determination that a communication is not authorized or the detection of data activity that deviates from the identified pattern for normal operation;

identifying at least one redundant component that performs the same function as the vehicle component for which a fault has occurred, and offloading a workload of the vehicle component for which a fault has occurred to the at least one redundant component;

restarting the vehicle component for which a fault has occurred; and

initializing the restarted vehicle component.

16. The method of claim 15 , further comprising:

storing vehicle component metadata based on the detected vehicle component activity; and

initializing the restarted vehicle component using the stored metadata.

17. The method of claim 15 , further comprising:

analyzing the monitored vehicle component data activity using a system behavior specification; and

wherein the determining that a fault has occurred in the vehicle component comprises determining that the detected vehicle component data activity does not conform to the system behavior specification.

18. The method of claim 17 , further comprising:

generating a software test program using the system behavior specification; and

executing the generated software test program to test the vehicle component.

19. The method of claim 15 , wherein:

determining that the fault has occurred in the vehicle component comprises determining that an application of the vehicle component is in a fail state; and

the method further comprises restarting the application.

20. The method of claim 19 , wherein restarting the application comprises:

stopping the execution of the application on the vehicle component; and starting another execution of the application on another vehicle component.

Assignments (4)
CHANGE OF NAME Recorded May 11, 2022
From: REE TECHNOLOGY GMBH
To: VAY TECHNOLOGY GMBH
Reel/Frame 060718/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: MAXWELL SERVICES, INC.
To: REE TECHNOLOGY GMBH
Reel/Frame 052659/0933 →
CONFIRMATORY ASSIGNMENT EFFECTIVE 03/04/2020 Recorded May 14, 2020
From: POLYSYNC TECHNOLOGIES, INC.
To: MAXWELL SERVICES, INC.
Reel/Frame 052660/0334 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2020
From: SILICON VALLEY BANK
To: POLYSYNC TECHNOLOGIES, INC.
Reel/Frame 052250/0906 →
Continuity (1)
Provisional Application 62625199 · Feb 1, 2018
Cited By (4)
US 12,275,432 US 12,537,753 US 12,589,756 US 12,630,191