Sei sulla pagina 1di 99

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CINCIAS EXATAS E NATURAIS CURSO DE CINCIAS DA COMPUTAO (Bacharelado)

PROTTIPO DE UM ROB RASTREADOR DE OBJETOS

TRABALHO DE CONCLUSO DE CURSO SUBMETIDO UNIVERSIDADE REGIONAL DE BLUMENAU PARA A OBTENO DOS CRDITOS NA DISCIPLINA COM NOME EQUIVALENTE NO CURSO DE CINCIAS DA COMPUTAO BACHARELADO

EMERSON DE OLIVEIRA

BLUMENAU, JUNHO/2001 2001/1-30

PROTTIPO DE UM ROB RASTREADOR DE OBJETOS


EMERSON DE OLIVEIRA

ESTE TRABALHO DE CONCLUSO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENO DOS CRDITOS NA DISCIPLINA DE TRABALHO DE CONCLUSO DE CURSO OBRIGATRIA PARA OBTENO DO TTULO DE:

BACHAREL EM CINCIAS DA COMPUTAO

Prof. Miguel A. Wisintainer Orientador na FURB

Prof. Jos Roque Voltolini da Silva Coordenador do TCC

BANCA EXAMINADORA

Prof. Miguel A. Wisintainer

Antonio Carlos Tavares

Maurcio Capobianco Lopes

ii

AGRADECIMENTOS
Gostaria de agradecer aos meus pais Luiz Flvio de Oliveira e Armelinda de Oliveira pelo incentivo aos estudos, pela pacincia e amor. Ao professor Miguel Wisintainer que com dedicao e sabedoria orientou este trabalho. Um agradecimento em especial ao professor Antnio Carlos Tavares por sua pacincia e disposio no esclarecimento das dvidas surgidas ao longo do caminho. Ao professor Marcel Hugo pelas crticas e idias sobre a redao do trabalho. Ao meu irmo, meus amigos e todas as pessoas que de uma forma direta ou indireta contriburam para a realizao deste trabalho.

iii

SUMRIO
AGRADECIMENTOS ...................................................................................................................................III SUMRIO....................................................................................................................................................... IV LISTA DE FIGURAS..................................................................................................................................... VI LISTA DE TABELAS ................................................................................................................................. VIII LISTA DE QUADROS................................................................................................................................... IX RESUMO ..........................................................................................................................................................X ABSTRACT .................................................................................................................................................... XI 1 1.1 1.2 1.3 2 2.1 2.2 2.3 2.4 3 3.1 3.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5 INTRODUO........................................................................................................................................ 1 ORIGEM.................................................................................................................................................... 1 OBJETIVOS ............................................................................................................................................... 2 ORGANIZAO DO TEXTO ........................................................................................................................ 3 PROCESSAMENTO E ANLISE DE IMAGENS............................................................................... 4 VISO NATURAL - SISTEMA VISUAL HUMANO ........................................................................................... 4 VISO ARTIFICIAL SISTEMA DE VISO ARTIFICIAL .................................................................................. 5 APLICAO DOS SISTEMAS DE VISO ARTIFICIAL...................................................................................... 7 IMAGEM DIGITAL ...................................................................................................................................... 9 REDES NEURAIS E RECONHECIMENTO DE PADRES ........................................................... 11 BREVE HISTRICO DAS REDES NEURAIS.................................................................................................. 11 CARACTERIZANDO AS REDES NEURAIS ................................................................................................... 13 ARQUITETURAS, TREINAMENTO E FUNES DE ATIVAO ..................................................................... 15 Arquiteturas de redes neurais ............................................................................................................ 16 Treinamento ....................................................................................................................................... 18 Funes de ativao........................................................................................................................... 19 Nveis estruturais................................................................................................................................ 20 REDES NEURAIS E O PROCESSAMENTO DE SINAIS .................................................................................... 21 ROBTICA............................................................................................................................................ 24 O QUE UM ROB .................................................................................................................................. 24 HISTRICO DA ROBTICA ....................................................................................................................... 29 PARTES DE UM ROB.............................................................................................................................. 32 TIPOS DE ROBS ..................................................................................................................................... 35 PORQUE UTILIZAR ROBS ....................................................................................................................... 40 GRUPOS DE PESQUISAS EM ROBTICA .................................................................................................... 43 ESTADO DA ARTE NO DESENVOLVIMENTO DE ROBS ............................................................................. 44 DESENVOLVIMENTO DO PROTTIPO ........................................................................................ 49

5.1 FUNCIONALIDADES DO PROTTIPO ......................................................................................................... 49 5.2 ESPECIFICAO ...................................................................................................................................... 49 5.2.1 Mdulo de controle do rob............................................................................................................... 50 5.2.2 Mdulo de reconhecimento de imagens ............................................................................................. 52

iv

5.2.3 Mdulo de comunicao de dados ..................................................................................................... 55 5.2.4 RRO Eddie Rob rastreador de objetos Eddie................................................................................ 61 5.3 IMPLEMENTAO ................................................................................................................................... 61 5.3.1 Mdulo de controle do rob............................................................................................................... 61 5.3.2 Mdulo de reconhecimento de imagens ............................................................................................. 65 5.3.3 Mdulo de comunicao de dados ..................................................................................................... 72 5.3.4 RRO Eddie Rob rastreador de objetos Eddie................................................................................ 75 5.4 TESTES E VALIDAES ........................................................................................................................... 78 6 6.1 CONCLUSES ...................................................................................................................................... 80 SUGESTES PARA TRABALHOS FUTUROS ................................................................................................ 80

ANEXO 1: ESQUEMA DAS PLACAS DE CONTROLE DOS MOTORES............................................ 82 ANEXO 2: ESQUEMA DOS SENSORES INFRAVERMELHO .............................................................. 83 7 REFERNCIAS BIBLIOGRFICAS ................................................................................................. 84

LISTA DE FIGURAS
Figura 1: Estrutura funcional de um sistema de viso artificial. ............................................ 7 Figura 2: Representao de um pixel na imagem f(x,y)........................................................ 10 Figura 3: Pixels na matriz de uma imagem monocromtica................................................. 10 Figura 4: Representao do neurnio artificial (a) e do neurnio biolgico (b)................... 12 Figura 5: Camadas de uma rede neural................................................................................. 15 Figura 6: Rede Multilayer feedforward. ............................................................................... 16 Figura 7: Rede Competitive Layer........................................................................................ 17 Figura 8: Rede feedback. ...................................................................................................... 17 Figura 9: Rede Multilayer Feedforward/Backward. ............................................................ 17 Figura 10: Grfico das funes de ativao.......................................................................... 20 Figura 11: Autmato de Jacques de Vauncanson ................................................................. 25 Figura 12: Boneco escritor, autmato de Jaquet-Droz (parte anterior). ............................... 25 Figura 13: Boneco escritor, autmato de Jaquet-Droz (parte posterior)............................... 26 Figura 14: Brao robtico de brinquedo............................................................................... 27 Figura 15: Tmsuk a faxineira andride. ................................................................................ 27 Figura 16: Rob na indstria. ............................................................................................... 28 Figura 17: Jogo de futebol de robs. .................................................................................... 28 Figura 18: Cena do filme Metropolis. .................................................................................. 30 Figura 19: O rob da srie Lost in Space.............................................................................. 30 Figura 20: Cartaz de Blade Runner. ..................................................................................... 30 Figura 21: T800 o rob do filme Terminator. ...................................................................... 31 Figura 22: Robocop o rob parte-homem parte-mquina..................................................... 31 Figura 23: Rob Unimate fabricado pela Unimation ........................................................... 32 Figura 24: Analogia do corpo humano e as partes de um rob. ........................................... 33 Figura 25: Rob articulado ou rotacional. ............................................................................ 36 Figura 26: Robo cilndrico.................................................................................................... 36 Figura 27: Rob SCARA...................................................................................................... 37 Figura 28: Rob Spine.......................................................................................................... 37 vi

Figura 29: Rob prtico........................................................................................................ 38 Figura 30: Rob mvel. ........................................................................................................ 38 Figura 31: Veculo Sojourner em solo Marciano. ................................................................ 45 Figura 32: Asimo o rob andride da Honda. ...................................................................... 46 Figura 33: Aibo o cozinho-rob da Sony............................................................................ 47 Figura 34: Andros Mark V-A1 rob para desativao de bombas. ...................................... 48 Figura 35: Interface entre os mdulos e o rob. ................................................................... 50 Figura 36: Fluxograma do mdulo de controle de rob. ...................................................... 51 Figura 37: Fluxograma do mdulo de reconhecimento de imagens..................................... 53 Figura 38: Fluxograma do mdulo de reconhecimento de imagens..................................... 54 Figura 39: Transmisso serial de dados................................................................................ 56 Figura 40: Conector DB-25. ................................................................................................. 57 Figura 41: Conector DB-9. ................................................................................................... 57 Figura 42: Transmisso paralela de dados............................................................................ 58 Figura 43: Fluxograma do mdulo de comunicao de dados. ............................................ 60 Figura 44: Freqncia de deslocamento (a) x freqencia de acelerao (b)......................... 62 Figura 45: Poro da tela referente ao mdulo de controle. ................................................. 65 Figura 46: Diferentes imagens capturadas pela cmera........................................................ 66 Figura 47: Imagem capturada X imagem processada. .......................................................... 67 Figura 48: Imagem centralizada X Imagem deslocada......................................................... 68 Figura 49: Matriz de bits gerada a partir da imagem processada. ........................................ 69 Figura 50: Arquitetura da rede neural utilizada.................................................................... 70 Figura 51: Algoritmo de treinamento utilizado. ................................................................... 71 Figura 52: Poro da tela referente ao mdulo de reconhecimento...................................... 72 Figura 53: Status da interface serial...................................................................................... 73 Figura 54: Status da interface paralela.................................................................................. 75 Figura 55: Tela do software desenvolvido. .......................................................................... 75 Figura 56: Parte superior do prottipo.................................................................................. 77 Figura 57: Parte inferior do prottipo................................................................................... 78

vii

LISTA DE TABELAS
Tabela 1: Comparativo entre o sistema visual humano e sistema de viso artificial. ............ 9 Tabela 2: Modelos de redes neurais e suas aplicaes bsicas............................................. 18 Tabela 3: Caractersticas tcnicas do rob Asimo P3........................................................... 45 Tabela 4: Pinos mais utilizados do conector DB-25 no padro RS-232. ............................. 57 Tabela 5: Pinagem do conector DB-9 no padro RS-232..................................................... 58 Tabela 6: Pinagem do DB-25 na interface paralela. ............................................................. 59 Tabela 7: Taxas de acerto ..................................................................................................... 70 Tabela 8: Uso dos pinos da interface paralela. ..................................................................... 73

viii

LISTA DE QUADROS
Quadro 1: Definio da classe TThread para controle dos motores..................................... 62 Quadro 2: Cdigo para acionamento do motor direito. ........................................................ 63 Quadro 3: Cdigo para acionamento do motor esquerdo. .................................................... 63 Quadro 4: Definio da classe TThread para leitura dos sensores. ...................................... 63 Quadro 5: Rotina para leitura do status dos sensores. .......................................................... 64 Quadro 6: Rotina de aplicao do limiar lgico na gerao da matriz binria..................... 66 Quadro 7: Rotina de aplicao do limiar lgico no pr-processamento. .............................. 68 Quadro 8: Envio de sinais porta paralela. .......................................................................... 74 Quadro 9: Leitura de sinais da porta paralela. ...................................................................... 74

ix

RESUMO
O trabalho proposto aborda os aspectos implementacionais de um rob mvel controlado por microcomputador que utiliza viso artificial para identificar objetos dispersos em um ambiente controlado. Os objetos so representados por imagens de figuras geomtricas planas e sero identificados atravs de viso computacional, que ser implementada utilizando-se a tcnica de redes neurais artificiais. Para a implementao do software de reconhecimento de imagens e controle do rob foi utilizado o ambiente de programao Borland Delphi 5.0. Como resultado obteve-se o prottipo de um rob triciclo que se movimenta no ambiente atravs da tcnica de line tracing.

ABSTRACT
This work will concern to implementation aspects of a robot controlled by a microcomputer, that will be use artificial vision for identifies broadcasting objects in a controlled environment. The objects will be recognized throught computational vision technic, using artificial neural networks. For the implementation of the software of image recognition and robot control, was use Borland Delphi 5.0. As result, got a trecycle robot implementation that moves in a environment using line tracing technic.

xi

1 Introduo
1.1 Origem
A robtica, cada vez mais presente na sociedade, apresenta-se de vrias formas, podendo ser encontrada no trabalho, nas ruas, e at mesmo nas residncias. No trabalho a sua presena facilmente identificvel. Tem-se atualmente uma estimativa da existncia de mais de 700 mil robs industriais (Morin, 1999). Existem casos de indstrias, principalmente montadoras de automveis, onde a mo de obra humana est sendo cada vez menos utilizada, porm continua sendo indispensvel. Em casa a robtica tambm est presente, lanando at mesmo novos termos como o Rob Servial (Bonalume Neto, 1992) ou Rob do Lar (Lemos, 2000). Este tipo de rob uma espcie de empregado que fica circulando por toda a casa identificando eventuais pontos para manuteno e efetuando limpezas domsticas. Solues e produtos nesta rea j esto implementadas e disponveis no mercado. Com esta forte influncia que a robtica vem tendo, so inevitveis as discusses sobre como ser a relao homem-mquina (Barrie, 1996) (Morin, 1999) (Bonalume Neto, 1992), pois levando-se em considerao somente o aspecto econmico, a aplicao da robtica , em muitos casos, a soluo mais adequada. A robtica uma rea de pesquisa multidisciplinar, onde os conhecimentos de computao so extensivamente aplicados. Sendo um ramo da robtica, a robtica mvel apresenta problemas que so especficos de seu escopo. Robs mveis acionados por pessoas atravs de controle remoto, por exemplo, no apresentam problemas de implementao to complexos quanto os robs que no possuem este tipo de controle, pois estes devem saber sua localizao e tomar a deciso mais adequada para a sua movimentao, de forma autnoma, atravs de sua experincia e interao com o meio. Ainda dentro da robtica mvel tem-se os robs que interagem com ambientes estticos ou controlados e os robs que interagem com ambientes dinmicos, podendo por sua vez serem ou no controlados remotamente.

2 Robs mveis interagindo com ambientes estticos no tem implementao trivial, porm no possuem a complexidade e o nmero de variveis que acompanham o desenvolvimento de robs mveis que interagem com ambientes dinmicos (Silva, 1997). Exemplos da aplicao da robtica mvel so marcantes, pois em sua maioria so projetos de alta tecnologia e de grande importncia para o desenvolvimento tecnolgico e cientfico, assim como tambm, colaboram para o aumento da segurana das pessoas que desenvolvem suas tarefas em ambientes hostis, como por exemplo, no espao, grandes profundidades aquticas, na deteco de minas terrestres e at mesmo em situaes pouco louvveis, como os conflitos militares. Um exemplo da aplicao de alta tecnologia no desenvolvimento de sistemas robticos pode ser encontrado no rob Sojourner do projeto Mars PathFinder para a explorao do planeta Marte (JET, 1997). Deve-se ressaltar tambm, que os sentidos a serem implementados no sistema so funo direta de seu objetivo. Existem projetos de robs utilizados para a deteco de minas terrestres em que pesquisadores esto desenvolvendo um nariz artificial para que o rob, de forma autnoma, possa encontrar, identificar positivamente e desarmar ou destruir uma mina sem a interveno direta do ser humano. No trabalho proposto foi implementada a viso computacional para possibilitar que o rob faa o reconhecimento dos objetos inseridos em um ambiente controlado. Os objetos sero representados por imagens de figuras geomtricas planas, distribudas num conjunto de quatro padres de imagens diferentes (crculo, retngulo, tringulo e trapzio). Para possibilitar o reconhecimento dos padres das imagens utilizou-se a tcnica de redes neurais artificiais. O deslocamento do rob se dar sobre uma linha no cho (line tracing), com locais de parada especficos para que seja capturada e analisada a imagem presente naquele ponto do ambiente.

1.2 Objetivos
O objetivo principal deste trabalho desenvolver o prottipo de um rob mvel que seja capaz de se locomover em um ambiente controlado, capturando as imagens de figuras geomtricas planas distribudas ao longo do caminho percorrido.

3 Como objetivos secundrios tem-se: a) o estudo de tcnicas de processamento e reconhecimento de imagens; b) implementao de uma rede neural capaz de efetuar o reconhecimento das imagens.

1.3 Organizao do texto


No captulo 1 apresentada a introduo, o objetivo central e os secundrios deste trabalho. No captulo 2 apresentado o processamento e anlise de imagens sob o enfoque do sistema visual humano e o sistema visual artificial. No captulo 3 so apresentados conceitos de redes neurais artificiais e sua relao com o reconhecimento de imagens. No captulo 4 dado o conceito de rob e robtica, a situao da robtica na atualidade, assim como questes tcnicas da implementao de um rob mvel. No captulo 5 apresentado o prottipo bem como os resultados obtidos durante a sua implementao. No captulo 6 so apresentadas as concluses e sugestes para trabalhos futuros.

2 Processamento e anlise de imagens


Processamento de imagens consiste em desenvolver tcnicas de compreenso dos mecanismos de viso natural e artificial e em fornecer ferramentas cujo desempenho aproxima-se o mais possvel das extraordinrias capacidades do sistema visual humano (Facon, 1993). As duas principais reas a que se destina o processamento de imagens digitais so a melhoria da qualidade da imagem para a anlise humana e a preparao da imagem para ser submetida a interpretao atravs de mquinas. Os primeiros sistemas de processamento e anlise de imagens datam do incio do sculo XX e foram aplicados para o melhoramento de imagens publicadas em jornais e revistas da poca (Gonzalez, 1992). No melhoramento das imagens para a anlise humana pode-se citar exemplos como o processamento de imagens de raios X a fim de facilitar a sua interpretao, assim como a gerao das imagens em um exame de tomografia computadorizada. Na rea de interpretao de imagens atravs de mquinas tem-se aplicaes de sistemas inteligentes para a anlise de imagens de satlites, controle de qualidade de produtos manufaturados, interpretao de imagens de rgos humanos para a formulao de diagnsticos, entre outros, como apresentado no captulo 2.3.

2.1 Viso natural - Sistema visual humano


Pode-se considerar a viso, pela sua grande capacidade de identificao de estruturas presentes em determinada cena, como sendo o sentido pelo qual o ser humano tem a maior interao com o meio ambiente. Um antigo provrbio chins que diz: Uma imagem vale mais do que mil palavras.. Facon (1993), divide a interpretao de uma imagem, pelo sistema visual humano em seis etapas: a) emisso de sinais luminosos por reflexo da luz: o reflexo da luz sobre os objetos; b) recepo dos sinais luminosos pelo sistema visual: o ajuste do foco e da quantidade de luminosidade recebida, funo esta desempenhada pelo cristalino, pupila e retina;

5 c) transformao dos sinais luminosos pela superfcie sensvel: as clulas encontradas na retina transformam os sinais luminosos em pulsos nervosos que so encaminhados at o crebro pelo nervo ptico; d) armazenamento da informao: a capacidade de memorizar a imagem para que esta possa ser utilizada no futuro; e) processamento da informao: uma vez que a informao foi recebida e armazenada, esta processada, ou seja seria uma forma de compreender o significado daquela imagem; f) resposta nervosa: a deciso a ser tomada assim que a imagem foi compreendida, por exemplo, o que fazer com uma pea no momento que esta ficou pronta? Ela de boa qualidade ? Estas etapas denotam a presena de trs partes do corpo humano primordiais para a percepo visual: o olho que capta os sinais luminosos e os transforma em pulsos nervosos, o nervo ptico que conduz estes sinais e o crebro que armazena, processa, e gera a resposta nervosa. Costa (1996) afirma que apesar da grande capacidade do sistema visual humano este est suscetvel impreciso e a presena de diversas caractersticas como influncia de iluses, passividade e limitao a uma estreita faixa de freqncia de radiao.

2.2 Viso artificial Sistema de viso artificial


Atravs da cincia do processamento de imagens pode-se prover a modificao, a anlise e a manipulao de imagens digitais, sendo que para isto uma estao de processamento de imagens dever disponibilizar trs facilidades: digitalizao, visualizao e manipulao das imagens. Facon, (1993) afirma que os sistemas de viso artificial variam muito de acordo com a aplicao que tero. O tratamento sobre a imagem deve levar em considerao trs caractersticas: a) a natureza da imagem (de que rea provm a imagem); b) a qualidade da imagem; c) o conhecimento do meio de estudo.

Segundo Facon (1993) e Gonzalez (1992) a estrutura funcional (fig. 1) de um sistema de viso artificial pode ser dividida em:

6 a) aquisio da imagem: Se d atravs do que chamado de sensor de imageamento, normalmente uma cmera de vdeo; b) digitalizao da imagem: a transformao dos raios luminosos capturados pelo sensor de imageamento em uma matriz bidimensional de elementos chamados pixels (captulo 2.4); c) pr-processamento: Consiste na correo de eventuais defeitos e

anormalidades encontradas na imagem, isto para que aumente a chance de sucesso nas etapas subsequentes. O pr-processamento no indispensvel, mas na maioria dos casos, necessrio (Facon, 1993); d) segmentao: Nesta etapa a imagem ser dividida em suas partes constituintes, atravs da deteco de seus contornos e regies; e) representao: Aps a aquisio, digitalizao, pr-processamento e

segmentao da imagem, deve-se ento decidir de que maneira sero agrupados os dados obtidos nas etapas anteriores. Normalmente esto em forma de pixel; f) reconhecimento e interpretao: a ltima etapa, considerada a parte inteligente do sistema, onde a imagem ser classificada (rotulada) e a deciso ser tomada em virtude desta classificao.

7 Figura 1: Estrutura funcional de um sistema de viso artificial.

Como pode-se perceber os recursos de hardware e software esto fortemente unidos nos sistemas de viso artificial. O hardware utilizado, principalmente, nas etapas de aquisio (cmeras de vdeo, cmeras fotogrficas, entre outros.) e digitalizao de imagens (conversores

analgico/digital A/D, scanners, entre outros.). J o software massivamente utilizado nas etapas de pr-processamento, segmentao, representao, reconhecimento e interpretao no sendo, porm, excludo o uso de hardware tambm nestas etapas.

2.3 Aplicao dos sistemas de viso artificial


Pode-se, hoje em dia, encontrar a aplicao dos sistemas de viso artificial nas mais diversas reas de atuao, como por exemplo:

8 a) medicina: Anlise de radiografias, mamografias (Braga Neto, 1995), tomografias, eletrocardiogramas (Parzianello, 1995) e ultra-som, para o auxlio na elaborao de diagnsticos. b) biologia: Anlise de imagens microscpicas (Ribeiro, 1995); c) segurana: extensamente utilizada na Biometria (Lawton, 1998) (Bem-Yacoub, 1999) para checagem de identidade atravs da anlise de impresses digitais, contornos da face (Lawrence, 1997) (Lin, 1997) e anlise de assinaturas (Espinosa, 1995); d) astronomia e Cosmologia: Analisando imagens obtidas a partir de telescpios para a determinao de idade, temperatura e outras caractersticas das estrelas e planetas fotografados; e) ecologia: Na anlise de imagens de satlites (Tian, 2000) por exemplo, identificando reas devastadas e ou poludas; f) fsica: Anlise e tratamento de imagens em reas como plasmas de alta energia e microscopia eletrnica (Gonzalez, 1992); g) edio de textos: Atravs do reconhecimento automtico de caracteres (OCR) (Rios, 1997); h) militar: Anlise do campo de batalha, posio e arsenal do inimigo e deteco de minas (Miao, 1998); i) meteorologia: Previso do tempo atravs da anlise de imagens areas e de satlite (Tian, 2000); j) indstria: Esta uma das grandes reas de aplicao, atualmente, dos sistemas de viso artificial. Isto se d pelo alto poder de investimento financeiro das grandes companhias em decorrncia do retorno que a aplicao desta tcnica traz. Os sistemas de viso artificial so utilizados na classificao de peas, anlise de tonalidade de tecidos e estampas, no alinhamento de impresso em offset ou papel contnuo, falhas em azulejos, montagens efetuadas por rob, entre outras. A tabela 1 apresenta um comparativo entre o sistema visual humano e o sistema de viso artificial.

9 Tabela 1: Comparativo entre o sistema visual humano e sistema de viso artificial. Caracterstica Sistema visual humano Sistema de viso artificial Natureza Biolgico Hardware + Software Mtodo Interpretao da radiao Obteno de uma imagem eletromagntica do espectro contnua atravs da captao visvel (Facon, 1993). dos sinais luminosos. Estratgia utilizada Transformao de sinais Transformao dos sinais luminosos (radiao) em sinais luminosos (analgicos) em neuronais (Facon, 1993). sinais digitais para posterior processamento e anlise. Adaptao ao meio Ajuste do foco e luminosidade j O ajuste de luminosidade, no momento da recepo do dependendo do tipo de sinal. sistema, pode se dar no momento da captao ou aps efetuado algum tipo de anlise da imagem. Integrao de recursos Habilidade do ser humano em Relativa dificuldade em unir unir inteligncia, experincia e as tcnicas de processamento acuidade visual. de imagens e anlise inteligente. Aplicao Para resoluo de diversos Resoluo de problemas problemas, em certos casos especficos. dispensando o treinamento ou conhecimento prvio.

2.4 Imagem digital


Segundo Facon (1993), pode-se considerar uma imagem digital como sendo uma matriz onde os ndices de suas linhas e colunas indicam um determinado ponto na imagem, e o valor contido neste elemento da matriz indica o brilho mdio amostrado, ou seja, uma imagem digital refere-se a funo de intensidade de luz f(x,y), onde x e y denotam as coordenadas espaciais e o valor de f em qualquer ponto (x,y) proporcional ao brilho (ou nveis de cinza da imagem naquele ponto) (Gonzalez, 1992) (figura 2). Gonzalez (1992) chama os pontos presentes nesta matriz de elementos da imagem, elementos da figura ou, como comumente conhecido, pixel (figura 3).

10 Figura 2: Representao de um pixel na imagem f(x,y).

Figura 3: Pixels na matriz de uma imagem monocromtica.

11

3 Redes neurais e reconhecimento de padres


A origem da teoria das redes neurais remonta os modelos matemticos, da engenharia e neurnios biolgicos (Kovcz, 1996). Tal como humanos aplicam o conhecimento adquirido em experincias passadas para resoluo de novos problemas, uma rede neural utiliza exemplos resolvidos previamente para tomar novas decises, fazer classificaes e prognsticos. Principais aplicaes de redes neurais segundo Jain (1996): a) reconhecimento de padres; b) previso; c) otimizao; d) memria associativa; e) controle.

3.1 Breve histrico das redes neurais


A descrio do neurnio biolgico foi apresentada, primeiramente, por Ramn y Cajal no sculo 19. Suas partes constituintes e funcionalidades foram devidamente identificadas, mas suas manifestaes eltricas somente foram observadas por DuBois Reymond, alguns anos depois. Somente mais tarde, porm, seu funcionamento comeou a ser melhor entendido, com as pesquisas de Erlanger e Gasser, na dcada de 1920 (Kovcs, 1996). Estima-se que o crebro humano possua em torno de 100 bilhes (1011) de neurnios e que o nosso sistema nervoso tenha cerca de 1014 conexes entre eles (sinapses). Estudiosos afirmam que cada neurnio possua mais de 1000 sinapses (Kung, 1993). As redes neurais procuram reproduzir o processo de resoluo de problemas do crebro humano e natural que seus conceitos estejam fortemente ligados ao funcionamento das clulas nervosas (neurnios). Como verifica-se na literatura a respeito de redes neurais, o neurnio artificial (fig. 4a) retratado de forma semelhante ao neurnio biolgico (fig. 4b).

12 Figura 4: Representao do neurnio artificial (a) e do neurnio biolgico (b).

Redes neurais artificiais so freqentemente classificadas como sendo uma linha de pesquisa dentro da rea de Inteligncia Artificial (IA). Outros ramos da IA so: a) sistemas especialistas; b) algoritmos genticos; c) lgica Fuzzy.

Kovcs (1996), ainda aplica outras definies para as redes neurais, classificando-as como: modelos matemticos para a classificao e reconhecimento de padres, modelos em cincia cognitiva, parte da teoria conexionista e uma teoria para o estudo dos fenmenos complexos. As pesquisas na rea de redes neurais tiveram seu incio em meados da dcada de 1940 e se estendem at os dias de hoje. Tafner (1995) descreve, de forma sucinta, o histrico das redes neurais artificiais conforme mencionado abaixo: a) primeiro trabalho: McCulloch, um neurofisiologista, e Pitts, um matemtico, nos anos 40; b) na mesma poca, Donald Hebb elabora a lei de aprendizado das redes neurais, descrevendo o que ocorre durante o processo de aprendizado no crebro; c) realizao, em 1956, da 1a Conferncia Internacional de Inteligncia Artificial, onde foi apresentado o modelo desenvolvido por Nathaniel Rochester, da IBM; d) em 1959 foi apresentado o modelo de rede neural, desenvolvido por Widrow da Universidade de Standford, chamado de Adaline - Adaptive Linear Element (Kovacz, 1996);

13 e) frank Rosenblat, na Universidade de Cornell em 1960, ...criou uma genuna rede de mltiplos neurnios do tipo descriminadores lineares e chamou esta rede de Perceptron. (Kovacz, 1996); f) com a publicao do livro Perceptron, por Marvin Minsk e Seymor Papert, em 1969, que criticava seriamente a pesquisa na rea de redes neurais, os programas de pesquisa retrairam e quase cessaram por completo; g) ressurgimento em 1982, com a publicao do trabalho de John Hopfield, que contestou as teses de Minsk e Papert; h) ainda em 1982, no Japo, foi realizada a primeira Conferncia Conjunta Estados Unidos Japo sobre redes neurais.

Atualmente as pesquisas na rea de redes neurais no so mais exclusividade do meio cientfico e acadmico e inmeras aplicaes comerciais so desenvolvidas implementando seus conceitos. Como exemplo pode-se citar sistemas de segurana, monitorao do trfego em redes de computadores, classificao de produtos manufaturados, previso do comportamento das aes nas bolsas de valores e at a determinao do perfil dos consumidores de determinados produtos. Continuando a trilhar este caminho, as redes neurais vislumbram um futuro ainda mais promissor. Tafner (1995) diz que o ...sculo XXI ser direcionado para a Inteligncia.

3.2 Caracterizando as redes neurais


Quando a anlise realizada no mais sobre um nico neurnio e sim um conjunto destes interligados entre si atravs de conexes sinpticas, tem-se ento uma estrutura chamada de rede neural. As redes neurais so compostas por camadas (k), cada qual com sua funo, e so classificadas genericamente como sendo (Tafner, 1995): a) camada de entrada; b) camada(s) oculta(s); c) camada de sada.

14 A camada de entrada (k(1)) recebe diretamente o sinal do vetor de entrada, no sendo responsvel por nenhum tipo de processamento. Sua nica incumbncia a de passar para a camada seguinte (oculta) o sinal que recebeu. Os elementos (xn) recebidos pela camada de entrada k(1) podem ser representados pelo vetor: X = (x1(1), x2(1), x3(1), ... xn(1)). Entretanto, alguns autores no classificam estas unidades de entrada como sendo uma camada, exatamente pelo fato de no efetuarem nenhum processamento computacional sobre o sinal recebido. Fausett (1994), por exemplo, faz este tipo de abordagem. Loesch (1993), salienta que a funo de transferncia (captulo 3.3) nesta camada linear pois em nada modifica os valores de entrada. Zero ou m camadas ocultas (k(m)) esto presentes em uma rede neural e se localizam entre a camada de entrada e a camada de sada. Segundo Tafner (1995) no existe uma regra para se determinar a quantidade de camadas ocultas existentes em uma rede neural. Nesta camada o sinal propagado para os outros neurnios obedecendo-se as regras de transferncia, ou seja, sero efetuadas operaes computacionais com estes sinais. Os elementos (xn) recebidos pela camada oculta k(m) podem ser representados pelo vetor: X = (x1(m), x2(m), x3(m), ... xn(m)). A camada de sada (km+1) faz a interface da rede neural com o mundo exterior (Tafner, 1995). Dependendo do tipo de arquitetura da rede neural, tambm nesta camada poder ocorrer processamento do sinal recebido (captulo 3.3). Os elementos (xn) recebidos pela camada k(m+1) so representados pelo vetor: X = (x1(m+1), x2(m+1), x3(m+1), ... xn(m+1)). Um exemplo de rede neural com as suas camadas pode ser visto na figura 5.

15 Figura 5: Camadas de uma rede neural.

Redes neurais apresentam caratersticas que no so encontradas na tradicional arquitetura Von Neumann. Segundo Jain (1996), elas incluem: a) massivo paralelismo; b) representao e computao distribuda; c) habilidades de aprendizado; d) habilidades de generalizao; e) adaptatividade; f) contexto de processamento da informao herdado; g) tolerncia a falhas; h) baixo consumo de energia.

3.3 Arquiteturas, treinamento e funes de ativao


Fausett (1994) afirma que uma rede neural pode ser classificada levando-se em considerao trs caractersticas: a) sua arquitetura; b) o algoritmo de treinamento utilizado; c) sua funo de ativao.

16

3.3.1 Arquiteturas de redes neurais


Segundo Fausett (1994), a distribuio dos neurnios nas camadas e o padro de conexo entre as camadas chamado de arquitetura da rede. De forma anloga ao que ocorre com as conexes entre os neurnios biolgicos, a rede poder ter todas as sadas de uma camada conectadas com todos os neurnios da prxima camada. A isto d-se o nome de rede neural amplamente conectada (fully connected). A seguir esto representados, graficamente, algumas arquiteturas (Tafner, 1995) Fausett (1994). A arquitetura multilayer feedforward (fig. 6) caracteriza-se pelo fato de o sinal ser propagado somente para frente (feedforward) e a rede ser constituda de duas ou n camadas (multilayer). Figura 6: Rede Multilayer feedforward.

Chamada de Maxnet e baseada na competio, a arquitetura competitive layer (fig. 7) geralmente utilizada como sub-rede para a seleo de qual nodo tem o sinal de entrada maior. Os n nodos esto amplamente conectados e seus pesos so simtricos e fixos.

17 Figura 7: Rede Competitive Layer.

Nas redes com arquitetura feedback (fig. 8) o sinal de sada de um neurnio serve como entrada para outra camada ou at para a mesma camada. Figura 8: Rede feedback.

As redes que utilizam a arquitetura multilayer feedforward/backward (fig.9) propagam o sinal tanto para frente (feedforward) quanto para trs (backward). Este tipo de arquitetura utilizado em sistemas onde o sinal anterior influencia o prximo sinal. Figura 9: Rede Multilayer Feedforward/Backward.

18 A arquitetura da rede poder ser escolhida de acordo com a necessidade da aplicao ou at mesmo o gosto do projetista (Tafner, 1995). Loesch (1996) estabeleceu a relao entre alguns modelos de redes neurais e suas aplicaes bsicas (tabela 2): Tabela 2: Modelos de redes neurais e suas aplicaes bsicas. Modelo Data Aplicao bsica Adaline / Madaline 1960 Filtragem de sinal adaptativo, equalizao adaptativa Adaptive resonance Theory 1983 Reconhecimento de padres (ART) Backpropagation perceptron 1974-1986 Reconhecimento de padres, filtragem de sinal, remoo de rudos, segmentao de sinal/imagem, classificao, controle robtico adaptativo, compresso de dados Recurrent 1987 Controle robtico, reconhecimento de fala, previso de eventos sequenciais Time-Delay 1987 Reconhecimento de fala Redes de ligaes funcionais 1988 Classificao, mapeamento Redes de funo de base radial 1987-1988 Classificao, mapeamento Backporpagation de funo 1974 Neurocontrole, robtica utilidade no tempo BAM Memria associativa 1987 Heteroassociativa (memria endereada por bidirecional contedo Boltzmann machine, Caughy 1984-1986 Reconhecimento de padres (imagens, machine radar, sonar) Hopfield 1982 Evocao heteroassociativa, otimizao Brain-state-in-a-box (BSB) 1977 Possivelmente melhor desempenho que a rede Hopfield Neocognitron 1975-1982 Reconhecimento de caracteres manuscritos e outras figuras

3.3.2 Treinamento
Para efetuar o treinamento das redes neurais h, basicamente, duas formas: o treinamento supervisionado e o no supervisionado. No treinamento supervisionado se destaca a presena do que chamado de professor, sendo que os padres de entrada so apresentados rede neural sempre acompanhados dos padres de sada a eles associados. Caso o padro no seja reconhecido de forma positiva dever ocorrer uma correo dos pesos, conhecido por ajuste sinptico.

19 Este ajuste sinptico ocorre aplicando-se, normalmente, a chamada Regra Delta. Esta regra possui o seguinte formato (Tafner, 1995): wi (n + 1) = wi (n) + i, sendo que i = c * * xi, onde: i = correo associado com a i-sima entrada xi wi (n + 1) = o novo valor do peso wi (n) = o valor antigo do peso = sada desejada sada obtida (erro) c = constante de treinamento

Um exemplo da utilizao deste mtodo de treinamento pode ser observado nos sistemas de classificao de peas manufaturadas, onde o responsvel pelo treinamento apresenta o conjunto de padres de entrada relacionando-os com os tipos de peas para que a rede possa aprender quais padres de entrada esto associados aos padres de sada. O treinamento no supervisionado no requer a presena do professor nem de padres de sada que necessitem ser comparados com os padres de entrada. A rede por si s aprende a classificar os padres, por isso so conhecidas como classificadores e so utilizados principalmente como detetor de caractersticas (Tafner, 1995). So consideradas redes auto-organizveis (Fausett, 1994). Uma aplicao deste mtodo pode ser observado nas redes para classificao do perfil de clientes.

3.3.3 Funes de ativao


O funcionamento bsico de uma rede neural pode ser descrito como sendo o somatrio dos sinais de entrada e a aplicao de uma funo de ativao (Fausett, 1994). Uma vez aplicada a funo de ativao o sinal de sada do neurnio ser gerado. Entretanto, pode-se encontrar na literatura uma abordagem um pouco diferente. Em Tafner (1995) pode-se encontrar referncia a uma outra funo chamada de funo de transferncia, tambm conhecida por limiar lgico (threshold) que seria responsvel pela definio e envio do sinal para fora do neurnio.

20 Esta distino feita pois, em modelos de redes neurais mais simples a funo de ativao se confunde com a funo de transferncia sendo, em muitos casos, uma nica. Porm em modelos mais complexos suas atribuies so bem explcitas e distintas, cabendo a funo de ativao um processamento, dentro do prprio neurnio, do sinal recebido para s ento este ser repassado para a funo de transferncia (Tafner, 1995). As funes de transferncias mais comuns na modelagem de neurnios (fig. 10) so (Tafner, 1995) (Kovcs, 1996) (Fausett, 1994) (Masters, 1994): Figura 10: Grfico das funes de ativao.

3.3.4 Nveis estruturais


Uma vez entendido os conceitos de neurnio, rede neural, arquitetura de rede, treinamento e funo de ativao, as redes passam a ser analisadas segundo seus trs nveis estruturais (Loesch, 1996): a) micro-estrutura; b) meso-estrutura; c) macro-estrutura.

21 Na micro-estrutura analisado o neurnio de forma individual, com suas caractersticas prprias (funo de ativao, vis, ganho, entre outros). Quando considera-se o arranjo dos neurnios na rede (arquitetura), o tipo de entrada (analgico ou digital), o tipo de sada (sadas diretas ou complementao de entrada), isto caracteriza a meso-estrutura da rede. Os vrios modelos de redes neurais podem ser associados para a resoluo de um problema maior. As redes que so utilizadas de forma associada podem ser classificada em fortemente ou suavemente acopladas. A definio do uso desta soluo difcil pelo envolvimento de muitas variveis no processo como, por exemplo, o nmero, o tipo, o tamanho das redes a serem utilizadas e o padro de conexo entre elas. Este tipo de associao faz referncia macro-estrutura.

3.4 Redes neurais e o processamento de sinais


Amplamente demonstrado na bibliografia o poder de processamento de sinais, que possuem as redes neurais. Classicamente, o processamento de sinais envolve principalmente operaes lineares, exceto em alguns raros casos especficos e bem caracterizados como em detetores ou moduladores. Estas operaes lineares so coletivamente referidas como filtros lineares, e como filtros que so, tm a essencial propriedade de seletivamente separar sinais que pertencem a uma certa classe dos demais (Kovcz, 1996). Como conceituado no captulo 2.1, uma imagem a reflexo dos sinais luminosos sobre determinado objeto. Sendo assim, a implementao de um classificador neural para o reconhecimento das mesmas uma tcnica perfeitamente aplicvel. Se for analisado o caso de uma imagem relativamente simples com as seguintes caractersticas: monocromtica (preto e branco) com dimenses de 400 x 400 pixels, sendo que a partir desta imagem fosse gerada uma matriz binria representando cada pixel da imagem (1 preto, 0 - branco) tera-se uma matriz de 160.000 elementos que deveriam ser repassados para a rede neural, o que acarretaria um dimensionamento extraordinrio. Para estes casos se faz necessrio efetuar processamentos sobre estes sinais para que as

22 dimenses da matriz sejam reduzidas (a tcnica utilizada neste trabalho foi a da amostragem). A aplicao de redes neurais pode se dar tanto no processamento da imagem (melhoramento, retirada de caractersticas, compresso, entre outros), bem como no reconhecimento ou classificao. Neste caso destaca-se a macro-estrutura de uma rede neural, pois pode-se utilizar modelos diferentes para cada tarefa, quando efetuadas em conjunto. Uma das aplicaes de sucesso das redes neurais o reconhecimento de padres (Fausett, 1994), em virtude de sua capacidade de generalizao, habilidade de se ajustar a novos tipos de informaes, velocidade de execuo, tolerncia a falhas e otimalidade (Hugo, 1995). O reconhecimento de padres pode ser definido como sendo o reconhecimento atravs de mquinas de regularidades significativas em ambientes complexos ou ruidosos, ou a procura de determinadas estruturas nos dados (Hugo, 1995). Em se tratando de imagens ... um padro uma descrio quantitativa ou estrutural de um objeto ou alguma outra entidade de interesse em uma imagem. Em geral, um padro formado por um ou mais descritores... (Gonzalez, 1992). Entenda-se por descritores como sendo caractersticas. Como toda a tcnica as redes neurais apresentam suas desvantagens de aplicao (Loesch, 1996): a) falta de formalismo na especificao; b) realizao de simulaes pode ser um trabalho rduo e distante da realidade do modelo; c) limitao da aplicao a problemas especficos; entre outros.

No trabalho proposto foi implementado o modelo de rede neural do tipo Perceptron, inicialmente proposto por Frank Rosenblatt em 1957, com trs camadas: a) camada de entrada; b) camada de processamento; c) camada de sada.

23 Optou-se utilizar este modelo por se mostrar aplicvel e ter um bom desempenho na resoluo do problema proposto, bem como por seu baixo custo em termos de tempo de treinamento.

24

4 Robtica
Pressionada principalmente pela sua utilizao na indstria, a robtica tem um crescimento cada vez mais acelerado, chegando ao ponto de influenciar o cotidiano das pessoas. Quem ainda no tem algum aspecto da sua vida de alguma maneira envolvido pela robtica, provvel que no futuro a tenha, no necessariamente de um modo direto, como por exemplo sendo o dono de um rob servial, mas pense nos automveis, eles certamente tero a maioria de suas partes montadas pelas mos de um rob.

4.1 O que um rob


O homem h tempos vem construindo mquinas com capacidade de movimento, muitas vezes similares aos seus, e com o sonho inerente de inserir inteligncia nestes dispositivos. A maior parte das invenes humanas tem origem na imaginao e fantasia. Pandora, Golem e Frankenstein so considerados mais como sendo seres artificiais do que naturais (Ullrich, 1987). Segundo McComb (2000) os roboticistas assim como o Dr. Frankenstein, do clssico de Mary Wollstonecraft Shelley, do vida a suas criaes a partir de peas mortas como por exemplo, motores, engrenagens e baterias. Os primeiros sistemas que implementavam o funcionamento autnomo ficaram conhecidos como autmatos e surgiram por volta dos sculos XVII e XVIII. Os autmatos so comumente citados como ancestrais dos robs modernos, normalmente imitavam a forma do corpo humano e desempenhavam tarefas como escrita, desenho e tocar instrumentos musicais. Alguns autmatos ficaram famosos, entre eles destacam-se os de Jacques de Vauncanson (fig. 11) e os de Jaquet-Droz (fig. 12 e fig, 13).

25 Figura 11: Autmato de Jacques de Vauncanson

Fonte: Musee (1996).

Figura 12: Boneco escritor, autmato de Jaquet-Droz (parte anterior).

Fonte: Musee (1996).

26 Figura 13: Boneco escritor, autmato de Jaquet-Droz (parte posterior).

Fonte: Musee (1996).

O termo rob surgiu em janeiro de 1921 quando foi encenada pela primeira vez, em Praga, a pea teatral, Rossums Universal Robota (RUR), de Karel Capek. Na lngua tcheca a palavra robota tem o significado de servio compulsrio, atividade ou trabalho forado. Nesta pea eram conhecidos como robs, pessoas fabricadas artificialmente, sendo extremamente eficientes, porm sem emoes (Salant, 1990). Em contrapartida Claude Laurgeau diz que o termo rob provm do russo e traduz a noo de trabalho (Vieira, 1985). Salant (1990) afirma que ...um rob um dispositivo mecnico motorizado que pode ser programado para fazer de forma automtica uma grande variedade de tarefas. Uma vez programados, os robs podero executar suas tarefas sem a superviso humana..., conceito este similar ao adotado pelo Robot Institute of America (RIA) que classifica os robs como [...] manipulador multifuncional reprogramvel, projetado para mover material, partes, ferramentas ou dispositivos especializados atravs de vrios movimentos programados para a execuo de vrias tarefas. (Vieira, 1985). Se forem analisados estes conceitos, possvel chegar a concluso de que muitos dispositivos disponveis no mercado utilizam o termo rob de forma equivocada. Pode-se citar exemplos de alguns manipuladores manuais (braos robticos de brinquedo - figura

27 14) e alguns manipuladores manuais controlados remotamente (dispositivos utilizados para remoo de bombas, resduos qumicos e radioativos, dispositivos que efetuam cirurgias a distncia e a faxineira andride Tmsuk, da empresa japonesa Personal Robotics Solutions figura 15), que no poderiam ser considerados robs, pois no lembram de instrues recebidas e no so capazes de repetir tarefas de forma autnoma ou automtica (Salant, 1995). Figura 14: Brao robtico de brinquedo.

Fonte: Lego (2000).

Figura 15: Tmsuk a faxineira andride.

Fonte: Personal (2000).

So exemplos de dispositivos que genuinamente podem ser chamados de robs, segundo Salant (1990) e o RIA, os que muitas vezes so aplicados nas indstrias,

28 principalmente nas linhas de montagem de automveis figura 16 e o popular futebol de robs figura 17. Figura 16: Rob na indstria.

Fonte: Adaptado de Instituto (1998).

Figura 17: Jogo de futebol de robs.

Fonte: USP (2001).

Contradizendo, em parte, o que foi exposto anteriormente, tem-se o conceito de rob segundo a Japan Industrial Robot Association (JIRA). Para a JIRA o rob [...] uma mquina faz-tudo, equipada com um dispositivo de memria e um terminal, capaz de deslocar e substituir o trabalho humano pelo desempenho automtico dos movimentos (Vieira, 1985). Neste caso os manipuladores manuais seriam considerados robs.

29

4.2 Histrico da robtica


Segundo Carezzato (2000), o termo robtica faz referncia ao estudo e a utilizao de robs. Esta designao foi lanada pela primeira vez por Isaac Asimov um cientista russo, naturalizado americano, que utilizou extensivamente os robs em seus livros. O termo robtica foi escrito pela primeira vez em seu livro Runaround, de 1942. (Tafner, 1995). Asimov ainda lanou, na mesma poca, as diretrizes bsicas da robtica, que so citadas em grande parte da bibliografia da rea: a) Um rob no poder prejudicar um ser humano, ou atravs de sua inatividade permitir que este esteja em perigo; b) Um rob ter de obedecer as ordens dadas pelo ser humano, a menos que estas contradigam a primeira lei; c) Um rob dever preservar a prpria existncia a menos que isto contradiga a primeira e a segunda lei.

Mais tarde, em 1984, Asimov ainda lanou uma quarta lei que precede as outras trs: Um rob no pode prejudicar a humanidade nem permitir que ela o faa. Quando porm testemunha-se aplicaes de sistemas robticos em combates militares, que acabam por ceifar muitas vidas humanas, v-se que estas leis parecem no ter um sentido prtico. A fico cientfica sempre pareceu ter uma viso do que realmente iria acontecer no futuro. Isto no diferente quando robs so citados em livros, contos e filmes. Um clssico da fico, do ano de 1926, Metropolis (fig. 18), um filme de Fritz Lang, j mostrava a aplicao de robs. Lost in Space, uma srie de TV que se tornou um clssico, trazia um rob (fig. 19) que avisava a sua famlia humana sobre um perigo eminente. Mais recentemente filmes como Blade Runner (fig. 20) de Ridley Scott (1982), Terminator (fig. 21) de James Cameron (1984), e Robocop (fig. 22) de Paul Verhoeven (1987), tambm enfatizavam a presena de robs e andrides na sociedade.

30 Figura 18: Cena do filme Metropolis.

Figura 19: O rob da srie Lost in Space.

Figura 20: Cartaz de Blade Runner.

31 Figura 21: T800 o rob do filme Terminator.

Figura 22: Robocop o rob parte-homem parte-mquina.

Na prtica, a fabricao de sistemas robticos iniciou-se na fbrica de robs mais antiga do mundo, a Unimaton, sendo a ela atribuda a construo do primeiro rob industrial. Um de seus smbolos a srie de robs Unimate (fig. 23), cujo primeiro exemplar foi vendido para a GM em 1961 (Ullrich, 1987) (Salant, 1990). Estes robs fabricados pela Unimation se caracterizavam por terem acionamento hidrulico com capacidade de carga de at 160 kg, sendo utilizados em operaes de solda, carga e descarga, prensas e manuseio de materiais. Os robs da srie Unimate possuem um tempo til maior que 98%, ou seja, eles ficam ativos cerca de 51 semanas por ano (Salant, 1990).

32 Figura 23: Rob Unimate fabricado pela Unimation

Fonte: Salant (1990)

A fabricao de robs no Brasil iniciou-se em 1985 a partir do Comunicado de Robtica feito pela Secretaria Especial de Informtica. Nesse comunicado foram habilitadas dezesseis empresas para o fornecimento de robs e manipuladores, quatro destas com tecnologia estrangeira. (Salant, 1990). Hoje existem dois principais grupos de usurios de robs no Brasil: a indstria (como fonte de trabalho), com destaque para a automobilstica, e as instituies de ensino e pesquisa (no desenvolvimento e pesquisa de robs) (Salant, 1990). Pode-se citar como referncia na pesquisa da rea de robtica, instituies como a UFMG (Universidade Federal de Minas Gerais) , a USP (Universidade de So Paulo), o Centro Tecnolgico para Informtica da Unicamp e o ITA (Instituto Tecnolgico da Aeronutica).

4.3 Partes de um rob


Como os robs so construdos, normalmente, para efetuarem tarefas que so desempenhadas por seres humanos, comum que sejam concebidos levando-se em considerao o design do corpo humano (fig. 24). Os seres humanos podem ser considerados privilegiados por possurem um corpo, analisando-se todos os seus aspectos, que se aproxima da mquina perfeita. , normalmente, inteligente, pode se mover pelos mais diversos ambientes, relativamente

33 resistente, produz energia a partir do consumo de alimentos e possui mecanismos sofisticados de autodefesa (sistema imunolgico). A grande meta dos roboticistas a construo de uma mquina similar ao ser humano, meta esta que, por enquanto, ainda no foi alcanada (McComb, 2000). Figura 24: Analogia do corpo humano e as partes de um rob.

Fonte: Salant (1990).

Muitos materiais so aplicados para a construo de robs. Os utilizados com maior freqncia, segundo McComb (2000), so: a) alumnio: Utilizado em robs de tamanhos variados recomendado por ser extremamente forte, se considerado o seu peso, fcil de cortar e pode se comprado em vrios lugares;

34 b) ao: Normalmente utilizado nas bases estruturais do rob por se mostrar muito forte e resistente, entretanto, seu manuseio pode se mostrar difcil por ele ser muito duro necessitando de ferramentas especiais para efetuar o seu corte. Seu uso tambm recomendvel em partes onde preciso e fora so necessrias como braos e mos; c) estanho, ferro e lato: Estanho e ferro so utilizados como ferragens adicionais, muitas vezes suportes, folhas de metal e carcaas. O lato comumente encontrado em kits de montagem para hobistas; d) madeira: Por incrvel que parea a madeira tambm utilizada em robs, entretanto, seu uso restrito aplicaes especficas, normalmente barcos e avies robotizados. Existem muitas vantagens da aplicao da madeira, entre elas a sua facilidade de manuseio (pode ser cortada, lixada e entalhada facilmente), no condutor de eletricidade impedindo assim curto-circuitos e est disponvel em qualquer lugar; e) plstico: Muitos produtos do mundo moderno utilizam plstico, com os robs no poderia ser diferente. Por muitas vezes o plstico pode se mostrar mais resistente que os metais sendo extremamente mais leve e muito de manusear, cortar colar e dar formas das mais diversas para pea; f) foamboard: Uma espcie de sanduche de espuma com papel ou plstico colado dos lados. Normalmente utilizado em bases de pequenos robs onde o pequeno peso se faz necessrio. Pode ser facilmente recortado e moldado. Robs industriais que so, geralmente, construdos para uma gama limitada de tarefas (Ullrich, 1987) possuem quatro partes essenciais: uma base fixa (que pode girar ou deslizar, porm por uma distncia curta), um brao articulado, uma unidade de controle e um dispositivo de programao (Salant, 1990). Entretanto, com projetos mais sofisticados na rea da robtica mvel, outras varveis foram introduzidas no processo, pois agora o rob passa a ter que interagir de maneira mais efetiva com o meio em que est inserido. Alguns problemas so clssicos no desenvolvimento de robs mveis, so eles (Jones, 1998):

35 a) navegao (considerado o principal); b) reconhecimento; c) aprendizado; d) tamanho do rob; e) cooperao (interao) com outros robs.

Com estes problemas a serem resolvidos por projetistas de robs, novas partes com aplicao crtica surgem: a) Sensores de localizao e orientao; b) Locomoo (rodas, pernas ou esteiras); c) Um crebro para prover a inteligncia necessria para gerenciar todas as variveis do processo.

Algumas tcnicas so aplicadas para dar habilidade de navegao aos robs mveis. Entre elas destaca-se a aplicao de sensores para posicionamento e orientao. Estes sensores normalmente so os leds emissores de raios infravermelhos, sensores de ultra-som para avaliar distncias, giroscpios, sensores de toque, entre outros (Jones, 1998). No trabalho desenvolvido utilizou-se pares de leds infravermelhos (emissor - receptor) para que o line tracing pudesse ser aplicado. A tcnica do line tracing constitui-se em traar no solo, por onde o rob ir se deslocar, um linha reflexiva, normalmente branca, para que os raios infravermelhos sejam refletidos nos leds receptores. O line tracing tambm pode ser utilizado aplicando-se sensores indutivos, porm a linha traada no solo deve ser metlica.

4.4 Tipos de robs


Diante da enorme gama de aplicao dos robs surgem inmeras classificaes segundo caractersticas fsicas, tipo de locomoo, movimentao, raio de ao, inteligncia, caractersticas tcnicas internas, trabalhos que pode realizar, grau de preciso, fora que pode empregar, entre outros. Salant (1990) apresenta uma classificao como descrito abaixo:

36 a) rob articulado ou rotacional: Parecido com o brao humano, sendo capaz de muita preciso mas normalmente sem muita fora (fig 25). Figura 25: Rob articulado ou rotacional.

b) rob cilndrico: Possui um brao que pode ser girado horizontalmente. Sua preciso no similar ao articulado, porm sua fora muito mais expressiva (fig. 26). Figura 26: Robo cilndrico.

Fonte: Salant (1990).

c) rob SCARA (Selective Compilance Assembly Robot Arm): Este tipo de brao robtico possui uma liberdade de movimentao tanto no plano horizontal

37 quanto no vertical. Robs com esta configurao so utilizados em larga escala na montagem de circuitos eletrnicos (fig. 27). Figura 27: Rob SCARA.

Fonte: Salant (1990).

d) rob Spine: Implementa alguns conceitos da espinha animal, isto permite ao rob se manter ereto, curvar-se e girar, sendo altamente flexvel (fig. 28). Figura 28: Rob Spine.

Fonte: Salant (1990).

e) rob prtico: Montado sobre uma ponte rolante este tipo de rob pode se mover com grande preciso, podendo tambm ser muito forte e estender-se por grandes distncias dentro de uma fbrica por exemplo (fig. 29).

38 Figura 29: Rob prtico.

Fonte: Salant (1990).

f) robs mveis: Alvo do estudo deste trabalho, so robs que tem uma liberdade de ao maior devido ao fato de no se manterem fixos em nenhuma base (fig. 30). Figura 30: Rob mvel.

Fonte: Salant (1990).

McComb (2000) ainda classifica os robs em: a) no dependente e dependente de recursos externos (um microcomputador, por exemplo);

39 b) mveis ou estacionrios; c) autnomos ou teleoperados;

Segundo o tipo de corpo que o rob utiliza tem-se vrias caractersticas a serem consideradas. O rob pode, eventualmente, possuir um endoesqueleto (como o ser humano) ou um exoesqueleto (como os insetos). Seus corpos, assim como os do ser humano, possuem partes vitais e so comumente chamados de chassis ou frame. O formato de seu corpo tambm suscita classificaes. Mais especificamente os robs mveis podem ser (McComb, 2000): a) turtle: Estes so robs simples e compactos e seu nome deriva de sua semelhana com as tartarugas e da linguagem inicialmente utilizada para program-los (Turtle Graphics); b) vehicle: So pequenos robs autnomos com rodas. comum a utilizao de peas da LEGO (Lego, 2000) e chassi de carrinho rdio controlado. Um bom exemplo deste tipo de rob o Soujourner (fig. 31) da NASA (JET, 1997), que foi utilizado para explorar o solo de Marte; c) rover: Robs que implementam alguns conceitos do corpo humano, inclusive algumas capacidades humanas, sendo utilizados principalmente como

bombeiros e detetores de intrusos. Um famoso exemplo deste tipo de rob o R2-D2 de Star Wars. d) walker: So robs que possuem pernas e a capacidade de caminhar, podendo ser de seis pernas, como os insetos (o que d muito estabilidade e equilbrio) e duas como o ser humano. Entretanto tem-se exemplo de robs implementados com uma at dez pernas. e) android: Os andrides so robs desenvolvidos levando-se em considerao a forma exata do corpo humano. Estas so implementaes extremamente complexas, ficando portanto, atualmente, restritas aos laboratrios de pesquisa.

Segundo McComb (2000), quanto a inteligncia que o rob possui h duas formas de classificao: smarts robots (robs inteligentes) ou dumb robots (robs burros). A

40 inteligncia de um rob no pode ser medida levando-se em considerao somente a capacidade computacional, mas sim a capacidade de reao, por exemplo, analisar as variveis do ambiente e tomar uma deciso a respeito do melhor caminho a ser seguido. Normalmente um rob inteligente controlado por um computador que pode prover uma maior capacidade de processamento a fim de se analisar todo o ambiente. Entretanto tem-se implementaes com razovel poder computacional que no utilizam um computador como crebro, entre eles esto principalmente os robs BEAM. A palavra BEAM o triplo acrnimo de: Biology Electronics Aesthetics Mechanics Building Evolution Anarchy Modularity Biotechnology Ethnology Analogy Morphology Este tipo de rob foi idealizado por Mark W. Tilden do Los Alamos National Laboratory Situado em Los Alamos, Novo Mxico, EUA (BEAM, 2001).

4.5 Porque utilizar robs


Os robs so inacreditavelmente estveis e eficientes. Eles fazem trabalhos consistentes em todas as horas do dia, todos os dias do ano (exceto quando em reparo ou manuteno), nunca esto cansados, no reclamam, nunca adoecem, no chegam atrasados, no saem cedo, alm de no terem problemas pessoais e de no serem descuidados. (Salant, 1990). Ullrich (1987) j previa que o impacto da robtica na indstria seria comparvel ao que foi causado pelo trator na agricultura e pelo computador nos escritrios. A tecnologia robtica tem muito a dar em termos de qualidade e produtividade. Analisando a questo do bem-estar do ser humano a robtica tambm tem papel fundamental, liberando os trabalhadores de atividades perigosas e repetitivas. Analisando, pura e simplesmente, a quantidade de horas que um rob capaz de se manter produtivo versus a quantidade de horas produtivas de um ser humano, apresenta-se o seguinte quadro: Um ser humano que trabalhe 44 horas semanais:

41 1 ano: 52 semanas 1 ms de frias: 4 semanas Semanas trabalhadas: 48 semanas 48 semanas x 44 horas: 2122 horas trabalhadas (sem descontar eventuais atrasos, doenas, sadas antes do horrio, etc.)

Um rob que trabalhe 24 horas por dia: 1 ano: 365 dias 1 semana de manuteno: 7 dias Dias trabalhados: 358 dias 358 dias x 24 horas: 8592 horas trabalhadas (sem atrasos, doenas, etc.)

Com estes nmeros conclui-se que no existe como um ser humano competir com um rob que exera a mesma funo. Alguns dos motivos pelos quais a mo-de-obra vem se tornando to dispendiosa so os encargos impostos pelo governo, que no Brasil representam em torno de 100% do que efetivamente pago ao funcionrio, alm de outros benefcios concedidos como por exemplo planos de sade privado e subsdio para o transporte. Outros fatores a serem considerados so o investimento em segurana principalmente em atividades de alto risco, capacitao constante (treinamento) para aumentar a capacidade de concorrncia numa economia globalizada. Segundo Salant (1990), alm da visvel desvantagem em quantidade de horas trabalhadas, os seres humanos ainda podem ser sujos liberando de seus corpos fios de cabelo, partculas de pele, caspa, suor e at mesmo o gs carbnico liberado pela nossa respirao pode ser muito prejudicial a produo de circuitos eletrnicos. Outros produtos muito sensveis a impurezas so: processadores e mdias como DVD (Digital Video Disc), CD (Compact Disc) e MD (Mini-Disc). Porm o mais interessante da aplicao de robs poder liberar os seres humanos de atividades repetitivas, maantes e perigosas. Alguns trabalhos so demasiadamente hostis como por exemplo:

42 a) explorao submarina de grandes profundidades; b) minerao subterrnea; c) manipulao de cargas excessivamente pesadas; d) remoo e transporte de produtos qumicos, radioativos ou explosivos; e) explorao espacial; f) manipulao de vrus e bactrias infecciosas; g) ambientes poludos por gs venenoso e p qumico; h) locais de trabalho com temperaturas extremas (muito baixas ou muito altas); entre outros.

Algumas desvantagens da aplicao da robtica nas indstrias so apresentadas por Ullrich (1987): a) suas atividades esto limitadas s habilidades de efetuar tarefas para as quais foram desenvolvidos; b) limitao, atualmente, dos sentidos que provem interao com o meio (viso, tato, olfato, entre outros); c) altos custos de reprogramao, manuteno; d) o restante da linha de produo pode depender de um nico rob, e se este parar toda a linha fabril pra; e) a questo social em relao s mudanas impostas pela substituio da mo-deobra.

O ltimo ponto destacado por Ullrich (1987) muito delicado, pois imagine uma fbrica com apenas duas classes de trabalhadores: de um lado os tcnicos altamente especializados que fazem a manuteno e reprogramao dos robs, por outro lado tem-se os funcionrios responsveis pela limpeza e manuteno predial, enquanto estes tambm no forem substitudos por robs. Isto aumentaria ainda mais o foo existente entre as classes sociais.

43 Segundo uma viso futurista as fbricas sero compostas por mquinas, um homem e um cachorro. As mquinas fazem o trabalho, o homem trata o cachorro e o cachorro cuida para o homem no se aproximar das mquinas. Nos dias de hoje alm da aplicao da robtica nas indstrias pode-se verificar a presena de robs tambm nas residncias como forma de companhia (bichos de estimao principalmente ces e gatos), elaborando servios domsticos (mordomos e faxineiras) e no auxlio de pessoas com deficincias motoras (cadeiras de roda robotizadas) (Lemos, 2000). Outras formas de aplicao podem ser encontradas em restaurante e bares, no papel de garom e garonete, bandas musicais utilizam robs como parte de sua coreografia, robs teleoperados fazem intervenes cirrgicas e tratamentos dentrios (rob Otto, da Universidade de Humboldt - Berlim) e robs tambm so utilizados em testes de segurana em automveis (rob Klaus da Wolkswagen) (Lemos, 2000).

4.6 Grupos de pesquisas em robtica


Mundialmente conhecidos por seus projetos de pesquisa na rea da robtica destacam-se instituies de ensino, grupos de pesquisa e at mesmo companhias privadas como por exemplo: a) MIT (Massachusetts Institute of Technology): Uma das maiores referncias mundiais na rea da robtica o MIT desenvolve projetos de alta tecnologia, tendo clientes de peso como por exemplo as foras armadas dos Estados Unidos; b) NASA (National Aeronautics and Space Administration): Destaca-se

mundialmente pelo desenvolvimento de robs para a explorao espacial. Um de seus projetos atuais o desenvolvimento de robs para auxiliarem os astronautas na manuteno da Estao Espacial Internacional; c) Honda: Mais conhecida por fabricar carros e motocicletas a Honda possui, o que considerado por muitos especialistas, o projeto do rob mais avanado do mundo, pelo menos em termos de locomoo, o Asimo P3 (fig. 32).

No Brasil as instituies de ensino so os principais pesquisadoras em robtica, entre elas pode-se destacar:

44 a) USP (Universidade de So Paulo): Um dos projetos mais conhecidos da USP o Guaran, a equipe de futebol de robs que foi vice-campe mundial da Robocup 2000 (fig. 17); b) UFMG (Universidade Federal de Minas Gerais): Com seu curso de Robtica Mvel desenvolve vrios projetos atravs de seus alunos e professores; c) UNICAMP (Universidade de Campinas): Destaque para pesquisa nas reas de Robtica Pedaggica e Viso Robtica;

4.7 Estado da arte no desenvolvimento de robs


Segundo Jones (1998) o roboticista deve ser um generalista, tendo noes bsicas de engenharia mecnica, engenharia eltrica, cincia da computao e inteligncia artificial. Porm projetos avanados no necessitam somente de conhecimento bsicos. Neste caso se faz necessrio a reunio de profissionais das reas afins, com conhecimento avanado, para compartilhar sua experincia com os demais membros da equipe. Este tipo de abordagem no desenvolvimento de projetos pode ser observado em casos de sucesso, e alta tecnologia, na aplicao de sistemas robticos. Alguns projetos de alta tecnologia e sucesso podem ser vistos a seguir: Mars Pathfinder (JET, 1997):

No dia 04/12/1996 foi lanado para Marte o projeto Mars Pathfinder, talvez o mais ousado j elaborado para explorao daquele planeta. A misso chegou em solo marciano no dia 04/07/1997 e dentro da sonda enviada havia um veculo rob chamado Sojourner (fig. 31) que tinha como misso explorar o planeta vermelho. Este veculo era relativamente pequeno, pesava cerca de 11.5 quilos. Seu "crebro" era composto por duas placas que efetuavam o processamento e a distribuio de energia para todo veculo. O sistema de navegao era composto por raios laser e cmeras de vdeo. O conjunto de softwares para controle do rob era executado em uma estao Silicon Graphics Onyx2 Supercomputer, onde a seqncia de comandos era gerada. Uma vez gerados os comandos uma simulao, utilizando a realidade virtual, era efetuada para que em seguida os comando fossem enviados ao veculo atravs de radiofreqncia. O Sojourner possuia seis rodas e sua locomoo era efetuada atravs de motores DC. Sua estrutura era de alumnio e possua

45 uma isolao especial conhecida por Solid Silica Aerogel que pode operar em temperaturas com grande oscilao. A misso encerrou-se em 10/03/1998 quando a ltima transmisso do Sojourner, s 13:21, chegou Terra. Figura 31: Veculo Sojourner em solo Marciano.

Fonte: JET (1997).

Asimo P3 (Honda, 2000):

Fruto de 10 anos de pesquisa e mais de 100 milhes de dlares de investimento o Asimo P3 da Honda (fig. 32) considerado o rob mais moderno (e famoso) do mundo. Uma evoluo do projeto anterior, o P2, atualmente o P3 pode caminhar com extrema facilidade e equilbrio. O objetivo inicial do P3 era desenvolver a mobilidade com inteligncia (Lemos, 2000). Este j foi alcanado pois Asimo pode at mesmo subir e descer escadas com extrema preciso. Agora o prximo passo de seus criadores inserir inteligncia para que Asimo possa explorar ambientes por conta prpria. Algumas caractersticas do P3 so listadas a seguir:

Caracterstica

Tabela 3: Caractersticas tcnicas do rob Asimo P3. Dados

46 Peso Altura Largura Velocidade da caminhada Peso que pode carregar em cada mo Tempo de operao (bateria) Atuadores Estrutura Transmisso Sensores Bateria CPU 130 Kg 1.60 m. 0.60 m 2 Km/h 2 Kg Aproximadamente 25 min. Servo motores DC Magnsio Wireless ethernet system girmetros, sensores de fora G, sensores de toque e cmeras de vdeo. 138V 6Ah(Ni-Zn) Microspec II (110MHz) x 2

Figura 32: Asimo o rob andride da Honda.

Fonte: Honda (2000).

Aibo (Sony, 2000):

Rob de companhia criado pela Sony, tem formato de cachorro e possui capacidade de obedecer at cinqenta comandos de voz. Tambm capaz de expressar seis emoes: alegria, tristeza, raiva, surpresa, medo e frustrao. Atravs de sensores pode sentir o acariciar das pessoas tendo como reflexo o balanar de sua cauda. Aibo (fig. 33) um sucesso comercial fazendo com que a Sony no consiga atender a demanda de forma satisfatria. No dia de seu lanamento, no Japo, foram vendidos 3000 exemplares em 20 minutos e sem se importar com o preo, cerca de 2500 dlares, as 2000 unidades exportadas para os Estados Unidos se esgotaram em quatro dias. Seu sucesso tamanho

47 que a Sony eliminou as lojas do processo de vendas e atualmente s aceita encomendas por telefone ou pela Internet (Lemos, 2000). Figura 33: Aibo o cozinho-rob da Sony.

Fonte: Sony (2000).

Andros Mark V-A1 (Remotec, 2001)

Fabricado pela Remotec, Mark V-A1 (fig. 34) um exemplo clssico de robs trabalhando em ambientes hostis. Utilizado para remoo de bombas, trabalhos em usinas nucleares, entre outros, sua importncia social evidente, pois elimina a utilizao de seres humanos em trabalhos que so extremamente perigosos. O Mark V-A1 um rob relativamente grande e muito reistente. Ele capaz de se locomover em terrenos de difcil acesso desde lama, areia e pedras at escadas e rampas. Possui isolamento do ambiente para que gua, poeira e impurezas do ar no seja absorvidas por seus sistemas. Possui uma estao de comando, que pode variar de uma maleta at o tamanho de um refrigerador (dependendo do local em que ser utilizado) de onde o operador pode enviar comandos e receber o status do rob. Estas estaes de comando podem efetuar a comunicao utilizando radiofreqncia, ou cabos de fibra ptica. Atualmente mais de 600 unidades do Mark V-A1 esto em operao em departamentos de polcia, corporaes de bombeiros, a SWAT americana, entre outros.

48 Figura 34: Andros Mark V-A1 rob para desativao de bombas.

Fonte: Remotec (2001).

49

5 Desenvolvimento do prottipo
5.1 Funcionalidades do prottipo
O prottipo de rob desenvolvido no trabalho est habilitado a se locomover atravs de um ambiente controlado utilizando a tcnica de line tracing e efetuar o reconhecimento de figuras geomtricas planas que estaro dispersas ao longo do caminho percorrido. O controle do rob e o reconhecimento das imagens so efetuados por um microcomputador. A comunicao entre o microcomputador e o rob realizada atravs das interfaces serial e paralela. A interface serial utilizada para a transmisso de comandos para a cmera, bem como o recebimento da imagem capturada. J a interface paralela utilizada para enviar sinais de controle aos motores e receber o status dos sensores de posicionamento do rob.

5.2 Especificao
O software foi especificado em trs mdulos: a) controle do rob; b) reconhecimento de imagens; c) comunicao de dados.

Para ambos os mdulos foi utilizada a tcnica de fluxogramas. Um quarto componente do sistema o rob propriamente dito. Para a especificao do prottipo do rob no foi utilizada nenhuma tcnica estruturada, somente foram levantadas as necessidades e partiu-se para a montagem. O interfaceamento entre os mdulos e o rob apresentado na figura 35.

50 Figura 35: Interface entre os mdulos e o rob.

5.2.1 Mdulo de controle do rob


As atribuies do mdulo de controle so prover o deslocamento, manter e eventualmente corrigir a trajetria do rob, localizar os pontos de captura da imagem e verificar se o fim do caminho. Para estes controles, que so executados simultaneamente, foi utilizado o recurso da programao multitarefa atravs da implementao de objetos TThreads, que no ambiente Borland Delphi instanciam processos concorrentes. O fluxograma do mdulo de controle do rob mostrado na figura 36.

51 Figura 36: Fluxograma do mdulo de controle de rob.

52

5.2.2 Mdulo de reconhecimento de imagens


A funo bsica do mdulo de reconhecimento de imagens habilitar o rob, atravs da viso artificial, a reconhecer as imagens dispersas ao longo do caminho por ele percorrido. Para o melhor entendimento da especificao deste mdulo interessante a sua diviso em trs sub-funes: a) aquisio; b) processamento; c) reconhecimento.

A aquisio realiza-se atravs de uma cmera de vdeo instalada no rob que transmite, de modo serial, a imagem capturada num determinado instante. Uma vez que a imagem foi recebida ser aplicado a ela um processamento para que seja possvel rede neural proceder com o reconhecimento. Nota-se uma clara diviso das tarefas entre as partes constituintes do sistema. A aquisio ocorre no rob, j o processamento e o reconhecimento ocorrem no microcomputador. Aps ter sido capturada, a imagem submetida uma rede neural que ir efetuar o seu reconhecimento, sendo que uma resposta entre duas possveis esperada: a) a imagem capturada faz parte da classe solicitada (sada positiva); b) a imagem capturada no faz parte da classe solicitada (sada negativa).

A sada gerada pelo mdulo de reconhecimento de imagens ser repassada ao mdulo de controle do rob para que este tome a deciso de continuar ou no a sua movimentao. Um fluxograma destas etapas apresentado na figura 37.

53 Figura 37: Fluxograma do mdulo de reconhecimento de imagens.

O fluxograma do mdulo de reconhecimento de imagens apresentado na figura 38.

54 Figura 38: Fluxograma do mdulo de reconhecimento de imagens.

55

5.2.3 Mdulo de comunicao de dados


A comunicao de dados uma caracterstica importante em grande parte das implementaes computacionais. Atravs dela pode-se criar aplicaes que possibilitem a troca de informaes entre os mais diversos recursos computacionais. Atualmente, por exemplo, no so mais comuns os computadores que funcionem standalone. Quando fala-se em comunicao, de modo geral, importantes aspectos devem ser observados: a fonte de transmisso, a mensagem transmitida, o meio de transmisso e o destino da transmisso (Tafner, 1996). Imagine duas pessoas conversando na rua, mesmo numa conversa informal, os elementos da comunicao se fazem presentes: a) Fonte: pessoa que fala; b) Mensagem: palavras que esto sendo emitidas; c) Meio: o ar (por onde propagam as ondas sonoras); d) Destino: pessoa que ouve.

O emissor, por sua vez, pode trocar de papel e ser o destino da mensagem enviada e o que era o destino passa a ser o emissor. A este tipo de alternncia d-se o nome HalfDuplex, pois ocorre nos dois sentidos, porm no simultaneamente. J a comunicao que ocorre em um nico sentido chamada de Simplex. H um terceiro tipo de comunicao, chamada de Full-Duplex, onde a transmisso feita nos dois sentidos de forma simultnea. Segundo Tafner (1996), grande parte das transmisses de dados entre dois pontos feita atravs de duas maneiras: a) transmisso serial: a transmisso dos bits da informao efetuada de forma seqencial, um a um, por um nico meio fsico; b) transmisso paralela: a transmisso dos bits da informao efetuada de forma simultnea, atravs de meios fsicos paralelos. No trabalho desenvolvido foi utilizada a transmisso de dados do tipo Half-Duplex, pois h o envio de informaes para a cmera, na forma de comandos, e a cmera, por sua vez, envia retornos a estes comandos, por exemplo, a imagem capturada em determinado instante.

56 Para a comunicao com a cmera foi utilizada a transmisso serial. Outra transmisso Half-Duplex ocorre entre o software de controle do rob e as placas de acionamento dos motores de passo e os sensores de posicionamento, sendo que esta transmisso efetuada em paralelo.

5.2.3.1 Interface serial


A transmisso serial, como j discutido anteriormente, ocorre quando os bits da informao seguem no meio de forma seqencial, um a um (fig. 39). Figura 39: Transmisso serial de dados.

Atualmente,

um

padro

estabelecido

para

transmisso

serial

nos

microcomputadores a interface RS-232, que foi elaborada pelo EIA (Eletronic Institute Association), sendo que os sinais trocados entre os equipamentos so normalizados pelo CCITT (Comit Consultivo Internacional de Telegrafia e Telefonia) (Tafner, 1996). Este tipo de transmisso realizada, normalmente, atravs de dois tipos de conectores: o DB-25 (fig. 40) e o DB-9 (fig. 41). Nos microcomputadores do tipo IBM-PC comum encontrar conectado a esta interface o mouse, o modem, teclados para automao comercial, entre outros perifricos. Estas interfaces so comumente conhecidas por portas COM (COM1, COM2, COM3, COM4, etc.).

57 Figura 40: Conector DB-25.

Figura 41: Conector DB-9.

A tabela a seguir (tabela 4) mostra os pinos do padro RS-232 mais utilizados no conector DB-25 (Tafner, 1996). Tabela 4: Pinos mais utilizados do conector DB-25 no padro RS-232. Pino Denominao CCITT Funo do sinal 01 Protective ground (PG) Terra de proteo. 02 Transmitted data (TXD) Pino por onde os dados so transmitidos. 03 Received data (RXD) Pino por onde os dados so recebidos. 04 Request to send (RTS) Pino para solicitao de transmisso. 05 Clear to send (CTS) Resposta para a solicitao de transmisso. 06 Data set ready (DSR) Indica que o equipamento est conectado e pronto. 07 Signal Ground (SG) Sinal de referencial zero. 08 Data carrier detected (DCD) Sinal informando que algum sinal de dado foi ou Received line signal recebido. detector (RLSD)

58 15 17 20 22 24 Transmitter clock (TXCLK) Data derived clock (RXCLK) Data Terminal ready (DTR) Ring indicator External transmitter clock (EXT TXTCLK) Clock de transmisso. Clock de recepao. Indica que o equipamento est conectado e pronto. Indica a presena de tom na linha de transmisso. Clock externo para transmisso.

No conector DB-9 h apenas 9 pinos, porm suas funes so similares aos do DB25, sendo que os pinos bsicos necessrios para a transmisso esto presentes (tabela 5): Tabela 5: Pinagem do conector DB-9 no padro RS-232. Pino Denominao 01 Carrier detect (CD) 02 Receive data (RC) 03 Transmit data (TD) 04 Data terminal ready (DTR) 05 Signal ground (SG) 06 Data set ready (DSR) 07 Request to send (RTS) 08 Clear to send (CTS) 09 Ring indicator (RI)

5.2.3.2 Interface paralela


A transmisso paralela ocorre quando os bits da informao percorrem o meio de forma simultnea, atravs de meios fsicos paralelos (fig. 42). Figura 42: Transmisso paralela de dados.

Na interface paralela tem-se a presena de 25 sinais (pinos) sendo que destes 4 so de controle, 5 de status, 8 de dados e 8 so terra (Ground - GND). Atravs do conector DB-25 (fig. 40) pode-se enviar at 12 sinais e receber outros 5. A tabela 6 mostra os pinos do DB-25 na interface paralela dos microcomputadores do tipo IBM-PC.

59 Tabela 6: Pinagem do DB-25 na interface paralela. Pino Nome Direo do sinal Tipo de sinal 01 Strobe Out Control 02 Data 00 Out Data 03 Data 01 Out Data 04 Data 02 Out Data 05 Data 03 Out Data 06 Data 04 Out Data 07 Data 05 Out Data 08 Data 06 Out Data 09 Data 07 Out Data 10 Acknowledge In Status 11 Busy In Status 12 Paper end In Status 13 Select out In Status 14 Auto feed Out Control 15 Error In Status 16 Init Out Control 17 Select in Out Control 18..25 GND -----------------Ground Originalmente concebida para conectar a impressora ao computador a porta paralela atualmente utilizada em vrios projetos de automao, por permitir o envio simultneo de sinais digitais. Assim como impressoras pode-se encontrar conectado porta paralela uma srie de perifricos como por exemplo unidade de disco removvel, scanner, entre outros. A interface paralela comumente conhecida como LPT (LPT1, LPT2, LPT3, LPT4). O fluxograma do mdulo de comunicao de dados apresentado na figura 43.

60 Figura 43: Fluxograma do mdulo de comunicao de dados.

61

5.2.4 RRO Eddie Rob rastreador de objetos Eddie


O rob rastreador de objetos Eddie um triciclo com duas rodas na parte traseira e uma na dianteira a fim de possibilitar a sua mudana de direo. Sua base de alumnio e madeira e nela esto: a) dois motores de passo; b) duas placas para controle dos motores; c) cmera para captura da imagem; d) par de sensores infravermelho na parte inferior (para o line tracing); e) sensor infravermelho na lateral direita (deteco dos pontos de parada para a captura da imagem); f) sensor infravermelho na lateral esquerda (indica fim do caminho).

5.3 Implementao
Para a implementao do software foi utilizado o ambiente de desenvolvimento Borland Delphi 5.0. Optou-se por esta ferramenta por dois principais motivos: domnio razovel das facilidades oferecidas pelo Delphi e o fato deste ambiente permitir a programao multitask que foi utilizada para prover o controle simultneo dos motores e a leitura do status dos sensores.

5.3.1 Mdulo de controle do rob


Para o controle do rob foram criadas trs threads (processos): a) thread para o motor direito: Este processo faz o controle da acelerao do motor direito com base no status dos sensores que esto acima da linha reflexiva no solo; b) thread para o motor esquerdo: Similar ao controle aplicado no motor direito; c) thread para leitura do status dos sensores: Processo utilizado para a verificao do status dos sensores localizados na parte inferior do rob que indicam se este est na trajetria, se existe um ponto de captura de imagem ou se fim de caminho.

62 A acelerao se d atravs da gerao de pulsos (sinais) que so enviados, pela porta paralela, at as placas de controle dos motores. A freqncia da gerao dos pulsos ir indicar a velocidade com que o motor dar seus passos. A velocidade de cada motor diretamente proporcional a freqncia com que os pulsos so gerados (figura 44), sendo que cada pulso corresponde a um passo do motor. Figura 44: Freqncia de deslocamento (a) x freqencia de acelerao (b).

type TThreadMotorDireito = class(TThread) protected procedure Execute; override; public constructor Create; end; type TThreadMotorEsquerdo = class(TThread) protected procedure Execute; override; public constructor Create; end;

A definio da classe TThread para controle dos motores apresentada no quadro 1: Quadro 1: Definio da classe TThread para controle dos motores. No mtodo Execute da thread de controle do motor direito tem-se o seguinte cdigo (quadro 2):

63 Quadro 2: Cdigo para acionamento do motor direito.


vMOTOR_DIREITO := cLIGA_MOTOR_DIREITO; EnviaSinalParalela(vMOTOR_DIREITO or vMOTOR_ESQUERDO); Sleep(vSLEEP_MOTOR_DIREITO); vMOTOR_DIREITO := cDESLIGA_MOTOR_DIREITO; EnviaSinalParalela(vMOTOR_DIREITO or vMOTOR_ESQUERDO);

enviado para a porta paralela o sinal do motor direito fazendo-se um ou entre este sinal e o do motor esquerdo para que no momento de se escrever na porta paralela no seja sobrescrito o byte gerado para o motor esquerdo. O mesmo vale para o motor esquerdo. A thread do motor esquerdo est implementada de forma similar (quadro 3): Quadro 3: Cdigo para acionamento do motor esquerdo.
vMOTOR_ESQUERDO := cLIGA_MOTOR_ESQUERDO; EnviaSinalParalela(vMOTOR_ESQUERDO or vMOTOR_DIREITO); Sleep(vSLEEP_MOTOR_ESQUERDO); vMOTOR_ESQUERDO := cDESLIGA_MOTOR_ESQUERDO; EnviaSinalParalela(vMOTOR_ESQUERDO or vMOTOR_DIREITO);

A leitura dos sensores feita atravs de um looping que verifica a cada 50 milissegundos o status dos sensores. A definio da classe TThread para leitura dos sensores apresentada no quadro 4: Quadro 4: Definio da classe TThread para leitura dos sensores.
type TThreadLeituraDosSensores = class(TThread) protected procedure Execute; override; public constructor Create; end;

Rotina para leitura do status dos sensores (quadro 5):

64 Quadro 5: Rotina para leitura do status dos sensores.


while true do begin vByteLido := LeSinalDaParalela; // Sensor line tracing direito if (vByteLido and cBIT_TRES) = 0 then vSLEEP_MOTOR_ESQUERDO := cACELERACAO_MEDIA else vSLEEP_MOTOR_ESQUERDO := cACELERACAO_MAXIMA; // Sensor line tracing esquerdo if (vByteLido and cBIT_QUATRO) = 0 then vSLEEP_MOTOR_DIREITO := cACELERACAO_MEDIA else vSLEEP_MOTOR_DIREITO := cACELERACAO_MAXIMA; // Iniciar captura da imagem if (vByteLido and cBIT_CINCO) <> 0 then IniciarCapturaDaImagem; // Verifica se o fim do caminho if (vByteLido and cBIT_SEIS) = 0 then ContinuarMovimentacao else EncerrarMovimentacao Sleep(50); end;

Desta maneira se um sinal for enviado pelos sensores este ser lido na porta paralela e a devida ao ser tomada, seja ela para corrigir a trajetria do rob, cessar o movimento para capturar a imagem ou porque o fim do caminho a ser percorrido. A poro da tela referente ao mdulo de controle apresentada na figura 45.

65 Figura 45: Poro da tela referente ao mdulo de controle.

5.3.2 Mdulo de reconhecimento de imagens


Todo o processo de reconhecimento de imagens inicia-se quando o mdulo de controle do rob encontra no ambiente uma imagem. A presena de uma imagem determinada por um ponto no cho que ser detectado por um sensor localizado na lateral direita do rob, portanto, sempre que este ponto for encontrado o movimento do rob cessado e a captura da imagem iniciada. Aps isto ocorrer a imagem capturada (fig. 46) enviada ao microcomputador atravs da porta serial (RS-232). Para a captura da imagem foi utilizada uma cmera que captura imagems de 270x360 pixels (97200 pixels) com 256 nveis de cinza (1 byte por pixel) e transmite os dados de forma serial linha a linha, ou seja sero recebidas na porta serial do microcomputador 270 linhas de 360 bytes cada.

66 Figura 46: Diferentes imagens capturadas pela cmera.

Uma vez que a imagem foi recebida pelo microcomputador o processamento se dar atravs da sua transformao numa matriz binria (0 e 1) com as mesmas dimenses da imagem original (270 x 360), sendo que cada elemento da matriz ir representar um pixel da imagem. Os valores binrios 0 e 1 sero atribudos conforme a intensidade da cor cinza presente na imagem. Esta intensidade, no mdulo de reconhecimento de imagens, configurvel, porm normalmente definida com valor 80. Este tipo de limiarizao conhecido como threshold (limiar lgico). A aplicao do threshold para a gerao da matriz binria mostrada no quadro 6: Quadro 6: Rotina de aplicao do limiar lgico na gerao da matriz binria.
ValorDoThreshold := 80; if ValorDoPixel >= ValorDoThreshold then ValorBinario := 1 else ValorBinario := 0;

A partir da matriz binria obtida da imagem capturada (256 nveis de cinza) possvel gerar uma imagem monocromtica (preto e branco) como pode ser observado a seguir (fig. 47):

67 Figura 47: Imagem capturada X imagem processada.

Como fica impraticvel passar para a rede neural uma matriz de dimenso to grande (270 x 360 geraria 97200 entradas para a rede), aplicado matriz um prprocessamento para efetuar a reduo da mesma. Utilizou-se para isto a tcnica da amostragem. O algoritmo funciona efetuando o somatrio dos elementos da matriz, agrupando-os de 10 em 10, da seguinte forma: a1 1 + a1 2 + a1 3 + ... + a1 10 + a 21 + a22 + a2 3 + ... + a2 10 + a3 1 + a3 2 + a3 3 + ... + a3 10 + . . . a10 1 + a10 2 + a10 3 + ... + a10 10

A frmula de pr-processamento para cada grupo de 10 x 10 bytes, que ocorre para toda dimenso da matriz (270 x 360), a seguinte:

68

10 i=1 j =1

aij

No caso do pr-processamento tambm aplicado um threshold, ou seja, se o somatrio for maior ou igual ao limiar especificado ento o valor que ir representar o conjunto de 100 bytes (10 x 10) ser igual a 1 seno ser 0. No mdulo de reconhecimento de imagens este limiar fixo em 75. A aplicao do threshold para o pr-processamento da matriz binria mostrada no quadro 7: Quadro 7: Rotina de aplicao do limiar lgico no pr-processamento.
ValorDoThreshold := 75; if Somatorio >= ValorDoThreshold then ValorDoByte := 1 else ValorDoByte := 0;

Como resultado deste pr-processamento obtida uma matriz de 20 x 36. Esta dimenso foi escolhida, pois um grande nmero das imagens capturadas tm valor 0 nas ltimas 7 linhas da matriz, sendo por sua vez dispensveis. Isto tambm colabora para um dimensionamento ainda menor da rede neural. Ao passo que ocorre o pr-processamento tambm efetuado um deslocamento da imagem capturada para a posio 0 x 0 da matriz (fig. 48). Isto realizado para que, quando efetuada a captura da imagem, no seja necessrio levar em considerao a posio em que ela se encontra, tornando assim mais preciso o seu reconhecimento por parte da rede neural, pois esta no ter a incumbncia de localizar a imagem na matriz. Figura 48: Imagem centralizada X Imagem deslocada.

Uma vez com a matriz binria de dimenso 20 x 36 (fig. 49) preenchida, um vetor de entrada gerado para ser repassado camada de entrada da rede neural. Este vetor ter 721 elementos sendo que o primeiro o valor de vis.

69 Figura 49: Matriz de bits gerada a partir da imagem processada.

No trabalho desenvolvido foi aplicada a tcnica de redes neurais para o reconhecimento de figuras geomtricas planas dispostas em um conjunto de quatro padres (crculo, retngulo, tringulo e trapzio). O modelo de rede neural utilizado foi o Perceptron, aplicando-se o treinamento supervisionado para o aprendizado da rede. A rede implementada formada de trs camadas (entrada, processamento e sada) possuindo 720 entradas e 2 sadas (figura 50).

70 Figura 50: Arquitetura da rede neural utilizada.

Para efetuar o treinamento da rede foi utilizado o mtodo supervisionado. O conjunto de treinamento era formado por 25 imagens de cada padro. As taxas de acerto so apresentados na tabela 7. Tabela 7: Taxas de acerto Tipo de imagem Percentual de acerto Crculo 96 % Retngulo 92 % Tringulo 92 % Trapzio 88 % Mdia geral 92 % O algoritmo utilizado para efetuar o treinamento da rede apresentado na figura 51.

71 Figura 51: Algoritmo de treinamento utilizado.

Com uma mdia geral de acerto de 92% conclui-se que o mdulo reconhecedor de imagens tem um desempenho dentro do esperado para a atividade a qual foi destinado. A poro da tela referente ao mdulo de reconhecimento apresentada na figura 52.

72 Figura 52: Poro da tela referente ao mdulo de reconhecimento

5.3.3 Mdulo de comunicao de dados


A comunicao de dados no trabalho proposto se d atravs das interfaces serial e paralela. A interface serial foi utilizada para a comunicao do microcomputador e a cmera para a captura da imagem. Utilizou-se a interface paralela para o controle do rob na acelerao dos motores para correo do curso, leitura do posicionamento sobre a linha a ser percorrida, indicao da presena de imagem a ser capturada e fim do caminho.

5.3.3.1 Interface serial


Para o uso da interface serial foi utilizado um componente j existente chamado TComPort verso 2.01. A fim de acionar a cmera so utilizados trs comandos: a) ajuste da velocidade de transmisso: para este ajuste enviado para a interface serial o byte 00h. Assim que recebe este comando a cmera ajusta a sua taxa de transmisso conforme estiver configurada a taxa da porta serial. A cmera possibilita a transmisso em quatro velocidades: 19200, 38400, 57600 e 115200 bps (bits por segundo); b) captura da imagem: para efetuar a captura da imagem enviado o caractere F (byte 46h). Ao receber este comando a cmera efetua a captura da imagem e a armazena no seu buffer; c) envio da imagem capturada: o envio do caractere E (byte 45h) indica a cmera que para iniciar a transmisso da imagem armazenada em seu buffer.

73

O software de comunicao de dados permite configurar a interface serial com os seguintes parmetros: a) porta serial: COM1, COM2, COM3 e COM4; b) taxa de transmisso: 19200, 38400, 57600 e 115200 bps; c) conexo: Ativa e Inativa. Ainda pode-se obter informaes sobre os bytes enviados e recebidos pela interface serial: a) total recebidos: indica o total de bytes recebidos desde a inicializao do sistema at o seu encerramento; b) total enviados: indica o total de bytes enviados desde a inicializao do sistema at o seu encerramento; c) imagem atual: indica quantos bytes da imagem atual esto sendo recebidos.

A poro da tela que contm o status da interface serial mostrada na figura 53. Figura 53: Status da interface serial.

5.3.3.2 Interface paralela


O uso da interface paralela possibilita o acionamento dos motores e a leitura dos sensores de localizao do rob como demonstrado na tabela 8. Tabela 8: Uso dos pinos da interface paralela. Pino Funo 6 Habilitar o funcionamento do motor esquerdo 7 Envio do pulso para acelerao do motor esquerdo 8 Habilitar o funcionamento do motor direito 9 Envio do pulso para acelerao do motor direito 10 Leitura do sensor que indica fim do caminho

74 12 13 15 Leitura do sensor que indica ponto de captura de imagem Leitura do sensor para o line tracing (esquerdo) Leitura do sensor para o line tracing (direito)

Para o envio de sinais porta paralela utilizado o seguinte procedimento (quadro 8): Quadro 8: Envio de sinais porta paralela.
procedure EnviaSinalParalela(pvSinal : byte); begin pvSinal := byte(pvSinal); asm mov dx,cENVIA_LPT1 mov al,pvSinal out dx,al end; end;

Para a leitura de sinais da porta paralela utilizada a seguinte funo (quadro 9): Quadro 9: Leitura de sinais da porta paralela.
function LeSinalDaParalela : Byte; var vByte: Byte; begin asm mov dx,cLE_LPT1 in al,dx mov vByte,al end; Result := vByte; end;

A poro da tela que contm o status da interface paralela mostrada na figura 54.

75 Figura 54: Status da interface paralela.

A figura 55 apresenta a tela do software desenvolvido. Figura 55: Tela do software desenvolvido.

5.3.4 RRO Eddie Rob rastreador de objetos Eddie


Na construo do rob foram enfrentadas dificuldades de ordem mecnica como, por exemplo, para efetuar as emendas nas correias utilizadas na movimentao do rob, que se mostraram instveis. Por fim foi adotado o uso de correntes abolindo assim a utilizao das correias. Questes relativas a manufatura de engrenagens apropriadas para a utilizao

76 das correntes que acoplavam os motores aos eixos, tambm tiveram que ser solucionadas procurando-se mo-de-obra especializada. Problemas como estes podem ser evitados caso o projeto de construo do rob seja precedido de um planejamento utilizando uma tcnica formal. Deve ser levado em considerao, tambm, a experincia do roboticista para que em empreendimentos futuros, erros do passado no sejam repetidos. As partes constituintes do rob so as seguintes: a) uma base de alumnio com o tamanho de 16,5 x 27 x 0,2 cm; b) trs rodas, sendo duas de 5,5 cm de dimetro na parte traseira e uma de 3,5 cm de dimetro na dianteira possibilitando assim que a direo do rob seja ajustada; c) dois motores de passo do tipo 23LM-C004-32 da Minebea Co., Ltd. de 6.0 V/Phase, 1.2 A/Phase e 1.8 Deg/Step. Com 1.8 graus por passo o motor tem de executar 200 passos para efetuar uma volta completa. Os motores acionam os eixos das rodas traseiras atravs de correntes com 6,5 cm de dimetro; d) duas placas para controle dos motores, com o esquema eletrnico definido no anexo 1, situadas na parte superior da base logo a frente dos motores; e) a cmera para captura da imagem funciona com alimentao de 12V e transmite os dados de forma serial. A dimenso da sua placa de controle de 4,5 x 8 cm. Sua lente tm o dimetro de 1 cm. Ela est inserida num invlucro de 11 cm de dimetro. No rob a cmera est posicionada na parte superior da base com a lente virada cerca de 45 graus para esquerda em relao a parte dianteira do prottipo; f) Um par de sensores situados na parte inferior do rob para que este seja mantido na trajetria definida. Um outro sensor est localizado na lateral direita indicando ao rob quais os pontos de parada para a captura das imagens. O ltimo sensor localiza-se na lateral esquerda indicando ao rob quando o fim da trajetria a ser percorrida. O esquema eletrnico dos sensores infravermelhos est no anexo 2 e foi obtido em McComb (2000). Com todas as suas partes o peso total do rob de 1,5 Kg.

77 As figuras 56 e 57 mostram, respectivamente, a parte superior e inferior do prottipo. Figura 56: Parte superior do prottipo.

78

Figura 57: Parte inferior do prottipo.

5.4 Testes e validaes


A maior concentrao de testes foi no mdulo de controle do rob. Foram efetuados testes em trajetrias de tamanhos diferentes para obter o comportamento do sistema em tempos de execuo variados onde se mostrou eficiente e estvel at o limite do comprimento total do cabo que liga o rob ao microcomputador, que tem 5 metros. Tambm foram realizados testes em trajetrias curvas, com um ngulo no inferior a 140 graus. Durante o perodo de testes o rob fez em torno de 15 trajetrias diferentes totalizando cerca de 150 percursos completos.

79 Os testes no mdulo de comunicao de dados ficaram por conta da medio do sinal enviado pelo rob assim como o enviado pelo microcomputador. Mesmo no limite especificado para o envio de sinais em paralelo (5 metros) o sinal chegava em ambos os sentidos variando de 4.95 a 5.05 volts. Tambm foram aplicados testes para o mdulo de reconhecimento de imagens que se mostrou eficiente alcanando uma taxa de 95% de acerto (no ambiente onde o Eddie estava inserido). Nos testes efetuados o rob fez cerca de 700 capturas de imagens sendo que o conjunto de testes era composto por 40 imagens diferentes dentro dos quatro padres estabelecidos (crculo, retngulo, tringulo e trapzio).

80

6 Concluses
O futuro reserva grandes avanos na rea da robtica principalmente quando emprega-se a inteligncia artificial, seja na locomoo, na interao com o ambiente e outros robs, na implementao de sentidos e no desenvolvimento das tarefas para as quais o rob foi programado. A maior dificuldade encontrada no desenvolvimento do prottipo foi a interao com o ambiente. Para dirimir esta dificuldade optou-se pela tcnica de line tracing. Mesmo assim a quantidade de processamento necessrio para manter o rob na trajetria era relativamente alta, sendo o processo de maior consumo de CPU. A tarefa de locomoo, executada pela maioria dos seres humanos com extrema facilidade, rdua para um rob, mesmo em um ambiente controlado. O custo dos equipamentos utilizados para a construo do rob representou uma fator preocupante. Quando utiliza-se sucata normalmente as peas no possuem o encaixe desejado, esto velhas demais ou so raras. Um opo ento seria a utilizao de kits para montagem de robs, entretanto, estes, geralmente, possuem um custo elevado e podem no estar dentro das especificaes que o problema a ser resolvido exige. A implementao de uma rede neural para resoluo do problema de reconhecimento de imagens mostrou-se adequada, sendo extremamente eficiente e de rpida execuo. Para atividades como explorao submarina de grandes profundidades, minerao subterrnea, remoo e transporte de produtos qumicos, radioativos ou explosivos e explorao espacial, a utilizao da viso computacional se mostra desejvel a fim de possibilitar ao rob agir de forma autnoma.

6.1 Sugestes para trabalhos futuros


Como sugestes para trabalhos futuros prope-se implementar o controle do rob, o processamento e o reconhecimento da imagem diretamente no rob, dispensando assim a utilizao do microcomputador.

81 Fazer com que o rob interaja com um ambiente dinmico, eliminando a tcnica de line tracing e aplicando a viso computacional tanto para o reconhecimento de objetos quanto para a deteco de obstculos e determinao do caminho a ser percorrido.

82

ANEXO 1: ESQUEMA DAS PLACAS DE CONTROLE DOS MOTORES

83

ANEXO 2: ESQUEMA DOS SENSORES INFRAVERMELHO

84

7 Referncias bibliogrficas
ALBUQUERQUE, Mrcio P. de. Viso por computador: conceitos bsicos, [S.l], fev. 1999. Disponvel em: <http://152.84.253.20/CVision/CompVision.htm>. Acesso em: 09 jun. 2000. BARRIE, Chris. Homem escravo da mquina, uma quase certeza. O Estado de So Paulo, So Paulo, 19 mai. 1996. Caderno 2, p. D3. BEAM Online, 2001. Apresenta uma coletnea de artigos, links, projetos e eventos sobre BEAM . Disponvel em: <http://www.beam-online.com>. Acesso em: 25 jan. 2001. BEM-YACOUB, Souhell. Fusion of face and speech data for person identity verification. IEEE Transactions on Neural Networks, v. 10, n. 5, p.1065-1074, set. 1999. BONALUME NETO, Ricardo. Robs serviais. Folha de So Paulo, So Paulo, 13 dez. 1992. Caderno FolhaMais, p. 18. BRAGA NETO, Ulisses de Mendona; Neto, Winston Arajo de Siqueira. A technique for the automatic detection and classification of mammographic calcifications using the Watershed Method. In: Simpsio Brasileiro de Computao Grfica e Processamento de Imagens, 8., 1995, So Carlos. Anais... So Carlos: UFSCar, 1995. p. 273-280. CAREZZATO, Caetano Jimenez; CASTRO, Rodrigo Souza de. Viso robtica, So Paulo, jan. [2000?]. Disponvel em: <http://www.linux.ime.usp.br/caetano/mac417/>. Acesso em: 05 mar. 2001. COSTA, Jos Alfredo Ferreira. Sistemas de viso computacional: conceitos e exemplo de aplicao em classificao automtica de objetos, Campinas, jan. [1996?]. Disponvel em: <http://produto2.pep.ufrj.br/abepro/enegep96/9/a9079.htm>. Acesso em: 09 jun. 2000. ESPINOSA, Miguel Gustavo Lizrraga; Ling, Lee Luan. Um mtodo de compresso de imagens de assinaturas estticas para um sistema de identificao pessoal. In: Simpsio

85 Brasileiro de Computao Grfica e Processamento de Imagens, 8., 1995, So Carlos. Anais... So Carlos: UFSCar, 1995. p. 65-72. FACON, Jacques. Processamento e anlise de imagens. Provncia de Crdoba: Universidad Nacional de Crdoba, 1993. FAUSETT, Laurene V. Fundamentals of neural networks: architetures, algoritms, and applications. New Jersey: Prentice-Hall Inc., 1994. GONZALEZ Rafael C.; WOODS Richard E. Digital image processing. Knoxville: Addison-Wesley Publishing Company Inc., 1992. HONDA, 2001. Apresenta o projeto do rob humanide Asimo P3. Disponvel em: <http://world.honda.com/ASIMO/>. Acesso em: 03 mar. 2001. HUGO, Marcel. Uma interface de reconhecimento de voz para o sistema de gerenciamento de central de informao de fretes. 1995. 60 f. Dissertao (Mestrado em Engenharia) Universidade Federal de Santa Catarina, Florianpolis. INSTITUTO Pedro Nunes. Coimbra, Universidade de Coimbra, 1998. Apresenta ementa e descrio do curso de actualizao em robtica e automatizao do Instituto Pedro Nunes. Disponvel em: < http://www.ipn.pt/robotica/robotica.htm >. Acesso em: 11 mar. 2001. JAIN, Anil K.. Artificial neural network: A tutorial. IEEE Transactions on Neural Networks, v. 29, n. 3, p. 31-44, mar. 1996. JET Propulsion Laboratory Mars pathfinder. Houston, NASA - National Aeronautics and Space Administration, 1997. Apresenta o projeto da NASA para a explorao do planeta Marte. Disponvel em: <http://mars.jpl.nasa.gov/MPF/index0.html>. Acesso em: 10 jan. 2001. JONES Joseph L. Jones; FLYN, Anita M. SEIGER, Bruce A. Mobile robots: inspiration to implementation. Natick: A. K. Peters, 1998.

86 KOVCS, Zsolt Lszlo. Redes neurais artificiais fundamentos e aplicaes. So Paulo: Edio Acadmica, 1996. KUNG, Sun Yang. Digital neural networks. New Jersey: Prentice-Hall, 1993. LAWRENCE, Steve. Face recognition: a convomtional neural-network aprroach. IEEE Transactions on Neural Networks, v. 8, n. 1, p. 98-113, jul. 1997. LAWTON, George. Biometrics: a new era in security. Computer Society, v. 31, n. 8 p. 1618, ago. 1998. LEGO Group - Lego MindStroms, 2001. Apresenta os kits da Lego para montagem de robs. Disponvel em: <http://mindstorms.lego.com/>. Acesso em: 11 mar. 2001. LEMOS, Jos Augusto et al. Seu novo amigo, o rob. Super Interessante, So Paulo, ano 14, n. 6, p. 32-39, jun. 2000. LIN, Shang-Hung. Face recognition/detection by probabilistic decision-based neural

network. IEEE Transactions on Neural Networks, v. 8, n. 1, p. 114-132, jul. 1997. LOESCH, Claudio. Backpropagation para redes neuronais. Dynamis, v. 1, n. 4, p. 59-78, jul./set. 1993. LOESCH, Claudio. Redes neurais artificiais: fundamentos e modelos. Blumenau: Editora da FURB, 1996. MCCOMB, Gordon. The robot builders bonanza. New York: MacGraw-Hill, 2000. MASTERS, Timothy. Signal and image processing with neural networks: a c++ sourcebook. New York: John Wiley & Sons Inc., 1994. MIAO, Xi et al . Detection of mines and mine like targets using principal component and neural network methods. IEEE Transactions on Neural Networks, v. 9, n. 3, p.454-463, mai. 1998.

87 MORIN, Herv. Homens e robs. Folha de So Paulo, So Paulo, 04 abr. 1999. Caderno FolhaMais, p. 11. MUSEE des Automates de Grenoble, [1996?]. Museu dos autmatos de Grenoble homenagem Jacques de Vauncanson. Disponvel em:

<http://www.museeautomatesgrenoble.com>. Acesso em: 14 abr. 2001. PARZIANELLO, Luiz Cludio; Furuie, Srgio Shiguemi; Moura, Lincoln. Automated detection of the left ventricle contourn in gated blood pool studies. In: Simpsio Brasileiro de Computao Grfica e Processamento de Imagens, 8., 1995, So Carlos. Anais... So Carlos: UFSCar, 1995. p. 257-263. PERSONAL Robotics Solution, 2000. Apresenta o projeto do rob humanide Tmsuk. Disponvel em: <http://www.tmsuk.co.jp/>. Acesso em: 03 mar. 2001. REMOTEC, 2001. Apresenta os robs para remoo de bombas, produtos qumicos e nucleares. Disponvel em: <http://www.remotec-andros.com/>. Acesso em: 02 mai. 2001. RIBEIRO, Jr. Eraldo; MUCHERONI, Marcos L; CRUVINEL, Paulo E.. Anlise de textura em imagens microscpicas de fungos usando mtodo auto-regressivo e uma comparao com o mtodo clssico de estimao espectral. In: Simpsio Brasileiro de Computao Grfica e Processamento de Imagens, 8., 1995, So Carlos. Anais... So Carlos: UFSCar, 1995. p. 143-149. RIOS, Emerson. Reconhecimento inteligente de caracteres (ICR-OCR): imagens de documentos. So Paulo: CENADEM, 1997. SALANT, Michael A. Introduo robtica. So Paulo: McGraw-Hill, 1990. SILVA, Ivan N. da; AMARAL, Wagner C. do; GOMIDE, Fernando A. C.. A fuzzy approach to mobile robots navigation. In: Workshop on Intelligent Robotics, 1., 1997, Porto Alegre. Anais... Porto Alegre: SBC, 1997. p. 4-8.

88 SONY, 2001. Apresenta o projeto do cozinho rob Aibo. Disponvel em: <http://www.us.aibo.com/>. Acesso em: 03 mar. 2001. TAFNER, Malcon Anderson; XEREZ, Marcos de; FILHO, Ilson W. Rodrigues. Redes neurais artificiais: introduo e princpios de neurocomputao. Blumenau: Editora da FURB, 1995. TAFNER, Malcon Anderson; LOESCH, Claudio; STRINGARI, Srgio. Comunicao de dados utilizando a linguagem C. Blumenau: Editora da FURB, 1996. TIAN, Bin et al . Temporal updating scheme for probabilistic neural network with application to satelite cloud classification. IEEE Transactions on Neural Networks, v. 11, n. 4, p.903-920, jul. 2000. ULLRICH, Robert A. Robtica: uma introduo. Rio de Janeiro: Campus, 1987. USP Universidade de So Paulo, 2000. Apresenta o projeto do time de futebol de robs Guaran. Disponvel em: <http://www.lti.pcs.usp.br/robotics/guarana/>. Acesso em: 05 mar. 2001. VIEIRA, Darli Rodrigues. Funes da robtica no processo de acumulao: O processo brasileiro. Petrpolis: Vozes, 1985.

Potrebbero piacerti anche