# US 8,543,280 B2 · Collaborative multi-agent vehicle fault diagnostic system and associated methodology

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

- Number: US 8,543,280 B2
- Document ID: US8543280B2
- Status: Granted
- Kind: B2
- Application number: 13/097,703
- Filed: 2011-04-29
- Published: 2012-11-01
- Granted: 2013-09-24
- Earliest claimed: 2011-04-29
- Assignees: Toyota Motor Engineering & Manufacturing North America, Inc.
- Applicants: Sandesh Ghimire; Danil Prokhorov
- Inventors: Sandesh Ghimire; Danil Prokhorov
- Web page: https://patentgrep.com/patent/US8543280B2

## CPC

- G07C 5/008: {communicating information to a remotely located station (transmission systems for measured values G08C)}
- G05B 23/0275: {Fault isolation and identification, e.g. classify fault; estimate cause or root of failure}
- G07C 5/085: {using electronic data carriers}
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

A control unit executes a first agent of a first subsystem of a vehicle, the first agent including a fault detection agent and a communication agent. The fault detection agent monitors performance data of the first subsystem to identify a problem in the first subsystem, stores first candidate fault diagnosis processes corresponding to the first subsystem in a first memory, and searches for a fault diagnosis process which identifies a fault causing the problem in the first subsystem from among the first candidate fault diagnosis processes. The communication agent collaborates with a second agent when a search by the fault detection agent fails to find the fault diagnosis process which identifies the fault. The collaboration includes searching a second memory which stores second candidate fault diagnosis processes, sending the monitored performance data to the second agent, and exchanging search result data between the first and second agents.

## Claims

### Claim 1

A control unit for a vehicle comprising:
a processor configured to execute a first agent of a first subsystem of the vehicle, the first agent including a fault detection agent and a communication agent,
the fault detection agent configured to monitor performance data of the first subsystem to identify a problem in the first subsystem, to store first candidate fault diagnosis processes corresponding to the first subsystem in a first memory, and to search for a fault diagnosis process which identifies a fault causing the problem in the first subsystem from among the first candidate fault diagnosis processes, and
the communication agent configured to collaborate with a second agent when a search by the fault detection agent fails to find the fault diagnosis process which identifies the fault, the collaboration with the second agent including searching a second memory which stores second candidate fault diagnosis processes, sending the monitored performance data to the second agent, and exchanging search result data between the first and second agents, wherein
the second agent is locally executed by the control unit or another control unit for the vehicle.

### Claim 2 (depends on 1)

The control unit according to claim 1, further comprising:
a network interface controller configured to establish a communication link between the first agent and a server agent when the collaboration with the second agent fails to result in finding the fault diagnosis process which identifies the fault,
the communication agent configured to receive a server candidate fault diagnosis process from the server agent.

### Claim 3 (depends on 2)

The control unit according to claim 2, wherein the communication agent is configured to distribute the server candidate fault diagnosis process to the fault detection agent of the first agent and the second agent.

### Claim 4 (depends on 3)

The control unit according to claim 3, wherein
the communication agent receives a result of the second agent applying the server candidate fault diagnosis process, and
the fault detection agent compares a result of the fault detection agent applying the server candidate fault diagnosis process to the result of the second agent applying the server candidate fault diagnosis process to identify the fault.

### Claim 5 (depends on 4)

The control unit according to claim 4, wherein an event log of the identification of the fault is stored in the first memory.

### Claim 6 (depends on 2)

The control unit according to claim 2, wherein the server agent is executed by a server operated remotely from the control unit.

### Claim 7 (depends on 2)

The control unit according to claim 2, wherein
the network interface controller is configured to establish a communication link between the first agent, the second agent and the server agent by a network, and
the communication agent is configured to receive the server candidate fault diagnosis process from the server agent in response to: (1) the server agent connecting to the network, and (2) the communication agent, in response to the server agent connecting to the network, transmitting the monitored performance data and the search result data exchanged between the first and second agents to the server agent.

### Claim 8 (depends on 7)

The control unit according to claim 7, wherein the communication agent is further configured to transmit statistical and probability models of the monitored performance data to the server agent.

### Claim 9 (depends on 1)

The control unit according to claim 1, wherein
the second agent corresponds to a second subsystem of the vehicle, and
the second agent is configured to monitor performance data of the second subsystem.

### Claim 10 (depends on 9)

The control unit according to claim 9, wherein
the first agent is configured to identify a correlation between the monitored performance data of the first and second subsystems, and
the first agent searches the second memory for the fault diagnosis process which identifies the fault based on the correlation.

### Claim 11 (depends on 9)

The control unit according to claim 9, further comprising:
a memory module including the first and second memories as discrete memory banks, wherein the processor is further configured to execute the second agent.

### Claim 12 (depends on 1)

The control unit according to claim 1, wherein the first agent further includes a clustering agent configured to generate a statistical model and a probability model from the monitored performance data to predict a probability of a future problem.

### Claim 13 (depends on 12)

The control unit according to claim 12, wherein the fault detection agent is configured to compare the monitored performance data of the first subsystem with data from the statistical and probability models of the clustering agent to identify and predict the problem in the first subsystem.

### Claim 14 (depends on 1)

The control unit according to claim 1, wherein the search result data includes a result of applying at least a portion of a candidate fault diagnosis process to at least a portion of the monitored performance data.

### Claim 15 (depends on 14)

The control unit according to claim 14, wherein the candidate fault diagnosis process includes at least one of (1) reading a selected portion of the monitored subsystem performance data, (2) comparing the monitored subsystem performance data to thresholds, (3) checking a timing requirement of the monitored subsystem performance data, and (4) reporting or logging the monitored subsystem performance data.

### Claim 16 (depends on 1)

The control unit according to claim 1, wherein the first agent further includes a learning agent trained on healthy performance data and configured to identify the problem by comparing the monitored performance data to the healthy performance data.

### Claim 17 (depends on 1)

The control unit according to claim 1, further comprising:
a network interface controller configured to communicatively link the first agent with the second agent, wherein the second agent is executed by a processor of another control unit.

### Claim 18

A vehicle including a control unit, the control unit comprising:
a processor configured to execute a first agent of a first subsystem of the vehicle, the first agent including a fault detection agent and a communication agent,
the fault detection agent configured to monitor performance data of the first subsystem to identify a problem in the first subsystem, to store first candidate fault diagnosis processes corresponding to the first subsystem in a first memory, and to search for a fault diagnosis process which identifies a fault causing the problem in the first subsystem from among the first candidate fault diagnosis processes, and
the communication agent configured to collaborate with a second agent when a search by the fault detection agent fails to find the fault diagnosis process which identifies the fault, the collaboration with the second agent including searching a second memory which stores second candidate fault diagnosis processes, sending the monitored performance data to the second agent, and exchanging search result data between the first and second agents, wherein
the second agent is locally executed by the control unit or another control unit for the vehicle.

### Claim 19

A computer-readable medium storing a program for diagnosing vehicle faults of a vehicle, that, when executed by a computer, performs a method for identifying a fault causing a problem in a vehicle subsystem of the vehicle, the method comprising:
executing, by a control unit of the vehicle, a first agent of a first subsystem of the vehicle, the first agent including a fault detection agent and a communication agent;
monitoring, by the fault detection agent, performance data of the first subsystem to identify a problem in the first subsystem;
searching, by the fault detection agent, for a fault diagnosis process which identifies a fault causing the problem in the first subsystem from among first candidate fault diagnosis processes stored in a first memory corresponding to the first subsystem; and
collaborating, by the communication agent, with a second agent when the searching by the fault detection agent fails to find the fault diagnosis process which identifies the fault, the collaborating including searching a second memory which stores second candidate fault diagnosis processes, sending the monitored performance data to the second agent, and exchanging search result data between the first and second agents, wherein
the second agent is locally executed by the control unit or another control unit of the vehicle.

### Claim 20

A method for identifying a fault causing a problem in a vehicle subsystem of a vehicle, the method comprising:
executing, by a control unit of the vehicle, a first agent of a first subsystem of the vehicle, the first agent including a fault detection agent and a communication agent;
monitoring, by the fault detection agent, performance data of the first subsystem to identify a problem in the first subsystem;
searching, by the fault detection agent, for a fault diagnosis process which identifies a fault causing the problem in the first subsystem from among first candidate fault diagnosis processes stored in a first memory corresponding to the first subsystem; and
collaborating, by the communication agent, with a second agent when the searching by the fault detection agent fails to find the fault diagnosis process which identifies the fault, the collaborating including searching a second memory which stores second candidate fault diagnosis processes, sending the monitored performance data to the second agent, and exchanging search result data between the first and second agents, wherein
the second agent is locally executed by the control unit or another control unit of the vehicle.
