II - ITA

Propaganda
OTIMIZAÇÃO DE CONTROLADORES USANDO HARDWARE
COMPUTACIONAL NA CONFIGURAÇÃO MESTRE-ESCRAVO (II)
José Raimundo de Oliveira Silva
Karl Heinz Kienitz
IC
Resumo: Este trabalho propõe estratégias de otimização num hardware computacional na
configuração mestre-escravo empregado no controle digital de sistemas dinâmicos. Para tal, foram
desenvolvidos modelos de otimização paramétrica, baseados em lógica nebulosa, para controladores
de um sistema de levitação magnética usando essa arquitetura de hardware e as ferramentas xPC
Target, Real-Time Workshop, Simulink e Fuzzy Logical Toolbox do software Matlab.
Abstract: This work considers optimization strategies running on a computational hardware with a
host-target prototyping environment used in the digital control of dynamic systems. Models of
parametric optimization had been developed, based in fuzzy logic, for controllers of a magnetic
levitation system using this hardware architecture and the Matlab’s tools xPC Target, Real-Time
Workshop, Simulink and Fuzzy Logical Toolbox.
1. INTRODUÇÃO
Em meio a um grande número de sofisticados aplicativos especializados existentes para o
desenvolvimento de sistemas de Controle, a decisão sobre o melhor em cada circunstância passa antes
pela análise da arquitetura usada por ambientes de projetos, tipicamente composta de três partes: um
conjunto de ferramentas para a configuração de processos, uma interface mais amigável para interagir
com o usuário final e um programa supervisor para coordenar as ferramentas e execuções das
interfaces.
No antecessor a este trabalho, foi estudado o uso de hardware na configuração mestre-escravo
para simulações “hardware-in-the-loop” (HIL) de sistemas dinâmicos[1]. Esta arquitetura compõe-se
de dois PCs, sendo um deles (escravo) equipado com placas de conversão A/D e D/A da Computer
Boards, comunicando-se via interface serial para compartilhamento de tarefas controladas pelo mestre.
Esta etapa do projeto previu o estudo de ferramentas específicas do software Matlab para
implementação de heurísticas capazes de encontrar resultados otimizados para diferentes controladores
implementados. Para isso, foram estudadas estratégias de otimização de controladores para o kit
“levitador magnético” da Feedback usando conceitos de lógica nebulosa, bem como proposta uma
topologia para o otimização de parâmetros de controladores PID, escolhido por sugerir relações
lineares entre os elementos dos conjuntos fuzzy, para o modelo de sistema físico utilizado.
2. O SISTEMA DE CONTROLE FUZZY
A Lógica Nebulosa é aquela que suporta os modos de raciocínio que são aproximados em vez
de exatos. Segundo ela, o valor verdade de uma proposição pode ser um subconjunto nebuloso de
qualquer conjunto parcialmente ordenado, ao contrário dos sistemas lógicos binários, em que o valor
verdade só pode ser verdadeiro (1) ou falso (0). Nos sistemas multi-valores, o valor de uma proposição
pode ser ou um elemento de um conjunto finito, num intervalo, ou uma álgebra booleana. Na lógica
nebulosa, os valores verdade são expressos lingüisticamente (verdade, muito verdade, não verdade,
falso, muito falso), sendo cada termo interpretado como um subconjunto do intervalo unitário.
É dessa maneira que a lógica nebulosa constitui-se na base para o desenvolvimento de
métodos e algoritmos de modelagem e controle de processos, permitindo a redução da complexidade
de projeto e implementação, tornando-se a solução para problemas de controle até então intratáveis por
técnicas clássicas. Isso porque ele se adequa melhor que os métodos tradicionais aos casos em que as
relações matemáticas envolvidas que descrevem a planta do sistema em questão é desconhecida ou sua
obtenção impõe consideráveis dificuldades. Já um conjunto nebuloso terá maior flexibilidade,
inclusive quanto à utilização do resultado de uma função como a definida no exemplo da figura 1
como parâmetro de entrada para alguma tomada de decisão.
Figura 1 – Exemplo de uma relação de continência em conjuntos fuzzy
Essa peculiaridade vem de encontro à busca de uma otimização de controle, principalmente
porque o ponto ótimo está sempre melhor definido qualitativamente, mas deixa a dúvida: se
controladores PID e outros sistemas de controles tradicionais são tão bem desenvolvidos, porque
preocupar-se com lógica fuzzy? Como exemplo, considere-se que em muitos casos, o modelo
matemático do processo pode não existir ou ser muito “caro” em termos de poder de processamento
computacional e memória – e um sistema baseado em regras empíricas tende a ser mais efetivo.
Além disso, a lógica fuzzy é bem adaptada para implementações de baixo custo baseadas em
sensores baratos, conversores A/D de baixa resolução, chips microcontroladores de 4 ou 8 bits, e tais
sistemas podem ser facilmente atualizados através da soma de novas regras para aperfeiçoar a
performance ou incluir novas características. Em muitos casos, o controle fuzzy pode ser usado para
melhorar sistemas já existentes incluindo uma “capa extra de inteligência” ao método empregado.
Controladores fuzzy são muito simples conceitualmente; eles consistem de um estágio de
entrada, um de processamento e um de saída. O estágio de entrada mapeia sensores ou outros tipos de
entrada (tais como chaves, interruptores e assim por diante) de maneira apropriada a funções
consecutivas e valores verdadeiros. O estágio de processamento invoca cada regra adequada, gera um
resultado para cada uma delas e então combina os resultados dessas regras. Finalmente, a saída
converte o resultado combinado no estágio anterior para dentro do controle. Neste caso específico, a
saída será um parâmetro ajustado para melhorar as características de resposta do sistema.
3. LEVITADOR MAGNÉTICO
Aproveitando os resultados já obtidos, foi novamente usado como motivação o kit “levitador
magnético”, uma sistema físico conhecido e cuja representação se encontra a seguir:
Figura 2- Representação do levitador magnético
A função de transferência de malha aberta desse sistema é:
G( s ) =
- 29447.07
0.483s + 28s 2 − 1185.24 s − 68709.82
3
Dentro da idéia de desenvolver o primeiro controlador nebuloso a partir de um controlador
convencional implementado com sucesso e tão simples como um PID, partiu-se dessa função de
transferência conhecida do levitador para encontrar os parâmetros (P, I, D) = (5, 2, 1). Esses são
números aproximados aos determinados analiticamente. Preferiu-se tratar com valores inteiros mas
que, usados na simulação, levassem a um adequado comportamento estável, a fim de facilitar a
construção dos conjuntos “fuzzy”, uma etapa de desenvolvimento que se mostrou complicada por não
existir um procedimento padronizado para ela. Pelo contrário, demanda um pouco de sensibilidade e
paciência construir conjuntos e relações entre eles que expressem as regras qualitativas que se define
para a formação da saída. Nesse ponto, o uso do PID ajudou porque a saída é uma composição simples
das entradas ponderadas. Os pesos para as relações entre os conjuntos, recurso usado na ferramenta,
foram distribuídos de acordo com o “range” do conjunto e dos próprios parâmetros referidos acima.
4. CONFIGURAÇÃO MESTRE-ESCRAVO
Para a realização das simulações, foi pensada uma estrutura de hardware mais adequada,
sendo que a praticidade aponta imediatamente para uso de computadores do tipo desktop, ou PCs.
Acontece que eles se propõem a uma vasta gama de trabalhos, executando diversos tipos de
aplicativos num mesmo tempo compartilhado. Então, é interessante dispor de uma configuração em
que o “gargalo” não seja o fato de o processador precisar perder tempo realizando ações que não
colaboram diretamente com a simulação, o que é feito pelo sistemas operacionais mais populares.
Uma solução tradicional é o uso de um kernel de tempo real com placa DSP (Digital Signal
Processing) e conversores A/D e D/A para implementar as simulações. Acontece que a grande
especificidade e a necessidade de muitos recursos disponíveis nas placas colaboram para elevar seu
custo, a ponto de limitar o acesso de algumas empresas e instituições de pesquisa a esse equipamento.
Uma alternativa é a que utiliza dois PCs na configuração mestre-escravo, já que o escravo
(sem periféricos mas com conversores A/D e D/A) é mais barato do que uma placa DSP de alta
performance e fornece recursos computacionais comparáveis, desempenhando seu papel por não se dar
nele a interface com o usuário, apenas obedecendo a ordens do mestre e fazendo o trabalho “pesado”,
por assim dizer. No lugar de um programa específico, tem-se a opção de atuar com o software
comercial, como o Matlab, ou outro da escolha do usuário, que proporcione aplicações semelhantes.
Este citado pacote de programas, além do Simulink, em que é feita a programação dos
controladores, contém as ferramentas Real-Time Workshop e RealLink 32, responsáveis pela geração
do código executável, que usam em “background” um compilador C/C++. Inclue ainda o xPCTarget,
apropriada ao gerenciamento das tarefas executadas pelos PCs mestre e escravo, e o Fuzzy Toolbox,
específico para a implementação de sistemas nebulosos. A simplicidade e a facilidade de utilização de
todos esses recursos justificam o aparato técnico utilizado.
5. CONTROLADORES TRADICIONAIS X CONTROLADORES FUZZY
Dividindo os controladores em clássicos e avançados, distinguem-se os baseados em controle
em castata e do tipo PID dos controladores adaptativos, preditivos, não lineares e inteligentes. Esse
segundo grupo normalmente só é usado em situações em que limitações das técnicas convencionais
justificam o emprego de algoritmos mais complexos e conhecimentos matemáticos mais aprimorados,
o que pode dificultar a compreensão das estruturas empregadas, principalmente por operadores não
especializados. Nesses sistemas, a busca por maiores eficiência e robustez advém da aptidão dessa
metodologia ao tratamento de imprecisões, de raciocínios aproximados e de regras qualitativas.
Contudo, o que se explorou nesse trabalho não foi um caso em que o uso do controlador
nebuloso se justifica pela dificuldade em substituí-lo por um tipo tradicional, com que se trabalhou
antes. A diferença é que a abordagem que se deu não previa mais do que a simples observação da
relação entre parâmetros de controlador e as alterações qualitativas nessas características.
O que se pretendeu nessa outra fase foi não apenas entender como cada mudança influencia no
tempo de resposta do sistema, por exemplo, mas estabelecer um conjunto de regras que definem um
controlador ótimo e encontrar a melhor maneira de realizar os ajustes necessários para que se promova
essa otimização. A idéia foi fazer uma série de simulações, sendo que em cada uma delas um sistema
executado paralelamente monitora as características da resposta do sistema controlador-planta a um
mesmo estímulo externo (por simplicidade, uma função degrau) e toma decisão de alterar parâmetros
do controlador antes de refazer a simulação, com vistas a conduzir os resultados a obedecerem a
critérios a ser determinados que indicarão a obtenção do que se define como um controlador ótimo.
Figura 3 – Representação esquemática do otimizador planejado
A figura 3 apresenta essa proposta esquematizada. A máquina de inferência atua
paralelamente à simulação do controle analisando o impacto de cada modificação que ela provoca nos
parâmetros do controlador, podendo, a partir disso, tomar decisões de quais ajustes proporcionarão
resultados mais próximos dos esperados. Entende-se por resultado esperado a melhor saída obtida da
manipulação dos conjuntos fuzzy, apresentados na figura 4, segundo regras de relacionamento, como
as apresentadas na figura 5. A variância das gaussianas em todos os casos corresponde, em módulo, à
metade dos valores extremos das curvas apresentadas(60, 400 ou 820) e que são as respectivas médias.
Figura 4 – Utilização prática dos conjuntos nebulosos, mostrados no “Rule Viewer”
Nesse exemplo apresentado, os conjuntos foram bastante simples e a regra de decisão foi
definida pelos pesos impostos a cada resultado. Percebe-se aqui a possibilidade de se construir
aplicação prática de uma heurística simples, a título de demonstração, mas também se tem idéia da
liberdade que essa ferramenta de software utilizada propicia para a elaboração de controladores.
Figura 5 – Quadro de regras com operações do tipo “Se – Então” e seus pesos
A fase em que os problemas não superados foram encontrados correspondeu a
implementações como a que está apresentada na figura 6, já que deveria ser montado o otimizador dos
parâmetros de controle de posteriormente substituído pelo sistema físico de fato. A concepção dessa
topologia partiu da intenção de usar a saída do controlador fuzzy para ajustar os parâmetros do PID.
Como já foi dito, partindo dos valores iniciais utilizados nas simulações já referidas, o controlador
deveria ter um comportamento adaptativo, de maneira que ele analisasse as entradas e pudesse,
verificando qualitativamente as conseqüências das alterações feitas nos parâmetros, caminhar em
direção a valores que representassem uma situação ótima, dadas as condições esperadas na formação
dos critérios de decisão e conhecidos os parâmetros do sinal de excitação colocado.
Como modelo mais simples, os multiplicadores dos sinais da integral e da derivada foram
mantidos constantes e modificado apenas o fator de correção proporcional, inicialmente 5 (ou seja, a
busca pelo parâmetro ideal se daria em torno desse valor).Entretanto, apesar de, depois de muitas
tentativas, ter-se encontrado uma regra de formação dos conjuntos com as curvas gaussianas já
mostradas, a simulação apresentava um comportamento de estabilidade, enquanto que nos
subseqüentes testes em que o modelo era substituído pelo levitador real e a simulação feitas na
configuração mestre-escravo normal, o sistema se mostrou instável, frustrando as expectativas iniciais.
Figura 6 – Modelo de ajuste adaptativo para o parâmetro proporcional
6. CONCLUSÃO
Uma vez implementado o controle de um sistema, é plausível entender a importância de se ter
meios para modificar parâmetros do controlador de maneira que o resultado obtido seja otimizado.
Entende-se por otimização o processo de busca por características do sistema que mais se aproximem
daquelas que representam vantagens qualitativas definidas pelo usuário do sistema, como melhor
aproveitamento de recursos, menor esforço dispendido ou outro critério específico.
O diferencial desse projeto é a busca de um otimizador que incorpore as vantagens discutidas
dos sistemas de lógica nebulosa, como permitir o projeto de controladores para plantas cujas relações
matemáticas fundamentais sejam desconhecidas ou muito complicadas. Isso não ocore com o sistema
motivador, cujas características são bem conhecidas. Entretanto, entende-se como bastante válida a
idéia de partir de algo cujo modelo é bem definido e com que já se vem trabalhando há algum tempo,
em virtude de ser este um projeto em nível de graduação e de essa técnida ser relativamente nova e não
explorada em estudos iniciais de controle.
Escolhido como padrão o uso de modelos PID, foram levantados valores satisfatórios para a
implementação normal dessa técnida para controle do levitador magnético. Depois disso, sucessivas
implementações dessa ferramenta foram implementadas de modo a utilizar conjuntos nebulosos para
se obter os resultados do controlador PID. Começando por conjuntos mais simples com relações
lineares, em que o peso de cada um desses 3 parâmetros foi usado como ajuste na construção das áreas
de pertinência desses conjuntos, a seqüência foi mesclar resultados analíticos com a determinação de
valores de média e variância para a substituição das funções lineares por curvas gaussianas.
Na etapa seguinte de otimização dos parâmetros do PID calculado, o modelo usado foi
simplificado ao máximo para lidar com apenas 1 grau de liberdade e, mesmo assim, os resultados que
se conseguiu obter na simulação em que o comportamento do levitador foi também modelado, não se
repetiram com a efetiva utilização do sistema físico, em que não se apresentou estabilidade. Ficam
então levantadas as dúvidas sobre os motivos pelos quais o esquema apresentado na figura 6 não pôde
controlar a esfera do levitador. Ou mesmo se seria possível fazer esse controle encontrando valores de
média e variância satisfatórios para a determinação dos conjuntos nebulosos.
AGRADECIMENTOS
Ao Prof. Dr. Karl Heinz Kienitz, aos demais professores do Departamento de Sistemas e
Controle do Instituto Tecnológico de Aeronáutica (ITA), aos membros da Coordenação Local do
PIBIC e ao CNPq.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] SILVA, J.R.O. Simulação “hardware-in-the-loop” (HIL) usando Hardware Computacional na
Configuração Mestre-Escravo. Bolsa de Iniciação Científica, PIBIC, 2002
[2] NASCIMENTO JR. & YONEYAMA. Inteligência Artificial em Controle e Automação. São
Paulo: Editora Edgard Blücher Ltda, 2000.
[3] SANDRI, S.; CORREA, C. Lógica nebulosa. V Escola de Redes Neurais, pp. c73-c090, 1999.
[4]WONG, T.H. Design of a Magnetic Levitation Control System – An Undergraduate Project. IEEE
Transactions on Education, vol. E-29, No. 4, 1986
[5] OGATA, K. Engenharia de Controle Moderno. Prentice-Hall, 1990, 2a edição.
Download