IP Library Granted Patent US 11,640,342
Granted Patent B2
US 11,640,342 · App. 17/083,773 · Granted May 2, 2023

Fault state transitions in an autonomous vehicle

Inventors: John Hayes (Mountain View, CA); Volkmar Uhlig (Cupertino, CA); Richard A. Swetz (Los Altos, CA); Daniel P. Potts (Sydney, AU)
Assignee: GHOST AUTONOMY INC.
G06F11/1658G06F11/0739G06F11/2028G06F11/2041G07C5/0808G06F2201/805
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,640,342
App. No.
17/083,773
Granted
May 2, 2023
Kind
B2
Abstract

Fault state transitions in an autonomous vehicle may include determining that a first node of a plurality of nodes has failed; determining, in response to the first node failing, a failure state; determining, based on the failure state, a configuration for the plurality of nodes excluding the first node; and applying the configuration.

Claims (49)

1. A method for fault state transitions in an autonomous vehicle, the method comprising:

determining that a first node of a plurality of nodes has failed;

determining, in response to the first node failing, a failure state by identifying the failure state from a plurality of predefined failure states each corresponding to a different combination of one or more failed nodes, wherein each of the plurality of predefined failure states corresponds to a respective configuration of a plurality of configurations;

selecting, from the plurality of configurations, as a configuration for the plurality of nodes excluding the first node, the respective configuration corresponding to the failure state, wherein the configuration comprises one or more of: memory access permissions for the plurality of nodes excluding the first node and/or functional assignments for the plurality of nodes excluding the first node; and

applying the configuration.

2. The method of claim 1 , further comprising determining, during a code compilation, the plurality of predefined states and the plurality of configurations.

3. The method of claim 1 , wherein applying the configuration comprises copying, based on the memory access permissions, one or more values stored in memory from a first memory location to a second memory location.

4. The method of claim 1 , further comprising:

determining that the first node is operational;

determining, based on the failure state and in response to determining that the first node is operational, a current state;

determining, based on the current state, another configuration; and

applying the other configuration.

5. The method of claim 1 , wherein determining that the first node has failed comprises receiving, by an exception handler, an exception generated by the first node.

6. The method of claim 1 , wherein determining that the first node has failed comprises determining that the first node has written invalid data to a memory address accessible by another node.

7. The method of claim 1 , wherein determining that the first node has failed comprises determining that the first node has failed to write data within a time window to a memory address for access by another node.

8. An apparatus for fault state transitions in an autonomous vehicle, the apparatus comprising one or more processors and memory storing instructions that, when executed, cause the one or more processors to perform steps comprising:

determining that a first node of a plurality of nodes has failed;

determining, in response to the first node failing, a failure state by identifying the failure state from a plurality of predefined failure states each corresponding to a different combination of one or more failed nodes, wherein each of the plurality of predefined failure states corresponds to a respective configuration of a plurality of configurations;

selecting, from the plurality of configurations, as a configuration for the plurality of nodes excluding the first node, the respective configuration corresponding to the failure state, wherein the configuration comprises one or more of: memory access permissions for the plurality of nodes excluding the first node and/or functional assignments for the plurality of nodes excluding the first node; and

applying the configuration.

9. The apparatus of claim 8 , wherein the steps further comprise determining, during a code compilation, the plurality of predefined states and the plurality of configurations.

10. The apparatus of claim 8 , wherein applying the configuration comprises copying, based on the memory access permissions, one or more values stored in memory from a first memory location to a second memory location.

11. The apparatus of claim 8 , wherein the steps further comprise:

determining that the first node is operational;

determining, based on the failure state and in response to determining that the first node is operational, a current state;

determining, based on the current state, another configuration; and

applying the other configuration.

12. The apparatus of claim 8 , wherein determining that the first node has failed comprises receiving, by an exception handler, an exception generated by the first node.

13. The apparatus of claim 8 , wherein determining that the first node has failed comprises determining that the first node has written invalid data to a memory address accessible by another node.

14. An autonomous vehicle for fault state transitions in an autonomous vehicle, comprising:

an apparatus comprising one or more processors and memory storing instructions that, when executed, cause the one or more processors to perform steps comprising:

determining that a first node of a plurality of nodes has failed;

determining, in response to the first node failing, a failure state by identifying the failure state from a plurality of predefined failure states each corresponding to a different combination of one or more failed nodes, wherein each of the plurality of predefined failure states corresponds to a respective configuration of a plurality of configurations;

selecting, from the plurality of configurations, as a configuration for the plurality of nodes excluding the first node, the respective configuration corresponding to the failure state, wherein the configuration comprises one or more of: memory access permissions for the plurality of nodes excluding the first node and/or functional assignments for the plurality of nodes excluding the first node; and

applying the configuration.

15. The autonomous vehicle of claim 14 , wherein the steps further comprise determining, during a code compilation, the plurality of predefined states and the plurality of configurations.

16. The autonomous vehicle of claim 14 , wherein applying the configuration comprises copying, based on the memory access permissions, one or more values stored in memory from a first memory location to a second memory location.

17. The autonomous vehicle of claim 14 , wherein the steps further comprise:

determining that the first node is operational;

determining, based on the failure state and in response to determining that the first node is operational, a current state;

determining, based on the current state, another configuration; and

applying the other configuration.

18. The autonomous vehicle of claim 14 , wherein determining that the first node has failed comprises receiving, by an exception handler, an exception generated by the first node.

19. The autonomous vehicle of claim 14 , wherein determining that the first node has failed comprises determining that the first node has written invalid data to a memory address accessible by another node.

20. A computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions for fault state transitions in an autonomous vehicle that, when executed, cause a computer system of the autonomous vehicle to carry out the steps of:

determining that a first node of a plurality of nodes has failed;

determining, in response to the first node failing, a failure state by identifying the failure state from a plurality of predefined failure states each corresponding to a different combination of one or more failed nodes, wherein each of the plurality of predefined failure states corresponds to a respective configuration of a plurality of configurations;

selecting, from the plurality of configurations, as a configuration for the plurality of nodes excluding the first node, the respective configuration corresponding to the failure state, wherein the configuration comprises one or more of: memory access permissions for the plurality of nodes excluding the first node and/or functional assignments for the plurality of nodes excluding the first node; and

applying the configuration.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2024
From: GHOST AUTONOMY, INC.
To: APPLIED INTUITION, INC.
Reel/Frame 068982/0647 →
CHANGE OF NAME Recorded Aug 8, 2022
From: GHOST LOCOMOTION INC.
To: GHOST AUTONOMY INC.
Reel/Frame 061118/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: SWETZ, RICHARD A.; HAYES, JOHN; UHLIG, VOLKMAR; POTTS, DANIEL P.
To: GHOST LOCOMOTION INC.
Reel/Frame 054211/0100 →
Continuity (2)
Provisional Application 62927918 · Oct 30, 2019
Related Publication 20210133057A1 · May 6, 2021