8
I SBAI - UNESP - Rio ClarojSP - Brasil Identificação da Dinâmica Inversa de sistemas Não-Lineares Através de Redes Neurais Artificiais Sérgio R. J. Oliveira e Edilberto P. Teixeira Universidade Federal de Uberlândia Departamento de Engenharia Elétrica 38400 Uberlândia - MG Tel: (034) 2352888 / 166 Fax: (034) 2365099 Email: [email protected] RESUMO Este artigo apresenta um método para determinação da dinâmica inversa de urna classe de sistemas dinâmicos não-lineares. O método considera que as equações do sistema sej am desconhecidas. Para isso, aplica-se urna rede neural de várias camadas, capaz de estimar um mapeamento que aproxima a dinâmica inversa do sistema, dentro de urna determinada faixa de operação. Considerando que, em geral, a determinação da dinâmica inversa é usada corno parte de esquemas mais elaborados de controle de sistemas não-lineares, este artigo procura detalhar o método j á empregado em [8], [9] e [10]. Apresenta-se também os resultados de simulação da determinação da dinâmica inversa de um motor de corrente contínua com carga não- linear. - 19 -

Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

  • Upload
    haanh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - Rio ClarojSP - Brasil

Identificação da Dinâmica Inversa de sistemas Não-Lineares

Através de Redes Neurais Artificiais

Sérgio R. J. Oliveira e Edilberto P. Teixeira Universidade Federal de Uberlândia Departamento de Engenharia Elétrica

38400 Uberlândia - MG Tel: (034) 2352888 / 166

Fax: (034) 2365099 Email: [email protected]

RESUMO

Este artigo apresenta um método para determinação da dinâmica inversa de urna classe de sistemas dinâmicos não-lineares. O método considera que as equações do sistema sej am desconhecidas. Para isso, aplica-se urna rede neural de várias camadas, capaz de estimar um mapeamento que aproxima a dinâmica inversa do sistema, dentro de urna determinada faixa de operação. Considerando que, em geral, a determinação da dinâmica inversa é usada corno parte de esquemas mais elaborados de controle de sistemas não-lineares, este artigo procura detalhar o método j á empregado em [8], [9] e [10]. Apresenta-se também os resultados de simulação da determinação da dinâmica inversa de um motor de corrente contínua com carga não­linear.

- 19 -

Page 2: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - Rio Claro/SP - Brasil

Identificação da Dinâmica Inversa

de sistemas Dinâmicos Não Lineares

Através de Redes Neuronais Artificiais

RESUMO

Este artigo apresenta um método para determinação da dinâmica inversa de uma classe de sistemas dinâmicos não-lineares. O método considera que as equações do sistema sej am desconhecidas. Para isso, aplica-se urna rede neural de várias camadas, capaz de estimar um mapeamento que aproxima a dinâmica inversa do sistema, dentro de urna determinada faixa de operação. Considerando que, em geral, a determinação da dinâmica inversa é usada como parte de esquemas mais elaborados de controle de sistemas não-lineares, este artigo procura detalhar o método já empregado em [8], [9] e [10]. Apresenta-se também os resultados de simulação da determinação da dinâmica inversa de um motor de corrente contínua com carga não­linear.

Introdução

o problema da determinação da dinâmica inversa de sistemas foi,iniciqlmente, estudado por Brockett [2], Silverman [3] e Sain [4], para sistemas lineares. As condições suficientes para a invertibilidade de urna classe de sistemas de controle não-lineares foram apresentadas por Hirschorn [5], considerando que as condições iniciais destes sistemas sejam conhecidas. Singh [6] também apresentou condições suficientes para a invertibilidade de sistemas não-lineares multivariáveis, baseadas no algoritmo de Hirschorn, exceto quando são consideradas as questões de invertibilidade com condições iniciais desconhecidas. Também, um critério diferente para a invertifilidade de sistemas C~ foi obtido por Rebhurn [7] para sistemas não-lineares com multivariáveis de entrada e saida. Neste artigo, apresenta-se um método para identificar um mapeamento inverso aproximado, baseado nas informações de entrada e saída desses sistemas.

- 20-

Page 3: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - Rio Claro/SP - Brasil

Dinâmica Inversa de sistemas Não-Lineares contínuos no Tempo Usando Redes Neurais

o método descri to a seguir considera que a entrada de um sistema não-linear se aproxima de no derivadas de saída. O inteiro no é definido por Singh (1982) corno o índice de observalidade, isto é, a ordem mais elevada da derivada de saída y, desde que os valores de y, y(1), ... , y(no) sejam suficientes para determinar unicamente o estado x(t)EM, onde M é um conjunto aberto em Rn. Singh também afirma que o sistema inverso pode ser derivado para no*a, onde a é o índice de ordem relativa definido por Hirschorn (1979). O método proposto neste trabalho é baseado no índice de observaI idade no' Propõe-se também um método aproximado para determinação de no' através de um procedimento por redes neurais. Basicamente, trabalha-se com sistemas que podem ser postos na forma de 'Py:

(1) y (n ) e (yl I Y (2) I • • • , yn-l) , u )

onde y E Y, sendo Y um subconjunto aberto de Rn e e é urna função suave. Considera-se que a excitação u pertence a um conjunto aberto U de Rn. Se, no = n, então 'Py pode ser escrito na forma de 'PN:

S I S TEMA '" N:

dx/ dt = ((x, u)

y= h (x)

(2)

onde x E X, sendo X um subconj unto aberto de Rm e sendo ( e h funções suaves. A ordem do sistema é designada por nem é o número de entradas.

Pode-se verificar [1] que urna rede neural pode ser usada para aproximar o mapeamento inverso do sistema 'Py, isto é:

u = e-1(y,y(1),y(2), ... ,y(n))

se treinada com os seguintes dados amostrados:

-input: y,y(1),y(2), ... ,y(n) -output: u(t)

onde n é a ordem do sistema.

- 21 -

Page 4: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - Rio Claro/SP - Brasil

Desta forma, amostrando-se a saída de um sistema não-linear, uma rede neural pode ser treinada para capturar a sua dinãmica inversa. Para sistemas do tipo ~N' deve-se amostrar o estado e suas derivadas. O procedimento descrito em [1], com respeito ao dimensionamento da rede neuronal, pode ser diretamente aplicado neste caso. O seguinte procedimento pode ser aplicado para estimar a dinãmica inversa usando-se uma rede neural de várias camadas.

Procedimento para Identificação da Dinâmica Inversa

Considerando-se que o método de estimação de funções por redes neurais é aproximado e considerando-se que a função inversa seja suave, um mapeamento aproximado da função inversa pode ser obtido, ainda que algumas das derivadas de saída de maior ordem sejam desconsideradas. Se muitas derivadas forem desconsideradas, a tolerãncia da rede neural pode não ser atingida durante o processo de treinamento. Portanto, o seguinte procedimento é sugerido para sistemas não identificados.

PASSO O - Escolha: um número pequeno para n (baseado nos dados conhecidos do sistema), um intervalo de amostragem e o número de amostras (baseado no procedimento estabelecido em [1]).

PASSO 1 - Excite o sistema com valores de entrada u aleatórios e meça os valores de saída correspondentes e suas derivadas,

(1) (n) y,y , ... ,y .

PASSO 2 - Inicie o processo de treinamento utilizando as diretivas de [1]. A seguinte situação pode ocorrer: A rede neural poderá cair em um mínimo local durante o processo de treinamento, mesmo que todas as condições de treinamento da rede sejam satisfeitas.

Considere que seja usado um número suficiente de nós na camada intermediária da rede. Mesmo assim, poderá ocorrer um mínimo local durante o treinamento da rede, porque o número de derivadas de saída poderá ser insuficiente. Portanto o número de derivadas n poderia ser incrementado e o processo pode ser repetido, a partir do passo 1, até que a tolerância desejada seja atingida.

Na verdade, não só o mapeamento inverso é estimado, para sistemas não-identificados do tipo ~y , mas também a ordem n. O valor estimado de n está relacionado à tolerância do treinamento, ao intervalo de amostragem e à abrangência do espaço de estados obtida durante a fase de treinamento.

Note também, que esta proposição foi elaborada para sistemas de tempo continuo. Entretanto, a implementação da rede neural somente pode ser feita de forma amostrada.

- 22-

Page 5: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - Rio Claro/SP - Brasil

Estimação de sistemas Inversos Usando Valores de Saída amostrados

Devido as dificuldades de medição das derivadas de saída, propõe-se neste trabalho um método aproximado para estimar a dinâmica inversa de um sistema. Ele consiste em armazenar os últimos valores de saída, em vez de medir suas derivadas. Estes valores de saída armazenados, serão usados como entradas para a rede neural. Obviamente, o desempenho do sistema dinâmico inverso estimado, é uma função do tempo de amostragem õ. Consequentemente na fase de operação da rede neural, deve-se usar o mesmo tempo de amostragem usado na fase de treinamentq. O sistema ~s' definido a seguir, é uma versão amostrada do sistema ~Y'

sistema ~ s:

y«k+l)Ô) p (y(kõ) ,y( (k- l) õ) , ... , y( (k-n+l) õ), u(kõ) (3)

onde p é uma função suave, õ é o tempo de amostragem e n é a ordem do sistema amostrado. A entrada u, é definida em um subconjunto aberto U de Rm e a saída y é definida em um subconjunto aberto Y de IRP •

A função inversa amostrada p-1 é um mapeamento de y~1 de U, tal que:

u (kô) p-l (y( (k+l) õ) ,y( (k) õ) ,y( (k-l) õ), ... ,y(k-n+l) Õ)) (4)

A função inversa amostrada fornece valores constantes de entrada u(kõ), dentro do intervalo de amostragem, que direcionam o sistema ~s desde os valores de saída y(kõ) ,y( (k-l) õ), ••• ,y( (k­n+l)õ) para a saída y«k+l)6). Aqui, o inteiro n é um número suficiente de valores da saída para determinar unicamente u(kõ). Note que ~y e ~s são representações diferentes do mesmo sistema. Portanto, y(k6) definido por ~s aproxima y(t), definido por ~Y' para t = k6 e para u(t) = u(kõ), constante no intervalo de amostragem õ.

Uma rede neural pode aproximar o mapeamento amostrado inverso e- 1 quando treinada com amostras suficientes de u(kõ) € U e y( (k+l) õ), y(k6), y( (k-l) 6), ... , y( (k-n+l) õ) € yn+1 [la].

Se uma entrada u, constante em um intervalo 6, for aplicada no sistema ~ ou ~N' o procedimento aplicado para sistemas do tipo ~y poderá ser usado para aproximar a sua dinâmica inversa.

- 23-

Page 6: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI- UNESP - Rio Claro/SP - Brasil

Dinâmica Inversa de sistemas Discretos Não-Lineares Usando Redes Neurais

A dinâmica inversa de um sistema discreto é um mapeamento suave que provê os valores de excitaçâo u (k) que direcionam o sistema apartir da saída y(k), y(k-l), ... , y(k-n+l) para y(k+l), isto é:

u (k) 1l -1 (y(k+l) ,y(k) ,y(k-l ), . . . ,y(k-n+l) (5)

onde os valores de saída y(k+l) ,y(k) ,y(k-l), ... ,y(k-n+l) são medidos nos instantes k+l, k, k-l , k-n+l, considerando-se ry-1 como uma função suave.

Para treinar uma rede neural para aproximar a dinâmica inversa ry -1, é suficiente obter amostras de y (k+l) , Y (k), Y (k-l) , ... , Y(k-n+l) e u(k). É necessário que um número suficiente de amostras sej am obtidos para serem usados durante o processo de treinamento.

o inteiro n é a ordem do sistema discreto, e é por definição, um número suficiente de atrasos para se definir ry unicamente. Quando n for desconhecido o treinamento deve ser iniciado com um número pequeno e ser incrementado até que a precisão especificada seja obtida.

o exemplo seguinte aplica o método proposto.

Exemplo Neste exemplo [10] a dinâmica inversa do motor CC é identificada usando-se uma rede neural. As equações que regem o sistema são simuladas somente para gerar dados que são usados para treinar a rede neural. As equações são:

dw =i +À (w) dt

dw . / II-- =-W -~+U II =T T r- dt ' r- e m

onde:

w - velocidade da saída. i - Corrente de armadura. u - Tensão de armadura. À - Característica não-linear da carga.

(6)

(7 )

Te,Tm - Constantes de tempo elétrica e mecânica, repectivamente.

Considerando-se a constante de tempo mecânica muito maior que a constante de tempo elétrica, o sistema de equações fica:

- 24-

Page 7: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAl - UNESP - Rio Claro/SP - Brasil

dw =-ú>+À (ú» +u dt

(8)

o torque da carga, neste caso, foi considerado À(w)=sin(O.lw). O sistema foi simulado aplicando urna tensão de aplitude aleatória. Para cada amostragem, o valor atual e o anterior w são apresentados corno entrada para a rede neural, que é treinada para mostrar urna saída igual a tensão u aplicada na armadura do motor. Urna rede neural com urna camada intermediária de 50 elementos foi utilizada na simulação. Atingiu-se um erro mínimo de 0,001 % durante o treinamento. Em aplicações práticas, o número de elementos poderia ser escolhido em função da precisão desejada e considerando as limitações físicas.

ERRO MEDia QUADRATICO 600~--------------------------------------------------~

500

400

300

200 .................................................................................................................................................................................... ..................... ..

100 - ................................................. .

0~\~----~--------~------~----~_~1----~ o 10 20 30 40 50

SESSOES DE TREINAMENTO X 200

Figure 1 - Treinamento da rede neural com a dinâmica inversa de um motor cc.

- 25 -

Page 8: Identificação da Dinâmica Inversa de sistemas Não-Lineares ... · sugerido para sistemas não identificados. PASSO O ... ~y poderá ser usado para aproximar a sua ... anterior

I SBAI - UNESP - ruo Claro/SP - Brasil

conclusão

Os resultados de simulação mostram que a rede neural aprendeu a dinâmica inversa do sistema com muita exatidão. Embora a rede neural tenha excelente capacidade de generalização, não existe garantia de precisão fora da região de treinamento. Desta forma, sugere-se que, por se tratar de um sistema dinâmico não-linear, deve-se proceder testes exaustivos, para se certificar que a estrutura matemática do sistema tenha sido assimilada pela rede neural.

Referências

[1] Teixeira, E., Loparo, K., Gomide, F. "Design of Multilayer Neural Networks for Accurate Identification of Nonlinear Mappings", Technical Report, Case Western Reserve Uversity Systems Engineering Department, 1991.

[2] Brockett, R. "Vol terra Seies and Geometr ic Control Theory", Automática, Vol. 12, pp. 167-176, pergamon Press, 1976.

[3] Silverman, L. "Inversion of Multivariable Linear Systems", IEEE Transactions on Automatic Control, Vol. AC-14, No.3, Junho 1969.

[4] Sin, M., Massey, J. "Invertibility of Linear Time-Invariant Dynamical Systems", IEEE Transactions on Automatic Control, Vol. AC-14, No.2, Abril 1969.

[5] Hirschorn, R. "Invertibility of Multivariable Nonlinear Control Systems", IEEE Transactions on Automatic Control, Vol. AC-24, No.6, Dezembro 1979.

[6] Sing, S. "Invertibility of Observable Multivariable Nonlinear systems", IEEE Transactions on Automaic Control, Vol. AC-27, NO.2, Abril 1982.

[7] Rebhuhn, D. "Invertibili ty of Crt) Mui tibariable Input-Output Systems", IE'EE Transactions on Automatic Control, Vol. AC-25, No. 2, Abril 1980.

[8] Teixeira, E., Loparo, K., Gomide, F. "Feedback Linearization Of Dynamic Nonlinear Systems Using Neural Networks", 9 Congresso Brasileiro de Automática, Vol. 2, pp. 845-850, Setembro 1992

[9] Teixeira, E., Neto, L., Salerno, C. "Adaptive Control of Large Induction Motors with Highly Nonlinear Loads Using Neural Networks" , IECON' 92 International Conference on Industrial Electronics, Control, Instrumentation and Automation, Vol. 2, pp. 1099-1104, Novembro 1992

[10] Teixeira, E. "Controle de Sistemas Não Lineares através de Redes Neurais" Tese de doutorado apresentada a Universidade de Campinas, junho 1991.

- 26-