desenvolvimento de um ambiente computacional para … · ser: \quanser level control two tank...

8
DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA ENSINO DE CONTROLE FUZZY Jos´ e Kleiton Ewerton da Costa Martins * , M´ ario S´ ergio Freitas Ferreira Cavalcante * , abio Ricardo de Lima Souza * , F´ abio Meneghetti Ugulino de Ara´ ujo * * Universidade Federal do Rio Grande do Norte Departamento de Engenharia da Computa¸ c˜ao e Automa¸ ao Natal, Rio Grande do Norte, Brasil [email protected], [email protected], [email protected], [email protected] Abstract— This paper presents the design and implementation of a software that was developed for help any student to learn Fuzzy logic control, it provides a simple, functional and very intuitive user interface and also has a freeware license. This software was developed in C++ with the assist of Sockets to communicate the plant with the appplication. Knows that, the simulations are frequent when studying Fuzzy logic controller, the software already contains an environment in which use a didactic kit to the student demonstrate the efficiency of your controller. Keywords— Fuzzy Control, Engineering Education, Educational Software, Educational Kit. Resumo— Este artigo visa apresentar o desenvolvimento de uma plataforma que permite ao usu´ ario projetar, alterar e implementar controladores baseados em l´ ogica Fuzzy. A aplica¸ c˜ao foi implementada em C++ utilizando comunica¸c˜aocomumaplantadid´aticavia Socket, baseado no protocolo TCP/IP. O ensino de controle inteligente est´a presente em diversas universidades do pa´ ıs, assim, surgiu a necessidade de cria¸c˜ ao de um ambiente dinˆamico, gratuito, no qual o aluno possa interagir diretamente com plantas reais atrav´ es do mesmo software no qual ele projeta o controlador Fuzzy. Palavras-chave— Controle Fuzzy, Ensino em Engenharia, Software Educacional, Kit Educacional. 1 Introdu¸c˜ ao Aintera¸c˜ ao entre homem e m´ aquina torna- se cada dia mais frequente em diversas aplica¸c˜ oes do setor industrial. Atualmente, as m´ aquinas es- ao sendo utilizadas massivamente para o controle e supervis˜ ao de processos industriais, dando, as- sim, mais precis˜ ao para a opera¸ ao e melhorando o desempenho desses sistemas. O controle de pro- cessos pode ser feito de diferentes formas. Controlar um processo significa atuar sobre ele de tal forma que o sistema retorne uma sa´ ıda desejada ou mantenha-se est´ avel. Um sistema convencional de controle inteligente ´ e composto por uma planta ou processo, um controlador que executa internamente um algoritmo de controle, um sensor que capta as informa¸ oes da vari´ avel que se deseja controlar e um sinal de entrada. Esse algoritmo de controle pode ser dos mais diversos, como, por exemplo, Redes Neurais Artificiais, con- troladores baseados em sistemas especialista, con- trole Fuzzy e controladores h´ ıbridos, que unem ca- racter´ ısticas de v´ arias t´ ecnicas de Inteligˆ encia Ar- tificial. Segundo Sandri (1999), o uso de controlado- res Fuzzy tornou-se muito comum j´ a que lida com a imprecis˜ ao e incerteza da linguagem humana. Caracter´ ısticas que nem sempre os controladores cl´ assicos conseguem tratar. Al´ em disso, os con- troladores Fuzzy ao eficazes no controle e mode- lagem de sistemas reais, que em sua maioria, s˜ ao sistemas n˜ ao-lineares que podem n˜ ao ser modela- dos, nem controlados, adequadamente atrav´ es de ecnicas lineares. O uso de controladores Fuzzy ´ e comum em muitos trabalhos da ´ area de rob´ otica. Um exem- plo ´ e o trabalho proposto por Sousa (2007), em que um controlador desse tipo ´ e implementado para o controle de navega¸c˜ ao de um ve´ ıculo autˆ o- mato. Outro exemplo de uso desse controlador ´ e o trabalho de Baturone et al. (2008), que expˆ os um sistema microcontrolado usando a estrat´ egia baseada em l´ ogica Fuzzy, embarcado em um Digi- tal Signal Processor (DSP ). Um controlador Fuzzy PD foi utilizado, por exemplo, no trabalho de Pil- tan et al. (2011) para controlar o posicionamento de um robˆ o. Controladores Fuzzy em substituindo alguns dos controladores tradicionais. Sua aplicabilidade vai desde sistemas com baixa complexidade, como, por exemplo, controle de n´ ıvel de tanques, pro- posto por Luna Filho et al. (2002), at´ e sistemas mais complexos, como o controle de voo de aero- naves apresentado pelo trabalho de Larkin (1984), que utiliza essa t´ ecnica para criar um auto-piloto para as aeronaves. Trabalhos mais recentes comprovam que essa ecnica ainda vem sendo alvo de estudos para apli- ca¸ oes industriais, como o trabalho de Lianzhong e Zaheeruddin (2007) que usa o modelo do controla- dor Fuzzy para o controle de temperatura de uma bomba de calor para o aquecimento de ´ agua, as- sim como, o trabalho de Rocco e Morabito (2012) que usa l´ ogica Fuzzy para o controle de vapor em Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014 1434

Upload: others

Post on 28-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA ENSINO DECONTROLE FUZZY

Jose Kleiton Ewerton da Costa Martins∗, Mario Sergio Freitas Ferreira Cavalcante∗,Fabio Ricardo de Lima Souza∗, Fabio Meneghetti Ugulino de Araujo∗

∗Universidade Federal do Rio Grande do NorteDepartamento de Engenharia da Computacao e Automacao

Natal, Rio Grande do Norte, Brasil

[email protected], [email protected], [email protected],

[email protected]

Abstract— This paper presents the design and implementation of a software that was developed for help anystudent to learn Fuzzy logic control, it provides a simple, functional and very intuitive user interface and also hasa freeware license. This software was developed in C++ with the assist of Sockets to communicate the plant withthe appplication. Knows that, the simulations are frequent when studying Fuzzy logic controller, the softwarealready contains an environment in which use a didactic kit to the student demonstrate the efficiency of yourcontroller.

Keywords— Fuzzy Control, Engineering Education, Educational Software, Educational Kit.

Resumo— Este artigo visa apresentar o desenvolvimento de uma plataforma que permite ao usuario projetar,alterar e implementar controladores baseados em logica Fuzzy. A aplicacao foi implementada em C++ utilizandocomunicacao com uma planta didatica via Socket, baseado no protocolo TCP/IP. O ensino de controle inteligenteesta presente em diversas universidades do paıs, assim, surgiu a necessidade de criacao de um ambiente dinamico,gratuito, no qual o aluno possa interagir diretamente com plantas reais atraves do mesmo software no qual eleprojeta o controlador Fuzzy.

Palavras-chave— Controle Fuzzy, Ensino em Engenharia, Software Educacional, Kit Educacional.

1 Introducao

A interacao entre homem e maquina torna-se cada dia mais frequente em diversas aplicacoesdo setor industrial. Atualmente, as maquinas es-tao sendo utilizadas massivamente para o controlee supervisao de processos industriais, dando, as-sim, mais precisao para a operacao e melhorandoo desempenho desses sistemas. O controle de pro-cessos pode ser feito de diferentes formas.

Controlar um processo significa atuar sobreele de tal forma que o sistema retorne uma saıdadesejada ou mantenha-se estavel. Um sistemaconvencional de controle inteligente e compostopor uma planta ou processo, um controlador queexecuta internamente um algoritmo de controle,um sensor que capta as informacoes da variavelque se deseja controlar e um sinal de entrada. Essealgoritmo de controle pode ser dos mais diversos,como, por exemplo, Redes Neurais Artificiais, con-troladores baseados em sistemas especialista, con-trole Fuzzy e controladores hıbridos, que unem ca-racterısticas de varias tecnicas de Inteligencia Ar-tificial.

Segundo Sandri (1999), o uso de controlado-res Fuzzy tornou-se muito comum ja que lida coma imprecisao e incerteza da linguagem humana.Caracterısticas que nem sempre os controladoresclassicos conseguem tratar. Alem disso, os con-troladores Fuzzy sao eficazes no controle e mode-lagem de sistemas reais, que em sua maioria, saosistemas nao-lineares que podem nao ser modela-

dos, nem controlados, adequadamente atraves detecnicas lineares.

O uso de controladores Fuzzy e comum emmuitos trabalhos da area de robotica. Um exem-plo e o trabalho proposto por Sousa (2007), emque um controlador desse tipo e implementadopara o controle de navegacao de um veıculo auto-mato. Outro exemplo de uso desse controlador eo trabalho de Baturone et al. (2008), que exposum sistema microcontrolado usando a estrategiabaseada em logica Fuzzy, embarcado em um Digi-tal Signal Processor (DSP). Um controlador FuzzyPD foi utilizado, por exemplo, no trabalho de Pil-tan et al. (2011) para controlar o posicionamentode um robo.

Controladores Fuzzy tem substituindo algunsdos controladores tradicionais. Sua aplicabilidadevai desde sistemas com baixa complexidade, como,por exemplo, controle de nıvel de tanques, pro-posto por Luna Filho et al. (2002), ate sistemasmais complexos, como o controle de voo de aero-naves apresentado pelo trabalho de Larkin (1984),que utiliza essa tecnica para criar um auto-pilotopara as aeronaves.

Trabalhos mais recentes comprovam que essatecnica ainda vem sendo alvo de estudos para apli-cacoes industriais, como o trabalho de Lianzhong eZaheeruddin (2007) que usa o modelo do controla-dor Fuzzy para o controle de temperatura de umabomba de calor para o aquecimento de agua, as-sim como, o trabalho de Rocco e Morabito (2012)que usa logica Fuzzy para o controle de vapor em

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1434

Page 2: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

caldeiras industriais. Outro exemplo e o trabalhoSuetake et al. (2011) que utilizando esse tipo decontrolador embarcado, em um DSP, implementao controle de velocidade em um motor de inducao.

O controle Fuzzy e recomendado quando setrabalha com sistemas nao-lineares e quando naose sabe ou nao se consegue encontrar uma equacaoque modela o sistema. No entanto, em geral, aimplementacao desse tipo de controlador pode sermuito complexa, por exigir a sintonia de muitosparametros.

Dentro dessa perspectiva, esse trabalho tempor objetivo implementar um software que inte-raja com o usuario apoiando-o no processo deensino-aprendizagem, durante as etapas de pro-jeto, sintonia e testes de um sistema de controleinteligente do tipo logica Fuzzy para o controlede um sistema de tanques acoplados. Utilizandocomo exemplo o sistema desenvolvido pela Quan-ser: “Quanser Level Control Two Tank Module”,Apkarian (1999).

Pelos motivos aqui apresentados, torna-se im-prescindıvel que os futuros profissionais da areade controle saibam e tenham uma maior facili-dade em projetar controladores Fuzzy para diver-sas plantas e processos. Acredita-se, tambem, quecom o auxılio de ferramentas computacionais, gra-tuitas e de facil utilizacao, e possıvel proporcionarum ambiente favoravel ao desenvolvimento dascompetencias necessarias para que alunos tornem-se bons profissionais da area de controle.

2 Conceitos Basicos

2.1 Logica Fuzzy

A teoria dos conjuntos Fuzzy, desenvolvidapor Zadeh (1965), permite tratar a incerteza exis-tente em um conjunto de dados, isto e, a logicanao se restringe ao fato de um processo assumirapenas os estados, verdadeiro ou falso, e sim, umgrau de pertinencia, podendo assim ser parcial-mente verdadeiro ou parcialmente falso.

Pelo fato de tratar os dados como sendo par-cialmente verdadeiro ou parcialmente falso, a lo-gica Fuzzy e bastante similar ao pensamento hu-mano. Podemos observar essa ideia em casospraticos na industria, onde se pretende projetarum controlador para um dado processo. Paraisso, pode ser feita uma entrevista com um ope-rador humano, que ja tem experiencia em con-trolar a planta e, assim, contribuir, com informa-coes para o desenvolvimento do controlador. En-tretanto, devem ser feitas perguntas bem objeti-vas, mas o operador geralmente responde com sualinguagem natural, por exemplo: “Se a tempera-tura estiver muito alta, entao eu fecho um poucoa valvula”, visto que ele nao precisa de um va-lor exato e definido para uma variavel. Mas, emtermos logico-computacionais, representar “muito

alta” e/ou “um pouco” pode ser bastante com-plexo, tendo em vista que termos como estes naosao precisos.

Termos como esses: “muito alto” e/ou “umpouco”, sao conhecidos na teoria da logica Fuzzycomo variaveis linguısticas que expressam um con-junto Fuzzy como uma funcao de pertinencia, quee uma funcao matematica na qual e possıvel indi-car o quanto um elemento pertence a um determi-nado conjunto.

2.2 Controlador Fuzzy

Um controlador desenvolvido utilizando a lo-gica Fuzzy e conhecido como um controladorFuzzy. Segundo Shaw e Simoes (1999), um con-trolador Fuzzy e composto dos seguintes blocosfuncionais:

• Interface de Fuzzificacao;

• Base de Conhecimento;

• Logica de Tomada de Decisoes;

• Interface de Defuzzificacao.

A Interface de Fuzzificacao: e responsavel porconverter valores de entrada em valores Fuzzy.Para tanto, sao utilizadas as funcoes de pertinen-cia ja estabelecidas, adquirindo um grau de per-tinencia para cada entrada, geralmente utilizandofuncoes de pertinencia do tipo triangular, trape-zoidal ou gaussiana.

A Base de Conhecimento: consiste de umabase de dados e uma base de regras, onde se apre-senta a estrategia de controle. Na base de dadosficam armazenadas as definicoes das funcoes depertinencia dos termos Fuzzy. A base de regras erepresenta por um tipo de estrutura peculiar:

"Se <premissa> Ent~ao <conclus~ao>".

Logica de Tomada de Decisoes ou Maquinade Inferencia: e parte na qual e definida a acao decontrole em relacao a base de regras, aplicando asoperacoes de implicacao fazendo uso de premissasrelacionadas pelos conectivos logicos, os operado-res de disjuncao (ou) e conjuncao (e).

Interface de Defuzzificacao: consiste no pro-cesso inverso a Fuzzificacao, isto e, converter osvalores Fuzzy da saıda do controlador em um va-lor do domınio real, correspondente a uma acaode controle real.

Os dois modelos de controlador Fuzzy mais co-nhecidos sao o Mandani e Takagi-Sugeno. O mo-delo Mamdani e massivamente utilizado para cap-turar conhecimento especialista. Ele nos permitedescrever o conhecimento de uma forma mais in-tuitiva, mais semelhante a humana. No entanto, omodelo Mamdani tem um grande custo computa-cional. Por outro lado, o modelo Sugeno e compu-tacionalmente mais eficiente e funciona bem com

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1435

Page 3: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

as tecnicas de otimizacao e tecnicas adaptativas, oque e de interesse para problemas de controle, es-pecialmente para sistemas dinamicos nao-lineares.

A principal diferenca entre o modelo Sugenoe o modelo Mamdani esta na forma de gerar asaıda do sistema, ou seja, transformar a saıda dodomınio Fuzzy para o domınio real. Enquanto omodelo Mamdani e baseado em funcoes de impli-cacao Fuzzy e em operacoes de composicao parao calculo da saıda do controlador, o modelo pro-posto por Takagi-Sugeno nao usam funcoes de im-plicacao e operadores para a inferencia. SegundoHamam e Georganas (2008) a capacidade de ex-pressar o conhecimento do modelo Mamdani e per-dida no Sugeno, pois as regras de saıda nao saoda logica Fuzzy. Uma outra diferenca e que o mo-delo Mandani tem funcoes de pertinencia que re-presenta a saıda do sistema, diferente do modeloSugeno, que sao um conjuntos de funcoes, que in-terpoladas geram a saıda resultante.

Os tipos de controladores Fuzzy mais utiliza-dos sao PI, PD e PID, que serao descritos a seguir:

Controlador Proporcional-Integral (PI)Fuzzy :A expressao para um controlador deste tipo e:

du(t)

dt= kp ·

de(t)

dt+ ki · e(t) (1)

A equacao 1 e obtida derivando-se a equacao tra-dicional de um controlador PI, onde, du(t) e a va-riacao do sinal de controle, e(t) e o erro (diferencaentre o sinal de referencia e a saıda do processo),de(t) e a variacao do erro e kp e ki sao constantessintonizadas pelo projetista do controlador.

E importante notar que a saıda deste contro-lador deve ser integrada antes de ser usada paracontrolar o processo, ja que ela e a variacao daacao de controle.

Controlador Proporcional-Diferencial(PD) Fuzzy :A expressao para um controlador deste tipo e:

u(t) = kp · e(t) + kd ·de(t)

dt(2)

Na equacao 2, u(t) e o sinal de controle, e(t) eo erro (diferenca entre o sinal de referencia e asaıda do processo), de(t) e a variacao do erro e kpe kd sao constantes sintonizadas pelo projetistado controlador.

Controlador Proporcional-Integral-Diferencial (PID) Fuzzy :A expressao para um controlador deste tipo e:

du(t)

dt= kp ·

de(t)

dt+ ki · e(t) + kd ·

d2e(t)

dt2(3)

Assim como no caso do controlador Fuzzy-PI, aequacao do Fuzzy-PID (equacao 3) e obtida a parti

da derivacao da equacao do PID classico, onde,du(t) e a variacao do sinal de controle, e(t) e oerro (diferenca entre o sinal de referencia e a saıdado processo), de(t) e a variacao do erro, d2e(t) e avariacao da variacao do erro e kp, ki e kd sao cons-tantes sintonizadas pelo projetista do controlador.E importante notar que a saıda deste controladortambem deve ser integrada antes de ser usada paracontrolar o processo, ja que a ela e a variacao daacao de controle.

3 Arquitetura do Software

O software foi implementado em linguagemC++, no ambiente de desenvolvimento da Nokia,o QtCreator. Essa ferramenta foi utilizada devidoa ser uma gratuita e simples de utilizar. Utili-zando a biblioteca QCustomPlot para a plotagemdos graficos.

A modularizacao para a programacao foi uti-lizado para o desenvolvimento do software, deforma que tres modulos foram desenvolvidos paraa aplicacao. Cada modulo tem sua funcionalidadeespecifica e encontram-se ilustrados na figura 1.

Figura 1: Modulos implementados da aplicacao

3.1 Modulo Editor de Fuzzy

Esse modulo e responsavel por interagir como usuario de forma que este possa criar ou alte-rar um controlador Fuzzy. Nele o projetista podealterar as configuracoes referentes ao controladorFuzzy. De modo a definir as variaveis de entradase saıdas, as funcoes de pertinencia, os metodosde fuzzificacao, implicacao, agregacao e defuzzi-ficacao e a base de regras. Apos configurado, osistema repassa essas informacoes para o modulomaquina Fuzzy.

3.2 Modulo Maquina Fuzzy

Esse modulo e responsavel por realizar todosos calculos relacionados ao controlador Fuzzy pro-jetado. Implementando os principais metodos en-contrados na literatura. Ele recebe os valores deentrada do sistema supervisorio e efetua as etapas

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1436

Page 4: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

de fuzzificacao, inferencia, e, dependendo do mo-delo do controlador Fuzzy selecionado, as etapasde agregacao e defuzzificacao. Retornando para aaplicacao um conjunto de valores para a saıda.

3.3 Modulo Sistema Supervisorio

Esse modulo e responsavel pela comunicacaocom a planta e por executar as rotinas de con-trole da planta, no qual, esta presente o sistemade intertravamento para a seguranca do sistema.A comunicacao e realizada atraves de Sockets emC++, usando protocolo TCP/IP.

Esse modulo foi projetado de modo que res-peite o tempo de latencia para as plantas. Nocaso do sistema de tanques da Quanser equivalea 0,1 segundos. Nesse tempo, a aplicacao deveser capaz de receber os valores dos sensores (Mo-dulo Sistema Supervisorio), realizar os calculos ne-cessarios para o controle baseado no controladorFuzzy implementado (Modulo Maquina Fuzzy) eretornar os valores calculados para a planta (Mo-dulo Sistema Supervisorio).

4 Funcionalidades do Softwaredesenvolvido

O aplicativo permite projetar controladoresFuzzy do modelo Mamdani ou Sugeno, podendoo mesmo ser do tipo P, PI, PD ou PID, conformedescrito no livro do Shaw e Simoes (1999), e quecorrespondem a grande maioria dos controladoresFuzzy presentes no mercado.

O software desenvolvido tem como caracterıs-tica intrınseca auxiliar o aluno a projetar o seucontrolador. Para isso em cada ambiente graficodo software, havera um caixa de selecao com onome “Dicas” que habilitara a exibicao de jane-las com rapidas explicacoes didaticas, como a quepode ser vista na figura 2. Dicas que visam aju-dar no projeto e na sintonia do controlador quesao complementadas pelas informacoes contidasno menu “Ajuda”, que sera citado mais adiante,alem de instrucoes de como utilizar as ferramentasdo ambiente grafico. Cada ambiente sera descritonas proximas subsecoes.

Figura 2: Exemplo da ferramenta Dicas

4.1 Interface Controle Fuzzy

Na interface Controle Fuzzy sao feitas configu-racoes gerais do controlador Fuzzy, esta interfacecontem uma barra de menu dando acesso a outrosambientes graficos.

Figura 3: Escolha de configuracao gerais do con-trolador Fuzzy

1 - A Barra de menu, como mostrado na figura3, oferece as opcoes: Arquivo, Editar, Superviso-rio e Ajuda.

1.1 - O menu Arquivo tem as opcoes: “Novo”,“Salvar”, “Salvar como...” e “Abrir...”. Ao clicarno campo “Novo” o usuario e encaminhado paraum ambiente grafico no qual e possıvel fazer asconfiguracoes basicas de um controlador Fuzzy.Ao selecionar o item “Salvar” o aplicativo gravaas informacoes editadas do controlador na exten-sao “.fz” (extensao do proprio software). O item“Salvar como...” da ao projetista a capacidade deexportar o seu controlador Fuzzy para a exten-sao .fis (utilizado pelo Matlab) e, por fim, o item“Abrir...” tem a funcao de carregar um arquivo jacriado, seja de extensao “.fis” ou “.fz”.

1.2 - O menu “Editar” apresenta as opcoes:“Funcao de Pertinencia” e “Regras”. Ao seleci-onar o item funcoes de pertinencia o usuario eencaminhado para o ambiente de criacao e alte-racao de funcoes de pertinencia. O item “Regras”encaminha o usuario para a interface da criacaodas regras. Ambas serao descritas no decorrer doartigo.

1.3 - O menu “Supervisorio” tem a opcao deir para o sistema supervisorio. Essa opcao leva ousuario a um novo ambiente no qual sera possıvelinteragir com uma planta didatica de controle denıvel, que sera descrito mais adiante.

1.4 - O menu “Ajuda” vem com informacoesmais detalhas da teoria de logica e controle Fuzzy,apresentando de forma didatica explicacoes com-plementares que auxiliam os estudantes na com-preensao da logica Fuzzy e sua aplicacao no pro-jeto de controladores nao-lineares. Para isto, omenu conta com uma bibliografia para ajudar o

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1437

Page 5: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

aluno a reforcar o conhecimento adquirido em salade aula.

2 - Campos de Metodos: nesses campos saofeitas as configuracao referente aos metodos usa-dos para realizar as operacoes de: and, or, impli-cacao, agregacao e defuzzificacao.

4.2 Interface de configuracoes basicas

Nesse ambiente sao feitas as configuracoes ba-sicas do controlador Fuzzy, no qual o usuario esco-lhe o modelo e a acao de controle do controladorFuzzy, o qual se deseja projetar, como mostradona figura 4.

Figura 4: Ambiente de configuracoes basicas doFuzzy

1 - Atraves da marcacao feita pelo usuario epossıvel escolher o modelo do controlador Fuzzy,podendo optar entre os modelos Mamdani e Su-geno.

2 - Os campos “I” e “D” oferecem as opcoespara o usuario assinalar, podendo ser feita combi-nacoes de escolha de acao de controle Fuzzy quese deseja para o seu controlador, podendo-se obteras seguintes combinacoes P, PI, PD ou PID.

4.3 Interface Funcao de Pertinencia

Nesse ambiente sao criadas as funcoes depertinencia. Caso o modelo escolhido seja oMamdani, o ambiente grafico para as funcoes depertinencia das entradas e igual ao das funcoesde pertinencia das saıdas, como demostrado nafigura 5, mas se for Sugeno, o ambiente e dife-rente, como sera exibido mais adiante, na figura 6.

Modelo Mamdani :1 - O grafico mostra todas as funcoes de per-

tinencia referente as entradas e/ou saıdas.2 - Na parte superior sao exibidas as entradas

e saıdas do controlador, de acordo com o tipo docontrolador Fuzzy escolhido pelo projetista, pode-se alterar entre entradas e saıdas ao clicar na abacorrespondente.

3 - Esse campo e responsavel por adicionarfuncoes de pertinencia a respectiva janela e porselecionar qual funcao se deseja alterar.

Figura 5: Ambiente de criacao e alteracao das fun-coes de pertinencia

4 - Os campos “Nome” e “Parametros”, saoresponsaveis por exibir e alterar os valores da fun-cao selecionada pelo combobox.

5 - O campo “Escala da variavel” e o localno qual o usuario define os limites mınimo emaximo de valores que as variaveis (entrada ousaıda), e consequentemente, as suas funcoes depertinencia, poderao atingir.

Modelo Sugeno :

Figura 6: Ambiente de funcoes Sugeno e ajustesde parametros

1, 2 - Os campos saıda e parametros sao res-ponsaveis respectivamente por exibir os nomes eos parametros das funcoes Sugeno.

3 - Ao selecionar uma funcao Sugeno e possı-vel alterar os seus parametros.

4.4 Interface da Base de Regras

Nesse ambiente grafico o projetista cria e al-tera as regras do controlador, como demostradona figura 7.

1 - Mostra todas as regras criadas.

2 - Seleciona qual conectivo sera utilizado naregra.

3 - Seleciona as variaveis que vao se relacionarpara formar uma regra.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1438

Page 6: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

Figura 7: Ambiente de criacao e edicao de regras

4.5 Sistema Supervisorio

O sistema supervisorio foi desenvolvido parao controle de nıvel de uma planta da Quanser.O software permite executar o controlador Fuzzyimplementado, seja ele: P, PI, PD ou PID, rea-lizando o controle de nıvel no sistema de tanquesacoplados da Quanser. Assim, o usuario pode pro-jetar um controlador Fuzzy baseada em um dessestipos e o sistema se preocupara em adequar as en-tradas para cada caso. Tornando o modulo maisgenerico.

Nesse ambiente, o operador pode monitoraras variaveis que deseja-se controlar, e ainda, visu-alizar como a saıda do controlador Fuzzy, proje-tado por ele, se comporta ao longo do tempo, paraum dado nıvel de referencia definido pelo usuario.De forma que na aplicacao sao apresentados doisgraficos, como demostrado na figura 8, um para atensao de saıda do controlador, correspondendo aosinal que sai para a planta e outro grafico referentea variavel que deseja-se controlar.

Nesse modulo, ainda esta presente o sistemade intertravamento referente ao tanque da Quan-ser, ou seja, o usuario nao tera que se preocuparque o sistema possa, por exemplo, ultrapassar seuslimites operacionais, garantindo uma certa integri-dade a planta.

O objetivo do desenvolvimento deste supervi-sorio, para esse estudo de caso, e que os alunospossam observar na pratica como o sistema Fuzzyprojetado por eles funciona para os kits didati-cos disponıveis em laboratorios, dando, assim, aoaluno uma maior compreensao da teoria estudada.

Figura 8: Sistema Supervisorio para a planta denıvel

5 Validacao

Para validar o software criado, foi utilizadauma planta didatica experimental composta portanques acoplados da Quanser, o processo esco-lhido foi o controle de nıvel do segundo tanque.Cada tanque e descrito por uma equacao diferen-cial de primeira ordem, como o segundo tanquefoi escolhido para ser controlador, essa configura-cao sera caracterizada por um sistema de segundaordem.

A planta consiste em uma bomba, dois tan-ques acoplados na vertical e um reservatorioabaixo deles. Os dois tanques contem um orifı-cio na sua base que permite o fluxo de agua, otanque superior receber a agua bombeada do re-servatorio, sendo assim o tanque superior alimentao tanque inferior pelo orifıcio em sua base e o tan-que inferior fecha um ciclo com a agua voltandopara o reservatorio, pelo seu orifıcio.

A comunicacao do software com a planta efeita com um servidor TCP/IP, que esta conec-tado a uma placa de aquisicao de dados, tornandopossıvel a leitura dos sensores e a escrita de umsinal eletrico na bomba, representado pelo o es-quema da figura 9.

Figura 9: Esquema da Comunicacao da planta denıvel com o Sistema Supervisorio

Para essa validacao foi proposto controlar onıvel do tanque inferior, no qual o nıvel pode va-riar de 0 cm a 30 cm.

Para tanto, utilizamos o programa para criarum controlador do tipo Sugeno. Assim, ao iniciaro programa selecionamos na interface apresentadana figura 4 o modelo Sugeno e as acoes P, quee padrao, e I. Apos isso, passamos a interface dafigura 3 na qual configuramos a logica com as ca-racterısticas presentes da figura 10.

Ao selecionarmos a acao PI nossas variaveisde entradas foram definidas: erro e variacao doerro, e de saıda: Variacao da Tensao, paraque seja possıvel definir as funcoes de pertinencia.Foram criadas cinco funcoes de pertinencia paraa primeira entrada e tres funcoes de pertinenciapara a segunda. As funcoes foram configuradasna interface apresentada na figura 5. A figura 11mostra as funcoes de pertinencia de cada entrada.

Logo apos, configuramos as funcoes Sugeno

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1439

Page 7: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

Figura 10: Configuracoes do Fuzzy implemen-tando

(a) Variavel de Entrada: Erro

(b) Variavel de Entrada: Variacao do Erro

Figura 11: Funcoes de pertinencias para as entra-das

para a saıda Variacao da Tensao com auxılioda interface mostrada na figura 6 com os para-metros apresentados na figura 12. Em seguida,defimos as regras que relacionam as funcoes depertinencia das entradas com as funcoes de saıda,com auxılio da interface apresentada na figura 7,de acordo com a Fuzzy Association Matrix (FAM )apresentada na tabela 1.

Derivada\Erro GN PN Z PP PG

Negativo GP GP Z PN PNZero PN P Z PN PPPositivo PP PP Z GN GP

Tabela 1: FAM que relaciona as funcoes de perti-nencia das entradas com as da saıda

Com o conjunto de regras criado, enviamos ocontrolador projetado para o modulo de supervi-sao, para validar o programa. Inicialmente, confi-guramos o IP e a Porta que o programa ira uti-

Figura 12: Funcoes Sugeno de saıda para saıdaVariacao da Tensao

lizar para se comunicar com a planta.Por fim, configuramos o valor do setpoint para

15 cm e esperamos um tempo para a estabilizacao.Em seguida, reconfiguramos o valor da referenciapara 10 cm, ao aguardar um certo tempo, obser-vamos que a planta tambem se estabiliza. E, porfim, colocamos o valor da referencia em 20 cm,como demostrado na figura 13.

Figura 13: Validacao do software com setpoint va-riavel

Observando a figura 13, podemos notar queos resultados obtidos se mostraram satisfatorios.Embora, nao seja o objetivo deste trabalho bus-car uma melhor sintonia do controlador utilizado,mas sim, demostrar as capacidades do softwaredesenvolvido.

Alem da sua utilidade do ponto de vista di-datico, o software tambem possibilita o controleefetivo, em tempo real, de plantas didaticas ouqualquer sistema ligado a um servidor de aquisi-cao de dados.

Em um outro exemplo, que pode ter seus re-sultados observados nas figuras 14 e 15, optamospor mostrar o controle a um degrau com ampli-tude de 15 cm pelo fato ser o centro do tanquee um forte candidato a um ponto de linearizacaodo sistema para o projeto de algum controladorlinear como (PID) ou (PI). Podemos notar, na fi-gura 14, que embora o controlador Fuzzy tenhaficado um pouco oscilatorio ele apresenta um bomtempo de acomodacao, em torno de 120 segundos,e sem grandes ultrapassagens do setpoint.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1440

Page 8: DESENVOLVIMENTO DE UM AMBIENTE COMPUTACIONAL PARA … · ser: \Quanser Level Control Two Tank Module", Apkarian (1999). Pelos motivos aqui apresentados, torna-se im-prescind vel que

Figura 14: Resposta do sistema ao sinal de Con-trole

Figura 15: Sinal de controle para a referencia de15 cm

Tambem podemos observar, na figura 15, queo sinal de controle foi bastante suave e sem atingiros limites operacionais de saturacao do atuador.

6 Conclusoes

Neste trabalho apresentamos um softwarepara auxiliar o processo de ensino e aprendiza-gem de controle Fuzzy nos cursos de graduacao epos-graduacao. O software permite que os alunoscriem e editem sistemas de inferencia baseados nosmodelos de Mamdani e Takagi-Sugeno.

O software foi desenvolvido utilizando a lin-guagem C++ e testado em sistemas operacionaislinux. O software se mostrou estavel e com umainterface de facil utilizacao, o que nos leva a acre-ditar na sua potencialidade para ser utilizado emdisciplinas que tenham como um de seus objetivosa aprendizagem de controle Fuzzy.

Agradecimentos

ANP, MCT, FINEP e Petrobras pelo apoiofinanceiro por meio do projeto PFRH-220.

Referencias

Apkarian, J. (1999). Coupled water tanks experi-ments manual.

Baturone, I., Moreno-Velo, F. J., Blanco, V. andFerruz, J. (2008). Design of embedded dsp-based fuzzy controllers for autonomous mo-bile robots, Vol. 55, IEEE, pp. 928–936.

Hamam, A. and Georganas, N. D. (2008). A com-parison of mamdani and sugeno fuzzy infe-rence systems for evaluating the quality of ex-perience of hapto-audio-visual applications,Haptic Audio visual Environments and Ga-mes, 2008. HAVE 2008. IEEE InternationalWorkshop on, IEEE, pp. 87–92.

Larkin, L. I. (1984). A fuzzy logic controller foraircraft flight control, Decision and Control,1984. The 23rd IEEE Conference on, Vol. 23,IEEE, pp. 894–897.

Lianzhong, L. and Zaheeruddin, M. (2007). Hy-brid fuzzy logic control strategies for hot wa-ter district heating systems, Building Ser-vices Engineering Research and Technology28(1): 35–53.

Luna Filho, F. M., Bauchspiess, A. and Gosmann,H. (2002). Controle fuzzy para sistema de nı-vel de lıquidos, Congresso Brasileiro de Au-tomatica.

Piltan, F., Sulaiman, N., Allahdadi, S., Dialame,M. and Zare, A. (2011). Position control ofrobot manipulator: Design a novel siso adap-tive sliding mode fuzzy pd fuzzy sliding modecontrol, Vol. 2, pp. 208–228.

Rocco, C. D. and Morabito, R. (2012). Um modelode otimizacao para as operacoes de producaode vapor em caldeiras industriais, Vol. 19.

Sandri, S; Correa, C. (1999). Sistemas Nebulosos,Minicurso apresentado na V Escola de RedesNeurais, INPE ITA.

Shaw, I. S. and Simoes, M. G. (1999). Controle e

modelagem fuzzy, 1o

edicao, Edgard Blucher,Sao Paulo.

Sousa, R. V. d. (2007). Robo agrıcola movel (ram):uma arquitetura baseada em comportamen-tos hierarquicos e difusos para sistemas auto-nomos de guiagem e navegacao.

Suetake, M., da Silva, I. N. and Goedtel, A.(2011). Embedded dsp-based compact fuzzysystem and its application for induction-motor speed control, Vol. 58, IEEE, pp. 750–760.

Zadeh, L. A. (1965). Fuzzy sets, Vol. 8, Elsevier,pp. 338–353.

Anais do XX Congresso Brasileiro de Automática Belo Horizonte, MG, 20 a 24 de Setembro de 2014

1441