IP Library Granted Patent US 11,164,403
Granted Patent B2
US 11,164,403 · App. 16/403,937 · Granted Nov 2, 2021

Method and system for real-time diagnostics and fault monitoring in a robotic system

Inventors: Randall Nortman (Pittsburgh, PA); Michael Dacko (Oakmont, PA)
Assignee: Argo AI, LLC
G07C5/0808
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,164,403
App. No.
16/403,937
Granted
Nov 2, 2021
Kind
B2
Abstract

A robotic system simultaneously monitors multiple processes running on the robotic system in an efficient manner that can help reduce communication and processing resource requirements. A diagnostic service of the robotic system receives primary signals from multiple tasks operating in the robotic system. For each of the primary signals, the service performing a first instance of a function on the primary signal to create a first derived signal for the primary signal. For each of the primary signals that is a keyed signal and associated with a multivalent key, the service will create an additional instance of the function to create an additional derived signal for each additional valence. The service will then using the each instance of the function to create an aggregated signal, and it will use the aggregated signal to simultaneously monitor each of the processes running on the robotic system.

Claims (92)

1. A method of monitoring processes of a robotic system, the method comprising, by a diagnostic service of the robotic system:

receiving a plurality of primary signals from a plurality of tasks operating in the robotic system;

for each of the primary signals:

performing a first instance of a function on the primary signal to create a first derived signal for the primary signal, and

saving the first instance of the function to a memory;

for each of the primary signals that is a keyed signal:

identifying the first instance of the function as being associated with a first valence for the keyed signal,

for each additional valence for the keyed signal, creating an additional instance of the function to create an additional derived signal, comprising a first key indicating which task of the plurality of tasks derived at least one of the primary signals used to yield the additional derived signal; and

saving each additional instance to the memory;

using the first instance of the function and the additional instances of the function to create an aggregated signal, the aggregated signal comprising a second key derived based at least on the first keys of the additional derived signals; and

using the aggregated signal to simultaneously monitor each of the processes running on the robotic system.

2. The method of claim 1 , further comprising, by the diagnostic service when creating the aggregated signal:

identifying expiration times for one or more of the primary signals;

determining which of the identified expiration times of the primary signals is a minimum value; and

assigning the minimum value to be an expiration time for the aggregated signal.

3. The method of claim 1 , further comprising, during runtime of the robotic system, by the diagnostic service:

receiving an updated value for one or more of the keyed signals; and

using each updated value to generate an updated aggregated signal in real time.

4. The method of claim 1 , wherein the robotic system comprises a vehicle, and the diagnostic service comprises an on-board vehicle diagnostic system.

5. The method of claim 1 , wherein for at least one of the primary signals, performing the first instance of the function on the primary signal to create the first derived signal comprises:

accessing a configuration file;

extracting a first valence associated with the primary signal from the configuration file; and

using the first valence in the first instance of the function.

6. The method of claim 5 , further comprising, for at least one of the primary signals that is the keyed signal:

for each of the additional valences associated with the keyed signal:

accessing the configuration file,

extracting the additional valences from the configuration file, and

respectively using the additional valences during the additional instances of the function to create the additional derived signals.

7. The method of claim 5 , wherein an algorithm for the function is stored by the diagnostic service prior to runtime as part of executable code, and the method further comprises, by the diagnostic service, loading the configuration file to receive configuration variables to use with the function at runtime.

8. The method of claim 1 , further comprising, by the diagnostics service:

detecting a fault in the robotic system using the second key of the aggregated signal; and

causing the robotic system to take a safety-related action in response to the fault.

9. A method of monitoring processes of a robotic system, the method comprising, by a diagnostic service of the robotic system:

receiving a plurality of primary signals from a plurality of tasks operating in the robotic system;

for each of the primary signals, performing a first instance of a function on the primary signal to create a first derived signal for the primary signal;

for each of the primary signals that is a keyed signal:

identifying the first instance of the function as being associated with a first valence for the keyed signal, and

for each additional valence for the key signal, creating an additional instance of the function to create an additional derived signal, the additional derived signal comprising a first key indicating which task of the plurality of tasks derived at least one of the primary signals used to yield the additional derived signal; and

using the first derived signal and the additional derived signals to create an aggregated signal comprising a second key derived based at least one the first keys of the additional derived signals;

detecting a fault in the robotic system;

using the aggregated signal to determine a cause of the fault; and

causing the robotic system to take a safety-related action in response to the fault.

10. The method of claim 9 , further comprising, by the diagnostic service, simultaneously monitoring each of the processes running on the robotic system by monitoring the aggregated signal.

11. The method of claim 9 , further comprising, by the diagnostic service when creating the aggregated signal:

identifying expiration times for one or more of the primary signals;

determining which of the identified expiration times of the primary signals is a minimum value; and

assigning the minimum value to be an expiration time for the aggregated signal.

12. The method of claim 9 , further comprising:

by the diagnostic service prior to runtime of the robotic system, storing an algorithm for the function prior to runtime as part of executable code; and

by the diagnostic service at runtime of the robotic system, loading the configuration file to receive configuration variables to use with the function;

wherein for at least one of the primary signals, performing the first instance of the function on the primary signal to create the first derived signal comprises:

accessing a configuration file,

extracting a first valence for the primary signal from the configuration file, and

using the first valence in the first instance of the function.

13. A robotic device, comprising:

a plurality of hardware components and a plurality of computational processes, each of which is operable to perform one or more tasks;

a diagnostic service that includes a processor and programming instructions that are operable to cause the diagnostics service to:

receive a plurality of primary signals from a plurality of the tasks;

for each of the primary signals

perform a first instance of a function on the primary signal to create a first derived signal for the primary signal, and

save the first instance of the function to a memory;

for each of the primary signals that is a keyed signal

identify the first instance of the function as being associated with a first valence of the keyed signal,

for each additional valence of the keyed signal, create an additional instance of the function to create an additional derived signal, the additional derived signal comprising a first key indicating which task of the plurality of tasks derived at least one of the primary signals used to yield the additional derived signal, and

save each additional instance to the memory; and

use the first instance of the function and the additional instances of the function to create an aggregated signal comprising a second key derived based at least on the first keys of the additional derived signals, and

use the aggregated signal to simultaneously monitor each of the hardware components and computational processes operating on the robotic device.

14. The robotic device of claim 13 , wherein:

the robotic device comprises a vehicle; and

the diagnostic service comprises an on-board vehicle diagnostic system.

15. The robotic device of claim 13 , wherein the diagnostic service comprises additional programming instructions that are operable to cause the diagnostic service to, when creating the aggregated signal:

identify expiration times for one or more of the primary signals;

determine which of the identified expiration times of the primary signals is a minimum value; and

assign the minimum value to be an expiration time for the aggregated signal.

16. The robotic device of claim 13 , wherein the diagnostic service comprises additional programming instructions that are operable to cause the diagnostic service to, during runtime of the robotic device:

receive an updated value for one or more of the keyed signals; and

use each updated value to generate an updated aggregated signal in real time.

17. The robotic device of claim 13 , wherein the programming instructions that are operable to cause the diagnostic service to perform the first instance of the function on at least one of the primary signals to create the first derived signal comprise instructions to:

access a configuration file;

extract a first valence for the primary signal from the configuration file; and

use the first valence in the first instance of the function.

18. The robotic device of claim 17 , wherein the diagnostic service comprises additional programming instructions that are operable to cause the diagnostic service to, for at least one of the primary signals that is the keyed signal:

for each of the additional valences of the keyed signal:

access the configuration file,

extract the additional valences from the configuration file, and

respectively use the additional valences to create the additional derived signals.

19. The robotic device of claim 17 , wherein:

an algorithm for the function is stored by the diagnostic service in a memory of the robotic device prior to runtime as part of executable code; and

the diagnostic service comprises additional programming instructions that are operable to cause the diagnostic service to load the configuration file to receive configuration variables to use with the function at runtime.

20. The robotic device of claim 13 , wherein the diagnostic service comprises additional programming instructions that are operable to cause the diagnostic service to:

detect a fault in the robotic device; and

cause the robotic device to take a safety-related action in response to the fault.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2024
From: ARGO AI, LLC
To: VOLKSWAGEN GROUP OF AMERICA INVESTMENTS, LLC
Reel/Frame 069177/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2019
From: NORTMAN, RANDALL; DACKO, MICHAEL
To: ARGO AI, LLC
Reel/Frame 049091/0111 →
Continuity (1)
Related Publication 20200357199A1 · Nov 12, 2020
Cited By (1)
US 12,537,753