CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO
HELGA GIOVANNA CARVALHO FONSECA MENDES DE JESUS
MOISÉS DUARTE FILHO
CONTROLE FUZZY PARA POSICIONAMENTO DE UM PÊNDULO
INVERTIDO
Campos dos Goytacazes/RJ
JULHO/2010
HELGA GIOVANNA CARVALHO FONSECA MENDES DE JESUS
MOISÉS DUARTE FILHO
CONTROLE FUZZY PARA POSICIONAMENTO DE UM PÊNDULO
INVERTIDO
Monografia apresentada ao Instituto Federal
Fluminense Campus Campos-Centro como requisito
parcial para conclusão do Curso de Engenharia de
Controle e Automação
Orientador: Prof. Msc. Adelson Siqueira Carvalho
Campos dos Goytacazes/RJ
JULHO/2010
iii
AGRADECIMENTOS
Gostaríamos de agradecer primeiramente a Deus pela oportunidade de ter nos dado vida
e saúde para completar esse curso. Se não fosse a graça e misericórdia dEle, não saberíamos
onde estaríamos.
Aos nossos pais, familiares e amigos, por ter incentivado e apoiado neste caminhar a fim
de conquistar o sucesso tão almejado que é a conclusão do curso. Simplesmente amamos
vocês.
Ao nosso orientador, Prof. Adelson Siqueira Carvalho, pela paciência e dedicação ao
aceitar o nosso tema e nos ajudar em momentos difíceis.
Aos amigos e colegas de turma, em especial Adriellen e Leonardo, pelas ajudas
relevantes que ofereceram a este trabalho.
À professora Vânia Cristina Alexandrino Bernardo, pelo carinho, atenção e ajuda
dispostos principalmente a mim (Moisés) em momentos cruciais de decisão.
Aos professores participantes da banca, que engrandeceram a finalização deste trabalho.
Ao Instituto Federal Fluminense, por ter nos concedido a oportunidade de termos um
curso de qualidade; mesmo diante das muitas dificuldades encontradas, sempre esteve pronto
a colaborar com a construção do curso.
iv
Ora, ao Rei eterno, imortal, invisível, ao único Deus,
seja honra e glória para todo o sempre. Amém.
(I carta de Paulo a Timóteo, cap. 1, verso 17)
v
RESUMO
À medida que avançam os anos, novas tecnologias são descobertas e usadas nas diversas áreas
de controle. Elas têm se destacado por sua capacidade de aprendizagem e habilidade de tomar
decisões e modelar como pensa o especialista do processo, embora a maioria dos processos
industriais, em geral, utilize a teoria clássica, mesmo sendo complexos, não-lineares e
multivariáveis. Nesta perspectiva, a Lógica fuzzy tem se mostrado mais eficaz para lidar com
as imprecisões, uma vez que ela captura dados vagos, oriundos de uma linguagem natural e os
transforma em dados numéricos, matematicamente analisáveis. Este trabalho visa apresentar o
projeto de um controlador fuzzy para o sistema do pêndulo invertido sobre um carro que reaja
a perturbações de forma rápida. Utiliza-se o programa MATLABTM
por possuir um
desempenho de simulação considerado bom para o sistema de controle e fornecer meios
computacionais de desenvolvimento de controladores fuzzy através de uma interface gráfica.
O pêndulo invertido se destaca, não só por suas diversas aplicações, como controle da atitude
de satélites ou a trajetória de foguetes e mísseis, mas por ser um sistema inerentemente
instável, sendo não-linear e multivariável. Para este trabalho, propôs-se o controle da posição
angular do pêndulo através da lógica fuzzy, com a permanência deste na posição vertical e
com reação rápida e satisfatória a perturbações externas. Tais controladores podem ter seu
desempenho verificado através da ferramenta SimulinkTM
, que fornece um ambiente de
simulação para sistemas dinâmicos. Os resultados obtidos utilizam as ferramentas citadas
anteriormente como suporte. Foi estabelecida a construção de dois controladores, e mostra-se
a metodologia de construção e ajustes, o melhoramento do mesmo nos testes realizados, e ao
final do trabalho, os resultados dos desempenhos dos mesmos.
Palavras-chave: Pêndulo invertido. Controle fuzzy. Lógica fuzzy.
vi
ABSTRACT
As the years advance, new technologies are discovered and used in the various areas of
control. They have stood out by their learning capacity and ability to make decisions and by
the way they shape how the expert thinks the process, although most industrial processes, in
general, use the classical theory, even though they are complex, nonlinear and
multivariable. Within this, the Fuzzy Logic has proved more effective in dealing with the
inaccuracies, as it captures data vacancies, arising from a natural language and turns them into
digital data, mathematically analyzable. This work presents the design of a controller fuzzy
system for inverted pendulum on a car that reacts quickly to disturbances. It was used the
MATLABTM
program for having a performance simulation considered good for the control
system and providing computational means for developing controllers fuzzy through a
graphical interface. The inverted pendulum stands out not only by its various applications,
such as control of satellite attitude or the trajectory of missiles and rockets, but for being an
inherently unstable system, being non-linear and multivariable. For this work, it was proposed
the control of the angular position of the pendulum through the fuzzy logic staying in a
vertical position and having quick and satisfactory response to external disturbances. Such
drivers can have their performance verified using SimulinkTM
tool, which provides a
simulation environment for dynamic systems. The obtained results used the tools previously
mentioned as their support. It was established to build two controllers, and it shows the
methodology of construction and adjustments, their improvement on the performed tests and
at the end of the work, the results of the performance thereof.
Keywords: Inverted Pendulum. Fuzzy Control. Fuzzy Logic.
vii
SUMÁRIO
AGRADECIMENTOS ........................................................................................................ iii
RESUMO ............................................................................................................................. v
Lista de Figuras ................................................................................................................... ix
Lista de Tabelas .................................................................................................................. xi
INTRODUÇÃO .................................................................................................................. 12
- Apresentação ................................................................................................................ 12
- Objetivos ...................................................................................................................... 13
- Justificativa .................................................................................................................. 14
- Estrutura do trabalho .................................................................................................. 14
1 - FUNDAMENTAÇÃO TEÓRICA ................................................................................ 16
1.1 - Apresentação do Kit Pêndulo ................................................................................ 16
1.2 - O uso da Ferramenta MATLABTM
....................................................................... 19
1.2.1 - O ambiente de controle para o pêndulo .......................................................... 19
1.2.2 - A inferência no MATLABTM
......................................................................... 211
1.3 - Lógica fuzzy ............................................................................................................ 22
1.3.1 - Finalidade da Lógica fuzzy .............................................................................. 22
1.3.2 - O especialista ................................................................................................... 23
1.3.3 - Representação de valores fuzzy ....................................................................... 24
1.3.4 - Subconjuntos fuzzy .......................................................................................... 25
1.4 - Controle fuzzy ......................................................................................................... 28
1.4.1 – Funcionamento e objetivo do controle fuzzy .................................................. 29
1.4.2 - Estrutura do controlador baseado na lógica fuzzy ......................................... 30
1.4.3 - Fuzzificação do controlador fuzzy ................................................................... 30
1.4.4 - Escolha das variáveis e termos lingüísticos .................................................... 31
1.4.5 - Base de conhecimento ...................................................................................... 33
1.4.6 - Defuzzificação do controlador fuzzy ............................................................... 35
1.4.7 - Características gerais de um controlador fuzzy .............................................. 37
2 - ESTADO DA ARTE ..................................................................................................... 39
3 - MATERIAIS E MÉTODOS ......................................................................................... 46
3.1 - Criação da planta do processo ............................................................................... 46
3.2 - Elaboração das funções de pertinência ................................................................. 48
viii
3.3 - Controlador de 11 regras ....................................................................................... 51
3.4 - Controlador de 21 regras ....................................................................................... 53
4 - RESULTADOS ............................................................................................................. 59
4.1 - Controlador de 11 regras ....................................................................................... 59
4.2 - Controlador de 21 regras ....................................................................................... 61
5 – CONSIDERAÇÕES FINAIS E SUGESTÕES PARA TRABALHOS FUTUROS.... 64
5.1 - Sugestões para trabalhos futuros........................................................................... 65
REFERÊNCIAS ................................................................................................................. 66
ix
Lista de Figuras
Figura 1: Pêndulo Invertido .............................................................................................. 13
Figura 2: Foto do Kit Pêndulo Digital da Feedback, que se encontra no LAI. ................ 16
Figura 3: Visão geral do sistema de controle do kit Pêndulo. .......................................... 17
Figura 4: Estrutura mecânica do kit. ................................................................................ 18
Figura 5: Etapas do algoritmo de controle do pêndulo através do MATLABTM
. ........... 20
Figura 6: Explicação para o uso da Lógica fuzzy no MATLABTM
. .................................. 21
Figura 7: Conjunto fuzzy da temperatura média. a = 10, b = 40 e m = 25. ...................... 26
Figura 8: Definição da função de pertinência triangular; (HUAMANÍ, 2003)................ 27
Figura 9: Definição da função de pertinência trapezoidal; (HUAMANÍ, 2003). ............. 27
Figura 10: Função de pertinência trapezoidal; a = 0.25, b = 1.75, m = 0.75 e n = 1.25;
(HUAMANÍ, 2003). .................................................................................................... 28
Figura 11: Diagrama de blocos da estrutura básica de um controlador fuzzy (PIRES,
2007). ........................................................................................................................... 30
Figura 12: Janela do Editor FIS do MATLABTM
para controle fuzzy. ............................ 32
Figura 13: Janela do Editor de função de pertinência do MATLABTM
, que mostra a
variável “erro de posição do pêndulo”, com os tipos de função de pertinência e seus
parâmetros. ................................................................................................................. 33
Figura 14: Diferença entre os métodos Centróide e Mediatriz. ....................................... 36
Figura 15: Método Mediatriz de defuzzificação, (GOUDEN et al., 2009)........................ 37
Figura 16: Princípio de funcionamento e construção do Friction Pendulum em operação.
Fonte: Earthquake Protection Systems, Inc. ............................................................... 40
Figura 17: Fotos do Friction Pendulum, e de aplicações como a ponte Benicia-Martinez e
o Aeroporto Internacional de São Francisco. ............................................................ 41
Figura 18: SegwayTM
e esquema de um pêndulo invertido duplo (SILVA, 2009). ......... 42
Figura 19: Planta de processo do kit Pêndulo Invertido. ................................................. 46
Figura 20: Zona de ação do algoritmo de controle. .......................................................... 47
Figura 21: Nova planta de processo do kit Pêndulo. ........................................................ 48
Figura 22: Funções de pertinência da variável de entrada “erro de posição angular do
pêndulo”. .................................................................................................................... 49
Figura 23: Funções de pertinência da variável de entrada “variação do erro de posição
angular do pêndulo”. .................................................................................................. 49
Figura 24: Funções de pertinência da variável de entrada “posição do pêndulo”. ......... 50
x
Figura 25: Esboço do pêndulo invertido. .......................................................................... 50
Figura 26: Funções de pertinência para a variável de saída “Tensão”. ........................... 52
Figura 27: Nova configuração das funções de pertinência da variável de saída “Tensão”.
..................................................................................................................................... 52
Figura 28: Gráfico da superfície do controlador fuzzy de 11 regras. ............................. 533
Figura 29: Funções de pertinência da variável de entrada “erro de posição angular do
pêndulo”, para o controlador de 21 regras................................................................ 54
Figura 30: Funções de pertinência da variável de entrada “variação do erro de posição
angular do pêndulo”, para o controlador de 21 regras. .......................................... 544
Figura 31: Funções de pertinência da variável de entrada “posição do pêndulo”. ......... 54
Figura 32: Funções de pertinência para a variável de saída “Tensão” do controlador de
21 regras. .................................................................................................................... 56
Figura 33: Nova configuração das funções de pertinência da variável de entrada “erro
de posição angular do pêndulo”, para o controlador de 21regras. ........................... 56
Figura 34: Nova configuração das funções de pertinência da variável de entrada
“variação do erro de posição angular do pêndulo”, para o controlador de 21 regras.
..................................................................................................................................... 57
Figura 35: Nova configuração para as funções de pertinência para a variável de saída
“Tensão” do controlador de 21 regras. ...................................................................... 57
Figura 36: Outra configuração para as funções de pertinência para a variável de saída
“Tensão” do controlador de 21 regras. ...................................................................... 58
Figura 37: Gráfico da superfície do controlador fuzzy de 21 regras. ............................... 58
Figura 38: Gráfico de resultado para o controlador de 11 regras. .................................. 59
Figura 39: Gráfico de desempenho para o controlador de 11 regras. Diferença entre a
posição angular do pêndulo e o set-point. .................................................................. 60
Figura 40: Gráfico de resultado para o controlador de 21 regras. .................................. 61
Figura 41: Novo gráfico de resultado para o controlador de 21 regras. .......................... 62
Figura 42: Gráfico de desempenho para o controlador de 21 regras. Diferença entre a
posição angular do pêndulo e o set-point. .................................................................. 63
xi
Lista de Tabelas
Tabela 1: Primeiro conjunto de regras para o controlador fuzzy. Epp= variável “erro de
posição angular do pêndulo”; Ep= variável “variação do erro de posição angular
do pêndulo”. ............................................................................................................... 51
Tabela 2: Segundo conjunto de regras para o controlador fuzzy. Epp= variável “erro de
posição angular do pêndulo”; Ep= variável “variação do erro de posição angular
do pêndulo”. ............................................................................................................... 55
Tabela 3: Controladores com seus respectivos valores de MSE. ...................................... 63
12
INTRODUÇÃO
- Apresentação
O uso de sistemas de controle automáticos tem encontrado espaço bastante difundido no
avanço das aplicações industriais, pois estes atuam como elementos que proporcionam o
progresso e o desenvolvimento da automação. Junto a isto, soma-se o surgimento da
Engenharia de Controle e Automação, que tem se tornado um campo no mínimo excitante e
intrigante, no qual se podem aplicar diversos conhecimentos, e dentre esses, os de controle, os
quais serão abordados, em parte, neste presente trabalho.
O exemplo do sistema de controle de um pêndulo invertido, o qual será abordado neste
trabalho, é um problema clássico, que pode ser encontrado em Astrom e Furuta (1996),
Romero e Orces (2007) e nos demais autores referenciados, referente ao uso de malhas de
controle com realimentação, especialmente para sistemas instáveis. A razão do interesse para
estudos da tecnologia de controle para esse tipo de sistema é que ele pode exemplificar as
dificuldades práticas relacionadas com aplicações de sistemas de controle no mundo real. O
modelo em estudo é semelhante aos utilizados para estabilização de foguetes em vôo, no
posicionamento de guindastes especiais, como exemplos. Ele é um mecanismo com
características dinâmicas inerentemente instáveis e representa uma plataforma útil para o
estudo de outras aplicações também.
O pêndulo invertido é um processo no qual está sujeito a “cair” a qualquer tempo, a não
ser que uma força adequada seja aplicada ao carro de suporte da base, o que resulta em uma
aceleração em uma determinada direção para que o mesmo se equilibre na posição vertical.
13
Figura 1: Pêndulo Invertido
Este sistema é um dispositivo físico que se constitui geralmente de uma barra cilíndrica,
a qual é livre para movimentar-se em torno de um ponto fixo. Ele é montado em um carro
livre para mover na direção horizontal, é acionado por um motor que exerce uma força
variável no deslocamento do mesmo. Como já dito, a haste tende a cair, pois sua posição
vertical é uma condição de equilíbrio instável. Para se fazer o controle dessa posição, exerce-
se a força variável do motor para contrabalançar a dinâmica natural do pêndulo.
A proposta deste trabalho é utilizar a lógica fuzzy para projetar e implementar um
controlador que equilibre o pêndulo na posição vertical sem importar com o posicionamento
do carro. Como o surgimento da teoria de conjuntos fuzzy, proposta por Zadeh em 1965,
permitiu que uma nova abordagem de pesquisa na área de controle fosse inserida, com a
possibilidade da criação de projetos de controladores independentes da especificação
completa do modelo matemático da planta, ela veio ser a base de estudo para este trabalho.
Os procedimentos de pesquisas tiveram como fonte dezenas de artigos e livros que estão
referenciados no capítulo 2 de Estado da Arte. Houve a necessidade de três semanas de
experimentos e simulações no laboratório para se obter resultados e aprimorar os mesmos.
- Objetivos
Projetar, implementar e testar um sistema baseado em lógica fuzzy para controle do
sistema do pêndulo na posição invertida (vertical para cima), robusto a perturbações externas.
Como objetivo intermediário pode-se destacar o domínio do ferramental teórico acerca de
controle fuzzy.
14
- Justificativa
O presente trabalho se deu pelo desejo de se obter um controlador fuzzy para o kit
“Pêndulo Digital” da Feedback, encontrado no Laboratório de Automação Industrial (LAI),
com o controle de sua posição angular, primeiramente. Buscou-se utilizar a lógica fuzzy pela
sua habilidade de modelar processos multivariáveis e não-lineares, não tendo a necessidade de
toda a informação da planta. Também houve o interesse neste sistema por causa de suas fortes
aplicações com sistemas reais, tais como os que serão abordados aqui, quais sejam o de
controle da trajetória de foguetes ou o de veículos como SegwayTM
.
- Estrutura do trabalho
Este trabalho conta com a seguinte divisão de capítulos, para a melhor compreensão do
leitor:
Introdução:
Essa seção fornece uma introdução sobre os assuntos que serão abordados ao
longo da monografia, com a descrição de forma sucinta dos objetivos, da motivação e a
justificativa para este trabalho.
Capítulo 1 – Fundamentação teórica:
Este capítulo divide-se em duas partes: a primeira apresenta o kit do pêndulo
invertido, seu funcionamento e comunicação com o MATLABTM
. Na segunda parte, é feito
um estudo sobre lógica e controle fuzzy, sendo possível encontrar seus fundamentos e
definições.
Capítulo 2 – Estado da Arte:
Há descrição dos trabalhos que utilizam a lógica fuzzy e aplicações para o
pêndulo invertido. Este capítulo tem o intuito de mostrar a ampla aplicabilidade e eficiência
deste tipo de controle e fornecer subsídios para este e demais trabalhos.
15
Capítulo 3 – Materiais e Métodos:
Neste capítulo, aborda-se a elaboração dos tipos de controladores feitos, com suas
funções de pertinência, regras utilizadas e a explicação da construção da planta do processo.
Capítulo 4 – Resultados:
São apresentados, nesta seção, os testes feitos no laboratório com o pêndulo
invertido e os respectivos gráficos de desempenhos dos controladores implementados.
Capítulo 5 – Considerações finais e Sugestões para trabalhos futuros:
Inseriram-se, neste momento, as conclusões obtidas após as simulações efetuadas
com os controladores fuzzy no pêndulo invertido, com a apresentação também de sugestões de
pesquisas para trabalhos futuros.
16
1 - FUNDAMENTAÇÃO TEÓRICA
Este capítulo divide-se em duas partes, para melhor entendimento do leitor: a primeira
apresenta o kit do pêndulo invertido, seu funcionamento e comunicação com o MATLABTM
,
e na segunda parte, é feito um estudo sobre lógica e controle fuzzy, sendo possível encontrar
seus fundamentos e definições.
1.1 - Apresentação do Kit Pêndulo
O kit “Pêndulo Digital” 33-200 (Unidade Mecânica) e 33-201 (Controle) da Feedback
encontra-se no Laboratório de Automação Industrial, sala B143, do IFF Campus Campos
Centro, e pode ser visto nas figuras 2 e 3 a seguir.
Figura 2: Foto do Kit Pêndulo Digital da Feedback, que se encontra no LAI.
Como mostrado na figura 2 e na 3, o kit Pêndulo Digital é composto de sensores de
posição, atuador (motor DC (corrente contínua)), chave de fim de curso e o computador, onde
se processa a comunicação do algoritmo de controle. Nota-se, na figura 3, que a seta no
sentido computador-interface ilustra a informação enviada pelo computador, proveniente de
um conversor D/A (Digital-Analógico), para o atuador do kit, o que mostra como é
processado o controle realizado no algoritmo. Esta informação acionará o atuador, e este
realiza a tarefa definida no algoritmo de controle. A seta no sentido interface-computador
17
mostra as informações provenientes dos sensores de posição do carro e de posição angular do
pêndulo enviando-as para o atuador. Depois, são remetidas para o computador, através de um
conversor A/D (Analógico-Digital), onde se compara a ação ordenada pelo algoritmo com a
saída adquirida.
Figura 31: Visão geral do sistema de controle do kit Pêndulo.
A estrutura mecânica pode ser verificada na figura 4, onde é apresentada a posição das
peças mecânicas, dos sensores e do atuador.
1Extraído de: Feedback Instrument Ltd, Manual: 33-935/936-1V60, 2002.
18
Figura 42: Estrutura mecânica do kit.
Segundo o manual do kit3, a tensão que é enviada para o motor DC faz com que o carro
se movimente ao longo do trilho, orientado por uma correia. Em cada extremidade do trilho
(ou haste horizontal), existe uma chave limitadora ou fim de curso, para restringir o espaço de
percurso do carro, já que a trajetória percorrida é curta. A ação dessa é interromper o
fornecimento de energia para o circuito quando o carro passar por ela, ao final do trilho,
evitando uma sobrecarga no motor e possíveis prejuízos para o mesmo. Na figura 4, também
está indicado como ocorre a movimentação do pêndulo, que está acoplado ao centro do carro
e move-se livremente durante o seu deslocamento.
O atuador deste kit é um motor de corrente contínua, como já citado. Esse tipo de motor
é utilizado com frequência em sistemas servomecânicos, visto que possui como características
o ajuste de velocidade e pode ser controlado com alta precisão e flexibilidade. A tensão
máxima destinada para esse motor é de +/- 2,5V.
O tipo de sensor utilizado para fazer a medição da posição do carro e da posição angular
do pêndulo é o encoder. Esse é um transdutor que converte movimento angular ou linear em
pulsos digitais elétricos. No caso do pêndulo é usado um encoder incremental. A explicação
dos encoders do kit pêndulo pode ser mais bem encontrada no manual da Feedback e também
2 Idem. 3 Extraído de: Feedback Instrument Ltd, Manual: 33-935/936-1V60, 2002.
19
no trabalho de Castro (2008), pois não é a proposta de estudo deste trabalho. As informações
provenientes dos encoders são enviadas para o computador através de um conversor A/D de
11 bits, o que justifica o uso de ganhos após as leituras de posição angular do pêndulo
registradas no capítulo 3 referente aos Materiais e Métodos utilizados neste trabalho. Este
conversor possui um período de amostragem de 1ms, e o encoder do pêndulo faz a leitura da
posição deste em radianos e o encoder da posição do carro realiza a leitura em metros. No
início de cada teste os sensores assumem posição inicial igual a zero, independente de onde se
encontrem o carro e o pêndulo.
1.2 - O uso da Ferramenta MATLABTM
Mostra-se nesta seção o ambiente necessário para a implementação do controle para o
sistema pêndulo invertido em software, e o funcionamento da inferência fuzzy.
1.2.1 - O ambiente de controle para o pêndulo
O controlador é implementado em um computador usando ferramentas do software da
Mathworks TM
. Dentre estes, destacam-se:
- MATLABTM
, que é um conjunto de ferramentas elaboradas para resolver problemas
matemáticos. Ele contém várias caixas de ferramentas especializadas, as quais são feitas por
contribuições dos colaboradores da Mathworks, que fazem com que o software resolva várias
funções e problemas em diferentes áreas específicas, dentre elas, as de controle de processos.
- SimulinkTM
, que é um sistema de gráficos para modelagem de processos. Ele possui
uma forma de diagrama de blocos que se ligam por uma linha de conexão que mostra como as
informações fluem de um bloco para outro. Estes realizam funções específicas e podem ser
encontrados como blocos padrões na biblioteca do sistema, ou elaborados pelo usuário.
- Realtime Workshop, o qual gera um código em C para o diagrama de blocos elaborado
no SimulinkTM
.
- Compilador C, que compila e comunica o código gerado pelo Realtime Workshop para
produzir um programa executável, comunicando-se com a planta através do Realtime
Windows Target.
20
- Realtime Windows Target, o qual se comunica com o programa executável fazendo a
atuação no algoritmo de controle e interfaceando-se com a planta através de uma placa de
aquisição de dados. Ele controla os dados nos dois sentidos de fluxo de sinal, ou “de e para” o
modelo (agora um programa executável), e “de e para” a placa de aquisição de dados (entrada
e saída). Quando o programa encontra-se em execução, o usuário pode alterar os parâmetros
no diagrama de blocos elaborado no SimulinkTM
, com uso do Realtime Workshop e com isso
altera-se também o programa executável. Ao se estabelecer uma mudança na estrutura do
diagrama de blocos, por exemplo, retirar ou acrescentar algum bloco, o programa precisa ser
compilado novamente. Na figura 5, são mostradas as etapas do algoritmo de controle no
MATLABTM
.
Figura 54: Etapas do algoritmo de controle do pêndulo através do MATLABTM.
Após a apresentação da comunicação das ferramentas do MATLABTM
e o pêndulo, será
mostrado como ocorre o processamento da inferência fuzzy na seção a seguir.
4 Extraído de: Feedback Instrument Ltd, Manual: 33-935/936-0V61, 2002.
21
1.2.2 – A inferência fuzzy no MATLABTM
A inferência fuzzy (Fuzzy Inference Systems (FIS)) é o processamento onde se mapeia
uma dada entrada a uma saída usando lógica fuzzy. O mapeamento, em seguida, fornece uma
base em que decisões podem ser feitas, ou padrões discernidos. O processo de inferência
envolve todas as peças para o controle fuzzy, ou seja, as Funções de Pertinência, as operações
lógicas e as Bases de Regras. O FIS tem sido aplicado com êxito em campos tais como
controle automático, classificação de dados, análises de decisões, sistemas especialistas e
visão artificial.
Com o uso das ferramentas da Lógica fuzzy do MATLABTM
, podem-se criar e editar
sistemas de inferência fuzzy com o uso de ferramentas gráficas ou funções com linhas de
comando ou gerá-los com o uso de técnicas adaptativas neuro-fuzzy, etc.
A caixa de ferramentas também permite que o usuário execute os seus próprios
programas em C diretamente. Isto é possível graças ao Motor de Inferência fuzzy, que lê os
sistemas fuzzy guardados em uma sessão do MATLABTM
. Pode-se personalizar o motor para
a construção de inferência fuzzy em seu próprio código. Todo o código fornecido é compatível
com ANSI C.
Figura 65: Explicação para o uso da Lógica fuzzy no MATLABTM.
As explicações citadas anteriormente verificam-se melhor na figura 6, onde: 1 - Sistema
de Inferência fuzzy, 2 - Plataforma do motor fuzzy, 3 - “Toolbox” para a Lógica fuzzy e 4 -
Arquivos MATLABTM
(com extensão “.m”) escritos pelo próprio usuário e outras
5 Extraído de: Fuzzy Logic Tool Box User’s Guide. Disponível em
http://www.mathworks.com/access/helpdesk/help/pdf_doc/fuzzy/fuzzy.pdf. Acessado em 18/06/2010.
22
ferramentas. Elas foram dadas para melhor entendimento do funcionamento da ferramenta
fuzzy do MATLABTM
e a sua comunicação com o software. Na seção a seguir, serão
explicados a lógica e o controle fuzzy, com seus respectivos funcionamentos, definições e
parâmetros.
1.3 - Lógica fuzzy
Nesta parte do trabalho é apresentado um breve estudo sobre os fundamentos da lógica
fuzzy, com a explicação da sua finalidade, representação de valores e subconjuntos fuzzy.
1.3.1 - Finalidade da Lógica fuzzy
O controle automático desempenha um papel fundamental no avanço da engenharia e da
ciência. Ele tem se tornado parte integrante dos modernos processos industriais e de produção,
sendo essencial em operações na indústria tais como controle de pressão, temperatura,
umidade, vazão e outros. Além disso, é de extrema importância em sistemas da indústria
aeroespacial, automotiva, manufatureira, em sistemas robóticos e similares, o que traz meios
para otimizar o desempenho dos sistemas dinâmicos, melhorando a produtividade e
diminuindo o trabalho árduo de várias rotinas de operações manuais repetitivas.
Qualquer aplicação computacional que execute tarefas, consideradas pelos seres
humanos como “inteligentes”, pode ser denominada um sistema baseado em inteligência
artificial (CAMPOS e SAITO, 2004). Este se interessa em modelar e implementar em
computadores, programas que tenham algumas das características do pensar e decidir do ser
humano, que são o raciocínio, a decisão e o aprendizado. Portanto, assim como nos seres
humanos, o desempenho de um sistema artificial depende dos conhecimentos adquiridos e
estruturados para facilitar a solução de certo problema.
Os sistemas inteligentes têm sido muito utilizados na área de controle, automação e
otimização de processos. Estes sistemas abrangem algumas séries de técnicas, tais como os
sistemas especialistas, os baseados na lógica fuzzy ou difusa, as redes neurais e os algoritmos
genéticos. Apesar de terem diferentes fundamentos e aplicações, eles possuem um
23
denominador comum: o fato de se originarem na tentativa de imitar uma característica do ser
humano ou da natureza.
O principal objetivo desses sistemas é reproduzir artificialmente a inteligência humana e
da natureza ainda não modelados de maneira fenomenológica. Como exemplo, eles são
capazes de auxiliar os operadores no: diagnóstico e detecção de falhas, e na execução de
procedimentos, evitando erros humanos, paradas das unidades e, principalmente, acidentes. A
“inteligência” destes sistemas é obtida através da extração dos conhecimentos dos
especialistas da área, pois ainda existem dificuldades para dotá-los de uma lógica de
aprendizagem automática.
1.3.2 - O especialista
Segundo Huamaní (2003), existem duas fontes principais de informações
consideradas na engenharia: os sensores que oferecem medidas numéricas das variáveis
de interesse, e os especialistas que fornecem instruções de ordem linguística e
descrições qualitativas do sistema.
Para se tornar um especialista em uma área, estima-se que sejam necessários pelo
menos 10 anos de estudos e práticas, e a memorização de pelo menos umas 10000
regras do domínio em questão. Segundo Pinker (1998), o especialista necessita de
muitos conhecimentos de forma a realizar uma pesquisa seletiva e resolver problemas
através de poucas tentativas. Ele é capaz de reconhecer uma situação e fornecer uma
resposta. No entanto, ele encontra dificuldade para descrever os passos que foram
usados para se chegar a uma conclusão. Por isso, o desempenho de um sistema artificial
depende dos conhecimentos adquiridos e estruturados para facilitar a solução de um
certo problema, assim como o desempenho dos seres humanos em solucionar
problemas. Nos sistemas inteligentes, os conhecimentos necessários à solução de
determinado problema são adquiridos e organizados em uma base de conhecimentos
através de regras e/ou procedimentos.
24
1.3.3 - Representação de valores fuzzy
Em (MIRANDA et al, 2003), encontra-se que em meados da década de 20, J.
Lukasiewicz, filósofo polonês, desenvolveu os princípios da lógica multivalorada, cujos
enunciados podem ter valores de verdade compreendidos entre 0 (falso) e 1 (verdadeiro)
da lógica binária clássica. Em 1965, Lotfi A. Zadeh aplicou este princípio de
Lukasiewicz à teoria de conjuntos, estabelecendo a possibilidade de que os elementos
poderiam ter diferentes graus de pertinência a um conjunto.
A teoria de subconjuntos fuzzy nasceu da constatação de que quando a
complexidade de um sistema aumenta, nossa habilidade para concluir fatos e tomar
decisões que sejam ao mesmo tempo precisos e significativos, tende a diminuir até um
limite a partir do qual precisão e relevância passam a ser características quase
excludentes (ZADEH, 1973).
Esta teoria criou um sistema que permitiu representar de forma matemática e
lógica conhecimentos complexos, incertos, contraditórios e incompletos, podendo assim
inferir conclusões e gerar respostas baseadas em informações muitas vezes vagas ou
imprecisas. Neste aspecto, os sistemas fuzzy podem raciocinar semelhantemente aos
seres humanos, tendo comportamento representado de maneira simples e intuitiva,
levando à construção de sistemas compreensíveis e de fácil manutenção.
Os modelos matemáticos elaborados para um processo real e complexo nem
sempre representarão a realidade em sua totalidade. Os conhecimentos deste processo
poderão ser incompletos e possuir diversas fontes de incertezas. Entende-se por modelo
matemático de um sistema dinâmico como um conjunto de equações que representa
com precisão ou, pelo menos, razoavelmente bem a dinâmica do sistema (OGATA,
2003). Dependendo da perspectiva adotada, um sistema pode ter vários modelos
matemáticos.
Os modelos baseados na lógica fuzzy são uma simplificação do processo real
(CAMPOS e SAITO, 2004). Entretanto, estes sistemas permitiram mudar o paradigma
clássico da teoria de controle de processos. Ao invés de se obter um modelo para o
processo e a partir daí projetar um controlador com desempenho razoável, estes
sistemas se propõem modelar diretamente como o ser humano controlaria este processo.
O controle fuzzy permite imitar o operador humano tendo como base uma representação
descritiva e experimental do processo. Assim, ele tenta produzir as ações de controle
desejadas dos modelos da operação do sistema, ao invés de fazer uso dos modelos do
25
próprio processo como em outras técnicas clássicas de controle, pois, ultimamente, a
teoria clássica de controle, que trata somente de sistemas com uma entrada e uma saída,
tornou-se insuficiente para sistemas com múltiplas entradas e saídas, segundo Ogata
(2003).
A teoria do controle fuzzy permitiu representar os conhecimentos sobre a operação
dos processos de uma maneira sistemática e lógica em um sistema de controle. Ela é
uma “ponte” para aproximar a lógica executada pela máquina ao raciocínio humano.
Um sistema fuzzy é capaz de capturar informações vagas descritas em uma linguagem
natural (variáveis linguísticas) e convertê-las para um formato numérico, de fácil
manipulação pelo computador, possuindo assim, habilidades no manuseio de
informações qualitativas e imprecisas, o que resulta em um desempenho estável e
robusto, conforme explica Huamaní (2003).
Apesar do nome fuzzy (do inglês: difuso, nebuloso), esta teoria se apóia em um
conjunto de axiomas e regras precisas e rigorosas, que permitem um encadeamento ou
um raciocínio lógico de proposições. Este adjetivo decorre da aptidão desta teoria para
exprimir e representar noções do cotidiano que são muitas vezes qualitativas, incertas,
“nebulosas” e subjetivas.
1.3.4 - Subconjuntos fuzzy
Este conceito de subconjuntos fuzzy foi introduzido de forma a evitar passagens
bruscas entre duas classes de elementos, e a permitir que os mesmos não pertençam
completamente nem a uma, nem a outra classe, ou melhor, que os elementos possam
pertencer parcialmente a cada uma das classes. Os subconjuntos fuzzy respondem a
necessidade da representação de conhecimentos imprecisos e/ou incompletos, seja
porque eles são expressos numa linguagem natural por um observador humano, o qual
não é capaz de fornecer maiores precisões, seja porque eles são oriundos da leitura de
instrumentos que podem possuir erros de medição.
Conforme explicitado em várias literaturas, dente elas Huamaní (2003) e Campos
e Saito (2004), um subconjunto clássico “A” de “X” é definido por uma função
característica “ ”, que assume o valor 0 para os elementos de “X” que não pertencem a
“A”, e 1 para aqueles que pertencem a “A”:
26
A: X {0,1} onde A = {0 se x A, 1 se x A}
Já um subconjunto fuzzy “A” de “X” é definido por uma função característica
“ ”, chamada de função de pertinência, que associa a cada elemento de “X” um grau
A (x) compreendido entre 0 e 1, com o qual “X” pertence a “A”:
A : X [0,1]
O conceito central da teoria dos conjuntos fuzzy é que a função de pertinência ,
como na teoria da probabilidade, pode ter um valor entre 0 e 1 (BURNS, 2001).
Na figura 7, possui uma relação linear com o eixo “x”, chamado de universo
de discurso U. Neste caso, é mostrado um conjunto fuzzy em forma triangular.
Figura 7: Conjunto fuzzy da temperatura média. a = 10, b = 40 e m = 25.
Os subconjuntos fuzzy mais encontrados na literatura científica são aqueles que
possuem uma função de pertinência regular, isto é, sem mudanças bruscas ou
repentinas, que mostram a passagem progressiva da não-satisfação para a satisfação da
propriedade à qual elas estão associadas. Subconjuntos fuzzy são comumente
representados por funções triangulares simétricas por darem bons resultados e o esforço
computacional é razoavelmente simples. Na figura 8, é definida a função de pertinência
triangular, onde m é o valor modal, e a e b são os limites superior e inferior,
respectivamente.
27
Figura 8: Definição da função de pertinência triangular; (HUAMANÍ, 2003).
Outra função comumente encontrada e também representada neste trabalho é a
trapezoidal, cuja definição se encontra na figura 9 a seguir:
Figura 9: Definição da função de pertinência trapezoidal; (HUAMANÍ, 2003).
Um exemplo de função trapezoidal pode ser visto na figura 10:
28
Figura 10: Função de pertinência trapezoidal; a = 0.25, b = 1.75, m = 0.75 e n = 1.25; (HUAMANÍ,
2003).
Outras funções incluem triangulares não-simétricas, gaussianas e curvas em forma
de sino. (BURNS, 2001). Na próxima seção, serão tratados os assuntos referentes ao
controle fuzzy, o qual também servirá de base para este trabalho.
1.4 - Controle fuzzy
Nesta seção insere-se o estudo sobre o controle fuzzy, com a apresentação de seu
funcionamento e objetivos, sua estrutura básica, com as definições para fuzzificação,
defuzzificação, base de conhecimentos e escolha das variáveis e termos lingüísticos, e
também apresentam-se suas características gerais.
29
1.4.1 – Funcionamento e objetivo do controle fuzzy
Os critérios para se especificar um controlador baseado na teoria de controle
clássica, conforme Phillips e Harbor (1997), podem envolver as seguintes características
(porém não estão resumidas a elas):
- rejeição a distúrbios;
- erros de regime estacionário;
- características da resposta transitória;
- sensibilidade às mudanças de parâmetros da planta.
O controlador baseado na lógica fuzzy não necessita de um modelo analítico
completo do processo, como já explicitado anteriormente. Ele calcula as suas ações em
função de uma base de conhecimento heurística de como se deve controlar este
processo.
O controle fuzzy é na realidade uma função não-linear entre as variáveis de entrada
e de saída do controlador, que exprime os conhecimentos que os especialistas
(operadores e/ou engenheiros) possuem da operação do processo. Este controle permite
generalizar e inferir dentro do universo de inferência ou discurso de cada variável
controlada. Ele contém um conjunto de regras, todas ativadas em paralelo ou
simultaneamente. Assim, trabalha com inferência associativa paralela, ou seja, quando
uma entrada é fornecida, o controlador dispara as regras paralelamente, com diferentes
graus de ativação, para inferir um resultado ou saída (MACHADO, 2007). Ele pode,
desta forma, considerar vários critérios de desempenho simultaneamente, podendo ser
escritos de uma forma matemática ou mesmo linguística. Os objetivos do controlador
em questão podem ser os seguintes, dentre outros:
- controlar e operar automaticamente processos complexos, não-lineares e
multivariáveis, com desempenho pelo menos equivalente ao dos operadores;
- respeitar as especificações e restrições operacionais;
- ser simples, robusto e operar em tempo real, obedecendo ao Princípio da
Parcimônia6.
6 Princípio proposto por Ockam, filósofo inglês do século XVII, que enuncia que se existe mais de uma
explicação para uma dada observação, devemos adotar aquela mais simples. Extraído de: http://adi-
38.bio.ib.usp.br/sbg2k/prinpar.html. Acessado em 4/06/10.
30
1.4.2 - Estrutura do controlador baseado na lógica fuzzy
Uma arquitetura geral para um controlador baseado na lógica fuzzy é mostrada na
figura 11:
Figura 11: Diagrama de blocos da estrutura básica de um controlador fuzzy (PIRES, 2007).
Os principais elementos de uma arquitetura geral de um controlador fuzzy
mostrada na figura 11 são: a fuzzificação, a base de regras fuzzy (conhecimento),
máquina de inferência fuzzy (sistema Decisão) e a defuzzificação.
1.4.3 - Fuzzificação do controlador fuzzy
Segundo Serra (2001), a interface de fuzzificação desempenha as seguintes
funções:
- mudança de escala, ou seja, uma normalização da entrada, que mapeia os
valores físicos das variáveis de estado do sistema controlado (variável de
entrada) em um universo de discurso normalizado (domínio normalizado);
- conversão do valor da variável de entrada em um conjunto fuzzy, de modo a
torná-lo compatível com a representação por conjunto fuzzy da variável de
estado do sistema na regra antecedente.
Assim, a interface de fuzzificação funciona da seguinte forma:
31
A’=F(x0)
onde x0 é um valor preciso em um universo U, A’ é um conjunto fuzzy definido no
mesmo universo U e F é um operador fuzzificador. Ainda com base em Serra (2001), há
duas possibilidades para seleção de F:
a. Fuzzificação Singleton: A’ é um conjunto fuzzy Singleton com suporte
x0, isto é, com a seguinte função de pertinência:
A’(x) contráriocaso
xxse
,0
,1 0
b. Fuzzificação não-Singleton ou Fuzzificação aproximada: Neste caso,
quando x = x0, F(x0)=1 e a pertinência dos valores restantes decrescem à medida que
vão se distanciando de x0.
Dentre essas possibilidades para escolha de operador fuzzificador, a mais
comumente encontrada no meio acadêmico é a Singleton.
1.4.4 - Escolha das variáveis e termos lingüísticos
De acordo com Machado (2007), um conceito fundamental ao se trabalhar com
conjuntos fuzzy é o de variável linguística. Entende-se por variável um identificador que
pode assumir um, dentre vários valores e, deste modo, uma variável pode assumir um
valor linguístico dentre vários outros em um conjunto de termos linguísticos.
Após a definição das variáveis controladas e manipuladas do sistema para a
elaboração de um controle fuzzy, deve-se definir para cada variável o seu universo de
discurso e o número de valores linguísticos necessários. Cada variável linguística recebe
um nome e atributos que a definem como sendo de entrada ou de saída. Também é
definido o range de valores possíveis para cada variável, sendo o padrão inicial definido
com +/- 1 (valores normalizados).
Cada valor linguístico deve ser definido pela sua função de pertinência. Isto é de
grande importância, pois um número muito grande desses valores sobrecarrega o
sistema, porque implicaria um número maior de regras a serem definidas e executadas.
Por outro lado, um número grande deste tipo de valor possibilita uma resposta e um
ajuste mais fino do controle. Esta seleção deve ser bem feita e estruturada pelo
especialista, visando ao melhor controle com simplicidade de elaboração.
32
Para cada variável linguística, inserida no controlador fuzzy, escolhe-se o número
de termos ou valores linguísticos, o tipo de função de pertinência para cada termo e os
parâmetros que caracterizam cada função de pertinência. O editor de controle fuzzy do
MATLABTM
pode ser verificado na figura 12; e seu editor de funções de pertinência, na
figura 13:
Figura 12: Janela do editor FIS do MATLABTM para controle fuzzy.
33
Figura 13: Janela do Editor de função de pertinência do MATLABTM, que mostra a variável “erro de
posição do pêndulo”, com os tipos de função de pertinência e seus parâmetros.
1.4.5 - Base de conhecimento
A base de conhecimento é onde se encontra o conhecimento do especialista
transformado para um conjunto de regras de controle fuzzy. Ela possui as informações a
respeito dos universos de discurso, dos valores linguísticos e das funções de pertinência
de todas as variáveis envolvidas no sistema. Contém também o conjunto de regras, que
associam as variáveis linguísticas de entrada com as de saída. Pode-se afirmar que esta
base de um controlador fuzzy é o “cérebro” do sistema, onde está localizada a
inteligência do mesmo (CAMPOS e SAITO, 2004).
Uma regra de controle fuzzy é uma declaração condicional da forma IF (conjunto
de condições satisfeitas) e THEN (conjunto de consequências que podem ser inferidas).
O antecedente é uma condição em seu domínio de aplicação, o consequente é uma ação
de controle a ser aplicada no sistema controlado e tanto o antecedente como o
consequente são inter-relacionados com conceitos fuzzy, ou seja, termos linguísticos.
34
Assim, a base de conhecimento é composta por dois componentes: Base de dados
(conhecimento) e Base de regras (sistema Decisão). A base de dados contém as
definições das funções de pertinência dos conjuntos fuzzy, especificando o significado
das variáveis lingüísticas. A base de regras é constituída pela compilação de regras fuzzy
que representa o conhecimento do especialista.
O estilo de regras condicionais fuzzy é geralmente chamado regra do tipo
“Mandani”, pois Mandani (1976) foi o primeiro quem o usou em uma regra fuzzy para
controlar uma planta de usina a vapor (BURNS, 2001).
Mandani utilizou regras em que o consequente é uma outra variável fuzzy,
enquanto Sugeno (SUGENO 1988, apud SOUZA, 2006) usou regras cuja conclusão é
uma função polinomial das entradas. As duas regras a seguir mostram, respectivamente,
as expressões genéricas dos dois tipos citados:
IF X1 é A1 e … e Xn é An THEN Y é B
IF X1 é A1 e … e Xn é An THEN Y= p0 + p1X1 + ... + pnXn
O levantamento dos conhecimentos necessários à elaboração desta base é a parte
mais importante para o desenvolvimento de um controlador fuzzy. Se não for bem
realizada, o desempenho futuro do controlador poderá estar comprometido. Existem
vários métodos para a aquisição do conhecimento:
- obtenção manual;
- modelagem do comportamento do operador;
- leis físicas que regem a dinâmica da planta;
- conhecimentos heurísticos imprecisos obtidos de especialistas.
Geralmente não existe um método para determinar o número mínimo de regras
fuzzy necessárias ao controle do processo. A solução fica escrava do desempenho
desejado, dos números de valores linguísticos escolhidos e de outros aspectos
qualitativos que possam existir no processo.
As regras de controle fuzzy são declarativas e não sequenciais, ou seja, a ordem em
que se expressam não é importante. Como medida preventiva para a manutenção do
controlador, recomenda-se agrupar as regras de acordo com as variáveis de suas
premissas, como exemplo dado a seguir:
1. If (erro_posicao_pendulo is Z) and (variacao_erro_pendulo is Z) then (TENSAO
is Z)
2. If (erro_posicao_pendulo is PN) and (variacao_erro_pendulo is Z) then
(TENSAO is PN)
35
3. If (erro_posicao_pendulo is MN) and (variacao_erro_pendulo is Z) then
(TENSAO is MN)
Onde Z é zero, PN pouco negativo e MN muito negativo.
1.4.6 - Defuzzificação do controlador fuzzy
A defuzzificação é o procedimento para mapear de um conjunto de inferência
fuzzy, que possui variáveis linguísticas, para um conjunto de valores reais, que será o
sinal de saída de controle.
O sistema de inferência produz uma quantidade de conjuntos fuzzy de saída igual
ao número de regras contidas na base de conhecimento. Esta interface transforma a ação
de controle linguística, baseada nos conjuntos fuzzy obtidos, em uma saída numérica.
Dentre os métodos de defuzzificação abordados na literatura, tem-se: Centro de área ou
Centro de gravidade, Centro de somas, Centro de área máxima, Meio do máximo,
Bisector, entre outros.
O método de defuzzificação utilizado neste trabalho foi o Bisector, ou Mediatriz,
no português. Este método é a linha vertical que divide a região em duas sub-regiões de
área igual. É, às vezes, coincidente com a linha centróide, mas nem sempre, como se
pode verificar na figura 14.
36
Figura 147: Diferença entre os métodos Centróide e Mediatriz.
A equação para se encontrar a área correspondente ao método Mediatriz, segundo
Gouden et al (2009), é:
E a aplicação da equação pode ser verificada graficamente na figura 15, que
segue:
7 Extraído de:
www.mathworks.com/products/fuzzylogic/demos.html?file=/products/demos/shipping/fuzzy/defuzzdm.ht
ml. Acessado em 03/06/10.
37
Figura 15: Método Mediatriz de defuzzificação, (GOUDEN et al., 2009).
1.4.7 - Características gerais de um controlador fuzzy
Um controlador é dito robusto se ele é insensível às variações nos parâmetros do
processo a ser controlado. Um controlador fuzzy é geralmente robusto em relação às
variações nos parâmetros do processo, em função do processo de codificação.
Outra característica importante é a sua capacidade de operar com variáveis de
entrada ruidosa (ou seja, variáveis com baixa potência e alta frequência). Um dos
critérios para medir a capacidade de supressão dos ruídos consiste em calcular a razão
entre o valor médio da entrada dividido pela sua variância (me/ e), e o valor médio da
ação de controle (saída) dividido pela sua variância (ms/ s). Um controlador capaz de
manter o valor da última fração quase constante, quando a variância do sinal de entrada
aumenta ( e), é considerado robusto em relação aos ruídos. Mais detalhes sobre a
robustez do controlador fuzzy utilizado neste trabalho podem ser encontrados no
capítulo 3, que trata dos Materiais e Métodos empregados para a elaboração do mesmo.
Foi utilizado o método MSE para avaliação da robustez do controlador, que também
será mais bem explicado no capítulo 4, o qual trata dos resultados obtidos. Um
controlador fuzzy é geralmente dito robusto em relação aos ruídos, já que sua ação de
controle é calculada em função de várias regras que não são afetadas da mesma forma
pelos ruídos.
Uma outra característica é que não há necessidade de escrever uma regra para cada
situação possível ou todas as regras possíveis para uma dada aplicação, uma vez que as
38
saídas podem ser avaliadas em função das regras mais próximas. Isto decorre do fato da
variável linguística ser definida por uma função de pertinência que cobre uma faixa de
valores das variáveis de entrada. Portanto, uma regra que faça uso desta variável
linguística é voltada para toda uma faixa de valores. Isso permite ao controlador certo
poder de generalização e a diminuição do número de regras necessárias para cobrir todo
o universo das entradas.
Obviamente, para problemas simples, a solução ótima do ponto de vista
econômico continuará sendo o uso de controladores do tipo PID (Proporcional-Integral-
Derivativo). De fato, o controlador PID clássico é um algoritmo simples e
comprovadamente robusto. Estima-se que mais de 85% das malhas de controle de uma
planta de processo industrial, como as da área petroquímica, utilizam este controlador,
pois possui somente três parâmetros a serem ajustados (CAMPOS e SAITO, 2004) e o
controlador fuzzy possui maior complexidade e número maior de parâmetros a serem
ajustados. Entretanto, para problemas mais complexos, o controlador fuzzy pode vir a
ser uma solução mais adequada, pois permitirá a operação do sistema em uma região
maior de funcionamento, ou mais próxima dos limites de operação do processo.
Segundo António (2004), algumas outras vantagens do controle fuzzy é que ele é
flexível, pois para cada dado sistema, é possível alterar a parametrização ou a
configuração do sistema sem necessariamente começar o processo do início; pode
modelar funções não-lineares de grande complexidade, podendo, ainda, utilizar técnicas
adaptativas; e pode ser aliado às técnicas de controle convencionais, sem as substituir,
de modo a simplificar a sua implementação.
39
2 - ESTADO DA ARTE
Neste capítulo, será mostrado, de forma breve, de que modo está a pesquisa no
meio acadêmico com a utilização de controles avançados para o pêndulo invertido. O
trabalho não visou esgotar o assunto, mas criar uma boa base de pesquisa para este e
para os futuros.
De acordo com Ribeiro (2007), durante os três últimos séculos, o pêndulo foi o
mais confiável medidor de tempo, sendo substituído, nas últimas décadas, por
oscilações atômicas ou eletrônicas. Para isso, um relógio de pêndulo deve ter a
amplitude do movimento sempre constante, apesar de as perdas por atrito afetarem todo
o sistema em si. Pequenas variações na amplitude, como 4° ou 5°, fazem um relógio
adiantar cerca de quinze segundos por dia, o que não é tolerável mesmo sendo um
relógio caseiro. Para manter a amplitude constante, é necessário contrabalançar com
pesos ou molas, fornecendo energia adicional que compensa as perdas devidas ao atrito.
Como já mencionado, o pêndulo invertido é um sistema intrinsecamente instável e
complexo para se analisar por meio de seu modelo matemático completo, por isso vários
pesquisadores abordam este sistema através de diversas formas de controle.
Dentre algumas aplicações que utilizam os conceitos relacionados ao estudo do
pêndulo, uma relativamente recente é o controle da oscilação de arranha-céus,
encontrado em Ribeiro (2007). As construções de grandes alturas tendem a apresentar o
inconveniente de se tornarem vulneráveis a ações de ventos, o que causa oscilações
desagradáveis; e, em alguns locais, tornam-se até mesmo perigosas. Uma solução
implementada foi instalar grandes contrapesos móveis no topo destes edifícios de forma
que, com o auxílio de acionamentos hidráulicos, eles possam se mover de um lado para
o outro, o que compensa a ação da força do vento e reduz, deste modo, a amplitude do
movimento da estrutura.
Assim, foram desenvolvidas várias técnicas para proteção de edifícios em regiões
onde ocorrem terremotos. Segundo a Earthquake Protection Systems, Inc.8 (Sistemas de
Proteção contra Terremotos), foi desenvolvido, na década de 80, um conceito original
de um mecanismo para proteção sísmica denominada mancais Friction Pendulum. Ele
pode ser utilizado na proteção de edifícios, pontes e instalações industriais contra abalos
8 Disponível em http://www.earthquakeprotection.com/TechnicalCharacteristicsofFPBearngs.pdf.
Acessado em 21/06/2010.
40
sísmicos. São utilizadas duas placas metálicas, uma plana e a outra convexa. Uma esfera
colocada entre as placas, em cada ponto de sustentação da estrutura, permite que o
conjunto seja protegido e mova-se suavemente sobre a base de apoio no solo durante os
tremores de um possível terremoto. Exemplos do funcionamento podem ser verificados
na figura 16 e algumas aplicações do Friction Pendulum podem ser vistas, na figura 17,
como a Ponte Benicia-Martinez, Baía de Suisun (Califórnia, EUA), e o Aeroporto
Internacional de São Francisco (Califórnia, EUA).
Figura 169: Princípio de funcionamento e construção do Friction Pendulum em operação. Fonte:
Earthquake Protection Systems, Inc.
9 Extraído de:Earthquake Protection Systems, Inc.
www.earthquakeprotection.com/TechnicalCharacteristicsofFPBearngs.pdf. Acessado em 21/06/2010.
41
Figura 1710: Fotos do Friction Pendulum, e de aplicações como a ponte Benicia-Martinez e o Aeroporto
Internacional de São Francisco.
De acordo com Silva (2009), 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 homem ao caminhar se aproxima muito de
um pêndulo invertido pivotado em suas articulações. O resultado desta modelagem é
conhecido como Pêndulo Invertido Humano (HIP - Human Inverted Pendulum). Outros
autores que abordaram esta aplicação, por exemplo, são Mochizuki e Amadio (2003).
Ainda, segundo o mesmo autor (SILVA, 2009), a maioria dos trabalhos
desenvolvidos com o pêndulo é desenvolvida com a haste articulada presa a um carro
móvel sobre um trilho. Contudo, é possível encontrar sistemas com mais de um grau de
liberdade como o Double inverted pendulum, encontrado em Yi et al. (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. Há também o SegwayTM
, uma versão comercial desse
sistema.
10 Extraídas, respectivamente, de: sdvc.kaist.ac.kr/pics/pcd/2fp1.htm;
california.construction.com/images/0508_city-hall3.jpg; www.aaroads.com/california/images680/i-
680_benicia-martinez_bridge_view.jpg; en.academic.ru/dic.nsf/enwiki/156055. Acessado em 03/06/2010.
42
Figura 18: SegwayTM
e esquema de um pêndulo invertido duplo (SILVA, 2009).
Astrom e Furuta (1996) apresentam um outro tipo de abordagem para o
levantamento do pêndulo, que é chamado de swing-up, e seu equilíbrio. O controle é
obtido pela informação da energia do pêndulo ao invés dos dados da sua posição e
velocidade. O comportamento global da operação de levantamento da haste é
completamente caracterizado pela razão entre a máxima aceleração do pêndulo e a
aceleração da gravidade.
Dentro da área de lógica fuzzy aplicada ao pêndulo invertido, encontram-se vários
trabalhos publicados. Miranda et al. (2003) tiveram como objetivo estudar as noções
básicas sobre os conjuntos fuzzy e compará-las com os conjuntos clássicos e também
representar o conhecimento de um especialista num determinado domínio e a
arquitetura de um sistema de controle difuso com a inferência de Mamdani, e com isso
complementar a codificação de um sistema de controle fuzzy, usando linguagem C,
aplicado ao controle do equilíbrio de um pêndulo invertido simplificado.
Silva (2009) desenvolveu um controlador fuzzy para o pêndulo invertido e o
comparou com um controlador PID (Proporcional-Integral-Derivativo), fazendo
relações entre o desempenho dos mesmos, o que não foi o objetivo deste trabalho.
Ribeiro (2007) construiu um sistema de controle de um pêndulo invertido com o uso de
componentes simples, para obter uma aplicação prática onde se testaram e foram
comparadas diversas estratégias de controle alternativas. Já Romero e Orces (2007)
43
implementaram um controlador PID (Proporcional-Integral-Derivativo) para o pêndulo
invertido.
No trabalho de Wal (1995), apresentam-se várias aplicações da lógica fuzzy na
indústria, com um panorama das várias formas que ela pode ser usada para melhorar o
controle industrial. Ele mostra como exemplo a contribuição da lógica fuzzy incorporada
ao hardware de um controlador industrial (PID), sem que o operador
tenha qualquer conhecimento a priori do sistema a ser controlado. Outro exemplo é a
como a supervisão é implementada em software e melhora o funcionamento de um
forno de sinterização por meio de uma sutil combinação de gestão de prioridades e
calendário por desvio controlado.
Alvarez e Castro (2002) apresentam um modelo de desenvolvimento baseado em
ferramentas de inteligência artificial e as técnicas de controle PID (Proporcional-
Integral-Derivativo) clássico. O sistema apresenta um método fuzzy e um PID que foram
ajustados por algoritmos genéticos. A interação destas técnicas comparou um tipo de
controle fuzzy com um outro tipo de controle. Como simulação dos resultados,
implementou-se o controlador num pêndulo invertido real. Olvera e López (1995)
também usam métodos de ajustes das funções de pertinência e regras de um controlador
fuzzy mediante o uso de algoritmos genéticos e implementam isto num pêndulo
invertido.
Campos (2008) propôs um levantamento das aplicações de controladores fuzzy na
PETROBRAS. Um controlador multivariável fuzzy para otimização da operação de uma
plataforma de produção de petróleo foi implementada na P-19, localizada na Bacia de
Campos-RJ. Este sistema foi implementado acima do supervisório, lendo dados brutos e
atuando na planta através do mesmo. O principal objetivo deste controlador é
proporcionar um nível extra de controle para a planta, evitando que a mesma atinja os
pontos de “trip” do sistema de segurança; pois, neste caso, a produção será
interrompida, com todas as perdas associadas. Outra aplicação foi um controlador fuzzy
alocando a carga dos fornos da unidade de Destilação, tendo como objetivo otimizar a
planta, respeitando as restrições e estabilizar o processo, considerando as interações
entre as diversas variáveis. Outras aplicações interessantes são encontradas ainda neste
artigo.
Costa et al. (2009) apresentam a implementação didática de uma metodologia para
controle fuzzy de sistemas não-lineares. Primeiramente, uma planta não-linear, o atrator
de Lorenz é representado com o modelo nebuloso Takagi-Sugeno. Em seguida, é
44
empregado um controlador nebuloso usando o conceito de Compensação Paralela
Distribuída. Por fim, implantam-se estes conceitos no SimulinkTM
a fim de obter uma
melhor visualização e compreensão da aplicação de um projeto de controlador nebuloso.
A principal idéia do modelo nebuloso T-S é dividir um sistema não-linear em sistemas
lineares por partes a partir de regras nebulosas. Para cada regra nebulosa, é projetado
um controlador nebuloso capaz de garantir estabilidade ao sistema. Souza (2006)
também aborda o problema de modelagem e controle de uma classe de sistemas não-
lineares utilizando modelos fuzzy Takagi-Sugeno, como também Tavares et al (2006).
Morais et al. (2005) tiveram por finalidade o estudo da construção e comparação
de dois controladores: o PID (Proporcional-Integral-Derivativo) e o fuzzy. O primeiro
por sua funcionalidade, enorme utilização e simplicidade de implementação. O segundo
por proporcionar a possibilidade de supervisão inteligente baseada apenas em
informações qualitativas sobre a operação do sistema. Ambos são aplicados ao sistema
do pêndulo invertido. Diferentemente disto, Widjaja (1996) descreve um procedimento
de síntese de controlador fuzzy e utiliza-se de estratégias de controle LQR para
modelagem do controle e aplica isto também no sistema pêndulo invertido.
No artigo de Yi e Yubazaki (2000) descreveram um novo controlador fuzzy para a
estabilização do sistema pêndulo invertido tendo como base o Módulo de Regras de
Simples Entradas (SIRMs: Single Input Rule Modules), dinamicamente conectados por
um modelo de inferência fuzzy. O controlador fuzzy tem quatro pontos de entrada, cada
um com uma SIRM e um dinâmico grau de importância. O SIRMs e os graus de
importância dinâmicos são projetados de tal forma que o controle angular do pêndulo
tenha prioridade sobre o controle da posição do carro. É claro que o controlador fuzzy
desempenha o controle angular e o controle de posição do carro em paralelo,
e a alternância entre os dois controles é realizado automaticamente pelo ajuste dos graus
de importância dinâmicos de acordo com as situações de controle.
Os resultados das simulações mostram que o controlador fuzzy proposto tem uma alta
capacidade de generalização para estabilizar completamente uma ampla gama de
sistemas de pêndulos invertidos. Isto se relaciona, em parte, com o presente trabalho,
pois o mesmo deu prioridade ao controle de posição angular do pêndulo na base de
regras.
Com respeito ao trabalho de Zavala et al (2009), apresenta-se um estudo
experimental de um controlador fuzzy projetado em um microcontrolador PIC. O
controlador é implementado como uma alternativa para o problema do controle de um
45
equipamento pêndulo invertido em uma plataforma móvel que pode mover-se somente
em duas direções (esquerda e direita) para mostrar o seu desempenho. Ele apresenta a
descrição da estrutura do sistema, tanto de hardware desenvolvido como o algoritmo de
controle. O controlador do sistema pode funcionar como um sistema mínimo ou, ainda,
ser conectado a um computador para analisar graficamente a evolução de variáveis no
tempo, em um ambiente Windows. O trabalho mostra os resultados obtidos através da
aplicação deste tipo de controle para o pêndulo invertido e a reação do estado estável
aos choques externos.
Castaños e Carrera (2004) propuseram um esquema simples que leva o pêndulo
do ponto de equilíbrio estável ao de equilíbrio instável, com o controle de posição do
carro que faz o pêndulo entrar em ressonância, e ao entrar na posição vertical,
muda para um sistema de regulação do pêndulo. Para a elaboração dos controladores,
usou-se o controle por LQR discreto. Eles mostram resultados por simulações e
como resultado dessa experiência, foi implementado o controle num pêndulo invertido,
para comprovação dos algoritmos de controle.
Existem ainda muitos outros trabalhos relacionados com o controle fuzzy e o
pêndulo invertido, os quais podem servir de base para estudo do caso tratado neste
trabalho. Dentre alguns importantes, podem-se citar Cavalcanti et al. (1999), que falam
do posicionamento do pêndulo invertido utilizando algoritmos genéticos; Gonçalves
(2006), o qual utiliza filtros de Kalman para simulação e controle do pêndulo; Li e Xu
(2009) que também fazem uso de controle fuzzy, assim como Quadrelli et al. (2003), os
quais tratam do controle das plantas não-lineares. Minhoto et al. (2000) fazem uso de
modelos fuzzy e LMI para controle de sistemas não-lineares tendo com exemplo o
pêndulo invertido.
No próximo capítulo, poderá se ver a construção do controlador fuzzy utilizado, e
dos Materiais e Métodos usados para tal.
46
3 – MATERIAIS E MÉTODOS
Será apresentado, neste capítulo, como foi a elaboração do controlador fuzzy para
o pêndulo invertido, seus ajustes e peculiaridades encontradas ao longo da execução do
trabalho.
3.1 - Criação da planta do processo
Com base em trabalhos realizados no Laboratório de Automação Inteligente (LAI)
do IFF Campus Campos-Centro, este trabalho optou por utilizar como base de início os
modelos fornecidos pelo próprio fabricante do kit Pêndulo Invertido e fazer as
alterações necessárias com o controle fuzzy neles. Estes já possuíam diagramas de
blocos no SimulinkTM
para leitura da posição do carro e da posição do pêndulo, como
pode ser verificado na figura 19:
Figura 19: Planta de processo do kit Pêndulo Invertido.
Fez-se necessária a inclusão de dois blocos de “ganho” na planta, para codificar as
leituras dos “encoders” do carro e do pêndulo para a leitura do programa, pois é
necessária a mudança de range dos conversores A/D (Analógico-Digital) e D/A
(Digital-Analógico), que são de 11 bits, para radianos e metros, para uma melhor leitura
dos dados. O ganho inserido no sinal do carro foi de 0.156/2048, para transformar a
medida da posição do carro em metros, e o ganho inserido no sinal do pêndulo foi de
47
-2 /2048, para transformar a medida da posição do pêndulo em radianos. Isto foi
verificado nos manuais do kit, após estudos feitos no LAI, em pesquisa em relatórios11
e
trabalhos encontrados no mesmo, como visto no capítulo 1.
Inicialmente, foi proposta a inclusão de duas variáveis de entrada no controlador
fuzzy para o Pêndulo invertido, sendo elas o “erro de posição angular do pêndulo” e o
“erro de posição do carro”, como pode ser visto na figura 19. Isto se deu com base em
outros trabalhos realizados com o kit do pêndulo invertido no LAI. Obteve-se êxito na
construção de controladores fuzzy para o pêndulo com o problema do Guindaste, em que
ele é controlado com a haste voltada para baixo. Porém, o mesmo êxito encontrado para
o controlador do Guindaste não pode ser obtido para o controlador do Pêndulo.
Foi necessária a inserção de novas variáveis, que foram a “variação do erro de
posição do pêndulo” ( Epp), a qual faz a diferença entre o erro de um dado instante
“T” (ET) e o erro no instante anterior “T-1” (ET-1), ficando Epp = E T – ET-1; e a
“posição do pêndulo”, para indicar ao controlador se o pêndulo se encontra à esquerda
do ponto central da haste horizontal ou à direita do mesmo. A inclusão desta será mais
abordada no item 3.2, na elaboração das funções de pertinência. Também foi necessária
a retirada da leitura de posição do carro, já que o objetivo do trabalho é o controle de
posição angular do pêndulo invertido e pela dificuldade encontrada em trabalhar com
esta variável.
O componente set-point, que é o que se deseja para a variável de processo e tem
como objetivo definir o comportamento do ponto de operação a ser aplicado no
processo ao longo de todo o período de simulação, ficou estabelecido como 6,28 rad,
que representa o pêndulo na posição vertical, como pode ser verificado na figura 20 a
seguir:
Figura 2012: Zona de ação do algoritmo de controle.
11 ARAÚJO et al (2008). Relatório do estudo do modelo, identificação e simulação do sistema de controle
digital de rejeição ao distúrbio de posição do kit pêndulo digital. Documento interno do Laboratório de
Automação Industrial (LAI) - Instituto Federal Fluminense Campus Centro. Campos dos Goytacazes, RJ.
48
Então, o novo modelo do processo do kit Pêndulo ficou assim demonstrado na
figura 21:
Figura 21: Nova planta de processo do kit Pêndulo.
Pode-se notar que, além da retirada da leitura da posição do carro, foi inserido um
bloco de atraso no tempo, “unit delay”, para fazer a diferença entre os instantes dos
erros, a fim de se obter a variável “variação do erro de posição do pêndulo”.
3.2 - Elaboração das funções de pertinência
O primeiro controlador estabelecido para este trabalho foi feito com o uso de três
funções de pertinência para cada variável, sendo elas Negativo (NEG), Positivo (POS) e
Zero (Z). Elas foram definidas por meio de simulações e inspeções feitas de acordo com
o kit do Pêndulo, com a organização eficaz e suave das variáveis para o movimento do
pêndulo.
Dietrich (2008 apud SILVA, 2009) determina empiricamente que o domínio
máximo para o valor da variável de entrada “erro de posição angular do pêndulo” é de
±45º, que equivale a ± 0.8 rad, como é utilizado no controlador fuzzy que Silva (2009)
implementou. Aqui, neste trabalho, utiliza-se o range, ou domínio, para esta variável de
± 0.7 rad, segundo inspeções através de leituras nos gráficos obtidos da posição do
pêndulo no MATLABTM
.
Para esta variável, foram criadas as seguintes funções de pertinência:
12 Extraído de: Feedback Instrument Ltd, Manual: 33-935/936-1V60, 2002.
49
Figura 22: Funções de pertinência da variável de entrada “erro de posição angular do pêndulo”.
Para a entrada “variação do erro de posição angular do pêndulo”, foi estabelecido
como limites aceitáveis o dobro do domínio da variável anterior, ou seja, ± 1.5 rad. Ela
pode ser verificada também na figura 23:
Figura 23: Funções de pertinência da variável de entrada “variação do erro de posição angular do
pêndulo”.
E para a variável de entrada “posição do pêndulo”, criaram-se as seguintes funções
de pertinência:
50
Figura 24: Funções de pertinência da variável de entrada “posição do pêndulo”.
Houve a necessidade da inserção desta variável, pois ao se construir o conjunto de
regras para este primeiro controlador, encontrou-se certa dificuldade para se estabelecer
a saída do controlador quando o “erro de posição angular do pêndulo” era Zero.
Descobriu-se que era necessário saber, para este caso específico, se a haste do pêndulo
se encontrava à esquerda do set-point estabelecido ou à direita, para se inferir as regras
de saída, como pode ser verificado na figura 25.
Figura 25: Esboço do pêndulo invertido.
Nota-se pela figura 25 que, à direita do ponto central da haste horizontal, a tensão
atuante é positiva e vice-versa, e o “*” na figura indica que o pêndulo decrementa à
direita da posição vertical, ou set-point, isto é, ele diminui o seu valor de posição em
radianos no sentido horário e aumenta (ou incrementa) no sentido anti-horário. É
51
importante ressaltar que, ao iniciar uma simulação no kit, é necessário que o pêndulo
esteja colocado na posição vertical invertida, pois o controlador fuzzy criado controla o
mesmo nesta posição, mas não o conduz até ela, se ele estiver em sua posição normal,
que é para baixo.
Assim, baseado no movimento do pêndulo invertido e na leitura das posições do
carro, que à esquerda do ponto central da haste horizontal, obtém-se tensão negativa, e à
direita, obtém-se tensão positiva, o primeiro conjunto de regras obtido é apresentado na
tabela de inferência 1.
3.3 - Controlador de 11 regras
Epp
Epp
NEG Z POS
NEG NEG NEG NEG
Z NEGE/POS
D Z NEG
E/POS
D
POS PG PG PG
Tabela 1: Primeiro conjunto de regras para o controlador fuzzy. Epp= variável “erro de posição angular do
pêndulo”; Epp= variável “variação do erro de posição angular do pêndulo”.
Este primeiro conjunto de regras obtido teve 11 regras e ficou caracterizado por
isso, pois após simulações feitas, passou por alterações nas funções de pertinência de
suas variáveis.
Nota-se que quando a variável “erro de posição angular do pêndulo” é Zero, há
duas saídas na tabela: uma considerando o pêndulo na esquerda, como, por exemplo
“POSE”, e outra considerando o pêndulo na direita, “POS
D”. Esta tabela de inferência
mostra a ação de saída do controlador para as possíveis situações encontradas no kit
Pêndulo Invertido.
Para a saída do controlador fuzzy do pêndulo invertido, criou-se a variável
“Tensão”, com domínio de ± 2 V, respeitando-se os limites de tensão do kit.
52
Figura 26: Funções de pertinência para a variável de saída “Tensão”.
Este primeiro controlador de 11 regras funcionou razoavelmente bem com as
funções de pertinência mostradas anteriormente. E após várias simulações feitas com
alterações nos formatos das funções das variáveis de entrada e saída, chegou-se a um
controlador mais apurado, com as seguintes mudanças efetuadas na variável de saída
“Tensão”, apresentadas na figura 27:
Figura 27: Nova configuração das funções de pertinência da variável de saída “Tensão”.
Uma das grandes vantagens do controlador fuzzy é que o mesmo possui uma lei de
controle não-linear. Ao desenhar-se a superfície de controle do controlador de 11 regras
do pêndulo, pode-se verificar que a função é não-linear, pois o gráfico se mostra em 3
dimensões, e não em duas como costumeiramente acontece nas superfícies dos
controladores clássicos, como o PID (Proporcional-Integral-Derivativo). A superfície do
controlador de 11 regras é mostrada na figura 28, onde as variáveis de entrada (“erro de
posição angular do pêndulo” e “variação do erro de posição angular do pêndulo”)
53
percorrem os seus respectivos universos de discurso, e é calculada para cada entrada, a
variável de saída do controlador (“Tensão”).
Figura 28: Gráfico da superfície do controlador fuzzy de 11 regras.
Muitos autores fazem uso do estudo da superfície de controle para escolher os seus
controladores, como pode ser visto em Hussein et al. (2007) e em Wal (1995).
Os gráficos de desempenho deste controlador e as comparações entre suas
variações serão vistos no capítulo 4. Como já dito anteriormente no capítulo de
fundamentação teórica, o método de defuzzificação utilizado para os controladores do
pêndulo foi o “Mediatriz”, após longos experimentos realizados com o equipamento e
descoberta empírica que este método era o que melhor se encaixava no objetivo
proposto.
3.4 - Controlador de 21 regras
Logo após a elaboração do primeiro controlador de 11 regras, observou-se a
necessidade de se obter um controlador com melhor desempenho. Decidiu-se, então,
inserir cinco funções de pertinência em cada variável do controlador, o que resultou
nestas: Muito Negativo (MN), Pouco Negativo (PN), Zero (Z), Pouco Positivo (PP) e
Muito Positivo (MP). E manteve-se a variável “posição do pêndulo” com o mesmo
formato, conforme explicação abordada anteriormente sobre sua inserção no
controlador.
54
Inicialmente, as variáveis de entrada ficaram com as seguintes funções de
pertinência:
Figura 29: Funções de pertinência da variável de entrada “erro de posição angular do pêndulo”, para o
controlador de 21 regras.
Figura 30: Funções de pertinência da variável de entrada “variação do erro de posição angular do
pêndulo”, para o controlador de 21 regras.
Figura 31: Funções de pertinência da variável de entrada “posição do pêndulo”.
55
Este segundo conjunto de regras obtido teve a seguinte tabela de inferência:
Epp
Epp
MN PN Z PP MP
MN MN
MN MN
PN PN PN
PN
Z PNE/PP
D PN
E/PP
D Z MN
E/MP
D MN
E/MP
D
PP PP PP PP
MP MP MP MP
Tabela 2: Segundo conjunto de regras para o controlador fuzzy. Epp= variável “erro de posição angular do
pêndulo”; Epp= variável “variação do erro de posição angular do pêndulo”.
Para desenhar uma tabela de inferência com as bases de regras, utiliza-se uma
matriz que cubra todas as possíveis combinações das entradas, como já visto
anteriormente. Esta técnica é bem conveniente e encontrada em vários autores, como
por exemplo, em Beristain (2000) e em Sousa e Francisco (2010). Dela, podem derivar-
se todas as regras que irão formar uma base completa. Porém, pode-se verificar que a
tabela anterior possui 21 regras, que caracteriza o nome do controlador, não foi
totalmente preenchida. Isto se deu visto que as 21 regras atendem satisfatoriamente o
objetivo proposto, que é de controlar o pêndulo na posição vertical, e por limitações da
versão do software MATLABTM
e da configuração do computador agregado ao kit.
Pode-se notar novamente que quando a variável “erro de posição angular do
pêndulo” é Zero, há duas saídas na tabela para a ação de controle, que leva em
consideração a posição do pêndulo em relação ao set-point.
Para a variável de saída “Tensão”, foram criadas as seguintes funções de
pertinência:
56
Figura 32: Funções de pertinência para a variável de saída “Tensão” do controlador de 21 regras.
Este segundo controlador de 21 regras também funcionou razoavelmente bem,
com as funções de pertinência mostradas anteriormente. E depois de algumas
simulações feitas com alterações nos formatos das funções das variáveis de entrada e
saída, chegou-se a melhores desempenhos, com as seguintes mudanças efetuadas:
Figura 33: Nova configuração das funções de pertinência da variável de entrada “erro de posição angular
do pêndulo”, para o controlador de 21regras.
57
Figura 34: Nova configuração das funções de pertinência da variável de entrada “variação do erro de
posição angular do pêndulo”, para o controlador de 21 regras.
E dentre essas variações feitas, também variaram as funções de pertinência da
variável de saída “Tensão”, onde se obteve, para cada nova formatação mostrada a
seguir, um novo tipo de controlador:
Figura 35: Nova configuração para as funções de pertinência para a variável de saída “Tensão” do
controlador de 21 regras.
58
Figura 36: Outra configuração para as funções de pertinência para a variável de saída “Tensão” do
controlador de 21 regras.
A superfície não-linear de controle para este controlador de 21 regras se portou da
seguinte maneira:
Figura 37: Gráfico da superfície do controlador fuzzy de 21 regras.
Tanto o gráfico de superfície do controlador de 21 regras quanto o de 11 regras
sofreram mudanças com as variações realizadas nos parâmetros dos controladores. As
superfícies aqui demonstradas foram dos primeiros controladores elaborados e tiveram o
objetivo de visualizar a não-linearidade que controladores fuzzy obtiveram neste
trabalho.
59
4 - RESULTADOS
Verificam-se, neste capítulo, os resultados obtidos através das simulações feitas
com os controladores e o êxito encontrado a partir dos mesmos.
4.1 - Controlador de 11 regras
Como primeiro controlador utilizado para o pêndulo invertido, o de 11 regras se
comportou de maneira satisfatória desde o primeiro estabelecido, e após variações feitas
e simuladas, chegou-se ao seguinte resultado expresso na figura 38:
Figura 38: Gráfico de resultado para o controlador de 11 regras.
Pode-se notar que há o controle para a posição do pêndulo. Muito embora haja
vibrações no gráfico, o controlador fuzzy consegue atuar e trazer o pêndulo para a
posição de set-point. Notam-se também, neste gráfico e nos posteriores, alguns picos de
vibrações. Eles são entradas em distúrbios, mostradas pelas setas, feitas manualmente
no pêndulo, para verificar o desempenho e a qualidade do controlador. Com isso,
percebeu-se que a capacidade do sistema em compensar distúrbios externos foi
60
satisfatória. Com o pêndulo numa posição estável, o mesmo foi manualmente movido
de sua posição de equilíbrio. A reação do sistema foi registrada e o resultado indicou
que o controlador é capaz de compensar estes distúrbios dentro de determinada faixa de
perturbação.
Para se estabelecer um rigor maior para a robustez do controlador, foi utilizado um
método de desempenho, com o auxílio do MATLABTM
, chamado “MSE”. MSE
(Medium Squared Error) é um tipo de função de desempenho usado para avaliação de
dados. Ele faz essa medição de acordo com a média dos erros ao quadrado. Quanto
menor for o valor do MSE, melhor será o desempenho para o problema em questão. É
possível encontrar o uso deste método em vários autores, como por exemplo, Cun et al.
(1990). No caso do controlador do pêndulo invertido, a diminuição do valor do MSE
significa que menor é a diferença entre a posição do pêndulo e o set-point, pois é com o
resultado dessa diferença que é calculado o MSE. Para o controlador em questão, o
valor do MSE encontrado foi 0.9978. O gráfico da diferença entre a posição do pêndulo
e o seu set-point, para melhor entendimento para a validação do de 11 regras, pode ser
visto na figura 39:
Figura 39: Gráfico de desempenho para o controlador de 11 regras. Diferença entre a posição angular do
pêndulo e o set-point.
O controlador fuzzy de 11 regras para o pêndulo invertido se mostrou útil, pois
alcançou o objetivo de manter a posição do pêndulo junto ao seu set-point, e serviu
61
como base para a construção e verificação do controlador de 21 regras, o qual será
abordado na seção a seguir.
4.2 - Controlador de 21 regras
O controlador fuzzy de 21 regras para o pêndulo invertido foi o que mais sofreu
variações neste trabalho e que também se mostrou satisfatório nas simulações dos seus
variados tipos. Dois tipos com bons desempenhos podem ser verificados pelo gráfico do
resultado expresso nas figuras 40 e 41 a seguir:
Figura 40: Gráfico de resultado para o controlador de 21 regras.
62
Figura 41: Novo gráfico de resultado para o controlador de 21 regras.
Também para este controlador foi utilizado o teste de desempenho MSE. Dentre as
variações feitas, pode verificar-se com o cálculo do MSE que a diferença entre a
posição do pêndulo e o set-point diminuiu. Este apresentou valores decrescentes de
0.8921, 0.7533 e 0.6448. O gráfico da diferença entre a posição do pêndulo e o set-point
para o último valor de MSE citado ficou da seguinte forma:
63
Figura 42: Gráfico de desempenho para o controlador de 21 regras. Diferença entre a posição angular do
pêndulo e o set-point, em AZUL.
Os controladores de 21 regras se mostraram com melhores desempenho e
robustez, pois obtiveram boa rejeição a distúrbios feitos manualmente no pêndulo.
Nota-se isso também pela diminuição do valor do erro MSE entre o controlador de 11
regras e os de 21 regras, como pode ser verificado na tabela 3 abaixo:
CONTROLADORES
Alterações realizadas 11 regras 21 regras
1ª 0.9978 -
2ª - 0.8921
3ª - 0.7533
4ª - 0.6448
Tabela 3: Controladores com seus respectivos valores de MSE.
64
5 – CONSIDERAÇÕES FINAIS E SUGESTÕES PARA
TRABALHOS FUTUROS
O surgimento de diferentes abordagens da área de inteligência artificial é motivo
de grande interesse, pois se nota uma crescente pesquisa nesse campo, nas últimas
décadas, pois a possibilidade de conseguir modelos tão ou mais robustos e eficientes
quanto aos que utilizam controle clássico para a resolução de diversos problemas,
mostra-se como uma atraente opção, embora não seja o foco deste trabalho a
comparação com o controle clássico.
Os comentários obtidos, em pesquisa de artigos, monografias e dissertações sobre
o pêndulo invertido e o seu controle são frequentes, mas geralmente se mostram
superficiais no que diz respeito à parte prática e normalmente apresentam-se com o
intuito de ilustrar os conceitos teóricos. Foram encontradas várias abordagens diferentes
para modelagem e controle para o sistema do pêndulo.
Os resultados encontrados neste trabalho indicam o potencial da utilização da
lógica e controle fuzzy na implementação de experiências práticas em sistemas de
controle de processos multivariáveis, inerentemente instáveis, não triviais, que
apresentam não-linearidade e com certo grau de complexidade. As simulações
realizadas com o kit em laboratório apresentaram resultados satisfatórios e são
relativamente práticos de serem reproduzidos, pois a validação experimental foi
cumprida.
Como visto neste trabalho, os controladores fuzzy permitem o controle de sistemas
por meio de informações qualitativas, sem a expressa necessidade de modelar o sistema.
Assim, sistemas de dinâmica multivariável e não-linear podem ter um controle eficiente
sem a necessidade de linearização do sistema. O objetivo proposto – a implementação e
testes com o controlador - foi alcançado, no que diz respeito ao controle de posição do
pêndulo, o qual se apresentou satisfatoriamente em dois tipos de controladores obtidos e
com vários tipos de variações nos mesmos. De acordo com as análises e os resultados
demonstrados neste trabalho, pode-se concluir que os controladores utilizados são de
grande interesse, pois minimizam o esforço humano na elaboração dos mesmos, por
obterem resultados satisfatórios e por serem estruturas que não apresentam necessidade
do modelo do processo.
65
Este trabalho visou apresentar novos campos de pesquisa para o controle de
processos, não só valendo-se das novas técnicas avançadas, mas com o entendimento de
que também tanto o controle convencional como o avançado precisam servir de base
firme e bem fundamentada para o engenheiro de controle e automação.
5.1 - Sugestões para trabalhos futuros
Como o sistema referido é não-linear, fica aqui expresso como sugestão o uso
de outras aplicações tanto de processamento de sinais quanto de controle, como
o uso de outros controladores fuzzy com diferentes funções de pertinências e
regras; uso de controle adaptativo; utilização de controladores LQR (“Linear
Quadratic Regulator”); de controles ótimos de tempo, etc.
Embora não tenha sido o objetivo deste trabalho por questões de método
adotado, sugere-se a identificação do modelo do pêndulo, como a identificação
com o uso de Redes Neurais Artificiais, modelos Auto-Regressivos, etc.
Adoção de projetos de controladores para outros casos específicos, como por
exemplo, o controle do pêndulo invertido com rastreamento de trajetória pelo
carro, já que o presente trabalho não abordou esta variável.
Também é muito válido salientar que o kit Pêndulo Invertido da FEEDBACK
que se encontra no LAI está conectado a um computador que tem se tornado
obsoleto. Trabalhos futuros podem estudar a ligação do kit com outro
computador com melhor hardware e software, através de protocolo de redes,
como o uso do padrão OPC (“Ole for Process Control”) para esta comunicação.
Muitos outros estudos podem ser estabelecidos com o uso do pêndulo invertido.
Outras sugestões podem ser encontradas no trabalho de Castro (2008), o qual se
encontra tanto na biblioteca do IFF quanto no LAI.
Este trabalho espera também servir de apoio e incentivo para outros alunos que
queiram estudar e realizar trabalhos futuros com o kit do LAI, pois se deseja que os
alunos do curso de Engenharia de Controle e Automação coloquem em prática os
conhecimentos que obtiveram durante o curso e utilizem o LAI para seus estudos.
66
REFERÊNCIAS
ALVAREZ, Carlos A.; CASTRO, Wilson G. Módulo para Sistemas Basados en
Técnicas de Inteligencia Artificial: Aplicación al Péndulo Invertido. 2002.
ANTÓNIO, Luís Filipe Moleirinho. Modelo Baseado em Inferência Difusa para a
Análise de Risco na Operação de Sistemas de Energia. Monografia do curso de
Licenciatura em Engenharia Electrotécnica e de Computadores. Faculdade de
Engenharia da Universidade do Porto, Portugal. 2004.
ASTROM, K. J.; FURUTA, K. Swinging Up a Pendulum by Energy Control. In:
13th World Congress of IFAC. Vol. G. San Francisco, CA, EUA. 1996.
BERISTAIN, Laura Jimenez. Algunas Aplicaciones de Logica Difusa a Teoria del
Control. Dissertação de Mestrado do Curso de Ciências com especialidade em Sistemas
Digitais. Instituto Politécnico Nacional, Tijuana, B. C., México. 2000.
BURNS, Roland S. Advanced Control Engineering. Tradução dos autores. 1a ed.
Woburn, MA, EUA: Butterworth-Heinemann, 2001.
CAMPOS, Mario Massa de; SAITO, Kaku. Sistemas inteligentes em controle e
automação de processos. Rio de Janeiro: Editora Ciência Moderna Ltda., 2004.
CAMPOS, Mario César Mello Massa de. Artigo: Aplicações de Controladores fuzzy
na Petrobras. 2008.
CASTAÑOS, F.; CARRERA, R. Levantamiento y Control de um Péndulo Invertido
con un Esquema de Control Reconfigurable. 2004.
CASTRO, Leandro Santos. Projeto de controlador digital: Problema do Guindaste
utilizando o kit da Feedback 33-200/33-201. Monografia do Curso Superior de
67
Tecnologia em Automação Industrial. IFF Campos Campus Centro, Campos dos
Goytacazes/RJ, 2008.
CAVALCANTI, José Homero Feitosa; ALSINA, Pablo Javier, FERNEDA, Edílson.
Posicionamento de um Pêndulo Invertido usando Algoritmos Genéticos. SBA
Controle e Automação Vol. 10, n.o 1. 1999.
COSTA, Wendel T.; NEPOMUCENO, Erivelton G.; NETO, Oriane M. Controle
Nebuloso de Sistemas Não-Lineares via Método Takagi-Sugeno: Uma Abordagem
Didática Usando SimulinkTM
. Laboratório de Sistemas e Sinais , Departamento de
Eng. Elétrica, Universidade Federal de São João del-Rei/MG. 2009.
CUN, Yann Le; DENKER, John S.; SOLLA, Sara A. Optimal Brain Damage. AT&T
Bell Laboratories, Holmdel, N. J. 07733. 1990.
GONÇALVES, Carlos Wellington Passos. Simulação e Controle de um Pêndulo
Duplo Invertido. Monografia do Curso de Engenharia Mecatrônica, Universidade de
Brasília/DF. 2006.
GOUDEN, N. Ammasai; PETER, Sabitha Ann; NALLANDULA, Himaja, KRITHIGA,
S. Fuzzy logic controller with MPPT using line-commutated inverter for three-
phase grid-connected photovoltaic systems. Renewable Energy. Journal homepage:
www.elsevier.com/locate/renene. p909-915. 2009.
HUAMANÍ, Ivette R. Luna. Sistemas Neurais Fuzzy Aplicados em Identificação e
Controle de Sistemas. Dissertação de Mestrado do curso de Engenharia Elétrica e de
Computação. Universidade Estadual de Campinas/SP, 2003.
HUSSEIN, T.; ELSHAFEI, A. L.; BAHGAT, A. Design of a Hierarchical Fuzzy
Logic PSS for a Multi-Machine Power System. Proceedings of the 15th Mediterranean
Conference on Control & Automation, Athens, Greece. 2007.
68
LI, Zhijun; XU, Chunquan. Adaptive Fuzzy Logic Control of Dynamic Balance and
Motion for Wheeled Inverted Pendulums. Fuzzy Sets and Systems 160. p1787-1803.
www.elsevier.com/locate/fss. 2009.
MACHADO, Jeremias Barbosa. Modelagem e Controle Preditivo utilizando
Multimodelos. Dissertação de Mestrado. Curso de Engenharia Elétrica e de
Computação. Universidade Estadual de Campinas/SP. 2007.
MANDANI, E. H. Application of Fuzzy Logic to Approximate Reasoning Using
Linguistic Synthesis. Department of Eletrical and Electronic Engineering. Queen Mary
College, University of London, England. p196-202. 1976.
MINHOTO, Marcelo Carvalho; PIETROBOM, Hilton Cleber; ASSUNÇÃO, Edvaldo.
Novos Resultados sobre a Estabilidade e Controle de Sistemas Não-lineares
Utilizando Modelos Fuzzy e LMI. Revista Controle & Automação, Vol 11, no. 1.
2000.
MIRANDA, Pedro; VILELA, Mauro Barbosa Junior; KRONBAUER, Diego. Sistema
de Controle Difuso de Mandani. Aplicações: Pêndulo Invertido e outras. Monografia
do curso de Análise de Sistemas. Universidade Federal de Mato Grosso do Sul, 2003.
MOCHIZUKI, Luis; AMADIO, Alberto C. Aspectos biomecânicos da postura ereta:
a relação entre o centro de massa e o centro de pressão. Revista Portuguesa de
Ciências do Desporto, Vol 3, n.o 3, p77-83. 2003.
MORAIS, Marcelo H. Essado de; MURALIKRISHNA, Amita; GUIMARÃES,
Lamartine Nogueira Frutuoso. Sistema de Controle PID e Nebuloso Aplicado ao
Problema do Pêndulo Invertido. 2005.
OGATA, Katsuhiko. Engenharia de Controle Moderno. Tradução: Paulo Álvaro
Maya. 4. ed., 3ª reimpressão 2007. São Paulo: Pearson Prentice Hall, 2003.
OLVERA, M. C. Antonio Victor Mejía; LÓPEZ, M. C. Alejandro Aceves.
Optimización de Controladores Difusos mediante Algoritmos Genéticos. XXVI
69
Reunión de Intercambio y Desarrollo Tecnológico del Sistema ITESM. Instituto
Tecnológico y De Estudios Superiores De Monterrey, Campus Estado de México. 1995.
PHILIPS, C. L.; HARBOR, R. D. Sistemas de Controle e Realimentação. Tradução:
L. F. Ricardo. São Paulo: Makron Books, 1997.
PINKER, Steven. Como a mente funciona. Tradução: Laura Teixeira Mota. São Paulo:
Companhia das Letras, 1998.
PIRES, Anderson Vasconcelos. Controladores Baseados em Técnicas de Inteligência
Computacional: Análise, Projeto e Aplicações. Dissertação de Mestrado, Curso de
Engenharia Elétrica, Universidade Federal de Minas Gerais. 2007.
QUADRELLI, G.; TANSCHEIT, R.; VELLASCO, M. M. Neuro-Fuzzy Modelling
and Control of Nonlinear Dynamic Systems. Learning and Nonlinear Models –
Revista da Sociedade Brasileira de Redes Neurais, Vol. 1, N.o 1, pp1-9. 2003.
RIBEIRO, Ricardo. Implementação de um Sistema de Controle de um Pêndulo
Invertido. Dissertação de Mestrado. Curso de Engenharia Elétrica. Universidade
Federal de Itajubá/MG. 2007.
ROMERO, Tinoco R. F.; ORCÉS, Pareja E. H. Modelado, Simulación y Control de
un Péndulo Invertido Usando Componentes Análogos Simples. 8º Congreso
Iberoamericano De Ingenieria Mecanica, Cusco, Peru. 2007.
SERRA, Ginalber Luiz de Oliveira. Computação Evolutiva e Sistemas Fuzzy.
Trabalho de Revisão bibliográfica apresentada à disciplina Computação Evolucionária,
ministrada pelo prof. Dr. Von Zuben, Curso de Computação Evolucionária. Faculdade
de Engenharia Elétrica e de Computação. Universidade Estadual de Campinas/SP. 2001.
SILVA, Mozzer Antonio de Oliveira. Estudo de Técnicas de Controle Aplicada ao
Sistema Pêndulo Invertido. Monografia do Curso de Engenharia de Controle e
Automação. Universidade Federal de Ouro Preto/MG. 2009.
70
SOUSA, Adriellen Lima de; FRANCISCO, Leonardo do Espírito Santo. Identificação
de Controle Fuzzy de uma Planta Didática de Nível. Monografia do Curso de
Engenharia de Controle e Automação, Instituto Federal Fluminense Campus Campos
Centro, RJ. 2010.
SOUZA, Rafael Bellini Marques de. Projeto de Reguladores Fuzzy Takagi-Sugeno
Utilizando as Condições Iniciais da Planta. Dissertação de Mestrado. Curso de
Engenharia Elétrica, Universidade Estadual Paulista/SP. 2006.
TAVARES, Maria Adriana; SANTOS, Rodrigo Borges; NETO, Camilo Mesquita;
LOPES, Vicente Júnior. Controle de um Pêndulo Invertido utilizando o Modelo
Fuzzy Takagi-Sugeno. 16º Simpósio de Pós-Graduação em Engenharia Mecânica.
Universidade Federal de Uberlândia/MG. 2006.
WAL, A. J. van der. Application of Fuzzy Logic in Industry. Elsevier: Fuzzy Sets and
Systems 74, p33-41. 1995.
WIDJAJA, M.; YURKOVICH, S. Fuzzy Controller Synthesis for an Inverted
Pendulum System. Control Eng. Practice, Vol. 4, No 4, pp.455-469. Elsevier Science
Ltd. 1996.
YI, J.; YUBAZAKI, N. Stabilization Fuzzy Control of Inverted Pendulum Systems.
Artificial Intelligence in Engineering 14, p153-163. www.elsevier.com/locate.aieng.
2000.
YI, Jianqiang; YUBAZAKI, Naoyoshi; HIROTA, KAORU. A New Fuzzy Controller
for Stabilization of Parallel-Type Double Inverted Pendulum System. Fuzzy Sets
and Systems 126, p105-119, www.elsevier.com/locate/fss. 2002.
ZADEH, Lotfali Askar. Fuzzy Sets; Information and Control, v.8, n.1, p338-353.
Berkeley, Califórnia, EUA. 1965.
71
ZADEH, Lotfali Askar. Outline of a New Approach to the Analysis of Complex
Systems and Decision Process. IEEE Transactions on Systems, Man and Cybernetics,
Vol. SMC-3, NO. 1, p28-44. 1973.
ZAVALA, Salvador Ramírez; ORTIZ, Luís Arturo Gallegos; MARÍN, Juan Anzurez.
Control de un Péndulo Invertido en Tiempo Real Usando Lógica Difusa. Facultad
de Ingeniería Eléctrica de la Universidad Michoacana de San Nicolás de Hidalgo,
División de Estudios de Posgrado, Morelia, Michoacán, México. 2009.