DETECÇÃO DE FALHAS EM PROCESSOS INDUSTRIAIS BASEADA EM ESTIMATIVA DE DENSIDADE RECURSIVA Clauber Gomes Bezerra∗, Bruno Sielly Jales Costa†, Luiz Affonso Guedes‡ ∗ Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus EaD Natal, RN, Brasil † Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Natal Zona Norte Natal, RN, Brasil ‡ Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Natal, RN, Brasil Emails: [email protected], [email protected], [email protected] Abstract— Fault detection is a task of major importance in industry nowadays, since that it can considerably reduce the risk of accidents involving human lives, in addition to production and consequently financial losses. Therefore, fault detection systems have been largely studied in the past few years, resulting in many different methods and approaches to solve such problem. This paper presents a detailed study on fault detection on industrial processes based on the recently introduced Recursive Density Estimation (RDE) approach. RDE is a recursive and non-parametric method, firstly proposed to the general problem of anomaly detection on data streams. It is based on the measures of data density and proximity from each read data point to the analyzed data set. RDE is an online autonomous learning algorithm that does not require a priori knowledge about the process, requires very low computational effort and, thus, is very suitable for real-time applications. The results further presented were generated by the application of RDE to the very well-known real data benchmark DAMADICS. Keywords— Fault detection, industrial process, RDE. Resumo— A detecção de falhas é uma tarefa de grande importância hoje em dia na indústria, já que pode reduzir consideravelmente o risco de acidentes envolvendo vidas humanas, além de perdas de produção e consequentemente perdas financeiras. Dessa forma, os sistemas de detecção de falhas vêm sendo largamente estudados nos últimos anos, resultando em diferentes métodos e abordagens para resolver esse problema. Este artigo apresenta um estudo de detecção de falhas em processos industriais baseado num método recentemente proposto chamado RDE (Recursive Density Estimation). O RDE é um método recursivo e não paramétrico, inicialmente proposto para o problema de detecção de anomalias em um conjunto de dados. Ele é baseado no cálculo da densidade e da proximidade de cada ponto analisado em um conjunto de dados em relação aos demais pontos desse conjunto. O RDE é um algoritmo de aprendizado autônomo que não necessita de um conhecimento prévio sobre o processo, além disso ele necessita de um esforço computacional baixo, o que o torna adequado a aplicações em tempo real. Os resultados apresentados foram gerados aplicando o RDE ao já conhecido benchmark DAMADICS. Palavras-chave— 1 Detecção de falhas, processos industriais, RDE. Introdução Com a crescente demanda por processos mais produtivos, as plantas industriais tornam-se cada vez maiores e mais complexas, dificultando ainda mais a sua manutenção. Com o passar do tempo, e à medida que vão sendo utilizados, os equipamentos tornam-se propensos ao surgimento uma série de sinais de degradação, tais como desgastes, sujeira, corrosão, rachaduras, danos causados por operadores, dentre outros. O surgimento desses sinais torna a planta susceptı́vel à apresentação de falhas durante o seu funcionamento. Uma falha consiste em um desvio não permitido de pelo menos uma propriedade, caracterı́stica ou parâmetro de um sistema a partir da sua condição aceitável, usual ou padrão (Isermann, 2006). De uma forma geral, uma falha pode ser definida como uma alteração inesperada no com- portamento de um sistema, que pode levá-lo a uma situação crı́tica. Nos sistemas dinâmicos controlados, caso nenhuma ação preventiva seja executada, as falhas tornam-se inevitáveis, podendo levar o processo a desviar-se de seu estado normal de operação, já que o sistema de controle não consegue lidar de forma eficiente com ela. Se a falha não for corrigida por uma ação adequada, o sistema pode chegar em uma situação de emergência que pode resultar em uma série de problemas tais como paradas inesperadas, perdas na produção, redução do tempo de vida útil dos equipamentos, acidentes com consequências ao meio ambiente e a vida de seres humanos. Por exemplo, o acidente que ocorreu com a plataforma P-36 da PETROBRAS no ano de 2001 resultou na perda de 11 vidas humanas, além de poluição ambiental e um prejuı́zo financeiro de cerca de cinco bilhões de dóla- res (Venkatasubramanian, 2003). Em muitas indústrias, o processo de detecção de falhas ainda é manual e dependente do conhecimento prévio que os operadores possuem sobre as caracterı́sticas operacionais do sistema, o que faz com que esse processo se torne impreciso e lento. Além disso, devido a grande complexidade dos sistemas monitorados, o trabalho dos operadores na identificação de falhas se torna ainda mais difı́cil. Segundo Venkatasubramanian et al. (2003) dados estatı́sticos mostram que 70% dos acidentes nas industrias são causados por erros humanos. Porém, a alta demanda por maior produtividade e segurança nos processos industriais fez com que, nos últimos anos, uma grande quantidade de pesquisas sobre detecção de falhas fosse desenvolvida. Nessas pesquisas, geralmente é utilizada uma combinação de diferentes técnicas de análise de dados, que além de detectar a falha também realizam o seu isolamento e a sua classificação. Dentre essas abordagens podemos citar: análise estatı́stica (Costa et al., 2014b; Costa et al., 2014a), observadores (Chen and Saif, 2007; Li, 2012), redundância analı́tica (Anwar and Chen, 2007; Simani and Patton, 2008), sistemas fuzzy (Oblak et al., 2007; El-Shal and Morris, 2000), redes neurais (Leite et al., 2009; Vemuri et al., 1998), sistemas imunológicos (Laurentys, Palhares and Caminhas, 2010; Laurentys, Ronacher, Palhares and Caminhas, 2010), dentre outras. No entanto, algumas dessas técnicas necessitam de um conhecimento prévio do comportamento do processo, fazendo com que sejam necessários a utilização de modelos matemáticos e parâmetros de treinamento, o que limita o seu uso a alguns casos bem definidos. Além disso, em uma aplicação de detecção de falhas, os dados provenientes de diversas variáveis medidas no processo são coletados periodicamente a cada instante de tempo k e devem ser processados em tempo real. Dessa forma é de se esperar que um sistema de detecção de falhas seja capaz de lidar com grandes quantidades de dados, fornecendo respostas rápidas e confiáveis com um esforço computacional pequeno (Venkatasubramanian et al., 2003). Recentemente foi proposta uma nova técnica para a detecção de anomalias em um conjunto de dados que atende a todos esses requisitos. Essa técnica, chamada RDE, analisa a densidade de cada amostra de dados para determinar se essa amostra é ou não uma anomalia. Essa densidade é calculada com base na distância entre a amostra analisada e as demais amostras do conjunto. Além disso, o RDE utiliza cálculos recursivos, o que o torna adequado a aplicações online. Com isso, neste artigo propomos utilizar o RDE em uma aplicação de detecção de falhas em um processo industrial. O restante deste artigo se encontra organizado da seguinte forma: na seção 2 é feita uma breve revisão sobre os conceitos relacionados ao RDE. Já na seção 3 é apresentado o benchmark DAMADICS para detecção de falhas, o qual foi utilizado na obtenção dos resultados. Na seção 4 são apresentados e discutidos os resultados obtidos utilizando o RDE na detecção de falhas ao conjunto de dados do DAMADICS. Finalmente, na seção 5, são apresentadas as considerações finais sobre o trabalho desenvolvido, como também algumas propostas para trabalhos futuros. 2 RDE O RDE (Recursive Density Estimation) é um método proposto por Angelov (2012a) para a detecção de outliers em um conjunto de dados ndimensional. Esse método é baseado no cálculo da densidade do conjunto de dados analisado, que indica o quão próximos estes dados estão uns dos outros no instante de tempo k. Através da análise dessa densidade podemos identificar se uma determinada amostra de dados foge da distribuição normal das demais amostras, se configurando um possı́vel outlier. Para exemplificar essa ideia, considere um conjunto de dados bidimensional. Em um instante de tempo k, esses dados estão distribuı́dos conforme mostra a figura 1(a) e possuem uma densidade Dt . Vamos imaginar agora que no instante seguinte k + 1 surge um novo ponto P ao conjunto de dados. Caso o ponto P esteja próximo dos demais pontos, figura 1(b), o valor da densidade no instante k + 1, Dt+1 , será próximo a densidade do instante anterior, já que P está próximo dos demais pontos. t=k X1 (a) t = k+1 X1 t = k+1 X1 P (b) X2 X2 P (c) X2 Figura 1: Comportamento da densidade de um conjunto de dados. Em outra situação, o ponto P pode estar longe dos demais pontos, figura 1(c), o que fará com que a densidade Dt+1 diminua em relação a Dt . Com isso, podemos concluir que quando um ponto candidato a outlier é apresentado ao RDE o valor da densidade do conjunto de dados irá cair em relação ao instante anterior. Além disso, quanto mais distante esse ponto estiver dos demais pontos do conjunto de dados maior será a diferença entre as densidades calculadas. Para formalizar essa ideia, vamos considerar um cluster Λ formado por um conjunto de amostras de dados, onde cada uma dessas amostras é um vetor x ∈ Rn . Com isso, a função de densidade local desse cluster, dΛ , em relação a amostra x no instante k, é calculada, com base numa função de Cauchy, usando a seguinte equação (Angelov, 2012a): dΛ (xk ) = 1+ 1 NΛ 1 PNΛ i=1 2 kxk − xi k (1) onde NΛ representa a quantidade de amostras de Λ. Nessa equação é utilizada a distância euclidiana para medir a distância entre xk e as demais amostras pertencentes a Λ. Porém, em uma aplicação em tempo real, onde uma nova amostra de dados é coletada periodicamente a cada instante de tempo k, o cálculo periódico da densidade desse conjunto de dados pode se tornar inviável usando a equação 1. Utilizando essa equação, para se calcular a densidade no instante de tempo k, seria necessário armazenar todas as amostras anteriores ao instante k, o que demandaria uma grande quantidade de memória e aumentaria o tempo de processamento do cálculo. Para resolver esse problema Angelov (2012a) propôs a utilização da seguinte expressão recursiva para o cálculo da densidade, D das amostras: falhas utilizando dados reais de um atuador industrial. Para isso, foram utilizados dados provenientes de um benchmark bastante conhecido para detecção e diagnóstico de falhas em processos industriais. Esse benchmark foi desenvolvido por um grupo de pesquisa europeu e é chamado de DAMADICS (Development and Application of Methods for Actuator Diagnosis in Industrial Control Systems) (Bartys et al., 2006; DAMADICS Information Website, 2002). O DAMADICS tem sido largamente utilizado na literatura para comparar diferentes técnicas utilizadas na solução do problema de detecção de falhas no processo proposto pelo benchmark. Ele utiliza um processo real de evaporação de água em uma caldeira de uma fábrica de açúcar polonesa. Esse processo é composto por três atuadores, onde cada um deles é utilizado no controle de fluxo de uma parte do processo. O atuador utilizado no DAMADICS é ilustrado na figura 2, sendo ele composto por uma válvula de controle, um servo motor pneumático e um posicionador. Servo motor pneumático Posicionador Válvula D(xk ) = 1 2 1 + kxk − µk k + Xk − kµ2 k (2) Onde µk representa a média de todas as amostras de dados e Xk o produto escalar médio dessas amostras. Esses dois valores também podem ser calculados recursivamente de acordo com as seguintes equações: k−1 1 µk−1 + xk , µ1 = x1 k k 1 k−1 2 2 Xk−1 + kxk k , X1 = kx1 k Xk = k k µk = (3) (4) Dessa forma, utilizando as equações 2, 3 e 4, é possı́vel calcular a densidade de um conjunto de dados no instante k, armazenando somente os valores de µ e X no instante k−1. Isso faz com que o RDE seja um algoritmo rápido, com baixos custo computacional e uso de memória. Além disso, o RDE não necessita da estimação de nenhum valor de parâmetro ou treinamento prévio nos seus cálculos. 3 Estudo de Caso Para a validação da abordagem proposta, aplicamos o RDE a um problema de detecção de Fluxo de água Figura 2: Atuador utilizado no benchmark DAMADICS: visão externa e esquema interno. O DAMADICS disponibiliza uma biblioteca para o software MATLAB/SIMULINK que permite simular 19 diferentes tipos de falhas, que podem ser abruptas ou incipientes, e acompanha-las em tempo real na simulação. Essas falhas simuladas podem ocorrer em qualquer uma das três partes constituintes do atuador, ou ainda, externamente a ele. Além disso, o DAMADICS também disponibiliza uma série de arquivos de dados off-line da planta. Cada um desses arquivos contém dados referentes ao uso da planta por um dia inteiro, onde durante a obtenção desses dados foram inseridas artificialmente na planta algumas falhas em determinados dias e horários. 4 Resultados Obtidos Para a obtenção dos resultados aplicamos o RDE ao conjunto de dados off-line disponibilizado pelo DAMADICS. Esses dados estão organizados em vários arquivos, onde cada arquivo corresponde ao funcionamento da planta por um dia inteiro e possui um total de 32 variáveis, cada uma representando um sinal medido na planta. Como a taxa de amostragem do processo é de 1 amostra/segundo, cada uma dessas variáveis possui um total de 86400 amostras por dia. O DAMADICS disponibiliza dados referentes a 25 dias de funcionamento da planta. Porém, em apenas 4 desses dias foram adicionadas manualmente algumas 19 falhas artificiais ao processo. Essas falhas são de 4 tipos diferentes, que correspondem aos códigos f16, f17, f18 e f19 definidos no benchmark (DAMADICS Information Website, 2002). Para cada falha analisamos o comportamento de duas variáveis durante o intervalo de tempo onde ocorria a falha. Essas variáveis foram usadas como variáveis de entrada no RDE e foram definidas com base no manual descritivo dos dados do DAMADICS (DAMADICS Information Website, 2002). Vale salientar que como exceção a essa regra, na falha #13 foi utilizada apenas uma variável de entrada, conforme constava no manual. O intervalo de tempo analisado também foi determinado com base no manual do DAMADICS. Para cada falha esse intervalo de tempo consistia em um perı́odo onde os sinais iniciavam em um estado de normalidade (sem falha), seguido por um perı́odo em estado de falha e em seguida outro perı́odo em estado de normalidade. Novamente a exceção a essa regra foi a falha #13 onde após entrar em estado de falha os sinais não voltavam ao estado de normalidade. O RDE foi então aplicado a essas 19 falhas e utilizado para se determinar se cada uma das amostras estava em estado de falha ou em estado normal. Para determinar se uma amostra k estava em falha foi verificado se a sua densidade, Dk , era menor que um limiar definido pela diferença entre a média da densidade do conjunto de dados, Dk , e o seu desvio padrão, σkD , isto é, Dk < Dk − σkD (5) onde, Dk e σkD são atualizados pelas equações (Angelov, 2012b): k−1 1 Dk−1 + Dk , D1 = D1 k k k − 1 D 2 1 D 2 σk = σk−1 + (Dk − Dk )2 , k k 2 σ1D = 0 Dk = (6) (7) Para analisar os resultados obtidos iremos utilizar três medidas: True Positive Rate, False Positive Rate e Total Hit Rate (Grbovic et al., 2011). A True Positive Rate (TPR), mede a quantidade de amostras em estado de falha detectadas corretamente. A TPR é definida como: nf TPR = 100 (8) Nf onde nf é o número de amostras de falhas detectadas corretamente e Nf é o total de amostras em falha. Já a False Positive Rate (FPR) mede a quantidade de amostras normais detectadas erroneamente como falhas. A FPR é definida como: nn 100 (9) FPR = Nn onde nn é o número de amostras normais detectadas como falhas e Nn é o total de amostras normais. Por fim, a Total Hit Rate (THR) mede a quantidade de amostras, em qualquer estado (normal ou falha), classificadas corretamente. A THR é definida como: nt 100 (10) T HR = Nt onde nt é o número de amostras classificadas corretamente, normal ou falha, e Nt é o total de amostras analisadas no intervalo. Após utilizar o RDE em cada um dos itens de falha disponibilizados pelo DAMADICS calculamos para cada um desses itens o valor de TPR, FPR e THR obtendo os resultados mostrados na tabela 1. Tabela 1: Resultados obtidos na detecção das falhas. Item #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12 #13 #14 #15 #16 #17 #18 #19 Atuador Atuador 1 Atuador 2 Actuator 3 Média TPR FPR THR 94,91% 78,99% 0,00% 0,00% 84,16% 86,14% 100,00% 0,00% 0,00% 94,44% 92,31% 95,35% 0,00% 94,37% 78,43% 91,21% 98,21% 97,62% 98,30% 71,80% 1,52% 0,00% 0,00% 15,50% 22,50% 61,58% 0,00% 0,00% 0,00% 0,00% 0,00% 0,00% 33,52% 4,00% 36,36% 62,07% 86,67% 90,67% 61,57% 93,11% 66,45% 47,26% 84,48% 79,24% 76,62% 85,15% 88,56% 98,02% 97,03% 98,02% 6,67% 74,16% 91,54% 76,12% 54,73% 34,53% 48,38% 67,60% 25,59% 71,67% Analisando os resultados mostrados na tabela 1, podemos observar que o RDE obteve um valor médio de TPR de 67,60%. Com relação aos falsos positivos, o valor médio de FPR foi de 25,59%, o que equivale a 74,41% de amostras em estado normal classificadas corretamente. No total, considerando todo o conjunto de dados das 19 falhas analisadas, a média de THR foi de 71,67%. O maior percentual de acerto do RDE ocorreu no item de falha #12, onde a grande maioria das amostras com falha foram classificadas corretamente (TPR = 95,35%) e não ocorreram falsos positivos (FPR=0.00%). O valor de THR obtido nessa falha foi de 98.02%. A figura 3(a) mostra o comportamento das duas variáveis de entrada analisadas pelo RDE nessa falha, onde os instantes de inı́cio e fim da falha estão destacados pelas linhas pontilhadas em vermelho. Já na figura 3(b), são mostrados os resultados obtidos aplicando o RDE nessa falha. Observe que o RDE foi capaz de acompanhar rapidamente a mudança ocorrida no estado das variáveis de entrada, determinado assim tanto o inicio como o fim da falha. x1 x2 60 40 5,650 5,660 5,670 5,680 5,690 5,700 5,690 5,700 T empo(s) (a) ·10−2 4 2 x1 x2 80 D 0 D − σkD 5,650 60 5,660 5,670 5,680 T empo(s) (b) 40 5,700 5,702 5,704 5,706 5,708 5,710 T empo(s) (a) Figura 4: Resultados obtidos para a falha #6: (a) variáveis de entrada e (b) densidade e limiar calculados. ·10−2 10 5 D 0 D − σkD 5,700 5,702 5,704 5,706 5,708 5,710 ocorreu nos casos onde a variação nas variáveis de entrada não foi abrupta durante a ocorrência da falha. Nesses casos, a entrada variou de forma sutil e gradativa, fazendo com que o RDE não a percebesse. Assim, como as amostras de entrada continuam muito próximas umas das outras a densidade não varia tanto, fazendo com que o limiar para a detecção da falha não seja atingido. T empo(s) (b) Figura 3: Resultados obtidos na falha #12: (a) variáveis de entrada e (b) densidade e limiar calculados. Com relação ao ı́ndice TPR de cada falha, podemos observar que os valores obtidos foram elevados na maioria das falhas, ou seja, o RDE conseguiu identificar a ocorrência de quase todas as falhas analisadas. Porém, em alguns itens de falha, o RDE apresentou uma taxa de falsos positivos, FPR, relativamente alta, mesmo nos casos onde o valor de TPR foi alto. Isso ocorreu já que apesar do RDE ter sido capaz de rapidamente determinar o inı́cio da falha, ele não foi tão rápido na detecção do seu fim, fazendo com que algumas amostras normais fossem consideradas como em falha. Esse fato pode ser observado na falha #6, que é mostrada na figura 4. Ocorreram ainda cinco falhas que o RDE não conseguiu identificar (falhas #3, #4, #8, #9 e #13), onde o ı́ndice TPR obtido foi nulo. Isso 5 Conclusões Neste artigo, apresentamos uma nova abordagem para detecção de falhas em processos industriais. Essa abordagem é baseada no método RDE, que foi recentemente proposto para a detecção de anomalias em um conjunto de dados. Comparado com outras técnicas utilizadas para a detecção de falhas, o RDE possui algumas vantagens como, por exemplo, não necessita da definição de parâmetros ou limiares, além do que não utiliza modelos ou distribuições de dados pré-definidas. O RDE foi aplicado com sucesso ao conjunto de dados disponibilizado pelo benchmark DAMADICS para detecção de falhas em processos industriais. Os resultados obtidos foram satisfatórios na detecção das falhas, onde foram obtidas altas taxas de acerto nas amostras em falha. Além disso, o tempo de execução do algoritmo foi baixo, mostrando que a abordagem é adequada para aplicações em tempo real. Porém, em algumas falhas, foram obtidas altas taxas de falsos positivos, principalmente de- vido ao fato de que o RDE não detectou o fim dessas falhas tão rapidamente quanto detectou o seu inı́cio. Também foi observado que o RDE possui pouca sensibilidade a pequenas alterações nas variáveis de entrada, o que o fez não detectar algumas falhas que possuı́am essa caracterı́stica. Assim, de uma forma geral, o RDE foi capaz de detectar as falhas presentes nos dados analisados. Porém, ainda é necessário um estudo mais aprofundado para que essa detecção seja capaz de lidar com algumas particularidades do ambiente industrial. Em nossos próximos trabalhos, iremos utilizar o RDE em conjunto com algoritmos baseados em classificação evolutiva, de forma a realizar, além da detecção, a classificação das falhas. Referências Angelov, P. (2012a). Autonomous Learning Systems: From Data to Knowledge in Real Time, John Willey and Sons. Angelov, P. (2012b). Autonomous Learning Systems: From Data to Knowledge in Real Time, John Willey and Sons. Anwar, S. and Chen, L. (2007). An analytical redundancy-based fault detection and isolation algorithm for a road-wheel control subsystem in a steer-by-wire system, IEEE Transactions on Vehicular Technology 56(5): 2859–2869. Bartys, M., Patton, R., Syfert, M., de las Heras, S. and Quevedo, J. (2006). Introduction to the damadics actuator fdi benchmark study, Control Engineering Practice 14(6): 577–596. Chen, W. and Saif, M. (2007). Observer-based strategies for actuator fault detection, isolation and estimation for certain class of uncertain nonlinear systems, IET Control Theory & Applications 1(6): 1672–1680. Costa, B., Angelov, P. and Guedes, L. A. (2014a). A new unsupervised approach to fault detection and identification, Neural Networks (IJCNN), 2014 International Joint Conference on, IEEE, pp. 1557–1564. Costa, B. S. J., Angelov, P. and Guedes, L. A. (2014b). Real-time fault detection using recursive density estimation, Journal of Control, Automation and Electrical Systems 25(4): 428–437. DAMADICS Information Website (2002). http://diag.mchtr.pw.edu.pl/damadics/. El-Shal, S. and Morris, A. (2000). A fuzzy expert system for fault detection in statistical process control of industrial processes, IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 30(2): 281 – 289. Grbovic, M., Vucetic, S., Li, W., Xu, P. and Usadi, A. K. (2011). A boosting method for process fault detection with detection delay reduction and label denoising, Proceedings of the First International Workshop on Data Mining for Service and Maintenance, KDD4Service ’11, ACM, New York, NY, USA, pp. 7–11. Isermann, R. (2006). Fault-Diagnosis Systems. An Introduction from Fault Detection to Fault Tolerance, 1 edn, Springer. Laurentys, C. A., Palhares, R. M. and Caminhas, W. M. (2010). Design of an artificial immune system based on danger model for fault detection., Expert Syst. Appl. 37(7): 5145–5152. Laurentys, C. A., Ronacher, G., Palhares, R. M. and Caminhas, W. M. (2010). Design of an artificial immune system for fault detection: A negative selection approach., Expert Syst. Appl. 37(7): 5507–5513. Leite, D. F., Hell, M. B., Jr., P. C. and Gomide, F. (2009). Real-time fault diagnosis of nonlinear systems, Nonlinear Analysis: Theory, Methods & Applications 71(12): e2665 – e2673. Li, X. J. ; Yang, G. H. (2012). Dynamic observerbased robust control and fault detection for linear systems, IET Control Theory & Applications 6(17): 2657–2666. Oblak, S., Skrjanc, I. and Blazic, S. (2007). Fault detection for nonlinear systems with uncertain parameters based on the interval fuzzy model, Engineering Applications of Artificial Intelligence 20(4): 503 – 510. Simani, S. and Patton, R. J. (2008). Fault diagnosis of an industrial gas turbine prototype using a system identification approach, Control Engineering Practice 16(7): 769 – 786. Vemuri, A. T., Polycarpou, M. M. and Diakourtis, S. A. (1998). Neural network based fault detection in robotic manipulators, IEEE T. Robotics and Automation 14(2): 342–348. Venkatasubramanian, V. (2003). Abnormal events management in complex process plants: Challenges and opportunities in intelligent supervisory control, Foundations of Computer-Aided Process Operations, pp. 117–132. Venkatasubramanian, V., Rengaswamy, R. and Kavuri, S. (2003). A review of process fault detection and diagnosis. part i: Quantitative model-based methods, Computers and chemical engineering 27(3): 293–311.