Documente Academic
Documente Profesional
Documente Cultură
Avaliador
______________________________________
Prof. Mestre Mauro Renault Menezes
Agradeço primeiramente a meus pais que estiveram sempre ao meu lado, me apoiando e
incentivando a minha carreira profissional.
Agradeço também a minhas irmãs que me ajudaram a manter o foco na minha carreira e vida
pessoal, e que além de tudo sempre estiveram ao meu lado.
E por último, mas não menos importante, quero agradecer à minha namorada Ana Lídia que
apesar de diversos sábados à noite em que estivemos distantes teve a paciência e incentivou o
término deste trabalho.
“Procure ser um homem de valor, em vez de
ser um homem de sucesso.”
Albert Einstein
RESUMO
O presente trabalho apresenta o desenvolvimento e aplicação de uma rede neural para ajuste
de parâmetros de um controlador PID. Com a evolução da automatização industrial são
constantemente abordadas novas técnicas de controle de plantas automatizadas. Sendo assim,
foi realizado o desenvolvimento e aplicação de uma rede neural para ajustes de parâmetros de
controladores PID, tornando o processo de sintonia simples, porém eficaz. Para o processo de
construção da rede neural foi utilizado um software gratuito e o modelo da rede utilizada foi o
Perceptron Multilayers com três neurônios de entrada, seis neurônios na camada intermediária
e três neurônios na saída. Com base nos estudos de ajustes de controladores PID, foi possível
criar uma tabela de ajustes para o aprendizado da Rede Neural Artificial (RNA) e assim
especificar valores de ajustes no controlador. Este trabalho não teve o intuito de descrever um
sistema integrado da RNA e o controlador PID para alimentação automática dos valores,
dessa forma os dados foram analisados e alimentados manualmente na RNA que apenas
indicava os parâmetros para o ajuste.
This paper presents the development and application of a neural network to adjust the
parameters of a PID controller. With the evolution of industrial automation, new control
techniques are constantly addressed for automated plants. Therefore, it was performed the
development and application of a neural network for parameter settings of PID controllers,
making the tune process simple, but effective. For the process of building a neural network it
was used a free software the model of the network used was the Perceptron multilayers with
three input neurons, six neurons in the hidden layer and three neurons in the output. Based on
studies of adjustment PID controllers, it was possible to create a settings for learning
Artificial Neural Network (ANN) and thus specify values in the controller settings. This work
did not have the intention of describing an integrated system of RNA and the PID controller
for automatic implementation of values, thus data were analyzed manually and fed into RNA
that only indicated the parameters for the adjustment.
1. OBJETIVOS...................................................................................................................... 10
3. CONTROLADORES PID................................................................................................. 21
4. DESENVOLVIMENTO ................................................................................................... 24
8. CONCLUSÃO .................................................................................................................. 47
9
1. OBJETIVOS
O objetivo desse trabalho é desenvolver uma rede neural artificial com a capacidade de
fazer ajustes finos em um controlador tipo PID. Para ilustrar a problemática será utilizada uma
planta de laminação de chapas de aço, composta por um sistema de automatização com
funções de transferência de segunda e quarta ordem.
Contudo, a aplicação do projeto não visa apenas e tão somente o ajuste para melhoria
da qualidade dos produtos, mas também a proteção dos equipamentos instalados e a segurança
dos operadores e mantenedores dos equipamentos em questão.
Esse trabalho não tem o intuito de descrever as lógicas de acionamento ou de suas
proteções, mas a diminuição de intervenção humana a fim de evitar falhas nos ajustes de
parâmetros. O operador tendo em posse uma rede neural artificial ensinada a corrigir erros no
controle dará autonomia e agilidade nos ajustes.
10
2. FUNDAMENTOS DA REDE NEURAL ARTIFICIAL
2.1 - Redes Neurais Artificiais
A rede neural tem a vantagem de possuir um auto-aprendizado, ou seja, quanto mais
amostras são analisadas, mais precisas as mesmas se tornam (MARSILI, 1995).
Para se entender como funciona uma rede neural artificial é necessário saber como
funciona, e como são formados os neurônios biológicos. A partir daí, é necessário entender o
aprendizado humano.
Os neurônios são compostos por três partes; o corpo da célula, os dendritos e o axônio.
Cada neurônio tem em média de alguns milímetros, se forem avaliados apenas o corpo da
célula e os dendritos. Os axônios possuem tamanhos variados, mas com calibre uniforme.
Os dendritos têm como função: receber impulsos nervosos e conduzi-los para o corpo
celular, onde as informações são processadas e são gerados novos impulsos que serão
enviados para outros neurônios através do axônio. O contato entre a terminação do axônio e
os dendritos é chamado de sinapse.
É através das sinapses que são feitas as ligações entre os diversos neurônios e essa
intercomunicação é chamada de rede neural.
A comunicação entre os neurônios pode ser através de sinais elétricos dentro do
neurônio e de sinais químicos através das sinapses. A partir daí, o corpo celular combina os
sinais recebidos e verifica se o valor é acima do limiar de excitação do mesmo. Caso seja
verdade, o neurônio produz um impulso elétrico que é transmitido através do axônio para
outros neurônios.
11
Figura 1 – Diagrama de funcionamento do neurônio proposto por McCulloch e Pitts (MENDES & OLIVEIRA,
2014)
Onde:
• n é o número de entradas;
• wi é o peso associado à entrada;
• xi é a entrada;
• θ é o threshold.
1 , 0;
0 , 0;
Equação 2 – Equação da função degrau
12
Figura 2 – Gráfico da Função Degrau (MENDES & OLIVEIRA, 2014)
Função Sigmoidal
A função sigmoidal é também conhecida com função S-shape, ao contrário da função
degrau pode assumir valores entre 0 e 1. Sua função é representada pela equação 3 e expressa
pela figura 3.
Onde:
• α é o parâmetro de inclinação da função sigmóide
• v é o valor de ativação do neurônio.
Um dado importante a ser levado em conta é o fato de que, se o valor do parâmetro for
aumentado tendendo-o para o infinito, esta função irá se comportar como uma função degrau
como mostra a figura 4.
13
Figura 4 – Gráfico da Função Sigmoidal com parâmetro α tentendo ao infinito (MENDES & OLIVEIRA, 2014)
Função signum:
A função signum possui as mesmas características de uma função de limiar, mas está
limitada entre os valores de 1 e -1. A equação 4 e figura 5 representam esta função.
!"#" $ 0
| |
Onde:
• b são os limites inferiores e superiores (b = |1| no gráfico);
• v é o valor de ativação da unidade.
14
Tangente hiperbólica:
Similar à função sigmoidal com a forma de “s”, assumindo valores entre 1 e -1. A
equação 5 e a figura 6 representa esta função.
% & %
" % %
Equação 5 – Equação da Função tangente hiberbólica
Onde:
Uma Rede Neural possui a característica de aprender, e para isso ela segue um
princípio bastante parecido com o do cérebro humano.
Fazendo uma analogia com uma criança, a rede neural se comporta da mesma maneira.
Crianças têm o hábito de colocar coisas na boca, tocar e mexer em tudo o que é desconhecido.
É assim que o cérebro consegue distinguir gostos ruins e bons, quente e frio, afiado ou não.
Em outras palavras, a maioria das coisas que se aprende quando se é criança, é a partir
de dados que são coletados. A rede neural artificial funciona de forma similar, pois ela
necessita de um aprendizado inicial para fornecer resultados convenientes. Dessa forma, ao
longo de sua “vida”, a rede neural artificial irá sempre se ajustar para manter os dados mais
precisos.
15
Existem diversos métodos de aprendizado (Braga, Ludemir e Carvalho, 2000) nos
quais, de forma mais geral, dividem-se em dois tipos: aprendizado supervisionado e
aprendizado não supervisionado.
Aprendizado supervisionado é o aprendizado onde a rede neural conta com a ajuda de
um “professor”, que lhe diz o que é “certo” ou “errado”. Dessa maneira as entradas e as saídas
são fornecidas por um “professor” externo, que ajusta os parâmetros da rede, visando
direcionar o processo de treinamento.
A desvantagem desse tipo de aprendizado é que, na falta de um supervisor (professor),
a rede não irá conseguir seguir um caminho para o aprendizado.
Aprendizado Não-Supervisionado, como o nome já diz, é um aprendizado pelo qual,
não existe qualquer interferência externa a não ser o meio. Nesse processo não existe o
Professor.
Onde:
• k - estímulo;
• e - erro;
• d - saída desejada apresentada durante o treinamento;
• y - saída real da rede após a apresentação do estímulo de entrada.
O Aprendizado por Correção de Erros caminha para alcançar o menor valor de erro
possível. Porém, nem sempre o algoritmo alcança este resultado, atingindo o que se chama de
mínimo local. Nesse caso é necessário recomeçar o aprendizado. O gráfico da figura 7 mostra
a curva de erros por ciclo de treinamentos.
16
Figura 7 – Gráfico de erros por ciclo de treinamentos (MENDES & OLIVEIRA, 2014)
A correção do erro é feita, ajustando os pesos da rede de forma que a saída real seja
igual à saída desejada.
Na Regra Delta de Aprendizado, os ajustes dependem do erro calculado, do valor do
estímulo de entrada, pelo peso a ser ajustado, e também pela taxa de aprendizado, a qual se
relaciona à cautela com que a curva de erros é percorrida. Para um dado estímulo k, no passo
de treinamento n, expressa na equação 7:
∆, - . ' . - . Equação 7 – Equação de ajuste de pesos.
Onde:
• w(n) - valor de ajuste a ser acrescido ao peso -;
• . - taxa de aprendizado;
• e(n) - valor do erro;
• - (n) - valor do estímulo.
Onde:
17
• ∆ - n – variação no valor do peso na conexão ij proporcional ao erro na iteração
(n).
A Regra Delta é usada para corrigir os valores dos pesos, minimizando a função de
2
1 . . Equação 9 – Equação de função de erro.
2
Onde:
• e(n) - erro da rede no passo n do treinamento;
18
A figura 8 mostra a configuração básica de um perceptron. As entradas são somadas
19
Após os erros serem calculados, há um ajuste nos pesos sinápticos de trás para frente,
ou seja, da saída para a entrada. Essa fase é chamada de retropropagação ou backpropagation.
O gradiente local para a unidade da camada de saída é definido por:
Onde:
Após o cálculo dos erros de cada unidade, calcula-se o ajuste dos pesos de cada
conexão segundo a regra delta generalizada e atualizam-se os pesos:
∆9: n + 1 = αw9: n + nδ: y: Equação 12 – função para ajustes dos pesos
Onde :
• α – é a constante de momento que aumenta a velocidade da trajetória no espaço de
pesos na descida mais íngreme. Seu valor deve ser 0 <α <1, quando α = 0, esta função
funciona como a regra delta comum;
• y- – é a saída produzida pela unidade j.
20
3. CONTROLADORES PID
Onde:
Kp – Ganho proporcional;
Ti – Tempo integral;
Td – Tempo derivativo.
Cada um desses valores possui uma função distinta no controlador, onde todos
trabalham em conjunto para um controle fino do equipamento.
A ação integral no sistema soma o erro ao longo do tempo, ou seja, o erro gerado pelo
sistema mesmo que pequeno irá fazer a componente integral crescer lentamente ao menos que
o erro seja igual à zero. Dessa forma, induz o sistema a um erro de estado estacionário para
zero. (NI, 2010, página 3).
21
A ação derivativa age na saída do processo fazendo com que a saída diminua se a
variável de processo aumentar abruptamente. A taxa de variação da variável de processo é
proporcional a derivada de resposta. Caso o parâmetro do Td seja aumentado fará com que o
sistema de controle aja mais rápido e aumente a velocidade de resposta do controle. (NI,
2010, página 3).
A curva gerada é composta por duas constantes, L que representa o atraso e T que
representa o tempo. Com uma linha de K, traça-se uma linha tangente a curva S que separa no
eixo das abcissas a constante L e T conforme a figura 10.
22
Após encontrar os valores de L e T, inserem-se os mesmos nas funções abaixo para
encontrar os valores de Kp, Ti e Td.
Tabela 1 – Tabela de ajuste PID Ziegler e Nichols (BARBOSA, SANTOS, LIMA & JÚNIOR, 2010, página 5 )
Em uma planta real esses valores são usados apenas como bases para que
posteriormente um técnico faça ajustes finos nesses valores.
Todo o controlador necessita ajustes finos em campo para uma melhor reposta à planta
industrial. Esse ajuste necessita de pessoal treinado e experiente na planta e que tenha
conhecimento dos efeitos de cada parâmetro no sistema.
Essa sintonia fina por demandar tempo e pessoal capacitado, aumenta o custo de
manutenção da planta como um todo.
4. DESENVOLVIMENTO
4.1 - O Processo
Para ilustrar melhor o funcionamento do projeto proposto por esse trabalho, será
utilizado como exemplo um processo industrial de uma metalúrgica no processo de laminação
de tiras a quente, onde o foco é um laminador.
24
A complexidade de acionamento e controle de um laminador se dá devido a inúmeros
equipamentos sendo acionados simultaneamente e intertravamentos. Os motores de ajuste de
espessura devem ser acionados com velocidade suficiente para que a peça não perca
temperatura e de maneira sincronizada com os motores das mesas para que o material não
entre no laminador antes que o mesmo esteja posicionado. A velocidade dos motores do
laminador deve ser controlada para evitar que o material escorregue dentro do laminador.
Os motores de ajuste de espessura não podem ser ajustados com o material dentro do
laminador, ou seja, um intertravamento deve ser implementado no CLP.
Uma vez que o operador aliado ao controle de qualidade identifique que novos ajustes
são necessários, propõe-se que o mesmo irá através de um botão instalado em seu
supervisório dizer à rede neural, que foi treinada para ajustar os ganhos do PID, realize ajustes
nesse controlador.
De forma genérica a figura abaixo ilustra bem a sequência de operação.
Operador
PID RNA
Ajustes
4.3 – PID
25
Para realizar a sintonia do controlador PID existem algumas alternativas, sendo que na
maior parte das vezes ajustes finos devem ser feitos em campo. Dentre elas escolheu-se o
método de Ziegler e Nichols malha aberta.
Os ajustes finos foram feitos pela rede neural, sendo alimentada manualmente e os
ajustes feitos a partir dos resultados da RNA no controlador.
26
5. SINTONIA DO CONTROLADOR
28
Os valores de aumento do parâmetro e resultados aceitáveis para o processo foram
propostos de forma experimental, ou seja, não há qualquer embasamento teórico para os
valores de ajuste. Foram efetuados testes tipo “tentativa e erro” para verificar quais valores
eram mais significativos comparando-os com os resultados obtidos.
Para a construção da rede neural artificial, foi utilizado um software gratuito Pythia
que pode ser encontrado no site “http://pythia.en.softonic.com/” (Figura 13).
29
1. Com a tabela de treinamento definida pela figura 16, reescreve-se em um arquivo TXT
em um editor de texto como na figura 14;
2. Com a tabela de treinamento salva, o próximo passo é abrir o software “Pythia” para a
criação da RNA e leitura da tabela de treinamento (Figura 15);
30
3. Insere-se o arquivo para treinamento (Figura 16);
4. Ao apertar abrir, o Software abrirá uma janela para definição de números de saída,
delimitadores etc. Nessa fase o mais importante é determinar o número de outputs;
como a rede terá três saídas, uma para cada parâmetro Kp, Ki e Kd, selecionam-se 3
saídas no campo apropriado (Figura 17).
31
5. Após clicar em OK, o próximo passo é criar a RNA especificando o número de
entradas (3), tempo de subida, sobre elevação e tempo de estabilização, o número de
camadas e número de saídas (3), Kp, Kd e Ki.
32
Figura 19 – Treinando a RNA.
7. Para alimentar a rede com os valores basta clicar no ícone sinalizado na figura 20 e
inserir os valores desejados separados por “,” (virgula).
33
Para que a RNA identifique a necessidade de ajuste, foi proposta pelo autor um
cálculo simples de erro, fazendo a subtração do valor de saída real pelo valor de saída
esperado. Toda vez que o cálculo de erro for maior que “0” a RNA irá interpretar como valor
“1”, caso o valor do erro seja igual ou menor que “0” a RNA irá interpretar como “0”.
Os seguintes termos são apresentados pela RNA; I1, I2, I3, O1, O2, O3. De acordo
com a tabela criada para o treinamento cada um desses neurônios significam um termo ou
parâmetro que está expresso abaixo:
I1 – Erro de Tempo de Subida; expresso pela subtração do tempo de subida real menos
o tempo de subida definido como máximo;
I2 – Erro de Overshoot; expresso pela subtração do Overshoot real menos o Overshoot
definido como máximo;
I3 – Erro de Tempo de Estabilização; expresso pela subtração do tempo de
estabilização real menos o tempo de estabilização definido como máximo;
O1 – Kp;
O2 – Ki;
O3 – Kd.
Assim, o erro gerado pelo valor obtido e o valor definido, irá alimentar a rede neural
artificial, que definirá quais parâmetros serão ajustados. Cada vez que a RNA ativar um
neurônio de saída, será somado 0.5 aos valores do Kp, Ki ou Kd conforme as saídas da rede
neural.
O valor de 0.5 que será somado foi obtido de forma experimental pelo autor, na
tentativa de obter um valor que não alterasse o controlador de forma brusca e levasse ao
fracasso do projeto.
34
6. RESULTADOS OBTIDOS
Foram realizados testes com uma função transferência de 2ª ordem, simulando como a
planta industrial.
1
4 25 / 1
35
Figura 22 – Resposta da função transferência de 2ª ordem
36
Tabela 6 – Tabela de ajuste PID Ziegler e Nichols (BARBOSA, SANTOS, LIMA & JÚNIOR, 2010, página 5 )
T = 7.5
L = 1.5
C.D
Kp = 1.2 ∗ =6
.D
Ki = 2*1.5 = 3
Kp = 05*1.5 = 0.75
I2 = (Or – Opv)*10
I2 = 1.4 – 1.2
I2 = 0.2*10
I2 = 2
Onde:
I2 – erro de overshoot;
Or – Overshoot real;
Opv – Overshoot máximo definido.
O resultado gerado pela subtração entre o overshoot real e o overshoot definido como
ideal nesse sistema, apresenta resposta positiva, o que para a rede neural artificial significa
que há a necessidade de intervenção nos parâmetros para uma resposta menos agressiva.
I3 = Er – Epv
I3 = 12 – 10
I3 = 2
Onde:
I3 – erro de tempo de estabilização;
Er – Estabilização real;
Epv – Estabilização máxima definida.
38
Assim como no overshoot, tem-se a resposta positiva no quesito tempo de
estabilização, ou seja, o sistema demora muito a se estabilizar. Para o processo isso já foi
identificado como uma falha sendo necessária a intervenção nos parâmetros do controlador.
39
Figura 26 – Controlador PID no Matlab
I1 = Tr – Tpv
I1 = 4 – 5
I1 = -1
Onde:
I1 – erro de tempo de subida;
Tr – Tempo de subida real;
Tpv – Tempo de subida máximo definido.
Assim como a primeira vez, os resultados de tempo de subida estão satisfatórios, não
havendo necessidade de ajustes.
I2 = (Or – Opv)*10
I2 = 1.35 – 1.2
I2 = 0.15*10
I2 = 1.5
40
Onde:
I2 – erro de overshoot;
Or – Overshoot real;
Opv – Overshoot máximo definido.
I3 = Er – Epv
I3 = 8 – 10
I3 = - 2
Onde:
I3 – erro de tempo de estabilização;
Er – Estabilização real;
Epv – Estabilização máxima definida.
Após o primeiro ajuste realizado pela rede neural, o tempo de estabilização chegou ao
nível ideal para a planta industrial, não sendo necessários novos ajustes.
Com esses dados a rede neural é alimentada para que a mesma defina quais ajustes são
necessários para o controlador.
41
Novamente a rede neural indica que o melhor parâmetro a ser ajustado é o Kd.
Novamente o controlador apresenta uma queda em seu overshoot, sem alterar outros
valores como tempo de estabilização e tempo de subida.
Esse processo se repete até que os valores de overshoot, tempo de subida e tempo de
estabilização cheguem ao esperado.
Kp = 8.5
Ki = 3.5
Kd = 8.25
42
Figura 29 – Controlador PID no Matlab
Com o intuito de tornar mais evidente o funcionamento da rede neural para a
realização de ajustes finos, foram realizados testes com diferentes funções transferência e
diferentes critérios para as plantas.
Exemplo 2
43
Figura 30 – Controlador PID no Matlab
T = 4.3
L = 1.7
44
E.F
Kp = 1.2 ∗ = 4.4
.C
Ki = 2*1.2 = 2.4
Kp = 05*1.2 = 0.6
Na figura acima tem-se dois gráficos, sendo o primeiro a resposta do controlador PID
ajustado pela rede neural. O segundo gráfico é a resposta do controlador PID ajustado apenas
pelo método de Ziegler e Nichols.
Após o ajuste através da rede neural artificial, o valor de overshoot se manteve em 1.6,
tempo de subida em 10s e tempo de estabilização menor que 20s. Esses valores se
mantiveram inalterados ou com pouca variação de resultado.
A rede neural artificial que inicialmente foi projetada apenas para ajustes finos, não foi
capaz de sintonizar o controlador, porém obteve valores satisfatórios com tempo de
45
estabilização menor que 20s e tempo de subida próximo de 10s, porém com valor de
overshoot 60% acima do setpoint.
46
8. CONCLUSÃO
8.1 – Resultados
Diante das dificuldades em se obter dados de uma planta industrial real, foram
efetuados testes com função de transferência de 2ª e 4ª ordem, onde todos obtiveram
resultados significativos e relevantes para a conclusão deste trabalho.
A rede neural foi desenvolvida por um software gratuito apenas com o intuito de
demonstrar a eficiência dos resultados sem a preocupação em integrar com um equipamento
CLP ou controlador. Sendo assim os dados foram alimentados manualmente tanto na rede
neural como no controlador.
A eficiência da rede neural foi testada no segundo exemplo citado neste trabalho, onde
as equações de sintonia de Ziegler e Nichols não foram suficientes para o ajuste do
controlador.
8.2 - Desafios
Os desafios encontrados ao longo deste trabalho foram superados acima do previsto,
porém alguns problemas não foram totalmente sanados. Para que esse trabalho seja colocado
em prática e utilizado na indústria, é necessária a criação de programas que integrem a rede
neural ao controlador sem a necessidade de intervenção humana.
Isso demostra que o trabalho ainda deve continuar, de forma que a rede identifique não
apenas os valores definidos, mas que também entenda os limites do controlador. Um estudo
mais aprofundado com a RNA pode ser a resposta para adaptação do processo de forma
contínua.
47
9. REFERÊNCIAS BIBLIOGRÁFICAS
BARBOSA, Lucas Pires; SANTOS, Quelle Gomes dos; LIMA, Rafael Pereira;
Janeiro, 2000.
Perceptrons. 2005
www.eletrica.ufpr.br/ufpr2/tccs/190.pdf >.
48
Lourenço, J – Sintonia de controladores P.I.D. 1997. Disponível em:
<http://ltodi.est.ips.pt/smarques/CS/Pid.pdf>
http://www.foodproductdesign.com/articles/1995/06/the-electronic-nose.aspx >.
<http://das.ufsc.br/~aarc/ensino/posgraduacao/DAS6613/PID_Novus.pdf>
49