DISSERTAO DE MESTRADO
Campina Grande - PB
Julho de 2001
Campina Grande PB
Julho de 2001
Ficha catalogrfica
Inteligncia Artificial
Robtica
Agente Inteligente
Lgica Fuzzy
CDU - 007.52
AGRADECIMENTOS
Agradeo Deus por ter me iluminado e dado fora para a realizao e concluso
deste trabalho.
Agradeo minha famlia, que mesmo longe, se fizeram presente em cada momento
desta etapa, atravs de seu incentivo e oraes.
Sou muito grato ao meu orientador Prof. Dr. Homero Feitosa Cavalcanti pela
orientao, esforo, apoio, incentivo e principalmente pacincia.
Ao Professor Edilson Ferneda, que me recebeu aqui em Campina Grande e me deu
bastante apoio nos momentos inicias deste trabalho e ao Professor Herman Gomes pelas
discusses e dicas sobre o trabalho.
Aos colegas do NEUROLAB, Alexsandro, Everaldo, Bruno, Srgio, Ricardo,
Christiane e aos colegas que me ajudaram na realizao deste trabalho, especialmente Eloi,
Lel, Fabrcio, Ernesto, Lidiana e lvaro.
Aos meus amigos que fizeram dessa minha estadia em Campina Grande mais
agradvel: Renato, Hilmer, Gustavo, Ivette, Leandro, Kyller, Karina, Juliana, Juliana
Barbosa, Sandro, Erica, Adriano, Jorge, Giovanni, Tenrio (Macei), Ary Csar, Daniel.
Meus agradecimentos especiais Famlia Serey Guerrero: Dona Julia, Seu Jorge,
Dalton, Vernica e Claudia por me acolherem como uma segunda famlia. E minha
namorada Claudia pela pacincia e apoio dados neste perodo.
todos os funcionrios do DSC e COPIN, em particular Aninha, Vera, D. Ins e
Romildo.
Aos meus amigos Ajuad e Mohamed pelo apoio e por tornar a distncia entre a
famlia menos difcil.
E todas as pessoas que contriburam direta ou indiretamente para a realizao
deste trabalho.
SUMRIO
LISTA DE FIGURAS
IV
LISTA DE TABELAS
VII
LISTA DE QUADROS
VII
RESUMO
VIII
ABSTRACT
IX
1. INTRODUO
1.1
SISTEMAS INTELIGENTES
1.2
OBJETIVOS DO TRABALHO
1.2.1
Objetivo Geral
1.2.2
Objetivos Especficos
1.3
JUSTIFICATIVA
1.4
ESTRUTURA DA DISSERTAO
2. ROBTICA
2.1
INTRODUO
2.2
O QUE ROBTICA ?
2.3
2.4
CONFIGURAO DE UM ROB
2.5
MANIPULADOR ROBTICO
10
2.5.1
Base Fixa
10
2.5.2
Brao Articulado
10
2.5.3
2.6
Unidade de Controle
11
12
2.6.1
Acionamento Hidrulico
12
2.6.2
Acionamento Eltrico
13
2.6.3
Acionamento Pneumtico
14
2.7
15
2.8
CONCLUSO
17
3. AGENTE INTELIGENTE
18
3.1
INTRODUO
18
3.2
AGENTES
19
3.2.1
Definies
19
3.2.2
21
3.2.3
Ambiente
23
3.2.4
Arquitetura de um agente
24
3.3
3.2.4.1
Arquiteturas cognitivas
25
3.2.4.2
Arquiteturas Reativas
26
3.2.4.3
Arquiteturas Hbridas
27
CONCLUSO
29
4. LGICA FUZZY
30
4.1
INTRODUO
30
4.2
32
4.3
OPERAES
34
4.3.1
Complemento
34
4.3.2
Unio
35
4.3.3
Interseo
35
4.4
36
4.5
37
4.6
38
4.7
39
4.8
CONCLUSO
40
5. MAUTOXAD
41
ii
5.1
INTRODUO
41
5.2
42
5.3
49
5.3.1
Descrio do MAUTOXAD
5.3.1.1
5.3.2
Os Agentes do MAUTOXAD
51
Implementao do MAUTOXAD
56
5.3.1.2
5.3.3
5.4
51
61
63
5.3.3.1
64
5.3.3.2
65
CONCLUSO
69
6. CONCLUSO
70
6.1
CONTRIBUIES
70
6.2
DIFICULDADES ENCONTRADAS
71
6.3
72
REFERNCIAS BIBLIOGRFICAS
73
78
A.1
INTRODUO
78
A.2
79
A.3
80
A.4
80
A.5
81
A.6
81
82
B.1
INTRODUO
82
B.2
82
B.3
83
iii
LISTA DE FIGURAS
Figura 2.1 - As quatro anatomias bsicas do rob .................................................................. 9
Figura 2.2 - Controle em Malha Fechada. ............................................................................ 11
Figura 2.3 - Controle em Malha Aberta................................................................................ 12
Figura 2.4 - Rob hidrulico. HYD - 2800........................................................................... 13
Figura 2.5 - Rob eltrico. S400........................................................................................... 14
Figura 2.6 - Rob pneumtico. BOADICEA........................................................................ 15
Figura 3.1 - Interao de Agentes com o Ambiente Atravs de Sensores e Reagentes........ 20
Figura 3.2 - Arquitetura Funcionais ...................................................................................... 26
Figura 3.3 - Arquitetura de suposio................................................................................... 27
Figura 3.4 - Arquitetura Touring machines....................................................................... 28
Figura 4.1 - Representao de valores na lgica fuzzy......................................................... 32
Figura 4.2 - Funo de pertinncia........................................................................................ 33
Figura 4.3 - Representao grfica da operao complemento. ........................................... 34
Figura 4.4 - Representao grfica da operao unio. ........................................................ 35
Figura 4.5 - Representao grfica da operao interseo.................................................. 36
Figura 4.6 - Sistema de Controle Fuzzy................................................................................ 37
Figura 5.1 - Foto do ROBOXAD.......................................................................................... 42
Figura 5.2 - Esquema do ROBOXAD .................................................................................. 42
Figura 5.3 - Eixo base ........................................................................................................... 43
iv
vi
LISTA DE TABELAS
Tabela 5.1 - Coordenadas das posies 2R e 2CR................................................................ 48
Tabela B.1 - Tabela de relao dos componentes utilizados na interface............................. 83
LISTA DE QUADROS
Quadro 5.1 - Quadro de regras de simetria ........................................................................... 45
vii
RESUMO
Esta pesquisa constitui-se de um Sistema Inteligente desenvolvido para manipulao
de um brao robtico. O sistema formado por um brao robtico constitudo por trs elos,
uma garra e por um tabuleiro de xadrez mvel, que auxilia o movimento do brao robtico.
A abordagem utilizada na concepo do sistema foi orientada a Agentes Inteligentes. O
sistema possui seis Agentes Inteligentes: o Agente Mestre que responsvel pela
comunicao de seus subordinados; um Agente Inteligente para cada elo mecnico do
brao; um Agente Tabuleiro que representa o tabuleiro mvel e um Agente Garra,
responsvel por pegar ou soltar as peas do tabuleiro. A inteligncia de cada agente
implementada utilizando lgica Fuzzy, e o posicionamento do brao do rob baseado na
simetria das casas do tabuleiro de xadrez. A utilizao de Agente Inteligente deixou as
tarefas do sistema bem distribudas e organizadas, possibilitando a representao qualitativa
e quantitativa da posio dos braos do rob, permitindo o desenvolvimento de um sistema
inteligente baseado em agentes para o controle do rob.
viii
ABSTRACT
This research concerns the construction of an intelligent system developed for the
manipulation of a robotic arm. The system is composed of a robotic arm divided in three
parts, a magnet and a movable chess board, designed to help the movement of the robotic
arm. The system is agent oriented and has six agents: one master agent, responsible for the
communication among the slave agents; one intelligent agent for each part of the arm; one
board agent, representing the movable chess board; and one magnet agent responsible for
catching and releasing the chess pieces. The intelligence of each agent is implemented
using Fuzzy Logic and the positioning of the arm is based on the symmetry of the chess
board's squares. The use of intelligent agents has let the tasks of the system well distributed
and organized, making it possible to have a qualitative as well as a quantitative
representation of the positioning of the robotic arm, and to develop an agent based
intelligent system for the control of the robotic arm.
ix
CAPTULO 1
1. INTRODUO
sendo utilizadas para se ter robs mais autnomos e eficazes. Pode-se citar: processamento
digital de imagem, aquisio de conhecimento, redes neurais artificiais, lgica fuzzy,
algoritmos genticos e controladores adaptativos. Essas so as principais razes que
tornaram os sistemas robticos amplamente utilizados por pesquisadores do mundo todo
como plataformas de teste para novas tcnicas e pesquisas cientficas.
Atualmente uma das linhas mais importantes na rea da robtica o posicionamento
de braos robticos para execuo de determinadas tarefas, por exemplo, o movimento de
objetos. Essas tarefas devem ser executadas em um tempo determinado e com uma
trajetria muito precisa. por isso que se deseja do rob um comportamento inteligente
durante a execuo das tarefas. Um exemplo deste tipo de problema seria a manipulao de
amostras (ampolas) em anlises biomdicas. O grau de flexibilidade do rob e a percepo
que ele possui do amb iente onde est inserido so de extrema importncia para a realizao
de movimentos precisos e em tempo hbil. Esses robs devem perceber o meio e modificar
suas aes para executar tarefas especificas atravs de um comportamento inteligente.
Em robtica, geralmente so as aes que so modeladas a partir do conhecimento
de um especialista, podendo-se utilizar controladores baseados em lgica Fuzzy (LF).
Assim, torna-se uma forma de abordagem diferente dos mtodos convencionais de controle
de processos, que so desenvolvidos atravs da modelagem matemtica.
Os Sistemas de Controle Inteligente devem ser capazes de estabelecer seus prprios
objetivos baseados no reconhecimento da situao (percepo), e devem ser capazes de
operar com incertezas e tomar decises em ambientes no estruturados [POR89].
Um dos prottipos de rob desenvolvidos no Laboratrio NEUROLAB,
(Laboratrio de Redes Neurais e Automao Inteligente), denominado ROBOXAD, sendo
este o prottipo utilizado como base de teste para o desenvolvimento e implementao dos
Sistemas Inteligentes (SI) para gerenciamento e controle de robs [FER99][FER99a].
Um agente uma entidade que percebe um ambiente e age sobre ele. Para tanto um
agente necessita de sensores e efetuadores [RUS95]. Atravs destes sensores e efetuadores,
pode-se criar um agente capaz de resolver um problema em favor de seu usurio. Um
agente pode ou no ser dotado de inteligncia. Quando a possui, ele denominado Agente
Inteligente.
2
de
um
manipulador
com
cinco
graus
de
liberdade
(ROBOXAD);
1.3 Justificativa
Este trabalho prope uma abordagem em uma rea importante da robtica, o sistema
inteligente de controle do rob.
A utilizao da abordagem de agente inteligente aplicado robtica permitir maior
autonomia aos robs. Isto, provavelmente diminuir a complexidade dos modelos
3
CAPTULO 2
2. ROBTICA
2.1 Introduo
Muitos anos atrs, os robs faziam parte apenas da fico cientfica, fruto da
imaginao do homem. No incio dos anos 60, os primeiros robs comearam a ser usadas
com o objetivo de substituir o homem em tarefas que ele no podia realizar por envolverem
condies desagradveis, tipicamente contendo altos nveis de: calor; rudo; gases txicos;
esforo fsico extremo; trabalhos montonos, "chatos".
Nos ltimos 20 anos, as tendncias que garantem a evoluo dos robs so: o
constante aumento dos nveis salariais dos empregados; o extraordinrio avano
tecnolgico no ramo de computadores, que induz reduo dos preos do rob e uma
significativa melhoria em seu desempenho.
A palavra rob (robot) tem origem da palavra tcheca robotnik, que significa
servo. O termo rob foi utilizado inicialmente por Karel Capek em 1923, nesta poca a
idia de um "homem mecnico" parecia vir de alguma obra de fico. [SAL90]
O grande escritor americano de fico cientfica Isaac Asimov estabeleceu quatro
leis muito simples para a robtica:
1 lei: "Um rob no pode ferir um ser humano ou, permanecendo passivo, deixar
um ser humano exposto ao perigo".
2 lei: "O rob deve obedecer s ordens dadas pelos seres humanos, exceto se tais
ordens estiverem em contradio com a primeira lei".
3 lei: "Um rob deve proteger sua existncia na medida em que essa proteo no
estiver em contradio com a primeira e a segunda lei".
4 lei: "Um rob no pode causar mal humanidade nem permitir que ela prpria o
faa".
A quarta e ltima lei foi escrita por Asimov em 1984.[SAL90]
A idia de se construir robs comeou a tomar fora no incio do sculo XX com a
necessidade de aumentar a produtividade e melhorar a qualidade dos produtos. nesta
poca que o rob industrial encontrou suas primeiras aplicaes.
Atualmente devido aos inmeros recursos que os sistemas de microcomputadores,
os atuadores e os sensores nos oferece, a robtica atravessa uma poca de contnuo
crescimento que permitir, em um curto espao de tempo, o desenvolvimento de robs
inteligentes fazendo assim com que a fico do homem antigo torne-se a realidade do
homem atual.
2.1 (a)).
Os robs cilndricos podem ser representados por duas linhas perpendiculares e uma
base de rotao. O brao do rob est ligado ao suporte para que possa ser movido
radialmente em relao a coluna do rob. Um exemplo de configurao cilndrica esta
ilustrada na Figura 2.1 (b).
polar
cilndrico
articulado
cartesiano
O rob articulado possui juntas que se movem similarmente aos movimentos das
juntas de um ser humano. Consta de dois componentes retos, correspondendo ao antebrao
e brao humano, ambos montados num pedestal vertical. Esses componentes esto
conectados por juntas rotacionais correspondendo ao ombro e ao cotovelo. Um punho est
unido extremidade do antebrao, o que propicia diversas juntas adicionais (ver Figura 2.1
(c)).
Nos robs cartesianos, os seus movimentos so realizadas junto a um eixo com trs
linhas perpendiculares representando os eixos xyz. A Figura 2.1 (d) ilustra este tipo de
configurao.
9
10
forma que pode ser facilmente enviada como sinais ao controlador do rob.
- O punho o nome dado s trs ltimas juntas do rob. Estas so sempre
rotacionais, e seus eixos de rotao so mutuamente perpendiculares.
- Os rgos terminais podem ser classificados em dois grandes grupos denominados
garras e ferramentas especializadas. Robs usam garras para mover objetos e usam
ferramentas especializadas para fazer tarefas especiais.
Brao e garra
do rob
Sensores de
posio de juntas
Atuadores de
juntas
Controlador
Brao e garra
do rob.
Produz movimento
Atuadores de
junta
Controlador
Sinais de comando
12
translacionais.
Um exemplo de rob eltrico o S400 ilustrado na Figura 2.5. O S400 um rob
articulado produzido pela G. M. Manuc, com seis eixos, que utiliza servos motores. Este
rob utilizado por empresas para soldagem a ponto e a arco, para carga e descarga e
outros.
14
concorrentes.
Por outro lado os trabalhadores, ficam aterrorizados com a possibilidade de perda de
emprego, causados pelos impactos que os robs exercem sobre o nvel de emprego.
Certamente os robs se instalam no lugar dos homens, muitas vezes, um rob substitui
dezenas ou at centenas de homens em uma linha de produo.
Este temor de desemprego vem aumentando a cada dia que passa. A queda nos
custos dos robs tornando-os acessveis para muitos setores das indstrias, fez com que eles
(os robs) pudessem competir com a mo de obra barata, como a existente nos pases do
terceiro mundo, ameaando o emprego de muitos trabalhadores.
Muitas empresas multinacionais, que se instalavam em pases subdesenvolvidos
para utilizar-se do recurso "mo de obra barata", j esto pensando em reverter essa
tendncia e concentrar suas operaes nos seus prprios pases de origem, utilizando robs
para baratear seus custos.
O uso de robs para as indstrias passa a ser uma questo de sobrevivncia, assim,
resistir ao seu uso dos robs uma batalha perdida, principalmente devido a forma
acelerada com que eles caem de preo. Alm disso, o sucesso que as empresas e pases
usurios de robs vem obtendo alto. O Japo por exemplo, em 10 anos conseguiu
quadruplicar a sua produo de automveis, mantendo praticamente a mesma fora de
trabalho.
2.8 Concluso
Assim como a Revoluo Industrial, o desenvolvimento de robs modernos prev
uma revoluo na vida das pessoas. As mquinas sero responsveis por trabalhos e
servios em diversas reas, permitindo ao homem dedicar-se a pesquisa cientfica, hobbies
e lazer.
17
CAPTULO 3
3. AGENTE INTELIGENTE
3.1 Introduo
Durante os anos 80 a comunidade de Inteligncia Artificial, desencorajada pela falta
de progresso, aps 30 anos de pesquisa em projetos de sistema inteligentes comeou a
explorar novas reas onde sistemas de IA pudessem ter um domnio mais dinmico de
aprendizagem. Ao invs de olhar para resultados simulados, simblicos em mundos
artificiais, comearam a explorar as possibilidades de interaes complexas com o mundo
fsico, atravs de um mecanismo denominado agentes.[OLI96]
A tecnologia de agentes inteligentes uma das reas de maior crescimento de
pesquisa e desenvolvimento. Ela proporciona ao usurio facilidades que so baseadas em
conceitos da Inteligncia Artificial Distribuda (IAD), desenvolvidos a partir de mtodos de
representao de conhecimentos, de resoluo de problemas e de inferncia em ambientes
distribudos.[OLI96] A IAD estuda os comportamentos sociais, onde os sistemas
computacionais so vistos como sociedades de agentes inteligentes e tendo como nfase as
cooperaes, interaes e o fluxo de conhecimento entre unidades distintas.
As aplicaes e/ou investigaes das tecnologias de agentes incluem administrao
de rede, controle de trfego areo, controle de robs, recuperao/ administrao de
informao, comrcio eletrnico, educao, assistente digital pessoal, elaborao de
agenda, organizao de e-mail, etc.
18
Uma das definies de agentes refere-se a eles como entidades reais ou virtuais que
emergem num ambiente onde podem tomar algumas aes. Eles capazes de perceber e
representar parcialmente esse ambiente, de comunicar-se com outros agentes e possuem um
comportamento autnomo, conseqncia de sua observao, seu conhecimento e suas
interaes com outros agentes.[FER91]
Embora no haja ainda um consenso sobre uma definio formal da idia de
agente inteligente, pode-se defini-lo agente inteligente como uma entidade cognitiva, ativa
e autnoma, ou seja, que possui um sistema interno de tomada de decises, que age sobre o
mundo e sobre os outros agentes que o rodeiam e, por fim, que capaz de funcionar sem
necessitar de algo ou de algum para o guiar (tem mecanismos prprios de percepo do
exterior). [MAE94]
Quando diversos agentes inteligentes esto associados pela interao num ambiente
comum, este ambiente chamado multi-agente. Em Sistemas multi-agentes, o projetista
no volta sua ateno para um problema especfico, mas para um domnio especfico. Nesta
abordagem, a idia consiste em coordenar o comportamento inteligente de um conjunto de
agentes autnomos, cuja existncia pode ser anterior ao surgimento de um problema
particular [OLI96].
3.2 Agentes
3.2.1 Definies
Pode-se definir um agente como sendo qualquer coisa que percebe seu ambiente
atravs de sensores e atua neste ambiente atravs de reagentes ou efetuadores [RUS95]
(Figura 3.1). Agente inteligente refere-se a uma entidade inteligente e autnoma. A palavra
autnoma, neste caso, significa que cada agente possui sua prpria existncia, a qual no
dependente da existncia de outros agentes .
19
20
22
3.2.3 Ambiente
Sociedade o conjunto de entidades ativas, os agentes. J as entidades passivas
formam o ambiente. Um agente raciocina sobre os outros agentes e o ambiente.
Comparando com a rea de Sistemas Distribudos, os agentes so os processos, a sociedade
o conjunto de processos e o ambiente corresponde s entidades do mundo, com exceo
dos processos, com os quais a sociedade mantm relao.[ALV97]
Quando se diz que um agente est inserido num determinado ambiente no sentido
que ele se encontra exposto a interaes com ele, por exemplo: um rob numa fbrica, um
agente de software que negocia na Internet, entre outros.
Esta interao essencial pois determinante na definio e na atuao de um
agente (se a sua existncia fosse autnoma at em relao aos seus objetivos, um agente
poderia ser visto como uma caixa preta, sem qualquer utilidade).
Assim, as interaes com o ambiente so essenciais para um agente: permitem
alterar o ambiente de forma e obter informaes que podem ser teis ao cumprimento do
seu objetivo (incluindo a avaliao do seu prprio desempenho).
Propriedades de ambientes
Ambientes aparecem em vrias formas [RUS95]. As principais distines a serem
feitas so as listadas a seguir:
Acessvel versus inacessvel: Se os sensores de um agente do acesso ao estado
completo do seu ambiente, ento dizemos que este ambiente acessvel ao agente. Um
ambiente efetivamente acessvel se os sensores detectam todos os aspectos relevantes
escolha da ao apropriada.
Um ambiente acessvel conveniente porque o agente no precisa ma nter qualquer
estado interno para ter informao sobre o mundo.
Determinstico versus no determinstico: Se o prximo estado do ambiente
determinado completamente pelo estado atual e as aes selecionadas pelos agentes,
dizemos que o ambiente determinstico. Em princpio, o agente no precisa se preocupar
23
3.2.4.1
Arquiteturas cognitivas
3.2.4.2
Arquiteturas Reativas
Comportamento n
3.2.4.3
Arquiteturas Hbridas
essencialmente
27
3.3 Concluso
Este Captulo apresentou uma viso geral sobre agentes inteligentes. Foram vistos ,
as diversos conceitos dados para o termo agente, suas principais caractersticas, o ambiente
onde atuam, assim como as propriedades desse ambiente. Finalizamos apresentando os trs
diferentes tipos de arquitetura dos agentes: cognitiva, reativa, e hbrida. Este estudo
possibilitou a definio dos agentes do nosso sistema.
29
CAPTULO 4
4. LGICA FUZZY
4.1 Introduo
Aristteles, filsofo grego (384 - 322 a.C.), foi o fundador da cincia da lgica, e
estabeleceu um conjunto de regras rgidas para que concluses pudessem ser aceitas como
logicamente vlidas. O emprego da lgica de Aristteles levava a uma linha de raciocnio
lgico baseado em premissas e concluses. Como um exemplo: se observado que "todo
ser vivo mortal" (premissa 1), a seguir constatado que "Sarah um ser vivo" (premissa
2), como concluso temos que "Sarah mortal".
Desde ento, a lgica Ocidental, assim chamada, tem sido binria, isto , uma
declarao falsa ou verdadeira, no podendo ser ao mesmo tempo parcialmente
verdadeira e parcialmente falsa. Esta suposio e a lei da no contradio, que coloca que
"U e no U" cobrem todas as possibilidades, formam a base do pensamento lgico
Ocidental. A lgica fuzzy viola estas suposies.
A lgica de Aristteles trata com valores "verdade" das afirmaes, classificando-as
como verdadeiras ou falsas. No obstante, muitas das experincias humanas no podem ser
classificadas simplesmente como verdadeiras ou falsas, sim ou no, branco ou preto.
Por exemplo, aquele homem alto ou baixo? A taxa de risco para aquele
empreendimento grande ou pequena? Um sim ou um no como resposta a estas questes
, na maioria das vezes, incompleta.
30
31
baixo
mediano
alto
1,70
1,80
0
1,60 1,64
Altura
Uma pessoa medindo 1,64 m de altura considerada baixa, de acordo com o grfico
da Figura 4.1, mas est muito prxima de ser considerada de altura mediana. Entretanto,
possvel observar que uma pessoa totalmente baixa de 0 at 1,60 m (a curva baixo
indica valor 1 e as demais valor 0 na faixa de valores indicada). A partir de 1,60 m a reta
que define o valor baixo comea a decrescer, enquanto a reta que define a altura mediana
comea a crescer.
Uma pessoa com 1,70 m considerada de altura mediana e acima de 1,80 m
considerada alta. Essas medidas so totalmente imprecisas, variando de acordo com os
conceitos de cada pessoa, regio, cidade, pas e outros. Em muitas situaes porm, os
valores inexatos so mais importantes e possuem significados mais expressivos do que os
valores exatos.
A(x)
B(x)
1,60 1,65
1,70
0
x
33
Um conjunto fuzzy pode ter mais de uma representao, assim podemos descrever a
altura de uma pessoa tambm por um subconjunto B de X representando as pessoas
medianas (B(x)), cuja funo de pertinncia esta ilustrada na Figura 4.2.
Observe que B(x)1 para pessoas com altura acima de 1,70. Tambm observe que
para X=1,65m, A(x)=B(x), ou seja, uma pessoa com 1,65m tem o mesmo grau de altura
tanto para baixo como para mediano[KLI88].
4.3 Operaes
A teoria originria dos conjuntos fuzzy foi fundamentada nos termos das trs
operaes feitas com conjuntos (complemento, unio e interseo) que so equivalentes as
operaes da lgica booleana (negao, ou, e e). Assumindo que A X e B X,
apresentam-se a seguir essas operaes.
4.3.1 Complemento
A operao complemento utilizada para definir a funo de pertinncia oposta de
um subconjunto, ou seja, o complemento do subconjunto A, definido como A', formado
pelos pontos opostos de A de dentro do intervalo [0, 1]. Essa operao, quando tratada nos
extremos desse intervalo, equivalente operao negao da lgica booleana. A
representao fo rmal da operao complemento descrita na Equao 4.1. A sua
representao grfica ilustrada na Figura 4.3.
A ( x ) = 1 A (x ) x X
(4.1)
A (x)
A '(x)
34
4.3.2 Unio
A operao unio utilizada para associar dois subconjuntos, ou seja, a unio do
subconjunto A com B resulta em um subconjunto abrangendo os pontos mximos dos dois
subconjuntos unidos. Essa operao, quando tratada nos extremos do intervalo [0, 1],
equivalente operao ou da lgica booleana. A representao formal da operao unio
descrita na Equao 4.2. A sua representao grfica ilustrada na Figura 4.4.
A B A ( x ) B ( x ) = max ( A (x ), B ( x )) x X
(x)
A
(4.2)
(x)
B
4.3.3 Interseo
A operao interseo utilizada para definir a regio comum entre dois
subconjuntos, ou seja, a interseo do subconjunto A com B resulta em um subconjunto
abrangendo os pontos que pertencem tanto ao subconjunto A quanto ao subconjunto B.
Essa operao, quando tratada nos extremos do intervalo [0, 1], equivalente operao
e da lgica booleana. A representao formal da operao interseo descrita na
Equao 4.3. A sua representao grfica ilustrada na Figura 4.5.
A B A ( x ) B ( x ) = min ( A ( x ), B ( x )) x X
(4.3)
35
(x)
A
(x)
B
A lgica fuzzy pode ser descrita na forma das lgicas tradicionais. Por exemplo,
If X1 = = A1 & Xn = = An, then Y = B1,
If X1 = = C1 & Xn = = Cn, then Y = B2.
Tipicamente, uma proposio lingstica sobre o valor das variveis de entrada ,
por exemplo, o erro grande e positivo. De modo anlogo, uma tpica ao de controle
uma descrio lingstica, como por exemplo, aumente um pouco a velocidade do carro.
Controlador Nebuloso
BASE DE D ADOS / BASE DE CONHECIMENTO
( REGRAS DE CONTROLE)
I NTERFACE DE
P ROCEDIMENTO DE
I NTERFACE DE
F UZZIFICAO
I NFERNCIA
DEFUZZIFICAO
S ENSORES
PROCESSO
A TUADORES
Sistemas Fuzzy.
Sistemas baseados na Lgica Fuzzy tm mostrado grande utilidade em uma
variedade de operaes de controle industrial e em tarefas de reconhecimento de padres
que se estendem desde reconhecimento de texto manuscrito, at a avaliao de crdito
financeiro. Existe tambm um interesse crescente em se utilizar Lgica Fuzzy em sistemas
especialistas para torn-los mais flexveis.
No Japo, a Lgica Fuzzy j se faz presente no dia a dia do setor industrial e muitos
produtos comerciais j se encontram disponveis.
Inicialmente, sistemas Fuzzy foram ignorados nos Estados Unidos porque foram
associados com Inteligncia Artificial, um campo que periodicamente se obscurecia,
resultando numa falta de credibilidade por parte de alguns segmentos da indstria.
Diversas pesquisas e desenvolvimentos esto em andamento utilizando a lgica
Fuzzy. Projetos de software, incluindo sistemas especialistas Fuzzy e integrao de lgica
Fuzzy com Redes Neurais, os Algoritmos Genticos Adaptativos que so utilizados no
intuito de construir um sistema Fuzzy capaz de aprender.
adaptativos e inteligentes [GOM92]. Com certeza estes sistemas devero proporcionar uma
significativa contribuio para os sistemas de automao e controle do futuro,
principalmente em controle de processos.
4.8 Concluso
A lgica fuzzy foi descrita neste captulo de forma resumida para introduzir os
principais conceitos. Observou-se que esta lgica possui caractersticas fundamentais para a
soluo de determinados tipos de problemas, principalmente aqueles relacionados com
tomada de deciso sobre valores imprecisos.
40
CAPTULO 5
5. MAUTOXAD
5.1 Introduo
Atualmente, os robs devem perceber o meio em que esto inseridos e modificar
suas aes para a realizao de tarefas especficas atravs de um comportamento
inteligente. O conjunto de tarefas usadas no posicionamento de um brao robtico para
manipulao de objetos exige um sistema inteligente.
Inicialmente o ROBOXAD (Rob para mover peas em um tabuleiro de Xadrez)
compunha-se de um manipulador robtico com quatro graus de liberdade [FER99], com
uma garra magntica (m) na sua extremidade. Em sua verso atual apresenta mais um
grau de liberdade, trata-se de um trilho que foi acrescentado sua arquitetura. O
ROBOXAD tem sido utilizado como base de testes para o desenvolvimento e
implementao de Sistemas Inteligentes (SI) para gerenciamento e controle de robs.
Neste captulo sero apresentados alguns detalhes mecnicos do prottipo do
ROBOXAD e uma descrio do sistema inteligente, denominado AUTOXAD (Sistema
Inteligente do ROBOXAD) [FER99], desenvolvido para o movimento de peas no
tabuleiro de xadrez. A seguir, apresenta-se o projeto do novo sistema de controle baseado
em agentes MAUTOXAD (Sistema Inteligente do ROBOXAD utilizando Mltiplos
Agentes), sua descrio, arquitetura e funcionamento, e por fim os resultados experimentais
obtidos na movimentao de peas no tabuleiro de xadrez.
41
M3
L2
L1
M2
L3
M1
L4 TRILHO
M4
L1 Elo Base
L4 - Elo Trilho
M Motor de Passo
L2 Elo Antebrao
L3 Elo Brao
G - Garra im
J - Junta (M + L)
Em cada junta (J) do rob est acoplado um motor de passo (M), sendo que a junta
J1 (motor M1 e elo L1) gira em torno da normal ao cho, e seus movimentos so
42
para a direita e a esquerda, ela gira em torno da normal ao Eixo Base (Figura 5.3). As juntas
J2 e J3 (motores M2 e M3 e elos L2 e L3 respectivamente) movem-se para cima e para
baixo. A garra (G) foi implementada como um m. A junta J4 (motor M4 e elo L4 ou
trilho) representa o tabuleiro de xadrez que aproximado ou afastado do Eixo Base.
Convencionou-se que a frente do tabuleiro deve ser paralela ao lado frontal do
tringulo equiltero da base do rob (Figura 5.4). Alm disso, a reta perpendicular a esse
lado deve passar pelo centro do tabuleiro dividindo-o em dois lados (lado da dama e lado
do rei). Esses posicionamentos so necessrios devido a anlise de simetria que foi feita
para especificar as posies das peas no tabule iro de xadrez [FER99a].
BASE DE
CONHECIMENTO
(REGRAS DE CONTROLE E
SIMETRIA)
USURIO
AUTOXAD
ATUADOR
43
4
3
X
2
1
TD CD BD D
BR
CR TR
eixo
A cada movimento das peas no tabuleiro de xadrez foi associado uma casa fonte e
uma casa destino. Por exemplo, 3CD e 3CR , indicando o movimento de uma pea vinda da
terceira linha da coluna do cavalo da dama (fonte) para a terceira linha da coluna do bispo
do rei (destino).
O SI necessita de um conhecimento prvio de seu ambiente de trabalho, ele deve
conhecer o tabuleiro e suas casas, as peas utilizadas no jogo, a posio inicial da garra no
tabuleiro (centro), e outras informaes. Isto significa que o sistema necessita de uma base
de conhecimento composta por dados e regras para que o manipulador consiga alcanar
sua meta com xito (Ver Figura 5.5).
A cada ao do AUTOXAD foi associada uma meta ou objetivo. A meta do sistema
foi planejada a partir da analogia de uma situao do mundo real, isto , baseou-se na
observao dos movimentos realizados por um jogador de xadrez. Com isso, foi possvel
predefinir uma seqncia de movimentos necessrios para a realizao da meta desejada.
Definiram-se duas estratgias: IDENTIFICA e MOVE. A estratgia IDENTIFICA localiza
a posio da pea e da garra (fonte), pega a pea (acionando o m), e a seguir aciona a
44
estratgia MOVE. A estratgia MOVE movimenta o rob para a posio da pea e a garra
solta a pea (desligando o m) no lugar determinado (destino).
As estratgias foram implementadas em forma de tarefas para que fosse possvel
execut-las atravs de um escalonamento em tempo real [FER98]. A cada tarefa foi
associado um descritor. Os descritores so representados por descr(id, st, temp, freq) onde,
id a identificao da tarefa; st, indica o estado da tarefa (executando=-1, bloqueada=0, e
pronta=1); tempo, o tempo de ativao da tarefa em ms; e freq, intervalo de tempo em que a
tarefa ser novamente ativada.
No posicionamento da garra do ROBOXAD utilizando SIMETRIA, inicialmente
deve-se especificar o posicionamento das casas fonte e destino. Por exemplo, sabendo-se
que a pea_fonte est em 3CD e a casa_destino 3CR, o AUTOXAD detecta que: o
lado_fonte=D, o lado_destino=R, a linha_fonte=3, a linha_destino=3, a coluna_fonte=C e a
coluna_destino=B. O mdulo que analisa a SIMETRIA no movimento da pea da casa
fonte para a casa destino apresentado no quadro das regras 5.1. No quadro 5.1 os sinais
== indicam igualdade e != indicam diferena.
L2
d=23
L3
L2
3
(a) L2 = L3
L3
3
L
Para que a garra seja movida sobre o eixo X, sobre o plano em que est o tabuleiro
de xadrez, os valores dos ngulos 2 e 3 devem ser iguais. Nas Figuras 5.7 e 5.8
apresentam-se os desenhos no plano cartesiano de L2 e L3 quando a garra movimentada
sobre o plano do tabuleiro de xadrez. Utilizando-se geometria bsica consegue-se calcular
os ngulos 2 e 3 sendo conhecido o ponto em que a garra encosta no eixo X. O
ROBOXAD possui braos com comprimentos iguais (L2=L3).
sen 2 =
h
L2
(5.1)
sen 3 =
h
L3
(5.2)
sen 2 L3
=
sen 3 L2
sen 3 =
L2
sen 2
L3
(5.3)
(5.4)
posicionada sobre o eixo X das coordenadas cartesianas. O AUTOXAD possui braos com
comprimentos iguais (L2=L3).
L2
3 = arcsen sen 2
L3
if L2 == L3 and 2 == 3
(5.5)
then garra_sobre_eixo_X
(5.6)
(5.7)
(5.8)
if lado_fonte != lado_destino
3x
5x
L1
2
L2
1
R
eixo
47
Fonte
15
Destino
15
10
O clculo dos deslocamentos que devem ser feito pelos elos L2 e L3 feito com a
frmula
distncia a ser percorrida pelos elos L2 e L3 dada por l =L2-L1. Obtm-se l =2,17cm. O
motor de passo do elo L2 necessita de dois passos para deslocar 1 cm. Sabendo-se que o
deslocamento em passos de L3 duas vezes o deslocamento de L2, conclui-se que a
quantidade de passos a serem percorridos pelos motores de L2 e L3 so 4 e 8
respectivamente.
O ngulo do plano formado pelos braos L2 e L3 em relao ao eixo base dado
pela Equao (5.9). Observe-se que se deve conhecer R e x para se encontrar o ngulo 1.
O motor de passo da base do AUTOXAD conectado. Por correia, a um disco rgido que
est acoplado ao eixo da base. A relao dos raios dos crculos do motor de passo e do
disco igual a 9. Sabendo-se que o motor de passo possui um passo de 7.5 graus,
necessitando de 48 passos para uma rotao, calculam-se D=9*48=432 passos para uma
rotao do disco (ou 360o ). Calculou-se 1,2 passos/grau. Por exemplo, para =15o , o
nmero de passos np=1,2*15=18passos.
1 = arctg x ( R + 3 x)
(5.9)
O ngulo rotacional 1 calculado pela regra fuzzy mostrada na Equao 5.2, ento
= 20,02, que corresponde a 24 passos a ser percorrido pelo elo da base (ou L1).
48
(=DESTINO-FONTE)
(5.10)
(5.11)
=arccos[cos()+L/2]
(5.12)
MAUTOXAD
Percepes
Sensores
Agente
AMBIENTE
Aes
ROBOXAD
Efetuadores
50
A seguir, ser feita uma descrio do Sistema MAUTOXAD: sua arquitetura, seus
agentes (funes e caractersticas) e as caractersticas do ambiente.
5.3.1.1
Os Agentes do MAUTOXAD
51
Lista de
Tarefas
Inicialmente ele informa aos agentes a jogada que deve ser realizada e os consulta
com o objetivo de saber qual ser a seqncia de movimentos, ou seja, em que ordem os
Agentes escravos iro se mover. Em seguida, o Agente Mestre reenvia a jogada para os
Agentes escravos calcularem os movimentos (ngulos e passos) necessrios para a
execuo da jogada. Aps o clculo dos movimentos, estes so retornados ao Agente
Mestre que de forma ordenada (de acordo com a seqncia ditada pelo conjunto de Agentes
escravos) as envia para o controlador de tarefas.
Na Figura 5.12 apresenta-se o esquema geral do MAUTOXAD acrescentado do
controlador de tarefas e da comunicao entre os agentes. O controlador de tarefas tem a
funo de executar as tarefas que recebe do Agente Mestre. Ao terminar a execuo das
tarefas, ele retorna um sinal para o Agente Mestre informando que a execuo foi
concluda, permanecendo pronto para receber uma outra lista de tarefas (jogada).
No MAUTOXAD, o agente Base (L1 na Figura 5.2) se encarregar de posicionar o
plano formado pelo brao, antebrao e a garra do rob na direo do alvo. O plano deve se
posicionar sobre a reta que atravessa a base do alvo. Basicamente, o agente base deseja
apontar o alvo (casa destino).
O Agente Base um agente escravo que recebe a consulta do Agente Mestre para
52
saber qual a seqncia da jogada e o ngulo do movimento. O Agente Base, na sua regra
fuzzy (1), utiliza uma varivel booleana que indica a ocorrncia (SIMETRIA=SIM) ou no
(SIMETRIA=NO) de simetria, e uma varivel real (Equao 5.9) que indica o ngulo
formado com a posio destino. Na primeira consulta, de acordo com a existncia de
simetria ou no (ver Regra fuzzy (1) que igual ao quadro 5.1), ele informa, via a varivel
booleana SIMETRIA, se ser o primeiro a se mover ou no. Se existir simetria, ele
informar ao Agente Mestre com SIMETRIA=SIM que ser o primeiro a se mover. Se no
existir simetria, a seqncia do seu movimento depender da deciso dos demais agentes.
Em seguida, o Agente Mestre reenvia a jogada para o Agente Base calcular o nmero de
passos necessrios para que o motor faa o giro da base (esquerda ou direita).
O Agente Antebrao (L2 na Figura 5.2) deve se posicionar para otimizar a posio
do antebrao; ele se preocupa com o momento (fora vezes distncia) criado por ele e o
Agente Brao. O Agente Antebrao (L2) um agente escravo. Ele recebe a consulta da
jogada do Agente Mestre, em seguida envia de volta a seqncia de execuo dos
movimentos dos braos. Se o movimento na direo que diminui 2, o antebrao deve se
movimentar antes do brao. Definido-se 2f e 2d como os valores de 2 nas posies fonte
e destino, a regra fuzzy (2) ilustra a determinao da seqncia de movimento do antebrao
e brao.
Regra (2): if 2 d > 2f then M23=SIM
else M23=NO
53
A seguir o Agente Mestre envia novamente a jogada para que o Agente Antebrao
faa o clculo do nmero de passos do motor necessrios para movimentar o antebrao para
cima ou para baixo.
O Agente Brao (L3 na Figura 5.2) um agente escravo. Ele recebe a jogada do
Agente Mestre e decide o movimento do Agente Tabuleiro (trilho). O Agente Brao deve
se posicionar para otimizar a posio do brao, posicionando a garra sobre a pea. Se a
posio no for satisfatria ele aciona o Agente Tabuleiro que aproxima ou afasta o
tabuleiro da estrutura do rob. Definindo-se 3 d como o valor calculado para o ngulo 3
no destino, o valor qualitativo fuzzy de 3d calculado usando a operao unio do
conjunto fuzzy. As variveis lingsticas de 3d esto apresentadas na Figura 5.13, com a
abscissa representada em graus. Definindo-se X=3d, a funo de pertinncia (P (x),
M(x) e G(x)) vencedora a que tem maior valor, calculada pela operao fuzzy unio
3fuzzy = P (x) M(x) G(x). 3fuzzy representa uma das funes de pertinncia P (x),
M(x) ou G(x). A seguir, sero avaliadas as regras fuzzy (3) e (4) que indicaro o
movimento do Agente Tabuleiro utilizando as variveis booleanas aproxima e afasta. As
variveis boolenas devem ser inicializadas como aproxima=NO e afasta=NO
P(x) M (x)
G(x)
3fuzzy
43
117
graus
novamente para o Agente Brao que faz o clculo do nmero de passos do motor
necessrios para movimentar o brao e retorna a tarefa para o Agente Mestre.
O Agente Tabuleiro deve aproximar ou afastar o tabuleiro de xadrez do
ROBOXAD. Ele deve ser acionado quando no for possvel que a garra se posicione sobre
a pea destino. Isto ocorre porque o alcance do brao e do antebrao restringido a 4 linhas
do tabuleiro. O Agente Tabuleiro (L4 na Figura 5.2) um agente escravo. Ele tem a funo
de receber a jogada do Agente Mestre e calcular o nmero de passos necessrios para que o
motor faa o movimento do tabuleiro de acordo com a jogada (para frente ou para trs).
O Agente m (Garra) um agente escravo. Ele tem a funo de receber a jogada do
Agente Mestre, e de acionar e desligar o m depois que o brao est posicionado sobre a
pea, ele a pega na posio fonte e a solta na posio de destino. As regras fuzzy (5) e (6)
ilustram o Agente m.
Regra (5): if fonte==SIM then agarra=SIM
Regra (6): if destino==SIM then agarra=NO
Os agentes descritos acima apresentam uma srie de caractersticas prprias dos
agentes, como foi visto no Captulo 3. Entre elas destacam-se as seguintes:
a) autonomia, os agentes possuem a capacidade de decidir a seqncia de
movimentos de cada um deles e implicitamente tm conscincia de qual a ordem de
realizao dos movimento dos demais agentes; cada um dos agentes escravos so
responsveis pelo clculo dos passos necessrios no motor para executar os movimentos;
b) comunicabilidade, todos os agentes comunicam-se com o Agente Mestre e viceversa;
c) inteligncia, utilizao da lgica fuzzy, que deixa o brao mais otimizado;
d) reatividade, os agentes percebem seu ambiente e reage sobre ele;
e) flexibilidade, reside na habilidade dos agentes em escolher dinamicamente as
aes e a seqncia de execuo das mesmas de acordo com o ambiente, por exemplo a
55
presena ou no de um obstculo);
f) cooperatividade, os agentes cooperam com o Agente Mestre para realizar uma
determinada jogada;
g) coerncia, os agente possui a capacidade realizar seu objetivo ou movimentos
mesmo com a presena de um obstculo;
h) planejamento, para cada jogada so definidas e planejadas as tarefas a serem
executadas.
O ambiente no qual esto inseridos os agentes o tabuleiro de xadrez (representado
pelo espao ocupado por um tabuleiro de 6 linhas x 8 colunas) e pode ser caracterizado da
seguinte forma:
a) acessvel tendo em vista que os sensores (ainda no existem, mas no caso atual,
trata-se do operador) tem acesso a todo o ambiente, verificando o posicionamento das peas
a cada jogada;
b) determinstico e no episdico pois cada nova jogada e novo estado depender da
jogada e estado anterior;
c) esttico porque a rea do ambiente no se modifica;
d) discreto porque o nmero de movimentos fixo.
5.3.2
Implementao do MAUTOXAD
A arquitetura do software do MAUTOXAD, apresenta no seu mais baixo nvel um
escalonador de tarefas em tempo real e a cada agente associada uma tarefa. O sistema
multi tarefas se encarrega da organizao das comunicaes entre os agentes alm da
ativao deles na forma de tarefas. A comunicao entre os agentes, caracterizada pela
troca de mensagens entre agentes, representada por regras, axiomas e variveis oriundas
da lgica fuzzy.
Na implementao na linguagem C++, no nvel mais alto, os agentes so
representados por funes que so chamadas pelo Agente Mestre. Alm disso, como ser
56
visto nas prximas sees, o Agente Mestre se comporta como uma funo recursiva
durante a ativao dos demais agentes. Isto ocorre quando houver obstculo entre as casas
fonte e destino, enquanto no for encontrado o caminho final o Agente Mestre se auto
aciona.
O MAUTOXAD, assim como o AUTOXAD, possui duas estratgias IDENTIFICA
e MOVE. A estratgia IDENTIFICA do MAUTOXAD apresentada na Figura 5.14, localiza
a posio da pea e da garra (fonte), pega a pea (acionando o m). A estratgia MOVE
(ver Figura 5.15) movimenta o rob para a posio da pea e a garra solta a pea
(desligando o m) no lugar determinado (destino).
FONTE
USURIO
ROBOXAD
IDENTIFICA
MOVIMENTO
DESTINO
GARRA
GARRA
NA
FONTE?
NO
SIM
SIM
DESTINO
DIFERE
FONTE?
PEGA A PEA
NO
MOVE
FONTE
SIM
DESTINO
SIMETRIA?
MOVE M1
GARRA
NO
SOLTA
A
PEA
MOVE
M2 E M3
TAREFA_AG1_ESQUERDA
TAREFA_AG2_SUBIR
TAREFA_AG2_DESCER
TAREFA_AG3_SUBIR
TAREFA_AG3_DESCER
TAREFA_AGTABULEIRO_APROXIMA
TAREFA_AGTABULEIRO_AFASTA
TAREFA_AGIMA_PEGAR
TAREFA_AGIMA_SOLTAR
TAREFA_PARADO
Como se pode ver, estes indicadores informam a semntica da tarefa, isto , o que
ela dever executar ou fazer. O nmero de passos de uma tarefa informa a quantidade de
passos necessrios para execuo da tarefa, uma vez que todos os agentes, exceto o Agente
m, possuem motores de passos que efetuam os movimentos mecnicos. O terceiro item de
uma tarefa, isto , a descrio, recebe os comentrios do agente a respeito dela. Estas
mensagens so impressas no componente de sada do sistema. O quarto e ltimo item da
tarefa, o grau de satisfao, armazena o nvel de satisfao da tarefa.
Para ilustrar o funcionamento do MAUTOXAD, principalmente a tomada de
deciso entre diferentes estratgias de movimento, inseriu-se mais uma pea no tabuleiro de
xadrez. Quando esta pea se encontra entre a posio fonte e destino, funciona como um
obstculo. Para realizar o desvio desse obstculo apresenta-se abaixo a descrio das
estratgias das jogadas.
No sistema so possveis jogadas sem obstculos (S) e com obstculo (C), podendo
a jogada (L) ser com ou sem obstculo. A seguir, apresenta-se como devem ser feitas essas
jogadas e como se deve realizar o desvio do obstculo. Na Figura 5.16 apresenta-se um
tabuleiro com 12 casas utilizado para descrever os possveis movimentos das peas
58
num tabuleiro. Nesse tabuleiro so indicadas as posies fonte (F) e de destino (D) das
peas e a posio da pea extra (X).
Jogada Simples (S): este tipo de jogada acontece quando o Agente Mestre verifica
que no existe obstculo (X) em um quadro do tabuleiro onde se encontram as posies
Fonte (F) e destino (D), ento a jogada realizada de forma simples, sem desvio do
obstculo (ver Figura 5.22).
D
X
Jogada com obstculo (C), o caso em que o Agente Mestre verifica um obstculo
alinhado ou em X ou em Y em relao s posies fonte e destino. Neste caso ocorre
inicialmente o deslocamento de uma casa, o que permite uma jogada em L (L), que por sua
vez, leva a uma jogada simples (S) (Figura 5.18 e 5.19).
59
D
X
D X
Figura 5.18 - Jogada em C (C) em Y
Incio
Jogada
em C
Jogada
Simples
ov
e
Move
Jogada
Realizada
e
ov
M
Jogada
em L
60
5.3.1.2
Casa: representa a casa fonte da pea (Lado Rei ou Dama, Linha e Coluna);
62
Movimento: na parte inferior, fornece dados sobre o movimento que vai ser
realizado
-
Agente Mestre: na parte superior, apresentam-se dois botes que podem ser
clicados pelo usurio. Se for clicado o boto Mover ser executada a jogada
planejada. O boto Parar interrompe a jogada.
63
5.3.3.1
64
O Agente Mestre verifica, de acordo com o fluxograma apresentado na Figura 5.14, que
a casa destino diferente da casa fonte e posiciona o m sobre a pea;
O Agente Mestre consulta os Agentes escravos sobre a ordem em que eles efetuaro os
movimentos;
O Agente Base verifica que no existe simetria, para isso utiliza a regra fuzzy (1),
O Agente Mestre envia a jogada para os agentes, para que efetuem os clculos
necessrios na realizao dos movimentos;
Em seguida, cada agente envia de volta para o Agente Mestre a tarefa (clculos
necessrios para efetuar o movimento: Agente Base (passos=2); agente Antebrao
(passos=14 e deslocamento=7); Agente Brao (passos=28 e deslocamento=7); Agente
Tabuleiro (passos=0). O Agente m pegar e depois soltar a pea; Neste caso, A agente
Tabuleiro no trabalha. Os agentes brao e antebrao utilizam a Equao 5.2 para
calcular o deslocamento.
O Agente Mestre recebe as tarefas dos Agentes escravos, as ordena de acordo com a
seqncia dos movimentos e envia a lista de tarefas para o controlador de tarefas;
5.3.3.2
na Figura 5.24 abaixo que a pea extra (obstculo) est dentro da rea de movimentos e
alinhados em Y em relao s posies fonte e destino (R 4 1, R4R em xadrez) do
Tabuleiro A, portanto considerada como uma Jogada com Obstculo. A Figura abaixo
apresenta o resultado do movimento.
O Agente Mestre recebe a jogada do usurio apresenta a tela da Figura 5.24. Aps o
usurio clicar sobre o boto Mover iniciada a ao da jogada cujo tela resultante
apresentada na Figura 5.25. O MAUTOXAD apresenta a mensagem __ AGENTE
MESTRE -- na rea de movimentos. Aps alguns instantes apresentada a mensagem
Ao pegar acionada.
O Agente Mestre verifica que a casa destino diferente da casa fonte e posiciona o m
sobre a pea, e apresenta a mensagem AGENTE M PEGANDO.
O Agente Mestre consulta os Agentes escravos sobre a ordem em que eles efetuaro os
movimentos;
66
O Agente Mestre envia a jogada para os agentes, para que efetuem clculos necessrios
realizao dos movimentos;
Em seguida, cada agente envia de volta para o Agente Mestre a tarefa (clculos
necessrios para efetuar o movimento: Agente Base (passos=9); agente Antebrao
(passos=22 e deslocamento=11); Agente Brao (passos=44 e deslocamento=11);
Agente Tabuleiro (passos=160);
O Agente Mestre recebe as tarefas dos Agentes escravos, as ordena de acordo com a
67
Agente 1 Posicionado.
D
X
D
X
68
AGENTE M SOLTANDO
-- FIM MOVIMENTO --
5.4 Concluso
Neste captulo apresentou-se o sistema inteligente de controle de um prottipo de um
rob com cinco graus de liberdade (ROBOXAD). A partir do Sistema Inteligente
(AUTOXAD) j desenvolvido com a Lgica Fuzzy props-se uma arquitetura baseada em
agentes inteligentes (MAUTOXAD) que capaz de movimentar peas de xadrez sobre um
tabuleiro desviando de obstculos.
O uso da Lgica Fuzzy, alm de utilizar variveis lingsticas semelhantes s
empregadas pelos operadores de robs, permitiu a aplicao do rob em sistemas
tridimensionais sem o conhecimento formal da sua posio e das peas do tabuleiro de
xadrez no espao.
69
CAPTULO 6
6. CONCLUSO
Esta dissertao teve como nfase a construo de um sistema de controle inteligente
de um brao robtico utilizando uma abordagem de agentes inteligentes baseado em regras
fuzzy. Foram apresentados os detalhes da implementao do MAUTOXAD e alguns
resultados experimentais no controle do manipulador robtico para o posicionamento de
uma garra magntica que move uma pea e desvia de obstculos sobre um tabuleiro de
xadrez.
O prottipo ROBOXAD possui uma estrutura relativamente simples e foi
desenvolvido para ser utilizado como base de testes dos sistemas desenvolvidos no
NEUROLAB. Com este prottipo foi possvel implementar e testar o MAUTOXAD,
sistema desenvolvido com o paradigma de agentes inteligentes.
6.1 Contribuies
A utilizao da abordagem de agente inteligente proporcionou uma maior
organizao ao sistema principalmente no que diz respeito distribuio de tarefas, de
forma que cada agente do sistema responsvel por um determinado grupo de tarefas e
consequentemente por cada uma das partes do ROBOXAD. A extenso do sistema com a
utilizao de agentes inteligentes permitiu que o brao robtico desviasse de obstculos, ou
seja de outras peas no tabuleiro, o que ser de fundamental importncia para o projeto de
viso que est sendo desenvolvido paralelamente.
70
A utilizao de regras fuzzy permite, atravs de uma anlise lingistica dos ngulos,
otimizar o posicionamento dos braos, tabuleiro, m e determinar quais agentes e em que
momento devero ser acionados. Portanto, a utilizao da tcnica Lgica Fuzzy
proporcionou ao sistema caractersticas de inteligncia e autonomia.
O SI foi implementado utilizando a linguagem de programao C++ e a ferramenta
C++ Builder da Borland. Procurou-se simplificar o cdigo de forma que seja possvel ser
utilizado em aplicaes futuras, como por exemplo na juno com o sistema de viso que
est sendo desenvolvido paralelamente para o ROBOXAD.
A nova interface do sistema proporciona uma maior facilidade de interao.
possvel definir a jogada atravs de manipulao direta com as peas no tabuleiro (na
interface), no entanto, percebe-se ainda alguns pontos em que poderia ser melhorada,
principalmente no que diz respeito realimentao para o usurio.
A implementao de um trilho no tabuleiro do ROBOXAD, permitiu que a rea de
trabalho do MAUTOXAD fosse ampliada de 3 linhas por 6 colunas para 6 linhas por 8
colunas. Quando o brao alcana seu ngulo mximo de trabalho o motor de passo que
movimenta o tabuleiro sobre um trilho acionado movendo-se para frente/trs, permitindo
que a jogada possa ser realizada numa rea maior.
muito leve, o que impede de sustentar pesos maiores que 10g, o que faz com
que muitas vezes durante a jogada a pea caia. Portanto, no possvel se obter
preciso nos movimentos e consequentemente nas jogadas realizadas. No caso de
vrias jogadas seqenciais, ocorre acumulao de erro, o que resulta no erro das
jogadas, o que limita a confiabilidade do sistema.
72
REFERNCIAS BIBLIOGRFICAS
[ALV97]
[AMI93]
[ST89]
[AUE95]
[BEL95]
[BEZ94]
BEZDEK, J. Fuzzy models What are they, and why?. In: Marks II,
Robert J. Fuzzy logic technology and applications. New York: IEEE
Technical activities board, 1994.
[BRO91]
[CAV95]
[CAV99]
[CRA86]
DEMAZEAU, Y. From interactions to collective behaviour in AgentBased System. Saint Malo: European Conference on Cognitive Science,
1995.
[FER91]
[FER98]
[FER99]
[FER99a]
[FER99b]
[FER99c]
scheduler.
CONFERENCE
ON
In:
IJCNN'99
NEURAL
INTERNATIONAL
NETWORKS,
1999.
JOINT
Proceedings.
[FER99e]
[GIL96]
[GOM92]
GOMIDE, F., ROCHA, A., ALBERTOS, P. Neurofuzzy Controllers IFAC- LCA '92, Viena, Austria.1992.
[GOM94]
[GUP96]
[KLI88]
[LEM96]
WWW
28/11/97]
URL:
http://krusty.eecs.umich.edu/cogarch4/toc.html, 1996
[MAE91]
[MAE94]
MAES, P. Agents that Reduce Work and Information Overload. [on line]
Disponvel
na
Internet
via
WWW.
URL:
http://pattie.www.media.mit.edu/people/pattie/CACM-94/CACM-4. P1.html,
1994.
75
[MAM74]
[NIS95]
[OLI96]
[PAR96]
[POR89]
[RUS95]
[SAL90]
[SAL97]
[SPO89]
[TAF95]
[WIJ97]
[WOO94]
[WOO95]
[ZAD65]
[ZAD88]
[ZAD94]
77
A.1 Introduo
O motor de passo um mecanismo que converte energia eltrica em movimento.
Ele controlado atravs de pulsos digitais, o que possibilita o seu deslocamento por passo.
Com o passar dos anos houve um aumento na popularidade deste motor, principalmente
pelo seu tamanho e custo reduzidos e tambm a total adaptao para ser controlado
digitalmente. Outra vantagem do motor de passos em relao aos outros motores a
estabilidade. Quando se quer obter uma rotao de uma frao de uma rotao representada
em graus (1 grau=2rad), calcula-se o nmero pulsos referente rotao, o que possibilita
uma boa preciso no movimento do eixo do motor.
H alguns anos atrs os motores utilizados eram motores de corrente contnua. Eles
tinham pouca preciso, geralmente passavam do ponto (rotao do eixo do motor maior do
que a desejada) e para retornar posio desejada necessitavam de uma realimentao
negativa. Os motores de passos possuem pouca inrcia diminuindo a sua possibilidade de
passarem do ponto desejado. Mesmo assim, se eles passarem da posio desejada eles
podem facilmente reposicionados utilizando uma lgica digital.
78
plo1
plo1
plo4
plo2
plo4
plo2
plo3
(a)
plo3
(b)
79
80
81
APNDICE B:
passo
B.1 Introduo
Os motores de passo so considerados atuadores de fundamental importncia devido
os mesmos terem total adaptao lgica digital [WIJ97]. Este tipo de motor muito
utilizado quando se deseja o posicionamento de determinados dispositivos com preciso. O
NEUROLAB utiliza uma interface controladora de motores de passos, que permite o
controle de at 4 motores de passo. A base do circuito dessa interface foi projetada no
Departamento de Engenharia Eltrica da Universidade Federal da Paraba para o
NEUROLAB, composta basic amente de dois mdulos: Um mdulo de CIs para
demultiplexao dos sinais e um mdulo analgico para o fornecimento da tenso de 12V
necessria para o acionamento dos motores de passo [FER99b].
Valor
Qtde
1K
16
SN74L S273N
7805
Capacitor eletroltico
220mF
Transistor de potncia
TIP 122
16
280R
16
1N4007
16
Fmea
Resistor
Circuito integrado
CI regulador de tenso
Resistor
Diodo
Conector centronic
82
Conector DB25
Fusvel
Fmea
3A
LED
Resistor
1K
1
1
84