You are on page 1of 16

Universidade Federal do Rio Grande do Sul Instituto de Informtica Programa de Ps-Graduao em Computao Mestrado em Cincia da Computao

Arquitetura de Robs
por

Guilherme Galante

CMP135: Arquiteturas Especiais de Computadores Prof. Dr. Philippe Olivier Alexandre Navaux

Porto Alegre, outubro de 2004.

Sumrio
1. Introduo...........................................................................................................................3 2. Cog......................................................................................................................................4 2.1 O Corpo.........................................................................................................................4 2.1.1 Viso......................................................................................................................5 2.1.2 Audio..................................................................................................................5 2.1.3 Sistema Ttil e de Coordenao.............................................................................5 2.2 O Crebro......................................................................................................................6 2.2.1 L.............................................................................................................................6 2.4 Princpio do Aprendizado.............................................................................................7 3. Lucy (Cyberlife Research Ltd)............................................................................................8 3.1 Corpo.............................................................................................................................8 3.2 Crebro........................................................................................................................10 4. Daisy.................................................................................................................................11 4.1 Hardware.....................................................................................................................11 4.2 Redes Neurais..............................................................................................................12 4.2.1 A Rede Neural de Daisy.......................................................................................13 4.3 Experimentos...............................................................................................................14 5. Consideraes Finais.........................................................................................................15

1. Introduo
O termo rob, que define uma mquina ou mecanismo programvel desenhado para desempenhar (de forma similar ao homem) tarefas complexas como andar e falar, tem origem nas palavras checas robota e robotinik, que significam respectivamente trabalho forado e servo. O termo foi cunhado em 1920 pelo escritor checo Karel Capek na pea teatral R.U.R. Na trama idealizada por Capek, R.U.R. (Rossums Universal Robots) uma indstria especializada na construo de escravos artificiais, capazes de substituir o homem em trabalhos pouco interessantes. Construdos em larga escala e providos de inteligncia, esses artefatos no tardam a superar seus mestres, o que os qualifica a atuar em ambientes hostis, por exemplo, como soldados em situao de guerra. A robtica evoluiu muito com a chegada da computao e da inteligncia artificial, que possibilitaram incluir algum tipo de crebro nos robs. O primeiro passo nessa direo ocorreu em 1950, quando Alan Turing, no artigo Computing machinery and intelligence, prope uma definio operacional de pensamento. Seu experimento, Imitation Game (que ficou conhecido como Teste de Turing), sugere que no lugar de perguntarmos se uma mquina pode pensar, devemos verificar se ela capaz de passar em um teste de inteligncia. Nesse teste, uma mquina considerada inteligente se no existir diferena entre a sua conversao e a de um humano. O desafio para construir mquinas capazes de simular o comportamento Cognitivo humano foi encarado por John McCarthy e Marvin Minsky ainda na mesma dcada. No final dos anos 50 esses cientistas fundaram o Artificial Intelligence Laboratory do MIT, o primeiro laboratrio dedicado construo de robs e ao estudo da inteligncia humana, j que entender como a mente funciona uma parte-chave do problema que simul-la. Desde ento, ao longo dos anos, diversos pesquisadores vm investindo nessa rea na busca de tcnicas e mecanismos na tentativa de criar seres inteligentes. Nos captulos 2, 3 e 4 so mostrados exemplos de robs: o Cog do MIT, o Lucy da Cyberlife Research e Daisy da Universidade de Massachussets, respectivamente.

2. Cog
O projeto Cog vem sendo desenvolvido desde 1993, no laboratrio de inteligncia artificial do Instituto de Tecnologia de Massachusetts (MIT) por uma equipe composta por matemticos, mecnicos, tcnicos em informtica e filsofos, chefiados por Rodney Brooks. Diferente das outras tentativas de emulao da inteligncia, essa tentativa adota uma perspectiva no representacional da Cognio, onde o rob, como uma criana, se desenvolve por fases em interao com o meio ambiente e as pessoas que o cercam. A metodologia empregada explora quatro aspectos centrais da inteligncia humana: desenvolvimento, interao social, interao fsica e integrao. Desenvolvimento como os humanos adquirem habilidades e conhecimentos cada vez mais complexos. A interao social permite que um humano explore outros humanos, a fim de obter mais conhecimentos. A interao fsica faz com que os humanos usem o mundo como uma ferramenta para organizar e manipular conhecimento. A integrao permite que humanos maximizem a eficcia e acurcia sensorial e de seu sistema motor. Os pesquisadores acreditam que no so somente estes quatro fatores relevantes para o entendimento da inteligncia humana, mas uma simplificao do problema na criao de inteligncia semelhante humana.

Figura 1: Cog

2.1 O Corpo O corpo do Cog consiste de um torso, uma cabea e dois braos. O torso, com dois graus de liberdade, montado sobre um pedestal, onde esto presentes as fontes de energia. A cabea montada com trs graus de liberdade sobre um pescoo, que conjuntamente com os braos esto conectados a um ombro com um grau de liberdade montado sobre roldanas em um eixo vertical do torso do Cog. Seus braos tm mecanismos com seis graus de liberdade com amortecedores.

Figura 2: Mobilidade do torso do Cog

Os pesquisadores acreditam que o corpo de Cog pode ajud-lo a comportar-se como uma criatura inteligente por dois motivos: A forma, semelhante humana, faz com que a interao com o rob seja mais natural; Existem caractersticas a serem emuladas tais como o tamanho, a velocidade e a movimentao que so facilitadas pelo seu formato.

2.1.1 Viso O sistema de viso do Cog projetado para imitar algumas das capacidades do sistema de viso humano, incluindo a binocularidade e a percepo de variaes no espao. Para permitir uma viso ampla e de alta resoluo, existem duas cmeras em preto e branco por olho, sendo uma responsvel pela viso perifrica (ngulos entre 88.6 e 115.8 graus) e outra para viso em ngulos menores. Cada cmera produz um sinal NTSC que digitalizado por um frame grabber conectado a um processador de sinais. 2.1.2 Audio A sistema de audio do Cog formado por um par de microfones, montados diretamente na cabea. A interface computacional da audio inclui um amplificador, conectado a um conversor analgico-digital. O principal uso da audio atuar como o sistema auditivo humano, e integrar com outros sentidos, tal como a viso, e com o sistema motor. A localizao de fontes sonoras j est implementada, e agora as novas pesquisas esto voltadas para a separao de diversos sons. 2.1.3 Sistema Ttil e de Coordenao Atualmente o sensor ttil do Cog formado por um conjunto de sensores de fora, de modo a possibilitar a resposta a estmulos

externos. Cada sensor fornece uma medida da fora sua respectiva superfcie. Os sinais dos diversos sensores so recebidos e multiplexados por um microcontrolador 6811, e este fornece as medidas de fora e posio. Os sensores esto distribudos no torso, braos e mos de Cog. O sistema de coordenao do Cog formado por trs giroscpios montados em eixos ortogonais (x, y, z), e por dois medidores de acelerao. Estes dispositivos esto montados na cabea do rob, um pouco abaixo dos olhos. Os sinais analgicos de cada um destes sensores so amplificados e processados por um conversor analgicodigital, presente a um dos nodos do crebro. 2.2 O Crebro O controle computacional do Cog uma rede heterognea, formada por diversos tipos diferentes de processadores, que vo desde microcontroladores (controle de movimentao) at redes de processadores de sinais digitais (processamento de udio e viso). O crebro do Cog j passou por diversas revises. O original era composto por uma rede de 16 microcontroladores Motorola 68332 interligados. Cada um dos nodos executava programas escritos em L, uma linguagem derivada do Common Lisp. Atualmente o ncleo de processamento formado por uma rede de quatro PCs comuns (200 MHz), rodando sistema operacional QNX, interligados por rede ethernet 100 Mbits. QNX fornece comunicao interprocessos tolerante a falhas. Os crebros antigos e novos podem interoperarem comunicando-se atravs de uma memria compartilhada. O pr-processamento de udio e vdeo feito por uma rede a parte, formada por processadores de sinais digitais Texas Instruments C40. Esta rede inclui placas de recepo de vdeo, displays e portas de entrada e sada de udio. Cada junta do rob possui um controlador motor dedicado, construdo a partir de um microcontrolador Motorola HC11, que processa as entradas analgicas, executa clculos de movimento, e aciona os motores. 2.2.1 L L uma linguagem derivada de Common Lisp, contendo as principais funcionalidades e adaptada para multiprocessamento. O sistema L consiste de um ambiente de execuo, formado por um interpretador que executa no sistema alvo e um cross compiler que executa no sistema hospedeiro. O cross compiler desenvolvido escrito em Common Lisp e pode ser alterado para gerar cdigo em diversos processadores. A imagem do ambiente de execuo menor que 160 Kbytes, no incluindo o cross compiler, que executado no sistema hospedeiro. O usurio pode acessar o interpretador remotamente diretamente do hospedeiro. Isso permite que o usurio experimente e defina funes durante a execuo e observe os efeitos do cdigo no ambiente de execuo atual, antes de um novo ciclo de compilao.

As extenses de multiprocessamento da linguagem L permitem que uma funo Lisp seja gerada como um processo, que executado regularmente em intervalos regulares. Para permitir que diversos processos paralelos sejam executados utilizando apenas uma pilha Lisp, utiliza-se um escalonador preemptivo. Tal escalonador pode suspender a execuo ou reescalonar um processo a qualquer momento. Existem, no entanto, os chamados lightweight processes que so executados do inicio ao fim. Este tipo de processo utilizado para diminuir a sobrecarga causada por trocas de contexto. A interface entre o ambiente de execuo L e o hardware alvo feito atravs de uma interface de funes externas. Atualmente essa interface permite a L que acesse funes compiladas com uma variante do compilador GNU C. Essa interface permite que um sistema L seja extremamente portvel: um novo sistema alvo necessita apenas suportar poucas chamadas bsicas em C para suportar L. 2.4 Princpio do Aprendizado Cog aprende atravs de programas que processam as informaes geradas a partir das interaes do rob com o ambiente. No entanto, Cog no programado para uma tarefa especfica. A equipe quer que o rob trabalhe em diversas situaes. Como resultado, os pesquisadores usam uma variedade de programas de aprendizado que imitam o desenvolvimento. Esses programas essencialmente permitem que o rob aprenda por tentativa e erro. Como resultado, quando tenta aprender uma certa tarefa, ele no inicia nada bem. Mas conforme ele erra em suas tentativas ele aprende com isso e aperfeioa o seu comportamento. Desse modo Cog pode aplicar o que aprendeu para completar a mesma tarefa em diferentes condies.

3. Lucy (Cyberlife Research Ltd)


Lucy um projeto de pesquisa, desenvolvido por Steve Grand, que visa desenvolver algumas novas teorias a respeito dos princpios do funcionamento do crebro. O rob no a principal finalidade deste projeto, mas representa uma forma de testar as idias que podero ser utilizadas em outras reas. O objetivo do projeto desenvolver Lucy como um beb, iniciando sem nenhum conhecimento ou habilidade, e evoluindo-a atravs de uma mistura de crescimento e aprendizado. Ela no programada para fazer nenhuma operao. Ao invs disso, ela contm um modelo terico de crebro, construdo por dezenas de milhares de neurnios virtuais, os quais so combinados de modo a formar uma mquina de aprendizagem. O principal objetivo de Lucy estudar um possvel mecanismo neural para a gerao de imagens mentais e imaginao. De acordo com os pesquisadores, os primatas no vivem em um mundo totalmente real, mas sim em um mundo virtual dentro de nossas cabeas. Ainda de acordo com a equipe de Lucy, gostamos de pensar que somos conhecedores do que ocorre ao nosso redor, mas seria mais correto dizer que sabemos o que acreditamos que sabemos o que est acontecendo. Em outras palavras, o que vemos e ouvimos nossa interpretao do mundo externo. Sem um modelo interno, mquinas no podem fazer predies, formular hipteses ou raciocinar por analogia, e etc. O projeto Lucy tenta explorar maneiras pelas quais as mquinas poderiam ter capacidade de imaginao, e ento se tornar mais inteligentes, adaptveis, robustas e amigveis. Grosso modo, existem duas abordagens diferentes para a IA: uma tenta criar um raciocnio de alto nvel atravs de programao explcita de regras simblicas em um computador. A outra leva em considerao fatores biolgicos e organizao. Lucy est situada entre estas duas abordagens: inspirada por fatores biolgicos no que diz respeito aos fenmenos mentais. Ela no totalmente programada, mas sim pr-programada com comportamentos naturais, no inteligentes. Sua inteligncia dever surgir como uma conseqncia das interaes entre milhares de neurnios simulados, e o que foi aprendido anteriormente. Lucy no nem ser muito esperta, mas no est longe de se dizer que ela ter eventualmente sua prpria mente, mesmo que uma mente tola. 3.1 Corpo O corpo de Lucy basicamente constitudo de sucata. Os mecanismos do crebro de Lucy tambm so um tanto quanto rudes. No entanto, sua rede neural extremamente grande quando comparada com as redes convencionais. composta por mais de 50 mil neurnios virtuais, cada qual feito de pequenos circuitos. Alguns das estruturas cerebrais so biologicamente plausveis, enquanto outras so especulativas e exploratrias. O objetivo de seu crebro encontrar uma arquitetura neural capaz de autoorganizar-se em uma variedade de mquinas virtuais, capazes de executar tarefas envolvidas na viso, audio, pensamento e movimentao. Mais detalhes do corpo de Lucy podem ver vistos no Quadro 1.

Audio (2 ouvidos)

Viso Monocular

Sensores de toque, sensores de temperatura, monitores de bateria, etc.

Atuadores com treze graus de liberdade (braos, cabea, olhos e maxila).

Sistema de voz

Sem pernas (diminuio consumo de energia)

Sistema sensrio motor. Computador paralelo MIMD, baseado em cinco microcontroladores de 16 bits (Hitachi H8S). Cada placa idntica, com um processador, lgica configurvel e 32 KB de memria local. As placas se comunicam atravs de uma memria compartilhada global. Cada placa especializada para uma tarefa especfica. Tais tarefas incluem: pr-processamento de viso, pr-processamento de audio, modelo de voz, controle dos msculos, e comunicao serial com o PC. Quadro 1: Detalhes de Lucy

3.2 Crebro O crebro de Lucy ainda no est completo. Mas a mquina que o conter composta por trs Athlon XP 1.8 GHz, interligados.

Figura 3: CPU de Lucy

4. Daisy
Daisy um projeto de rob bombeiro, desenvolvido no curso de robtica da Universidade de Mississipi por Yan Zhou, Dawn Wilkins e Robert P. Cook. O principal objetivo mover-se a partir de uma posio inicial, navegar atravs de obstculos e detectar focos de incndio durante o caminho e ento apag-los.

Figura 4: Rob Daisy

4.1 Hardware O rob um veculo de quatro rodas, com motor traseiro, direcional dianteiro, conforme pode ser observado na Figura 4. construdo a partir de diversos kits Lego, e controlado por uma Handy Board. A Handy Board possui um microprocessador 6811, 32 KB RAM, motor driver chips, display LCD de 16 caracteres (2 linhas), interface serial, 7 entradas analgicas, 9 entradas digitais, uma campainha e sete botes.

Figura 5: Handy Board

O processador programado usando Interactive C, uma linguagem derivada do C que fornece uma interface interativa entre um PC e uma Handy Board, conectados atravs de um cabo serial. Os programas so compilados em um PC e ento copiado para a Handy Board para execuo.

Para apagar o fogo foram testadas duas solues: jato de gua e um ventilador. A segunda soluo foi escolhida. O ventilador ligado em ciclos de dez segundos. Esse comportamento permite que o fogo volte a acender se no for totalmente extinto.

Figura 6: Sensores do rob Daisy

A Figura 6 ilustra a disposio dos sensores de Daisy. A frente do veculo possui um detector de proximidade infravermelho (2 LEDS emissores e um detector). Este sensor detecta obstculos entre 10 e 30 centmetros de distncia. Os quatro sensores pticos so utilizados para detectar fontes de incndio em distncias de at 1 metro. Os sensores de luz so utilizados para diferenciar os modos de operao (treino ou execuo). 4.2 Redes Neurais Uma rede neural um conjunto de nodos, chamados unidades, que so conectados por links. Um valor numrico chamado peso associado a cada link. Todos os pesos em uma rede so geralmente inicializados com um valor aleatrio entre zero e um. A aprendizagem em uma rede neural tipicamente feita atravs de ajustes aos pesos. Os pesos tambm servem de memria para a rede. Algumas das unidades na interfaceiam com o ambiente, e servem como entrada ou sada da rede. Algumas redes neurais possuem uma ou mais camadas de unidades escondidas. Estas redes so chamadas de redes multicamadas. Para o experimento do rob Daisy foi utilizado uma rede do tipo perceptron, um tipo muito simples de rede neural que possui apenas unidades de entrada e sada. Neste tipo de rede neural os valores de entrada so diretamente mapeados para os valores de sada. Existem duas fases associadas ao uso de redes neurais na robtica. Primeiramente, a rede deve ser treinada, e ento testada e/ou usada. O treinamento da rede terminado pelo ajuste dos pesos associados com os links de modo a mapear cada padro de sada desejada a

um padro de entrada. A funo a ser aprendida representada pela associao dos pesos com os links. Uma vez que a rede foi treinada, a funo avaliada pelo processamento das entradas (sem atualizar os pesos), e tomar a ao correspondente sada com o maior valor.

Figura 7: Rede Neural do tipo Perceptron

A unidade computa a soma dos pesos, e ento transforma a soma dos pesos em um valor de sada para a unidade oj, passando-a atravs de uma funo de ativao. Diversos tipos de funo de ativao podem ser utilizados. 4.2.1 A Rede Neural de Daisy Daisy, o rob bombeiro, possui uma quantia limitada de memria e deve operar em ambientes de tempo real. Desse modo, decidiu-se equipa-la com uma rede do tipo perceptron. A Figura 8 mostra a arquitetura da rede empregada.

Figura 8: Rede Neural da Daisy

Na rede do rob existem 6 unidades de entrada. Quatro unidades correspondem aos sensores pticos (OPT1 OPT4) os quais detectam o fogo, e duas unidades (LED1 e LED2) so associadas aos sensores de deteco de proximidade, usados na navegao. Existem quatro unidades de sada que controlam as quatro possveis aes da Daisy: FRENTE, ESQUERDA, DIREITA, VENTILADOR. Os valores de entrada so lidos de deferentes tipos de estmulos ambientais, e ento so normalizados para um nmero real 1 entre zero e um. A unidade de ativao uma funo Sigmide ( f ( x) = ). Daisy 1 + e sum programada para executar a ao correspondente unidade de sada com maior valor. O treinamento da Daisy feito pela simulao de situaes que ela pode encontrar. O treinador coloca um obstculo em frente aos sensores infravermelhos, caso o obstculo esteja esquerda dado um comando de DIREITA, e vice-versa. Quando nenhum sensor

detecta obstculos, a ao FRENTE. Quando uma vela posta no alcance dos sensores, a funo VENTILADOR acionada. As aes durante a execuo so as j citadas FRENTE, ESQUERDA, DIREITA e VENTILADOR. Na ao VENTILADOR, a Daisy se posiciona em frente ao fogo e ento liga o ventilador. Se o fogo no for extinto, o rob move-se frente por 100 milisegundos e inicia o ventilador novamente. Este procedimento repetido at que no seja mais detectado fogo. Quando isso ocorrer o rob continua a mover-se normalmente. 4.3 Experimentos As posies iniciais para os cinco experimentos so indicadas por A, B, C, D e E, na Figura 9. O fogo (vela) indicado por . Daisy foi capaz de localizar e apagar o fogo em todos os testes. A Tabela 1 mostra o tempo exigido para cada caso.

Figura 9: Experimentos Tabela 1: Tempo gasto nos experimentos

Experimento A B C D E

Tempo 1 minuto 1 minuto 2 minutos 5 minutos 4 minutos

Em geral, Daisy no teve problemas na deteco e conteno do fogo. No geral, os resultados foram muito bons. O treinamento foi rpido e a rede neural comportou-se bem em diversas configuraes de obstculos sem nenhum treinamento adicional.

5. Consideraes Finais
Atualmente, as tcnicas existentes na robtica, aliada IA, permitem desenvolver robs capazes de aprender, adaptar-se e agir em diversas situaes. Os robs podem ser pr-programados, como no caso de Cog e Lucy, e treinados de acordo com uma soluo preconcebida para o problema, mas capaz de se adaptar continuamente enquanto interage com o ambiente, sem depender de projetistas para fazer ajustes. Em breve poderemos estar convivendo com mquinas inteligentes que estaro fazendo todo o tipo de tarefas. medida que estes robs passarem a conviver cada vez mais em nossa sociedade, iro absorver parte de nosso comportamento para melhor se relacionarem conosco. Os robs apresentados nesse trabalho so apenas uma pequena amostra do que est por vir.

Bibliografia
www.asee.org/prism/ april00/html/robotics.cfm http://www.usjt.br/col_prof/004_frankenstein2.phtml Cog Brooks, Rodney A. and Lynn Andrea Stein "Building Brains for Bodies", MIT AI Lab Memo 1439, August 1993. Brooks, Rodney, Cynthia Breazeal, Matthew Marjanovic, Brian Scassellati and Matthew Williamson "The Cog Project: Building a Humanoid Robot", in C. Nehaniv, ed., Computation for Metaphors, Analogy and Agents, Vol. 1562 of Springer Lecture Notes in Artificial Intelligence, Springer-Verlag, 1998. http://www.ai.mit.edu/projects/humanoid-robotics-group/Cog/Cog.html http://www-2.cs.cmu.edu/~chuck/pubpg/LUV-1995.html http://web.mit.edu/newsoffice/nr/1998/Cog.html LUCY http://www.cyberlife-research.com/ DAYSY Zhou, Yan; Wilkins, Dawn; Cook, Robert P. Neural Network Control for A FireFighting Robot. University of Mississippi, Dept. of Computer and Information Science.