control e inteligente

Upload: luis-henrique-kamke

Post on 10-Oct-2015

41 views

Category:

Documents


1 download

DESCRIPTION

Controle inteligente, fuzzy, rede neural, PID Neural.

TRANSCRIPT

  • CONTROLE DE VELOCIDADE DE UM MOTOR CC

    COMPARANDO AS TCNICAS DE ALGORITMO GENTICO,

    REDES NEURAIS, PID, FUZZY E NEURO-FUZZY.

    Lus Henrique Kamke [email protected] Gustavo Maia de Almeida [email protected] IFES Instituto Federal do Esprito Santo Unidade Serra Rodovia ES-010 - Km 6,5 - Manguinhos

    29173-087 - Serra ES

    Resumo: Esse artigo se prope a comparar tcnicas de controle inteligente

    implementadas no controle de velocidade de motor de corrente contnua. Para a

    aplicao das tcnicas de Redes Neurais, PID, Fuzzy, Neuro-Fuzzy e Algoritmo Gentico

    utilizamos, como ferramenta principal do nosso estudo, o MATLAB, onde foi possvel

    simular interativamente toda a dinmica da planta do processo e o seu controle. Ao final

    estabelecemos um comparativo da eficincia de cada uma das tcnicas, observando as

    vantagens e desvantagens de cada uma delas.

    Palavras-chave: Redes Neurais, Algoritmo Gentico, PID, Fuzzy, Neuro Fuzzy, Controle

    Inteligente, Motor CC.

    1. INTRODUO

    Quando se tem um modelo matemtico do processo, possvel aplicar vrias tcnicas

    visando determinao dos parmetros do controlador que atendam s especificaes de

    regimes transitrio e estacionrio do sistema a malha fechada. (Ogata, 2003). Nesse

    contexto temos o Proporcional-Integral-Derivativo (PID) que o algoritmo de controle

    clssico mais usado na indstria e tem sido utilizado em todo o mundo para sistemas de

    controle industrial.

    Contudo, com o avano da tecnologia, os sistemas e processos ficaram ainda mais

    complexos, tornando ineficaz ou at mesmo impossvel a utilizao dos controladores

    convencionais obtidos a partir da teoria clssica. Isso desencadeou uma busca por novos

    mtodos e estratgias de controle tais como: controle multivarivel, controle adaptativo,

    controle preditivo e sistemas de controle inteligente. (Guerra, Francisco. 2005, p.1).

    Dentre as tcnicas de controle inteligente, sero apresentados nesse artigo

    controladores obtidos por Redes Neurais, PID gentico, Fuzzy e Neuro-Fuzzy.

  • 2. APRESENTAO DO MODELO

    As mquinas de corrente contnua caracterizam-se por sua versatilidade. Devido

    facilidade com que podem ser controladas, sistemas de mquina CC tm sido usados

    frequentemente em aplicaes que exigem uma ampla faixa de velocidades ou de controle

    preciso da sada do motor.

    Os trs mtodos mais comuns de controle de velocidade de motores CC so mtodos

    para ajustar o fluxo, usualmente por meio do controle da corrente de campo, da variao da

    resistncia associada ao circuito da armadura e da variao da tenso dos terminais de

    armadura. (Fitzgerald, A. E. 2006, p. 529).

    No modelo apresentado nesse artigo utilizaremos o controle de velocidade atravs da

    variao da tenso nos terminais da armadura.

    Segue abaixo o diagrama esquemtico do motor CC:

    Figura 1 - Representao do circuito do Motor CC

    Correlacionando o esquema acima com os parmetros do motor, temos que a inrcia

    combinada das partes girantes, carga, rotor, eixo e acoplamentos designada por J(k.g.m).

    O atrito viscoso entre motor e carga designado por b(N.m.s). A grandeza L a

    indutncia da armadura, R a resistncia do enrolamento da armadura, w a velocidade

    angular expressa em radianos por segundo. K uma constante de torque e velocidade do

    motor.

    A partir das equaes diferenciais do motor de corrente contnua, podemos obter a

    funo de transferncia do processo P(s) no domnio da frequncia:

    Figura 2 - Equaes diferenciais e parmetros do Motor CC

  • ( ) ( )

    ( )

    ( ) ( ) ( )

    ( )

    ( )

    ( )

    ( )

    ( )

    ( )

    Obtida a funo de transferncia da planta iremos determinar os critrios de projeto

    que o controle deve satisfazer. Para entendermos melhor a resposta do processo aplicamos

    um degrau na entrada do sistema.

    Figura 3 - Resposta do Motor CC em malha aberta a um degrau unitrio.

    Aplicando um degrau na planta observamos que ela apresenta um tempo de

    acomodao rpido (0,9 segundos para um critrio de 2%), um comportamento estvel,

    superamortecido, mas com erro diferente de zero em regime estacionrio.

    Temos como principal o objetivo do controle corrigir o erro em regime estacionrio

    sem prejudicar a resposta rpida do sistema e evitar sobressinal.

    Utilizaremos como um padro de referncia os valores de tolerncia de 10% de

    overshoot e tempo de acomodao (critrio de 2%) de no mximo 2 segundos.

    Para o ponto de operao do Motor CC adotaremos a velocidade variando entre 60

    rpm no sentido horrio e 60 rpm no sentido anti-horrio equivalente a w = -6,28 a 6,28

    rad/s.

  • 3. TECNICAS APLICADAS DE CONTROLE INTELIGENTE

    3.1 Rede Neural Artificial

    Uma rede neural ou neuronal uma estrutura composta por um conjunto de unidades

    bsicas denominadas neurnios, conectados entre si. Cada neurnio artificial um

    operador de uma nica sada e diversas entradas conectadas nas sadas de outros neurnios

    que compem a rede. O neurnio pondera as entradas atravs de parmetros denominados

    pesos para, em seguida, aplicar uma transformao no somatrio das entradas ponderadas.

    Esta transformao, na sua forma mais geral, consiste na aplicao de uma dinmica linear,

    seguida de uma funo de ativao, f, conforme esquematizado abaixo.

    Figura 4 - Esquemtico de um neurnio artificial

    Os pesos podem ser determinados atravs de processos de aprendizagem ou

    treinamento. No treinamento, os pesos so ajustados por um algoritmo iterativo com o uso

    de uma funo objetivo a ser minimizada. Durante a fase de minimizao, na qual os pesos

    so ajustados, a cada passo a rede aprende o comportamento do sistema ao redor dos

    pontos treinados. (Carrara, Valdemir. 1997, p. 9)

    3.1.1 Ferramenta MATLAB - Controlador NARMA L2

    NARMA-L2 uma ferramenta includa no toolbox Neural Network do software

    MATLAB que utiliza a teoria de redes neurais e identificao de parmetros para realizar

    a identificao e o controlador.

    O controlador NARMA-L2 um rearranjo da rede neural que modela o processo que

    treinado off-line. Ele procura transformar o sistema no linear em um sistema linear

    atravs do cancelamento das no linearidades. (Oliveira, Jlio Csar P. 2009, p 90).

  • 3.1.2 Parmetros utilizados no NARMA-L2

    3.1.2.1 Aquisio de dados

    Na aquisio de dados utilizamos os seguintes parmetros no NARMA-L2 para a

    identificao do processo por meio de entradas aleatrias e suas respectivas sadas do

    Motor CC.

    Figura 5 - Parmetros da aquisio de dados

    Quantidade de amostras 2000

    Valor mximo de entrada da planta 10

    Valor mnimo de entrada da planta -10

    Intervalo mximo da amostra 15 seg

    Intevalo mnimo da amostra 3 seg

    3.1.2.2 Treinamento da rede

    Na rede neural foi utilizada uma camada oculta com oito neurnios, e no seu

    treinamento foi feita em 100 pocas utilizando como funo de treinamento a

    trainlm(Treinamento Levenberg-Marquardt). Em uma RNA de Mltiplas Camadas, o algoritmo de retro-propagao (back-

    propagation) padro utiliza o mtodo do gradiente decrescente no decorrer do processo de

    aprendizagem de forma a minimizar a funo erro. J o algoritmo de Levenberg-Marquardt

    (LM) utiliza uma aproximao pelo mtodo de Newton; esta aproximao obtida a partir

    do mtodo de Gauss-Newton modificado. (Baptistella, Marisa. 2007. P. 218)

  • Figura 6 - Parmetros de treinamento da rede neural

    3.1.2.3 Resultado

    Aps vrias tentativas, a melhor rede obtida nos treinamentos foi aplicada ao

    controlador. Para verificar a resposta do processo ao controle foi utilizada a seguinte

    configurao do NARMA-L2.

    Figura 7 - Simulink NARMA-L2

  • Figura 8 - Resposta do Motor CC para uma variao aleatria da velocidade angular entre -60 e 60 rpm.

    Analisando as respostas do processo controlado

    podemos perceber que o overshoot se manteve dentro dos

    10% especificados, chegando a 9,7% em grandes

    variaes da velocidade angular do motor. E para

    pequenas variaes como no grfico acima tem se o

    overshoot de 1,5%. Tal fator se deve a causar uma

    variao brusca da velocidade do motor em um tempo

    muito pequeno. Repare abaixo que o tempo de subida foi

    de apenas 0.3s, possivelmente irreal devido as limitaes

    fsicas do motor.

    O tempo de resposta (critrio de 2%) no foi satisfeito, observando tal fato no tempo

    de 7.772 s, vemos que a varivel atingiu 98% do valor de referncia (1.8) em 2,46

    segundos, no satisfazendo assim a especificao.

    Notamos nos grficos acima que o erro foi praticamente nulo, que o objetivo

    principal desse projeto. Garantimos esse resultado somando a sada do controlador um

    integrador e um ganho proporcional de valor 0,05.

    Figura 10 - Overshoot (1,5%)

    Figura 9 - Overshoot (9,7%)

    Figura 11 - Tempo de Subida Figura 12 - Tempo de resposta

  • 3.2 PID Gentico

    Nessa tcnica utilizamos o Algoritmo Gentico para encontrar as trs constantes timas

    dos parmetros de um controlador PID clssico, a constante integral, derivativa e a

    proporcional.

    Algoritmos Genticos (GAs-Genetic Algorithms) constituem uma tcnica de busca de

    otimizao, altamente paralela, inspirada no princpio Darwiniano de seleo natural e

    reproduo gentica. Os princpios da natureza nos quais os GAs se inspiram so simples.

    De acordo com a teoria de C. Darwin, o princpio de seleo privilegia os indivduos mais

    aptos com maior longevidade e, portanto, com maior probabilidade de reproduo.

    Indivduos com mais descendentes tm mais chance de perpetuarem seus cdigos

    genticos nas prximas geraes. Tais cdigos genticos constituem a identidade de cada

    indivduo e esto representados nos cromossomas. Estes princpios so imitados na

    construo de algoritmos computacionais que buscam uma melhor soluo para um

    determinado problema, atravs da evoluo de populaes de solues codificadas atravs

    de cromossomas artificiais. Em GAs um cromossoma uma estrutura de dados que

    representa uma das possveis solues do espao de busca do problema. Cromossomas so

    ento submetidos a um processo evolucionrio que envolve avaliao, seleo,

    recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao

    dever conter indivduos mais aptos. (Pacheco, Marco Aurlio Cavalcanti. 1999, p.1 e 2).

    Em um algoritmo gentico vrios parmetros controlam o processo evolucionrio:

    Tamanho da Populao = nmero de pontos do espao de busca sendo considerados em paralelo a cada ciclo.

    Taxa de Crossover = probabilidade de um indivduo ser recombinado com outro.

    Taxa de Mutao = probabilidade do contedo de uma posio/gene do cromossoma ser alterado.

    Nmero de Geraes = total de ciclos de evoluo de um GA.

    Total de Indivduos = total de tentativas em um experimento (tamanho da populao x nmero de geraes). (Pacheco, Marco Aurlio Cavalcanti. 1999, p.5).

    3.2.1 Ferramenta MATLAB Simulink e Algoritmo gentico

    Para calcular os melhores parmetros de um PID para a nossa planta do processo,

    utilizamos a seguinte configurao no MATLAB.

    Por meio da simulao abaixo so obtidos os dados de entrada e sada da planta

    controlada pelo PID, fazendo a partir disso uma seleo natural entre as constantes do

    controlador.

    Para a seleo do KI, KP, KD utilizamos valores randmicos entre 0 e 10, 20 geraes

    com populao mxima igual a 100.

  • 3.2.2 Resultado Aps fazer a seleo dos ganhos do PID, chegou-se aos seguintes valores:

    Figura 13 - Parmetros obtidos do PID por meio do algoritmo gentico

    A partir desse resultado foi implementado o PID no controle do Motor CC. Segue os grficos

    do processo controlado.

    Figura 14 - Resposta do Motor CC controlado pelo PID gentico - Velocidade angular entre -60 e 60 rpm

    A partir dos grficos podemos observar que o PID

    controlou de forma muito satisfatria as variaes

    da entrada. No grfico ao lado entramos com um

    degrau de 6.28 rad/s (Velocidade Ang. Mxima)

    percebemos que o tempo de resposta foi de 0.02s,

    valor bem abaixo da resposta em malha aberta

    (0.9s), no houve overshoot e o erro foi

    praticamente nulo, chegando a uma resposta

    muito melhor que a especificada. Figura 15 - Resposta a um degrau de 6.28 rad/s

  • 3.3 Fuzzy

    A teoria de subconjuntos Fuzzy nasceu da constatao de que quando a complexidade de um sistema aumenta nossa habilidade para concluir fatos e tomar

    decises que sejam ao mesmo tempo precisos e significativos, tende a diminuir at um

    limite a partir do qual preciso e relevncia passam a ser caractersticas quase excludentes

    [Zadeh, 1973].

    O conceito de subconjunto Fuzzy foi introduzido de forma a evitar passagens bruscas entre duas classes, e a permitir que os elementos no pertenam completamente

    nem a uma, nem a outra classe, ou melhor, que os elementos possam pertencer

    parcialmente a cada uma delas. A definio de subconjunto Fuzzy responde a necessidade de representar conhecimentos imprecisos, seja porque eles so exprimidos em

    linguagem natural por um observador humano que no capaz de fornecer maiores

    precises, seja porque eles so obtidos com instrumentos que possuem erros de medio.

    (Campos, Mario Massa. 2004. P 64-65).

    Figura 16 - Arquitetura de um Fuzzy

    Figura 17 - Funes de pertinncia que representam os subconjuntos Fuzzy

  • 3.3.1 Ferramenta MATLAB Fuzzy e Simulink

    Para controlarmos o processo utilizamos a ferramenta Fuzzy do MATLAB, e atravs do Simulink calibramos os pesos de cada funo de pertinncia e a simulamos a operao.

    Para o Fuzzy utilizamos 7 funes de pertinncia para as duas entradas e para a sada.

    No erro e na derivada do erro utilizamos funo gaussiana, e na sada funo triangular.

    Segue abaixo o layout do Fuzzy com suas funes e regras para controle do Motor CC.

    ERRO DE VELOCIDADE

    D_ERRO NG NM NP Z PP PM PG

    NG NG NG NG NM NM NP Z

    NM NG NM NM NP NP Z PP

    NP NM NM NP NP Z PP PP

    Z NM NP NP Z PP PP PM

    PP NP NP Z PP PP PM PM

    PM NP Z PP PP PM PM PG

    PG Z PP PM PM PG PG PG

    Figura 19 - Pertinncia de entrada (Erro)

    Figura 20 - Pertinncia de entrada (D_erro)

    Figura 21 - Pertinncia de Sada

    Figura 18 - Regras

  • 3.3.2 Resultados

    Figura 22 - Resposta do Motor CC controlado pelo PID gentico - Velocidade angular entre -60 e 60 rpm (+-2pi rad/s)

    O controle por Fuzzy apresentou uma resposta muito parecida com o PID gentico com um tempo

    de resposta um pouco menor (0,161s) e praticamente nenhum overshoot. A especificao foi

    satisfeita pois o erro tambm foi zero.

    Figura 23 Tempo de resposta (Critrio de 2%)

  • 3.4 Neuro Fuzzy

    Pode-se definir um sistema Neuro-Fuzzy como um sistema Fuzzy que utiliza um algoritmo de aprendizado derivado ou inspirado na teoria de redes neurais para determinar

    seus parmetros (subconjuntos e regras Fuzzy) atravs do processamento de amostras de dados.

    Os controladores Neuro-Fuzzy combinam a capacidade de aprendizagem das redes neurais com a capacidade de raciocnio dos sistemas Fuzzy. Dessa forma, elas formam uma estrutura que atualiza seus parmetros em funo de uma relao entrada-sada

    desejada. (Campos, Mario Massa. 2004. P 165-166).

    3.4.1 Ferramenta Simulink, PID Gentico e Rede Neural

    Utilizamos o PID Gentico do item 3.2 para obter os dados de treinamento do Neuro-

    Fuzzy, e treinamos a Rede Neural para obter as funes de pertinncia otimizadas.

    Figura 24 - Dados obtidos do PID gentico para treinamento da rede neural aplicada ao Fuzzy - [erro derro u]

    Treinamento da rede

    data = [erro derro u]; numMFs = 9 mfType = 'gaussmf' fismat = genfis1(data,numMFs, mfType) numEpochs = 30 [fismat1] = anfis(data,fismat,numEpochs,NaN)

  • 3.4.2 Resultados

    No grfico acima vimos que o controle do Neuro-Fuzzy foi muito bom, em alguns

    momentos no d para identificar diferena entre a referncia e a sada da planta. Foi

    necessrio colocar um integrador com ganho 10 para zerar o offset.

    Na imagem abaixo conseguimos mostrar que o tempo de resposta (critrio 2%) para

    uma variao de -6.28 4 rad/s foi de apenas 0.023s. O erro foi zerado e houve um

    pequeno overshoot praticamente irrelevante, pois no passou de 2%.

  • 3.5 Resultado Geral

    Simulao com todos os 4 controladores sem modificao na planta e sem distrbio.

    Para verificarmos a robustez do nosso controle primeiro alteramos os coeficientes da

    planta em 40% e simulamos novamente.

    No grfico acima a referncia est em verde, o PID gentico em vermelho, o Neuro-

    Fuzzy em amarelo, o Fuzzy em azul e a Rede Neural em roxo.

    Notamos que com a alterao da planta o PID, o Fuzzy e o Neuro-Fuzzy conseguiram

    manter a dinmica do controle praticamente inalterada e sem prejuzo. No caso da Rede

    Neural houve uma diminuio do overshoot e o tempo de resposta aumentou demonstrando

    assim uma sensibilidade grande em relao a mudanas na planta.

    Figura 25 - Resposta dos controladores alterando os coeficientes da planta em 40% Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul (Fuzzy)

  • Para outro teste de robustez variamos o ganho da planta em 40%. Seguem abaixo os

    resultados.

    Figura 26 Planta c/ ganho alterado em 40% - Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul (Fuzzy)

    Constatamos atravs desse novo teste que a rede neural foi a que mais variou sua

    dinmica em relao alterao dos parmetros da planta. Nesse caso ela apresentou um

    grande overshoot e tempo de resposta bem mais lento que os outros controladores. O PID e

    o Neuro-Fuzzy obtiveram resultados praticamente iguais planta original, atingindo o

    setpoint rapidamente, sem overshoot e erro nulo cumprindo toda a especificao de

    projeto.

    Como ltimo teste de robustez inclumos um distrbio na planta no valor de 0.2 a

    partir do tempo 2s, e simulamos.

  • Figura 27 - Incluso de distrbio na planta em 2s. Roxo (Rd. Neural) / Amarelo - (Neuro Fuzzy) / Vermelho - (PID) / Azul

    (Fuzzy)

    Nesse teste pudemos comprovar que a Rede Neural a que menos se adaptou a alteraes

    na dinmica do processo. O Neuro-Fuzzy e o PID obtiveram uma resposta muito boa

    incluso de um distrbio na planta, sendo que o Neuro-Fuzzy (amarelo) se adaptou melhor

    que o PID, pois no apresentou um grande pico no momento do distrbio. O Fuzzy sofreu

    um overshoot mediano e demorou um pouco at estabilizar. J a Rede Neural atingiu um

    overshoot muito alto e demorou um tempo consideravelmente maior que os outros

    controladores at voltar ao regime de estabilidade.

  • 4. CONCLUSO

    Por meio dos resultados obtidos nesse projeto, conclumos que foi possvel controlar a

    planta com todos os mtodos de controle inteligente trabalhados nesse artigo.

    Apesar de controlar a planta a Rede Neural apresentou os piores resultados em relao

    a tempo de resposta, overshoot e adaptao variao do sistema.

    O Fuzzy se destacou como um bom controlador, com resultados que atenderam a

    especificao com sobras e uma adaptao a alteraes na planta bem aceitvel, porm

    seus resultados no foram timos.

    Os melhores resultados conseguimos obter com o PID Gentico e o Neuro-Fuzzy, que

    alm de mostrarem timos tempos de resposta, overshoot e offset praticamente nulos

    conseguiram se adaptar a 3 tipos de alteraes no sistema.

    O Neuro-Fuzzy foi baseado nos dados obtidos com o PID gentico, por isso conseguiu

    aliar todas as qualidades do PID com a adaptao tima do Fuzzy. Tal qualidade se

    observou principalmente quando analisamos o distrbio includo no sistema na ltima

    simulao.

  • 5. REFERNCIAS BIBLIOGRFICAS

    Ogata, Katsuhiko. Engenharia de Controle Moderno, Editora: LTC, 3 Edio, 2003.

    Fitzgerald, A. E. Kingsley Jr, Charles; Umans, Stephen D. Mquinas Eltricas com Introduo

    Eletrnica de Potncia, Editora Bookman, 6 Ed. 2006.

    Carrara, Valdemir. Redes neurais aplicadas ao controle de atitude de satlites com geometria

    varivel, 1997.

    Disponvel em: < http://www2.dem.inpe.br/val/publicacoes/carrara_inpe_6384_tdl_603.pdf >

    Acesso em 26 de julho de 2014.

    Guerra, Francisco. Maitelli, Andr. Lopes, Jos. Arajo, Fbio. Oliveira, Luiz. Implementao de

    controladores PID utilizando Lgica Fuzzy e Instrumentao industrial. VII Simpsio

    Brasileiro de Automao Inteligente. 2005.

    Disponvel em: < http://www.dca.ufrn.br/~affonso/FTP/artigos/2005/sbai2005_03.pdf> Acesso em 25 de julho de 2014.

    Oliveira, Jlio Csar P. Avaliao de Controle Neural a um processo de quatro tanques

    acoplados. Braslia, 2009. Disponvel em:

    Acesso

    em 27 de julho de 2014.

    Baptistella, Marisa. Cunico, Luiz H. Bastos. Steiner, Maria T. A. O Uso de Redes Neurais na

    Engenharia de Avaliaes: Determinao dos Valores Venais de Imveis Urbanos. Revista

    Cincias Exatas e Naturais, Vol.9 n 2, Jul/Dez 2007. Disponvel em:

    < http://revistas.unicentro.br/index.php/RECEN/article/viewFile/82/117> Acesso em 26 de julho de

    2014.

    Campos, Mario Massa de. Saito, Kaku. Sistemas inteligentes em controle e automao de

    processos, Editora Cincia Moderna, Rio de Janeiro, 2004.