Estudo e desenvolvimento de hardware evolutivo em FPGA

May 29, 2017 | Autor: Nicolas Rosa | Categoria: Genetic Algorithms, FPGA, PID controller design
Share Embed


Descrição do Produto

Estudo e desenvolvimento de hardware evolutivo em FPGA

N´ıcolas dos Santos Rosa Escola de Engenharia de S˜ ao Carlos Universidade de S˜ ao Paulo, S˜ ao Carlos, Brasil [email protected]

M´ arcio da Silva Arantes Instituto de Ciˆencias Matem´aticas e de Computa¸c˜ ao Universidade de S˜ao Paulo, S˜ao Carlos, Brasil [email protected]

Claudio Fabiano Motta Toledo Instituto de Ciˆencias Matem´ aticas e de Computa¸c˜ao Universidade de S˜ ao Paulo, S˜ ao Carlos, Brasil [email protected]

Arnaldo C´ esar dos Santos Instituto de Ciˆencias Matem´aticas e de Computa¸c˜ ao Universidade de S˜ao Paulo, S˜ao Carlos, Brasil [email protected]

2. Descri¸c˜ ao do Problema

Resumo

O ajuste preciso de um controlador PID visa produO presente estudo tem como foco o desenvolvimento de zir um comportamento adequado ao sistema controlado um projeto de Hardware Evolutivo, utilizando Field Pro[1]. O diagrama de blocos do sistema a ser otimizado ´e grammable Gate Array (FPGA) que permita a adapta¸c˜ao apresentado na Figura 1. em tempo real de circuitos eletrˆ onicos digitais. Este artigo descreve resumidamente a fase atual do projeto, onde um algoritmo gen´etico multi-populacional foi aplicado a um Otimizador Modelo problema de ajuste de controladores do tipo Proporcional, Integral e Diferencial (PID). Dois crit´erios de desempenho foram otimizados, the integral of the time multiplied by the absolute error (ITAE), e the integral of the time multiplied by the absolute output (ITAY). O c´ alculo dos crit´erios de controle foram realizados com o aux´ılio de uma rede neuR(s)+ U (s) Y (s) ral, previamente treinada para este prop´ osito. O hardware PI(s) G(s) desenvolvido nesta etapa do projeto fornece condi¸c˜oes para − que todo um estudo inicialmente simulado se aproxime de uma aplica¸c˜ ao real desenvolvida em hardware. D(s)

1. Introdu¸ c˜ ao Figura 1: Sistema de Controle O termo R(s) corresponde ao sinal de entrada, Y(s) corresponde ao sinal de sa´ıda e G(s) corresponde a uma planta gen´erica. Os PI(s) e D(s) s˜ao blocos da parte proporcional, integral e diferencial, cujas fun¸c˜oes de transferˆencia s˜ao:   1 P I(s) = kc 1 + s.ti

Controladores do tipo Proporcional, Integral e Diferencial s˜ ao amplamente usados em diferentes tipos de aplica¸c˜ oes devido a sua estrutura simples, que apresenta somente trˆes termos para ajuste, e seu desempenho robusto sobre uma grande variedade de condi¸c˜oes de opera¸c˜ oes. No campo da rob´ otica, os sistemas que controlam posi¸c˜ ao de cˆ ameras, manipuladores, velocidade de motores utilizam controladores PID. A partir do trabalho de Ziegler e Nichols [5] em 1942, v´ arios m´etodos para auto ajuste dos parˆ ametros dos controles PID tˆem sido propostos na literatura. Neste artigo a utiliza¸c˜ ao de um algoritmo gen´etico multi-populacional ´e proposto para o ajuste das constantes do controlador PID.

D(s) =

1 + s.td td , tf = 1 + s.tf 10

Os parˆametros PID = [kc ti td ] ser˜ao ajustados atrav´es do Bloco otimizador. A planta a ser otimizada utilizando 1

o m´etodo proposto ´e:

e mutation() s˜ao aplicados e uma nova popula¸c˜ ao ´e produzida. De acordo com a taxa de crossover() escolhida e−s e o tamanho da popula¸c˜ao, o n´ umero de indiv´ıduos inG(s) = s+1 seridos na popula¸c˜ao(insert()) ´e definido. Quando nenhum indiv´ıduo ´e inserido numa gera¸c˜ao, atinge-se a conOs parˆ ametros PID ser˜ ao avaliadas por uma rede neu- vergˆencia. Neste momento, a fun¸c˜ao executeMigration() ral (RN). Para este trabalho foram treinadas duas rotaciona os best individuals entre as popula¸c˜ oes. O RNs com a topologia ilustrada na Figura 2, uma para m´etodo ´e finalizado, ap´os um definido n´ umero de avamapeamento de ITAE e outra para ITAY, onde: lia¸c˜oes ser atingido. O indiv´ıduo ´e representado como R um vetor, P ID = [kc ti td ], cujos parˆametros foram IT AE = R t|e(t)|dt, e(t) = y(t) − r(t) explicados na se¸c˜ao 2. Os indiv´ıduos s˜ao gerados pela IT AY = t|y(t)|dt fun¸c˜ao initialize() contendo valores randˆomicos dentro do intervalo de dom´ınio estabelecido para cada parˆ ametro: kc  [0.20 0.94], ti  [0.23 1.32] e td  [0.05 0.33]. O fitness de cada indiv´ıduo ´e determinado pela propaga¸c˜ao atrav´es das RNs.O valor de fitness ´e determinado pela seguinte equa¸c˜ao: F itness = w1 M P LIT AE + w2 M P LIT AY Figura 2: Topologia da NN utilizada O objetivo ´e otimizar o erro do sinal de sa´ıda em rela¸ca˜o ao sinal de referˆencia (reference tracking), e melhorar a rejei¸c˜ ao ` a perturba¸c˜ ao do sistema. Um terceiro ´ındice de desempenho foi proposto para este trabalho, sendo este dependente dos dois u ´ltimos apresentados:

Os parˆametros w1 e w2 representam pesos usados para definir qual crit´erio de controle deseja-se otimizar. O AG apresenta trˆes m´etodos de crossovers implementados: arithmetic [4] , geometrical [4] e blend [2]. Tamb´em apresenta trˆes tipos de muta¸c˜ao. O primeiro tipo substitui o parˆametro escolhido por um valor sorteado randomicamente, obedecendo aos limites deste parˆ ametro. O segundo substitui o parˆametro pelo valor m´ınimo ou m´aximo do seu dom´ınio. O terceiro tipo substitui o parˆametro escolhido pelo seu oposto dentro de seu dom´ınio: newV alue = max + min − oldV alue.

IT AE IT AY = 0.5 ∗ IT AE + 0.5 ∗ IT AY

3. Algoritmo Gen´ etico Algorithm 2: Multi-Populatiion GeneticAlgorithm 1. repeat 2. fori  1 tonumberOfP Populationsdo 3. initialize(pop(i)); 4. evaluate (pop(i)); 5. structure(pop(i)); 6. repeat 7. for j  1 to nCrosso overs do 8. (ind1,ind2)selected dParents(pop(i)); 9. newInd  crossover(ind1,ind2); tionthen 10. ifexecutedMutat 11. newInd  mutati ion(newInd); 11. evaluate(newInd); 12. insert(newInd, pop(i)); 13.structure (pop(i)); 14.until convergence(po op(i)); 15.executeMigration(pop p(i)); 16.untilnumberOfEvaluat tions;

4. Hardware Esta se¸c˜ao apresenta informa¸c˜oes relevantes sobre a especifica¸c˜ao do hardware desenvolvido. Utilizamos como principal ferramenta o processador NIOS II embarcado em Field Programmable Gate Array(FPGA). O hardware utilizado foi o kit de desenvolvimento DE2-70 da Altera - Cyclone II - EP2C70F896C6N - 100MHz, cujos recursos forneceram suporte a uma arquitetura de dois n´ ucleos(multicore). O esquem´atico do hardware est´ a representado na figura 4. No primeiro n´ ucleo ´e executado o algoritmo gen´etico multi-populacional(MPGA). No segundo n´ ucleo, ´e executado o algoritmo de atualiza¸c˜ ao dos parˆametros do controlador(loop control ). Os processos s˜ ao executados somente no interior do processador NIOS II, nenhum trecho de c´odigo do AG foi implementado em hardware propriamente dito. Outro aspecto que deve ser levado em considera¸c˜ao ´e a simula¸c˜ao do controlador PID. Logo, o sinal de entrada (sinal Rk ) ´e discreto, podendo este n´ıvel de discretiza¸c˜ao ser ajustado. Para que exista a intera¸c˜ao do AG com o controlador ´e necess´aria a existˆencia de uma regi˜ao compartilhada, onde o algoritmo gen´etico possa disponibilizar as constantes(kc ,ti ,td ) ao controlador. Deste modo, o algoritmo de atualiza¸c˜ao do controlador

O pseudoc´ odigo do algoritmo gen´etico (AG) multipopulacional proposto ´e descrito na figura acima. O AG apresenta 3 popula¸c˜ oes geradas pela fun¸c˜ ao initialize(), cujos indiv´ıduos s˜ ao avaliados pela fun¸c˜ ao evaluate(). Os indiv´ıduos est˜ ao estruturados em ´ arvores bin´ arias com 4 clusters em cada popula¸c˜ ao. Os melhores indiv´ıduos s˜ao mantidos nos n´ıveis mais altos desta ´ arvore, estabelecendo uma estrutura hier´ arquica. A fun¸c˜ ao structure() se encarrega de estruturar e manter estruturada hierarquicamente a popula¸c˜ ao. Os operadores gen´eticos, crossover() 2

fica encarregado de utilizar as constantes de ajuste que se encontram nesta regi˜ ao.

Figura 4: Resposta ao sinal Rk com n´ıvel T = 0.1s de discretiza¸c˜ao do sinal. 1,50

Rk Yk

1,25

1,00

Rk

0,75

0,50

0,25

0,00

-0,25

Figura 3: Esquem´ atico do Hardware - Nios II Multicore.

-0,50 0

5

10

15

20

25

30

35

Tempo (s)

5. Resultados Figura 5: Resposta ao sinal Rk com n´ıvel T = 0.25s de discretiza¸c˜ao do sinal.

Os resultados obtidos mostram a rela¸c˜ ao do sinal de entrada(sinal Rk ) e o sinal de sa´ıda do sistema(sinal Yk ). Ambos os resultados foram executados utilizando a mesma configura¸c˜ ao de AG, isto ´e, com 3 popula¸c˜ oes independentes estruturadas em ´ arvore bin´ aria de 7 indiv´ıduos cada, taxa de crossover de 100%, taxa de muta¸c˜ ao de 90% e o tempo de simula¸c˜ ao estipulado foi de 30s. O n´ıvel de discretiza¸c˜ ao do sinal de entrada foi o u ´nico parˆ ametro de configura¸c˜ ao que foi alterado. Ambos os resultados convergiram para seguinte solu¸c˜ ao PID = [kc = 0, 581148 ti = 0, 941919 td = 0, 108323]. Observando a resposta para T = 0.1s representada na figura 5, ´e poss´ıvel notar que inicialmente o conjunto de parˆ ametros de ajuste n˜ ao oferece a uma resposta com desempenho otimizado, isto ´e, com baixo sobressinal(Mp ) e baixo tempo de acomoda¸c˜ao(ts ). Por outro lado, ap´ os algumas itera¸c˜ oes do AG foi conferido ao sistema o melhor ajuste dos parˆ ametros para o controlador PID. J´ a no segundo caso, como o grau de discretiza¸c˜ ao ´e maior, o aprendizado do GA fica prejudicado. Devido a isso, a resposta do sistema fica suscet´ıvel `a manifesta¸c˜ ao de um conjunto de constantes ruins para o ajuste do controlador. Neste caso, ´e poss´ıvel ver claramente que as primeiras solu¸c˜ oes conferiram um p´essimo sinal de resposta, pois o sistema ficou inst´ avel. A resposta tende a crescer indefinidamente. Em contrapartida, as pr´oximas itera¸c˜ oes do AG conferiram a melhor solu¸c˜ ao poss´ıvel para o sistema, corrigindo o problema de estabilidade.

6. Conclus˜ oes Os resultados indicam que o algoritmo gen´etico proposto consegue oferecer solu¸c˜oes satisfat´orias na sintonia autom´atica das constantes de ajuste do controlador PID[3]. O projeto na etapa atual n˜ao oferecer ainda como resultado uma aplica¸c˜ao direta com implementa¸c˜ oe do AG e PID em hardware. Para projetos futuros, a implementa¸c˜ao de trechos do AG em hardware incrementar´ a a velocidade do processo de busca por melhores solu¸c˜ oes. O desejo de conseguir deixar de lado todo o ambiente simulado est´a presente, e por conta disso, estudos que j´ a obtiveram sucesso com esse tipo de controle digital por algoritmos gen´eticos ser˜ao tomados como base para trabalhos futuros.

Referˆ encias [1] Karl J. ˚ Astr¨om and Tore H¨agglund. Advanced PID Control. ISA, 2006. [2] L. J. Eshelman and J. D. Schaffer. Real-coded genetic algorithms and interval-schemata. pages 187–202, 1993.

Rk Yk

1,75

1,50

[3] J.M.G. Lima. Sintonia autom´atica de controladores pid: uma abordagem neurogen´etica. 2004.

1,25

1,00

Rk

0,75

[4] Z. Michalewicz. Genetic algorithms + data structures = evolution programs. 1996.

0,50

0,25

0,00

[5] J. Ziegler and N. Nichols. Optimum settings for automatic controllers. pages 759–768, 1942.

-0,25

-0,50

-0,75 0

5

10

15

Tempo (s)

20

25

30

3

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.