conceitos de lógica fuzzy associados à robótica márcio...
TRANSCRIPT
CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE CIÊNCIA DA COMPUTAÇÃO
Conceitos de Lógica Fuzzy Associados à Robótica
Márcio Augusto Assis Rosa
Uberlândia, Dezembro/2003.
CENTRO UNIVERSITÁRIO DO TRIÂNGULO INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE CIÊNCIA DA COMPUTAÇÃO
Conceitos de Lógica Fuzzy Associados à Robótica
Márcio Augusto Assis Rosa
Monografia apresentada ao Curso de Ciência da Computação do Centro Universitário do Triângulo - Unit, como requisito básico à obtenção do grau de Bacharel em Ciência da Computação, sob a orientação do Prof. Ronan Marcelo, Dsc.
Uberlândia, Dezembro/2003.
ii
Conceitos de Lógica Fuzzy Associados à Robótica
Márcio Augusto Assis Rosa
Monografia apresentada ao Curso de Ciência da Computação do Centro Universitário do Triângulo - Unit, como requisito básico à obtenção do grau de Bacharel em Ciência da Computação.
Ronan Marcelo Martins, Dsc. (Orientador)
Clayder Cristian Coelho
(Avaliador)
Eliane Teresa Borela (Avaliador)
Sílvia Fernanda Martins Brandão , Msc.
(Coordenadora de Curso)
Uberlândia, Dezembro/2003.
iii
Agradecimentos.
Ao Dr Ronan Marcelo Martins
pela orientação, confiança ,incentivo e
esclarecimento sobre o trabalho desenvolvido.
iv
“Leva tempo para alguém ser bem sucedido
porque o êxito não é mais do que recompensa
natural pelo tempo gasto em fazer algo direito”.
Joseph Ross
vi
RESUMO
Sistemas de controle nebuloso (fuzzy) representam técnicas para lidar com
informações qualitativas numa forma rigorosa usando-se variáveis lingüísticas
como um conjunto de regras. Uma abordagem alternativa para controlar sistemas
dinâmicos complexos é empregar controladores nebulosos (fuzzy) que usam
termos lingüísticos para representar suas variáveis e parâmetros, ao invés de usar
modelos matemáticos diferenciais. Esta teoria permite manusear e operar
proposições exatas e inexatas, ou seja, incorporar dados numéricos (exatos) e o
conhecimento do especialista ou analista (inexato). Baseando-se na experiência do
analista são dados pesos diferentes para cada critério e especifica-se o grau de
pertinência de cada elemento no universo de discurso.Este trabalho apresenta um
estudo envolvendo Robótica, utilizando-se da teoria dos Conjuntos Fuzzy (Fuzzy
Sets). O objetivo de ilustrar a aplicação do controlador difuso em um braço
robótico de um grau de liberdade. Para tanto, foi utilizado as equações de Newton
para modelagem do braço e mais o Algoritmo de Mandani inserido no software
Matlab. A seguir, procedeu-se a simulação no software Matlab integrando o
controlador Fuzzy e o Modelo do Braço. O resultado obtido demonstrou a
eficiência do controlador fuzzy, haja visto, que o mesmo proporcionou um erro de
regime permanente igual a zero quando o mesmo deslocou da posição 0º até a
posição de –90º.
vii
SUMÁRIO
Lista de Figuras ................................................................................................viii Lista de tabelas ................................................................................................... ix 1 Introdução...................................................................................................... 1 2 Fundamentos da Lógica Fuzzy ...................................................................... 3 2.1 Lógica Fuzzy ................................................................................................ 3 2.2 Linguagem Natural ....................................................................................... 6 2.3 Área de atuação da Lógica Fuzzy ................................................................... 6 2.4 Conjuntos difusos........................................................................................... 7 2.5 Operações com conjunto difusos .................................................................... 9 2.5.1 União ......................................................................................................... 9 2.5.2 Intersecção ................................................................................................. 9 2.6 Raciocínio Difuso ........................................................................................ 13 2.7 Sistema Fuzzy.............................................................................................. 13 2.8 Variáveis Lingüísticas .................................................................................. 14 2.9 Proposições Difusas ..................................................................................... 14 2.10 Inferência Difusa........................................................................................ 15 2.11 Processo de retorno .................................................................................... 20 2.12 Conclusão .................................................................................................. 21 3 Dinâmica ..................................................................................................... 22 3.1 Definição ..................................................................................................... 22 3.2 Modelagem Matemática de Sistemas Dinâmicos .......................................... 23 3.2.1 Massa........................................................................................................ 24 3.2.2 Força......................................................................................................... 25 3.2.3 Torque ...................................................................................................... 25 3.2.4 Deslocamento, Velocidade e Aceleração ................................................... 25 3.2.5 Deslocamento Angular, Velocidade Angular e Aceleração Angular .......... 26 3.3 Leis de Newton ............................................................................................ 26 3.3.1 Segunda Lei de Newton ............................................................................ 26 3.4 Conclusão .................................................................................................... 27 4 Controle Nebuloso em um Manipulador Pick and Place ................................. 28 4.1 O Braço Mecânico ....................................................................................... 28 4.2 Torques presentes no Braço Mecânico ......................................................... 29 4.3 Aplicação do Controlador Fuzzy usando a equação dinâmica no Braço Mecânico de 1 grau de liberdade........................................................................ 31 4.4 Simulação do Braço Robótico ...................................................................... 33 4.5 Conclusão .................................................................................................... 34 5 Conclusões Gerais.......................................................................................... 35 Referências Bibliográficas ................................................................................. 36
viii
LISTAS DE FIGURAS
Figura 2.1: Função de pertinência para temperatura ambiente .............................. 4 Figura 2.2: Função de pertinência para velocidade ............................................... 5 Figura 2.3: Exemplo de Conjunto Normal............................................................ 8 Figura 2.4: Exemplo de conjunto subnormal ........................................................ 8 Figura 2.5: Função de pertinência do Conjunto A............................................... 10 Figura 2.6: Função de pertinência do Conjunto B............................................... 10 Figura 2.7: Representação da União dos conjuntos difusos A e B....................... 10 Figura 2.8: Representação da intersecção dos conjuntos A e B........................... 11 Figura 2.9: Representação do Conjunto A .......................................................... 12 Figura 2.10: Complemento de A ........................................................................ 12 Figura 2.11: Defuzzificador ............................................................................... 13 Figura 2.12: Velocidade angular ........................................................................ 15 Figura 2.13: Ângulo........................................................................................... 16 Figura 2.14: Velocidade..................................................................................... 16 Figura 2.15: Representação gráfica da entrada de Velocidade Angular............... 17 Figura 2.16: Representação gráfica da entrada de Ângulo de entrada ................. 17 Figura 2.17: Primeiro resultado.......................................................................... 18 Figura 2.18: Representação do resultado 1 ......................................................... 18 Figura 2.19: Representação do resultado 2 ......................................................... 19 Figura 2.20: Representação do resultado 3 ......................................................... 19 Figura 2.21: Representação do resultado 4 ......................................................... 19 Figura 2.22: Máximo das funções ...................................................................... 19 Figura 2.23: Baricentro do resultado da função de pertinência............................ 20 Figura 4.1: Modelo do Braço Robótico .............................................................. 28 Figura 4.2: Representação da função de pertinência para a entrada Erro............. 31 Figura 4.3: Representação da função de pertinência para a entrada de Variação de Erro ................................................................................................................... 31 Figura 4.4: Funções de pertinência definidas para a saída do controlador ........... 32 Figura 4.5: Modelo da simulação do braço robótico ........................................... 33 Figura 4.6: Comportamento do braço robótico ................................................... 34
ix
LISTAS DE TABELAS
Tabela 2.1: Definição da Base de Regras para posterior análise......................... 16
1. INTRODUÇÃO
A Lógica Nebulosa teve origem na década de 60 e foi desenvolvida com
base na Teoria de Conjuntos Nebulosos. Esta teoria foi proposta por Lotfi A.
Zadeh, professor da Universidade de Berkeley, através da publicação do artigo
Fuzzy Sets [4].
Zadeh, assim como diversos outros pesquisadores, visualizou a
necessidade de métodos de análise que possibilitassem a manipulação de variáveis
lingüísticas e assim suprissem as deficiências de métodos tradicionais de análise
que tratam unicamente variáveis numéricas. As variáveis lingüísticas representam
fenômenos vagos (incertos), presentes em larga escala no mundo real,
principalmente na Linguagem Natural. Elas estão presentes na maioria das
argumentações humanas e, geralmente, indicam conceitos para os quais não
existem fronteiras definidas, ou seja, para os quais não se pode indicar, com
certeza, a sua abrangência. Podem-se citar, como exemplo, os seguintes conceitos
nebulosos bastante característicos da linguagem humana: alto, quente, longe,
velho, rápido. Observe que estes conceitos são bastante dependentes da percepção
humana.
A primeira tentativa de manipulação de incerteza surgiu com a chamada
Lógica Multivalorada, que buscava ser uma generalização da lógica clássica de
dois valores (0,1). Entre estas, tornou-se mais conhecida a Lógica Tri-valorada, tal
que o terceiro estado é representado por 1/2.
Uma das principais vantagens da Lógica Nebulosa com relação à Lógica
Multivalorada está na possibilidade de manipulação de quantificadores
lingüísticos, tais como muito, pouco, e modificadores lingüísticos, tais como mais
e menos (5).
Desde seu surgimento, a Lógica Nebulosa tem sido aplicada às mais
diversas áreas, dentre as quais podem-se citar [6]: Sistemas meteorológicos,
Sistemas de comunicação interpessoal, Sistemas de comunicação homem-
máquina, Robótica, Controladores de temperatura, Controladores de tráfego,
Controladores de automóveis e aeronaves, Controladores de elevadores, Projetos
de banco de dados (dados de valores incertos), Reconhecimento de padrões,
Programação linear, Processos de tomada de decisão, Sistemas especialistas,
Sistemas de apoio a diagnósticos médicos, Representação de conhecimento e
Compreensão da Linguagem Natural.
Para tanto o presente trabalho encontra-se dividido em 5 capítulos que
apresentam a estrutura descrita a seguir.
O capítulo 2, apresenta o conceito e a definição de conjuntos fuzzy, suas
operações básicas e propriedades. Em seguida, define-se uma relação fuzzy e suas
operações.
O capítulo 3 trata dos conceitos relativos à Dinâmica, Modelagem
Matemática de Sistemas Dinâmicos e alguns conceitos importantes relativos a
sistemas mecânicos.
O capítulo 4 consiste em projetar um controlador nebuloso capaz de operar
um braço mecânico, de forma a obter o menor ciclo de trabalho possível,
aumentando a produtividade.
O capítulo 5 apresenta as principais conclusões derivadas do trabalho
desenvolvido.
2. FUNDAMENTOS DA LÓGICA FUZZY Quase toda a atenção dada à Lógica Nebulosa tem sido aplicada nos
sistemas de controle. Isto se deve à necessidade de comercialização dos produtos
que agregam esta nova tecnologia. A Lógica Nebulosa deu o seu grande salto em
meados da década de 80, sendo o Japão um dos países que mais se destaca nesta
aplicabilidade[1].
Além dos sistemas de controle, os modelos nebulosos podem ser utilizados
em engenharia, física, biologia, economia, processos de tomada de decisão e
outros campos. Por isso, é importante saber do que se trata, já que a invasão
parece inevitável no mercado.
O presente capítulo trata de conceitos diretamente relacionados à teoria de
lógica e outros conceitos como a inclusão de teorias imprecisas, dando uma visão
geral do que é Lógica Nebulosa e seus conjuntos.
2.1 Lógica Fuzzy
O conjunto “fuzzy” foi proposto inicialmente por Zadeh para ser uma
extensão dos conjuntos clássicos, na teoria clássica dos conjuntos, um elemento
pertence ou não a um determinado conjunto. A utilidade do conjunto fuzzy reside
na sua habilidade de modelar dados incertos ou ambigüos encontrados
freqüentemente na vida real.
A principal diferença entre a proposição clássica e a “fuzzy” está na faixa
de seus valores verdades. Na teoria clássica um elemento pertence ou não a um
determinado conjunto. Na teoria “fuzzy” o elemento pode pertencer, não pertencer
ou estar parcialmente presente em um determinado conjunto.
A cada elemento do conjunto “fuzzy” é dado um grau de pertinência. Esse
valor de pertinência pertence a uma faixa de 0 (elemento não pertencente ao
conjunto) até 1 (elemento totalmente pertencente ao conjunto). Uma função de
pertinência é a relação entre os valores de um elemento e seu grau de pertinência
em um conjunto[8].
A figura 2.1 mostra uma função de pertinência trapezoidal, considerando a
temperatura ambiente em torno de 23o C - 27o C. Nesta faixa a função de
pertinência é igual a 1 indicando que a temperatura é ambiente, fora da faixa a
temperatura será: quase ambiente (21o C - 29o C), não ambiente em 0o C e 50o C, e
assim por diante dependendo do valor de sua pertinência [8].
Figura 2. 1 - Função de pertinência para temperatura ambiente[8].
O conjunto “fuzzy” permite representar conceitos vagos expressos na
linguagem natural. A representação do conjunto “fuzzy” depende não somente do
conceito, mas também do contexto no qual é utilizado. Por exemplo, a
temperatura alta no contexto de clima e no contexto do reator nuclear são
representadas por conjuntos “fuzzy” diferentes.
Sendo x um elemento genérico de um conjunto X, um conjunto “fuzzy” de
A em X é definido como um conjunto de pares ordenados [8]:
A = {(x, mA(x) / x Î X}
Onde mA(x) é chamada de função de pertinência de x em A. A função de
pertinência mapeia cada elemento de X com um valor de pertinência contínuo
entre 0 e 1.
Normalmente os valores de pertinência são definidos para variáveis
lingüísticas (ex.: temperatura alta) através da quantificação da percepção humana.
A variável lingüística é caracterizada por uma quíntupla (x, T(x), U, G, M)
na qual x é o nome da variável; T(x) é o conjunto de termos de x, que é o conjunto
de nomes dos valores lingüísticos de x no qual cada valor é um no. “fuzzy”
definido em U; G é a regra sintática para gerar o nome dos valores de x; e M é a
regra semântica para associar cada valor com seu significado. Por exemplo, se
velocidade for interpretada como uma variável lingüística, então seus conjuntos de
termos T(velocidade) poderia ser:
T(velocidade) = {lenta, moderada, rápida, muito lenta, mais ou menos
rápida...}
Cada termo em T(velocidade) é caracterizado por um conjunto “fuzzy” no
universo de discurso U = [0, 150]. O termo lento pode ser interpretado como a
velocidade abaixo de 60 Km/h, o termo médio como a velocidade em torno de 80
Km/h e rápido como a velocidade acima de 120 Km/h. Esses termos podem ser
caracterizados como o conjunto “fuzzy” no qual as funções de pertinências são
mostradas na figura 2.2 [8].
Figura 2. 2 - Função de pertinência para velocidade[8].
2.2 Linguagem Natural
A comunicação humana envolve termos naturais que, freqüentemente,
são vagos, imprecisos, incertos e ambíguos. A essa forma de comunicar dá-se o
nome de linguagem natural[1].
A lógica fuzzy está baseada em palavras e não em números, ou seja, os
valores verdade são expressos lingüisticamente. Por exemplo: quente, muito
frio, verdade, perto, rápido, vagaroso, e assim por diante.
No conjunto fuzzy faz-se uso das probabilidades lingüísticas, como por
exemplo: provável, improvável, que são interpretados como números fuzzy e
manipulados pela sua aritmética; que possui vários modificadores de predicado
como exemplo: muito, mais ou menos, pouco, bastante, médio, etc.; apresenta
também um amplo conjuntos de quantificadores, onde pode-se citar alguns:
poucos, vários, em torno de, usualmente.
A linguagem humana é caracterizada por utilizar termos fundamentais ou
termos atômicos. Por exemplo [1]:
• Termos simples:
rápido, pouco, velho, alto, quente, frio, etc.
• Termos compostos:
carro muito rápido, computador pouco lento, água muito quente, etc.
A definição de termo atômico é usada como uma variável lingüística que
pode ser interpretada usando conjuntos fuzzy[4].
2.3 Área de Atuação da Lógica Fuzzy
Muitas são as áreas de atuação da Lógica Fuzzy, devido à capacidade de
realizar inferências. Abaixo segue uma relação de áreas onde a lógica fuzzy tem
encontrado grandes aplicações [1]:
• Sistemas especialistas;
• Computação com palavras;
• Controle de processos;
• Processo de tomada de decisão (decision making );
• Reconhecimento de padrões;
• Robótica;
• Linguagem natural;
• Raciocínio aproximado;
• Modelamento de sistemas parcialmente abertos.
2.4 Conjuntos Difusos
Pode-se encará-los como uma espécie de predicado lógico cujos valores
percorrem o intervalo [0,1].
Sabe-se que a função de um conjunto A⊆ X assume o valor 1 em
elementos de A e 0 em elementos de X-A, onde[1]:
X= conjunto universo
C[A]: X→{0,1}, é definida por
C[A](v) = 1 para v ∈ A
0 para v ∉ A
X – A = {v: v∈X ∧ v∉A}
Observa-se que:
1- C[A] só assume valores em {0,1}.
2- A transição da condição de pertinência para a de não-pertinência é
abrupta.
Permite-se que a imagem de C[A] se estenda a [0,1], obtém-se um
conjunto difuso, no qual os elementos poderão pertencer e não pertencer,
simultaneamente ao conjunto.
Um conjunto difuso é um par (A,p[A]), sendo p[A]: X� [0,1] uma
função de pertinência, que retrata o grau em que os elementos do conjunto
ordinário A pertencem ao conjunto difuso (A,p[A]).
Utiliza-se a notação [1]:
A={A(x1)/x1, ..., A(xn)/xn} para descrever um conjunto difuso, onde xi
pertence a A com grau de pertinência A(xi).
Por exemplo se X = {1,2,3,4,5}, o conjunto definido por A = {1/1, 0.8/2,
0.5/3, 0.3/4, 0/5}, o elemento 1 pertence totalmente a subconjunto A, 2 pertence
com intensidade de 80%, 3 pertence com grau de 50%, 4 pertence com grau de
30%.
Definição: Um conjunto difuso é normal se existe x tal que A(x) = 1,
pelo um elemento pertence plenamente a A, conforme representado na figura
2.3. Caso contrário será chamado subnormal representado na figura 2.4 [1].
Figura 2. 3 - Exemplo de conjunto normal [1].
Figura 2. 4 - Exemplo de conjunto subnormal [1].
2.5 Operações com Conjuntos Difusos
Serão apresentadas nesta secção as principais operações entre conjuntos
difusos:
2.5.1 União
Definição: Sejam A e B subconjuntos difusos de X . A união é um
conjunto difuso A∪B, definido por [1]:
(A∪B) (x) = max (A(x), B(x)) = A(x) ∨ B(x), ∀ x ∈ X
2.5.2 Intersecção
Definição: Sejam A e B subconjuntos difusos de X . A interseção é um
conjunto difuso A∩B, definido por [1]:
(A∩B) (x) = min (A(x), B(x)) = A(x) ∧ B(x), ∀ x ∈ X
Exemplo:
1- A={0/3, 0.2/4, 1/5, 1/8, 0/10}
B={0/3, 1/4, 0/5, 0/8d, 0/10}
X={3, 4, 5, 8, 10}
Temos:
A∪B = {0/3, 1/4, 1/1, 1/8, 0/10}
A∩B ={0/3, 0.2/4, 0/5, 0/8, 0/10}
Exemplos gráficos:
As figuras 2.5 e 2.6 mostram as funções de pertinência dos conjuntos difusos A
e B [1]:
Figura 2. 5 - Função de pertinência do Conjunto A [1].
Figura 2. 6 - Função de pertinência do Conjunto B [1].
O gráfico em amarelo representado na figura 2.7 representa a União dos
conjuntos difusos A e B[1]:
Figura 2. 7 - Representação da União dos conjuntos difusos A e B [1].
A Interseção dos conjuntos difusos A e B é representada graficamente na
figura 2.8:
Figura 2. 8 - Representação da intersecção dos conjuntos A e B[1].
Proposição:
Sejam A, B ⊆ X subjuntos difusos. Tem-se[1]:
a- A∩B ⊆ A∪B
b- A⊆ A∪B e B⊆ A∪B
c- A∩B ⊆ A e A∩B ⊆ B
Sejam A, B, C subconjunto do universo X. As seguintes propriedades são
válidas [1]:
1- A∩B = B∩A
2- A∪B = B∪A
3- A∪A = A∩A =A
4- A∪(B∪C) = (A∪B)∪C
5- A∩ (B∩C) = (A∩B)∩C
6- A∩(B∪C) = (A∩B)∪(A∩C)
7- A∪(B∩C) = (A∪B)∩(A∪C)
8- A∪∅ = A
9- A∩∅ = ∅
10- A∪X = X
11- A∩X = A
Complemento
Definição: Seja o conjunto A um subconjunto difuso de X. O
complemento ou negação de A é definido por (1):
Neg (A) = X - A ou (Neg(A)) (x) = 1 - A(x), ∀ x ∈ X
Se A={0/3, 0.2/4, 1/5, 1/8, 0/10}, tem-se Neg(A) = {1/3, 0.8/4, 0/5, 0/8,
1/10}
No gráfico da figura 2.9 tem-se a representação gráfica do conjuntoA. O
gráfico em amarelo da figura 2.10 representa o Complemento do conjunto A [1].
Figura 2. 9 - Representação do Conjunto A [1].
Figura 2. 10 - Complemento de A [1].
2.6 Raciocínio Difuso
É uma metodologia de inferência que utiliza ferramentas e conceitos da
lógica difusa para atingir seus objetivos e conclusões. Tem-se um conjunto de
regras formadas por implicações difusas (em forma de proposições SE...
ENTÃO...) que, combinadas por operadores difusos, nos levarão a “inferir”
conjuntos difusos. Este resultado passará por um processo de defuzzificação,
que possibilita a volta do domínio para o abrupto.
2.7 Sistema Fuzzy
O sistema fuzzy é composto:
• Fuzzificador: Recebe um conjunto de Entradas Precisas e transforma este
conjunto de entradas em um conjunto nebuloso de entrada que será analisado
por uma Base de Regras.
• Base de Regras: contém um conjunto de afirmações condicionais, em forma
lingüísticas, baseado no conhecimento de um especialista
• Inferência: Estabelece como as regras são combinadas.
• Defuzzificador: Recebe um conjunto nebuloso de saída que foi analisado pela
Base de Regras e converte em saídas precisas.
Figura 2. 11 - Defuzzificador
2.8 Variáveis Lingüísticas
As variáveis lingüísticas apresentam as seguintes características [1]:
1- Tem conteúdo variável (como em uma linguagem de programação).
2- Assumem valores lingüísticos (ALTO, BAIXO, MÉDIO, QUENTE)
representados por conjuntos difusos.
3- Possuem identificação nominal.
2.9 Proposições Difusas
Uma proposição difusa expressa relações entre variável lingüística e
conjuntos difusos, podendo apresentar composições por meio de conectivos e
transformadores.
Exemplo:
SE NÍVEL DE TEMPERATURA É ALTO ENTÃO NIVEL DE
PRESSAO E ARRISCADO.
Na prática, as proposições difusas podem ser classificadas em
condicionais e incondicionais (1).
As condicionais são do tipo:
SE P1 ENTAO P2
Exemplo:
SE CHUTE É FORTE, ENTÃO O NÍVEL DE IMPACTO É ALTO
Variáveis lingüísticas: CHUTE, NÍVEL DE IMPACTO.
Conjunto Difuso: FORTE, ALTO.
As incondicionais são utilizadas normalmente para atuar como
delimitadores default da base de regras não só restringindo as fronteiras dos
resultados, como também “entrando em ação” quando nenhuma das regras
condicionais e disparada.
Exemplo:
PRESSÃO É ALTA
2.10 Inferência Difusa
Pode-se definir inferência difusa como o processo pelo qual obtém-se as
conclusões, pela avaliação dos níveis de compatibilidade das entradas com
condições impostas pela referida base de regras, que nada mais faz do que
avaliar os níveis de compatibilidade das entradas com os antecedentes das várias
regras, ativando os conseqüentes com intensidades proporcionais aos mesmos.
Disso resulta um conjunto difuso que será convertido em escalar (valor
defuzzificado), fornecendo a saída do sistema.
Exemplo:
Ilustra-se graficamente o processo de inferência por meio do seguintes
gráficos de Velocidade angular, Ângulo e Velocidade representados nas figuras
2.12, 2.13, 2.14 respectivamente, posteriormente entra-se com valores nas
funções de Velocidade angular e o Ângulo:
Figura 2. 12 - Velocidade angular
Figura 2. 13 - Ângulo
Figura 2. 14 - Velocidade
Define-se a bases de regras conforme mostrado na tabela 2.1 para avaliar os níveis
de compatibilidade das entradas.
Tabela 2. 1 - Definição da Base de Regras para posterior análise
Define-se o valor das entradas para Velocidade angular e o Ângulo
conforme representado graficamente nas figuras 2.15 e 2.16
Figura 2. 15 - Representação gráfica da entrada de Velocidade Angular.
Figura 2. 16 - Representação gráfica da entrada de Ângulo de entrada
No gráfico 2.15 verifica-se que para a entrada da Velocidade Angular tem-
se os valores de pertinência 0,60 Negativa Pequena e 0,40 Zero. No gráfico 2.16
verifica-se que para entrada do Ângulo observa-se os valores 0,75 Zero e 0,25
Positiva Pequena.
Analisando a base de regras que foi mostrada tabela 2.1 obtém-se o
primeiro resultado:
SE ÂNGULO É ZERO E VELOCIDADE ANGULAR É ZERO ENTÃO
VELOCIDADE É ZERO.
Através do resultado obtido na base de regras tem o resultado da figura
2.17.
Figura 2. 17 - Primeiro resultado
Com a análise na base de regras observa-se 4 resultados diferentes que
retorna a intersecção dos gráficos:
1. Se ângulo é Zero E velocidade angular é Zero Então velocidade é
Zero; fig 2.18;
2. Se ângulo é Zero E velocidade angular é Negativa Pequena Então
velocidade é Negativa Pequena; fig 2.19;
3. Se o ângulo é Positivo Pequeno E velocidade angular é Zero Então
velocidade é Positivo Pequeno, fig 2.20;
4. Se ângulo é Negativo Pequeno E Positivo Pequeno Então velocidade é
Zero, fig 2.21.
Figura 2. 18 - Representação do resultado 1.
Figura 2. 19 - Representação do resultado 2.
Figura 2. 20 - Representação do resultado 3.
Figura 2. 21 - Representação do resultado 4.
O conjunto final é obtido pelo cálculo do Máximo das funções truncadas,
conforme mostra na figura 2.22 :
Figura 2. 22 - Máximo das funções
2.11 Processo de Retorno: Defuzzificação
Pela utilização de inferência difusa, chega-se a um ou mais conjuntos
que representam as conclusões decorrentes, conforme mostrado na figura 2.21.
O problema é que o mundo físico não entende conjuntos difusos. Tem-se que
gerar uma grandeza abrupta que representem da melhor maneira possível a
informação contida nos resultados.
O método mais comum utilizado para obter o valor condensado a partir
do conjunto difuso é o COG (Center Of Gravity) ou COA (Center Of Área) que
fornece um valor correspondente à abscissa do baricentro do gráfico da função
de pertinência, conforme mostrado na figura 2.23.
Para o conjunto discreto { })(|)( ixiAA = , define-se
( )( )��=
)(
)()(
iA
iAixVCCOF
Como o valor condensado ou defuzzificado de A.
Figura 2. 23 - Baricentro do resultado da função de pertinência
2.12 Conclusão
Conclui-se que a utilizada de dos conjuntos fuzzy consiste em modelar
dados vagos, imprecisos, incertos e ambigüos encontrados freqüentemente na
vida através da comunicação humana . A diferença da teoria fuzzy com a teoria
clássica dos conjuntos e que na teoria clássica o elemento pertencer ou não
pertence a determinado conjunto, enquanto que na teria fuzzy o elemento pode
pertencer, não pertencer ou estar parcialmente presente em determinado
conjunto através de um grau de pertinência. Este grau de pertinência varia a uma
faixa de 0 (elemento não pertencente ao conjunto) até 1 (elemento totalmente
pertencente ao conjunto), uma função de pertinência é a relação entre os valores
de um elemento e seu grau de pertinência em um conjunto . A lógica fuzzy está
baseada em palavras e não em números, os valores verdades são expressos
lingüisticamente. Por exemplo: quente, muito frio, verdade, perto, rápido,
vagaroso, etc. A metodologia de inferência que utiliza ferramentas e conceitos
da lógica difusa para atingir seus objetivos e conclusões. Tem-se um conjunto de
regras formadas por implicações difusas (em forma de proposições SE...
ENTÃO...) fornecidas por um especialista que, combinadas por operadores
difusos, nos levarão a “inferir” conjuntos difusos. Este resultado passará por um
processo de defuzzificação, que possibilita a volta do domínio para o abrupto.
Esses conceitos descritos serão utilizados no capítulo IV para a
implementação da Aplicação do Movimento de um Braço Mecânico de 1º de
liberdade que utilizará um controlador lógico nebuloso para controlar sua
velocidade de rotação.
3. DINÂMICA
Neste capítulo será abordado a definição de Dinâmica. Será apresentada
uma breve introdução a Modelagem Matemática de Sistema Dinâmicos e alguns
conceitos importantes relativos a sistemas mecânicos.
3.1 Definição
A dinâmica de um sistema consiste no estudo entre as forças ou torques
que movimenta cada junta, com as trajetórias, velocidades e aceleração
desenvolvidas; são chamadas juntamente de variáveis dinâmicas do sistema [7].
O estudo da dinâmica consiste na elaboração de um modelo matemático do
sistema. É formado por um conjunto de equações diferenciais que representam seu
comportamento, isto é, as relações matemáticas entre as forças ou torques e as
variáveis dinâmicas. Esse modelo é chamado modelo dinâmico.
Este conjunto de equações diferenciais se comporta como uma equação de
segunda ordem em forma matricial. Os coeficientes são matrizes quadradas de
tantas linhas e colunas quanto número de juntas tem o manipulador, e as
componentes dessas matrizes não são constantes, mas dependem das velocidades
e posições das juntas, e também coeficientes físicos do sistema como massa,
momentos de inércia e comprimento de elos. As variáveis independentes desta
equação são vetores de tantos componentes como número de juntas. Um desses
vetores é formado pelas coordenadas generalizadas, ou posições das juntas.
Outro vetor tem como componente as derivadas do vetor anterior, podendo
estas serem velocidades angulares ou lineares. O terceiro vetor é utilizado como
variável independente da equação dinâmica, é derivada no tempo do anterior ou
vetor cujas componentes representam as acelerações das juntas. Em síntese, as
variáveis independentes do modelo dinâmico são vetores contendo as variáveis
dinâmicas do manipulador.
Existem várias maneiras de elaborar o modelo dinâmico do robô. Dentre
estas destacam-se o método de Euler-Lagrange e 2º Lei de Newton.
No presente trabalho optou-se pela equação de Newton. Na seqüência será
ilustrado conceitos que serviram para a modelagem matemática do sistema
dinâmico do braço robótico.
3.2 Modelagem Matemática de Sistemas Dinâmicos
O sistema é dito DINÂMICO, se a sua saída depende da entrada e dos
valores passados da entrada. Num sistema dinâmico a saída varia se ela não
estiver num ponto de equilíbrio, mesmo que nenhuma entrada esteja sendo
aplicada [3].
O modelo matemático de um sistema dinâmico é definido como sendo o
conjunto de equações que representam a dinâmica do sistema com uma certa
precisão. O modelo matemático de um dado sistema não é único, isto é, um
sistema pode ser representado por diferentes modelos dependendo da análise que
se deseja fazer.
Na obtenção do modelo matemático para um dado sistema deve-se ter um
compromisso entre a simplicidade do modelo e a sua precisão. Nenhum modelo
matemático, por mais preciso que seja, consegue representar completamente um
sistema.
Em geral deve-se obter um modelo matemático, que seja adequado para
solucionar o problema específico que esta em análise. Porém, é importante
ressaltar que os resultados obtidos desta análise serão válidos somente para os
casos em que o modelo é válido.
A obtenção dos modelos que representam um dado sistema, são baseados
nas leis que regem aquele sistema. Por exemplo, na modelagem de um sistema
mecânico, deve-se ter em mente as leis de Newton; na modelagem de sistemas
elétricos deve-se ter em mente as leis das correntes e das tensões de Kirchoff; na
modelagem de sistemas térmicos deve-se ter mente as leis que regem os
fenômenos térmicos, isto é, condução, radiação e convenção, etc...
Os sistemas mecânicos são divididos em dois grupos, isto é, sistemas
mecânicos de translação, e sistemas mecânicos de rotação. A seguir, alguns
conceitos importantes relativos a sistemas mecânicos, serão apresentados [7].
3.2.1 Massa
A massa de um corpo é a quantidade de matéria deste corpo, a qual é
constante. Fisicamente, a massa de um corpo é responsável pela inércia do
mesmo, isto é, a resistência à mudança de movimento de um corpo. O peso de um
corpo é a força com a qual a terra exerce atração deste corpo[7].
gP
m =
Eq (3.1)
Onde:
m é a massa (kg)
P é peso (N)
g é a aceleração da gravidade (m/s2)
Embora o peso de um corpo possa variar de um ponto para outro, a massa
do corpo não varia.
3.2.2 Força
A força é definida como a causa que tende a produzir uma mudança na
posição de um corpo, no qual a força está atuando. As forças, podem ser
classificadas de duas formas, Forças de Contato e Forças de Campo. As forças de
contato são aquelas que tem um contato direto com o corpo, enquanto as forças de
campo não apresentam contato direto com o corpo, como por exemplo, força
magnética e força gravitacional [7].
3.2.2 Torque
O torque é definido como qualquer causa que tende a produzir uma
mudança na posição angular (rotacional) de um corpo, no qual o torque esteja
atuando [7].
3.2.4 Deslocamento, Velocidade e Aceleração
O deslocamento S(t) é a troca de posição de um ponto, tomado como
referência, para outro. A velocidade é a derivada temporal do deslocamento S(t)
[7].
°== S
DttDS
tV)(
)(
Eq (3.2)
Aceleração é derivada da velocidade em relação ao tempo [7]:
ººº
2
2)()( SV
dtSd
dttdV
ta ====
Eq (3.3)
3.2.5 Deslocamento Angular, Velocidade Angular e Aceleração Angular
O deslocamento angular θ(t), é definido como a troca de posição angular,
sobre um eixo, de um ângulo tomado como referência e outro. É medido em
radianos. A direção anti-horária é tomada como positiva. A velocidade angular
ω(t), é a derivada temporal do deslocamento angular θ(t) [7].
)()(
)(º
tdt
tdt θθω ==
Eq (3.4)
A aceleração angular α(t), é a deriva da temporal da velocidade angular
ω (7):
)()()()(
)(ºººº
2
2
ttdt
tddt
tdt θωθωα ====
Eq (3.5)
3.3 Leis de Newton
Das três leis que foram formuladas por Newton, a segunda lei é a mais
importante, para a obtenção de modelos matemáticos de sistemas mecânicos.
3.3.1 Segunda Lei de Newton
“A aceleração angular de qualquer corpo rígido é diretamente proporcional
aos torques que atuam neste corpo, e inversamente proporcional ao momento de
inércia deste corpo”[7].
ΣT = Jα Eq (3.6)
Onde: J é o momento de Inércia
3.4 Conclusão
Conclui-se que a dinâmica de um sistema consiste no estudo entre as
forças ou torques que movimenta cada junta, com as trajetórias, velocidades e
aceleração desenvolvidas; são chamadas juntamente de variáveis dinâmicas do
sistema. Seu estudo consiste na elaboração de um modelo matemático do sistema.
É formado por um conjunto de equações diferenciais que representam seu
comportamento, isto é, as relações matemáticas entre as forças ou torques e as
variáveis dinâmicas. Esse modelo é chamado modelo dinâmico. Existem diversas
maneiras para o modelo dinâmico do robô optou-se pela 2º Lei de Newton.
Conceitos importantes relativos a sistemas mecânicos foram apresentados como:
massa, força, torque, deslocamento, velocidade, aceleração, deslocamento
angular, velocidade angular e aceleração angular, etc; estes conceitos serviram de
base para a modelagem do braço robótico que é apresentado no capítulo 4.
4. CONTROLE NEBULOSO EM UM MANIPULADOR PICK AND
PLACE
Este capítulo apresenta a utilização do controlador nebuloso proposto no
capítulo II e com a finalidade de controlar o braço mecânico de um grau de
liberdade cujo modelo será obtido com as equações de Newton ilustradas no
capítulo III.
4.1 O Braço Mecânico
A operação do braço mecânico consiste em pegar uma peça de massa mL
que passa por uma esteira rolante até uma posição superior [3]. A figura 4.1
mostra o modelo do braço robótico [3].
Figura 4. 1 - Modelo do Braço Robótico [3].
São indicados os seguintes parâmetros na figura [3]:
d1 = comprimento do braço mecânico, 0.5 m;
m1 = massa da barra do braço mecânico, 0.25 kg;
mL = massa da carga do braço , 0.5 kg;
b1 = Coeficiente de atrito viscoso, 0.1 Nms;
G = gravidade local, 9.8 m/s2;
T = Torque aplicado no braço.
Para que as peças sobre a esteira sejam acopladas no braço mecânico é
necessário que este fique posicionado durante 1 segundo dentro de uma
faixa de 6º centrada em –90º, isto é, Q ∈ [-93º, -87º]. Para que a peça
seja descarregada e necessário que o braço fique posicionado durante 1
segundo dentro da faixa centrada em 0º, isto é, Q ∈ [-3,+3] [3].
O tempo de ciclo do braço é definido como:
T ciclo = T1 + T2 + T3 + T4
Onde:
T1 = 1s tempo necessário para o acoplamento da peca ao braço mecânico,
Q ∈ [-93º, -87º];
T2 = tempo gasto para deslocar o braço mecânico de dentro da faixa em
torno de –90º, para o inicio da faixa em torno de 0º;
T3 =1s para retirada da peca do braço mecânico, Q ∈ [-3,+3];
T4 = tempo necessário para deslocar o braço mecânico de dentro da faixa
de 0º para o inicio da faixa de 90º [3].
4.2 Torques presentes no Braço Mecânico
Da segunda lei de Newton tem-se que[3]:
ΣT = Jα
Eq (4.1)
2
2
dtqJd
Ttotal =
Eq (4.2)
Onde Ttotal é o torque total e J é o momento de Inércia do sistema dado, no
caso, por:
J= 0,15 Kg m2
Os torques presentes no braço mecânico são o Torque de controle, Torque
da Força Peso e Torque de atrito [3].
O Torque da Força peso é dado por [3]:
2)cos()( 11 qdmmg
T Lpeso
+−=
Eq (4.3)
Modelando o torque devido ao atrito como proporcional a velocidade
angular do sistema [3]:
dtdq
bTatrito 1−=
Eq (4.4)
Substituindo na equação de Newton tem-se [3]:
dtdq
bqdmmg
dtqd
T L1
112
2
2)cos()(
15,0 +++=
Eq (4.5)
que é a equação utilizada para simular o sistema.
4.3 Aplicação do Controlador Fuzzy usando a equação dinâmica no Braço
Mecânico de 1 grau de liberdade
Primeiramente é realizado a descrição dos dados de entrada do controlador
nebuloso, isto é, base de dados e base de regras, respectivamente.
Para tanto, usou-se o software Matlab para simulação. Na seqüência serão
ilustradas as janelas correspondentes a cada variável lingüística, isto é, erro(teta) e
variação do erro na entrada e na saída do torque.
As figuras 4.2 e 4.3 respectivamente, representam as funções de
pertinência para as entradas de Erro e Variação de Erro. A figura 4.4 mostra a
saída do controlador Fuzzy [3].
Figura 4. 2 - Representação da função de pertinência para a entrada Erro [3].
Figura 4. 3 - Representação da função de pertinência para a entrada de Variação de Erro [3].
As regras utilizadas no sistema são [3]:
• Se (Erro é Grande_Negativo) e (Var_Erro é Decrescente) Então
(Torque é Alto Negativo)
• Se (Erro é Grande_Positivo) e (Var_Erro é Crescente) Então (Torque é
Alto Positivo)
• Se (Erro é Grande_Positivo) e (Var_Erro é Decrescente) Então
(Torque é Baixo_para_Chegada)
• Se (Erro é Grande_Negativo) e (Var_Erro é Crescente) Então (Torque
é Baixo_para_Chegada)
• Se (Erro é Adequado) e (Var_Erro é Pouca) Então (Torque é
Baixo_para_Manutenção)
Figura 4. 4 - Funções de pertinência definidas para a saída do controlador [3].
Para obter-se um valor preciso utilizou-se o método de COG (Center Of Gravity)
ou COA (Center Of Área) que fornece um valor correspondente a abscissa do
baricentro do gráfico da função de pertinência conforme mencionado no capítulo
2.
4.4 Simulação do Braço Robótico
O objetivo é movimentar o braço da posição de 0º até a posição –90º de
forma a permanecer nesta posição com o menor erro de regime permanente.
Figura 4. 5 - Modelo da simulação do braço robótico
Com a utilização do modelo do braço mecânico projetado no Simulink e as
entradas do conjunto fuzzy obtém-se o resultado mostrado na figura 4.5. O braço
movimenta-se da posição de 0º para a posição de -90º, e depois permanece
parado. A figura 4.6 mostra o comportamento do braço mecânico, o braço sai da
posição de 0º e movimenta-se até a posição de –90º e permanece-se parado.
Figura 4. 6 - Comportamento do braço robótico.
4.5 Conclusão
Neste capítulo foi apresentada uma proposta de utilização dos conceitos de
robótica e dinâmica que foram apresentados no capítulo IV em conjunto com a
lógica fuzzy cujo os conceitos foram apresentados no capítulo II. Ambos
necessários ao entendimento do estudo proposto. Apresentou-se os conceitos de
dinâmica e as propriedades do braço robótico. Também foram apresentadas a base
de regras para o controle do braço mecânico e suas características, as entradas e
saída do conjunto fuzzy e a apresentação dos resultados finais. Os resultados
obtidos foram satisfatórios, através dos resultados concluí-se que o objetivo inicial
do trabalho proposto foi obtido. No próximo capítulo será apresentada a conclusão
final de todo o trabalho.
5. CONCLUSÕES GERAIS
Este trabalho buscou contribuir para análise de controle de um braço
mecânico de um grau de liberdade utilizando a teoria de Conjuntos Fuzzy. A
utilização de conjuntos Fuzzy permite manusear e operar proposições exatas e
inexatas, ou seja, incorporar dados numéricos (exatos) e o conhecimento do
especialista ou analista (inexato) na resolução do problema.
Seguindo esta filosofia, experimentou-se uma forma de tratar processos de
tomada de decisão que foge de certa maneira dos “padrões tradicionais”. Utilizou-
se teorias relativas a inteligência artificial, em particular Lógica Fuzzy, aliados a
conceitos de dinâmica na explanação do trabalho.
Em planos gerais os resultados obtidos foram bastante satisfatórios, sendo
este modelo passível de utilização para um caso real e mais complexo, que
envolva critérios de classificação mais sofisticados e uma base de regras mais
completa.
Sugere-se como continuidade desse trabalho a implantação de mecanismo
de controle para a atenuação da oscilação do movimento do braço mecânico. A
construção desse procedimento fará com que o sistema tenha um índice de
satisfação maior do que o atual.
Conclui-se então que, com a evolução deste trabalho envolvendo os
conceitos acima citados, através de uma análise mais profunda e criteriosa,
juntamente com as a utilização de processamento de informações, pode-se obter
uma ferramenta poderosa no apoio à robótica.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] AGUIAR, Hime; JUNIOR, Oliveira. Lógica Difusa: Aspectos Práticos e Aplicações. Rio de Janeiro: Interciência, 1999.
[2] NASCIMENTO JÚNIOR, Cairo Lúcio; YONEYAMA, Takashi. Inteligência Artificial em Controle e Automação. São Paulo: Edgar Blücher Ltda, 2000.
[3] PAZOS, Fernando. Automação de Sistemas & Robótica. Rio de Janeiro: Axcel Books do Brasil Editora, 2002.
[4] ZADEH L. A., Fuzzy Sets, Information and Control 8 (1965).
[5] YAGER R. R., OVCHINNIKOV S., TONG R. M., and NGUYEN H. T., Fuzzy Sets and Applications: Selected Papers by L. A. Zadeh, John Wiley & Sons, 1987.
[6] KLIR G. J. and FOLGER T. A., Fuzzy Sets, Uncertainty, and Information, Prentice Hall, Englewood Cli_s, New Jersey, 1988.
[7] PINHEIRO, José Renes; Prof. José Renes Pinheiro. Disponível em: http://www.ufsm.br/gepoc/renes/Donwload.htm. Acessado em: 20 de setembro de 2003 [8] DALBEM, Pablo; Dalbem Home Page. Disponível em: http://geocities.yahoo.com.br/pablo_dalbem/lf1.htm . Acessado em 21 de março de 2003