UNI UNI VERSIDADE FEDERA FEDERALL DE OURO OURO PRETO ESCOLA ESCOLA DE MI M I NAS COLEGI COL EGIADO ADO DO DO CURSO CURSO DE ENGENHARIA ENGENHARI A DE CONTROL CONTROLE E E AUTOMAÇÃO AUTOM AÇÃO - CECAU
MOZZER MOZZER ANTONI ANTONI O DE DE OLI VEIRA VEI RA SI SI L VA
ESTUDO ESTUDO DE TÉCNICA TÉ CNICAS S DE CONTROL CONTROL E APL I CADA AO SI SI STEMA TE MA PÊNDUL PÊNDULO O INVERTIDO
M ONOGRAFI ONOGRAFI A DE DE GRADUAÇÃO GRADUAÇÃO EM ENGEN E NGENHARI HARI A DE DE CONTR CONTROL OLE EE AUTOMAÇÃO
Ouro Preto, 2009
MOZZER ANTONIO DE OLIVEIRA SILVA
M ONOGRAFI ONOGRAFI A DE DE GRADUAÇÃO GRADUAÇÃO EM ENGEN E NGENHARI HARI A DE DE CONTR CONTROL OLE EE AUTOMAÇÃO
Monografia apresentada ao Curso de Engenharia de Controle e Automação da Universidade Federal de Ouro Preto como parte dos requisitos para a obtenção do Grau de Engenheiro de Controle e Automação. Orientador: Monteiro
Ouro Preto Escola de Minas – UFOP Agosto/2009
Paulo
Marcos
de
Barros
MOZZER ANTONIO DE OLIVEIRA SILVA
M ONOGRAFI ONOGRAFI A DE DE GRADUAÇÃO GRADUAÇÃO EM ENGEN E NGENHARI HARI A DE DE CONTR CONTROL OLE EE AUTOMAÇÃO
Monografia apresentada ao Curso de Engenharia de Controle e Automação da Universidade Federal de Ouro Preto como parte dos requisitos para a obtenção do Grau de Engenheiro de Controle e Automação. Orientador: Monteiro
Ouro Preto Escola de Minas – UFOP Agosto/2009
Paulo
Marcos
de
Barros
“Pássaros têm asas e voam, animais têm patas e andam. O que você tem feito com o pensamento?”
Sumário LISTA DE FIGURAS ........................................... .................................................................. ............................................. ............................................ ..........................66 LISTA DE TABELAS .......................................... ................................................................. ............................................. ............................................ ..........................66 RESUMO ............................................ .................................................................. ............................................ ............................................. ...........................................9 ....................9 ABSTRACT .......................................... ................................................................ ............................................ ............................................. .........................................10 ..................10
1 . INTRODUÇÃO.......................... INTRODUÇÃO................................................ ............................................. ............................................. ............................................11 ......................11 1.1. Descrição do problema .......................................... ................................................................. ............................................. ................................. ...........11 11 1.2. Objetivo ........................................... ................................................................. ............................................. ............................................. ................................. ...........11 11 1.3. Metodologia.......................... Metodologia................................................ ............................................. ............................................. ............................................11 ......................11 1.4. Estrutura do trabalho .......................................... ................................................................ ............................................ ..................................... ...............11 11 2. CONTROLE INTELIGENTE .......................................... ................................................................. ............................................. ............................... .........22 2.1 Controle Clássico vs Controle inteligente ............................................ ................................................................... ............................ .....22 2.2 Escolha do Controlador .......................................... ................................................................. ............................................. ................................. ...........14 14 3. LÓGICA FUZZY ............................................ .................................................................. ............................................ ............................................. ............................ .....22 3.1. A Lógica Clássica X Lógica Fuzzy .................................................................................2 3.2 Conjuntos nebulosos............................................ nebulosos.................................................................. ............................................ .......................................2 .................2 3.3 Função de pertinência.................................. pertinência......................................................... ............................................. ............................................18 ......................18 3.4 Operações em Conjuntos Nebulosos ............................................. ................................................................... ................................. ...........20 20 3.5 Sistemas Fuzzy.......................................... ................................................................ ............................................ ............................................. .......................... ...22 22 3.5.1 Fuzzificação ........................................ ................... ......................................... ......................................... .......................................... ................................. ............ 22 ......................... ................. ................ ................. ................. ................. ................. ................. ................. .............. ...... 24 3.5.2 Base de Conhecimento ................
3.5.3 Inferência ........................................ ................... .......................................... .......................................... .......................................... .................................... ............... 24 3.5.4 Defuzzificação ....................................... .................. .......................................... .......................................... .......................................... ............................. ........ 25
4. PÊNDULO INVERTIDO............................... INVERTIDO..................................................... ............................................ ............................................. ............................ .....22 4.1 Trabalhos anteriores ............................................ .................................................................. ............................................ ..................................... ...............29 29 4.2 Modelo Matemático......................................... Matemático............................................................... ............................................. .........................................31 ..................31 5. Controle Fuzzy para pêndulo invertido............................................ invertido.................................................................. .......................................1 .................1 Fuzzy ....................................................................................1 5.1 Modelagem do controlador Fuzzy
5.2 Resultados..................................... Resultados............................................................ ............................................. ............................................ ..................................... ...............39 39 CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS FUTUROS...................... .......................................2 .................2 REFERÊNCIAS BIBLIOGRAFICAS ............................................ ................................................................... ...........................................3 ....................3
8. ANEXO I: Fuzzy Logic Toolbox ............................................................................................2
LISTA DE FIGURAS Figura 3.1- Função característica do conjunto “crisp”. ............................................................18 Figura 3.2 - Função característica do conjunto nebuloso.........................................................18 Figura 3.3 - Função de Pertinência Triangular.........................................................................19 Figura 3.4 - Função de Pertinência Trapeizodal.......................................................................19 Figura 3.5 - Função de Pertinência Gaussiana .........................................................................20 Figura 3.6- Principais t-normas. ...............................................................................................21 Figura 3.7 - Principais t-conormas. ..........................................................................................21 Figura 3.8 - Arquitetura básica de um sistema Fuzzy ...............................................................22 Figura 3.9 - Função de pertinência para a variável lingüística temperatura.............................23 Figura 3.10 - Modelo Mamdani................................................................................................25 Figura 3.11 - Modelo Larsen ....................................................................................................25 Figura 3.12 - Método de defuzzificação da Média dos Máximos............................................26 Figura 3.13 - método de defuzzificação do Centro de Área.....................................................27 Figura 4.1 - Esquema de um pêndulo invertido Duplo ..............................................................2 Figura 4.2 - Segway..................................................................................................................29 Figura 4.3 - Modelo físico do pêndulo invertido......................................................................32 Figura 4.4 - Diagrama de Corpo Livre .....................................................................................32 Figura 5. 1 - Modelo físico do pêndulo invertido.......................................................................1 Figura 5.2 - Função de pertinência da entrada Posição da Barra .............................................36 Figura 5.3 - Função de pertinência da entrada Velocidade Angular ........................................36 Figura 5.4 - Função de pertinência da saída Tensão aplicada no Motor ..................................37 Figura 5.5 - Tela com as Regras do sistema.............................................................................38 Figura 5.6 - Rule Viewer ..........................................................................................................39 Figura 5.7 - Surface ..................................................................................................................39 Figura 5.8 - Modelo Simulink para Controlador PID...............................................................40 Figura 5. 9 - Resposta do modelo com o Controlador PID ......................................................41 Figura 5.10 - Modelo Simulink para Controlador Fuzzy ..........................................................41 Figura 5.11 - Resposta do modelo com o Controlador Fuzzy ..................................................42 Figura 5. 12 - Sinal de Controle do Controlador PID...............................................................42
Figura 5. 13 - Sinal de Controle do Controlador Fuzzy ............................................................43 Figura 8. 1 - FIS Editor...............................................................................................................2 Figura 8. 2 - Membership Function Editor ...............................................................................49 Figura 8. 3 - Rule Editor...........................................................................................................50 Figura 8. 4 - Rule Viewer .........................................................................................................50
LISTA DE TABELAS Tabela 3.1 - Tabela de pertinência para os conjuntos clássicos. ..............................................17 Tabela 3.2 - Tabela de pertinência para os conjuntos Fuzzy....................................................17 Tabela 3.3 - Principais t-normas e t-conormas.........................................................................21 Tabela 4. 1 - Variáveis para o Modelo Matemático do pêndulo invertido ...............................32 Tabela 5. 1 - Variáveis de Entrada e Saída.................................................................................1 Tabela 5. 2- Tabela de inferência .............................................................................................37 Tabela 5. 3 - Comparação dos resultados do controlador PID e Fuzzy....................................42
RESUMO Com o avanço tecnológico, recursos computacionais estão sendo utilizados nas mais diversas técnicas de controle. Além da teoria de controle clássica, estão hoje em foco o uso de controladores inteligentes que se diferenciam dos sistemas convencionais por sua habilidade de tomar decisão e por sua capacidade de aprendizagem. Diante deste contexto, propõe-se um estudo de uma dessas técnicas de controle, o controle Fuzzy, aplicada ao pêndulo invertido. A escolha do sistema pêndulo invertido se deu devido ao seu comportamento. O pêndulo invertido é percebido em situações típicas tais como o controle de atitude de um satélite em órbita terrestre, ou a trajetória de foguetes e mísseis ou em equipamentos como o Segway. Fisicamente ele é composto por um carro móvel e uma haste oscilante cujo objetivo é manter a haste na posição vertical, como equilibrar um bastão na palma da mão. O sistema pêndulo invertido, por ser bastante conhecido, possibilita a aplicação de várias técnicas de controle lineares, não-lineares e otimizantes, podendo-se fazer a comparação e validação dessas técnicas de forma consistente.
O controlador Fuzzy é um controlador baseado no
conhecimento, sem a necessidade de modelagem do sistema a ser controlado. Esse fato é muito importante quando se trata de sistemas dinâmicos complexos como o pêndulo invertido. Assim, desenvolve-se um controlador Fuzzy comparando-o com um controlador PID. O controlador Fuzzy desenvolvido possui resposta a distúrbio mais eficaz que aquela obtida pelo controlador PID.
Palavras-chave: Pêndulo Invertido, Controlador Fuzzy, Controlador PID
ABSTRACT With the advance technology, computer resources are being used in several techniques of control. Today are on focus the use of intelligent controllers that are different from conventional systems because they have ability to take decision and for their ability to learn. It is proposed a study of one of these techniques of control, Fuzzy control, applied to the inverted pendulum. The choice of the inverted pendulum was because of their behavior. The inverted pendulum is seen in typical situations such as control the attitude of a satellite in earth orbit, or the trajectory of rockets and missiles or in equipments as the Segway. Physically it is composed by a mobile car and oscillating stick whose goal is to keep the stick upright, just like equilibrate a stick in the palm of your hand. The inverted pendulum system, as well known, allows the implementation of various control techniques for linear, nonlinear and otimizantes and can be made for comparison and validation of these techniques consistently. The Fuzzy controller is a controller based on knowledge, without the need for modeling the system to be controlled. This fact is very important when dealing with systems of complex dynamic such as the inverted pendulum. Thus, the Fuzzy controller developed is compared with a PID controller. The Fuzzy controller has developed response to disorder more effective than the PID controller.
K eywords: Inverted pendulum, Fuzzy controller
1 . INTRODUÇÃO Devido aos avanços tecnológicos, cada vez mais os sistemas de controle estão usando de recursos computacionais para atuar em suas plantas. Esses recursos permitem os mais diversos tipos de controle. Eles estão presentes em vários setores da indústria, tais como controle de qualidade e fabricação de produtos, linha de montagem automática, controle de ferramentas, tecnologia espacial e de armamento, sistemas de transporte, sistemas de potência, robôs e muitos outros. Nesse contexto, este trabalho busca desenvolver um controlador Fuzzy aplicado ao sistema pêndulo invertido. O pêndulo invertido é percebido em situações típicas tais como o controle de atitude de um satélite em órbita terrestre, ou a trajetória de foguetes e mísseis ou em guindastes navais. Outro sistema de compreensão semelhante é o Segway, uma espécie de patinete em que as rodas estão acopladas ao mesmo eixo. O pêndulo invertido pode ser comparado a uma barra sendo equilibrada na palma da mão. Para se manter barra na posição vertical movimenta-se a mão a fim de compensar algum movimento que contrarie o equilíbrio. Muitas vezes sistemas de comportamento conhecido são usados para análise de eficiência e robustez dos mais diversos controladores. Esse é o caso do pêndulo invertido, em que técnicas de controle lineares, não-lineares e otimizantes são empregadas. O uso de controladores baseados na Lógica Fuzzy proporciona a possibilidade de supervisão inteligente usando apenas informações qualitativas sobre a operação do sistema, não havendo necessidade de modelagem. A escolha de um controlador desse tipo para atuar num sistema tão instável quanto o pêndulo invertido é devido a habilidade que um controlador Fuzzy tem em tratar vários objetivos, mesmo com requisições conflitantes, de forma se obter um bom compromisso na estratégia de controle.
1.1. Descrição do problema Desenvolver um controlador Fuzzy para manter a estabilidade de um pêndulo invertido, ou seja, manter a barra na posição vertical e que o sistema reaja a perturbações de forma rápida.
1.2. Objetivo Estudar e analisar um sistema de controle Fuzzy desenvolvido para um pêndulo invertido.
11
1.3. M etodologia As tarefas desenvolvidas durante a pesquisa podem ser divididas em três etapas: •
Formulação de uma base teórica;
•
Desenvolvimento do controlador
•
Análise dos resultados comparando o controle Fuzzy com um controle PID para o mesmo sistema.
A execução do trabalho foi baseada no seguinte roteiro de atividades: •
Estudo de como desenvolver um sistema de controle Fuzzy;
•
Simulação no Matlab;
•
Análise dos resultados obtidos.
1.4. Estrutura do trabalho Para uma melhor compreensão do trabalho, a monografia foi dividida em 6 capítulos, a lista de referências bibliográficas e um anexo. No Capítulo 2 é descrito o que é controle inteligente sua importância e utilização. É feito, também, um paralelo com o controle clássico e descreve-se quando é necessário a implantação de um Sistema de controle inteligente. No Capítulo 3 aborda-se a Lógica Fuzzy. É realizado um estudo sobre os conjuntos Fuzzy e sobre todo o funcionamento de um sistema Fuzzy. No Capítulo 4 tem-se uma descrição sobre o pêndulo invertido e de trabalhos anteriores sobre o tema. É apresentado o modelo matemático do pêndulo invertido utilizado na monografia. No Capítulo 5 é apresentado o controlador desenvolvido e a análise dos resultados obtidos em comparação a um controlador PID para o mesmo sistema. No Capítulo 6, tem-se as conclusões
do
trabalho
e
sugestões
para
trabalhos
futuros.
2. CONTROLE INTELIGENTE Sistema de controle inteligente é um sistema que possui a habilidade de sentir o seu ambiente, processar as informações para reduzir as incertezas nos parâmetros do processo, planejar, gerar e executar ações de controle. Um sistema de controle inteligente deve ser capaz de distribuir as tarefas de decisão entre um conjunto de executores de tarefas, utilizando intensivamente os computadores disponíveis para inferir o estado atual do sistema e detectar mudanças no seu estado interno e na sua vizinhança. Um sistema de controle inteligente se diferencia de sistemas convencionais por sua habilidade de tomar decisão e por sua capacidade de aprendizagem. Isto permite ao sistema de controle inteligente inferir sobre a dinâmica do processo de uma forma adaptativa e preditiva (CAVALCANTI, 1999). Um sistema de controle inteligente pode ser implementado com técnicas usuais de controle: controladores lineares do tipo PID e controladores adaptativos propostos por Ribeiro (2007) e Bugeja (2003) ou pode ser acoplado a técnicas de inteligência artificial: neurônios artificiais, lógica Fuzzy ou sistemas especialistas propostos por Drummond (1999), Miranda (2003) e Cavalcanti (1999). Tudo isso utilizando-se microcomputadores para o controle digital e a gerência do sistema. Há também Controladores de Automação Programável, conhecidos como PAC’s. Os PAC’s combinam a robustez de um CPL (Controlador Lógico Programável) com funcionalidade de um PC em uma arquitetura de software aberto. Com esses controladores, você pode construir sistemas avançados que incorporam recursos de software, tais como controle avançado, comunicação, armazenamento de dados e processamento de sinal.
2.1 Controle Clássico vs Controle inteligente No controle clássico é necessário, antes de mais nada, ter um modelo matemático para que exista o controle de um processo. Um modelo é uma representação dos aspectos essenciais de um sistema, que apresenta conhecimento desse sistema em uma forma utilizável (EYKHOFF, 1974). Como dito, o modelo não exprime todo o sistema. Ele o representa apenas em uma faixa de espaço. Essa faixa é escolhida para corresponder à faixa de trabalho do sistema. Uma vez fora dessa faixa o sistema pode ter um comportamento imprevisível gerando respostas inadequadas ao seu propósito. Na busca de se obter modelos matemáticos simples, certas restrições são feitas, por exemplo, assumindo-se que o processo é linear, ou seja, que variações nas entradas produzem
13
variações proporcionais nas saídas. Ao se assumir a propriedade de linearidade, pode-se utilizar técnicas extremamente poderosas e conhecidas na área de engenharia e tecnologia, com soluções analíticas ideais. Entretanto, sistemas não-lineares não possuem uma teoria geral para solução analítica, e muitas vezes necessitam ser linearizados em torno de um ponto de operação. Uma vez a análise do modelo não fornece resultados compatíveis com a realidade, o modelo precisa ser aprimorado utilizando métodos de identificação. Outra restrição muito utilizada em análises de sistemas lineares é que os parâmetros de processo não se alteram, ou seja, que o sistema seja invariante no tempo, apesar de na realidade ocorrer deterioração dos componentes dos sistemas com o passar do tempo, além de impactos ambientais, tais como influencias de temperatura e pressão. Devido a tais simplificações, o projetista em geral encontra serias dificuldades no desenvolvimento de uma descrição matemática significativa e realista de um processo industrial. Desta forma é importante que os projetistas que aplicam tal conhecimento sejam capazes de compreender processos estocásticos, álgebra multivariável e processamento digital de sinais, por exemplo. No entanto, o conhecimento necessário para se projetar, implementar e manter um sistema de controle desse porte está muito além do que é necessário para se operar sistemas PID em plantas industriais. Na realidade, os controladores PID representam exatamente o máximo da teoria compreensível pela maioria dos operadores de plantas industriais, enquanto que equipamentos que utilizam teoria de controle multivariável necessitam de pessoal com um nível maior de compreensão matemática. O controlador PID (Proporcional – Integral – Derivativo) tem esse nome devido a forma que ele atua no sistema. A parte P atua de forma proporcional a um erro, a parte I atua de forma proporcional à integral no tempo deste erro e aparte D atua de forma proporcional à derivada no tempo deste erro. A equação de um controlador PID é dada por:
Em que Kp é o ganho proporcional, Ki é o ganho integral e Kd é o ganho derivativo.
14
O controlador Proporcional atua de forma a diminuir o erro em regime permanente, isto é, melhor a precisão do sistema em malha fechada. Esse erro pode ser diminuído aumentando o Kp. Por outro lado, quanto maior o ganho, maior a variação no comportamento transitório do sistema em malha fechada. Na maioria dos processos físicos, o aumento excessivo do ganho proporcional pode levar o sistema a instabilidade. O controlador Integral garante erro nulo em regime permanente, aumentando a precisão do sistema. A ação integral tem assim uma função "armazenadora de energia". A partir de um determinado tempo t o erro é igual a zero, isto é, e(t)
= 0, o sinal o sinal de controle u(t) será mantido em um valor constante proporcional a
"energia armazenada" até o instante t , garantindo o erro nulo em regime permanente. O controlador Derivativo é dito de ação antecipatória ou preditiva, porque tende a fazer com que o sistema reaja mais rapidamente. Este fato faz com que a ação derivativa seja utilizada para a obtenção de respostas transitórias mais rápidas, ou seja, para a melhora do comportamento dinâmico do sistema em malha fechada. O controlador Derivativo atua apenas durante a resposta transitória, devido ao fato de que em regime permanente, o sinal de erro é constante a ação derivativa será igual a zero. A propriedade fundamental de controladores inteligentes, especialmente os controladores Fuzzy, é de serem baseados em experiência de operadores humanos e/ou especialistas em um
determinado processo industrial, em vez de utilizarem modelos matemáticos, fazendo com que o treinamento de operadores e técnicos de manutenção seja muito mais fácil e barato, permitindo que pessoal menos qualificado possa ser utilizado para operar uma planta industrial. Por isso, esse fator pode se tornar um argumento poderoso ao se decidir pela adoção de controladores Fuzzy em certas aplicações específicas (BARROS, 2003; LIMA, 2007).
2.2 Escolha do Controlador A utilização de controle inteligente não pode ser vista como uma solução para o controle em todos os processos mais complexos, sendo incorreta a atitude de simplesmente trocar todos os controladores convencionais por controladores Fuzzy. Há diversas análises que devem ser feitas ao se decidir qual controlador deve ser utilizado (SIMOES; SHAW, 2007). Se a planta ou o processo que está sendo controlado não é completamente linear, mas a não linearidade entre a entrada e a saída é conhecidamente uma função suave, sem descontinuidades, ou se apesar do processo ser não linear ele opera em um ponto fixo, a
15
solução com controladores PID é ainda uma excelente solução custo/benefício. Em tais condições, os controladores PID podem controlar plantas, mesmo com dinâmica desconhecida, uma vez que a componente P representa o erro de realimentação instantâneo, a componente I representa a integral do erro que contribui para a história passada da realimentação e a componente D representa a derivada do erro, a qual tende a antecipar o comportamento futuro do erro de realimentação. Se os parâmetros de cada componente são sintonizados para o desempenho específico da planta, a ação do controlador será satisfatória. A tarefa de sintonia implica na otimização de características de resposta, tais como amortecimento, sobre-sinal, tempo de acomodação e erro em regime permanente. A propriedade de linearidade garante que as três estratégias individuais de controle (P + I + D) possam ser combinadas em uma forma aditiva, fazendo com que a malha de realimentação consiga compensar, por mudanças nos parâmetros da planta, ruídos e alterações ambientais, enquanto que a ocorrência de não-linearidade impõe uma certa interação entre tais fenômenos, podendo tornar difícil a sintonia, ou até mesmo impossível. Assim o controlador PID representa três estratégias de controle, que dinamicamente ajustam o comportamento do sistema por meio do erro da malha de realimentação. Uma das mais importantes características de controladores Fuzzy é a habilidade em se executar controle multiobjetivos, mesmo com requisições conflitantes, de forma se obter um bom compromisso na estratégia de controle. Usando-se sensores apropriados, um controlador Fuzzy
de duas entradas e uma saída e capaz de emular a ação de controle multiobjetiva do
operador humano. Seria muito difícil se utilizar um controlador PID de entrada e saída únicas, para tal propósito multiobjetivo (OLIVEIRA, 2008)
16
3. LÓGICA FUZZY O uso de controladores baseados na Lógica Fuzzy proporciona a possibilidade de supervisão inteligente usando apenas informações qualitativas sobre a operação do sistema, não havendo necessidade de modelagem. A Lógica Fuzzy (que significa algo como vago ou impreciso e é tratada também como Lógica Nebulosa ou Difusa) propõe uma análise diferente da análise proposta pela Lógica Clássica.
3.1. A L ógica Clássica X Lógica Fuzzy A Lógica Clássica ou Lógica aristotélica, por ser creditado a Aristóteles o primeiro estudo formal do raciocínio, tem dois princípios centrais: a lei da não-contradição e a lei do terceiro excluído. A lei da não-contradição diz que nenhuma afirmação pode ser verdadeira e falsa ao mesmo tempo e a lei do terceiro excluído diz que qualquer afirmação da forma “P” ou “nãoP” é verdadeira, ou seja, P ou a sua negação é verdadeira. Pode-se observar que a Lógica Clássica trabalha somente com os conceitos de falso ou verdadeiro. A Lógica Fuzzy ou Lógica Nebulosa, proposta por Zadeh (1965), permite inferências intermediárias entre o falso (zero) e o verdadeiro (um). Zadeh (1965) analisou que, frequentemente, alguns objetos não podem ser definidos segundo um critério. Por exemplo, a classe dos animais inclui claramente os cachorros, peixes e pássaros e excluem as árvores, água e pedras. Porém, objetos como a estrela-do-mar possuem ambigüidades quando se trata da classe animal. Outro exemplo se dá para perguntas como: “Aquele homem é alto ou baixo?” ou “A taxa de risco para aquele empreendimento é grande ou pequena?”, um sim ou um não como resposta a estas questões é, na maioria das vezes, incompleta. Na verdade, entre a certeza de ser e a certeza de não ser, existem infinitos graus de incerteza (ZADEH, 1965).
3.2 Conjuntos nebulosos Zadeh (1965), então, propôs os conjuntos nebulosos ( Fuzzy set ) que diz que: dado um determinado elemento que pertence a um domínio, é verificado o grau de pertinência do elemento em relação ao conjunto. O grau de pertinência é a referência para verificar o quanto “é possível” esse elemento pertencer ao conjunto. O grau é calculado por meio de uma determinada função que retorna geralmente um valor real que varia entre 0 a 1, sendo que 0 indica que não pertence ao conjunto, e 1 pertence. Utilizando-se o exemplo para classificar a
17
estatura de uma pessoa em alta, média ou baixa, dividiremos a classificação em três grupos: “baixo”, “médio”, e “alto”. Tabela 3.1 - Tabela de pertinência para os conjuntos clássicos.
Baixo
Médio
Alto
1,50m
1
0
0
1,60m
1
0
0
1,70m
0
1
0
1,80m
0
1
0
1,90m
0
0
1
2,00m
0
0
1
Tabela 3.2 - Tabela de pertinência para os conjuntos Fuzzy.
Baixo
Médio
Alto
1,50m
1
0
0
1,60m
0,5
0,4
0
1,70m
0
1
0
1,80m
0
0,4
0,5
1,90m
0
0
1
2,00m
0
0
1
Fica claro, pela análise das tabelas, a diferença entre os conjuntos clássicos e os conjuntos nebulosos. Enquanto nos conjuntos clássicos apenas se classifica em verdadeiro ou falso os conjuntos nebulosos permitem a classificação em vários tipos intermediários entre verdadeiro e falso. Formalmente, um conjunto nebuloso A do universo de discurso Ω é definido por uma função de pertinência µ A : Ω → [0,1]. Essa função associa a cada elemento x de Ω o grau µA(x), com o qual x pertence a A. A função de pertinência µ A(x) indica o grau de compatibilidade entre x e o conceito expresso por A (SANDRI e CORREA, 1999): •
µA(x) = 1 indica que x é completamente compatível com A;
•
µA(x) = 0 indica que x é completamente incompatível com A;
•
0 < µA(x) < 1 indica que x é parcialmente compatível com A, com grau µ A(x).
18
Um conjunto A da teoria dos conjuntos clássicos pode ser visto como um conjunto nebuloso específico, denominado usualmente de “crisp”, para o qual µ A : Ω → {0,1}, ou seja, a pertinência é do tipo “verdadeiro ou falso” e não gradual como para os conjuntos nebulosos.
3.3 Função de pertinência Cada conjunto nebuloso é caracterizado pela sua função de pertinência que é uma curva que
define o grau de pertinência (valor entre 0 e 1) de cada entrada. Para representar melhor o conceito de função de pertinência utiliza-se o exemplo anterior para mostrar os conjuntos de pessoas de estatura baixa, média e alta pelo método convencional de conjuntos (crisp) e pelo método Fuzzy, no qual são mostradas as funções de pertinência de cada um dos conjuntos.
Figura 3.1- Função característica do conjunto “crisp”.
Figura 3.2 - Função característica do conjunto nebuloso.
19
Nas Figuras 1 e 2 o eixo vertical esta representado pelos graus de pertinência (intervalo de 0 a 1) e o eixo horizontal representa a altura de cada pessoa. A função de pertinência associa cada entrada (altura) com uma saída (grau de pertinência). Observe que uma pessoa com que mede 1,85m possui um grau de pertinência de 0,7 para estatura alta e 0,2 para estatura média. Diferentemente da FIG. 1 que fica impossível definir se a estatura de uma pessoa de 1,85m é média ou alta. Vale salientar que as funções de pertinência podem assumir várias formas, ficando a cargo do projetista a escolha da forma mais conveniente para sua aplicação, as mais utilizadas são: •
Triangular
Figura 3.3 - Função dePertinência Triangular
A função de pertinência triangular é definida da seguinte forma: (3.1)
•
Trapezoidal
Figura 3.4 - Função de Pertinência Trapeizodal
20
A função de pertinência trapezoidal é definida da seguinte forma:
(3.2)
•
Gaussiana
Figura 3.5 - Função de Pertinência Gaussiana
A função de pertinência triangular é definida da seguinte forma: (3.3) As funções triangulares e trapezoidais são as mais populares devido a simplicidade dessas funções e ao fato de que o custo computacional adicional exigido pelos outros tipos de função não refletem, em geral, em uma melhoria significativa na qualidade dos valores de saída dos sistemas (YEN & LANGARI 1 , 1999, apud ORTEGA, 2001).
3.4 Operações em Conjuntos Nebulosos Sejam A e B conjuntos nebulosos definidos em Ω. Pode-se expressar a interseção destes conjuntos, como outro conjunto E = A ∩B. Da mesma forma, pode-se expressar a união como um conjunto
1
. Na teoria dos conjuntos nebulosos, a interseção é implementada por
Yen J. & Langari R. 1999. Fuzzy Logic: Intelligence, Control, and Information. Prentice Hall, EUA.
21
uma família de operadores denominados de t-normas e a união é implementada por uma família de operadores denominados de t-conormas ou S-normas (SANDRI e CORREA, 1999). É importante notar que as t-normas e t-conormas se reduzem aos operadores clássicos de união e interseção quando os conjuntos são “crisp”. A Tabela abaixo indica as t-normas e tconormas mais utilizadas e as Figuras 6 e 7 mostram alguns destes operadores, em relação a dois conjuntos nebulosos A e B. Estes operadores satisfazem as leis de De Morgan em relação ao operador de negação: ¬a = 1 – a. Tabela 3.3 - Principais t-normas e t-conormas.
t-norma
t-conorma
Nome
min(a,b)
max(a,b)
Zadeh
a.b
a + b – ab
Probabilista
max(a + b – 1, 0)
min(a + b, 1)
Lukasiewicz Weber
Figura 3.6- Principais t-normas.
Figura 3.7 - Principais t-conormas.
Os operadores mais usualmente utilizados são os operadores de Zadeh e os probabilistas.
22
3.5 Sistemas F uzzy O controlador nebuloso tem aplicação extremamente ampla e é usado em sistemas de dinâmica complexa, incluindo não-linearidade. Ele é um controlador baseado nos conhecimentos obtidos pela descrição parcial do comportamento do sistema, por especialistas utilizando-se do seu conhecimento heurístico, ou esse conhecimento pode ser inferido a partir de dados de entrada-saída do sistema. Isso tudo, sem a necessidade de modelagem do sistema a ser controlado. Tais afirmações podem ser observadas nos trabalhos desenvolvidos por Lima (2007), Barros (2003) e Pinheiro (2000). Assim, os sistemas Fuzzy são sistemas baseados em regras que utilizam variáveis lingüísticas difusas (conjuntos nebulosos) para executar um processo de tomada de decisão. Um sistema Fuzzy pode ser expresso por:
Figura 3.8 - Arquitetura básica de um sistema Fuzzy
3.5.1 Fuzzificação A primeira etapa de um sistema Fuzzy é a fuzzificação (ou fuzzification, em inglês). Esse processo consiste em transformar as variáveis de entrada em variáveis lingüísticas. Variável lingüística é uma tripla: (V, X, T) onde: •
V é o nome da variável lingüística
•
X é o conjunto de referência
•
T é o conjunto de valores lingüísticos que a variável V pode assumir
23
Cada valor lingüístico é um conjunto nebuloso definido por uma função de pertinência. Considerando-se um sistema em que se deseja saber se uma pessoa está com febre. Esse sistema terá um dado de entrada: a temperatura do corpo. Transformando para uma variável lingüística temos: •
V → temperatura
•
X → conjunto de temperaturas válidas, por exemplo, {25°C, 50°C}
•
T → {sem_febre, febre, febre_alta}
Figura 3.9 - Função de pertinência para a variável lingüística temperatura
Para uma entrada do sistema, o conjunto nebuloso deve cobrir inteiramente o eixo horizontal. O mapeamento para o eixo vertical varia de 0 a 1 e representa o grau com que um valor de entrada pertence aquele conjunto nebuloso. A sobreposição dos limites é desejável e também fundamental para o funcionamento harmonioso do sistema. Esta sobreposição permite a pertinência em múltiplos conjuntos, mesmo que aparentemente contraditórios. Uma sobreposição de 25% entre conjuntos nebulosos adjacentes é uma boa regra prática (MIRANDA, 2003). Na Figura 9, para uma Temperatura de 36°C representa tanto o conjunto sem_febre quanto o conjunto febre, mas com um maior grau de pertinência para sem_febre. O processo de fuzzificação permite que uma forte ligação ocorra entre os termos lingüísticos e suas funções de pertinência fazendo os termos significativos para um computador. Como resultado é possível expressar ou modificar o comportamento de um sistema, usando termos da linguagem natural, aumentando-se, assim, a possibilidade de se ter descrições claras e concisas de tarefas complexas.
24
3.5.2 Base de Conhecimento Base de Conhecimento consiste de uma base de dados e uma base de regras, de maneira a caracterizar a estratégia de controle e as suas metas. Na base de dados ficam as definições das funções de pertinência dos termos nebulosos. A base de regras é formada por estruturas do tipo Se
Então . A parte Se, contém uma ou mais condições que correspondem, diretamente, aos graus de pertinência calculados durante o processo de fuzzificação. A parte Então contém uma ou mais ações que vão definir onde e como será o comportamento do controlador. Em um dado controlador nebuloso, é importante que existam tantas regras quantas forem necessárias para mapear totalmente as combinações dos termos das variáveis, isto é, que a base seja completa, garantindo que exista sempre ao menos uma regra a ser disparada para qualquer entrada.
3.5.3 Inferência A inferência é a etapa mais importante de um sistema Fuzzy, é por meio dela que é feita a tomada de decisão. Quando várias regras inferem a mesma variável lingüística, os resultados são agregados por meio de alguma operação matemática. Os tipos de inferência mais utilizados são os modelos clássicos, que são modelos propostos por Mamdani e por Larsen. Nos modelos clássicos, a conclusão de cada regra resulta em um termo nebuloso dentre um conjunto fixo de termos (geralmente em número menor que o número de regras), ou seja, a inferência é feita analisando separadamente o resultado de cada regra da base de conhecimento, assim, é feita a agregação dos resultados das regras. Além dos modelos clássicos há o modelo de interpolação, proposto por Sugeno. Nesse modelo a conclusão é dada por meio de uma combinação linear das entradas, tendo como parâmetros um conjunto de constantes. Para cada regra obtêm-se um único valor para a variável de controle. Finalmente, uma ação de controle global é obtida fazendo-se uma média ponderada dos valores individuais obtidos, onde cada peso é o próprio grau de compatibilidade entre a premissa da regra e as entradas, normalizado. Para o modelo de Mamdani, a inferência é dada por: I = min(a, b). Para o modelo de Larsen a inferência é dada por: I = a * b. Como pode ser observado nas Figuras 10 e 11:
25
Figura 3.10 - Modelo Mamdani
Figura 3.11 - Modelo L arsen
3.5.4 Defuzzificação É o processo que faz o mapeamento de um conjunto nebuloso para um valor numérico, o qual pode ser um comando para algum atuador. Uma vez que o procedimento de inferência produz como resultado um conjunto nebuloso e, o que se deseja é um valor numérico para que seja possível atuar no sistema, é necessário aplicar um método de conversão que chamamos de defuzzificação. Os métodos mais utilizados são: o da média dos máximos, e o do centro de área; que são descritos a seguir.
26
3.5.4.1 Média dos Máximos
No método de defuzzificação da Média dos Máximos (MM), calcula-se a média de todos os valores de saída que tenham os maiores graus de possibilidade. Sua fórmula matemática é dada por: (3.4)
A principal limitação do método de defuzzificação MM é que ele não considera a forma total do conjunto Fuzzy de saída. Sendo assim, duas distribuições de possibilidades que apresentem diferentes formas, porém o mesmo conjunto de valores com grau de pertinência máximo, quando defuzzificados com esta técnica fornecerá o mesmo valor clássico, o que é contraintuitivo. A Figura 12 mostra um exemplo onde isso ocorre.
Figura 3.12 - Método dedefuzzificação da Média dos Máximos
3.5.4.2 Método do Centro de Área - COA
Na técnica do Centro de Área para calcular o valor representativo considera-se toda a distribuição de possibilidade de saída do modelo. O procedimento é similar ao usado para calcular o centro de gravidade em física quando se considera a função de pertinência μA(x) como a densidade de massa de x. Por outro lado, o método do Centro de Área pode ser
27
compreendido como uma média ponderada, onde μA(x) funciona como o peso do valor x. Se x é discreto, então a defuzzificação da conclusão Fuzzy A é dada por: (3.5)
A Figura 13 exemplifica o método de defuzzificação com o Método do Centro de Área.
Figura 3.13 - método dedefuzzificação do Centro de Área
28
4. PÊNDULO INVERTIDO O pêndulo invertido é um sistema inerentemente instável e bastante complexo. Uma implementação relativamente recente é o controle da oscilação de arranha-céus. Na atualidade, engenheiros e arquitetos têm surpreendido o mercado de construções com edifícios de alturas cada vez maiores. Estas construções tendem a apresentar o inconveniente de se tornarem vulneráveis a ações de ventos, causando oscilações desagradáveis e em alguns locais do mundo sendo até mesmo perigosas. A solução criativa que vem sendo adotada é a de se instalar grandes contrapesos móveis no topo destes edifícios de forma que eles possam se mover de um lado para o outro compensando a ação da força do vento e reduzindo a amplitude do movimento da estrutura (RIBEIRO, 2007). Modelos biomecânicos do modo de caminhar dos seres humanos têm aplicações em muitas áreas como esportes, fabricação de calçados, robótica etc. A posição ereta estável de um ser humano ao caminhar se aproxima muito de um pêndulo invertido pivotado em suas articulações. A modelagem resultante é conhecida como pêndulo invertido Humano (HIP Human Inverted Pendulum).
A maioria dos trabalhos desenvolvidos com o sistema pêndulo invertido para simulações e controles dos mais diversos, é composto da haste articulada (pêndulo) presa a um carro móvel que se move sobre um trilho. Porém, é possível encontrar sistemas com mais de um grau de liberdade como o Double inverted pendulum proposto por Bogdanov (2004) e Rubí (2002) ou onde o movimento do carro não está limitado a somente um eixo como o veículo de duas rodas baseado no pêndulo invertido proposto por Ooi (2003). Há também o Segway, uma versão comercial desse sistema.
Figura 4.1 - Esquema de um pêndulo invertido Duplo
29
Figura 4.2 - Segway
4.1 Trabalhos anteriores A abordagem mais comum é com o uso de um controlador PID. Ribeiro (2007) utilizou do Matlab/Simulink para a implementação prática do algoritmo de controle PID com o Toolbox de tempo real. Foi analisada também a reação a distúrbios e pode-se concluir que a malha de controle é capaz de compensar estes distúrbios dentro de determinada faixa de perturbação. Destacou-se também nesse trabalho a construção física do modelo com partes de sucatas de uma impressora e componentes eletrônicos. Machado (2006) desenvolveu um programa em C/C++ para implementar o controlador PID. Usou o sistema operacional QNX Neutrino, que é muito utilizado por profissionais que necessitam de equipamentos com estabilidade total na realização das tarefas. O acionamento do motor do carro é realizado por PWM. O controlador desenvolvido teve boas respostas a pequenas perturbações, compensando o desequilíbrio com os deslocamentos rápidos do carrinho. Leonor e Neves (2004) desenvolveram o pêndulo invertido sobre um robô móvel. Utilizaram o executivo (kernel) de tempo real SHaRK para implementação do controlador. Porém, todo o projeto do controlador foi feito usando-se o Matlab. O controlador utilizado foi o PD e obteve-se um bom equilíbrio para o Pêndulo, apesar do robô não conseguir parar na determinada posição.
30
Outros autores que usaram um controlador PID foram Muralikrishna e Morais (2004). O sistema enfatiza a modelagem dinâmica que foi obtida usando-se a Mecânica Lagrangeana. Eles também usaram o Matlab para simulação e testes do sistema. Soares (2005) apresentou uma análise matemática sobre a estabilidade do pêndulo não-linear Invertido empregando o critério de estabilidade segundo Lyapunov. Analisou o pêndulo invertido não-linear e concluiu que para manter o sistema em equilíbrio deve-se aplicar uma excitação externa periódica com amplitudes pequenas e altas freqüências no seu ponto de suspensão, ou seja, no carro. Uma variação mais elaborada do controle de um pêndulo é apresentada por Bugeja (2003), no qual o equilíbrio de um pêndulo invertido é iniciado com a haste na sua posição de descanso inferior. O algoritmo de controle utiliza técnicas de linearização por retroação de estados e considerações sobre a energia do sistema para mover a haste até sua posição superior para ser equilibrada. Para o controle do equilíbrio da haste, é utilizado um controlador projetado em espaço de estados. A técnica de controle em cascata é empregada para reduzir a complexidade do sistema permitindo-se que duas malhas de controles independentes sejam implementadas. Lam (2004) usa um sistema de controle em cascata semelhante a Bugeja (2003). Para fazer o levantamento do Pêndulo ( swing-up) usou-se de dois métodos distintos: um controlador não linear heurístico e um controlador baseado na energia do sistema. Uma vez o Pêndulo estando na posição vertical, passa a atuar no sistema um regulador linear quadrático para manter o equilíbrio da barra. Observou-se que os dois controladores desenvolvidos para o levantamento do Pêndulo mostraram-se capazes. Porém, o controlador baseado na energia do sistema foi considerado mais robusto e confiável do que o controlador heurístico. Åström e Furuta (1996) também apresentam o controle feito pela informação da energia do pêndulo ao invés dos dados da sua posição e velocidade. O comportamento do levantamento da haste é completamente caracterizado pela razão entre a máxima aceleração da haste e a aceleração da gravidade. Outro tipo de abordagem é feita utilizando-se controladores inteligentes. Drummond (1999) utiliza redes neurais de Base Radial como o controlador do sistema. O treinamento da rede foi realizada pelo Toolbox de Redes Neurais do MATLAB. A rede treinada era composta de 274 neurônios, sendo o espalhamento da função de ativação gaussiana de 0,5. Ele comparou o seu
31
controlador com outros dois: um controlador PI e um controlador Fuzzy. Observou que o controlador PI possui um comportamento mais instável e que o controlador Fuzzy apresentou resultados semelhantes ao seu controlador. Miranda (2003) projetou um controlador Fuzzy para o pêndulo invertido. Definiu-se como entradas para o sistema as variáveis: ângulo e velocidade angular, e como saída a variável força que é a que será controlada. Em suas conclusões, observou que para implementação do controlador seria necessário considerar mais variáveis de entrada como massa da esfera na ponta do Pêndulo, massa da base, atrito da base com a superfície, atrito com o ar. Mesmo assim, Miranda afirmou que o controlador forneceu bons resultados. Muralikrishna e Morais (2005) desenvolveram um controlador Fuzzy com o Toolbox de Lógica Fuzzy do Matlab, abordando o sistema com três entradas e uma saída. As entradas foram definidas como: ângulo da barra, derivada do erro da barra e a posição e velocidade do carro. Como a saída a ser controlado foi definida a força horizontal aplicada ao carro. Ele observa a aplicabilidade do controlador Fuzzy uma vez que pode ser projetado baseando-se apenas em informações qualitativas sobre a operação do sistema. Por fim, comparou-se o desempenho do controlador com o um controlador PID e o controlador Fuzzy mostrou-se superior. Cavalcanti (1999) descreve um novo sistema de controle inteligente Evolucionário para um pêndulo invertido, baseado em controlador neural, lógica nebulosa e algoritmo genético. Algoritmos genéticos são usados para gerar diferentes parâmetros do controlador híbrido, composto de um controlador neural direto e lógica nebulosa, para posicionar o pêndulo invertido com peso desconhecido na posição de equilíbrio instável com sucesso.
4.2 Modelo Matemático Para simulação e validação do controlador a ser desenvolvido é necessário ter um modelo matemático do comportamento do sistema. O modelo apresentado foi desenvolvido por Messner e Tilbury (2008) que determinou que o Pêndulo não se moveria mais do que alguns graus de distância da referência. Da mesma forma, o modelo não se preocupou com a posição do carro tendo o foco somente no controle da posição da barra.
32
Figura 4.3 - Modelo físico do pêndulo invertido
Para esse trabalho, assumimos que: Tabela 4. 1 - Variáveis para o Modelo Matemático do pêndulo invertido Variável Significado Valores M Massa do carro 0.5 kg m Massa do Pêndulo 0.2 kg b Atrito do carro 0.1 l Altura do centro de massa do Pêndulo 0.3 m I Inércia do Pêndulo 0.006 kg*m^2 F Força Aplicada no carro x Coordenada da posição do carro Ângulo do Pêndulo com a vertical θ
Apresenta-se o diagrama de corpo livre do sistema:
Figura 4.4 - Diagrama deCorpo Livre
Por meio das forças na direção horizontal do diagrama de corpo livre do carro tem-se a seguinte equação de movimento: (4.1)
33
É possível, também, obter-se equações para as forças verticais do carro. Porém, nenhuma informação útil seria adquirida. Por meio das forças na direção horizontal do diagrama de corpo livre do Pêndulo, tem-se a seguinte equação de movimento: (4.2)
Substituindo-se a equação (1) em (2), tem-se a primeira equação do movimento para este sistema: (4.3)
A segunda equação de movimento vem por meio das forças perpendiculares ao Pêndulo: (4.4)
Para se excluir as variáveis P e N, calcula-se os momentos em torno do centróide do pêndulo: (4.5)
Combinando-se estas duas últimas equações, obtém-se a segunda equação dinâmica: (4.6)
Fazendo-se a linearização do modelo e definindo-se que
e representa a entrada):
. Assim,
,
. Desta forma, as duas equações de movimento são (em que u
34
(4.7)
Para se obter a função de transferência, deve-se aplicar a transformada de Laplace e organizar a função em torno dos dados de entrada e saída. A função de transferência desse sistema é dada por:
(4.8)
em que: (4.9)
Aplicando-se os valores das variáveis presentes na Tabela 4, tem-se: (4.10)
35
5. Controle F uzzy para pêndulo invertido 5.1 Modelagem do controlador F uzzy
Figura 5. 1 - M odelo físico do pêndulo invertido
Para desenvolver o controlador Fuzzy para o pêndulo invertido foi utilizado o Toolbox de Lógica Fuzzy ( Fuzzy Logic Toolbox). Primeiro, definiu-se as variáveis de entrada e saída com o seus respectivos domínios, apresentado na tabela abaixo: Tabela 5. 1 - Variáveis de Entrada e Saída
Entradas Saída
Variável
Range
Posição da barra (rad)
[-0.8 0.8]
Velocidade angular (rad/s) [-2 2] Força aplicada ao carro (V) [-20 20]
O domínio das variáveis adotadas foi determinado empiricamente por Dietrich (2008) em que, os limites máximos para os valores de θ (ângulo) foram definidos como ±45º, que equivale a 0.8 rad. Para a velocidade, as simulações definiram valores de ±2 rad/s como limites aceitáveis. A saída, tensão de controle, foi limitada em ± 20V, supondo-se um motor acionado por esta tensão. As funções de pertinência foram definidas por meio de simulações. Buscou-se organizar as variáveis de forma que o movimento da haste e do carro fosse eficaz e suave ao mesmo tempo. Para as entradas definiu-se apenas três valores e a faixa do valor desejado para a posição e velocidade angular da barra possui um domínio muito estreito. Para a variável de saída definiu-se cinco valores o aumento no número de valores se deu para a suavização do movimento do carro e maior precisão no controle. As funções ficaram da seguinte forma:
36
Figura 5.2 - Função de pertinência da entrada Posição da Barra
Figura 5.3 - Função de pertinência da entrada Velocidade Angular
37
Figura 5.4 - Função de pertinência da saída Tensão aplicada no Motor
Baseado na observação e análise do movimento do pêndulo invertido e nos conhecimentos da física newtoniana, definiu-se a tabela de inferência, que representa a ação do controlador para as situações possíveis nas quais o modelo pode se encontrar. Os dados de entrada, posição e velocidade angular são interpretados como medidas nebulosas. Os valores de entrada são divididos em três regiões: Negativo (N), Zero (Z) e Positivo (P), onde a primeira coluna da tabela representa os valores para posição e a primeira linha os valores de velocidade angular.
Tabela 5. 2- Tabela de inferência VELOCIDADE ANGULAR O Ã Ç I S O P
N
ZERO
P
N
MN
MN
PN
ZERO
PN
ZERO
PP
P
PP
MP
MP
Na tabela de inferência representa-se a ação do controlador para as situações possíveis nas quais o modelo pode se encontrar. A solução da tabela se dá interpolando-se os valores de entrada posição e velocidade. O intervalo de saída foi dividido em cinco regiões: Muito Negativo (MN), Pouco Negativo (PN), Zero (Z), Pouco Positivo (PP) e Muito Positivo (MP). Abaixo as regras para o controle do sistema.
38
Figura 5.5 - Tela com as Regras do sistema
As regras adotadas para esse sistema são: 1. If (Posicao is NEG) and (Velocidade is NEG) then (Motor is MUITONEG) 2. If (Posicao is NEG) and (Velocidade is ZERO) then (Motor is MUITONEG) 3. If (Posicao is NEG) and (Velocidade is POS) then (Motor is POUCONEG) 4. If (Posicao is ZERO) and (Velocidade is NEG) then (Motor is POUCONEG) 5. If (Posicao is ZERO) and (Velocidade is ZERO) then (Motor is ZERO) 6. If (Posicao is ZERO) and (Velocidade is POS) then (Motor is POUCOPOS) 7. If (Posicao is POS) and (Velocidade is NEG) then (Motor is POUCOPOS) 8. If (Posicao is POS) and (Velocidade is ZERO) then (Motor is MUITOPOS) 9. If (Posicao is POS) and (Velocidade is POS) then (Motor is MUITOPOS) O Toolbox permite duas formas de verificação do controlador: o Rule Viewer e o Surface. Com o Rule Viewer é possível selecionar valores para as variáveis de entrada e verificar como o controlador Fuzzy responde a cada regra previamente estipulada, além do valor numérico obtido na defuzzificação.
39
Figura 5.6 - Rule Viewer
O Surface permite verificar todas as relações entre entrada e saída por meio de uma superfície que relaciona duas variáveis de entrada com uma variável de saída.
5.2 Resultados
Figura 5.7 - Surface
Os resultados obtidos têm por finalidade avaliar o desempenho, assim como a robustez do controlador nebuloso para o problema do pêndulo invertido, comparando-o com um método de controle clássico, o controlador PID desenvolvido por Messner e Tilbury (2008). Todos os experimentos foram realizados utilizando-se a formulação matemática da dinâmica de comportamento do Pêndulo apresentados na sessão 4.2.
40
A implementação do sistema foi desenvolvida no Simulink. O Simulink permite a simulação de fenômenos físicos e, assim, ajustar os controladores para que eles tenham o melhor desempenho. As simulações foram feitas iniciando-se com a construção do diagrama de blocos que representa o sistema pêndulo invertido. Definiu-se como zero a posição de referencia, ou seja, a posição de equilíbrio do Pêndulo. Colocou-se o bloco para o controlador; acrescentou-se um bloco ( Transfer Fcn) que possui o modelo matemático do pêndulo invertido, equação 10. Fez-se a realimentação da saída do sistema para comparação entre a referencia e a posição atual, gerando um sinal de erro para que o controlador possa atuar. Além disso, aos 5 segundos é adicionado um distúrbio do tipo impulso unitário para verificar o comportamento do controlador. A planta de simulação para o controlador PID desenvolvido por Messner & Tilbury (2008) apresentou o seguinte resultado:
Figura 5.8 - Modelo Simulink para Controlador PI D
41
Figura 5. 9 - Resposta do modelo com o Controlador PID
Os parâmetros utilizados no controlador PID são: P = 100, I = 1 e D = 20. Observa-se que o sistema com o controlador PID apresenta uma boa reação ao distúrbio voltando a posição inicial em pouco mais de 2 segundos. O controlador Fuzzy possui como entrada, além da posição do Pêndulo, a velocidade angular da barra, que é obtida por meio da derivada da posição. O controlador Fuzzy conseguiu ser mais eficiente quanto à resposta ao distúrbio porém, há um pequeno erro em regime permanente após o distúrbio. A reação ao distúrbio ficou em pouco mais de 1 segundo.
Figura 5.10 - M odelo Simulink para Controlador Fuzzy
42
Figura 5.11 - Resposta do modelo com o Controlador Fuzzy
Abaixo, a tabela de comparação entre os dois controladores: Tabela 5. 3 - Comparação dos resultados do controlador PID eFuzzy. PID Fuzzy
Sinal de Controle Sobre sinal Tempo de acomodação (2%) Erro em regime permanente 0 -1,18 2,30% 2s -1,18
1%
1,4s
O sinal de controle do sistema aplicado está descrito nas Figuras 28 e 29:
Figura 5. 12 - Sinal de Controle do Controlador PI D
0.000086
43
Figura 5. 13 - Sinal de Controle do Controlador Fuzzy
44
CONCLUSÕES E SUGESTÕES PARA TRABALHOS FUTUROS Os controladores Fuzzy vem sendo aplicados com sucesso no controle de processos onde os controladores convencionais falham ou não exibem um bom desempenho devido, principalmente, a um conhecimento impreciso do comportamento dinâmico e dos parâmetros do processo. Assim, é de extrema importância estudar e desenvolver sistemas com essa abordagem. Os controladores Fuzzy permitem o controle de sistemas por meio de informações qualitativas, sem necessidade de modelar o sistema. Desta forma, sistemas de dinâmica complexa podem ter um controle eficiente sem necessidade de linearização do sistema. É importante saber que à medida que o sistema fica mais complexo é necessário definir as regras de controle buscando-se abranger a complexidade do sistema. O sistema pêndulo invertido é um excelente modelo para implementação de diversos tipos de controle por ser um sistema extremamente instável e de dinâmica conhecida. As perspectivas para trabalhos futuros são a montagem física do sistema pêndulo invertido para aplicação desse controlador e, também, para o desenvolvimento de outros controladores. É interessante também utilizar de outras formas de funções de pertinência e de inferência buscando-se gerar novos controladores.
REFERENCIAS BIBLIOGRAFICAS ÅSTRÖM, K. J., FURUTA K.; Swing-up a Pendulum by Energy Control ; 13th IFAC World Congress, San Francisco-CA, 1996 BARROS, L. C.; BASSANEZI, R. C.; JAFELICE, R. S. M.; Controle Fuzzy Aplicado à
Biomatemática; IMECC – UNICAMP, Campinas, 2003 BOGDANOV, Alexander; Optimal Control of a Double Inverted Pendulum on a Cart; Oregon Health & Science University, Department of Computer Science & Electrical Engineering, 2004 BUGEJA, M.; Non-linear Swing-up and Stabilizing Control of an Inverted Pendulum
System; EUROCOM 2003, Slovenia, 2003 CAVALCANTI - Posicionamento de um Pêndulo Invertido Usando Algoritmos
Genéticos - SBA Volume 10 – número 1, 1999 DIETRICH, J. V.; SILVA, Y. G.; Modelagem de um controlador fuzzy para pêndulo
invertido utilizando a Fuzzy Logic Toolbox; 2008 DRUMMOND, A. C. et al; Estudo do Controle de Pêndulo Inverso sobre Carro
utilizando Rede Neural de Base Radial; IV Congresso Brasileiro de Redes Neurais pp. 320325; ITA, São José dos Campos, 1999 FEITOSA,
H.
A.;
Sobre
a
história
da
lógica;
Disponível
em:
FUZZY Logic Toolbox User s Guide, 1995. THE MATHWORKS, Inc. Disponivel em: . ’
GARCIA, C.; Modelagem e Simulação de Processos Industriais e de Sistemas
Eletromecânicos; 2. Ed.; São Paulo: Editora da Universidade de São Paulo, 2005 KOHAGURA, T.; Lógica fuzzy e suas aplicações; Departamento de Computação, Universidade
Estadual
de
Londrina,
Londrina,
2007
46
LAM, J.; Control of an Inverted Pendulum; University of California, Santa Barbara, 2004. Disponível em: < http://www.ece.ucsb.edu/~roy/cgi-bin/makepage.pl?nav=projects>. LEONOR, M.; NEVES, M.; Construção de um pêndulo invertido sobre um robô móvel controlado com o executivo SHaRK; revista do DETUA, VOL. 4, Nº 2, 2004 LIMA, M. P.; AMORIM, C. A.; Proposta de um modelo fuzzy para apoio à tomada de
decisão no Controle de Tráfego Aéreo do Aeroporto Internacional de Salvador; Universidade do Estado da Bahia, Salvador – BA, 2007 MACHADO, A. G.; Sistemas em Tempo Real: Controlo de pêndulo invertido; Faculdade de Engenharia, Universidade do Porto, 2006 MESSNER, W.; TILBURY, D.; Control Tutorials for MATLAB and Simulink, 1998. Disponível em: < http://www.engin.umich.edu/class/ctms/index.htm> MIRANDA, P.; Sistema deControle Difuso de Mamdani Aplicações: Pêndulo Invertido e
outras; Monografia (Graduação em Análise de Sistemas). Departamento de Computação e Estatística, Universidade Federal de Mato Grosso do Sul, 2003 MORAIS, M. et al. Pêndulo Invertido; INPE; 2004 MORAIS, M. H. E.; MURALIKRISHNA, A.; BRAVO, R.; GUIMARÃES, L. N. F. Um
Controlador Nebuloso Aplicado ao Problema do Pêndulo Invertido. São Paulo. 2005. OGATA, K.; Engenharia de Controle Moderno; São Paulo: Pearson Prentice Hall, 2003 OLIVEIRA, I. S.; Controle fuzzy PI de temperatura num modelo de edificação em escala
reduzida; Monografia (Graduação em Engenharia de Controle e Automação), Escola de Minas, Universidade Federal de Ouro Preto, Ouro Preto, 2008 OOI, R. C.; Balancing a Two-Wheeled Autonomous Robot; Faculty of Engineering and Mathematical Sciences, University of Western Australia, 2003 ORTEGA, N. R. S.; Aplicação da Teoria de Conjuntos Fuzzy a Problemas da
Biomedicina; Tese (Doutorado em Ciências); UNIVERSIDADE DE SÃO PAULO, São Paulo, 2001
47
PINHEIRO, C. A. M.; Análise e Projeto de Sistemas de Controle Fuzzy; Tese (Doutorado em Engenharia Elétrica); Universidade Estadual de Campinas, Campinas, 2000 RIBEIRO, R; Implementação De Um Sistema De Controle De Um Pêndulo Invertido; Dissertação de Mestrado; Itajubá – MG; 2007 RUBÍ, J.; RUBIO, Á.; AVELLO, A.; Swing-up control problem for a self-erecting double
inverted pendulum, IEE Proceedings Control Theory and Applications, p. 169-175, Vol. 149, No. 2, 2002 SANDRI, S; CORREA, C; Lógica Nebulosa; V Escola de Redes Neurais; INPE; São José dos Campos – SP, 1999 SIMOES, M. G; SHAW, I. S. Controle e modelagem Fuzzy. 1a ed. São Paulo: Editora Edgard Blucher Ltda., 2007 SOARES, P. H.; Estabilidade Do Pêndulo Não-L inear I nvertido Sob Excitação
Paramétrica; Faculdade de Matemática, Universidade Federal de Uberlândia, Uberlândia, 2005 ZADEH, L.A; Fussy Sets; Information and Control, v.8, n.1, p.338-353, 1965.
48
8. ANEXO I : Fuzzy Logic Toolbox Nesse Toolbox há cinco interfaces gráficas para auxiliar no projeto de um sistema Fuzzy, das quais três são editores de dados e duas são observadores de resultados. A ferramenta suporta a criação de controlador do tipo Mamdani e Sugeno. Para iniciar a modelagem de um controlador Fuzzy, deve-se digitar Fuzzy na janela de comando do MATLAB. Esta ação resulta na abertura do editor do sistema de inferência Fuzzy (FIS Editor – Fuzzy Inference System Editor ).
Figura 8. 1 - FIS Editor
Nesta janela verifica-se a partir de uma ilustração o conjunto de entradas e saídas que se relacionam com o controlador. É nesta interface onde se deve escolher os parâmetros a serem utilizados pelas funções de pertinência e defuzzificação, além da determinação do número de entradas e saídas. Para escolher o tipo do controlador, basta acessar no FIS Editor a seqüência: File →
→
New FIS
{Mamdani ou Sugeno} . Para adicionar novas entradas ou saídas segue a seqüência: Edit
Add Variable
{Input ou utput} .
→
Para remover uma entrada ou saída a seqüência se torna
selecionar a variável a ser removida: Edit
→
Remove Selected Variable.
Na configuração das funções de pertinência utiliza-se a ordem de comando: Edit Membership Function,
→
→
o que acarreta na abertura da janela Membership Function Editor .
49
Figura 8. 2 - M embership Function Editor
Nesta tela escolhe-se a quantidade e o tipo de função de pertinência que se quer aplicar a cada entrada e saída do controlador. Também é determinado o domínio da grandeza para qual se quer estipular o valor de pertinência. Para alterar a configuração da função de pertinência deve-se primeiro remover as funções de pertinências inicialmente carregadas pelo Membership Function Editor , o que é feito por selecionar a entrada: Edit de pertinências: Edit
→
→
Remove All MFs. Posteriormente adicionam-se as novas funções
Add MFs . Isto abre uma nova janela que permite selecionar o tipo de
função e o número de funções. Para adequar as funções à especificação desejada, deve-se digitar no campo Params de cada função o valor do intervalo para o qual a função de pertinência assume valores diferentes de zero. Tal procedimento também pode ser realizado arrastado com o mouse os pontos de cada função no gráfico. O domínio da grandeza é alterado através do campo: Range do Membership Funtion Editor .
A configuração das regras é feita acessando a janela Rule Editor , que pode ser acessada a partir do FIS Editor por Edit Rules. A figura abaixo ilustra o Rule Editor . Uma regra é →
determinada selecionando diferentes entradas e associando-as a um conector (AND ou OR) e impondo uma conseqüência de saída. Cada regra possui um peso, representando o quanto se “acredita” na regra, que pode ser atribuído pelo campo weight .
50
Figura 8. 3 - Rule Editor
As interfaces gráficas descritas até agora estão ligadas são do tipo editores de dados. Para complementar o processo de desenvolvimento, o Fuzzy Logical Toolbox disponibiliza ainda as interfaces Rule Viewer e Surface Viewer .
Figura 8. 4 - Rule Viewer
Através do Rule Viewer é possível selecionar valores para as variáveis de entrada e verificar como o controlador Fuzzy responde a cada regra previamente estipulada, além do valor numérico obtido na defuzzificação. Os valores de entrada devem ser inseridos no campo Input. Para abrir o Rule Viewer acesse: View
→
Rule Viewer a
partir do FIS Editor. A figura
acima demonstra claramente esta situação para um controlador de uma entradas e uma saída.