BR112018004602B1 - METHOD FOR GENERATING A DIFFUSE LOGIC KNOWLEDGE BASE FOR A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER, NON-TRAINER COMPUTER READABLE MEDIA AND PROGRAMMABLE DIFFUSE LOGIC CONTROLLER FOR CONTROLING A PROCESS - Google Patents

METHOD FOR GENERATING A DIFFUSE LOGIC KNOWLEDGE BASE FOR A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER, NON-TRAINER COMPUTER READABLE MEDIA AND PROGRAMMABLE DIFFUSE LOGIC CONTROLLER FOR CONTROLING A PROCESS Download PDF

Info

Publication number
BR112018004602B1
BR112018004602B1 BR112018004602-7A BR112018004602A BR112018004602B1 BR 112018004602 B1 BR112018004602 B1 BR 112018004602B1 BR 112018004602 A BR112018004602 A BR 112018004602A BR 112018004602 B1 BR112018004602 B1 BR 112018004602B1
Authority
BR
Brazil
Prior art keywords
fuzzy logic
variable
variables
output
value
Prior art date
Application number
BR112018004602-7A
Other languages
Portuguese (pt)
Other versions
BR112018004602A2 (en
Inventor
Igor Bittencourt Santiago
Ronaldo Antonio Da Silva
Danilo Lavigne Halla
Original Assignee
I.Systems Automação Industrial S.A
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/850,211 external-priority patent/US10838376B2/en
Application filed by I.Systems Automação Industrial S.A filed Critical I.Systems Automação Industrial S.A
Publication of BR112018004602A2 publication Critical patent/BR112018004602A2/en
Publication of BR112018004602B1 publication Critical patent/BR112018004602B1/en

Links

Abstract

MÉTODO PARA GERAR BASE DE CONHECIMENTO DE LÓGICA DIFUSA PARA UM CONTROLADOR DE LÓGICA DIFUSA PROGRAMÁVEL, MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO E CONTROLADOR DE LÓGICA DIFUSA PROGRAMÁVEL PARA CONTROLAR UM PROCESSO. A presente invenção refere-se a um método para gerar a base de conhecimento usado para um controlador de lógica difusa programável compreendendo as etapas de determinar as variáveis de entrada e saída relevantes a serem controladas; criar campos de potencial artificiais para cada uma das ditas variáveis; amostrar cada um dos ditos campos de potencial a fim de gerar funções de associação de lógica difusa; compilar as ditas funções de associação de lógica difusa em conjuntos de lógica difusa; e mapear entradas conjunto de lógica difusa para emitir conjuntos de lógica difusa através de uma base de regra. As variáveis de entrada e saída relevantes estão incluindo: valores mínimo, máximo e de equilíbrio; um peso de importância; um valor de não linearidade; uma direção de controle; e informação se a dita variável for uma variável de entrada ou de saída. Ainda fornecido é um controlador de lógica difusa programável cuja base de conhecimento de lógica difusa é obtida pelo método descrito.METHOD FOR GENERATING A DIFFUSE LOGIC KNOWLEDGE BASE FOR A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER, A NON-TRANSIENT COMPUTER READABLE MEDIUM AND A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER FOR CONTROLING A PROCESS. The present invention relates to a method for generating the knowledge base used for a programmable fuzzy logic controller comprising the steps of determining the relevant input and output variables to be controlled; create artificial potential fields for each of said variables; sampling each of said potential fields in order to generate fuzzy logic association functions; compiling said fuzzy logic association functions into fuzzy logic sets; and mapping fuzzy logic set inputs to output fuzzy logic sets through a rule base. Relevant input and output variables are including: minimum, maximum and equilibrium values; a weight of importance; a nonlinearity value; a control direction; and information whether said variable is an input or output variable. Further provided is a programmable fuzzy logic controller whose fuzzy logic knowledge base is obtained by the described method.

Description

Histórico da InvençãoHistory of the Invention Campo da Invenção.Field of Invention.

[0001] A presente invenção refere-se a um controlador de lógica di fusa programável, que usa uma abordagem de campo de potencial artificial para gerar automaticamente a base de conhecimento usada em um controlador de lógica difusa, pelo qual milhares de regras podem ser geradas a partir de múltiplas entradas e saídas e as funções de associação que descrevem essas entradas e saídas.[0001] The present invention relates to a programmable fuzzy logic controller, which uses an artificial potential field approach to automatically generate the knowledge base used in a fuzzy logic controller, by which thousands of rules can be generated from multiple inputs and outputs and the association functions that describe these inputs and outputs.

Descrição da Técnica relacionada.Description of the related Technique.

[0002] O método de campo de potencial artificial foi originalmente desenvolvido como um sistema alternativo de prevenção de colisões para manipuladores robotizados. O manipulador se movia em um campo abstrato de forças matematicamente determinadas, onde a posição a ser alcançada seria definida como um polo atraente, e os obstáculos a serem evitados seriam definidos como superfícies repulsivas.[0002] The artificial potential field method was originally developed as an alternative collision avoidance system for robotic manipulators. The manipulator moved in an abstract field of mathematically determined forces, where the position to be reached would be defined as an attractive pole, and the obstacles to be avoided would be defined as repulsive surfaces.

[0003] A lógica difusa é um sistema matemático que analisa os va lores de entrada analógico em termos de variáveis lógicas que consideram valores contínuos entre 0 e 1. Estas variáveis lógicas são geralmente mapeadas como conjuntos de funções de associação conhecidos como conjuntos de lógica difusa. A coleção de conjuntos de lógica difusa usada no sistema todo para interpretar entradas e saídas é conhecida como a base de conhecimento de lógica difusa.[0003] Fuzzy logic is a mathematical system that analyzes analog input values in terms of logical variables that consider continuous values between 0 and 1. These logical variables are generally mapped as sets of association functions known as fuzzy logic sets . The collection of fuzzy logic sets used throughout the system to interpret inputs and outputs is known as the fuzzy logic knowledge base.

[0004] A aplicação da teoria da lógica difusa para sistemas de con trole é conhecida como controle de lógica difusa. Embora o controle de lógica difusa seja uma das abordagens utilizadas para implementar controladores de processadores avançados (por exemplo, para uso no controle de processos químicos), é altamente dependente do conhecimento especializado para sua configuração, em vez de modelagem empírica ou teórica. Em particular, os especialistas são chamados a fornecer os conjuntos de lógica difusa adequados que constituirão a base da regra de lógica difusa.[0004] The application of fuzzy logic theory to control systems is known as fuzzy logic control. Although fuzzy logic control is one of the approaches used to implement advanced processor controllers (e.g., for use in chemical process control), it is highly dependent on expert knowledge for its configuration rather than empirical or theoretical modeling. In particular, experts are called upon to provide the appropriate fuzzy logic sets that will form the basis of the fuzzy logic rule.

[0005] Após um forte interesse inicial nos controladores de lógica difusa dos anos 80 e 90, caiu fora de moda após o ano de 2000 e, desde então, tem havido pouco interesse acadêmico ou comercial. O problema que causou esse declínio no interesse foi o obstáculo imposto pela necessidade de desenvolvimento manual da base da regra de lógica difusa por um especialista humano. Os recursos comerciais, bem como os interesses acadêmicos, foram transferidos para sistemas de aprendizado automático que não estavam sujeitos a esse requisito, como Redes Neurais, Redes Bayesianas e Máquinas de Vetor de Suporte. Os sistemas de aprendizagem automática precisam de um conhecimento menos específico do processo subjacente para a sua aplicação prática, o que os torna preferíveis aos sistemas de controle de lógica difusa.[0005] After strong initial interest in fuzzy logic controllers of the 1980s and 1990s, it fell out of fashion after the year 2000, and since then there has been little academic or commercial interest. The problem that caused this decline in interest was the obstacle posed by the need for manual development of the fuzzy logic rule base by a human expert. Commercial resources as well as academic interests were transferred to machine learning systems that were not subject to this requirement, such as Neural Networks, Bayesian Networks, and Support Vector Machines. Machine learning systems need less specific knowledge of the underlying process for their practical application, which makes them preferable to fuzzy logic control systems.

[0006] A tarefa de desenvolver funções de membros e regras de lógica difusa por especialistas em lógica difusa é um trabalho empírico e difícil de manter. Alterações nos intervalos de variáveis de entrada ou saída do processo controlado exigiriam mudanças na base de regras ou nas funções de associação, apenas um especialista em lógica difusa é capaz de executar. Esta necessidade limitou o uso de controladores difusos em aplicações industriais práticas por causa da escassez e do alto custo desses profissionais treinados.[0006] The task of developing member functions and fuzzy logic rules by fuzzy logic experts is empirical work and difficult to maintain. Changes in the ranges of input or output variables of the controlled process would require changes to the rule base or association functions, only a fuzzy logic specialist is capable of performing. This need has limited the use of fuzzy controllers in practical industrial applications because of the scarcity and high cost of these trained professionals.

[0007] Alguns controladores foram desenvolvidos que permitiram a adaptação das funções de associação preestabelecidas e da base da regra de lógica difusa. Embora esses controladores tenham reduzido a necessidade de especialistas em lógica difusa, eles exigiram especialistas em banco de dados e/ou aprendizagem on-line para sua operação. Esses novos especialistas foram necessários porque um controlador que é obtido através da análise de dados deve basear-se em informações representativas do processo que está sendo controlado. Se o banco de dados não for representativo, o controlador pode exibir comportamentos indesejados e até perigosos devido a correlações incorretas derivadas dos dados fornecidos.[0007] Some controllers were developed that allowed the adaptation of pre-established association functions and the base of the fuzzy logic rule. Although these controllers reduced the need for fuzzy logic experts, they required database and/or online learning experts for their operation. These new experts were necessary because a controller that is obtained through data analysis must be based on information representative of the process being controlled. If the database is not representative, the controller may exhibit unwanted and even dangerous behavior due to incorrect correlations derived from the provided data.

[0008] Em uma tentativa adicional de aumentar a adoção de contro ladores difusos e superar a necessidade de especialistas para configurar e ajustar esses sistemas, a Comissão Eletrotécnica Internacional (IEC) propôs a Regra 61131-7, que exigia a padronização da programação dos controladores de lógica difusa no ano de 2000, Este padrão IEC61131-7 foi adotado por alguns fabricantes de Controladores Lógicos Programáveis (PLC) e Distributed Control Systems (DCS), na esperança de criar uma plataforma intercambiável de controladores de lógica difusa, mas não conseguiu resolver a necessidade de manutenção, um problema de especialista, que continuou causando um declínio na adoção de controladores de lógica difusa na indústria.[0008] In a further attempt to increase the adoption of fuzzy controllers and overcome the need for experts to configure and tune these systems, the International Electrotechnical Commission (IEC) proposed Rule 61131-7, which required the standardization of controller programming of fuzzy logic in the year 2000, This IEC61131-7 standard was adopted by some manufacturers of Programmable Logic Controllers (PLC) and Distributed Control Systems (DCS), hoping to create an interchangeable platform of fuzzy logic controllers, but failed to solve the need for maintenance, a specialist problem, which continued to cause a decline in the adoption of fuzzy logic controllers in the industry.

[0009] EP 0355716 define um método de geração de regras para a inferência difusa com os principais benefícios na automação da resolução de regras e ajuste automático das funções de associação de banco de dados. A automação da geração de regras difusas representa um avanço importante na disseminação de controladores difusos, um desafio ao qual o EP 0355 716 contribuiu modelando um número fixo de funções de pertinência para um banco de dados preestabelecido. Um grande número de variáveis linguísticas contribui com uma melhor resolução do controlador difuso, um valor pequeno e fixo na referida patente. A invenção proposta neste documento, Learning Fuzzy Control elimina a necessidade de bancos de dados anteriores e determina automaticamente o número de variáveis linguísticas e de funções de associação com o objetivo de otimizar a resolução do controlador difuso gerado automaticamente.[0009] EP 0355716 defines a rule generation method for fuzzy inference with the main benefits in automating rule resolution and automatically tuning database association functions. The automation of fuzzy rule generation represents an important advance in the dissemination of fuzzy controllers, a challenge to which EP 0355 716 contributed by modeling a fixed number of membership functions for a pre-established database. A large number of linguistic variables contribute to better resolution of the fuzzy controller, a small and fixed value in the aforementioned patent. The invention proposed in this document, Learning Fuzzy Control eliminates the need for previous databases and automatically determines the number of linguistic variables and association functions with the aim of optimizing the resolution of the automatically generated fuzzy controller.

[0010] O documento EP 2169484 propõe um sistema de lógica di fusa, especializado na produção de cimento, que fornece indicadores robustos do perfil de temperatura do equipamento do forno rotativo de cimento. O principal benefício era tratar a informação de forma robusta, determinar qual informação era contraditório em uma primeira análise e fornecer informações confiáveis para um controlador de controle predi- tivo modelo (MPC). A patente proposta agora, além de gerar automaticamente o sistema difuso, elimina a necessidade de usar um controlador MPC. O Learning Fuzzy Control passa da análise dos indicadores para a escrita direta no elemento de controle final.[0010] Document EP 2169484 proposes a fuzzy logic system, specialized in cement production, which provides robust indicators of the temperature profile of cement rotary kiln equipment. The main benefit was to treat the information robustly, determine which information was contradictory in a first analysis and provide reliable information to a model predictive control (MPC) controller. The proposed patent now, in addition to automatically generating the fuzzy system, eliminates the need to use an MPC controller. Learning Fuzzy Control moves from analyzing indicators to writing directly to the final control element.

[0011] A técnica atual cai em fornecer um método prático para ge ração automática de um controlador com base de conhecimento de lógica difusa.[0011] The current technique falls into providing a practical method for automatically generating a fuzzy logic knowledge base controller.

Sumário da InvençãoSummary of the Invention

[0012] O controlador de acordo com a presente invenção é capaz de interagir diretamente com o processo a ser controlado através de conversores A/D e D/A, e o usuário não precisa ter qualquer conhecimento de lógica difusa para gerar controladores difusos com múltiplas entradas e múltiplas saídas (MIMO). Para desenvolver a base de conhecimento do controlador difuso, é necessário fornecer o controlador programável (PC) com entradas analógicas que contenham, para cada variável a ser controlada: o mínimo (domínio real), máximo (domínio real), ponto de equilíbrio (domínio real), peso de importância (de 0% a 100%), não linearidade (domínio real), direção de controle (-1 ou 1 para controle inverso e de ação direta, respectivamente) e se a variável é uma entrada ou uma saída (-1 ou 1).[0012] The controller according to the present invention is capable of interacting directly with the process to be controlled through A/D and D/A converters, and the user does not need to have any knowledge of fuzzy logic to generate fuzzy controllers with multiple inputs and multiple outputs (MIMO). To develop the knowledge base of the fuzzy controller, it is necessary to provide the programmable controller (PC) with analog inputs that contain, for each variable to be controlled: the minimum (real domain), maximum (real domain), equilibrium point (real domain). real), importance weight (from 0% to 100%), nonlinearity (real domain), control direction (-1 or 1 for inverse and direct action control, respectively) and whether the variable is an input or an output (-1 or 1).

[0013] Em uma forma simplificada, o Learning Fuzzy Control é realizado em três fases:[0013] In a simplified form, Learning Fuzzy Control is carried out in three phases:

[0014] (i) Criação dos campos de potencial para cada variável (leitura ou escrita) do PC: o ponto de equilíbrio mínimo, máximo e não linearidade são parâmetros de uma função linear e derivável que gera um campo de potencial linear (F[x]) para cada variável. O campo de potencial deveria sempre ter seu valor mínimo F[x] = 0 for x = ponto de equilíbrio.[0014] (i) Creation of potential fields for each variable (reading or writing) of the PC: the minimum, maximum and non-linearity equilibrium points are parameters of a linear and differentiable function that generates a linear potential field (F[ x]) for each variable. The potential field should always have its minimum value F[x] = 0 for x = equilibrium point.

[0015] (ii) Amostragem dos campos de potencial e geração das fun ções de associação: cada campo de potencial é amostrado com pequenas etapas (x + Δx) com relação a F[x]. Para cada amostragem xj uma função de pertinência é gerada, a área da qual é proporcional a F[x], ou seja, quanto maior F[x], maior a área da função de associação. Portanto, quanto mais próximo xj estiver ao valor do ponto de equilíbrio, menor será o valor de F[x], e consequentemente a área das funções de associação também será menor. Muitas funções de associação com áreas reduzidas que geram uma área de atração ao redor do valor do ponto de equilíbrio, replicando o comportamento do campo de potencial no conjunto de variáveis linguísticas do sistema de lógica difusa.[0015] (ii) Sampling of potential fields and generation of association functions: each potential field is sampled with small steps (x + Δx) with respect to F[x]. For each sampling xj a membership function is generated, the area of which is proportional to F[x], that is, the larger F[x], the larger the area of the association function. Therefore, the closer xj is to the equilibrium point value, the smaller the value of F[x] will be, and consequently the area of the association functions will also be smaller. Many association functions with reduced areas that generate an area of attraction around the equilibrium point value, replicating the behavior of the potential field in the set of linguistic variables of the fuzzy logic system.

[0016] (iii) Criação do controlador com base de conhecimento de lógica difusa: após o final da fase prévia, há um conjunto de funções de associação para cada PC variável; nesta fase as variáveis são separadas em grupos de entrada e saída, e o mapeamento de entrada/saída é realizado de acordo com a informação do sinal de controle. Se a direção de controle for 1 (direta), as primeiras funções de associação da variável de entrada são conectadas às primeiras funções de associação da variável de saída; se a direção de controle for -1 (reversa), as primeiras funções de associação da variável de entrada são conectadas às últimas funções de associação da variável de saída.[0016] (iii) Creation of the controller with fuzzy logic knowledge base: after the end of the preliminary phase, there is a set of association functions for each variable PC; In this phase, the variables are separated into input and output groups, and the input/output mapping is carried out according to the control signal information. If the control direction is 1 (direct), the first association functions of the input variable are connected to the first association functions of the output variable; if the control direction is -1 (reverse), the first association functions of the input variable are connected to the last association functions of the output variable.

[0017] Após a fase (iii), o Learning Fuzzy Control gerou um sistema de controle de lógica difusa completo que pode ser realizado por um controlador aderente ao padrão internacional IEC 61131-7.[0017] After phase (iii), Learning Fuzzy Control generated a complete fuzzy logic control system that can be realized by a controller adhering to the international standard IEC 61131-7.

Breve Descrição dos DesenhosBrief Description of the Drawings

[0018] A presente invenção tem outras vantagens e características que serão mais prontamente evidentes a partir da descrição detalhada da invenção e as reivindicações anexas, quando em conjunto com os desenhos anexos, nos quais:[0018] The present invention has other advantages and characteristics that will be more readily evident from the detailed description of the invention and the attached claims, when taken together with the attached drawings, in which:

[0019] Figura 1 é uma ilustração de um componente de expressão das variáveis em parâmetros através de entradas analógicas;[0019] Figure 1 is an illustration of a component for expressing variables in parameters through analog inputs;

[0020] Figura 2 é uma ilustração de um componente que forma o sinal de base do campo de potencial para amostrar as variáveis;[0020] Figure 2 is an illustration of a component that forms the base signal of the potential field for sampling variables;

[0021] Figura 3 é uma ilustração de um exemplo de diferentes funções que seguem as restrições do Ponto de equilíbrio mínimo e máximo;[0021] Figure 3 is an illustration of an example of different functions that follow the restrictions of the minimum and maximum equilibrium point;

[0022] Figura 4 é uma ilustração de um sumário da amostragem de Fvn para gerar a função de associação;[0022] Figure 4 is an illustration of a summary of Fvn sampling to generate the association function;

[0023] Figura 4A é uma ilustração de interações para amostragem do lado esquerdo e do lado direito de F(x);[0023] Figure 4A is an illustration of interactions for sampling the left and right sides of F(x);

[0024] Figura 4B é uma ilustração do conjunto de lógica difusa usando o valor de não linearidade < 0;[0024] Figure 4B is an illustration of the fuzzy logic set using the nonlinearity value < 0;

[0025] Figura 4C é uma ilustração do conjunto de lógica difusa usando valor de não linearidade = 0;[0025] Figure 4C is an illustration of the fuzzy logic set using nonlinearity value = 0;

[0026] Figura 4D é uma ilustração do conjunto de lógica difusa usando valor de não linearidade > 0;[0026] Figure 4D is an illustration of the fuzzy logic set using nonlinearity value > 0;

[0027] Figura 5 é uma ilustração de formação das regras de lógica difusa, direta e reversa exemplares;[0027] Figure 5 is an illustration of the formation of exemplary fuzzy, forward and reverse logic rules;

[0028] Figura 6 é uma ilustração de uma máquina para geração au tomática do controlador de base de conhecimento de lógica difusa.[0028] Figure 6 is an illustration of a machine for automatic generation of the fuzzy logic knowledge base controller.

[0029] Figura 7 é a curva gerada para pressão da Caldeira com pa râmetro Não Linear igual a 0,000065 para a modalidade específica descrita.[0029] Figure 7 is the curve generated for Boiler pressure with a Non-Linear parameter equal to 0.000065 for the specific modality described.

[0030] Figura 8 é a curva gerada para fluxo de Vapor com parâmetro Não Linear igual a 0,001152 para a modalidade específica descrita.[0030] Figure 8 is the curve generated for Steam flow with a Non-Linear parameter equal to 0.001152 for the specific modality described.

[0031] Figura 9 é a curva gerada para o fluxo de Energia com parâ metro Não Linear igual a 0,033975 para a modalidade específica descrita.[0031] Figure 9 is the curve generated for the Energy flow with a Non-Linear parameter equal to 0.033975 for the specific modality described.

[0032] Figura 10 é o conjunto de lógica difusa da pressão da cal deira para a modalidade específica descrita.[0032] Figure 10 is the boiler pressure fuzzy logic set for the specific embodiment described.

[0033] Figura 11 é o conjunto de lógica difusa do fluxo de vapor para a modalidade específica descrita.[0033] Figure 11 is the vapor flow fuzzy logic set for the specific embodiment described.

[0034] Figura 12 é o conjunto de lógica difusa do fluxo de energia para a modalidade específica descrita.[0034] Figure 12 is the set of energy flow fuzzy logic for the specific embodiment described.

[0035] Figura 13 é o mapeamento das regras de lógica difusa entre a pressão da caldeira e o fluxo de energia (direção reversa) para a modalidade específica descrita.[0035] Figure 13 is the mapping of the fuzzy logic rules between boiler pressure and energy flow (reverse direction) for the specific embodiment described.

[0036] Figura 14 é o mapeamento das regras de lógica difusa entre a vazão do vapor e o fluxo de energia (direção direta) para a modalidade específica descrita.[0036] Figure 14 is the mapping of the fuzzy logic rules between the steam flow rate and the energy flow (direct direction) for the specific modality described.

[0037] Figuras 15-20 são fluxogramas de operação de acordo com a presente invenção para produzir uma base de conhecimento de lógica difusa.[0037] Figures 15-20 are flowcharts of operation in accordance with the present invention for producing a fuzzy logic knowledge base.

[0038] Figuras 21-23 são fluxogramas de operação de um controla dor de lógica difusa usando uma base de conhecimento de lógica difusa desenvolvida de acordo com as Figuras 15-20,[0038] Figures 21-23 are operation flowcharts of a fuzzy logic controller using a fuzzy logic knowledge base developed in accordance with Figures 15-20,

[0039] Figura 24 é um diagrama em blocos de um computador para realizar os fluxogramas das Figuras 15-20,[0039] Figure 24 is a block diagram of a computer for performing the flowcharts of Figures 15-20,

[0040] Figura 25 é um diagrama em blocos de um controlador de lógica difusa integrado para realizar os fluxogramas das Figuras 21-23.[0040] Figure 25 is a block diagram of an integrated fuzzy logic controller to realize the flowcharts of Figures 21-23.

Descrição DetalhadaDetailed Description

[0041] Os campos de potencial artificial foram utilizados inicial mente como algoritmos para locomoção robô. A primeira menção desta abordagem foi utilizada por Oussama Khatib em 1986. O objetivo inicial dessa abordagem era gerar comportamentos em robôs para torná-los capazes de realizar navegação autônoma, evitando obstáculos (repulsivos) e fazendo com que eles fossem atraídos por pré-metas estabelecidas.[0041] Artificial potential fields were initially used as algorithms for robot locomotion. The first mention of this approach was used by Oussama Khatib in 1986. The initial objective of this approach was to generate behaviors in robots to make them capable of autonomous navigation, avoiding (repulsive) obstacles and causing them to be attracted to pre-established goals. .

[0042] A superfície de atração/repulsão pode ser bastante flexível, a partir de um cone (em um atrator tridimensional) até formas complexas com singularidades. Gerar superfícies de atração para tamanhos maiores também não é problema. Só é necessário aumentar o número de variáveis de entrada.[0042] The attraction/repulsion surface can be quite flexible, from a cone (in a three-dimensional attractor) to complex shapes with singularities. Generating attraction surfaces for larger sizes is also no problem. It is only necessary to increase the number of input variables.

[0043] Atualmente, os campos de potencial artificial são usados em jogos de computador para governar os movimentos de inteligência artificial dos adversários. Os últimos são atraídos pelos jogadores humanos e repelidos por perigos, como fogo ou pelo campo de tiro dos jogadores humanos, por exemplo.[0043] Currently, artificial potential fields are used in computer games to govern the artificial intelligence movements of opponents. The latter are attracted to human players and repelled by dangers, such as fire or the human players' shooting range, for example.

[0044] A abordagem de campo de potencial artificial deriva de uma premissa simples: evitando lugares que apresentam danos (repulsão) e lugares próximos que apresentam benefícios (atração).[0044] The artificial potential field approach derives from a simple premise: avoiding places that present harm (repulsion) and nearby places that present benefits (attraction).

[0045] Um controlador industrial deve manter a variável de controle tão próxima do ponto de ajuste quanto possível, reduzindo assim a va-riabilidade o máximo possível.[0045] An industrial controller must keep the control variable as close to the set point as possible, thus reducing variability as much as possible.

[0046] Controladores industriais seguros e robustos alteram os va lores atuadores gradualmente e sem solavancos. A matemática presente para gerar os campos de potencial garante que não haverá saltos (se não houver singularidade na equação), e é garantido que haverá apenas um ponto de atração (o ponto de ajuste no caso da variável de controle).[0046] Safe and robust industrial controllers change actuator values gradually and without jerks. The mathematics present to generate the potential fields guarantees that there will be no jumps (if there is no singularity in the equation), and it is guaranteed that there will be only one point of attraction (the set point in the case of the control variable).

[0047] A decisão do ponto de atração para os valores dos atuadores e para as variáveis de perturbação não é tão óbvia. Não há valor real para essas variáveis. No entanto, os operadores de equipamentos e os engenheiros de processo são capazes de estimar valores que, por experiência, são mantidos quando o processo permanece estável. Estes valores obtidos através da experiência são definidos como atrativos tanto para as variáveis manipuladas como para as variáveis de perturbação.[0047] The decision of the attraction point for the actuator values and the disturbance variables is not so obvious. There is no real value for these variables. However, equipment operators and process engineers are able to estimate values that, from experience, are maintained when the process remains stable. These values obtained through experiment are defined as attractive for both the manipulated variables and the disturbance variables.

[0048] O principal desafio foi decidir qual abordagem de controle avançado seria a base ideal para a aplicação da inspiração descrita acima.[0048] The main challenge was deciding which advanced control approach would be the ideal basis for applying the inspiration described above.

[0049] A estratégia de controle tradicional Proporcional Integral e Derivada (PID) pode ser vista como uma simplificação da inspiração dos campos de potencial. O ponto de ajuste é o atrator e os fatores Kp, Kd, Ki fazem o mapeamento entre a diferença entre o ponto de ajuste e a variável controlada (erro do controlador).[0049] The traditional Proportional Integral and Derivative (PID) control strategy can be seen as a simplification of the inspiration of potential fields. The set point is the attractor and the factors Kp, Kd, Ki map between the difference between the set point and the controlled variable (controller error).

[0050] A simplificação do PID implica limitações à modelagem do controlador, como por exemplo:[0050] PID simplification implies limitations to controller modeling, such as:

[0051] Simetria: erros positivos em relação ao ponto de ajuste têm uma ação da variável manipulada com o mesmo módulo que erros negativos;[0051] Symmetry: positive errors in relation to the set point have an action of the manipulated variable with the same module as negative errors;

[0052] Linearidade: a relação entre o erro do controlador e a variá vel manipulada será a mesma, independentemente do ponto de ajuste ou característica operacional do equipamento, uma vez que toda a relação depende das constantes Kp, Kd, Ki sozinho;[0052] Linearity: the relationship between the controller error and the manipulated variable will be the same, regardless of the set point or operational characteristic of the equipment, since the entire relationship depends on the constants Kp, Kd, Ki alone;

[0053] Sendo baseado em acumuladores: os erros do controlador são ponderados pelas constantes Kp, Kd, Ki e somados para determinar o valor da variável manipulada, esta característica impede as ações "instantâneas" do controlador automático. Outra deficiência são sistemas com longos tempos entre a ação da variável manipulada e o impacto no valor da variável controlada (tempo morto); eles são muito difíceis de sintonizar (encontrar bons valores para Kp, Kd, Ki);[0053] Being based on accumulators: controller errors are weighted by the constants Kp, Kd, Ki and added to determine the value of the manipulated variable, this feature prevents "instantaneous" actions of the automatic controller. Another deficiency are systems with long times between the action of the manipulated variable and the impact on the value of the controlled variable (dead time); they are very difficult to tune (find good values for Kp, Kd, Ki);

[0054] Uma variável de entrada e uma variável de saída: o PID pa drão avalia apenas a variável de controle para sua decisão da variável manipulada. Existem modificações conhecidas para ler duas ou mais variáveis (PID de avanço), mas após três variáveis de entrada é muito difícil sintonizar um PID. Por exemplo, alguns processos precisam monitorar mais de dez variáveis (uma variável de controle e nove variáveis de perturbação).[0054] One input variable and one output variable: the standard PID evaluates only the control variable for its decision on the manipulated variable. There are known modifications to read two or more variables (forward PID), but after three input variables it is very difficult to tune a PID. For example, some processes need to monitor more than ten variables (one control variable and nine disturbance variables).

[0055] A abordagem de controle PID tem limitações críticas que a tornam inviável como uma plataforma de controle base para a aplicação da inspiração dos campos potenciais artificiais. Outras abordagens mul- tivariáveis para o controle de processos industriais são: controle por modelo de processo e controle através de sistemas especializados.[0055] The PID control approach has critical limitations that make it unfeasible as a base control platform for applying the inspiration of artificial potential fields. Other multivariable approaches to industrial process control are: control by process model and control through specialized systems.

[0056] Os controladores baseados em modelos começam a partir da premissa de que é possível desenvolver um modelo (linear ou não linear) do processo a partir de um banco de dados que represente todos os estados do processo ou elaborando equações diferenciais que regem o processo. Desta forma, a operação será definida pelas inferências do controlador no processo modelado. As principais tecnologias utilizadas no controle através da modelagem de processos são redes neurais e Controle Preditivo de Modelos (MPC). As redes neurais utilizam um modelo não linear de caixa preta do processo, sem qualquer relação com a física real. Portanto, eles estão submetidos à falta de robustez e baixa capacidade de extrapolação. Os MPCs usam modelos dinâmicos lineares com múltiplas entradas e múltiplas saídas. Como os processos industriais têm forte não linearidade, os MPCs não conseguem capturar toda a dinâmica da planta. Além disso, todos os controles baseados em modelos precisam ser reajustados quando há mudanças no processo, o que aumenta o esforço e os custos de manutenção do sistema.[0056] Model-based controllers begin from the premise that it is possible to develop a model (linear or non-linear) of the process from a database that represents all states of the process or by elaborating differential equations that govern the process . In this way, the operation will be defined by the controller's inferences in the modeled process. The main technologies used in control through process modeling are neural networks and Model Predictive Control (MPC). Neural networks use a non-linear black box model of the process, unrelated to real physics. Therefore, they are subject to a lack of robustness and low extrapolation capacity. MPCs use linear dynamic models with multiple inputs and multiple outputs. As industrial processes have strong nonlinearity, MPCs cannot capture the entire plant dynamics. Additionally, all model-based controls need to be readjusted when there are process changes, which increases system maintenance effort and costs.

[0057] Os sistemas especializados têm como objetivo minimizar as ações de controle desejadas pelas equipes de operação e processo. Portanto, o que é modelado é o comportamento ideal do controlador, em vez do próprio processo. Normalmente, os sistemas de controle automático que utilizam a abordagem através de sistemas especializados são desenvolvidos manualmente, ou seja, a base de regras que rege o comportamento do controlador é definida manualmente por um especialista.[0057] Expert systems aim to minimize the control actions desired by operation and process teams. Therefore, what is modeled is the ideal behavior of the controller, rather than the process itself. Typically, automatic control systems that use the expert systems approach are developed manually, that is, the rule base that governs the controller's behavior is defined manually by an expert.

[0058] A emulação de uma estratégia de controle baseada no com portamento começa a partir da premissa de que esta estratégia não é implementada no presente, seja por limitação na execução das ações de controle na velocidade de um algoritmo ou pela análise e interpretação de um grande número dos sensores disponíveis. Uma vez que não há banco de dados, não existe nenhuma forma de realizar a aprendizagem a partir de dados.[0058] The emulation of a behavior-based control strategy begins from the premise that this strategy is not implemented at present, either due to limitation in the execution of control actions at the speed of an algorithm or due to the analysis and interpretation of a large number of sensors available. Since there is no database, there is no way to perform learning from data.

[0059] Os sistemas especializados devem ser capazes de emular o comportamento do especialista humano. A abordagem através de campos potenciais artificiais apresenta uma simplificação útil, reduzindo o alcance de todos os comportamentos possíveis do especialista para apenas os comportamentos que visam reduzir o erro geral em relação aos atratores.[0059] Expert systems must be able to emulate the behavior of the human expert. The approach through artificial potential fields presents a useful simplification, reducing the range of all possible expert behaviors to only those behaviors that aim to reduce the overall error with respect to the attractors.

[0060] Ao transformar todas as variáveis em campos potenciais, se jam elas entradas ou saídas, o controlador Fuzzy simplificou o problema de trabalhar a base da regra até o ponto em que é possível gerar auto-maticamente a base de conhecimento Fuzzy. As únicas informações necessárias a priori são: os limites superior e inferior (MinVn e MaxVn), o ponto de equilíbrio de todas as variáveis (MedVn) e a avaliação de como a variável não linear é (NonLinear). Com apenas esses quatro tipos de informação, é possível gerar um atrativo de tamanho para o ponto de equilíbrio escolhido. Deve-se informar se a variável configurada é uma variável de leitura ou escrita (IN/OUT). O peso da variável na avaliação do valor da variável saída/escrita (peso) é outro fator de configuração para as variáveis de entrada (se a variável configurada for para escrita/saída, a informação de peso será desconsiderada). É preciso inserir a informação se a variável de entrada tiver uma relação direta ou reversa (Dir/Rev) com a variável de saída (se a variável for uma saída, essa informação não será considerada). VN é um barra- mento que possui a informação MinVn, MaxVn, MedVn, NonLinear, IN/OUT, Analog In, Dir/Rev para cada variável de leitura ou escrita do sistema.[0060] By transforming all variables into potential fields, whether inputs or outputs, the Fuzzy controller simplified the problem of working the rule base to the point where it is possible to automatically generate the Fuzzy knowledge base. The only information required a priori is: the upper and lower limits (MinVn and MaxVn), the equilibrium point of all variables (MedVn) and the assessment of how non-linear the variable is (NonLinear). With just these four types of information, it is possible to generate an attractive size for the chosen breakeven point. You must inform whether the configured variable is a reading or writing variable (IN/OUT). The weight of the variable in evaluating the value of the output/writing variable (weight) is another configuration factor for the input variables (if the configured variable is for writing/output, the weight information will be disregarded). Information must be entered if the input variable has a direct or reverse relationship (Dir/Rev) with the output variable (if the variable is an output, this information will not be considered). VN is a bus that has the information MinVn, MaxVn, MedVn, NonLinear, IN/OUT, Analog In, Dir/Rev for each reading or writing variable in the system.

[0061] O pedido da abordagem de campo de potencial ao gerar Re gras de lógica difusa permite que sistemas do controlador avançado de variáveis múltiplas sejam desenvolvidos em uma questão de minutos ou horas, em vez de meses ou anos.[0061] The application of the potential field approach when generating fuzzy logic rules allows advanced multi-variable controller systems to be developed in a matter of minutes or hours, rather than months or years.

[0062] Na Figura 1, é descrito o componente de Variáveis de En trada 100 responsável por capturar os parâmetros de configuração de cada variável e transferir, através a barra, ao próximo componente. A função respectiva é simplesmente converter as entradas analógicas, torná-las disponíveis na barra e comunicá-las ao próximo componente, Sinal Anterior. Os parâmetros serão usados para definir as funções Fvn para cada variável linguística Vn.[0062] In Figure 1, the Input Variables component 100 is described, responsible for capturing the configuration parameters of each variable and transferring, through the bar, to the next component. The respective function is simply to convert the analog inputs, make them available on the bar and communicate them to the next component, Previous Signal. The parameters will be used to define the Fvn functions for each linguistic variable Vn.

[0063] Na Figura 2, é descrito o componente responsável por gerar os campos de potencial definidos pela função Fvn. Esta função deveria ser contínua, com apenas um valor mínimo entre os intervalos do valor mais baixo configurado da variável e seu respectivo valor mais alto. O valor mínimo da função F deveria ser exatamente o valor do ponto de equilíbrio da variável linguística selecionada.[0063] In Figure 2, the component responsible for generating the potential fields defined by the Fvn function is described. This function should be continuous, with only a minimum value between the intervals of the variable's lowest configured value and its respective highest value. The minimum value of the F function should be exactly the equilibrium point value of the selected linguistic variable.

[0064] Abaixo está um exemplo para melhor demonstração da fun ção do componente:[0064] Below is an example to better demonstrate the component's function:

[0065] O componente Sinal Anterior 200 compõe a função de onda para cada variável linguística de acordo com os parâmetros: ponto de equilíbrio mínimo, máximo e grau de não linearidade. Esta função de onda é enviada ao próximo componente para realizar a amostragem (também conhecida como quantização) com uma visão para gerar as funções pertinentes da lógica difusa para todas as variáveis linguísticas do controlador do processo de lógica difusa. É importante observar algumas características: assimétrica entre o lado esquerdo do universo da fala da Figura 3 (entre mínimo e ponto de equilíbrio) e o lado direito (entre ponto de equilíbrio e máximo). Outro fator importante é o grau de não linearidade que pode ser imposto em Fvn(x) através de diferentes derivados entre o lado esquerdo e o lado direito da função Fvn(x).[0065] The Previous Signal component 200 composes the wave function for each linguistic variable according to the parameters: minimum, maximum equilibrium point and degree of non-linearity. This wave function is sent to the next component to perform sampling (also known as quantization) with a view to generating the pertinent fuzzy logic functions for all linguistic variables of the fuzzy logic process controller. It is important to observe some characteristics: asymmetric between the left side of the speech universe in Figure 3 (between minimum and equilibrium point) and the right side (between equilibrium point and maximum). Another important factor is the degree of nonlinearity that can be imposed on Fvn(x) through different derivatives between the left and right sides of the Fvn(x) function.

[0066] O componente Amostrador de Sinal 400 representa o link en tre a abordagem do campo de potencial artificial e as lógicas difusas. No exemplo proposto, apresenta-se as funções de associação que são formadas como funções triangulares com valor de altura máximo igual a 1. Outras funções de associação, como, Gaussiana (em forma de sino) podem ser usadas. Todas as funções de associação amostradas da função Fvn compilam um conjunto de lógica difusa, conforme descrito na Figura 4.[0066] The Signal Sampler component 400 represents the link between the artificial potential field approach and fuzzy logics. In the proposed example, association functions are presented that are formed as triangular functions with a maximum height value equal to 1. Other association functions, such as Gaussian (bell-shaped) can be used. All membership functions sampled from the Fvn function compile a set of fuzzy logic, as described in Figure 4.

[0067] Apresenta-se um exemplo da amostragem na Figura 4A. São realizados dois esforços de amostragem: um para o lado esquerdo e o outro para o lado direito. Isso é necessário porque MedVn pode estar mais perto de MinVn ou MaxVn. É importante iniciar e finalizar cada uma das variáveis linguísticas com funções de associação com um alto valor. Portanto, nos valores MinVn e MaxVn haverá funções de associação com valor de 1.0 (no caso representado pelo primeiro e pelo último triângulo direito). O tamanho da base desses triângulos será proporcional ao Fvn (xi), em que a base do primeiro triângulo direito será proporcional à primeira amostragem no Fvn esquerdo (Min Vn + xi) e à base do último triângulo direito será proporcional à última amostragem no Fvn direito (Med Vn + vi).[0067] An example of sampling is shown in Figure 4A. Two sampling efforts are carried out: one for the left side and the other for the right side. This is necessary because MedVn may be closer to MinVn or MaxVn. It is important to start and end each of the linguistic variables with association functions with a high value. Therefore, in the MinVn and MaxVn values there will be association functions with a value of 1.0 (in the case represented by the first and last right triangles). The size of the base of these triangles will be proportional to the Fvn (xi), where the base of the first right triangle will be proportional to the first sampling in the left Fvn (Min Vn + xi) and the base of the last right triangle will be proportional to the last sampling in the Fvn right (Med Vn + vi).

[0068] As interações na Figura 4A visam ilustrar o processo de pre encher as outras funções de associação para preencher todo o intervalo do conjunto difuso. Ao usar o máximo da função de associação, o valor 1.0 (padrão na normalização dos antecedentes difusos) e triângulos isósceles, a área de cada função de associação será igual a Fvn (xi)/2. Essa simplificação visa aumentar a velocidade de obtenção das funções de associação.[0068] The interactions in Figure 4A are intended to illustrate the process of filling the other association functions to fill the entire range of the fuzzy set. When using the maximum of the membership function, the value 1.0 (default when normalizing fuzzy priors), and isosceles triangles, the area of each membership function will be equal to Fvn(xi)/2. This simplification aims to increase the speed of obtaining association functions.

[0069] As Figuras 4B-4D descritas abaixo mostram as diferenças entre as funções de associação para os parâmetros de configuração do exemplo proposto, usando diferentes valores para não linearidade de Fvn. A Figura 4B mostra o formato das funções de associação para não linearidade de Fvn menor do que 0. É possível notar que a área dos triângulos é rapidamente reduzida à medida que aproxima o valor MedVn. Em torno do valor MedVn há uma grande quantidade de funções de associação, gerando grande granularidade e alta resolução em torno desta região. A assimetria entre o lado esquerdo e o lado direito faz com que a área das funções de associação seja reduzida mais rapidamente no lado direito do que no lado esquerdo.[0069] Figures 4B-4D described below show the differences between the association functions for the configuration parameters of the proposed example, using different values for Fvn nonlinearity. Figure 4B shows the format of the association functions for nonlinearity of Fvn less than 0. It is possible to notice that the area of the triangles is quickly reduced as the MedVn value is approached. Around the MedVn value there are a large number of association functions, generating great granularity and high resolution around this region. The asymmetry between the left and right side causes the area of association functions to be reduced more quickly on the right side than on the left side.

[0070] É possível gerar uma distribuição linear das funções de as sociação dividindo apenas o universo de fala (intervalo do conjunto de lógica difusa) pelo número desejado das funções de associação. A máquina proposta nesta inovação decide automaticamente o número de funções de associação em relação ao universo da fala, conforme mostrado na Figura 4C. O número de funções de associação segue o mesmo modelo para não linear <0 e não linearidade> 0. O último visa manter um equilíbrio entre a granularidade necessária para alta resolução no mapeamento do universo da fala e o tempo para a resolução dessa variável linguística. O número de funções de associação pode ser diferente para cada variável linguística e o número de funções de associação no lado esquerdo do universo da fala (abaixo do valor do ponto de equilíbrio dessa variável linguística) pode ser diferente do número do lado direito.[0070] It is possible to generate a linear distribution of association functions by dividing only the speech universe (fuzzy logic set range) by the desired number of association functions. The machine proposed in this innovation automatically decides the number of association functions in relation to the universe of speech, as shown in Figure 4C. The number of association functions follows the same model for nonlinearity <0 and nonlinearity>0. The latter aims to maintain a balance between the granularity required for high resolution in mapping the universe of speech and the time to resolve this linguistic variable. The number of association functions may be different for each linguistic variable, and the number of association functions on the left side of the speech universe (below the break-even value of that linguistic variable) may be different from the number on the right side.

[0071] Com o aumento do valor de não linearidade, a granularidade aumenta em valores longe do MedVn. Este efeito pode ser verificado na Figura 4D. Granularidade mais dispersa significa uma distribuição de importância de todos os valores do universo da fala (em detrimento de uma alta concentração em torno do valor MedVn, como mostrado na Figura 4B).[0071] As the nonlinearity value increases, the granularity increases at values far from the MedVn. This effect can be seen in Figure 4D. More dispersed granularity means a distribution of importance of all values in the speech universe (to the detriment of a high concentration around the MedVn value, as shown in Figure 4B).

[0072] Após a distribuição automática das funções de associação em conjuntos de lógica difusa, com a granularidade desejada, observando o universo da fala de todas as variáveis, é o momento de formar as regras de base do conhecimento de lógica difusa acoplado às entradas do controlador em suas saídas.[0072] After the automatic distribution of the association functions into fuzzy logic sets, with the desired granularity, observing the universe of speech of all variables, it is time to form the base rules of fuzzy logic knowledge coupled to the inputs of the controller at its outputs.

[0073] O componente anterior criou todos os conjuntos de lógica di fusa das variáveis selecionadas, conforme mostrado nas Figuras 4B, 4C e 4D. A primeira fase do componente de multiplexação é separar as variáveis de leitura das variáveis de escrita (ou variáveis de entrada das variáveis de saída). A Informação utilizada para esta separação foi inserida no componente de Variáveis de Entrada 100, informações IN/OUT. Caso seu valor seja alto, isso será uma entrada do controlador e se seu valor for baixo, isso será uma saída.[0073] The previous component created all sets of fuzzy logic from the selected variables, as shown in Figures 4B, 4C and 4D. The first phase of the multiplexing component is to separate the reading variables from the writing variables (or input variables from the output variables). The information used for this separation was inserted in the Input Variables component 100, IN/OUT information. If its value is high, this will be an input to the controller and if its value is low, it will be an output.

[0074] Após a separação das variáveis do controlador em dois gru pos de variáveis, grupos de entrada e saída, este é o momento de formar as regras de lógica difusa que comporão a base de conhecimento do controlador de lógica difusa. Para cada variável de leitura, a informação DIR/VER fornecida ao componente de Variáveis de Entrada 100 será avaliada. Se o sinal configurado para DIR/VER for alto, a direção entre a variável de escrita e a variável de leitura será direta, ou seja, baixos valores para variável de entrada implicará em valores inferiores para a variável de saída. Se o sinal configurado para DIR/REV for baixo, a direção entre a variável de escrita e a variável de leitura será reversa, ou seja, baixos valores para variável de entrada implicarão em valores mais altos para a variável de saída. Se traduzir esta informação para a formação de regras de lógica difusa, ligando entre as funções de associação das variáveis de leitura e escrita significa que, na direção direta, as funções de associação iniciais da variável de leitura deveriam ser ligadas às funções de associação iniciais das variáveis de escrita. Por outro lado, na direção reversa, as funções de associação iniciais da variável de leitura são ligadas às variáveis finais da variável de escrita, conforme mostrado na Figura 5.[0074] After separating the controller variables into two groups of variables, input and output groups, this is the time to form the fuzzy logic rules that will make up the knowledge base of the fuzzy logic controller. For each reading variable, the DIR/VER information provided to the Input Variables component 100 will be evaluated. If the signal configured for DIR/VER is high, the direction between the writing variable and the reading variable will be direct, that is, low values for the input variable will imply lower values for the output variable. If the signal configured for DIR/REV is low, the direction between the writing variable and the reading variable will be reversed, that is, low values for the input variable will imply higher values for the output variable. Translating this information into the formation of fuzzy logic rules, linking between the association functions of the reading and writing variables means that, in the forward direction, the initial association functions of the reading variable should be linked to the initial association functions of the writing variables. On the other hand, in the reverse direction, the initial membership functions of the reading variable are linked to the final variables of the writing variable, as shown in Figure 5.

[0075] É verificar na Figura 5 que a ordem das funções de associa ção das variáveis de leitura na direção direta (exemplo superior) é revertida em relação ao exemplo na direção inversa (exemplo inferior).[0075] It is clear in Figure 5 that the order of the association functions of the reading variables in the forward direction (upper example) is reversed in relation to the example in the reverse direction (lower example).

[0076] O efeito físico entre a distribuição direta ou reversa é quando o valor de uma variável de leitura aumenta, o valor da variável de escrita aumenta (se a direção for direta). Se a direção for reversa, quando o valor de uma variável de leitura aumentar, o valor da variável de escrita diminui.[0076] The physical effect between forward or reverse distribution is when the value of a reading variable increases, the value of the writing variable increases (if the direction is direct). If the direction is reversed, when the value of a read variable increases, the value of the write variable decreases.

[0077] A saída do componente Multiplex ou Seletor IN/OUT 500 re presenta uma estratégia de controle de processo avançado de lógica difusa completa (CF) com múltiplas entradas e múltiplas saídas de configuração simples pelo usuário.[0077] The output of the Multiplex component or IN/OUT Selector 500 represents a full fuzzy logic (CF) advanced process control strategy with multiple inputs and multiple outputs for simple user configuration.

[0078] A máquina completa pode ser concebida de acordo com a ilus tração mostrada na Figura 6. Como pode ser visto, existem apenas cinco configurações analógicas e duas digitais para cada variável do controlador de lógica difusa. Os componentes posteriores são responsáveis por tratar as configurações, criando as funções de associação e relacionando-as a regras difusas, gerando assim uma base de conhecimento utilizável por um interpretador de lógica difusa padrão, como o FCL.[0078] The complete machine can be designed according to the illustration shown in Figure 6. As can be seen, there are only five analog and two digital configurations for each variable of the fuzzy logic controller. The subsequent components are responsible for handling configurations, creating association functions and relating them to fuzzy rules, thus generating a knowledge base usable by a standard fuzzy logic interpreter, such as FCL.

[0079] Os processos industriais atuais produzem consideravel mente mais informações do que as realmente usadas pelos controladores de processo automáticos. Daqui em diante, apresenta-se três aplicações práticas, onde a utilização do Learning Fuzzy Control permitiu a utilização de mais informações disponibilizadas pelos sensores, aumentando a eficiência do processo.[0079] Current industrial processes produce considerably more information than is actually used by automatic process controllers. From now on, three practical applications are presented, where the use of Learning Fuzzy Control allowed the use of more information made available by the sensors, increasing the efficiency of the process.

[0080] Exemplo um: um sistema de cogeração de energia alimen tada com vapor de caldeiras a gás e biomassa. Os controladores automáticos tradicionais (PID) limitam-se a manter a pressão de cada caldeira individual estável e a manter a carga de geração de energia das turbinas. Depende dos processos de fabricação e da alimentação de combustível para as caldeiras, impedindo uma queda muito grande na pressão. O sistema de controle aplicado através do Learning Fuzzy Control monitora as seguintes variáveis: pressão de cada caldeira, pressão do vapor geral, temperatura de cada forno, fluxo de vapor dos processos, fluxo de vapor gerado por cada caldeira, o controlador decide o que deve ser o fluxo de energia para as caldeiras (gás ou biomassa). O maior número de variáveis monitoradas em relação à estratégia de controle tradicional praticamente eliminou a necessidade de intervenção do operador, porque o sistema de controle antecipa os distúrbios e atua preventivamente na alimentação de combustível, além de reduzir o consumo de gás em 6%, uma vez que favorece a caldeira de biomassa, que é mais econômica, em detrimento das caldeiras de gás. A variação na pressão do vapor foi reduzida em 30%. Se o cliente instalar um sensor de umidade na caldeira de biomassa, o desempenho do controlador seria ainda maior. O cliente não tem um histórico das variáveis de leitura (pressão de cada caldeira, pressão geral do vapor, temperatura de cada forno, fluxo de vapor dos processos, fluxo de vapor gerado por cada caldeira), o que faz o treinamento de um controlador fuzzy através os dados são inviáveis. Um controlador de lógica difusa multivariável desenvolvido manualmente deve ter pelo menos cinco funções de associação triangulares para cada variável de leitura e uma variável singleton para escrever. Portanto, oito variáveis de leitura (quatro para cada caldeira), mais a pressão de vapor global geram nove variáveis de leitura. Considerando as duas variáveis de leitura com 5 singletons cada, elas geram 450 (45 funções de associação multiplicadas por 10 leituras de singletons) para o mapeamento completo da base de conhecimento. Além do intenso trabalho envolvido no ajuste das 45 funções de associação e 450 pesos (um para cada regra), o pequeno número de funções de associação aumenta o desafio de sintonização devido à baixa resolução da variável linguística. O aumento nas funções de associação contribui para o incremento da robustez do controlador de lógica difusa.[0080] Example one: an energy cogeneration system fed with steam from gas and biomass boilers. Traditional automatic controllers (PID) are limited to keeping the pressure of each individual boiler stable and maintaining the power generation load of the turbines. It depends on the manufacturing processes and fuel supply to the boilers, preventing a large drop in pressure. The control system applied through Learning Fuzzy Control monitors the following variables: pressure of each boiler, general steam pressure, temperature of each oven, process steam flow, steam flow generated by each boiler, the controller decides what should be the flow of energy to the boilers (gas or biomass). The greater number of variables monitored in relation to the traditional control strategy practically eliminated the need for operator intervention, because the control system anticipates disturbances and acts preventively on the fuel supply, in addition to reducing gas consumption by 6%, a as it favors the biomass boiler, which is more economical, to the detriment of gas boilers. The variation in vapor pressure has been reduced by 30%. If the customer installs a humidity sensor on the biomass boiler, the performance of the controller would be even higher. The client does not have a history of reading variables (pressure of each boiler, general steam pressure, temperature of each oven, process steam flow, steam flow generated by each boiler), which makes training a fuzzy controller through the data is unfeasible. A manually developed multivariable fuzzy logic controller must have at least five triangular membership functions for each read variable and one singleton variable for writing. Therefore, eight reading variables (four for each boiler) plus the global steam pressure generate nine reading variables. Considering the two read variables with 5 singletons each, they generate 450 (45 association functions multiplied by 10 singleton reads) for the complete mapping of the knowledge base. In addition to the intense work involved in tuning the 45 association functions and 450 weights (one for each rule), the small number of association functions increases the tuning challenge due to the low resolution of the linguistic variable. The increase in association functions contributes to increasing the robustness of the fuzzy logic controller.

[0081] Descrição para a obtenção prática do controlador de lógica difusa para uma caldeira descrita no primeiro exemplo:[0081] Description for practical obtaining of the fuzzy logic controller for a boiler described in the first example:

[0082] 1) As variáveis de leitura (ENTRADAS) foram: pressão da caldeira e fluxo de vapor. A única variável de escrita (SAÍDA) foi o fluxo de energia na caldeira (biomassa ou gás).[0082] 1) The reading variables (INPUTS) were: boiler pressure and steam flow. The only writing variable (OUTPUT) was the energy flow in the boiler (biomass or gas).

[0083] 2) Para cada variável é necessário definir qual operação é desejada, informando o valor mínimo (MinVn), o valor máximo (MaxVn) e o valor médio (MedVn). Neste momento, também define a direção entre as variáveis de leitura e escrita (Dir/Ver) e peso (Peso) de cada variável de leitura nas variáveis de escrita.[0083] 2) For each variable it is necessary to define which operation is desired, informing the minimum value (MinVn), the maximum value (MaxVn) and the average value (MedVn). At this time, it also defines the direction between the reading and writing variables (Dir/Ver) and the weight (Weight) of each reading variable in the writing variables.

[0084] 2.1) O valor mínimo (MinVn) para a pressão da caldeira foi definido a 43 kgf/cm2, o valor máximo a 46 kgf/cm2, o valor médio (MedVn), netse caso o ponto de ajuste, a 44,5 kgf/cm2 e a direção como reversa (Rev). O peso (Peso) proposto para a pressão da caldeira foi 95%.[0084] 2.1) The minimum value (MinVn) for the boiler pressure was set at 43 kgf/cm2, the maximum value at 46 kgf/cm2, the average value (MedVn), netse if the set point, at 44, 5 kgf/cm2 and the direction as reverse (Rev). The weight (Weight) proposed for the boiler pressure was 95%.

[0085] 2.2) O valor mínimo (MinVn) para cada fluxo de vapor foi de finido a 65 t/h, o valor máximo a 80 t/h, o valor médio (MedVn) a 75 t/h e a direção como direta (Dir). O peso (Peso) proposto para o fluxo de vapor foi de 55%.[0085] 2.2) The minimum value (MinVn) for each steam flow was defined at 65 t/h, the maximum value at 80 t/h, the average value (MedVn) at 75 t/h and the direction as direct (Dir ). The weight (Weight) proposed for the steam flow was 55%.

[0086] 2.3) O valor mínimo (MinVn) para o fluxo de energia foi defi nido a 5%, o valor máximo a 80%, o valor médio (MedVn) a 40%. Não é necessário definir a direção das Saídas.[0086] 2.3) The minimum value (MinVn) for the energy flow was set at 5%, the maximum value at 80%, the average value (MedVn) at 40%. It is not necessary to define the direction of the Outputs.

[0087] 3) Os valores de ajuste final serão agora apresentados, os valores não lineares e os pesos obtidos ao avaliar o comportamento do controlador com a caldeira. As curvas FVn (x) inseridas pelo Sinal Anterior são:[0087] 3) The final adjustment values will now be presented, the non-linear values and the weights obtained when evaluating the behavior of the controller with the boiler. The FVn (x) curves inserted by the Previous Signal are:

[0088] 3.1) pressão da Caldeira com parâmetro Não Linear é igual a 0,000065. A curva gerada é mostrada na Figura 7.[0088] 3.1) Boiler pressure with Non-Linear parameter is equal to 0.000065. The generated curve is shown in Figure 7.

[0089] 3.2) fluxo de Vapor com parâmetro Não Linear é igual a 0,001152. A curva gerada é mostrada na Figura 8.[0089] 3.2) Steam flow with Non-Linear parameter is equal to 0.001152. The generated curve is shown in Figure 8.

[0090] 3.3) fluxo de Energia com parâmetro Não Linear é igual a 0,033975. A curva gerada é mostrada na Figura 9.[0090] 3.3) Energy flow with Non-Linear parameter is equal to 0.033975. The generated curve is shown in Figure 9.

[0091] 4) As curvas apresentadas em 3) são amostradas para defi nir as bases das funções de pertinência que comporão os conjuntos de lógica difusa de cada variável. As amostras para cada variável realizadas pelo Amostrador de Sinal são fornecidas na Tabela 1.Tabela 1 [0091] 4) The curves presented in 3) are sampled to define the bases of the membership functions that will make up the fuzzy logic sets for each variable. The samples for each variable performed by the Signal Sampler are provided in Table 1.Table 1

[0092] 5) Os valores amostrados em 4) são usados para formar as funções de pertinência que compõe os conjuntos de lógica difusa realizados pelo componente Amostrador de Sinal:[0092] 5) The values sampled in 4) are used to form the membership functions that make up the fuzzy logic sets performed by the Signal Sampler component:

[0093] 5.1) Conjunto de lógica difusa da pressão da caldeira é mos trado na Figura 10,[0093] 5.1) Boiler pressure fuzzy logic set is shown in Figure 10,

[0094] 5.2) Conjunto de lógica difusa do fluxo de vapor é mostrado na Figura 11.[0094] 5.2) Steam flow fuzzy logic set is shown in Figure 11.

[0095] 5.3) Conjunto de lógica difusa do fluxo de energia é mos trado na Figura 12.[0095] 5.3) Power flow fuzzy logic set is shown in Figure 12.

[0096] 6) Com os conjuntos de lógica difusa definidos em (4), o com ponente Multiplex de Controle mapeia as ENTRADAS (pressão da cal-deira e fluxo de vapor) nas SAÍDAS (fluxo de energia). A pressão da caldeira tem direção reversa (Reverse) com relação ao fluxo de energia, visto que o fluxo de vapor tem direção direta (Direct) com relação ao fluxo de energia.[0096] 6) With the fuzzy logic sets defined in (4), the Control Multiplex component maps the INPUTS (boiler pressure and steam flow) to the OUTPUTS (energy flow). The boiler pressure has a reverse direction in relation to the energy flow, whereas the steam flow has a direct direction in relation to the energy flow.

[0097] 6.1) Mapeamento das regras de lógica difusa entre the pres são da caldeira e o fluxo de energia (direção reversa) é mostrada na Figura 13.[0097] 6.1) Mapping of the fuzzy logic rules between the boiler pressure and the energy flow (reverse direction) is shown in Figure 13.

[0098] 6.2) Mapeamento das regras de lógica difusa entre a vazão do vapor e o fluxo de energia (direção direta) é mostrado na Figura 14.[0098] 6.2) Mapping of fuzzy logic rules between steam flow and energy flow (direct direction) is shown in Figure 14.

[0099] 7) Com a base da regra de lógica difusa mapeada em (6), o equipamento Learning Fuzzy Control concluiu o processo de geração automática das regras de lógica difusa. O controlador multivariável dos processos industriais propostos neste exemplo está disponível para execução por um módulo de interpretação difusa. Um exemplo de módulo é o interpretador de script proposto pela especificação IEC61131- 7, que define o Fuzzy Control Language (FCL). Um possível mapeamento do controlador gerado pelo Learning Fuzzy Control compatível com a especificação IEC61131-7 é apresentado na Tabela 2 abaixo.Tabela 2 [0099] 7) With the base of the fuzzy logic rule mapped in (6), the Learning Fuzzy Control equipment completed the process of automatically generating the fuzzy logic rules. The multivariable controller of the industrial processes proposed in this example is available for execution by a fuzzy interpretation module. An example of a module is the script interpreter proposed by the IEC61131-7 specification, which defines the Fuzzy Control Language (FCL). A possible controller mapping generated by Learning Fuzzy Control compatible with the IEC61131-7 specification is presented in Table 2 below.Table 2

[00100] Exemplo dois: aplicação em digestores de alumínio - A variável controlada (ou variável de processo) é avaliada por meio de testes laboratoriais, e seus resultados são disponibilizados a cada duas horas. Esse fato torna inviável uma aplicação tradicional com o PID. O teor de alumínio presente na bauxita varia durante o dia, dependendo de onde foi extraído. O controle desses processos é da responsabilidade dos operadores, isto é, está em operação manual. O Learning Fuzzy Control permitiu realizar a avaliação simultânea das variáveis on-line da vazão da pasta, do fluxo de bauxita, da densidade do refrigerante cáustico, do fluxo de bauxita e da temperatura do digestor, além das variáveis offline (com atualização a cada duas horas pelo laboratório), como o conteúdo de cáusticos no digestor, conteúdo de alumina dissolvida, concentração de sólidos, relação de alumina/cáustica do refrigerante de tanque para escrever o melhor índice de fluxo de pasta para o processo no momento. Todos os valores citados são avaliados e considerados em cada ciclo de controle com duração de 1 segundo. A aplicação do controlador tornou o processo 100% manual em um processo 100% automático, reduziu em 50% a variabilidade da variável controlada e educou o consumo de vapor em 3,2%. Se os sensores de densidade de bauxita foram implantados na entrada do digestor, os sensores para a concentração de alumina on-line, sensor para alumina decantada no processo subsequente do digestor, o desempenho do controlador seria incrementado. As nove variáveis de leitura e uma variável de escrita do controle descrito, utilizando a metodologia de desenvolvimento de um controlador manual apresentado no exemplo anterior, exigiriam o ajuste em 225 regras. Com um desafio adicional, as variáveis off-line são atualizadas a cada duas horas, o que torna a sintonização impraticável no devido tempo.[00100] Example two: application in aluminum digesters - The controlled variable (or process variable) is evaluated through laboratory tests, and its results are made available every two hours. This fact makes a traditional application with PID unfeasible. The aluminum content present in bauxite varies during the day, depending on where it was extracted. The control of these processes is the responsibility of the operators, that is, it is in manual operation. Learning Fuzzy Control allowed simultaneous evaluation of the online variables of paste flow, bauxite flow, caustic refrigerant density, bauxite flow and digester temperature, in addition to offline variables (updated every two hours by the laboratory), such as caustic content in the digester, dissolved alumina content, solids concentration, tank coolant alumina/caustic ratio to write the best slurry flow rate for the process at the time. All values mentioned are evaluated and considered in each control cycle lasting 1 second. The application of the controller turned the 100% manual process into a 100% automatic process, reduced the variability of the controlled variable by 50% and reduced steam consumption by 3.2%. If bauxite density sensors were implanted at the digester inlet, sensors for online alumina concentration, sensor for decanted alumina in the subsequent digester process, the performance of the controller would be increased. The nine reading variables and one writing variable of the described control, using the methodology for developing a manual controller presented in the previous example, would require the adjustment of 225 rules. An added challenge is that offline variables are updated every two hours, making timely tuning impractical.

[00101] Exemplo três: torres de absorção de amônia em uma planta de níquel - a amônia diluída em água com baixa concentração precisa ser recuperada para retornar ao processo. Este líquido estava contaminado com vários metais, de modo a dificultar o processo e a absorção. O principal desafio é que a operação das torres de absorção precisa ser interrompida a cada 60 horas por incrustação. A limpeza química ou fí-sica deve ser realizada para tornar a torre operativa novamente. O con-trolador implantado neste equipamento, além de monitorar a temperatura sensível do equipamento (como um controlador PID tradicional), monitora a temperatura superior, a temperatura inferior, a pressão superior, a pressão inferior, o fluxo de alimentação, a pressão do vapor das instalações e o fluxo de vapor, taxa das caldeiras on-line, a conta-minação da amônia no fundo é monitorada através de dados laboratoriais atualizados a cada 4 horas. O controlador mostra o fluxo de alimentação de amônia diluída e fluxo de vapor para a torre de absorção. Com mais variáveis a serem monitoradas, o Learning Fuzzy Control proporcionou economia de 3,5% no consumo de vapor pelo processo, além de reduzir a intervenção dos operadores nas manobras de partida e paragem das torres de absorção. As oito variáveis de leitura e duas variáveis de escrita do controlador descritas, utilizando a metodologia de desen-volvimento de um controlador manual apresentado no primeiro exemplo, exigiriam sintonização de 400 regras. Na aplicação prática, implantou- se o Learning Fuzzy Control em seis torres de absorção, o que aumentaria o número de regras para 2400. Um esforço que exigiria mais de um ano de especialista foi realizado por um técnico em menos de um mês.[00101] Example three: ammonia absorption towers in a nickel plant - ammonia diluted in low concentration water needs to be recovered to return to the process. This liquid was contaminated with various metals, making the process and absorption difficult. The main challenge is that the operation of the absorption towers needs to be interrupted every 60 hours due to fouling. Chemical or physical cleaning must be carried out to make the tower operational again. The controller implemented in this equipment, in addition to monitoring the sensitive temperature of the equipment (like a traditional PID controller), monitors the upper temperature, lower temperature, upper pressure, lower pressure, feed flow, steam pressure installations and steam flow, on-line boiler rate, bottom ammonia contamination are monitored through laboratory data updated every 4 hours. The controller shows the diluted ammonia feed flow and vapor flow to the absorption tower. With more variables to be monitored, Learning Fuzzy Control provided savings of 3.5% in steam consumption by the process, in addition to reducing operator intervention in starting and stopping maneuvers of the absorption towers. The eight reading variables and two writing variables of the controller described, using the methodology for developing a manual controller presented in the first example, would require tuning of 400 rules. In practical application, Learning Fuzzy Control was implemented in six absorption towers, which would increase the number of rules to 2400. An effort that would require more than a year of specialist work was carried out by a technician in less than a month.

[00102] Um fluxograma de operação de acordo com a presente invenção é mostrado na Figura 15. Na etapa 1502 os parâmetros das variáveis são coletados do usuário, conforme mostrado na Figura 16. Na etapa 504 as curvas das variáveis são geradas, conforme mostrado na Figura 17. Na etapa 1506, as funções de pertinência são geradas, conforme mostrado na Figura 18. A função de associação gerada de V(n) da Figura 18 é mostrada na Figura 19. Na etapa 1508 as regras de lógica difusa são geradas, conforme mostrado na Figura 20. Na etapa 1510 o controlador de lógica difusa, as regras da base de conhecimento de lógica difusa desenvolvidas, conforme descrito acima, são armazenadas como um controlador de lógica difusa 1512.[00102] An operation flowchart in accordance with the present invention is shown in Figure 15. In step 1502 the variable parameters are collected from the user, as shown in Figure 16. In step 504 the variable curves are generated, as shown in Figure 17. In step 1506, membership functions are generated, as shown in Figure 18. The generated association function of V(n) from Figure 18 is shown in Figure 19. In step 1508, fuzzy logic rules are generated, as shown in Figure 20. In step 1510 the fuzzy logic controller, the developed fuzzy logic knowledge base rules as described above are stored as a fuzzy logic controller 1512.

[00103] A Figura 21 é um fluxograma de operações de um controlador de lógica difusa integrado. Na etapa 2102 o controlador de lógica difusa ou base de conhecimento 1512 é carregado. Na etapa 2104 os valores analógicos do processo sendo controlado são carregados, con-forme mostrado na Figura 22. Na etapa 2106 o controle de lógica difusa é operado, conforme mostrado na Figura 23, o que inclui fornecer o valor desejado da variável de saída. Na etapa 2108 se a execução não for finalizada, a operação retorna para a etapa 2104 ao controle do processo continuado.[00103] Figure 21 is a flowchart of operations of an integrated fuzzy logic controller. In step 2102 the fuzzy logic controller or knowledge base 1512 is loaded. In step 2104 the analog values of the process being controlled are loaded, as shown in Figure 22. In step 2106 the fuzzy logic control is operated, as shown in Figure 23, which includes providing the desired value of the output variable. In step 2108, if the execution is not completed, the operation returns to step 2104 for continued process control.

[00104] Um computador, como, o computador 2402 mostrado na Figura 24 pode ser usado para gerar a base de conhecimento de lógica difusa de acordo com a presente invenção. O computador 2402 inclui um processador 2404, uma memória 2406 para segurar os programas e dados enquanto opera, armazenamento 2408 para armazenar os pro-gramas usados para operar o computador 2402 e a base de conheci-mento de lógica difusa ou controlador 1510 e um dispositivo de en- trada/saída humano 2410 para receber os valores da variável.[00104] A computer, such as computer 2402 shown in Figure 24, can be used to generate the fuzzy logic knowledge base in accordance with the present invention. The computer 2402 includes a processor 2404, a memory 2406 for holding programs and data while operating, storage 2408 for storing the programs used to operate the computer 2402, and the fuzzy logic knowledge base or controller 1510 and a device human input/output 2410 to receive the variable values.

[00105] Um controlador de lógica difusa 2502, como seria usado em um processo, como, os descritos acima é mostrado na Figura 25. Um conversor analógico-digital 2504 fornece os sinais de entrada para um controlador de lógica difusa integrado 2506, um computador configurado para receber as entradas do processo, operar nessas entradas usando a base de conhecimento difusa e fornecer a saída determinada. Um conversor digital-analógico 2508 recebe o sinal de saída do controlador de lógica difusa integrado 2506 e converte o valor digital para um valor analógico usado controlando o processo. O controlador de lógica difusa integrado 2506 inclui um processador 2510 para receber os sinais de entrada digital e fornecer sinais de saída digital, uma memória 2512 e armazenamento 2514, que inclui a base de conhecimento de lógica difusa 1510 usada para controlar o processo. Este é um diagrama em blocos altamente simplificado e outras configurações são conhecidas pelos técnicos no assunto que podem controlar o processo usando a base de conhecimento de lógica difusa desenvolvida, como, controladores que podem ser programados de acordo com a Regra IEC 61131-7.[00105] A fuzzy logic controller 2502, as would be used in a process such as those described above is shown in Figure 25. An analog-to-digital converter 2504 provides the input signals to an integrated fuzzy logic controller 2506, a computer configured to receive process inputs, operate on those inputs using the fuzzy knowledge base, and provide the determined output. A digital-to-analog converter 2508 receives the output signal from the integrated fuzzy logic controller 2506 and converts the digital value to an analog value used in controlling the process. The integrated fuzzy logic controller 2506 includes a processor 2510 for receiving digital input signals and providing digital output signals, a memory 2512, and storage 2514, which includes the fuzzy logic knowledge base 1510 used to control the process. This is a highly simplified block diagram and other configurations are known to those skilled in the art who can control the process using the developed fuzzy logic knowledge base, such as controllers that can be programmed in accordance with Rule IEC 61131-7.

[00106] Entende-se que o controlador de lógica difusa 2502 também poderia ser usado para desenvolver a base de conhecimento de lógica difusa se o software, conforme descrito acima e uma forma de receber a informação da variável é fornecida.[00106] It is understood that the fuzzy logic controller 2502 could also be used to develop the fuzzy logic knowledge base if software as described above and a way of receiving the variable information is provided.

[00107] A descrição acima é ilustrativa e não restritiva. Muitas variações da invenção se tornarão evidentes aos técnicos no assunto após a revisão desta descrição. Por conseguinte, o escopo da invenção deve ser determinado não com referência à descrição acima, mas sim com referência às reivindicações anexas juntamente com o seu escopo total de equivalentes.[00107] The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those skilled in the art upon review of this description. Accordingly, the scope of the invention must be determined not with reference to the above description, but rather with reference to the appended claims together with their full scope of equivalents.

Claims (20)

1. Método para gerar uma base de conhecimento de lógica difusa para um controlador de lógica difusa programável usada para controlar um processo, caracterizado pelo fato de que compreende as etapas de: receber valores de variáveis de entrada relevantes e variá-veis de saída a serem controladas; criar campos de potencial artificiais para cada uma das ditas variáveis de entrada relevantes e variáveis de saída; amostrar cada um dos ditos campos de potencial a fim de gerar funções de associação de lógica difusa; compilar funções de associação de lógica difusa em conjun-tos de lógica difusa; e mapear os conjuntos de lógica difusa de variáveis de entrada relevantes para variáveis de saída para criar regras de lógica difusa, as ditas regras de lógica difusa formando a base de conhecimento de lógica difusa.1. Method for generating a fuzzy logic knowledge base for a programmable fuzzy logic controller used to control a process, characterized by the fact that it comprises the steps of: receiving values of relevant input variables and output variables to be controlled; creating artificial potential fields for each of said relevant input variables and output variables; sampling each of said potential fields in order to generate fuzzy logic association functions; compile fuzzy logic association functions into fuzzy logic sets; and mapping the fuzzy logic sets of relevant input variables to output variables to create fuzzy logic rules, said fuzzy logic rules forming the fuzzy logic knowledge base. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de determinação das variáveis de entrada re-levantes e variáveis de saída inclui, para cada variável, fornecer: valores mínimo, máximo e de equilíbrio; um peso de importância; um valor de não linearidade; uma direção de controle; e informação se a dita variável é uma variável de entrada ou variável de saída.2. Method, according to claim 1, characterized by the fact that the step of determining the relevant input variables and output variables includes, for each variable, providing: minimum, maximum and equilibrium values; a weight of importance; a nonlinearity value; a direction of control; and information whether said variable is an input variable or output variable. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de criar campos de potencial artificiais inclui, para cada variável, derivar uma função que gera campos de potencial com base nas ditas variáveis de entrada e saída relevantes, em que o campo de potencial tem seu próprio valor mínimo em um valor de equi-líbrio de cada variável.3. Method according to claim 1, characterized by the fact that the step of creating artificial potential fields includes, for each variable, deriving a function that generates potential fields based on said relevant input and output variables, in that the potential field has its own minimum value at an equilibrium value of each variable. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de amostragem de cada um dos ditos campos de potencial inclui as etapas de: amostrar cada campo de potencial em pequenos incrementos de valor; e gerar uma função de associação de lógica difusa para cada pequeno incremento amostrado, em que a área da função de associação é proporcional ao valor do campo de potencial amostrado.4. Method, according to claim 1, characterized by the fact that the step of sampling each of said potential fields includes the steps of: sampling each potential field in small increments of value; and generating a fuzzy logic association function for each small increment sampled, where the area of the association function is proportional to the value of the sampled potential field. 5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de compilar as ditas funções de associação de lógica difusa em um conjunto de lógica difusa inclui as etapas de: separar as ditas variáveis em grupos de entrada e saída; e agrupar as funções de associação em conjuntos de lógica difusa para cada variável.5. Method, according to claim 1, characterized by the fact that the step of compiling said fuzzy logic association functions into a fuzzy logic set includes the steps of: separating said variables into input and output groups; and group the membership functions into fuzzy logic sets for each variable. 6. Meio legível por computador não transitório, que armazena instruções para execução por um processador, caracterizado pelo fato de que o processador executa as instruções para realizar um método gerando uma base de conhecimento de lógica difusa para um controlador de lógica difusa programável usados para controlar um processo, o método compreendendo as etapas de: receber valores de variáveis de entrada relevantes e variá-veis de saída a serem controladas; criar campos de potencial artificiais para cada uma das ditas variáveis de entrada relevantes e variáveis de saída; amostrar cada um dos ditos campos de potencial a fim de gerar funções de associação de lógica difusa; compilar funções de associação de lógica difusa em conjuntos de lógica difusa; e mapear conjuntos de lógica difusa de variáveis de entrada relevantes para variáveis de saída para criar regras de lógica difusa, as ditas regras de lógica difusa formando a base de conhecimento de lógica difusa.6. Non-transitory computer-readable medium that stores instructions for execution by a processor, characterized in that the processor executes the instructions to perform a method generating a fuzzy logic knowledge base for a programmable fuzzy logic controller used to control a process, the method comprising the steps of: receiving values of relevant input variables and output variables to be controlled; creating artificial potential fields for each of said relevant input variables and output variables; sampling each of said potential fields in order to generate fuzzy logic association functions; compile fuzzy logic association functions into fuzzy logic sets; and mapping fuzzy logic sets of relevant input variables to output variables to create fuzzy logic rules, said fuzzy logic rules forming the fuzzy logic knowledge base. 7. Meio legível por computador não transitório, de acordo com a reivindicação 6, caracterizado pelo fato de que a etapa de deter-minação das variáveis de entrada relevantes e variáveis de saída inclui, para cada variável, fornecer: valores mínimo, máximo e de equilíbrio; um peso de importância; um valor de não linearidade; uma direção de controle; e informação se a dita variável é uma variável de entrada ou variável de saída.7. Non-transitory computer-readable medium according to claim 6, characterized by the fact that the step of determining the relevant input variables and output variables includes, for each variable, providing: minimum, maximum and balance; a weight of importance; a nonlinearity value; a control direction; and information whether said variable is an input variable or output variable. 8. Meio legível por computador não transitório, de acordo com a reivindicação 6, caracterizado pelo fato de que a etapa de criar campos de potencial artificiais inclui, para cada variável, derivar uma função que gera um campo de potencial linear com base nas ditas variáveis de entrada e saída relevantes, em que o campo de potencial tem seu próprio valor mínimo em um valor de equilíbrio de cada variável.8. The non-transitory computer readable medium of claim 6, wherein the step of creating artificial potential fields includes, for each variable, deriving a function that generates a linear potential field based on said variables of relevant input and output, where the potential field has its own minimum value at an equilibrium value of each variable. 9. Meio legível por computador não transitório, de acordo com a reivindicação 6, caracterizado pelo fato de que a etapa de amos-trar cada um dos ditos campos de potencial inclui as etapas de: amostrar cada campo de potencial em pequenos incrementos de valor; e gerar uma função de associação de lógica difusa para cada pequeno incremento amostrado, em que a área da função de associação é proporcional ao valor do campo de potencial amostrado.9. The non-transitory computer readable medium of claim 6, wherein the step of sampling each of said potential fields includes the steps of: sampling each potential field in small increments of value; and generating a fuzzy logic association function for each small increment sampled, where the area of the association function is proportional to the value of the sampled potential field. 10. Meio legível por computador não transitório, de acordo com a reivindicação 6, caracterizado pelo fato de que a etapa de compilar as ditas funções de associação de lógica difusa em um conjunto de lógica difusa inclui as etapas de: separar as ditas variáveis em grupos de entrada e saída; e agrupar funções de associação em conjuntos de lógica difusa para cada variável.10. The non-transitory computer readable medium of claim 6, wherein the step of compiling said fuzzy logic association functions into a fuzzy logic set includes the steps of: separating said variables into groups entry and exit; and group membership functions into sets of fuzzy logic for each variable. 11. Computador para gerar uma base de conhecimento de lógica difusa para um controlador de lógica difusa programável (2506) usado para controlar um processo, o computador caracterizado pelo fato de que compreende: um processador (2404); um dispositivo de entrada (2410) acoplado ao dito processa-dor (2404) para receber entradas de um usuário; memória (2406) acoplada ao dito processador (2404); armazenamento (2408) acoplado ao dito processador (2404) que armazena instruções para execução pelo dito processador (2404), em que o dito processador (2404) executa as ditas instruções para rea-lizar um método gerando uma base de conhecimento de lógica difusa para um controlador de lógica difusa programável, o método compreen-dendo as etapas de: receber valores de variáveis de entrada relevantes e variá-veis de saída a serem controladas; criar campos de potencial artificiais para cada das ditas vari-áveis de entrada relevantes e variáveis de saída; amostrar cada um dos ditos campos de potencial a fim de gerar funções de associação de lógica difusa; compilar funções de associação de lógica difusa em conjun-tos de lógica difusa; e mapear conjuntos de lógica difusa das variáveis de entrada relevantes em variáveis de saída para criar regras de lógica difusa, as ditas regras de lógica difusa formando a base de conhecimento de lógica difusa.11. Computer for generating a fuzzy logic knowledge base for a programmable fuzzy logic controller (2506) used to control a process, the computer comprising: a processor (2404); an input device (2410) coupled to said processor (2404) for receiving input from a user; memory (2406) coupled to said processor (2404); storage (2408) coupled to said processor (2404) that stores instructions for execution by said processor (2404), wherein said processor (2404) executes said instructions to perform a method generating a fuzzy logic knowledge base for a programmable fuzzy logic controller, the method comprising the steps of: receiving values of relevant input variables and output variables to be controlled; creating artificial potential fields for each of said relevant input variables and output variables; sampling each of said potential fields in order to generate fuzzy logic association functions; compile fuzzy logic association functions into fuzzy logic sets; and mapping fuzzy logic sets of relevant input variables into output variables to create fuzzy logic rules, said fuzzy logic rules forming the fuzzy logic knowledge base. 12. Computador, de acordo com a reivindicação 11, caracte-rizado pelo fato de que a etapa de determinação das variáveis de entrada relevantes e variáveis de saída inclui, para cada variável, fornecer: valores mínimo, máximo e de equilíbrio; um peso de importância; um valor de não linearidade; uma direção de controle; e informação se a dita variável é uma variável de entrada ou variável de saída.12. Computer, according to claim 11, characterized by the fact that the step of determining the relevant input variables and output variables includes, for each variable, providing: minimum, maximum and equilibrium values; a weight of importance; a nonlinearity value; a direction of control; and information whether said variable is an input variable or output variable. 13. Computador, de acordo com a reivindicação 11, caracte-rizado pelo fato de que a etapa de criar campos de potencial artificiais inclui, para cada variável, derivar uma função que gera um campo de potencial linear com base nas ditas variáveis de entrada e saída rele-vantes, em que o campo de potencial tem seu próprio valor mínimo em um valor de equilíbrio de cada variável.13. Computer, according to claim 11, characterized by the fact that the step of creating artificial potential fields includes, for each variable, deriving a function that generates a linear potential field based on said input variables and relevant outputs, in which the potential field has its own minimum value at an equilibrium value of each variable. 14. Computador, de acordo com a reivindicação 11, caracte-rizado pelo fato de que a etapa de amostrar cada um dos ditos campos de potencial inclui as etapas de: amostrar cada campo de potencial em pequenos incrementos de valor; e gerar uma função de associação de lógica difusa para cada pequeno incremento amostrado, em que a área da função de associação é proporcional ao valor do campo de potencial amostrado.14. Computer, according to claim 11, characterized by the fact that the step of sampling each of said potential fields includes the steps of: sampling each potential field in small increments of value; and generating a fuzzy logic association function for each small increment sampled, where the area of the association function is proportional to the value of the sampled potential field. 15. Computador, de acordo com a reivindicação 11, caracte-rizado pelo fato de que a etapa de compilar as ditas funções de associ-ação de lógica difusa em um conjunto de lógica difusa inclui as etapas de: separar as ditas variáveis em grupos de entrada e saída; e agrupar funções de associação em conjuntos de lógica difusa para cada variável.15. Computer, according to claim 11, characterized by the fact that the step of compiling said fuzzy logic association functions into a set of fuzzy logic includes the steps of: separating said variables into groups of entrance and exit; and group membership functions into sets of fuzzy logic for each variable. 16. Controlador de lógica difusa programável (2502) para controlar um processo, caracterizado pelo fato de que compreende: um conversor de analógico em digital (2504) para conexão aos sinais de entrada analógica de um processo a ser controlado; um conversor de digital para analógico (2508) para fornecer sinais de saída analógica para controlar o processo; um processador (2510) acoplado ao dito conversor de ana-lógico em digital (2504) e ao dito conversor de digital para analógico (2508); um dispositivo de entrada acoplado ao dito processador (2510) para receber entradas de um usuário; memória (2512) acoplada ao dito processador (2510); armazenamento (2514) acoplado ao dito processador (2510) que armazena instruções para execução pelo dito processador (2510), em que o dito processador (2510) executa as ditas instruções para rea-lizar um método gerando uma base de conhecimento de lógica difusa para um controlador de lógica difusa programável e controlar um pro-cesso usando a base de conhecimento de lógica difusa, o método com-preendendo as etapas de: receber valores de variáveis de entrada relevantes e variá-veis de saída a serem controladas; criar campos de potencial artificiais para cada uma das ditas variáveis de entrada relevantes e variáveis de saída; amostrar cada um dos ditos campos de potencial a fim de gerar funções de associação de lógica difusa; compilar funções de associação de lógica difusa em conjun-tos de lógica difusa; mapear conjuntos de lógica difusa de variáveis de entrada relevantes em variáveis de saída para criar regras de lógica difusa, as ditas regras de lógica difusa formando a base de conhecimento de lógica difusa (1510); receber valores de entrada do processo a ser controlado do dito conversor de analógico em digital (2504); e operar os valores de entrada recebidos usando a dita base de conhecimento de lógica difusa (1510) para fornecer uma saída ao dito conversor de digital para analógico (2508) para controlar o processo.16. Programmable fuzzy logic controller (2502) for controlling a process, characterized in that it comprises: an analog to digital converter (2504) for connection to the analog input signals of a process to be controlled; a digital to analog converter (2508) for providing analog output signals to control the process; a processor (2510) coupled to said analog-to-digital converter (2504) and said digital-to-analog converter (2508); an input device coupled to said processor (2510) for receiving input from a user; memory (2512) coupled to said processor (2510); storage (2514) coupled to said processor (2510) that stores instructions for execution by said processor (2510), wherein said processor (2510) executes said instructions to perform a method generating a fuzzy logic knowledge base for a programmable fuzzy logic controller and control a process using the fuzzy logic knowledge base, the method comprising the steps of: receiving values of relevant input variables and output variables to be controlled; creating artificial potential fields for each of said relevant input variables and output variables; sampling each of said potential fields in order to generate fuzzy logic association functions; compile fuzzy logic association functions into fuzzy logic sets; mapping fuzzy logic sets of relevant input variables to output variables to create fuzzy logic rules, said fuzzy logic rules forming the fuzzy logic knowledge base (1510); receiving input values of the process to be controlled from said analog-to-digital converter (2504); and operating the received input values using said fuzzy logic knowledge base (1510) to provide an output to said digital-to-analog converter (2508) for controlling the process. 17. Controlador, de acordo com a reivindicação 16, caracte-rizado pelo fato de que a etapa de determinação das variáveis de entrada relevantes e variáveis de saída inclui, para cada variável, fornecer: valores mínimo, máximo e de equilíbrio; um peso de importância; um valor de não linearidade; uma direção de controle; e informação se a dita variável é uma variável de entrada ou variável de saída.17. Controller, according to claim 16, characterized by the fact that the step of determining the relevant input variables and output variables includes, for each variable, providing: minimum, maximum and equilibrium values; a weight of importance; a nonlinearity value; a control direction; and information whether said variable is an input variable or output variable. 18. Controlador, de acordo com a reivindicação 16, caracte-rizado pelo fato de que a etapa de criar campos de potencial artificiais inclui, para cada variável, derivar uma função que gera um campo de potencial linear com base nas ditas variáveis de entrada e saída rele-vantes, em que o campo de potencial tem seu próprio valor mínimo em um valor de equilíbrio de cada variável.18. Controller, according to claim 16, characterized by the fact that the step of creating artificial potential fields includes, for each variable, deriving a function that generates a linear potential field based on said input variables and relevant outputs, in which the potential field has its own minimum value at an equilibrium value of each variable. 19. Controlador, de acordo com a reivindicação 16, caracte-rizado pelo fato de que a etapa de amostrar cada um dos ditos campos de potencial inclui as etapas de: amostrar cada campo de potencial em pequenos incrementos do valor; e gerar uma função de associação de lógica difusa para cada pequeno incremento amostrado, em que a área da função de associação é proporcional ao valor do campo de potencial amostrado.19. Controller, according to claim 16, characterized by the fact that the step of sampling each of said potential fields includes the steps of: sampling each potential field in small increments of value; and generating a fuzzy logic association function for each small increment sampled, where the area of the association function is proportional to the value of the sampled potential field. 20. Controlador, de acordo com a reivindicação 16, caracte-rizado pelo fato de que a etapa de compilar as ditas funções de associ-ação de lógica difusa em um conjunto de lógica difusa inclui as etapas de: separar as ditas variáveis em grupos de entrada e saída; e agrupar funções de associação em conjuntos de lógica difusa para cada variável.20. Controller, according to claim 16, characterized by the fact that the step of compiling said fuzzy logic association functions into a set of fuzzy logic includes the steps of: separating said variables into groups of entrance and exit; and group membership functions into sets of fuzzy logic for each variable.
BR112018004602-7A 2015-09-10 2016-09-09 METHOD FOR GENERATING A DIFFUSE LOGIC KNOWLEDGE BASE FOR A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER, NON-TRAINER COMPUTER READABLE MEDIA AND PROGRAMMABLE DIFFUSE LOGIC CONTROLLER FOR CONTROLING A PROCESS BR112018004602B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/850,211 2015-09-10
US14/850,211 US10838376B2 (en) 2015-09-10 2015-09-10 Method of generating fuzzy knowledge base for a programmable fuzzy controller
PCT/BR2016/050226 WO2017041158A1 (en) 2015-09-10 2016-09-09 Method of generating fuzzy knowledge base for a programmable fuzzy controller

Publications (2)

Publication Number Publication Date
BR112018004602A2 BR112018004602A2 (en) 2018-09-25
BR112018004602B1 true BR112018004602B1 (en) 2024-04-24

Family

ID=

Similar Documents

Publication Publication Date Title
Kadlec et al. Data-driven soft sensors in the process industry
Wu et al. Fuzzy modeling and stable model predictive tracking control of large-scale power plants
AU2016318235B2 (en) Method of generating fuzzy knowledge base for a programmable fuzzy controller
Chakravarthi et al. Adaptive type-2 fuzzy controller for nonlinear delay dominant MIMO systems: an experimental paradigm in LabVIEW
EP3704550B1 (en) Generation of a control system for a target system
de Canete et al. Dual composition control and soft estimation for a pilot distillation column using a neurogenetic design
JP7359178B2 (en) Control device, control method, and control program
Himmel et al. Machine learning for process control of (bio) chemical processes
Arivalahan et al. Liquid level control in two tanks spherical interacting system with fractional order proportional integral derivative controller using hybrid technique: A hybrid technique
Han et al. Robust learning-based control for uncertain nonlinear systems with validation on a soft robot
Günther Machine intelligence for adaptable closed loop and open loop production engineering systems
BR112018004602B1 (en) METHOD FOR GENERATING A DIFFUSE LOGIC KNOWLEDGE BASE FOR A PROGRAMMABLE DIFFUSE LOGIC CONTROLLER, NON-TRAINER COMPUTER READABLE MEDIA AND PROGRAMMABLE DIFFUSE LOGIC CONTROLLER FOR CONTROLING A PROCESS
Wang et al. Adaptive Quality Control With Uncertainty for a Pharmaceutical Cyber-Physical System Based on Data and Knowledge Integration
Dogru et al. Reinforcement Learning in Process Industries: Review and Perspective
Samigulina et al. Industrial implementation of the immune network modeling of complex objects on the equipment Schneider Electric and Siemens
Sivagurunathan et al. Fuzzy logic based self tuning of PI controller for a non linear spherical tank system
Bui et al. Enhancing task performance of learned simplified models via reinforcement learning
Avello et al. Difference equation matrix model (DEMM) for the control of wind turbines
Prokhorskii et al. An Interpretable Model for the Prediction of Performance Parameters in Thermal Power Plants Utilizing Expert Knowledge and Machine Learning
JP7359176B2 (en) Judgment device, judgment method, and judgment program
US20240288849A1 (en) Model predictive control systems for process automation plants
US20230409928A1 (en) Estimation apparatus, estimation method, and non-transitory computer-readable medium
Li et al. Level Control of Chemical Coupling Tank Based on Reinforcement Learning Method
Ogunnaike EI DuPont de Nemours and Company, Wilmington, Delaware, 19880-0101
Putri et al. Data Driven System Identification of Water Distribution Systems via Kernel-Based Interpolation