Você está na página 1de 98

UNIVERSIDADE FEDERAL DA PARABA

CENTRO DE CINCIAS E TECNOLOGIA


DEPARTAMENTO DE SISTEMAS E COMPUTAO
COORDENAO DE PS-GRADUAO EM INFORMTICA

DISSERTAO DE MESTRADO

CONTROLE DE UM BRAO ROBTICO UTILIZANDO


UMA ABORDAGEM DE AGENTE INTELIGENTE

TARIG A LI ABDURRAHMAN E L SHHEIBIA

Campina Grande - PB
Julho de 2001

UNIVERSIDADE FEDERAL DA PARABA


CENTRO DE CINCIAS E TECNOLOGIA
DEPARTAMENTO DE SISTEMAS E COMPUTAO
COORDENAO DE PS-GRADUAO EM INFORMTICA

CONTROLE DE UM BRAO ROBTICO UTILIZANDO


UMA ABORDAGEM DE AGENTE INTELIGENTE

Dissertao apresentada coordenao de Psgraduao em informtica COPIN da


Universidade Federal da Paraba UFPB, como
requisito parcial para a obteno do grau de
Mestre em Informtica.

TARIG A LI ABDURRAHMAN E L SHHEIBIA

Orientador: Jos Homero Feitosa Cavalcanti, Dr.

Campina Grande PB
Julho de 2001

Ficha catalogrfica

SHHEIBIA, Tarig Ali Abdurrahman El


S543C
Controle de um Brao Robtico Utilizando uma Abordagem de Agentes Inteligentes
Dissertao (Mestrado) - Universidade Federal da Paraba, Centro de Cincias e
Tecnologia, Coordenao de Ps-Graduao em Informtica, Campina Grande, PB,
Julho de 2001.
84 p. Il.
Orientador: Jos Homero Feitosa Cavalcanti
Palavras Chaves:
1.
2.
3.
4.

Inteligncia Artificial
Robtica
Agente Inteligente
Lgica Fuzzy

CDU - 007.52

Dedico este trabalho,


memria de meu pai,
Ali El Shheibia

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

CLASSIFICAO GERAL DOS ROBS

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

SISTEMAS DE ACIONAMENTO DE ROBS

12

2.6.1

Acionamento Hidrulico

12

2.6.2

Acionamento Eltrico

13

2.6.3

Acionamento Pneumtico

14

2.7

APLICAO ROBTICA NA INDSTRIA

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

Caractersticas Gerais de Agentes Inteligentes

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

FUNDAMENTOS DA LGICA FUZZY

32

4.3

OPERAES

34

4.3.1

Complemento

34

4.3.2

Unio

35

4.3.3

Interseo

35

4.4

EXPRESSO FUZZY DO CONHECIMENTO

36

4.5

SISTEMAS DE CONTROLE FUZZY

37

4.6

UTILIZAO DA LGICA FUZZY

38

4.7

PERSPECTIVAS DA LGICA FUZZY

39

4.8

CONCLUSO

40

5. MAUTOXAD

41
ii

5.1

INTRODUO

41

5.2

DESCRIO DO ROB OXAD E DO AUTOXAD

42

5.3

SISTEMA DE CONTROLE UTILIZANDO AGENTES INTELIGENTES

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

Interface entre o usurio e o MAUTOXAD

Exemplos dos movimentos do MAUTOXAD

61

63

5.3.3.1

Jogada sem obstculo

64

5.3.3.2

Jogada com Obstculo

65

CONCLUSO

69

6. CONCLUSO

70

6.1

CONTRIBUIES

70

6.2

DIFICULDADES ENCONTRADAS

71

6.3

SUGESTES PARA TRABALHOS FUTUROS

72

REFERNCIAS BIBLIOGRFICAS

73

APNDICE A: MOTOR DE PASSO

78

A.1

INTRODUO

78

A.2

FUNCIONAMENTO DOS MOTORES DE PASSO

79

A.3

CARACTERSTICAS DOS MOTORES DE PASSO

80

A.4

TIPOS DOS MOTORES DE PASSO

80

A.5

APLICAES DOS MOTORES DE PASSO

81

A.6

VANTAGENS E DESVANTAGENS DOS MOTORES DE PASSO

81

APNDICE B: INTERFACE CONTROLADORA DE MOTORES DE PASSO

82

B.1

INTRODUO

82

B.2

A INTERFACE CONTROLADORA COMPLETA.

82

B.3

INTERFACE PAINEL PARA MOTORES DE PASSO

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

Figura 5.4 - Posio das estruturas ....................................................................................... 43


Figura 5.5 - Esquema bsico do SI ....................................................................................... 43
Figura 5.6 - Casas simtricas na mesma linha ...................................................................... 44
Figura 5.7 - Posicionamento dos elos L2 e L3...................................................................... 46
Figura 5.8 - Movimento da garra sobre o plano.................................................................... 46
Figura 5.9 - Representao do posicionamento da garra nas posies 2R2CR. ............... 47
Figura 5.10 - Representao de Agentes............................................................................... 50
Figura 5.11 - Relaes entre os componentes do MAUTOXAD ......................................... 51
Figura 5.12 - Esquema Geral do MAUTOXAD................................................................... 52
Figura 5.13 - Funes de pertinncia.................................................................................... 54
Figura 5.14 - Estratgia IDENTIFICA ................................................................................. 57
Figura 5.15 - Estratgia MOVE ............................................................................................ 57
Figura 5.16 - Jogada Simples (S).......................................................................................... 59
Figura 5.17 - Jogada em L (L) .............................................................................................. 59
Figura 5.18 - Jogada em C (C) em Y.................................................................................... 60
Figura 5.19 - Jogada em C (C) em X.................................................................................... 60
Figura 5.20 - Esquema de Jogadas do MAUTOXAD .......................................................... 60
Figura 5.21 - Tela principal................................................................................................... 61
Figura 5.22 - Diviso do tabuleiro e rea de alcance............................................................ 64
Figura 5.23 - Jogada sem obstculo...................................................................................... 64
Figura 5.24 - Incio da Jogada com obstculo ...................................................................... 66
v

Figura 5.25 - Fim da Jogada com obstculo ......................................................................... 67


Figura 5.26 - Incio da seqncia de movimento.................................................................. 68
Figura 5.27 - Fim da seqncia de movimento..................................................................... 68
Figura A.1 - Motor de passo ................................................................................................. 78
Figura A.2 - Motor genrico de quatro fases ........................................................................ 79
Figura B.1 - Circuito impresso da interface de motor de passo............................................ 83
Figura B.2 - Circuito impresso do painel p/ motor de passo ................................................ 84

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

1.1 Sistemas Inteligentes


O termo Inteligncia Artificial foi proposto em 1956 por John MacCarthy da
Universidade de Standford, nos Estados Unidos. Vrias discusses para substituio deste
nome por outros ocorreram, tais como Processamento Complexo da Informao ou
Simulao de Processos Corrompidos, no entanto estes no lograram xito [TAF95].
O objetivo inicial da Inteligncia Artificial (IA) entender os mecanismos da
inteligncia [OLI96]. Nas abordagens Clssicas de IA, o entendimento da inteligncia
baseado em um comportamento humano individual, o foco de ateno volta-se para a
representao de conhecimento e mtodos de inferncia. J a Inteligncia Artificial
Distribuda (IAD) baseia-se na compreenso da inteligncia e no comportamento social de
entidades, denominadas agentes, enfatizando cooperaes e interaes entre elas, alm do
fluxo de conhecimento entre os mesmos.
A Inteligncia Artificial (IA) engloba vrias reas do conhecimento, entre elas a
Robtica. Um dos entraves na construo de sistemas robticos est na sua complexidade,
que advm da dependncia que o projetista possui em relao a especialistas de domnios
especficos.
O gerenciamento de sistemas robticos atravs de microcomputadores envolve
diversas reas do conhecimento, tais como Engenharia Eltrica, Engenharia Mecnica,
Computao, entre outras. Vrias ferramentas e tecnologias foram propostas e esto
1

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

Neste trabalho utilizada a abordagem de Agente Inteligente para o


desenvolvimento do Sistema Inteligente que controla a realizao de movimentos em um
brao robtico, utilizando-se Lgica Fuzzy.

1.2 Objetivos do Trabalho


1.2.1 Objetivo Geral
Utilizar a abordagem de Agente Inteligente para o posicionamento de um brao
robtico com cinco graus de liberdade, capaz de se posicionar, mover, e desviar de
obstculos sobre um tabuleiro de xadrez.

1.2.2 Objetivos Especficos

Implementar um Sistema Inteligente baseado em agentes para o controle do


posicionamento

de

um

manipulador

com

cinco

graus

de

liberdade

(ROBOXAD);

Utilizar a Lgica Fuzzy para otimizar o posicionamento do manipulador em


tempo real;

Ser capaz de desviar de obstculos;

Aumentar a rea de alcance do manipulador;

Testar seus movimentos.

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

atualmente empregados. Para o desvio de obstculos, bastante interessante o uso de


agentes inteligentes, pois so vrias as tarefas que sero executadas em um determinado
espao de tempo, o uso de agentes distribui e executa as tarefas de uma forma organizada.
A Lgica Fuzzy sendo utilizada em cada um dos agentes ser importante na
otimizao do posicionamento do brao em cada jogada a ser realizada.
As idias aqui propostas podem ser utilizadas em outras aplicaes semelhantes ao
movimento de peas no tabuleiro de xadrez, por exemplo, na manipulao de ampolas em
laboratrios de anlises bioqumicas.

1.4 Estrutura da dissertao


Esta dissertao est organizada em seis captulos e 2 apndices.
No Captulo 2 apresenta-se uma breve descrio da Robtica, desde seus
fundamentos, classificao geral e configurao de robs. No mesmo captulo define-se os
manipuladores robticos, sistemas de acionamentos, e comenta-se a utilizao dos robs no
setor industrial.
No Captulo 3 apresenta-se uma sucinta explanao de Agentes Inteligentes. So
feitas definies, caractersticas gerais, tipos de ambiente onde os Agentes atuam, e as
arquiteturas de agentes.
Apresenta-se no Captulo 4 um breve estudo sobre a Lgica Fuzzy, descrevendo-se
os seus fundamentos e destacando-se a definio de conjuntos fuzzy e a sua normalizao.
Apresenta-se tambm as principais operaes com conjuntos fuzzy, a expresso fuzzy e de
sistema de controle fuzzy. Finaliza-se o captulo com um estudo de utilizao desta lgica.
Finalmente, apresenta-se no Captulo 5 o sistema de controle utilizando agentes
inteligentes (MAUTOXAD). Descreve-se brevemente o ROBOXAD que a base de teste
do sistema, o sistema AUTOXAD e apresenta-se em detalhes a descrio do
MAUTOXAD, apresentando seus agentes e sua implementao. Seu funcionamento
ilustrado atravs de alguns exemplos de movimentos (jogadas).
Conclui-se a dissertao no captulo 6, no qual feita uma anlise das principais
4

vantagens obtidas com a utilizao do agente inteligente e dificuldades encontradas.


Encerra-se a concluso com a apresentao de algumas sugestes para trabalhos futuros.
No Apndice A, apresenta-se um breve resumo sobre motores de passos, como
funcionam, principais caractersticas, os diferentes tipos de motores, suas aplicaes, e
algumas vantagens e desvantagens desses motores.
No Apndice B, apresenta-se um breve resumo sobre a interface controladora dos
motores de passos.

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.2 O Que Robtica ?


Podemos definir como robtica o controle de mecanismos electro-electrnicos
atravs de um computador, transformando-o em uma mquina capaz de interagir com o
meio ambiente e executar aes decididas por um programa criado pelo programador a
partir destas interaes.[AMI93]
Podemos exemplificar o uso da robtica em diversas reas de conhecimento. Na
engenharia temos os robs que mergulham a grandes profundidades para auxiliar em
reparos nas plataformas de petrleo; na medicina, os robs j auxiliam as cirurgias de alto
risco. Outras aplicaes podem ser menos percebidas, tal como a impressora que tambm
um rob.[SAL90]

2.3 Classificao Geral dos Robs


Existem diversas classes de robs que se diferenciam em suas aplicaes e formas
de trabalhar, possuindo diferentes caractersticas e propriedades. Os robs podem ser
classificados por tipo. Os quatro tipos principais de robs so relacionados a seguir:
[SAL90]
1. Robs Inteligentes: so manipulados por sistemas multifuncionais controlados
por computadores, so capazes de interagir com seu ambiente atravs de
sensores e de tomar decises em tempo real. Atualmente dedica-se grande
esforo no desenvolvimento desse tipo de rob.
2. Robs com controle por computador: so semelhantes aos robs inteligentes,
porm no tem a capacidade de interagir com o ambiente. Se estes robs forem
equipados com sensores e programas computacionais adequado, podem se
transformarem em robs inteligentes.
3. Robs de aprendizagem: limitam-se a repetir uma seqncia de movimentos,
realizados com a interveno de um operador ou memorizados.
4. Manipuladores: so sistemas mecnicos multifuncionais, cujo sensvel sistema
de controle permite governar o movimento de seus membros das seguintes
formas:
a) manual, quando o operador controla diretamente os movimentos;
b) de seqncia varivel, quando possvel alterar algumas das
caractersticas do ciclo de trabalho.

2.4 Configurao de um Rob


Existem quatro configuraes bsicas de robs: Cartesiano, Cilndrico, Polar e
Articulado. Estas configuraes esto ilustradas no diagrama da Figura 2.1 [SPO89].
Robs polares, possuem duas juntas rotacionais e uma junta prismtica. (ver Figura

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

Figura 2.1 - As quatro anatomias bsicas do rob

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

2.5 Manipulador Robtico


Os manipuladores robticos possuem trs partes principais: uma base fixa, um brao
articulado, e uma unidade de controle. Os manipuladores robticos so freqentemente
descritos como tendo um certo nmero de graus de liberdade, que o nmero de variveis
que podem ser modificadas de modo a alterar sua posio.

2.5.1 Base Fixa


A base fixa consiste normalmente em um pedestal preso ao cho, mas que tambm
pode estar presa s paredes ou ao teto, ou montada em outra mquina ou mesmo sobre uma
plataforma mvel.

2.5.2 Brao Articulado


O brao articulado formado por vrias partes: elos, juntas, atuadores de juntas,
sensores de posio de juntas, punho e rgo terminal (a mo do rob).
- Elos so as partes rgidas de um brao de rob, comparveis aos ossos do brao de
uma pessoa.
- Juntas so as partes do brao de um rob que permitem uma conexo mvel entre
dois elos. As juntas podem ser de dois tipos: deslizantes e rotativas. As juntas deslizantes
movem-se em linha reta, sem girar. As juntas rotativas giram em torno de uma linha
imaginria estacionria chamada eixo de rotao.
- Um atuador uma verso mecnica de um msculo. Ele produz movimento
quando recebe um sinal de entrada. Atuadores so chamados rotacionais ou lineares,
dependendo se eles produzem um movimento giratrio ou em linha reta. Os trs principais
tipos de atuadores so: eletromecnicos (acionados por motores eltricos), hidrulicos
(acionados por lquidos comprimidos) e pneumticos (acionados por gases comprimidos).
- Os sensores de posio de juntas so freqentemente chamados codificadores
rotacionais ou lineares, porque codificam informaes sobre as posies das juntas em uma

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.

2.5.3 Unidade de Controle


A unidade de controle representa o "crebro" do rob. Ela recebe sinais de entrada
dos sensores do rob e transmite sinais de sada para os atuadores do rob. H dois tipos de
sistemas de controle de robs: malha aberta e malha fechada. No sistema de malha fechada,
depois que o controlador envia sinais ao atuador para mover o manipulador, um sensor no
manipulador retorna um sinal ao controlador, fechando a malha controlador-atuadormanipulador-sensor-controlador. A Figura 2.2 mostra um esquema de controle do tipo
malha fechada.

Brao e garra
do rob

Sensores de
posio de juntas

Atuadores de
juntas

Controlador

Figura 2.2 - Controle em Malha Fechada.

No esquema do tipo malha aberta da Figura 2.3, no h sensor medindo como o


manipulador realmente se moveu em resposta aos sinais enviados para os atuadores, e
consequentemente no h sinais de realimentao do manipulador para o controlador. A
11

malha de controle aberta, indo do controlador para o atuador e deste para o


manipulador. Portanto no h maneira de se saber a posio atual do manipulador. Tudo o
que se sabe onde ele deveria estar e no se ele realmente alcanou o alvo.

Brao e garra
do rob.

Produz movimento
Atuadores de
junta

Controlador
Sinais de comando

Figura 2.3 - Controle em Malha Aberta.

2.6 Sistemas de acionamento de robs


A capacidade do rob de mover o seu corpo, brao e punho determinada pelo
sistema utilizado para aciona-lo. O sistema de acionamento determina a velocidade dos
movimentos do brao, a fora do rob e seu desempenho dinmico. Em certa medida, o
sistema de acionamento determina os tipos de aplicao que o rob pode realizar.
Os tipos de sistemas de acionamento podem ser divididos em:

2.6.1 Acionamento Hidrulico


O uso de acionamento hidrulico geralmente associado a robs de maior porte. Os
robs hidrulicos foram a fonte original de fora nos primeiros robs [AMI93]. Este
sistema propicia ao rob maior velocidade e fora; porm, ele se soma ao espao til do
piso requerido pelo rob. O sistema de acionamento hidrulico pode ser projetado para
acionar juntas rotacionais ou lineares. Acionadores de ps ou aletas rotativas podem ser
utilizados para suprir movimento rotacional, e os pistes hidrulicos podem ser utilizados

12

para realizarem movimento linear.


Um exemplo de rob hidrulico o HYD-2800 ilustrado na Figura 2.4. um rob
hidrulico utilizado em laboratrios por estudantes para simular uma aplicao industrial na
vida real. Os robs hidrulicos tendem a vazar leo, o que um inconveniente.

Figura 2.4 - Rob hidrulico. HYD - 2800

2.6.2 Acionamento Eltrico


O acionamentos eltrico geralmente no propicia tanta velocidade ou potncia
quanto os sistemas hidrulicos. Todavia, a preciso e repetibilidade dos robs de
acionamento eltrico so geralmente melhores. Conseqentemente, os robs eltricos
tendem a ser menores, requerendo menos espao til no piso, e suas aplicaes tendem para
um trabalho mais preciso como, por exemplo, montagem.
Os robs de acionamento eltrico so acionados por motores de passo ou servo
motores de corrente contnua. Estes motores so adequados idealmente para o acionamento
de juntas rotacionais atravs de sistemas de eixos e engrenagens de acionamento.
Os motores eltricos podem tambm ser utilizados para acionar juntas lineares (por
exemplo, braos telescpicos) por meio de sistemas de polia ou por outros mecanismos
13

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.

Figura 2.5 - Rob eltrico. S400

2.6.3 Acionamento Pneumtico


Este tipo de acionamento geralmente reservado para robs de menor porte com
poucos graus de liberdade (movimentos de duas a quatro juntas). Estes robs esto
freqentemente limitados a simples operaes de "pega-e-pe" com ciclos rpidos. O
acionamento pneumtico pode ser facilmente adaptado ao acionamento de pisto, para
suprir movimento de translao das juntas de deslizamento. Pode tambm ser utilizado para
operar rgos terminais rotacionais para juntas rotacionais.
Na Figura 2.6 est ilustrado o rob BOADICEA. Ele um tipo de rob pneumtico.
O BOADICEA possui seis pernas, sua estrutura mecnica foi construda com fibra de
carbono, tubos de alumnio e tubos de plstico de injeo.

14

Figura 2.6 - Rob pneumtico. BOADICEA

2.7 Aplicao Robtica na Indstria


Na poca em que foram lanados no mercado, na dcada de 1960, os robs eram
caros e acessveis a pouqussimas empresas existentes em pases mais desenvolvidos,
principalmente no Japo e nos Estados Unidos. No entanto, a partir de 1976 os seus preos
comearam a baixar de uma forma acelerada.
O grande responsvel por esta brutal reduo de custos que ocorreu na informtica e
na robtica, foi a microeletrnica. Com o avano desta disciplina, por exemplo, foi possvel
colocar toda a capacidade do ENIAC, o primeiro computador construdo vlvula e
desenvolvido em 1950, em uma pastilha de silcio de menos de 0,5 cm2 . Ressaltando que
isso se consegue com velocidade de processamento muito superior e a um custo
infinitamente menor.
Desta forma, os microprocessadores, influenciaram diretamente a capacidade de
todas as mquinas industriais, tendo impacto decisivo nas tecnologias associadas robtica,
permitindo que a capacidade de processamento de informaes se multiplicasse de forma
estrondosa, alm de baratear o custo dos robs, tornado-os mais acessveis.
Este crescimento de tecnologia relacionados a robtica gerou grandes benefcios. A
automao possibilita grandes incrementos na produtividade do trabalho, possibilitando que
as necessidades bsicas da populao possam ser atendidas. Alm de aumentar a produo,
os equipamentos automatizados possibilitam uma melhora na qualidade do produto,
15

uniformizando a produo, eliminando perdas e refugos.


A automao tambm permite a eliminao de tempos mortos, ou seja, permite a
existncia de "operrios" que trabalhem 24 horas por dia sem reclamarem, o que leva a um
grande crescimento na rentabilidade dos investimentos.
A microeletrnica flexibiliza o processo de fabricao, ou seja, permite que os
produtos sejam produzidos conforme as tendncias do mercado, evitando que se produzam
estoques de produtos invendveis.
As caractersticas citadas acima, mostram que a microeletrnica, possibilita que no
haja nem escassez nem desperdcio, com melhor qualidade de vida e de produo, aliada a
um menor esforo. Sem dvida a automao industrial foi e um grande impulsionador da
tecnologia de robtica.
Cada vez mais tem se procurado aperfeioar os dispositivos, dotando-os com
inteligncia para executar as tarefas necessrias. Por exemplo, usando Redes Neurais
procura-se a linearizao de acionamentos eletromecnicos; com Lgica Fuzzy pode-se
fazer o planejamento de trajetria para robs redundantes; ou utilizando Sistemas
Especialistas possvel a deteco de vazamento de gua a partir da aquisio remota de
consumo.
Fala-se em evoluo dos robs, mas no se pode esquecer dos impactos sociais que
eles podem causar a sociedade. E quando se fala em impactos causados pela robtica o
primeiro fator que nos vem a cabea o desemprego.
As transformaes que ocorrem, causadas pelo advento dos robs, muitas vezes
podem no estar visveis para grande parte das pessoas que no convivem no ambiente
fabril, contudo a ascenso da robtica nas fbricas faz parte da mesma tendncia que vem
determinando, nos ltimos anos, a crescente automatizao dos bancos, do comrcio e das
empresas em geral, causados pelo advento da informtica.
No que se refere ao meio fabril pode-se observar dois lados de uma moeda: Por um
lado, as indstrias recrutam robs e computadores. Elas so guiadas por uma necessidade
crucial para sobrevivncia no mercado de forma a conquistar maior produtividade e
qualidade para seus produtos de forma barata e assim assegurar competitividade frente aos
16

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

Figura 3.1 - Interao de Agentes com o Ambiente Atravs de Sensores e Reagentes

Todas as propriedades que um agente apresenta devem estar implcitas em sua


arquitetura. A arquitetura de um agente pode ser definida como uma metodologia particular
para definir agentes ou simplesmente como a poro de um sistema que prov e gerencia
recursos de um agente.
A escolha por uma determinada arquitetura freqentemente feita seguindo alguma
declarao metodolgica explcita, freqentemente direcionada para o domnio e ambiente
no qual a arquitetura ser usada. A seguir apresentam-se algumas definies de arquiteturas
de agentes :
uma metodologia particular para a construo de agentes. Ela especifica como o
agente pode ser decomposto na construo de um conjunto de mdulos componentes e
como esses mdulos devem ser construdos para interagir. O conjunto total de mdulos e
suas interaes tm que fornecer uma resposta a questo de como o sensor de dados e o
estado interno atual do agente determinam suas aes. Uma arquitetura abrange tcnicas e
algoritmos que suportam essa metodologia. [MAE91]
uma coleo especfica de mdulos de programas computacionais (ou
computadores), tipicamente designado por caixas com setas indicando o controle e fluxo de
dados entre os mdulos. Uma viso abstrata de uma arquitetura como uma metodologia
para desenhar decomposies particulares para tarefas particulares. [WOO94]

20

3.2.2 Caractersticas Gerais de Agentes Inteligentes


Alguns atributos que caracterizam os agentes so os seguintes:
Autonomia: autonomia a capacidade do agente executar o controle sobre suas
prprias aes [FRA96]. Nissen [NIS95] relaciona o controle somente ao usurio final
quando define que, um agente inteligente deve possuir a habilidade de praticar aes para
desenvolver tarefas ou alcanar objetivos, sem necessitar da interferncia do usurio final.
Wooldringe e Jennings [WOO94] acrescentam que o agente, alm de possuir controle sobre
seu comportamento, deve tambm possuir controle sobre seu estado interno.
Mobilidade: a caracterstica de mobilidade especificada por Franklin e Graesser
[FRA96] como a capacidade do agente de transportar-se de uma mquina outra.
Comunicabilidade: segundo Franklin e Graesser [FRA96], a comunicabilidade a
capacidade do agente de comunicar-se com os outros agentes ou pessoas.
Inteligncia: Auer [AUE95] identifica a inteligncia como a propriedade de um
agente que o habilita a negociar efetivamente com ambigidades. Durante o processo de
determinao da ao mais adequada situao, o agente defronta-se com ambigidades
nos mais diversos nveis. Neste contexto, a inteligncia pode ser considerada como um
conjunto de recursos, atributos e caractersticas que habilitam o agente a decidir que aes
executar.
Reatividade: Wooldridge e Jennings [WOO94] definem reatividade como sendo a
propriedade que permite aos agentes perceberem seus ambientes e responderem
adequadamente s mudanas neles ocorridas.
Habilidade Social: Paraiso [PAR96] descreve esta caracterstica como a habilidade
que os agentes possuem de interagir com os outros agentes ou pessoas, no momento
adequado, para concluir suas tarefas ou ajudar outros agentes.
Flexibilidade: tendo em vista as funes executadas, a flexibilidade fundamental,
visto que no so preestabelecidos roteiros para o desenvolvimento de suas atividades
Franklin e Graesser [FRA96]. Auer [AUE95] complementa afirmando que a flexibilidade
21

reside na habilidade dos agentes de escolher dinamicamente as aes e a seqncia de


execuo das mesmas, em resposta a um estado do ambiente.
Cooperatividade: Gilbert e Manny [GIL96] afirma que cooperatividade a
capacidade dos agentes inteligentes trabalharem juntos para conclurem tarefas mutuamente
benficas e complexas. Para tanto, os agentes devem possuir "esprito de colaborao" a
fim de criarem e obterem xito nos sistemas orientados a agentes.
Comportamento adaptativo: a capacidade do agente de modificar seu
comportamento em funo de experincias anteriores chamada por Franklin e graesser
[FRA96] de Comportamento Adaptativo. Segundo Gilbert e Manny [GIL96], os agentes
devem ser capazes de examinar o ambiente externo bem como os procedimentos efetuados
anteriormente sob condies similares, e adaptar ento suas aes, objetivando aumentar a
probabilidade de alcanarem seus objetivos.
Aprendizagem: Belgrave [BEL95] relaciona as propriedades de aprendizado e
comportamento adaptativo e as define como, a habilidade apresentada pelo agente de
acumular conhecimento baseado em experincias anteriores, e consequentemente,
modificar seu comportamento em resposta novas situaes. Segundo Auer [AUE95],
aprendizagem a capacidade que um agente deve possuir para executar uma tarefa com
maior eficincia do que em execues anteriores. Sem a capacidade de aprendizagem o
agente reagir sempre da mesma maneira para um mesmo ambiente e uma mesma situao.
Coerncia: Lemon [LEM96] define coerncia como sendo a propriedade que o
agente possui de resolver conflitos entre objetivos concorrentes ou conflitantes. O Agente
dito coerente se mantm um comportamento ntegro, mesmo quando inserido em situaes
ambientais que indiquem a possibilidade de diferentes respostas adequadas.
Planejamento: Belgrave [BEL95] afirma que planejamento a habilidade do
agente de sintetizar e escolher diferentes cursos de aes, com o propsito de alcanar seus
objetivos.

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

com a incerteza em um ambiente acessvel e determinstico.


Se o ambiente inacessvel, ele pode parecer no determinstico. Isso se torna
particularmente verdade se o ambiente complexo, tornando-se difcil controlar todos os
aspectos no acessveis. Assim, sempre melhor pensar num ambiente como determinstico
ou no determinstico do ponto de vista do agente.
Episdico versus no episdico Num ambiente episdico, a experincia do
agente est dividida em episdios. Cada episdio consiste na percepo e conseqente
ao do agente. A qualidade da ao depende apenas do episdio em si, porque episdios
subsequentes no dependem de que aes ocorram em episdios anteriores. Ambientes
episdicos so muito mais simples porque os agentes no precisam pensar adiante.
Esttico versus dinmico Se o ambiente pode mudar enquanto o agente estiver
atuando, ento dizemos que o ambiente dinmico para o agente, do contrrio ele
esttico. Ambientes estticos so fceis de se tratar porque o agente no precisa ficar
observando o mundo enquanto toma uma deciso sobre uma ao, nem precisa se
preocupar com a passagem do tempo.
Se o ambiente no muda com o passar do tempo, mas a medida de desempenho do
agente sim, dizemos que este ambiente semidinmico.
Discreto versus contnuo Se existe um nmero distinto, definido claramente de
estmulos e aes, dizemos que o ambiente discreto. Xadrez discreto existe um
nmero fixo de movimentos possveis a cada jogada. Dirigir um txi contnuo a
velocidade e distncia entre outros veculos variam entre uma faixa de valores contnuos.

3.2.4 Arquitetura de um agente


Outro aspecto importante num agente a sua arquitetura interna. A arquitetura
interna de um agente est associada prpria definio e mecanismos de deciso do agente
que determinam e influenciam a sua atuao.
As arquiteturas dos agentes podem ser divididas em cognitivas, reativas e hbridas
[WOO96].
24

3.2.4.1

Arquiteturas cognitivas

Os agentes cognitivos j tm conhecimento do estado do mundo onde esto


inseridos; tm metas prprias a atingir. Estes agentes baseiam-se nesse conhecimento para
decidirem que aes vo realizar, isto , estes agentes tm controle sobre o seu prprio
comportamento e no se limitam a reagir a estmulos exteriores.
Possuem uma representao simblica de si prprios (as suas capacidades e os seus
objetivos), bem como dos outros agentes e do estado do mundo, o que lhes permite
operando sobre essas representaes, deduzir aes a tomar no sentido de maximizar uma
utilidade.
No contexto de um Sistema Multi-Agente, os agentes sabem que esto inseridos
numa comunidade de agentes, em que especificamente cada um deles tem objetivos e
capacidades prprias diferentes (ou no), mas todos cooperam entre si, na tentativa de
alcanarem a resoluo de um determinado problema.
Os agentes tm uma racionalidade social visto que, estando inseridos numa
comunidade, podem ter para alm de objetivos principais, outros objetivos de resoluo de
um problema global.
Eles tambm tm uma racionalidade individual uma vez que possuem
conhecimentos especifico-se e objetivos individuais a atingirem que no beneficiam o resto
da comunidade. Um agente pode possuir diferentes estruturas de conhecimento como fatos,
crenas, objetivos ou intenes, preferncias, motivos, desejos, etc.
Normalmente um agente adquire novos fatos ou crenas, como resultado do envio
de mensagens de outros agentes ou, atravs de modificaes do ambiente onde ele est
inserido. Os agentes no s executam aes, como resultado das percepes, mas tambm
essas aes podem ser o resultado dos objetivos por ele estabelecidos.
Segundo Demazeau [DEM95] a arquitetura do agente cognitivo possui:
conhecimento, percepo, comunicao, raciocnio e deciso ( Figura 3.2).
Um exemplo da arquitetura cognitiva a arquitetura Funcional [OLI96]. Nas
arquiteturas funcionais o agente dividido em mdulos que implementam as
25

funcionalidades consideradas necessrias a sua operao.

Figura 3.2 - Arquitetura Funcionais

3.2.4.2

Arquiteturas Reativas

Os modelos reativos encontram-se no lado oposto dos agentes cognitivos. O seu


mecanismo de "inferncia" simplificado ao mximo e especializado na resposta a
determinados "estmulos" do contexto. Rodney Brooks [BRO91], um defensor desta
abordagem sintetiza o apoio abordagem reativa:

melhor modelo do mundo o prprio mundo.

comportamentos inteligentes emergem da dinmica das interaes do agente


com contexto.

Assim, a nfase colocada no na definio de modelos abstratos do mundo, mas


em definir capacidades simples e teis para os agentes. A arquitetura baseia-se no
comportamento realizao e tarefas, como mecanismos simples de reao dos agentes
[WOO95].
A base desta viso que se espera que pela conjugao destas reaes e interaes
com o exterior possam nascer "abordagens" inteligentes por parte dos agentes. No mbito
deste tipo de arquiteturas surgiu uma corrente que introduz a noo de comportamento.
A noo de comportamento pode ser vista como um mecanismo de controle que
permite alcanar ou manter dado objetivo ao nvel do agente. Os comportamentos podem
26

envolver a conjugao de vrias reaes dos agentes na sua definio.


Nesta linha lgica, Brooks [BRO91] sugere uma arquitetura de suposio, como
base para a organizao funcional dos comportamentos. A idia base que inerente a dado
agente reativo est associado um esquema de combinao dos comportamentos que permite
descrever prioridades, aes conjuntas, etc (Figura 3.3).
Comportamento 1
Comportamento 2
...
Percepo

Comportamento n

Figura 3.3 - Arquitetura de suposio

No extremo das abordagens reativas esto as abordagens puramente reativas


(conhecidas tambm por reflexivas) onde a idia base consiste em um agente possuir um
conjunto de aes pr-programadas com as quais reage a estmulos bem definidos, sem
qualquer mecanismo de "anlise" ( semelhana dos reflexos humanos).

3.2.4.3

Arquiteturas Hbridas

Os modelos hbridos estruturam-se em nveis [WOO96]. Nvel

essencialmente

reativo e nvel mais cognitivo (planejamento e "inferncia" sobre os conhecimentos de


contexto).
A idia bsica que as tarefas que asseguram a sobrevivncia do agente tm uma
estrutura mais reativa e todo mecanismo cognitivo est encarregado de delinear as
estratgias para alcanar os objetivos do agente.
A arquitetura hbrida mistura componentes das arquiteturas deliberativas e reativas
com o objetivo de torn-la mais adequada e funcional para a construo de agentes. Nesse
caso, os agentes so dotados de comportamento reativo com relao aos eventos que
ocorrem no ambiente e comportamento deliberativo onde existe uma definio simblica
do mundo para a tomada de decises.

27

Exemplo da arquitetura hbrida a arquitetura Touring machines (Figura 3.4)


formada por trs camadas alm do subsistema de percepo e ao que agem diretamente
com o ambiente do agente. As camadas so as seguintes: reativa, de planejamento e de
modelagem. [WOO95]

Figura 3.4 - Arquitetura Touring machines

A camada reativa implementada com um conjunto de regras de situao-ao,


onde a partir dos eventos que ocorrem no ambiente executam-se aes potenciais.
A camada de planejamento constri planos e seleciona aes para executar, a fim de
alcanar os objetivos do agente. Possui dois componentes, o planejador e o mecanismo de
foco de ateno.
O primeiro integra a gerao e execuo dos planos e usa uma biblioteca de planos
juntamente com um mapa ou viso do mundo, a fim de construir planos que executaro na
busca dos objetivos do agente.
O ltimo tem o papel de limitar a quantidade exagerada de informaes para o
planejador, fazendo com que o mesmo possa tratar somente as informaes que lhe
competem.
Por fim, a camada de modelagem, contm modelos ou representaes dos estados
cognitivos de outras entidades no ambiente dos agentes. Esses modelos so manipulados
para identificar conflitos nos objetivos em virtude do aparecimento de uma interferncia
28

quando o agente os est percorrendo.

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

Na verdade, entre a certeza de ser e a certeza de no ser, existem infinitos graus de


incerteza [BEZ94]. Esta imperfeio intrnseca informao representada numa linguagem
natural tem sido tratada matematicamente no passado com o uso da teoria das
probabilidades. Contudo, a lgica fuzzy, com base na teoria dos conjuntos fuzzy, tem se
mostrado mais adequada para tratar imperfeies da informao do que a teoria das
probabilidades[BEZ94].
De forma mais objetiva e preliminar, podemos definir lgica fuzzy como sendo uma
ferramenta capaz de capturar informaes vagas, em geral descritas em uma linguagem
natural, e convert-las para um formato numrico, de fcil manipulao pelos
computadores de hoje em dia. Considere a seguinte afirmativa: se o tempo de um
investimento longo e o sistema financeiro tem sido no muito estvel, ento a taxa de
risco do investimento muito alta. Os termos "longo", "no muito estvel" e "muito alta"
trazem consigo informaes vagas. A extrao (representao) destas informaes vagas se
d atravs do uso de conjuntos fuzzy.
Devido a esta propriedade e a capacidade de realizar inferncias, a lgica fuzzy tem
encontrado grandes aplicaes nas reas: sistemas especialistas, computao com palavras,
raciocnio aproximado, linguagem natural, controle de processos, robtica, modelamento de
sistemas parcialmente aberto, reconhecimento de padres, processos de tomada de deciso.
O conceito de conjunto Fuzzy foi introduzido, em 1965, por Lotfi A. Zadeh da
Universidade da Califrnia, Berkeley [ZAD65]. No meio da dcada de 60 do sculo XX,
Zadeh observou que os recursos tecnolgicos disponveis eram incapazes de automatizar as
atividades relacionadas a problemas de natureza industrial, biolgica ou qumica, que
compreendessem situaes ambguas, no passveis de processamento atravs da lgica
computacional fundamentada na lgica booleana. Procurando solucionar esses problemas o
Professor Zadeh publicou em 1965 um artigo resumindo os conceitos dos conjuntos Fuzzy,
revolucionando o assunto com a criao de sistemas Fuzzy.
Uma representao grfica convencional de valores na lgica fuzzy ilustrada na
Figura 4.1, em que a altura das pessoas representada na abscissa e trs funes (baixo,
mediano e alto) representam a classificao das pessoas quanto altura.

31

baixo

mediano

alto

1,70

1,80

0
1,60 1,64

Altura

Figura 4.1 - Representao de valores na lgica fuzzy.

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.

4.2 Fundamentos da Lgica Fuzzy


A lgica fuzzy foi proposta por Lotfi A. Zadeh em 1965 como uma matemtica que
podia representar as incertezas do cotidiano [BEZ94]; basicamente uma linguagem que
serve para descrever e analisar dependncias imprecisas [ZAD94]. Diante dos problemas da
lgica booleana e dos recursos oferecidos pela lgica fuzzy, muitos pesquisadores passaram
a utiliz-la como ferramenta para o desenvolvimento de sistemas inteligentes. Atualmente,
h uma grande variedade de pesquisas envolvendo a lgica fuzzy.
Na teoria clssica dos conjuntos um elemento do universo de discurso (domnio)
pertencente ou no ao referido conjunto, assume valores 0 ou 1[KLI88]. Na teoria dos
conjuntos fuzzy existe um grau de pertinncia de cada elemento que pode assumir qualquer
32

valor dentro do intervalo [0,1][KLI88].


O valor 1 representa completa pertinncia e o valor 0 indica uma completa excluso.
Essa generalizao aumenta significativamente o poder de expresso da funo
caracterstica, onde esta funo, diz o grau de pertinncia A(x) de um elemento x
pertencente a um universo U com respeito a um conjunto A, onde A U.
Assim, se Y uma varivel que toma valores num universo U, ento, a distribuio
de possibilidades associada com Y pode ser vista como uma condio elstica nos valores
que podem ser atribudos a Y. Por exemplo, se F um subconjunto fuzzy de U
caracterizado pela funo de pertinncia f:U[0,1], ento a declarao Y F
traduzida numa distribuio de possibilidade para Y sendo igual a F. Ento pode-se dizer
que o conjunto fuzzy A definido como o par ordenado A={x, A(x)}[KLI88], Onde x
X e 0A(x)1. A funo de pertinncia A(x) descreve o grau a que o objeto x pertence
ao conjunto A. Quando A(x)=0, representa nenhuma pertinncia e A(x)=1, representa
pertinncia total.
Por exemplo, seja X a representao da altura de uma pessoa. O subconjunto A de X
que representa as pessoas baixas (A(x)) o conjunto fuzzy com a funo de pertinncia
mostrada na Figura 4.2. Observe que A(x)1 para pessoas com at 1,60m de altura. A
partir de 1,60m, A(x) comea a decrescer. Para X=1,60m, A(x)1.

A(x)

B(x)

1,60 1,65

1,70

0
x

Figura 4.2 - Funo de pertinncia

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)

Figura 4.3 - Representao grfica da operao complemento.

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

Figura 4.4 - Representao grfica da operao unio.

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

Figura 4.5 - Representao grfica da operao interseo.

4.4 Expresso Fuzzy do Conhecimento


Para expressar conceito muito comum o uso de elementos qualitativos ao invs de
valores quantitativos [GOM 94]. Elementos tpicos incluem mais ou menos, alto, no
muito, mdio, entre outros.
Estas idias so ditas pela definio de varivel lingstica. Uma varivel lingstica
tem por caracterstica assumir valores dentro de um conjunto de termos lingsticos, ou
seja, palavras ou frases [SAL97].
Uma varivel lingstica altura poder assumir um dos membros do conjunto
{muito alto, alto, mdio, mdio alto, baixo, muito baixo}. Para se atribuir um significado
aos termos lingsticos, associa-se a cada um deles um conjunto fuzzy definido sobre um
universo de discurso comum.
Uma das formas mais comuns de se expressar o conhecimento por meio de regras
do tipo condio-ao. Exemplificando, um conjunto de condies que descrevem uma
parcela observvel das sadas do processo, associado a uma ao de controle que ir
manter ou elevar o processo s condies de operaes desejadas.
A idia aqui representar o conhecimento por meio de um conjunto de regras nas
quais as condies so dadas a partir de um conjunto de termos lingsticos associados a
variveis de entrada/sada do processo (as quais so entradas do controlador).
As aes de controle ou as sadas so expressas de modo similar para cada varivel
de controle (sada). Regras do tipo se-ento-seno so freqentemente chamadas de regras
de controle fuzzy.
36

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.

4.5 Sistemas de Controle Fuzzy


O controle fuzzy no necessita da modelagem do processo, e sim, da modelagem
das aes a partir de um conhecimento de um especialista. Essa , portanto, uma
abordagem diferente dos mtodos convencionais de controle de processos [AST89], pois os
mesmos so desenvolvidos via modelagem matemtica dos processos de modo a derivar as
aes de controle como funo do estado do processo. A estrutura bsica de um controlador
fuzzy esta ilustrado na Figura 4.6.

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

Figura 4.6 - Sistema de Controle Fuzzy.

O ncleo do controlador s analisa variveis fuzzy. As informaes tm que ser


transformadas na forma fuzzy ou fuzzyficadas (transformadas em conjuntos fuzzy). A
interface de fuzzyficao recebe os valores das variveis de entrada (vindo dos
37

sensores), faz um escalonamento para dimensionar os valores a universos discursos


normalizados e fuzzyfica os valores ( transformando nmeros em conjuntos fuzzy), para
torn-los instncias de variveis lingsticas. A base de conhecimento consiste de um
conjunto de regras que caracterizam as estratgias de controle e seus objetivos. A base de
dados armazena as informaes necessrias sobre as discretizaes, as normalizaes dos
universos de discurso, as parties fuzzy dos espaos de entrada e sada e as definies das
funes de pertinncia.
O procedimento de inferncia atua sobre os dados fuzzy de entrada, juntamente com
as regras, para inferir as aes de controle fuzzy, usando o operador de implicao fuzzy e
as regras de inferncia da lgica fuzzy. A inferncia de defuzzyficao atua sobre as
aes de controle fuzzy inferidas, transformando-as em aes de controle no fuzzy,
efetuando, em seguida, um escalonamento para compatibilizar os valores normalizados
vindos do passo anterior com os valores dos universos de discursos reais das variveis
[GUP96].
Deve-se determinar uma ao de controle no-fuzzy para ser enviada ao controlador
logo aps se inferir a ao de controle fuzzy. A ao de controle no-fuzzy escolhida deve
ser a que represente melhor a deciso fuzzy. No h nenhum procedimento sistemtico para
escolher a estratgia de defuzzyficao.
As estratgias mais comuns so: o critrio do mximo (MAX), o qual escolhe o
ponto onde a funo inferida tem o seu mximo; a mdia dos mximos (MDM), representa
o valor mdio entre todos os pontos de mximos se existir mais de um mximo; e o mtodo
de centro de rea (CDA) que retorna as coordenadas do centro da rea da funo inferida.

4.6 Utilizao da Lgica Fuzzy


A primeira aplicao da Lgica Fuzzy bem sucedida foi no desenvolvimento de
controladores industriais. Controladores que se baseiam na Lgica Fuzzy so chamados de
Controladores Fuzzy. No preciso conhecer muita matemtica ou em profundidade a
teoria de controle para se desenvolver uma aplicao em controle. Controladores fuzzy
tratam igualmente sistemas lineares e no lineares, alm de no requererem o modelo
matemtico do processo a ser controlado. Isto tem sido, sem dvida, o grande atrativo dos
38

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.

4.7 Perspectivas da Lgica Fuzzy


Diversas reas esto sendo beneficiadas pela tecnologia decorrente da Lgica
Fuzzy. Dentre essas reas podem ser citadas algumas que tiveram relevncia no avano
tecnolgico e que merecem destaque. O Controle de processos industriais foi a rea
pioneira, sendo as primeiras experincias datadas de 1975 quando foi demonstrado no
Queen College, em Londres, que um controlador Fuzzy muito simples conseguiu
controlar eficientemente uma mquina a vapor.
Nos ltimos anos o potencial de manuseio de incertezas e de controle de sistemas
complexos tornados possveis pela Lgica Fuzzy, esto sendo combinados com Redes
Neurais artificiais, que por sua vez, possuem caractersticas de adaptao e aprendizagem.
A palavra certa para isto simbiose (cooperao mtua entre pessoas ou grupos em
uma sociedade), que vem gerando novas classes de sistemas e de controladores neurofuzzy,
combinando desta forma os potenciais e as caractersticas individuais em sistemas
39

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

5.2 Descrio do ROBOXAD e do AUTOXAD


Observou-se que o ROBOXAD s conseguia movimentar peas de xadrez dentro de
um tabuleiro com trs linhas. Para aumentar essa rea de trabalho (para seis linhas), foi
adicionado um novo dispositivo, denominado trilho, que permite o movimento do tabuleiro
de xadrez de forma a aproxima-lo ou afasta-lo da base do ROBOXAD.
No ROBOXAD, apresentado na fotografia da Figura 5.1, cada componente tem uma
funo: o brao mecnico (que formado por trs elos) se posiciona sobre o tabuleiro, o
m (garra) se constitui do componente que tem a capacidade de pegar e soltar as peas de
xadrez, e o tabuleiro mvel cujo objetivo de expandir a capacidade de alcance do brao.
Um desenho esquemtico do ROBOXAD apresentado na Figura 5.2 onde so apontados
cada um de seus componentes.

M3

L2

L1
M2

L3

M1

L4 TRILHO
M4

Figura 5.1 - Foto do ROBOXAD

Figura 5.2 - Esquema do ROBOXAD

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].

Figura 5.3 - Eixo base

Figura 5.4 - Posio das estruturas

O AUTOXAD [FER99] um Sistema Inteligente que foi desenvolvido para o


posicionamento das peas de xadrez sobre o tabuleiro. Compe-se de uma BASE DE
CONHECIMENTO, onde esto armazenadas as informaes, em forma de regras, sobre a
localizao de todas as casas do tabuleiro de xadrez; um mdulo Fuzzy [ZAD88] que
permite a inferncia sobre as regras; e um mdulo ATUADOR encarregado do movimento
dos braos do rob (Figura 5.5).

BASE DE
CONHECIMENTO
(REGRAS DE CONTROLE E

SIMETRIA)

USURIO

AUTOXAD

ATUADOR

Figura 5.5 - Esquema bsico do SI

43

Analisando-se o tabuleiro de xadrez, pode-se observar a existncia de simetria entre


os lados da dama e do rei do tabuleiro. Por exemplo, se a garra do AUTOXAD estiver
posicionada sobre o ponto X (encontro das linhas tracejadas), como vemos na Figura 5.6, o
movimento para a coluna D simtrico ao movimento para a coluna R, pois o manipulador
utilizar apenas o motor M1 (da base) para deslocar a garra e posicion-la sobre uma das
duas colunas. Observa-se que todas colunas de um lado do tabuleiro possuem colunas
simtricas do outro lado.

4
3
X

2
1
TD CD BD D

BR

CR TR

eixo

Figura 5.6 - Casas simtricas na mesma linha

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.

SIMETRIA=0 //Varivel booleana que indica a simetria


if (posicionado) //Garra posicionada sobre uma casa
then
if(linha_fonte == linha_destino) //Casas fonte e destino na mesma linha
then
if(lado_fonte != lado_destino) //Lados da dama e do rei
then
if(coluna_fonte==coluna_destino || coluna_fonte==(R | D) || coluna_fonte==(D | R))
then SIMETRIA = 1

Quadro 5.1 - Quadro de regras de simetria


Quando no existe simetria os elos L2 e L3 do ROBOXAD devem ser movidos. Na
Figura 5.7 apresenta-se um desenho no plano cartesiano dos elos L2 e L3. O plano
cartesiano perpendicular ao eixo base do AUTOXAD. Observe-se que J2 est na origem
45

dos eixos X e Y. Considere-se que o brao L2 faz um ngulo 2 em relao ao eixo X e L3


faz um ngulo 3 em relao ao eixo X, e que a garra do brao L3 est sobre o eixo X. Na
Figura 5.7 os elos L2 e L3 possuem o mesmo comprimento.

L2

d=23

L3

L2

3
(a) L2 = L3

L3
3
L

Figura 5.7 - Posicionamento dos elos L2 e L3

Figura 5.8 - Movimento da garra sobre o plano

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)

Se os elos L2 e L3 possurem o mesmo comprimento, a partir da equao 5.4


obtm-se 3 = 2 . Se os comprimentos dos elos L2 e L3 forem diferentes, a partir da
equao 5.4, obtm-se a equao 5.5. A regra fuzzy mostrada na equao 5.6, utilizada no
Sistema Inteligente do AUTOXAD, ilustra a movimentao da garra sobre o eixo x quando
3 = 2 . A varivel booleana garra_sobre_eixo_X indica que a garra est
46

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)

if lado_fonte == lado_destino then = _destino - _fonte

(5.7)

then = _destino + _fonte

(5.8)

if lado_fonte != lado_destino

A Figura 5.9 ilustra a representao do posicionamento da garra do manipulador


sobre as posies fonte (2R) e destino (2CR). O primeiro passo do AUTOXAD verificar
se a garra est sobre a casa fonte e que a casa destino diferente da casa fonte. O segundo
passo do AUTOXAD verificar, utilizando as regras do quadro 5.1, se a posio_fonte=2R
simtrica em relao a posio_destino=2CR. Aps a confirmao de que as posies
fonte e destino no so simtricas, calcula-se a distncia a ser percorrida pelos elos L2
e L3 e o ngulo de rotao de L1 na direo da posio destino.

3x

5x

L1
2

L2

1
R
eixo

Figura 5.9 - Representao do posicionamento da garra nas posies 2R2CR.

47

Na tabela 5.1 apresentam-se os dados de posicionamento da casa fonte e os dados de


posicionamento da casa destino. Com esses dados pode-se calcular o deslocamento que
deve ser feito pelos elos L1, L2 e L3.
Posio

Fonte

15

Destino

15

10

Tabela 5.1 - Coordenadas das posies 2R e 2CR.

O clculo dos deslocamentos que devem ser feito pelos elos L2 e L3 feito com a
frmula

( R + y ) 2 + x 2 . Obtm-se como resultado: L1=21,09 cm e L2=23,26 cm. A

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)

Para posicionar a garra em L2 deve-se movimentar os elos L2 e L3, observe-se que


L2>L1, o que pode ser visto na projeo de L1 sobre L2. Define-se a projeo de L1 sobre
L2 como o ponto em que o crculo de raio L1 cruza a reta que passa sobre L2. A diferena
entre os dois raios (l =L2-L1) representa a distncia que os dois elos (L2 e L3) devem
percorrer sobre o eixo X (ver Figura 5.8).
De acordo com a regra da equao 5.6 para que a garra seja movida sobre o eixo X
os valores dos ngulos devem ser iguais. Na Figura 5.8 a posio fonte (ngulos 2 e 3, ou
) dos elos L2 e L3 esto representadas com linhas cheias e a posio destino (ngulos 2
e 3 ou ) destes elos esto representadas com linhas tracejadas. Observe-se que
l=2*L*(cos()-cos()). Conhecendo-se l calcula-se utilizando a equao 5.12.
cos()=cos()+L/2

(5.11)

=arccos[cos()+L/2]

(5.12)

A comunicao entre o software (AUTOXAD) e o hardware (ROBOXAD) feita


atravs de uma das portas paralelas do computador com a utilizao de uma placa de
interface controladora (Apndice B) que permite converter os nveis de corrente
extremamente baixos da porta paralela em sinais adequados para acionar os dispositivos de
potncia que alimentam os atuadores; em nosso caso os motores de passo (Apndice A).
A seguir ser apresentado o novo Sistema Inteligente (MAUTOXAD) desenvolvido
para o controle do brao robtico. O MAUTOXAD foi desenvolvido utilizando o conceito
de Agentes Inteligentes.

5.3 Sistema de Controle utilizando Agentes Inteligentes


A concepo de sistemas inteligentes baseados no conceito de agentes pode ser
orientada tanto para um agente, quanto para uma sociedade de agentes. Quando em
sociedade, os agentes lidam com conceitos como cooperao, competio e comunicao
para a realizao de uma tarefa. Um agente robtico utiliza, por exemplo, cmaras e raios
49

infravermelhos, como sensores e vrios motores como efetuadores.


Neste trabalho considerou-se o ambiente como sendo o tabuleiro de xadrez e os
efetuadores como os elos do rob (Figura 5.10).

MAUTOXAD
Percepes

Sensores

Agente
AMBIENTE
Aes
ROBOXAD

Efetuadores

Figura 5.10 - Representao de Agentes

O novo Sistema Inteligente implementado para o ROBOXAD, utiliza uma


Abordagem de Agentes, e denomina-se MAUTOXAD. O MAUTOXAD compe-se de um
Agente Mestre e diversos Agentes escravos.
O MAUTOXAD composto ao todo por seis agentes inteligentes, sendo um deles.
O Agente Mestre que controla os Agentes escravos, que so: Agente1 (base), Agente2
(brao), Agente3 (antebrao), Agente Tabuleiro (trilho) e Agente m (garra). Cada Agente
Escravo responsvel por um componente do sistema. Na Figura 5.11 apresenta-se um
esquema que ilustra as relaes entre os agentes, o ambiente ROBOXAD e o usurio.

50

Figura 5.11 - Relaes entre os componentes do MAUTOXAD

A seguir, ser feita uma descrio do Sistema MAUTOXAD: sua arquitetura, seus
agentes (funes e caractersticas) e as caractersticas do ambiente.

5.3.1 Descrio do MAUTOXAD


Para a construo dos agentes do sistema MAUTOXAD, foi adotada a arquitetura
de agentes reativa. De acordo com Oliveira [OLI96], as Arquiteturas Reativas so prprias
de agentes que possuem estrutura interna simples e interagem de forma limitada;
geralmente no possuem representao dos estados mentais; o desempenho da sociedade
resultado do nmero de agentes e da rapidez nas interaes (ver seo 3.2.4.2).

5.3.1.1

Os Agentes do MAUTOXAD

O Agente Mestre o agente principal do funcionamento do sistema (Figura 5.12).


Ele possui uma arquitetura reativa e tem a funo de receber do usurio a jogada
(deslocamento da pea de uma posio fonte para uma posio destino), comunicar-se com
os agentes informando a jogada, e receber deles as respectivas tarefas para a execuo da
mesma.

51

Lista de
Tarefas

Figura 5.12 - Esquema Geral do MAUTOXAD

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).

Regra fuzzy (1)


SIMETRIA=0 //Varivel booleana que indica a simetria
if (posicionado) //Garra posicionada sobre uma casa
then
if(linha_fonte == linha_destino) //Casas fonte e destino na mesma linha
then
if(lado_fonte != lado_destino) //Lados da dama e do rei
then
if(coluna_fonte==coluna_destino || coluna_fonte==(R | D) || coluna_fonte==(D | R))
then SIMETRIA = 1

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

Figura 5.13 - Funes de pertinncia

Regra (3): if 3fuzzy ==G(x) then aproxima=SIM


Regra (4): if 3fuzzy ==P (x) then afasta=SIM
O Agente Mestre recebe a seqncia determinada pelo agente e envia a jogada
54

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

Figura 5.14 - Estratgia IDENTIFICA

FONTE
SIM
DESTINO

SIMETRIA?

MOVE M1

GARRA

NO

SOLTA
A
PEA

MOVE
M2 E M3

Figura 5.15 - Estratgia MOVE

O MAUTOXAD pode ser considerado como um sistema orientado a tarefas, pois


esta a unidade bsica do sistema. Uma tarefa constituda por uma identificao, pelo
nmero de passos, por uma descrio e pelo nvel de satisfao. Os identificadores so os
seguintes:
TAREFA_AG1_DIREITA
57

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).

Figura 5.16 - Jogada Simples (S)

Jogada em L (L): o nosso sistema no trabalha com deslocamentos na diagonal,


portanto este tipo da jogada acontece quando a posio destino (D) no se encontra
alinhada posio fonte (F) nem em X, nem em Y. Neste caso o movimento executado ser
em L, ocorre um deslocamento de uma casa ou mais, dependendo da posio destino e
finaliza executando uma jogada do tipo simples (S) (Figura 5.17).

D
X

Figura 5.17 - Jogada em L (L)

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

Figura 5.19 - Jogada em C (C) em X

A verificao da ocorrncia de obstculo feita com as regras fuzzy (7)(8)(9) e


(10). Define-se linha fonte como Lf, coluna fonte como Cf, linha destino como Ld, coluna
destino Cd, coluna da pea extra Cx, linha da pea extra Lx.
Regra (7): if Cf ==Cd = Cx & Lx > Lf & Ld > Lx then obst=SIM
Regra (8): if Cf ==Cd = Cx & Lx > Ld & Lf > Lx then obst=SIM
Regra (9): if Lf ==Ld = Lx & Cx > Cf & Cd > Cx then obst=SIM
Regra (10): if Lf ==Ld = Lx & Cx > Cd & Cf > Cx then obst=SIM
Na Figura 5.20 apresenta-se o esquema geral de acionamento dos agentes
movimentando o brao e desviando dos obstculos. Pode-se observar que a funo mover()
recursiva, se ho uver obstculo ele ser desviado.

Incio

Jogada
em C

Jogada
Simples

ov
e

Move

Jogada
Realizada

e
ov
M
Jogada
em L

Figura 5.20 - Esquema de Jogadas do MAUTOXAD

60

5.3.1.2

Interface entre o usurio e o MAUTOXAD

Na Figura 5.21 apresenta-se a tela de trabalho do MAUTOXAD. Nesta tela o


usurio se comunica com o MAUTOXAD e observa as informaes a respeito dos
movimentos dos braos do rob.

Figura 5.21 - Tela principal

A tela principal do MAUTOXAD dividida em diversas partes. Na parte central da


Tela encontram-se:
-

A rea do tabuleiro: representada pelo tabuleiro com 64 casas, a rea onde o


usurio observa o posicionamento das peas e escolhe a jogada que deseja fazer.
Observe-se que as peas sobre o tabuleiro so diferenciadas pela cor de acordo com a
legenda no canto esquerdo inferior da tela (Extra, Fonte e Destino).

rea de movimentos: representada pelo quadrado em branco, a rea onde o


MAUTOXAD mostra os movimentos e as aes executadas pelos motores de passo.

Pea extra: na parte inferior da regio central, a rea onde apresentada a


localizao da pea extra no tabuleiro. No exemplo da Figura 5.21, a pea extra
61

encontra-se no lado da dama, especificamente localizada na quarta linha e na primeira


coluna do lado A do tabuleiro. O boto Mudar possibilita modificar essa localizao.
No lado esquerdo da tela tm-se as seguintes reas:
-

Posio Fonte: na parte superior, a rea fornece dados sobre o posicionamento da


pea no incio da jogada, onde:
-

Casa: representa a casa fonte da pea (Lado Rei ou Dama, Linha e Coluna);

R: representa a distncia entre o eixo base e a primeira linha do tabuleiro (casa


fonte).

X: representa a metade do comprimento da linha ou da coluna de cada casa do


tabuleiro.

ngulo Fonte: representa a ngulo da posio fonte da pea;

Deslocamento: representa a deslocamento da posio fonte da pea..

Posio Destino: na parte central, fornece dados sobre o posicionamento da pea no

fim da jogada, onde:


-

Casa: representa a casa de destino da pea (Lado Rei ou Dama, Linha e


Coluna);

R: representa a distncia entre o eixo base e a casa de destino.

X: representa a metade do comprimento da linha ou da coluna de cada casa do


tabuleiro.

ngulo Destino: representa a ngulo da posio de destino da pea.

Deslocamento: representa a deslocamento da posio de destino da pea.

62

Movimento: na parte inferior, fornece dados sobre o movimento que vai ser

realizado
-

R: representa a distncia entre a casa do destino e a casa fonte da pea;

Teta: representa a diferena entre os ngulos de destino e fonte da pea;

Deslocamento do movimento: representa a diferena entre o deslocamento da


posio de destino e da posio fonte da pea;

No lado direito da tela tm-se as seguintes reas:


-

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.

Os demais campos abaixo do Agente Mestre apresentam os nmeros dos passos


a ser movidos de acordo com a jogada para cada um dos Agentes escravos.
Alm disso, os botes de direo (< >) permitem mover, caso seja necessrio,
manualmente passo a passo para esquerda e para direita (agente Base), para
cima e para baixo (agentes Brao e Antebrao) ou para frente e para trs (agente
Tabuleiro) No caso do Agente Garra permite ativar ou desativar o m.

5.3.3 Exemplos dos movimentos do MAUTOXAD


A rea de trabalho total do ROBOXAD, limitada pelas caracterstica mecnicas do
rob, de 6 linhas por 8 colunas. Para simplificao na programao do MAUTOXAD
definiram-se duas reas no tabuleiro de xadrez. As reas foram denominadas de tabuleiro A
e Tabuleiro B. O Tabuleiro A representa 4 linhas por 8 colunas. O Tabuleiro B representa 2
linhas por 8 colunas (ver Figura 5.22).

63

Figura 5.22 - Diviso do tabuleiro e rea de alcance

5.3.3.1

Jogada sem obstculo

A jogada consiste em mover a pea da posio fonte (REI 1 1 A, lado do rei,


primeira linha e primeira coluna ou R1R em xadrez) do Tabuleiro para a posio destino
(REI 3 1 A, ou R3R em xadrez) do Tabuleiro A. Observa-se na Figura 5.23 abaixo que a
pea extra (obstculo) est fora da rea de movimentos, portanto este movimento
considerado como uma Jogada Livre (S).

Figura 5.23 - Jogada sem obstculo

As etapas da jogada so as seguintes:

O Agente Mestre recebe a jogada do usurio;

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),

Os demais agentes, incluindo o Agente Base definem a sua ordem de execuo de


movimentos;

Os agentes enviam a ordem de execuo de movimentos para o Agente Mestre; (Agente


m, Agente Base, Agente Brao, Agente Antebrao, Agente m);

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;

O Controlador de tarefas tem a funo de processar o movimento da jogada, ao terminar


a execuo ele retorna um sinal informando o fim da execuo.

5.3.3.2

Jogada com Obstculo

A jogada consiste em mover a pea da posio fonte (R 1 1 A, R1R em xadrez) do


Tabuleiro A para a posio destino (R 2 1 B, R2R em xadrez) do Tabuleiro B. Observa-se
65

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.

Figura 5.24 - Incio da Jogada com obstculo

As etapas da jogada so as seguintes:

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

Figura 5.25 - Fim da Jogada com obstculo

O Agente Base verifica que no existe simetria;

Os demais agentes, incluindo o agente base definem a sua ordem de execuo de


movimentos;

Os agentes enviam a ordem de execuo de movimentos para o Agente Mestre; (Agente


m, Agente Base, Agente Tabuleiro, Agente Brao, Agente Antebrao, Agente Base,
Agente m);

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

seqncia dos movimentos e envia a lista de tarefas para o controlador de tarefas;

O Controlador de tarefas tem a funo de processar o movimento da jogada, ao terminar


a execuo ele retorna um sinal informando o fim da execuo. As seguintes so
apresentadas na rea de movimento:
-

Agente 1 Posicionado!, indica que houve o movimento da base do rob durante


o movimento em L para escapar do obstculo, passos = 9. O movimento feito
na seqncia apresentada na Figura 5.26.

Figura 5.26 - Incio da seqncia de movimento

Agente Tabuleiro posicionado. Como o ngulo do brao teve um valor fuzzy


grande (G(X)=SIM) o agente tabuleiro foi acionado para aproximar o tabuleiro
duas linhas do corpo do rob. Duas linhas do tabuleiro passos= 160.

Agente 3 Posicionado. O agente antebrao indicou que para este movimento o


antebrao deve se mover antes do brao. (ver regra fuzzy (2)) Deslocamento=11,
passos=44.

Agente 2 Posicionado. Anteriormente o agente brao havia indicado o


movimento do tabuleiro. Deslocamento=11, passos= 22.

Agente 1 Posicionado.

D
X

D
X

Figura 5.27 - Fim da seqncia de movimento.

68

Ao soltar acionada! O m desenergizado e a pea solta sobre a casa


destino.

AGENTE M SOLTANDO

-- FIM MOVIMENTO --

O MAUTOXAD permanece esperando a prxima jogada.

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.

6.2 Dificuldades Encontradas


No decorrer deste trabalho, foram encontradas algumas dificuldades:

Houve uma certa dificuldade em compreender o programa fonte do AUTOXAD


principalmente pela complexidade do cdigo.

A placa de interface controladora queimou diversas vezes devido a problemas de


tenso. Foi necessrio uma adaptao na quantidade de energia recebida. Este
problema atrasou os testes e consequentemente o andamento do trabalho.

Durante os testes, percebeu-se dificuldades relacionadas montagem do


ROBOXAD, que por ser construdo em sua maior parte de material de sucata e
num processo incremental, apresenta uma srie de limitaes. A estrutura do rob
71

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.

6.3 Sugestes para Trabalhos Futuros


Aps a finalizao deste trabalho, possvel sugerir alguns trabalhos que podem
complementar e melhorar o sistema MAUTOXAD:

Um novo prottipo do ROBOXAD, projetado especificamente para o Sistema


desenvolvido. Seria interessante que o brao robtico pudesse alcanar todo o
tabuleiro sem a necessidade que este se movesse.

Um sistema de viso que fosse capaz de resolver o problema de erros


acumulativos.

Desenvolver uma interface mais amigvel.

72

REFERNCIAS BIBLIOGRFICAS
[ALV97]

LVARES, L.O.; SICHMAN, J.S. Introduo aos Sistemas Multiagentes,


EINE'97 - I Escola de Informtica SBC - Edio Nordeste, pgina143.

[AMI93]

AMIROUCHE, F. M. L. Computer Aided Design and Manutacturing.


Prentice Hall, Englewood Cliffs, New Jersey, 1993.

[ST89]

STROM, K. J.; HGGLUND, T. Automatic Turing of PID Controllers .


Instrument Society of America, USA, 1989.

[AUE95]

AUER, K. Agentes. [doc WWW 01/12/97] URL: http://www.pcug.org.


au/~kauer/project/main.htm, 1995.

[BEL95]

BELGRAVE, M. The unified agent architecture . A white paper. [doc


WWW 25/11/97] URL: http://www.ee.mcgill.ca/~belmarc/uaa_paper.html.
1995.

[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]

BROOKS, R. A. Intelligence without reason. In Computers and Thought


lecture: Proceedings of IJCAI-91,Sydney, 1991.

[CAV95]

CAVALCANTI, J. H. F. , FERNEDA, E. Intelligent control of an inverted


pendulum training and evolution. In: SEMISH'95 Conferncia Latinoamericana de Informtica, 21, 1995. Anais. Canelas RS, 1995. 2v., v.1,
p.627-637, 1995.

[CAV99]

CAVALCANTI, J. H. F., ALSINA, P. J., FERNEDA, E. Posicionamento


de um pndulo invertido usando algoritmos genticos. SBA Controle &
Automao, So Paulo, v.10, n.1. p.31-38, 1999.

[CRA86]

CRAIG, J. J. Introduction to Robotics Mechanics & Control. Addison 73

Wesley Publishing Company, USA, 303p. 1986.


[DEM95]

DEMAZEAU, Y. From interactions to collective behaviour in AgentBased System. Saint Malo: European Conference on Cognitive Science,
1995.

[FER91]

FERBER, J. , ERCEAU J. "L'Intelligence Artificielle Distribue". Revista


La Recherche 233 - Vol. 22. Juin , pp 750-758. 1991.

[FER98]

FERREIRA, J. R. S., ALSINA, P. J., CAVALCANTI, J. H. F. Escalonador


inteligente de tarefas aplicado robtica. In: INDUSCON'98
CONFERNCIA DE APLICAES INDUSTRIAIS, 3, 1998. Anais. So
Paulo: Escola Politcnica da USP, 1v., p.117-120. 1998.

[FER99]

FERREIRA, C. N. M. A. Posicionamento Inteligente de um Manipulador


Robtico, Dissertao de Mestrado em Cincias da Computao,
Departamento de Sistemas e Computao do CCT/UFPB, 23/08/1999

[FER99a]

FERREIRA, C. N. M. A., CAVALCANTI, J. H. F., ALSINA, P. J.,


FERREIRA, J. R. S. Posicionamento Inteligente de um Manipulador
Robtico., COBEM99. guas de Lindia SP 1999.

[FER99b]

FERREIRA, J. R. S., CAVALCANTI, J. H. F. Interfaces controladoras de


motores. 25p. Relatrio tcnico N. DSC/001/99 (Biblioteca setorial do
Departamento de Sistemas e Computao) Universidade Federal da
Paraba. Campina Grande: 1999

[FER99c]

FERREIRA, J. R. S., CAVALCANTI, J. H. F, ALSINA, P. J. Intelligent


tasks

scheduler.

CONFERENCE

ON

In:

IJCNN'99
NEURAL

INTERNATIONAL

NETWORKS,

1999.

JOINT

Proceedings.

Washington, D.C. USA: Renascence Hotel, . 1999.


[FER99d]

FERREIRA, J. R. S., CAVALCANTI, J. H. F. Interface controladora de


motores de corrente contnua. Revista Interao (Centro de Cincias e
Tecnologia da UFPB), Campina Grande, 1999.

[FER99e]

FERREIRA, J. R. S., CAVALCANTI, J. H. F., ALSINA, P. J. An


74

application using intelligent tasks scheduling and knowledge acquisition.


In: CARS&FPF'99 INTERNATIONAL CONFERENCE ON CAD/CAM,
ROBOTICS AND FACTORIES OF THE FUTURE, 15, 1999.
[FRA96]

FRANKLIN, S., GRAESSER, A. Is it an agent, or just a program?: A


taxonomy for autonomous agents. [doc WWW 28/11/97] URL:
http://www.msci.memphis.edu/~franklin/AgentProg.html, 1996.

[GIL96]

GILBERT, D., MANNY, A. Intelligent agent strategic. [doc WWW] URL:


http://activist.gpl.ibm.com:81/WhitePaper/ptc2.html, 1996.

[GOM92]

GOMIDE, F., ROCHA, A., ALBERTOS, P. Neurofuzzy Controllers IFAC- LCA '92, Viena, Austria.1992.

[GOM94]

GOMES, S. C. P. Modelagem e Controle de Manipuladores Flexveis. 10


Congresso Brasileiro de Automtica & 6 Congresso Latino Americano de
Controle Automtico. Rio de Janeiro, pp. 1010-1015. 19 a 23 de Setembro
de 1994.

[GUP96]

GUPTA, M. M., SINHA, N. K. Intelligent control systems . New Jersey:


IEEE Press, 820p. 1996.

[KLI88]

KLIR, G. J., FOLGER, T. A. Fuzzy sets, uncertainty, and information.


New Jersey: Prentice Hall, 355p. 1988.

[LEM96]

LEMON, B., PYNADATH, D., TAYLOR, G., et al. Cognitive achitectures.


[doc

WWW

28/11/97]

URL:

http://krusty.eecs.umich.edu/cogarch4/toc.html, 1996
[MAE91]

MAES P. "Situated Agents Can Have Goals." Designing Autonomous


Agents. Ed: P. Maes. MIT-Bradford Press, 1991.

[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]

MAMDAMI, E. H. "Application of fuzzy algorithms for control of


simple dynamic plant", Proceedings of the Institution of Electrical
Engineers, vol. 121, no. 12, pp. 1585-8, 1974.

[NIS95]

NISSEN, M. Intelligent agents: A technology and business application.


[doc WWW] URL: http://haas.berkeley.edu/~heilmann/agents, 1995.

[OLI96]

OLIVEIRA, F. M. Inteligncia Artificial Distribuda. In: IV Escola


Regional de Informtica, SBC, SC, 1996.

[PAR96]

PARAISO, E. C. Sistema Multi-Agente para Monitorao e Controle de


Processo. [doc WWW 18/11/97] URL: http://dainf.cefetpr.br/~paraiso,
1996.

[POR89]

PORTER, B. Issues in the Design of Ontelligent Control Systems , IEEE


Control Systems Magazine, January pp. 97-99.1989.

[RUS95]

RUSSEL, S., NORVIG, P. Artificial Intelligence: A Modern Approach.


Prentice Hall, 1995.

[SAL90]

SALANT, M. A. Introduo Robtica. So Paulo: McGraw-Hill, 1990.

[SAL97]

SALES, E. F. Jr. Sistema de controle inteligente para um elo robtico.


Campina Grande: Dissertao (Mestrado em Informtica; Inteligncia
Artificial) Universidade Federal da Paraba.1997

[SPO89]

SPONG, M. W., VIDYASAGAR, M. Robot Dynamics and Control. John


Wiley & Sons, Inc. 1989.

[TAF95]

TAFNER, M.A.., et al. Redes Neurais Artificiais: Introduo e Princpios


de Neurocomputao. Blumenau: Ed. FURB, 1995.

[WIJ97]

WIJFFEIS, T. Os Motores de Passo. Revista Elector, 39-45, 1997.

[WOO94]

WOOLDRIDGE, M., JENNINGS, N. Intelligent Agents: Theory and


Practice,1994.

[WOO95]

WOOLDRIDGE, M., JENNINGS, N. Theories, Architectures, and


76

Languages: A survey. [on line] Disponvel na Internet via WWW. URL:


http://www.cerc.wvu.edu/~juggy/ia/notes/Mar16.notes,1995.
[WOO96]

WOOLDRIDGE, M., JENNINGS, N. Software agents. IEE Review, 1996.

[ZAD65]

ZADEH, L. A. Fuzzy Sets Inf. Control, Vol. 8, pp. 338-353. 1965

[ZAD88]

ZADEH, L. A. Fuzzy Logic, IEEE Computer Magazine, pp.83-93.


Publicado tambm In: Anderson, J.A.; Rosenfeld, E. (Ed.) Neurocomputing
Foundations of Researchs, pp.177-194, The MIT Press, Cambridge, USA.
1988

[ZAD94]

ZADEH. L. A. The Role of Fuzzy Logic in Modeling, Identification and


Control, 15 (3):191-203, 1994.

77

APNDICE A: Motor de Passo

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.

Figura A.1 - Motor de passo

78

A.2 Funcionamento dos motores de passo


Normalmente os motores de passo so projetados com enrolamento de estator
polifsico. O nmero de plos determinado pelo passo angular desejado por pulsos de
entrada. Eles possuem trs estados de operao: parados, ativados com rotor parado e
girando em etapas. Na Figura A.2 esta ilustrada uma representao esquemtica de um tipo
de motor de passo. O estator composto de quatro plos eletromagnticos e o rotor um
m permanente de dois plos.
Se os plos eletromagnticos do estator forem ativados de modo que o plo 3 seja N
(Norte magntico) e o plo 1 seja S, ento o alinhamento do rotor ser como ilustrado na
Figura A.2 (a). Se o estator for excitado de modo que o plo 4 seja N e o plo 2 seja S, o
rotor far um giro de noventa graus no sentido horrio como apresentado na Figura A.2 (b).

plo1

plo1

plo4

plo2

plo4

plo2

plo3
(a)

plo3
(b)

Figura A.2 - Motor genrico de quatro fases

No modo de acionamento normal, o rotor se posiciona exatamente sobre o local


designado para cada passo, percorrendo quatro passos por ciclo. A seqncia de
acionamento pode ser obtida excitando-se uma fase por vez [FER99].
Os motores de passo tm alimentao externa. Os pulsos na entrada do circuito de
alimentao fornecem correntes aos enrolamentos certos para fornecer o deslocamento
desejado.

79

A.3 Caractersticas dos motores de passo


O torque do motor de passo depende da freqncia aplicada ao circuito de
alimentao. Os motores de passo possuem algumas caractersticas bsicas:
Quanto maior a freqncia, menor o torque, porque o rotor tem menos tempo para
mover-se de um ngulo para outro;
A faixa de partida deste motor aquela na qual a posio da carga segue os pulsos
sem perder passos;
A faixa de giro aquela na qual a velocidade da carga tambm segue a freqncia
dos pulsos mas com uma diferena: no pode partir, parar ou inverter, independente do
comando utilizado.

A.4 Tipos dos Motores de Passo


RELUTNICIA VARIAVL: Apresenta um rotor com muitas polaridades
construdo a partir de ferro doce, possui tambm em estator laminado. Por no possuir im,
quando energizado apresenta torque esttico nulo. Tendo assim baixa inrcia de rotor no
pode ser utilizado com carga inercial grande.
IM PERMANENTE: Apresenta um rotor de material alnico ou ferrite e
magnetizado radialmente. O seu torque esttico no nulo.
HBRIDO: uma mistura dos dois anteriores e apresenta rotor e estator
multidentados . O rotor de im permanente e magnetizado axialmente. Apresenta grande
preciso ( 3% ), boa relao torque/tamanho e ngulos pequenos ( 0,9 e 1,8 graus ).
Para que o rotor avance um passo necessrio que a polaridade magntica de um
dente do estator se alinhe com a polaridade magntica oposta de um dente do rotor.

80

A.5 Aplicaes dos motores de passo


Como os motores de passos tm movimentos precisos, qualquer equipamento que
necessite de preciso no movimento podem utilizar esses motores.
Pode-se citar, pr exemplo, o controle de micro cmeras num circuito interno de
vigilncia, em clnicas radiolgicas no auxlio de operadores para os mesmos orientarem o
posicionamento das pessoas submetidas a uma radiografia, posicionamento de uma mesa de
trabalho em duas dimenses, furao automtica de acordo com instrues em fita sobre as
posies dos furos.
A utilizao dos motores de passo muito ampla, pode-se dizer que vai desde o
controle de mquinas industriais (robs) at pequenas demonstraes num curso de
robtica .

A.6 Vantagens e Desvantagens dos motores de passo


Em relao aos motores de corrente contnua os motores de passos apresentam
evidentes vantagens, como tamanho e custo reduzidos, total adaptao a lgica digital (o
que permite o controle preciso da velocidade direo e distncia), caractersticas de
bloqueio, pouco desgaste e dispensa realimentao.
So poucas as desvantagens mais elas existem: m relao potncia volume e
principalmente controle relativamente complexo.

81

APNDICE B:

Interface controladora de motores de

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].

B.2 A interface controladora completa.


A interface controladora de motores de passo, semelhante a interface de motores cc,
possui alm dos mdulos descritos anteriormente, outros componentes listados na tabela
B.1 abaixo.
Componente

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

Conector para energia

1
1

Tabela B.1 - Tabela de relao dos componentes utilizados na interface.

A Figura B.1 ilustra o circuito impresso desta interface.

Figura B.1 - Circuito impresso da interface de motor de passo

B.3 Interface painel para motores de passo


A interface painel utilizada juntamente com a interface controladora de motores de
passo um circuito de distribuio de sinal muito simples. A sua nica finalidade permitir
mais liberdade na instalao do rob dentro do NEUROLAB. Os nico componentes desta
interface so os 4 plugs de 5 pinos para a conexo dos motores e 2 plugs de 4 pinos para a
83

conexo dos detectores de posio, no havendo necessidade de ser apresentada a lista de


componentes e nem o diagrama esquemtico. apresentado somente o circuito impresso,
ilustrado na Figura B.2.

Figura B.2 - Circuito impresso do painel p/ motor de passo

84