Back to top

The Project

Welcome to our site for the project Autonomous Diagnostics & System Monitoring!

In short: it is a program that can detect and locate faults in a combustion engine using machine learning and simulation models.

Future

In the future when cars are autonomous and have to decide for themselves when they need to go to a service station, it is necessary to have a self-diagnosis system. Furthermore, the mechanics in the service stations in the future could be robots which further increase the necessity of a self-diagnosis system that can specify where the fault is located so that the robots can fix it. Right now there is no easy way to automatically locate faults. However, a self-diagnosis system can give mechanics and drivers a quick diagnosis of an engine so you know when the car needs to be repaired and faults can be found and fixed in a small amount of time. Today mechanics manually have to locate the engine faults which is time-consuming and possibly expensive for both drivers and mechanics because parts that are not faulty might be replaced because the mechanic does not know exactly where the fault is.

The Project

This project acts as a start of the development of this kind of self-diagnosis system. It is a system that works offline and you can analyze 30 minutes of motor runtime in 5 minutes. The faults (or no fault) are shown in a user-friendly graphical user interface in MATLAB. As the user adds more data, the system learns and gets better with time. Furthermore, if the system does not know which fault it is, it can localize the fault with help of simulation models and machine learning.

System Architecture

A more thorough description of how the system works

A Schematic Description of the System

System Architecture

A system overview, aiming to give a better understanding of the complete system function and system communication.

The system simulation-subsystem simulates the engine model, and calculate four signals containing the model predictions, i.e. how the engine is supposed to behave given the simulation input. This can be done with and without faults, and thus, enabling the model predictions to mimic the engine signals in a desired way. Together with the data set obtained from measurements on a real engine, the subsystem fault detection generates residuals.

With well designed thresholds for each residual, faults can be detected. When a fault is detected, the residuals are sent to the subsystems fault classification and localization of unknown faults (in other words, for classification and machine learning) which will tell if a fault is known or unknown.

Additional information, such as fault hypotheses et cetera, will also be sent to the GUI. If the fault is unknown, a new set of known fault hypotheses will be proposed and sent for simulation. New residuals will be generated and if the fault classification receives the same result as in the unknown fault case, the system has determined how the unknown fault affects the system and the unknown fault is now considered known.

The user could also put in new information about a fault through the GUI, which will also update the training data. More information can be found in the technical documents.

A Schematic Description of the System

System Architecture

A system overview, aiming to give a better understanding of the complete system function and system communication.

Graphical User Interface

Graphical User Interface

When the button named “Start” is pushed, the main program will be executed. When the program is done, the results will be displayed in the graphical user interface automatically.

Graphical User Interface