40 . SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP. 08-10 de Setembro de 1999 Um Esquema de Neurocontrole com Treinamento em Tempo Real Aplicado ao Posicionamento de um Servomotor José Augusto Dantas de Rezende André Laurindo Maitelli Universidade Federal do Rio Grande do Norte Laboratório de Engenharia de Computação e Automação, Depto. de Engenharia Elétrica Av. Seno Salgado Filho, S/N CEP 59072-970 - NataVRN Resumo: Neste artigo, apresentamos um método de Neurocontrole para o posicionamento de um servomotor. O controlador usa uma série de métodos de otimização para aumentar a velocidade de convergência O treinamento é feito totalmente etn tempo real e a arquitetura da Rede Neural é o Perceptron de Múltiplas Camadas Apresentamos os detalhes de um servo- sistema e o método de controle, bem como o método de otimização que permitE o treinamento em tempo real da Rede Neural. Os resultados apresentados demonstram a capacidade dos Neurocontroladores quando aplicados a uma planta real. O treinamento on-Iine de neurocontroladores confere a rede uma série de vantagense desvantagens. Entre as vantagens, a principal está asssociada a capacidade de adaptatividade que passa a ser conferida ao controlador. Caso haja alguma mudança na estrutura da planta, a rede será capaz de absorver estas mudanças e continuar efetuando um controle eficiente. Entre as desvantagens, podemos colocar o desempenho do controlador durante o início do processo de treinamento. Não estando ainda suficientemente bem treinada, a rede não é capaz de executar um controle inicial eficaz. Pretendemos apresentar a aplicação de um sistema de controle proposto originalmente em [1] a um servomecanismo construída em nosso laboratório. O que queremos demonstrar é a capacidade do controlador de executar tarefas em um tempo de treinamento relativamente baixo e com uma boa performance de controle. Vale salientar que nesta técnica de Neurocontrole não fazemos uso de nenhum artifício como o pré-treinamento. Toda o treinamento da planta é feito entre os períodos de amostragem. Palavras Chaves: Redes neurais Artificiais, Controle de Sistemas , Neurocontroladores Abstract: In this paper we present a neural network approach to lhe position control of a servo motor. The controller uses a serie of optimization training methods for insure lhe speed of its convergence. The trainning is made totally on-line .and lhe neural network architecture is the Multi-layer Perceptron. We present lhe details of the servo system and lhe control method as well the optimization method which permits lhe on-line trainning of lhe neural network. The showed results prove the capacity of the neural controllers applied in a real plant. 2. PLANTA FíSICA DO SERVOMOTOR O servo motor em questão consiste de um pequeno motor DC acoplado através de um sistema de engrenagens a uma carga, sobre a qual fazemos um controle de posição. Acoplado à carga, temos também um potênciometro, que faz parte do circuito de transdução da posição da carga. Abaixo, apresentamos o diagrama esquemático do servomotor. Keywords: Artificial Neural Networks, System Control, Neurocontrol. 1. INTRODUÇÃO r Dentre as técnicas de controle inteligente, uma que tem ganhado bastante espaço e se mostra como das mais promissoras para as próximas décadas é a de Neurocontrole. Até pouco tempo atrás, aplicações . que ... envolvessem treinamento on-line de RNA's não eram possíveis, devido ao lento processo de treinamento e convergência das mesmas. Com o desenvolvimento da tecnologia da informática e a proposição de novas técnicas de otimização dos processos de treinamento, aplicações com treinamento on-line passaram a ser possíveis. VUI I Ra Im v. ., Figura 1: Diagrama esquemático do servomotor. Na figura 1, WI e W m são as velocidades angulares do motor e da carga, respectivamente. A relação entre essas rotações é dada pelo índice kg, que é a relação entre o raio das engrenagens da carga e motor. No nosso experimento, Kg=5. Os índices Jm e J 1 são os momentos de inércia do eixo do motor 98 40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 e da carga. Tm é o torque magnético que surge pela indução no estator, To é o torque que surge efetivamente sobre a carga, após as relações de engrenagens. Como variáveis elétricas, temos: Vin que é a tensão aplicada na entrada do estator, Im é a corrente que circula rotor, R, a resistência do mesmo e Vb a força contra eletromotriz, dada pela seguinte equação: Não-Linearidade. Um neurônio é basicamente um sistema nãolinear. Consequentemente, uma rede neural consistindo da conexão de unidades não-lineares é também necessariamente não-linear. Esta característica é bastante importante, pois na maioria das aplicações práticas que surgem, os sistemas possuem não-linearidades em maior ou menor grau. Mapeamento Entrada-Saída. A Rede Neural absorve conhecimento, assim como em seu modelo inspirador biológico, através do processo de aprendizagem. Apresentamos à RNA.uma série de pares entrada-saída, chamados de exemplos de treinamento. Estas entradas são apresentadas à rede e sua saída é comparada com a saída presente no par de treinamento. A diferença entra a saída apresentada pela rede e a saída do par de treinamento é utilizada para a correção das sinapses. Uma série de exemplos de treinamento é apresentado à rede, de forma aleatória, até que os pesos da rede atinjam a estabilidade. Ao final desse processo, teremos a rede já treinada. Apresentamos, então, alguns pares ainda não apresentados à rede anteriormente. Poderemos observar que a rede terá realizado um mapeamento entrada-saída, apresentando em sua saída um valor coerente com a relação estabelecida pelos padrões dos exemplos de treinamento. Podemos claramente ver a série de potenciais aplicações que surgem dessa característica da RNA. (I) Extraindo a função de transferência do sistema, ficamos com a seguinte equação final: _8_(s_) = -e-e- ____,_ Vi.(s) (2) .onde Jcq é o momento de inércia equivalente, dado pela seguinte expressão: (3) Considerando J1=0, o fabricante fornece a seguinte função de transferência da planta: 8(s) 1 --=-------V",(s) 5s(0,0026s + 0,1081) Adaptatividade. A RNA tem a capacidade de adaptar suas sinapses, caso o ambiente ao qual está inserida modifique suas características. Uma RNA, treinada para operar em um determinado ambiente, pode ser facilmente ré-treinada para operar em um outro sistema. Esta característica é bastante útil, especialmente se o ambiente em questão é variável e o treinamento é feito em tempo real. Essa característica alarga bastante as aplicações das RNA's em sistemas de filtragem e controle adaptativo. (4) o controle digital efetivado sobre esta planta toma como variável a ser controlada a posição da carga, medida indiretamente através da tensão sobre o potenciômetro. O sinal de controle a ser aplicado sobre a planta é a tensão no estator. Aplicamos dessa forma, a tensão sobre o estator de modo que a carga se alinhe a posição desejada. A tensão no potenciômetro é lida através de uma placa conversora analógica-digital do fabricante Quanser Consuiting, A tensão do potenciômetro é lida e comparada com a referência deseja. Essa diferença é o chamado erro de controle. Este erro é usado pelo controlador para a geração do sinal de controle. 4. NEUROCONTROLADOR IMPLEMENTADO O Neurocontrolador implementado foi proposto originalmente em [1]. O esquema baseia-se no método de otimização em malha fechada. Consiste basicamente,do uso de duas estruturas neurais, conhecidas como Neuro-emulador e NeuroControlador. O Neuro-Emulador é responsável pelo aprendizado da dinâmica da planta. Toda a informação absorvida pelo Neuro-Emulador será usada posteriormente no processo de treinamento do neuro-Controlador 'que será a estrutura que efetivamente promoverá o controle da planta. O esquema abaixo ilustra o treinamento do neuro-emulador, 3. REDES NEURAIS ARTIFICIAIS Os estudos acerca das Redes Neurais Artificiais surgiram da tentativa de se desenvolver um modelo matemático que procurasse simular o comportamento do cérebro humano. O cérebro pode ser visto como um computador paralelo altamente complexo e não-linear. Ele tem a capacidade de organizar suas unidades básicas, os neurônios, em grupos que irão operar funções bastante específicas e complexas, como a visão, reconhecimento de padrões e a coordenação motora. Todas estas tarefas, além de serem bastante complexas, são executadas pelo cérebro em um 'intervalo de tempo bastante baixo, além de ter uma eficiência energética extremamente alta. Portanto, modelos' matemáticos que permitam a simulação, pelo menos em parte, de algumas dessas atividades, são bem recebidos. Como representação do modelo natural, a RNA possui uma , série de características bastante semelhantes ao 'seu modelo inspirador. Entre essas características, podemos citar as apresentadas abaixo, que estão diretamente relacionadas às aplicações da rede em controle de sistemas, [2]: 99 40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 LUI(k) Obtllr y(k'l) V el(k+1) u(k·l) Planta u(k) y(k) Figura 4: Diagrama temporal do treinamento do esquema de controle. A arquitetura das Redes Neurais Artificiais utilizadas é do tipo Perceptron de Múltiplas Camadas com apenas uma camada intermediária e cinco neurônios na mesma. Figura 2: Treinamento do Neuro-emulador. Primeiramente efetuamos o treinamento do NE junto à planta. Apresentamos em sua entrada os valores passados de entrada e saída da planta e comparamos a saída da rede com a saída atual da planta. Ao final do processo de treinamento, a rede deve ser capaz de repetir o comportamento da planta. O Neuro-emulador é então utilizado para o treinamento do Neuro-Controlador, como veremos na figura abaixo, que ilustra o treinamento do Neuro-controlador. 5. TÉCNICAS DE MELHORIA DA VELOCIDADE DE TREINAMENTO Como já colocamos anteriormente, o grande problema associado às Redes Neurais Artificiais é a questão de seu treinamento. O que propomos nesse trabalho é a implementação de um Neurocontrolador com treinamento totalmente em tempo real, dessa forma, todo o treinamento deve ser feito entre as amostragens, ou seja, durante os intervalos de amostragem. Y(lll{k+l) I(k) A questão da velocidade de processamento influi também diretamente sobre a qualidade do controle proporcionado. Caso o treinamento da rede seja rápido, ao final do período de amostragem, teremos os pesos mais próximos do valor ótimo. O que pode significar uma rede com capacidade de gerar sinais de controle que levem a saída da planta mais próxima ao sinal de referência. u(i':I Mode lo d. Referência YJef(k+l) Figura 3: Treinamento do Neuro-controlador. A arquitetura utilizada nesse esquema de neurocontrole é a Perceptron de Múltiplas Camadas, onde a maioria dos processos de treinamento faz uso do método do gradiente para o treinamento dos pesos. Uma alternativa para a melhoria dos processos de treinamento é substituir o método do gradiente por outros métodos de treinamento que fazem uso de métodos de otimização de derivada superior, como o método de Newton 'e Marquandt-Levemberg. O problema desses métodos é que eles realmente conduzem a uma convergência em um menor número de iterações, porém o tempo necessário a cada uma das iterações é consideravelmente maior, além de possuírem uma maior complexidade nos algoritmos. O Neuro-controlador aprende primeiramente a controlar o Neuro-emulador, fazendo-o acompanhar um sinal de referência. Após o treinamento, espera-se que o NeuroControlador esteja pronto para gerar os sinais de controle que serão colocados a entrada da planta para fazê-la seguir o modelo de referência. Vê-se que o processo de treinamento do Neuro-Controlador só começa após concluído o processo de treinamento do NeuroEmulador. O que ressalta ainda mais a necessidade de um algoritmo de treinamento rápido e eficiente, já que todo o treinamento das estruturas neurais se dará durante o período de amostragem. Veja abaixo o esquema da sequência de treinamento das Redes Neurais. A outra alternativa é o uso dos chamados algoritmos adaptativos, nos quais se faz o ajuste automático de alguns dos parâmetros da rede em função do comportamento do erro na saída da rede. Normalmente, o parâmetro ajustado é o coeficiente de aprendizado. Fizemos testes nesse problema com três algoritmos diferentes, o Eta-Adaptativo, o Delta-Bar-Delta [3] e o SuperSAB [4]. Destes, o que obteve os melhores resultados, para este problema, foi o Delta-Bar-Delta. E são justamente os resultados obtidos por esse método e os detalhes de sua aplicação que agora apresentamos. 100 40. SBAI- Simpósio Brasileiro de Automação Inteligente , São Paulo, SP, 08-10 de Setembro de 1999 5.1 Delta-Bar-Delta Este algoritmo 'propõe um método para o auto-ajuste do coeficiente de aprendizado (TJ). Defmimos um coeficiente para cada neurônio e promovemos o seu ajuste através da monitoração das derivadas de primeira e segunda ordem, definindo, a partir deles, o ajuste cabível para cada ' um dos coeficientes. O algoritmo Delta-Bar-Delta, [3], é baseado na regra Delta Delta. Esta regra propõe um ajuste dos coeficientes de aprendizado a partir do gradiente do erro da rede em função do coeficiente de aprendizado, como mostra a equação 3. A () dG(n) LlTJ . n = y - - - I d1] .( n) Nesta seção apresentaremos alguns detalhes da aplicação do neurocontrolador ao posicionamento do servomotor. (5) O parâmetro y é uma pequena constante positiva, G(n) é a função erro na saída da planta. Não confundir com E(n), que é o erro em função das sinapses . O gradiente do erro da rede, em função do coeficiente de aprendizado .pode ser simplificado conforme a equação (6) abaixo. ' Na aplicação utilizamos uma inércia J I aplicada ao eixo do motor. Foi utilizado um período de amostragem de 0,15 segundos. As duas Redes Neurais que compõe o Neuro-emulador e o Neuro-controlador são constituídas com apenas uma camada oculta, com cinco neurônios na mesma. As funções de ativação dos neurônios na camada oculta são funções sigm6ides bipolares e as da camada de saída é uma função do tipo linear. (6) Como .forma de melhorar o desempenho e simplificar a equação do método Delta -Delta, foi proposto o algoritmo Delta-Bar-Delta [5]. Este algoritmo também propõe coeficientes de aprendizado específicos para cada um dos pesos, baseado na idéia de que a função de erro é unidimensional para cada um ciospesos. Podemos então propor uma regra para encontrarmos os coeficientes específicos para cada um dos pesos, que minimizem cada uma dessas funções. Nesse primeiro exemplo, vemos a saída da rede para uma referência senoidal de freqüência angular de aproximadamente 1t radls e um degrau unitário de valor igual a 55°C. Veja na figura 5 o comportamento da planta, juntamente com o do sinal de controle gerado pelo neurocontrolador - figura 6. saida daPlanta e Referencia 80 A estimação é baseada na observação da vizinhança das derivadas parciais durante os últimos dois pesos sucessivos. Se as derivadas têm o mesmo sinal, o 1] é incrementado linearmente por uma pequena constante, para acelerar o processo de convergência nas regiões de pequeno erro. Por outro lado, uma mudança no sinal entre duas derivadas sucessivas indica que o treinamento levou a uma ultrapassagem do mínimo local, ou seja, o último incremento no peso foi muito grande. Como consequência, o 11 é decrementado exponencialmente, através da multiplicação do mesmo por uma constante de decremento menor que a unidade. ]( ht(n+l)= --<1t),O./n) { se S,/n-l)Qfn)>O 60 40 f.J -20 -60 -00 Dhln)= êJE(n) whln) (9) /Ç 50 100 150 200 250 Figura 5: Saída da planta para uma referência degrau unitário. se s,,/n-1Jq/n)<O caso contrário (8) O te"lJO (7) S hj( n)=( l-I; )Dh/n-l )+I;Sh/n-l) _ _ R.I'I'n el. -40 as variáveis S"j e D hj são dadas pelas equações (7) e (8), apresentadas abaixo: As constantes . êJE(n) wh(n+l)=w (nrTJh (n). -+L\w (n-l) hI) i hIJ IJ IJ dwhj 6. RESULTADOS OBTIDOS I L1TJ,(n)=ydE(n). oE(TJ-l) w,(n) w,(n-l) O fato de o coeficiente TJ crescer linearmente e decrescer exponencialmente, permite ao algoritmo uma rápida reação a mudanças no perfil da curva da função erro e evita grandes oscilações e problemas de overshoot associados com o BackPropagation convencional. Um termo de momento também foi utilizado por Jacobs em conjunção com o Delta-Bar-Delta para permitir um aumento a velocidade de convergência sem perda de generalidade. A equação final do método está apresentada na equação (9). I; e cP estão entre O e 1. 101 40. SBAI- Simpósio Brasileiro de Automação Inteligente, São Paulo, SP, 08-10 de Setembro de 1999 Sinal deControle Saida da Planta e Referencla 100 2 • - 80 . . o 60 o r..:..: . o -: .- o o o - o o . o o o o o o o o o _. ·60 50 100 150 200 ·80 250 o - . . o _ _ _ R. I'fhel. -40 -3O -r\- ; o ·20 ·2 o . o o " ,. . o .\fi o, V- o --- So'" o , ., o \.r 50 100 ri .\ri 150 200 250 Tempo Tempo Figura 8: Saída da planta para uma referência variável. Figura 6: Sinal de controle gerado pelo neurocontrolador. Sinal deConlrole Na figura 7, apresentamos um gráfico que mostra o comportamento do erro, ou seja, da diferença, em módulo, entre a saída da planta e sua referência. 2 ... Eno Entrea Salda daPlanta e Sua Referência 25 20 1 g ""! - O ·1 ê 15 t IO o o ·2 w .g -s mJ . .3 ' -0 -c - .......- -........- - - - L - - - - " ' - - - - - - I 50 100 150 200 250 Tempo 5 O O o - Figura 9: Sinal de controle gerado pelo neurocontrolador. I 50 150 100 200 Apresentamos agora o gráfico do comportamento do erro entre a saída da planta e a referência . 250 Tempo Figura 7: Módulo do erro entre a saída da rede e o sinal de referência. EnoEnfre aSaldadaPlanla eSua Referência Na análise desses resultados, cabe urna ressalva. Durante as primeiras 50 amostras da planta, fizemos uma saturação do sinal de controle em 10% do valor máximo. Isto foi feito para impedir que valores muito altos fossem colocados na entrada das redes durante um período em que a rede não estava suficientemente bem treinada. Como resultado ," saída da planta segue a referência, porém o desempenho do controlador nos primeiros 50 períodos não é muito satisfatório. Após os primeiros 50 períodos, o sistema passa a ter um comportamento excelente, com erro médio equivalente a 0,2558°. As oscilações presentes podem ser cred itadas ao ruído presente na medida do potenciômetro. 20 18 16 14 o .g 10 o I 8 . 6 o 4 - O O - o 2 A seguir apresentamos mais um exemplo, no qual variamos a referência do sinal. Neste caso , utilizamos um modelo de referência de segunda ordem dado pela expressão abaixo: y_Rej{k+1)-1,3205.y_Rej{k)+0,4966.y_Rej{k1)=0, 0983. u_Ref(k)+O,0778.u_Ref(k-l) g 12 w à '\ - o o o A 50 - o . . 100 o .0 • u. 150 200 250 Tempo Figura 10: Gráfico do comportamento do erro entre a saída da planta e sua referência. Pelo que vemos pelos gráficos , o desempenho inicial do controlador não é muito bom, devido à saturação efetuada nas primeiras 50 iterações e já anteriormente explicadas. Passadas as primeiras iterações, passamos a um erro médio da ordem de 0,3889°, com um erro máximo de 1,0392°. (10) Veja na figura 8 a saída da planta e sua referência , bem como na figura 9 o sinal de controle a ela associado. 102 40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo,SP, 08-10 de Setembrode 1999 7. CONCLUSÕES Podemos ver nesse trabalho a grande capacidade dos neurocontroladores em uma aplicação relacionada a um servomotor. Os resultados obtidos nas execuções em tempo real mostram a boa capacidade de controle do esquema neural proposto, com a saída da planta seguindo, com erros pequenos, uma entrada senoidal e uma entrada do tipo onda quadrada. As técnicas de aceleração de convergência utilizadas permitem a aplicação do esquema mesmo com períodos de amostragem baixos, com o utilizado (0,15 segundos). O crescente aumento na capacidade de processamento dos atuais processadores permite a aplicação do esquema em plantas cada vez mais rápidas. 8. BIBLIOGRAFIA [1] Maitelli, AL. e Gabriel, O.F., (1996). Um Esquema de Controle Adaptativo Neural com Treinamento "On- · Line", 7. 0 Congresso Latinoamericano de Control Automatico - LACC, IFAC, Volume 2, pp.887-892. Buenos Aires. Argentina [2] Haykin, S ., (1994). Neural Networks . Macmillan College Publishing Company. Ontario. Canada. [3] Jacobs , R.A, (1988). Increased Rates of Convergence Through Learning Rate Adaptation. Neural Networks, 1:295-307. [4] Tollenaere T., (1990). SuperSAB: Fast Adaptíve Backpropagation with Good Scaling Properties. Neural Networks,3:561-573 . [5] Hrycej, T., (1997). Neurocontrol: Towards an Industrial Control Methodo logy. John Wiley & Sons. Ulm. Alemanha . [6] Maitelli, AL, Rezende, J. A D. (1998). Implementação em Tempo Real de um Esquema de Controle Neural OnLine em Plantas Físicas, 50.a Reunião Anual da SBPC, Sociedade Brasileira para o Progresso da Ciência, pp. 98. Natal. Rio Grande do Norte. Brasil. AGRADECIMENTOS À CAPES e Eletrobrás pelo apoio financeiro 103