SlideShare uma empresa Scribd logo
1 de 69
UNIVERSIDADE PRESBITERIANA MACKENZIE
FACULDADE DE COMPUTAÇÃO E INFORMÁTICA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
Trabalho de Graduação Interdisciplinar
DUPLA DE ROBÔS COOPERATIVOS
Carlos Eduardo Faddul Nunes
Renato Cesar Moretto
Vinícius Cândido Trindade
São Paulo
2011
Carlos Eduardo Faddul Nunes
Renato Cesar Moretto
Vinícius Cândido Trindade
DUPLA DE ROBÔS DE COOPERATIVOS
Trabalho de Graduação
Interdisciplinar (TGI) apresentado
como requisito parcial para a
obtenção do Grau de Bacharel do
Curso de Ciência da Computação
da Universidade Presbiteriana
Mackenzie.
Orientador: Prof. Dr. Luciano Silva
São Paulo
Novembro – 2011
Agradecimentos
Gostaríamos de agradecer aos nossos familiares e amigos, pelo apoio e
companheirismo durante o decorrer de todo esse trabalho.
Ao nosso orientador Prof. Dr. Luciano Silva, por toda ajuda,
aconselhamento, critica e orientação, sempre conseguindo tempo para nos
atender e retirar nossas duvidas, agradecemos a sua dedicação e paciência
em atender o grupo.
Ao Prof. Ms. Joaquim Pessoa Filho pelas idéias, sugestões e auxilio, no
desde o início com a parte de automação do projeto e, pela disponibilidade
para nos ajudar quando encontrávamos um problema.
Também agradecemos todos os demais professores que nos ajudaram a
chegar a este ponto, nos dando o conhecimento e experiência necessários
para a realização deste trabalho.
Agradecemos a todas as pessoas aqui citadas e acreditamos que sem
vocês este trabalho não se realizaria.
Resumo
Atualmente, os computadores são vistos como apenas máquinas que realizam
tarefas. A Computação afetiva tenta aproximar o humano da maquina, criando
um vinculo entre os dois, através da adaptação da máquina para maior
compreensão do usuário, tornando possível que a imagem da máquina para o
usuário mude. Este trabalho propõe a especificação, modelagem e
implementação de uma dupla de agentes sociáveis. Cada agente sociável será
construído no formato de um crocodilo, para aumentar a interação com seres
humanos. A implementação será realizada com o kit Lego Mindstorms,
ferramenta bastante utilizada para prototipação rápida de robôs. Para o
desenvolvimento do programa dos robôs será utilizado o módulo para o Lego
Mindstroms do software Labview.
Palavras-chave: Robótica Afetiva, Computação Afetiva, Inteligência Artificial,
Interação Humano-Máquina.
Abstract
Nowadays computers are just seen as machines that realize tasks. Affective
computing tries to bring the human closer to the machine, creating a bond
between both of them, through the adaptation of the machine for better user
understanding, making it possible to change the user’s perception of the
machine. This work proposes the specification, modeling and implementation of
a couple of sociable agents. Each agent will be built to have the form of an
alligator, to increase the interaction with humans. The implementation will be
done with the Lego Mindstorms kit, a tool widely used for the rapid prototipation
of robots. To develop the robot's program, it will be used the Lego Mindstorms
module of the software Labview.
Keywords: Affective Robotic, Affective Computing, Artificial Intelligence,
Human Machine Interaction.
Lista de Figuras
Figura 1.1: Diagrama das funções de um agente.............................................. 4
Figura 1.2: Um exemplo de sensor de áudio como o microfone........................ 5
Figura 1.3: Exemplo de LED receptores............................................................ 6
Figura 1.4: Exemplo de sensor de posição rotativo........................................... 6
Figura 1.5: Exemplo de sensor de pressão. ...................................................... 7
Figura 1.6: Exemplo de sensor de temperatura................................................. 7
Figura 1.7: Exemplo de sensor ultrassônico...................................................... 8
Figura 1.8: Exemplo de sensor de velocidade como o tacômetro. .................... 8
Figura 1.9: Exemplo de aplicação de um PLC................................................... 9
Figura 1.10: Exemplo de servo motor.............................................................. 11
Figura 1.11: Exemplo de eletroímã presente em motores............................... 11
Figura 1.12: Válvula solenóide para controle de água e gases. ...................... 12
Figura 1.13: Ilustração de garra de dois dedos. .............................................. 13
Figura 1.14:Ilustração de garra para objetos cilíndricos. ................................. 13
Figura 1.15: Ilustração de garra para objetos frágeis. ..................................... 14
Figura 1.16: Ilustração de garra articulada. ..................................................... 14
Figura 1.17: Ilustração de garra a vácuo e eletromagnética............................ 15
Figura 1.18: Ilustração de braço mecânico...................................................... 16
Figura 3.1: Componentes do kit Lego Mindstorms.......................................... 17
Figura 2.1: Robô Furby.................................................................................... 20
Figura 2.2: Robô Aibo...................................................................................... 21
Figura 2.3: Robô ASIMO em funcionamento................................................... 22
Figura 2.4: Robô Kismet em demonstração. ................................................... 22
Figura 2.5: Robô iCub. .................................................................................... 23
Figura 2.6: Arquitetura cognitiva do iCub. ....................................................... 24
Figura 3.2: Instrução de Montagem do Robô. ................................................. 28
Figura 3.3: Comparação entre o robô normal e o modificado. ........................ 28
Figura 3.4: Diferença entre os o uso modelo original para o da aplicação...... 29
Figura 3.5: Comparação entre os robôs em relação à altura das cabeças.
29
Figura 3.6: Retirada do sensor de toque. ........................................................ 30
Figura 3.7: Comparação entre o robô com o sensor de toque com a
boca aberta e fechada. 30
Figura 3.8: Rede de Petri utilizada para o projeto. .......................................... 32
Figura 3.9: Painel de Controle......................................................................... 35
Figura 3.10: Aplicação Final............................................................................ 36
Figura 3.12: Estado de Patrulha, chegada ao estado de Posicionado............ 37
Figura 3.13: Caso de cor detectada default..................................................... 37
Figura 3.15: Estado de Posicionado................................................................ 38
Figura 3.16: Estado de Posicionado................................................................ 39
Figura 3.17: Estado de Procura....................................................................... 39
Figura 3.18: Estado de Procura, caso de detecção da cor vermelha.............. 40
Figura 3.19: Ambiente onde os testes correram.............................................. 41
Figura 3.20: Sequência onde o robô desvia do obstáculo............................... 42
Figura 3.21: Ambiente com obstáculos utilizado no teste. .............................. 43
Figura 3.22: Sequência de imagens do robô ao executar o desvio do
obstáculo.......................................................................................................... 44
Figura 3.23: Robô colidindo com o obstáculo.................................................. 44
Figura 3.24: Ambiente com obstáculos e com o alvo utilizado no teste. ......... 45
Figura 3.25: Sequência onde o robô anda pelo ambiente............................... 46
Figura 3.26: Sequência de verificação do alvo................................................ 46
Figura 3.27: Foto do objeto utilizado como alvo.............................................. 47
Figura 3.28: Sequência onde o objeto encontrado é o alvo. ........................... 48
Figura 3.29: Sequência onde o robô ataca o alvo. .......................................... 48
Figura 3.31: Programa de comunicação do Host com o Client. ...................... 49
Figura 3.32: Programa de comunicação do Client com o Host. ...................... 49
Figura 3.33: Sequência de envio de mensagem. ............................................ 50
Figura 3.34: Foto do ambiente com os dois robôs. ......................................... 51
Figura 3.35: Sequência do primeiro robô encontrando o alvo......................... 52
Figura 3.36: Sequência do segundo robô encontrando o alvo. ....................... 52
Figura 3.37: Foto dos robôs atacando o alvo. ................................................. 53
Sumário
Introdução .......................................................................................................... 1
Capítulo 1........................................................................................................... 3
Sistemas Robóticos............................................................................................ 3
1.1 Introdução................................................................................................. 3
1.2 Arquitetura Básica................................................................................. 3
1.2.1 Sensores ........................................................................................ 5
1.2.2 Controle.......................................................................................... 9
1.2.3 Atuadores ..................................................................................... 10
1.3 Funcionamento ................................................................................... 15
1.4 Lego................................................................................................. 17
Capítulo 2......................................................................................................... 18
Computação Afetiva ......................................................................................... 18
2.1 Introdução ........................................................................................... 18
2.2 Fundamentos da Computação Afetiva ................................................ 18
2.3 Exemplos de Sistemas Robóticos Afetivos ......................................... 19
2.4 Paradigmas da Computação Afetiva................................................... 24
2.5 Desafio Computacional ....................................................................... 25
Capítulo 3......................................................................................................... 26
Cooperação Afetiva em Sistemas robóticos..................................................... 26
3.1 Introdução ........................................................................................... 26
3.2 Proposta do Trabalho.......................................................................... 26
3.3 Construção dos robôs ......................................................................... 27
3.3.1 Modelo robótico afetivo................................................................. 31
3.3.2 implementação ............................................................................. 34
3.4 Testes e Resultados obtidos............................................................... 40
3.4.1 Testes de desvio........................................................................... 41
3.4.2 Teste de Verificação de Alvo............................................................ 45
3.4.3 Teste de ataque e verificação de efeito............................................ 47
3.4.4 Teste de comunicação ..................................................................... 48
3.4.5 Teste de Sincronismo de Ataques.................................................... 51
Capítulo 4......................................................................................................... 54
Conclusão e trabalhos futuros.......................................................................... 54
Referências Bibliográficas................................................................................ 56
1
INTRODUÇÃO
Segundo Lockemann (2006), um robô pode ser visto como um conjunto
de sensores associados com motores trabalhando em conjunto para atingir
uma meta ou objetivo.
De acordo com Picard (2000), a visão que se tem dos robôs ou
máquinas, atualmente, é a de que são somente objetos que executam tarefas.
Neste contexto, surge a Computação Afetiva, com o objetivo de tornar os
usuários e as máquinas mais próximos, tornando as máquinas capazes de
compreender os usuários e de analisar suas rotinas e preferências. Assim, a
máquina estaria se aproximando do usuário ao conhecê-lo melhor, e isto
possibilitaria que ela pudesse adaptar sua interface para que o usuário a
compreende-se melhor também. Com isto, criaria um vínculo entre os dois,
tornando possível que a imagem da máquina para o usuário mude.
Neste contexto, o presente trabalho é proposto com o objetivo de
desenvolver de um enxame de robôs afetivos que possam interagir entre si e
cooperar na realização de tarefas. Para isso, será necessário conceber um
modelo de Inteligência Artificial capaz de permitir uma maior interação entre os
robôs, e com o usuário, ao mesmo tempo, simular o comportamento de um
animal, individual e coletivamente.
Este trabalho tem como desafio a elaboração de um modelo robótico
que atue em um ambiente determinístico e seja capaz de encontrar um alvo
definido por uma cor, se deslocar pelo ambiente sem ter problemas com
obstáculos em seu caminho, e trocar mensagens com o outro robô para que os
dois consigam atacar o inimigo juntos.
A contribuição ao final do trabalho é o desenvolvimento de tal sistema
robótico, este podendo ser melhorado e se tornar um modelo de estudo para a
área de agentes cooperativos.
2
O trabalho está estruturado da seguinte forma:
 o Capítulo 1 apresenta os sistema robóticos, suas arquiteturas básicas e
funcionalidades;
 o Capítulo 2 aborda a Computação Afetiva, seus fundamentos,
paradigmas e desafios;
 o Capítulo 3 a implementação de um enxame de robôs com o objetivo
de se testar mecanismos de Computação Afetiva na consecução
cooperativa de um objetivo;
 finalmente, no Capítulo 4, são apresentados as conclusões e os
trabalhos futuros.
3
CAPÍTULO 1
SISTEMAS ROBÓTICOS
1.1 INTRODUÇÃO
Este capitulo terá como objetivo mostrar o que como será descrito um
sistema robótico, desta forma especificando as diferenças dos mais diversos
tipos de robôs presente no dia-a-dia. Será descrito desta maneira como um
sistema robótico é visto na área de Computação como um agente, dos quais
suas ações e reações são definidas através de um conjunto de componentes
descritos como sensores, do qual é utilizado em larga escala; o controle, a área
que traduz a leitura dos sensores em ações para o controlador executar as
ações; e por fim os atuadores, que tratam da parte Mecatrônica de um sistema
robótico, como sua movimentação, limites físicos de movimentação, dentre
outras coisas.
Para que se tenha uma visão de que um sistema robótico, se trata de
um conjunto de componentes eletrônicos que são utilizados para automação,
serão apresentados os diferentes tipos de robôs disponíveis para o mercado
desde o de entretenimento até os de uso militar, desta maneira auxiliando o
entendimento de que um sistema robótico não é somente algo para
automatizar indústrias.
1.2 ARQUITETURA BÁSICA
Segundo Russel e Norvig (2004), um agente deve operar de forma
autônoma, perceber seu ambiente, persistir por um período de tempo
prolongado, adaptando-se às mudanças e ser capaz de assumir metas de
4
outros. Um agente, então, deverá perceber o que o está cercando por meio de
sensores, decidir o que deverá ser feito a seguir e, então, agir por meio de
atuadores. A Figura 1.1 ilustra os componentes de um agente:
Figura 1.1: Diagrama das funções de um agente.
Fonte: Figura adaptada de Russell e Norvig (2004, p. 34).
Russel e Norvig (2004) utilizam um robô como um exemplo de agentes.
Robôs podem perceber o ambiente através de sensores que podem ser
sensores óticos, ultrassônico, toque, som dentre outros. A partir de algo
captado, podem decidir o que fazer através da unidade de controle, onde um
programa rodará o algoritmo responsável por enviar a resposta aos atuadores,
que podem ser desde motores até membros mecânicos. Um robô que agrega
grande parte destas características é o Lego Mindstorms da Lego (2010).
Sensores
Controle
Atuadores
Percepções
Ações
Ambiente
Agente
5
1.2.1 SENSORES
Segundo Pazos (2002), sensor é um dispositivo que entrega um sinal
elétrico proporcional a uma grandeza física mensurada. Existem sensores de
posição, temperatura, umidade, pressão, vazão, presença, força, torque,
corrente, cor, altura velocidade, proximidade, luminosidade, aceleração, campo
magnético, sistemas de visão, e até sensores de cheiro. Observe-se que a
maioria dessas grandezas físicas são analógicas e, portanto, se o controlador
for digital será necessário um conversor A/D na entrada dele; mas a presença
de um objeto, por exemplo, é uma grandeza digital. Portanto, a saída desse
tipo de sensor ( que podem ser diversos tipos de sensores óticos, capacitivos,
indutivos, ou até um simples switch ou tipos de pulsador), pode ser entregue
diretamente à entrada de um controlador digital. Segundo Rosario(2005),
dentre os diversos tipos de sensores existentes, será descrito alguns
sucintamente:
 Áudio: também conhecido como sensores de som, o sensor funciona
traduzindo uma onda mecânica no ar, em um sinal elétrico, um exemplo
disso é o microfone, figura 1.2.
Figura 1.2: Um exemplo de sensor de áudio como o microfone.
Fonte: http://goodmicsforrecording.com/
6
 Ópticos: Um sensor óptico é formado por um emissor e por um receptor
de luz. O emissor pode ser um LED ou uma lâmpada. O receptor é um
componente fotossensível, isto é, sensível à luz, como o fototransitor, os
fotodiodo ou resistores variáveis pela luz. A figura 1.3 mostra um
exemplo de um LED receptor. Os sensores da figura possuem um diodo
LED(A) e um fototransistor(B).
Figura 1.3: Exemplo de LED receptores.
Fonte: http://www.hiwtc.com/
 Posição: Um sensor muito utilizado em robôs exploradores, depende de
fatores como movimentação, movimentos possíveis e, um atuador. A
figura 1.4 é um exemplo valido de sensor de posição.
Figura 1.4: Exemplo de sensor de posição rotativo
Fonte: http://www.nei.com.br
7
 Pressão: São sensores utilizados em locais onde os seres humanos,
não suportariam tais condições de pressão, como o fundo do mar ou
pressão de gases. Na figura 1.5 um sensor de pressão pode ser visto.
Figura 1.5: Exemplo de sensor de pressão.
Fonte: http://turbi.turbisegmento.pt/
 Temperatura: Servem para evitar superaquecimento em máquinas ou
só para controlar a temperatura do sistema. Podem ser controlados por
sensores de Par Bimetálico. Na figura 1.6 um sensor de temperatura que
um fio de platina enrolado não individualmente sobre um cilindro de
cerâmica.
Figura 1.6: Exemplo de sensor de temperatura.
Fonte: http://www.fpam.pt
8
 Ultrassônico: São geralmente utilizados como sensores de
proximidade. Podem apresentar problemas de funcionamento em
ambientes que contenham altos índices de 'ruídos', entretanto podem
ser utilizados em ambientes impregnados de umidade e pó. Existem
sensores ultrassônicos digitais ou analógicos que emitem sinal de
acordo com a distância do objeto. Na figura 1.7 um sensor ultrassônico
que possui dois discos, um para a transmissão das ondas sonoras, e
outro para a recepção do eco das ondas transmitidas.
Figura 1.7: Exemplo de sensor ultrassônico.
Fonte: http://aliatron.com/
 Velocidade: O sensor de velocidade mais utilizado é o tacômetro,
encontrado na figura 1.8, este consiste simplesmente num dínamo que
gera um sinal de corrente contínua de amplitude proporcional à
velocidade de rotação do seu eixo.
Figura 1.8: Exemplo de sensor de velocidade como o tacômetro.
Fonte: http://www.pce-iberica.es
9
1.2.2 CONTROLE
Segundo Rosário (2005), na área industrial, um Programmable Logic
Controller (PLC) é um dispositivo físico-eletrônico, que possui uma memória
interna programável capaz de armazenar sequência de instruções lógicas
binárias, além de outros comandos. Um PLC possui um dispositivo para se
conectar com equipamentos externos, o que permite o recebimento e/ou o
envio de variáveis de entrada ou de saída, como é ilustrado no diagrama da
figura 1.9, logo a seguir.
Figura 1.9: Exemplo de aplicação de um PLC.
Fonte: Figura adaptada de Rosário (2005, p. 283).
10
 Variáveis de entrada: são sinais externos recebidos pelo PLC, vindos
tanto de um processo controlado, como de comandos gerados pelo
operador. Exemplos: sensores, chaves, transdutores etc.
 Variáveis de saída: são os dispositivos que cada ponto de saída do
CLP controla. Tais pontos podem servir para realizar uma intervenção
direta no processo controlado por acionamento próprio ou também para
sinalizar o estado em painel sinóptico. Exemplos: válvulas solenóides,
displays, chaves sinais para outros PLCs dentre outros.
O princípio de funcionamento fundamental do CLP é a execução, dentro
da CPU, de um programa desenvolvido pelo fabricante (Firmware), que realiza
sistematicamente ações de leitura das variáveis de entrada por meio do módulo
de entrada do CLP, em conjunto com a execução de um programa armazenado
e desenvolvido pelo usuário, destinado ao controle e monitoramento de tarefas
específicas, onde, por meio de uma lógica implementada, faz ou não
intervenções nas variáveis de saída pelo módulo de saída do CLP.
1.2.3 ATUADORES
Do ponto de vista tecnológico, são os dispositivos mecânicos que
aplicam ou fazem atuar energia mecânica sobre uma máquina, para realizar
determinado trabalho, são chamados de atuadores - transdutores de saída que
altera a grandeza controlada, ou transdutores eletrônicos que convertem
energia elétrica em uma quantidade física, Rosário (2005).
São os dispositivos de transmissão de potencia mecânica que fornecem
'músculo' para mover o braço do robô, Rosário (2005). Na prática, os atuadores
podem ser utilizados na forma de motores, eletroímãs, freios, magnéticos,
válvulas solenóides para acionamento de cilindros hidráulicos e pneumáticos
dentre outros.
11
 Motor: nos sistemas de controle de posição e velocidade, nos robôs e
máquinas industriais, impressoras plotters, cd players, vídeo cassetes e
unidades de disco de computadores utilizam-se como atuadores
motores elétricos, associados e transmissões por engrenagens ou
correias. Na figura 1.10 um servo motor pode ser visto.
Figura 1.10: Exemplo de servo motor.
Fonte: http://www.alibaba.com/
 Eletroímã: trata-se de um sistema de atuação usado em aplicações
como transporte de peças de ferro ou níquel por guindaste ou por garras
de robôs e travas magnéticas, em que são empregados eletroímãs. Um
dos inconvenientes desse tipo de atuador se refere ao alto consumo de
energia. Um eletroímã utilizado para a rotação de servo motores pode
ser visto na figura 1.11.
Figura 1.11: Exemplo de eletroímã presente em motores.
Fonte: http://www.suzukionline.org/
12
 Válvula solenóide: as válvulas solenóides, figura 1.12, são
frequentemente utilizadas em aplicações indústrias, por meio do controle
de fluxo de líquido ou ar comprimido, que consiste em um ou mais
caminhos que são interceptados por pistões, acoplados e eletroímãs,
que liberam ou não fluxo, segundo Rosário (2005).
Figura 1.12: Válvula solenóide para controle de água e gases.
Fonte: http://www.nei.com.br/
Na área industrial, um atuador é de extrema importância na execução de
uma tarefa, portanto é necessário que o mesmo seja adequadamente projetado
e adaptado as condições do seu meio e área de trabalho. Segundo Rosário
(2005), existe dois tipos de atuadores: garras e ferramentas.
A garra é comparável a mão humana. Apesar de possuir limitações nos
movimentos a uma faixa de operações, Rosário (2005). A grande demanda por
esse tipo de atuador acarretou no desenvolvimento de garras que podem
manusear objetos de diferentes tamanhos, formas e materiais.
Podem ser classificadas como:
13
 Garra de dois dedos: O tipo mais comum de garra apresenta grande
variedade. Os tipos de garra de dois dedos diferenciam-se entre si pelo
tamanho e/ou pelo movimento dos dedos, como o movimento paralelo,
ou o movimento de rotação. Na figura 1.13 uma garra de dois dedos.
Figura 1.13: Ilustração de garra de dois dedos.
Fonte: http://www.dee.feb.unesp.br/
 Garra para objetos cilíndricos: Este tipo de garra consiste em dois
dedos com vários semicírculos chanfrados, figura 1.14, que permitem
segurar objetos cilíndricos de diâmetro diferentes.
Figura 1.14:Ilustração de garra para objetos cilíndricos.
Fonte: http://www.dee.feb.unesp.br/
14
 Garra para objetos frágeis: Garra própria para exercer certo grau de
força durante a operação de segurar um corpo, sem causar danos de
nenhuma ordem, é constituída de dois dedos flexíveis que se curvam
para dentro, a fim de agarrar um objeto frágil, figura 1.15.
Figura 1.15: Ilustração de garra para objetos frágeis.
Fonte: http://www.dee.feb.unesp.br/
 Garra articulada: É projetada para agarrar objetos de diferentes
tamanhos e formas. Os vínculos são movimentados por pares de cabos:
um cabo flexiona a articulação e o outro a estende. É exemplificada na
figura 1.16
Figura 1.16: Ilustração de garra articulada.
Fonte: http://www.dee.feb.unesp.br/
15
 Garra a vácuo e eletromagnética: A garra a vácuo, projetada para
prender uma superfície lisa durante a ação do vácuo, possui ventosas
de sucção conectadas à bomba de ar comprimido que prendem
superfícies como chapas metálicas e caixas de papelão, figura 1.17.
Figura 1.17: Ilustração de garra a vácuo e eletromagnética.
Fonte: http://www.dee.feb.unesp.br/
1.3 FUNCIONAMENTO
De acordo com Brasil (2005), a grande maioria dos robôs é acionada por
meio de servo - motores elétricos. O acionamento elétrico, ao contrário do
pneumático ou hidráulico, é mais facilmente controlável e oferece maior
precisão de posicionamento.
Os robôs podem apresentar vários movimentos. Cada movimento,
realizado por meio de um servo motor elétrico, corresponde ao que chamamos
de grau de liberdade. Os graus de liberdade de um robô podem estar
associados ao corpo ou ao punho.
16
Considere-se o sistema robótico mostrado na Figura 1.18:
Figura 1.18: Ilustração de braço mecânico.
Fonte: Apostila Senai de Automação. (s.d.)
O robô acima apresenta cinco graus de liberdade: três graus de
liberdade no corpo e dois graus de liberdade no punho. Os graus de liberdade
do corpo do robô definem a posição do centro da flange do punho. Assim,
quando movemos os eixos A, B e C do robô, cada qual num determinado
ângulo, a posição do centro da flange fica perfeitamente definida.
Dependendo do número de graus de liberdade, a estrutura mecânica de
um robô pode ser mais ou menos complexa. Ela consiste basicamente de
peças que se unem umas às outras por articulações ou juntas. O acionamento
de cada uma das juntas é realizado por meio de um servo motor elétrico e de
sistemas de transmissão mecânica que variam em função da configuração do
robô.
Ainda de acordo com o Brasil (2005), controlar os movimentos de um
robô consiste, basicamente, em fazer com que seus motores girem, associados
a cada uma das juntas da estrutura do robô, de modo que o órgão terminal
17
atinja posição e orientação desejadas. O controle é complicado, pois envolve
aspectos mecânicos, eletrônicos e de computação.
Não se trata apenas de um ponto, mas de uma série deles, formando
uma trajetória a ser percorrida pelo órgão terminal. E a cada ponto o órgão
terminal pode apresentar uma orientação diferente. O sistema de controle
ainda deve considerar a massa que está sendo manuseada pelo robô, as
acelerações e desacelerações, os atritos entre os componentes mecânicos.
Os desafios principais no problema do controle do movimento são a
complexidade desta dinâmica, resultante da não-linearidade, dos graus de
liberdade múltipla e a incerteza, tanto paramétrica quanto dinâmica.
A incerteza paramétrica advém do conhecimento impreciso dos
parâmetros de inércia, enquanto a incerteza dinâmica é proveniente da
flexibilidade dos links e articulações, da dinâmica dos atuadores, da fricção, do
ruído dos sensores, e da dinâmica desconhecida do ambiente.
1.4 LEGO
O kit Lego Mindstorms NXT 2.0, permite uma montagem mais fácil, sem
necessidades de conhecimentos técnicos aprofundados para a montagem de
um robô. Outra vantagem do Kit é a compatibilidade com o software Labview,
que já foi aqui descrito.
O kit possui um terminal com um microprocessador ARM7 de 32 bits,
com suporte a Bluetooth, uma porta USB 2.0, quatro entradas (para conectar
os sensores) e três saídas (para conectar os motores). Três servo motores e
quatro sensores, sendo estes: dois sensores de toque, um sensor ultrassônico
e um sensor de cores, conforme mostrado na figura 3.1.
Figura 3.1: Componentes do kit Lego Mindstorms.
Fonte: Lego Minsdstorm.
18
CAPÍTULO 2
COMPUTAÇÃO AFETIVA
2.1 INTRODUÇÃO
O objetivo deste capítulo será mostrar a existência de sistemas robóticos
sociáveis, tais como cooperativo e competitivo, desta forma especificando as
diferenças dos mais diversos tipos de robôs presente no dia-a-dia. Será
descrito como um robô sociável se comporta, quais os pontos principais que o
tornam sociável.
2.2 FUNDAMENTOS DA COMPUTAÇÃO AFETIVA
De acordo com Picard (2000), a visão que se tem das máquinas,
atualmente, é a de que são somente objetos que executam tarefas. Neste
contexto, surge a Computação Afetiva, com o objetivo de tornar os usuários e
as máquinas mais próximos. Isto seria alcançado tornando as máquinas
capazes de compreender melhor os usuários, tornando-as capazes de analisar
suas rotinas, preferências e, até mesmo, emoções.
Assim, diz Picard (2000), a máquina estaria se aproximando do usuário
ao conhecê-lo melhor, e isto possibilitaria que ela pudesse adaptar sua
interface para que o usuário a compreendesse melhor também. Com isto, seria
criado um vínculo entre os dois, tornando possível que a imagem da máquina
para o usuário mude.
Um exemplo típico é o do computador “HAL 9000” do filme 2001: A
Space Odyssey (1968), onde a máquina interage com os humanos,
percebendo suas reações e, no final, teme ser desligada, uma emoção típica
19
de seres vivos, pois acarretaria sua morte. Outro exemplo que pode ser dado
seria a personagem "Andrew" do filme Bicentennial Man (1999), do qual o
próprio robô, por alguma anomalia gerada em sua construção, desenvolve
personalidade própria ao ponto de compreender e tentar torna-se quase um ser
vivo.Há mais exemplos que pode-se oferecer de Computação Afetiva no
mundo da ficção cientifica, porém no mundo real, a humanidade ainda não
pode criar algo similar a um “HAL-9000”.
Segundo Lockemann (2006), um robô pode ser visto como um conjunto
de sensores associados com motores trabalhando em conjunto para atingir
uma meta ou objetivo. Porém, Computação Afetiva, não é somente ligada a
robôs afetivos. Embora seja uma Computação Afetiva que abrangente e
intrigante, as pesquisas nesta área são menores em relação à outras linhas de
pesquisa na área de Computação. Este projeto irá se restringir em uma
pequena parte desta área.
Embora, modelos computacionais possam ser implementados, testados
e analisados em robôs em ambientes sociais controlados (Breazel,2002), e fora
de locais não controlados para testes existem problemas, em grande parte
associados à parte de hardware, para a capacidade e complexidade de
armazenar as informações do meio em que se encontra. Contudo o verdadeiro
desafio nesta área é o poder de tomar decisões baseadas em experiências já
ocorridas, facilitando seu aprendizado, embora essa linha de pesquisa seja
chamada de Computação Cognitiva.
2.3 EXEMPLOS DE SISTEMAS ROBÓTICOS AFETIVOS
Na área de sistemas robóticos afetivos se tem uma quantidade
razoavelmente grande de exemplos que se pode ser citados, um dos exemplos
que mais conhecidos fora da área acadêmica seria o Tamagotchi, também
20
conhecido por muitos como "bichinho virtual", por seu tamanho reduzido ele era
semelhante a um chaveiro.
No Tamagotchi, o usuário era estimulado a cuidar dele fazendo com que
ele fosse alimentando, brincando, educando, vacinando, dentre outras funções
que possuí. O usuário com poucos botões era capaz de executar diversas
funções (Terra, 2010). Um dos pontos mais interessantes do Tamagotchi é que
mesmo ele sendo virtual, ele pode morrer caso o usuário não cuide dele,
criando assim um laço afetivo entre o usuário e a máquina, desprendendo o
usuário da idéia de que por ser algo virtual, associado a uma máquina, ele não
possa morrer.
Atualmente, tem-se à escolha, ao menos, 10 bichos virtuais disponíveis
ao mercado do Brasil. Não existe atualmente um que seja o melhor entre todos,
devido a grande quantidade fabrica e por empresas diversas, variando apenas
alguns aspectos durante sua vida virtual (Terra, 2010).
O robô Furby, que pode ser visto na figura 2.1 na próxima página, possui
habilidades afetivas, o robô cujo design era simples para ser infantil, o qual
conversa e joga por algum tempo e, aí dorme, como se estivesse cansado. Isso
fica mais aparente ao colocar dois Furby's juntos: eles irão interagir através de
seus sensores infravermelhos. Eles parecem ter uma mente própria. Eles
mesmos decidem quando irão acordar, falar e, depois, ir dormir (Tiger
Eletronics, s.d).
Figura 2.1: Robô Furby.
Fonte: http://www.eltiradero.net
21
O cachorro-robô Aibo, figura 2.2, também é capaz de expressar
emoções. Com sensor de toque, o robô se comporta de maneira alegre quando
recebe carinho de tal maneira que se faz acreditar que ele realmente responde
a estímulos, tem relação afetiva com o dono, mas na verdade não tem, o
pequeno Aibo apenas responde a estímulos
(ORIENTACAOUNIVIMA2008,2010). O Aibo é equipado com habilidades de
aprendizado e crescimento adaptativas que permite que cada unidade tenha
uma personalidade única, com o comportamento moldado por seu dono
(Sony,2010).
Figura 2.2: Robô Aibo.
Fonte: http://www.eltiradero.net/
O ASIMO,figura 2.3, foi projetado para auxiliar humanos em suas
tarefas. Os sucessores do ASIMO podem ajudar a lavar a roupa e os pratos,
ajudar a cuidar dos idosos, se assegurar que criança cheguem a escola
seguras etc. muitas dessas tarefas envolve a cooperação entre os humanos e
os robôs que os ajudam.
Em seu estudo Mutlu, Osman, Forlizzi, etc al., (2010) tentaram descobrir
como esta cooperação e competição com os robôs mudam a percepção das
pessoas para com os mesmo, assim como suas experiências para com tais. O
estudo mostrou que as experiências cooperativas com o ASIMO são mais
desejáveis que as competitivas em situações que requerem aceitação e
conveniência. Já em tarefas como ajudar um idoso a manter sua rotina de
exercícios.
22
Figura 2.3: Robô ASIMO em funcionamento.
Fonte: http://www.newlaunches.com
Um dos primeiros modelos reais de sistemas afetivos foi o robô Kismet,
figura 2.4, construído em 1990 no laboratório de Inteligência Artificial do MIT.
Breazeal (2002), explica que foram implementadas uma variedade de
competências "infantis" nele, através da adaptação de modelos e teorias dos
campos de psicologia, desenvolvimento cognitivo e etnologia. Funciona por
meio de sensores de auditivos, visuais e de proximidade, dos quais o robô
Kismet pode responder em tempo real as ligações afetivas entre ele e a pessoa
com a qual interage. Os sensores visuais dele incluem câmeras que
movimentam e controlam sua visão e a sincronizam com seus olhos como os
de humanos, podendo assim também reconhecer algo que ele considere como
importante.
Figura 2.4: Robô Kismet em demonstração.
Fonte: http://www.about-robots.com/
23
Um robô muito famoso é o iCub,figura 2.5, segundo seus
desenvolvedores o iCub é parte de um projeto da EU Robot Cup. Ele possui 53
motores que movimentam sua cabeça, cintura, braços, mãos e pés. Ele pode
ver e ouvir e possui senso de proprioception (configuração do próprio corpo) e
movimento (utilizando acelerômetros e giroscópios.
Figura 2.5: Robô iCub.
Fonte: http://www.robotcub.org/
De acordo com a RobotCup o objetivo por tráz do iCub é o estudo da
cognição através da implementação de um robô humanóide do tamanho de
uma criança de 3.5 anos. A arquitetura cognitiva do iCub é resultado de um
detalhado processo de design fundamentada no desenvolvimento psicológico e
neurológico de humanos.
O propósito imediato do desenvolvimento da arquitetura cognitiva é criar
o núcleo da infra-estrutura do software do iCub, assim ele será capaz de exibir
um grupo de comportamentos alvo para uma investigação empírica. A figura
2.6 abaixo mostra a arquitetura cognitiva do iCub. Nela é possivel perceber os
caminhos que os dados colotados tomam, e quais as pertes responsaveis pelo
controle da visão, locomoção e habilidades motoras.
24
Figura 2.6: Arquitetura cognitiva do iCub.
Fonte: http://eris.liralab.it
2.4 PARADIGMAS DA COMPUTAÇÃO AFETIVA
Uma das dificuldades atuais para a interação humano-máquina se
encontra na aparência da máquina, desde a aparência física externa até parte
interna mecatrônica.
Porém esta facilidade não pode ser vista ainda no robô desenvolvido
pela Sony chamado Aibo, ele foi desenvolvido como a forma de um animal
mecatrônico, similar a um cachorro, do qual por sua forma animal o usuário cria
vínculos afetivos mais facilmente devido a sua forma animal do que por seu
algoritmo.
O Eyepet é uma criatura virtual desenvolvida pela Sony PlayStation com
o intuito de ser um virtual pet. Ele permite a interação com o usuário através de
cartões de realidade aumentada fazendo com que os objetos do cartão entrem
25
no "mundo" do Eyepet. É possível acariciá-lo, alimentá-lo e escolher suas
roupas, acessórios e estilos de pelo. (Sony, 2009)
Também é possível verificar o bem estar e a felicidade do Eyepet. É
possível também tirar fotografias e gravar vídeos. É possível interagir com ele
através de acessórios do PlayStation@Move como desenhar com o controle
(Sony, 2009).
2.5 DESAFIO COMPUTACIONAL
Segundo Picard (2000), há um problema na área de Computação
Afetiva, que seria a diferenciação de expressar certo sentimento e realmente
senti-lo. Um dos problemas enfrentados parte da área de compreender
emoções, é muito fácil reconhecer o que uma pessoa sente quando está brava
com o computador, é algo que pode ser detectado sem muita dificuldade.
Mas e quanto a detectar o que a pessoa do seu lado esta sentindo.
Nisso a dificuldade da tarefa já aumenta, pois às vezes as pessoas não
conseguem manipular seus próprios estados emocionais, às vezes não se
sabe o que nós mesmos estamos sentindo.
Em seu trabalho Picard (2000), relata ter encontrado oito emoções cujo
nível de reconhecimento estaria mais alto, a partir disso algoritmo de
reconhecimento de padrões com 81% de exatidão foram desenvolvidos, ao
invés do 12,5% previsto de uma classificação aleatória.
26
CAPÍTULO 3
COOPERAÇÃO AFETIVA EM
SISTEMAS ROBÓTICOS
3.1 INTRODUÇÃO
Neste capitulo, serão apresentadas as ferramentas utilizadas no
desenvolvimento do trabalho, sua proposta, assim como será explicado os
passos do desenvolvimento do robô utilizado, sua construção, as modificações
feitas com o objetivo de adaptá-lo a proposta apresentada, a construção e
evolução dos modelos de comportamento criados, chegando ao modelo
definitivo construído utilizando redes de Petri, explicar como o robô irá realizar
as verificações seguindo este modelo e como estas verificações irão levar
ações, e finalmente chegando a implementação deste modelo utilizando o
software Labview.
3.2 PROPOSTA DO TRABALHO
Este trabalho tem como proposta o desenvolvimento de dois robôs
capazes de executar um ataque coordenado contra um alvo determinado
presente em seu ambiente de atuação.
Os robôs necessitam saber interagir com o ambiente onde irão atuar
antes de poder executar tarefas nele, assim eles atuaram em um ambiente
determinístico para não sofrerem interferências externas do ambiente. Mesmo
atuando em um ambiente determinístico eles necessitam de autonomia neste
ambiente, para isso terão de ser capazes de desviar de obstáculos presentes
neste ambiente, onde os robôs irão ter que detectar objetos que estarão em
27
seu caminho, e então desviar seu trajeto, assim evitando a colisão com o
obstáculo.
Outra característica dos robôs, é que ambos estarão constantemente
patrulhando o ambiente à procura de objetos. Uma rotina de patrulha será
implementada para que os robôs possam cobrir todo o ambiente onde atuam
eficientemente.
Uma vez que um dos robôs tiver encontrado o alvo, este irá avisar ao
outro, sobre a presença do alvo. Ao receber a mensagem o robô deverá entrar
em um estado de procura para localizar o alvo, seu comportamento irá mudar e
ele permanecerá neste estado até encontrar o alvo. Uma vez que o robô
encontra o alvo ele irá enviar uma mensagem ao outro robô.
Quando ambos os robôs tiverem encontrado o alvo, eles irão se certificar
de que estão a uma distância suficiente para um ataque, e então trocaram
mensagens para poder atacar ao mesmo tempo. Após as realização do ataque
será realizada uma confirmação do sucesso na eliminação do alvo e os robôs
irão retornar ao estado de patrulha.
3.3 CONSTRUÇÃO DOS ROBÔS
Para a realização deste projeto serão utilizadas duas ferramentas. O
software Labview da National Instruments e dois kit’s de Lego Mindstorms NXT
2.0 da Lego.
Cada robô foi construído utilizando do modelo de Robogator do Lego
Mindstorm NXT 2.0, que é um robô semelhante a um crocodilo. Foram
seguidas as instruções para a construção de tal modelo, estas se encontram no
software da lego que acompanha o kit. A seguir encontra se as ilustrações das
instruções da montagem do robô. Um exemplo de como foi montada a
mandíbula do crocodilo para que o robô pudesse morder o seu alvo seguindo
as instruções determinadas é mostrado na figura 3.2, logo abaixo:
28
Figura 3.2: Instrução de Montagem do Robô.
Fonte: Lego Mindstorms
Após ter o modelo construído foram necessárias alterações para que o
robô se adequasse a proposta do trabalho. Uma comparação entre os modelos
utilizados pode ser vista na figura 3.3, à esquerda o modelo normal montado e
à direita o modelo modificado.
[Normal] [Modiifcado]
Figura 3.3: Comparação entre o robô normal e o modificado.
29
Foi necessário adicionar um sensor de cor, para desta forma ele se
localizar de frente ao alvo,modificação ilustradas na figura 3.4, à esquerda o
modelo normal montado e à direita o modelo modificado:
[Normal] [Modiifcado]
Figura 3.4: Diferença entre os o uso modelo original para o da aplicação.
Foi necessário elevar a cabeça do Robô para que o sensor de cor não tocasse
no chão ao abrir a boca, figura 3.5:
[Normal] [Modiifcado]
Figura 3.5: Comparação entre os robôs em relação à altura das
cabeças.
Foi necessário retirar os sensores de toque da parte de trás, pois estes não
seriam mais necessários para o projeto, figura 3.6, à esquerda o modelo
normal montado e à direita o modelo modificado:
30
[Normal] [Modiifcado]
Figura 3.6: Retirada do sensor de toque.
Colocar um sensor de toque para verificar a abertura da boca, figura 3.7,
nas figuras (A e C) o robô com a boca fechada e o sensor pressionado, e nas
figuras (B e D) o robô com a boca aberta e o sensor não mais pressionado:
Figura 3.7: Comparação entre o robô com o sensor de toque com a
boca aberta e fechada.
C) D)
A) B)
31
3.3.1 MODELO ROBÓTICO AFETIVO
Para a construção do modelo de robótica afetiva, foi iniciado por meio da
construção de Autômato Finito Determinístico (AFD), para atender os aspectos
gerais da aplicação, tais como definição dos escopos, quantidade de agentes
presentes tanto na simulação como na aplicação.
Após a construção do modelo de Autômato Finito Determinístico, foi
iniciada a construção da Rede de Petri, nesta etapa traduzindo o que havia
sido definido na anterior para a Rede de Petri, a fim de realizar simulações para
garantir o funcionamento dos modelos de agente. A simulação é uma parte
importante desta etapa de construção do modelo, pois permite detectar erros
de especificação antes da implementação. A rede de Petri foi modelada e
simulada usando dois softwares para garantir a interinidade do modelo de
agentes, sendo usado o Visual Petri 1.2 e o Workflow Petri Net Designer 2.6.
Após a construção de uma Rede de Petri, as simulações foram
realizadas com o intuito de evitar deadlocks na aplicação final. A rede de petri
criada pode ser vista na figura 3.8.
Na rede de Petri as simulações permitem inferências sobre os sistemas
modelados sem a necessidade de construí-los, quando eles são ainda apenas
propostas de novos sistemas; sem a necessidade de perturbá-los, quando seu
custo operacional é alto ou os seus requisitos de segurança impedem ou
desaconselham experimentos; e sem o risco de destruí-los, quando se tem que
definir os limites, (Marranghello, 2005).
32
Figura 3.8: Rede de Petri utilizada para o projeto.
Ao todo os robôs irão realizar seis tipos básicos de verificações por meio
de seus sensores ultrassônico, cores e toque e Bluetooth:
1. Objeto Detectado: Através do sensor ultrassônico será definido
se existe um objeto no caminho do robô e este será tido como um
obstáculo a ser ultrapassado.
2. Inimigo Detectado: Através do sensor ultrassônico será definido
se há um objeto no caminho do robô e após uma confirmação
positiva do sensor de cor, o objeto será tido como um alvo a ser
atacado.
3. Caminho Livre: Após a tentativa de ultrapassar o obstáculo
detectado o robô utilizará o sensor ultrassônico para verificar se o
caminho está livre.
4. Mensagem Recebida: Verifica se o outro robô enviou uma
mensagem alertando sobre o alvo.
33
5. Outro Robô Pronto: Verifica se o outro robô enviou uma
mensagem avisando que encontrou o alvo.
6. Inimigo Morto: Através do sensor de toque verifica se o ataque
conseguiu atingir o inimigo.
Os estados pelos quais os robôs irão transitar são os seguintes:
 Patrulha: Enquanto estiver neste estado o robô irá andar pelo
ambiente verificando se existem obstáculos, ou alvos em seu
caminho, assim como verificando se recebe uma mensagem de
outro robô alertando sobre um alvo no ambiente.
 Desvio: O robô entra neste estado ao detectar um obstáculo em
seu caminho. E o robô irá permanecer neste estado enquanto o
sensor ultrassônico continuar captando um obstáculo no caminho.
Neste estado o robô irá tentar contornar o obstáculo, até não
haver mais um obstáculo em seu caminho.
 Enviar Mensagem: O robô entra neste estado após encontrar o
alvo, o robô irá enviar uma mensagem para o outro via Bluetooth,
item presente dentro do kit Lego Mindstorms NXT 2.0. O robô só
sairá deste estado ao receber uma mensagem de confirmação do
outro.
 Procura: O robô entra neste estado ao receber a mensagem de
que há um obstáculo em seu ambiente. Neste estado o robô irá
andar mais rápido para localizar o alvo, para isto a potencia do
motor será aumentada. Ele permanecerá neste estado até
encontrar o alvo.
 Posicionando: O robô entra neste estado após encontrar o alvo.
Neste estado o robô deverá estar posicionado ao alcance do alvo,
para poder lançar um ataque efetivo. Ele enviará uma mensagem
avisando que está pronto para o ataque, e então permanecerá
imóvel até receber a mensagem do outro robô avisando que se
encontra posicionado também.
34
 Ataque Coletivo: Os robôs entram nesse estado após a
confirmação de que ambos localizarem o alvo. Neste estado os
robôs irão trocar mensagens para poderem atacar o alvo ao
mesmo tempo. Ele permanecerá neste estado até que o alvo seja
considerado morto.
3.3.2 IMPLEMENTAÇÃO
O software da National Instruments chamado Labview será utilizado para
desenvolver o software do robô neste projeto. Por possuir um ambiente de
programação gráfica muito utilizada ao redor do mundo, com o
desenvolvimento elegante de medição, testes e sistemas de controle intuitivos
do quais se assemelham a um fluxograma. Visto que o software apresenta um
modulo para o Lego Mindstroms e possui um alto grau de integração além de
uma rica biblioteca de analise e visualizações de dados, muito utilizado no
ramo industrial, principalmente na área de automação. O motivo para a alta
integração entre o Labview e o lego vem do fato da National Instruments ser a
responsável pela fabricação do software da lego, por este motivo existe o
modulo NXT para o Labview.
Na aplicação por padronização usado no Labview, as portas para
movimentação de motores, foram previamente definidas:
 Porta A: Controle de movimento da boca;
 Porta B: Controle de movimentação da pata esquerda;
 Porta C: Controle de movimentação da pata direita;
E as portas utilizadas para os sensores foram:
 Porta 1: Sensor de toque;
 Porta 2: Porta não utilizada no projeto;
 Porta 3: Sensor de cor e luz;
 Porta 4: Sensor ultrassônico;
35
. Muitos dos estados utilizados da Rede de Petri por serem utilizados
frequentemente, foram adotados para criar subVI’s, com o intuito de deixar a
aplicação final mais limpa em termos de visualização.
Para os sensores de cor, devido a sua limitação física de
reconhecimento de cores, permitindo que apenas um número pequeno de
cores possam ser detectadas.
Para melhor monitoramento das entradas e saídas recebidas pelo robô o
painel de controle é necessário, este pode ser encontrado na figura 3.9. Nele
foram dispostos itens para melhor visualização das variáveis envolvidas.
Possui um Wave Chart e um Meter para medir as inferências do sensor
ultrassônico. Três LEDs para o monitoramento das cores captadas. Um painel
para exibir as mensagens recebidas, e finalmente, um botão para acionar a
parada do robô, fazendo com que o programa seja abortado.
Figura 3.9: Painel de Controle.
Na figura 3.10 encontra-se o programa principal do robô. Nesta tela
existe o sensor de som enviando informações para os instrumentos do painel e
enviando uma entrada para o estado Patrulha. Este gera saídas como a
mensagem recebida, e a resposta dos LEDs. Relacionando ao painel da figura
3.9, Meter e o Wave estão ligados ao valor captado pelo sensor ultrassônico,
36
enquanto os LEDs estão ligados a saída do estado Patrulha.
Figura 3.10: Aplicação Final.
Figura 3.11: Estado de Patrulha.
Como já foi explicado o estado de Patrulha recebe um valor do sensor
ultrassônico, um valor numérico, figura 3.11. Este valor define a distancia do
objeto detectado para com o robô. A figura 3.12 mostra o estado de patrulha
onde, o valor numérico recebido, representado por Numeric, é comparado ao
valor 60, e se este valor Numeric não for maior que 60 o caso se encaminha o
caso True, isto ocorre para permitir que o robô se aproxime mais do objeto
detectado, pois para que o sensor de cor funcione corretamente ao identificar
as cores captadas é necessário que o robô se aproxime até ficar uma distancia
de pelo menos dez centímetros do objeto. Uma vez esta condição sendo
satisfeita, o sensor de cor começa a funcionar. Ao detectar a cor vermelha
(número 5), indicando que o robô encontrou o alvo, o robô entra no caso 5 e vai
para o estado de Posicionado. Isto pode ser observado na figura 3.12 logo
abaixo.
37
Figura 3.12: Estado de Patrulha, chegada ao estado de Posicionado.
Caso a cor detectada não esteja especificada nas condições, o robô irá
para o estado de Desvio, mostrado na figura 3.13.
Figura 3.13: Caso de cor detectada default.
Caso a distância do objeto seja maior que 60 centímetros, o robô irá
verificar se recebeu alguma mensagem, caso a mensagem recebida seja
"Posicionado", indicando que o outro robô já encontrou o alvo, então o robô irá
parar seu movimento, tocar uma musica para sinalizar o recebimento da
mensagem, e então entrar no estado de Procura. Tal trajetória pode ser vista
na figura 3.14.
38
Figura 3.14: Recebimento da mensagem.
O estado de Posicionado gera apenas uma saída, que é a confirmação
de que a cor vermelha está sendo captada na figura 3.15.
Figura 3.15: Estado de Posicionado.
No estado de Posicionado o robô primeiramente irá parar de se
locomover, após isto ele enviará uma mensagem ao outro indicando que o alvo
foi encontrado, irá sinalizar o envio da mensagem através de uma sequência
de notas musicais. Tendo isto sido feito, ele vai entrar em um laço onde irá
esperar e checar por mensagens até receber a confirmação do outro robô de
ter encontrado o alvo também. As condições de saída deste laço são: ou o robô
não detectar a cor vermelha mais, indicando que o alvo não está mais à sua
frente, ou o robô permanecer com a boca aberta por mais de dois segundos,
indicando que ele está tentando morder algo, e assim o ataque podendo ser
considerado um sucesso, figura 3,16.
39
Figura 3.16: Estado de Posicionado.
O estado de Procura também gera apenas a saída de confirmação na
continuidade da captação da cor vermelha,figura 3.17.
Figura 3.17: Estado de Procura.
O estado de Procura é similar ao estado de Patrulha. Uma das
diferenças entre os dois estados é o fato do estado de Procura enviar a
mensagem de pronto ao outro. A razão para isto é o fato de que para o robô se
encontrar no estado de Procura o outro robô já tem de ter encontrado o alvo,
figura 3.18.
40
Figura 3.18: Estado de Procura, caso de detecção da cor vermelha.
3.4 TESTES E RESULTADOS OBTIDOS
Os robôs devem ser capazes de se movimentar pelo ambiente sem
maiores dificuldades ultrapassando os obstáculos encontrados e sendo
capazes de detectar alvos dentro do ambiente. Devem ser capazes de uma vez
tendo detectado o alvo, o atacar e verificar se o ataque surtiu efeito. Também
devem ser capazes de se comunicar remotamente sem a ocorrência de erros
na transmissão das mensagens. Em complemento, uma vez detectado o alvo
os robôs devem ser capazes de atacá-lo simultaneamente e aferir se o ataque
de algum deles teve resultado positivo.
Os testes para avaliar cada uma destas rotinas acima descritas foram
realizados durante cada etapa do trabalho. Foram divididos da seguinte
maneira conforme as etapas de desenvolvimento do robô: Teste de Desvio,
Teste de Verificação de Alvo, Teste de Ataque e Verificação de Efeito, Teste de
Comunicação e Teste de Sincronia de Ataque.
41
3.4.1 TESTES DE DESVIO
No Teste de Desvio o robô foi colocado em um ambiente onde se
encontravam obstáculos, e o robô deveria percorrer o ambiente sem que os
obstáculos o impedissem de continuar. Foram realizados dois tipos diferentes
de testes nessa etapa.
No primeiro o robô foi colocado em um ambiente onde somente as
paredes o impediam de prosseguir, figura 3.19.
Figura 3.19: Ambiente onde os testes correram.
Neste teste foi constatada a competência do robô ao se locomover sem
colidir com nenhuma das paredes, figuras 3.20. Na sequência de imagens o
robô localiza o obstáculo a sua frente, figuras (A e B) e logo em seguida desvia
do obstáculo detectado, figuras (C e D).
42
Figura 3.20: Sequência onde o robô desvia do obstáculo.
O segundo ambiente, além de possuir paredes também possuía objetos
espalhados que dificultavam o caminho do robô, figura 3.21. Neste teste foram
detectados alguns limites que deveriam ser respeitados, como a disposição dos
objetos.
Os objetos devem ser colocados a uma distancia mínima uns dos outros
assim como das paredes afim de evitar colisões causadas pela ausência da
detecção dos objetos,figura 3.23, esta distância corresponde à medida do robô
e é necessária devido ao raio limitado de percepção do sensor ultrassônico,
localizado a frente do robô, que acaba não conseguindo detectar objetos fora
deste raio, fazendo com que no pior caso o robô consiga colidir com um objeto
encontrado em sua extremidade oposta, sendo esta a razão para a distância
mínima ser a medida do robô.
D)C)
A) B)
43
Com este teste foi possível verificar, além de não ser capaz de detectar
objetos imediatamente à sua frente, o ângulo do sensor, que se encontra
inclinado, não permite que ele detecte objetos abaixo de um certo tamanho,
este tamanho sendo terminado pelo ângulo e distância do robô em relação ao
objeto.
Figura 3.21: Ambiente com obstáculos utilizado no teste.
A) B)
44
Figura 3.22: Sequência de imagens do robô ao executar o desvio do obstáculo.
Figura 3.23: Robô colidindo com o obstáculo.
C) D)
E) F)
45
3.4.2 TESTE DE VERIFICAÇÃO DE ALVO
O Teste de Verificação de Alvo foi similar ao segundo Teste de Desvio, o
mesmo ambiente com objetos espalhados foi utilizado, com a diferença de que
um dos objetos do ambiente era de cor diferente e deveria ser reconhecido
pelo robô como alvo, este reconhecimento deverá ser feito através do sensor
de cor, figura 3.24.
Figura 3.24: Ambiente com obstáculos e com o alvo utilizado no teste.
Durante o teste foi utilizado um objeto cilíndrico mas logo foi descartado
pois os testes mostraram que o angulo de incidência do robô em relação ao
objeto dificultava a detecção da cor, pois somente em ângulos específicos a cor
era corretamente identificada. Então um objeto com a base cúbica foi utilizado
para facilitar a detecção. O resultado do teste foi satisfatório tendo o robô
corretamente identificado o objeto com alvo ao entrar no alcance do sensor de
cor,figuras 3.25 e 3.26.
46
Figura 3.25: Sequência onde o robô anda pelo ambiente.
Figura 3.26: Sequência de verificação do alvo.
A) B)
C) D)
47
3.4.3 TESTE DE ATAQUE E VERIFICAÇÃO DE EFEITO
Neste teste, a capacidade do robô de atacar o alvo e verificar se o
ataque surtiu efeito foi testada. Para o teste, um objeto com uma parte
sobressalente teve de ser montado. Uma série de objetos foi testada até
chegar ao objeto que seria utilizado no teste. O objeto utilizado tinha de ter
essa forma e medidas especificas, para que ao tentar morder o objeto, o robô
conseguisse morder de forma eficaz a parte sobressalente. A cor do objeto
utilizado foi definida como verde para que o robô consiga atacá-lo sozinho, o
objeto pode ser visto na figura 3.27.
Figura 3.27: Foto do objeto utilizado como alvo.
O robô deveria ser capaz de morder o pedaço do objeto de forma a
impedir que sua boca se fechasse por estar segurando a parte do objeto entre
os dentes, se o robô permanecesse sem conseguir fechar a boca por cinco
segundos o robô reconheceria que o ataque havia sido bem sucedido.
48
Figura 3.28: Sequência onde o objeto encontrado é o alvo.
Figura 3.29: Sequência onde o robô ataca o alvo.
O teste teve resultado positivo, com o robô conseguindo morder o objeto
e reconhecendo que o ataque havia sido bem sucedido, figuras 3.28 e 3.29.
3.4.4 TESTE DE COMUNICAÇÃO
No teste de comunicação o desafio era conseguir fazer com que os dois
terminais, figura 3.30, dos robôs trocassem mensagens via Bluetooth, de forma
a um confirmar o recebimento da mensagem do outro.
Para este teste, foi necessário entender como a comunicação entre os
terminais funciona. Nesta comunicação, um dos terminais deverá se conectar
ao outro, o terminal que requisitou está conexão será o Host e o outro será o
49
Client.Também foi necessário desenvolver um programa para realizar as trocas
de mensagem,este é representado nas figuras 3.31 e 3.32.
Figura 3.31: Programa de comunicação do Host com o Client.
Figura 3.32: Programa de comunicação do Client com o Host.
50
Neste teste é necessário que um dos terminais se conecte ao outro para
iniciar a conexão, tendo isto sido feito o programa pode ser executado. Neste
programa um dos terminais teria o botão "enter" apertado, o terminal cujo botão
foi apertado envia uma mensagem para o outro. O segundo terminal então
deveria mostrar a mensagem na tela e enviar uma mensagem de confirmação
para o primeiro. O primeiro terminal ao receber a confirmação deveria exibir
uma mensagem na tela e enviar uma confirmação para o segundo. O segundo
ao receber a confirmação também exibiria uma mensagem e o teste teria sido
concluído.
Figura 3.33: Sequência de envio de mensagem.
O teste teve resultado positivo com as mensagens tendo sido enviadas e
recebidas corretamente nos dois casos, no caso do Host começar a troca de
mensagens e no caso do Client começar, a figura 3.33, mostra o envio da
mensagem, em (A) o primeiro terminal envia a mensagem ao se pressionar o
botão, em (B) o segundo terminal exibe na tela uma mensagem indicando que
A) B)
C) D)
51
a mensagem foi recebida, em (C) o segundo terminal envia uma mensagem de
confirmação do recebimento, em (D) a mensagem de confirmação do envio é
exibida. O teste também mostrou como a utilização do Bluetooth pelos
terminais acabou por gastar a bateria mais rapidamente.
3.4.5 TESTE DE SINCRONISMO DE ATAQUES
Neste Teste foram utilizados os modelos criados nos testes anteriores. O
teste consiste garantir que quando um dos robôs encontre o alvo, comunique
isto ao outro e permaneça em sua posição até receber a confirmação pelo
segundo robô de que também está posicionado, isto acontecendo os dois
robôs deverão atacar ao mesmo tempo, até que um deles confirme ter acertado
o alvo corretamente.
Neste teste os dois robôs foram colocados no ambiente de teste utilizado
nos testes passados, figura 3.34, e permaneceram percorrendo o ambiente até
localizarem o alvo e o atacarem com sucesso figuras 3.35 e 3.36.
Figura 3.34: Foto do ambiente com os dois robôs.
O teste foi bem sucedido com os robôs tendo acertado o alvo e
confirmado o resultado positivo da ação, figura 3.37.
52
Figura 3.35: Sequência do primeiro robô encontrando o alvo.
Figura 3.36: Sequência do segundo robô encontrando o alvo.
A) B)
C) D)
53
Figura 3.37: Foto dos robôs atacando o alvo.
54
CAPÍTULO 4
CONCLUSÃO E TRABALHOS
FUTUROS
A Robótica Afetiva é capaz de mudar a percepção de que as pessoas
possuem em relação às máquinas, realizando um papel importante na área da
iteração humano-máquina, fornecendo uma interface completamente diferente
ao que o usuário final está habituado em interagir. Através da Robótica Afetiva
a área da Computação Afetiva é implantada, com modelos de agentes
robóticos para atuar de maneira pré-determinada ou autônoma.
Os sistemas robóticos são máquinas com a capacidade de utilizar de
automação para acatar objetivos declarados pelo usuário ou por suas
configurações. Estes sistemas podem ser capazes de receber informações,
processá-las, tomar decisões, realizar verificações e gerar ações no meio
físico. No decorrer do levantamento teórico realizado para o trabalho, foram
estudos modelos de sistemas robóticos e de sistemas afetivos. Essa pesquisa
levou a definição do modelo que foi utilizado no durante o trabalho,
Através desta pesquisa cientifica, foi possível a criação de um sistema
robótico, que atuou como um agente sociável. Esse agente conseguiu realizar
um notificação ao outro sistema robótico, de maneira eficiente, sincronizando o
momento de ambos atacarem sincronizados e possuírem êxito total em seu
ataque. Desta forma, o algoritmo possuiu uma estratégia baseada na precisão
de um ataque único para máximo aproveitamento de ataque do caso aplicado
em um enxame.
Porem, por limitações físicas presente dentro do kit do Lego Mindstorms
NXT 2.0,tais como a disparidade entre o escopo e o sensor do ultrassônico e o
de cor, fazendo com que o agente tivesse que se aproximar demasiadamente a
55
fim de receber uma leitura precisa para identificar e desferir o ataque. Em
termos de facilidade poderia ser melhorado o modelo de pareamento entre os
robôs presente dentro do modulo da Lego no Labview, possibilitando a que a
conexão entre os terminais possa ser feito dentro do programa ao invés de
manualmente antes da execução da aplicação.
Como sugestões de trabalho futuros, a possibilidade de explorar novos
tipos diferentes de hardware, microprocessadores, servo motores e sensores,
estes de preferência voltados somente para as funções que serão exercidas
para a aplicação final. De forma a baratear o processo de construção através
da eliminação de partes do hardware, que não são utilizadas no modelo
robótico final. Nas possíveis melhorias na parte de hardware, a utilização de
componentes que possibilitem meios de comunicação que economizem
energia assim como o padrão de comunicação ZigBee, seria o mais
recomendado para a melhoria do projeto, para a construção de um projeto que
envolva comunicação a curta distancia sem fios, a fim de economizar energia,
visto que em alguns poucos testes houve um gasto excessivo da vida útil das
baterias,
Acrescentar na aplicação características de sistemas afetivos visando à
melhoria na iteração humano-máquina. Criar situações onde o robô reconhece
as preferências do usuário ou interaja diretamente com ele. A criação de
modelos diferentes, com baseados em animais diferentes também seria
possível, criando assim uma variedade maior de possibilidades de interação
entre os robôs, podendo torná-los mais sociáveis. Com estas observações
tendo sido feitas, é possível perceber que melhorar e dar continuidade ao
projeto até chegar à um modelo tanto funcional, é algo possível e um desafio a
ser seguido.
56
Referências Bibliográficas
BRASIL, N.A. Tópicos Especiais em Robótica.2005.
BARRINI, L., OLIVEIRA, B.D., SILVEIRA, I.F.. Affective Computing: Optimizing
Human-Computer Interaction through Non-Verbal Communication Based on
Facial Analysis. Disponível em <
http://www.clihc.org/2007/papers/AffectiveComputing_ID18_shortpaper.pdf >.
Acesso em 27 de jul. de 2011.
BREAZEAL, C.L. Designing Sociable Robots. Boston: MIT Press.2002.
CARDOSO, J., VALETTE, R.. Redes de Petri. Editora da UFSC. 1997.
COLUMBUS, C. Bicentennial Man. Filme. Touchstone Pictures e Columbia
Pictures, (1999).
ERTUGRUL, N. Labview for electric circuits, machines, drives and
laboratories.Prentice Hall – Prin. 2002.
GASPERI, M., HURBAIN, P. Extreme NXT: Extending the Lego Mindstorms
NXT to the Next Level. Springer Verlag NY. 2009.
H2G2. FURBYS .Disponível em < http://h2g2.com/dna/h2g2/A71641> Acesso
em 22 de nov. 2011.
HONDA. Honda Worldwide ASIMO. Disponível em <
http://world.honda.com/ASIMO/ >. Acesso em 20 abri. 2010.
IFR.Industrial Robots. Disponível em < http://www.ifr.org/industrial-robots/ >.
Acesso em 18 abri. 2010.
IME. SENSORES PARTE 2. Disponível em <
http://www.ime.eb.br/~aecc/Automacao/Sensores_Parte_2.pdf >. Acesso em 13
de jul. de 2011.
57
INFO ON LINE. Robô aprende a usar arco e flecha. Disponível em <
http://info.abril.com.br/noticias/ciencia/robo-aprende-a-usar-arco-e-flecha-
27092010-40.shl >. Acesso em 30 de setembro de 2010.
INOVAÇÃO TECNOLÓGICA. CÉREBRO ARTIFICIAL: IBM SIMULA O
CÉREBRO DE UM GATO. Disponível em <
http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=cerebro-
artificial-ibm-simula-cerebro-gato&id=010150091119 >. Acesso em 26 de ago.
de 2010.
KISMET. Sociable Machines – Kismet, the robot. Disponível em <
http://www.ai.mit.edu/projects/sociable/baby-bits.html >. Acesso em 21 abri.
2010.
KIRN,S.; HERZOG,O., LOCKEMANN,P.;SPANIOL,O..Multiagent Engineering,
Theory And Applications In Enterprises. Nova York: Springer.2006.
KUBRIC, S.; CLARKE, A.C. 2001:A Space Odyssey. Filme. Hollywood: Metro-
Goldwin-Meyer, (1968).
LEGO.Lego Mindstorms. Disponível em < http://mindstorms.lego.com/en-
us/products/default.aspx >. Acesso em 18 de abri. 2010.
LOCKEMANN, P.C. Agents. Universität Karlsruhe (TH). 2006.
MARRANGHELLO, N. Redes de Petri: Conceitos e Aplicações.
DCCE/IBILCE/UNESP. 2005.
MUTLU, OSMAN, FORZILLI, ETC al. Perceptions of ASIMO: An Exploration on
Co-operation and Competition with Humans and Humanoid Robots .Disponível
em < http://pages.cs.wisc.edu/~bilge/wp-content/pubs/Mutlu_HRI06.pdf >
Acesso em 23 abri. 2010.
ORIENTACAOUNIVIMA2008. AFETIVIDADE, MÁQUINA E EDUCAÇÃO -
POSSIBILIDADES .Disponível em <
http://orientacaounivima2008.pbworks.com/w/page/8543060/AFETIVIDADE%2
C%20M%C3%81QUINA%20-%20POSSIBILIDADES > Acesso em 20 Jul.2010.
58
PAZOS,F. Automação de Sistemas & Robótica.Rio de Janeiro: Axcel Books.
2002.
PERSONAL. Disponível em <
http://www.personal.psu.edu/scd5029/blogs/was_ist_das/2007/10/u-g-l-y-you-
aint-got-no-alibi-you-ugly.html >. Acesso em 16 de nov. 2011.
PICARD, R.W.. Affective Computing. Boston: MIT Press.2000.
PICARD, R.W.. Affective Computing. Disponível em <
http://affect.media.mit.edu/pdfs/95.picard.pdf >. Acesso em 01 abri. 2010.
ROSÁRIO, J.M. Princípios de Mecatrônica. Pearson/Prentice Hall. 2005.
RUSSELL.S.; NORVIG.P. Inteligência Artificial.Campus.2004.
SCRIBD. Apostila Senai Automação. Disponível em <
http://pt.scribd.com/doc/54362367/Apostila-Senai-Automacao >. Acesso em 16
de nov. de 2011.
SIMON THE ROBOT. SIMON THE ROBOT < http://www.simontherobot.com/ >.
Acesso em 27 de jul. 2010.
SONY. Sony AIBO Europe – Official Website. Disponível em <
http://support.sony-europe.com/aibo/>. Acesso em 21 abri. 2010.
SONY. Sony Launches Four-Legged Entertainment Robot . Disponível em <
http://www.sony.net/SonyInfo/News/Press_Archive/199905/99-046/ >. Acesso
em 21 abri. 2010.
SOUZA, L.B.S. Computação Afetiva: Reconhecimento de Expressões Bucais
para Interação Não-Verbal. Disponível em <
http://www.usp.br/siicusp/Resumos/15Siicusp/2356.pdf >.Acesso em 07 abri.
2010.
SUPER-INTERESSANTE. ROBÔS COM ÉTICA. Edição 203. Agosto de 2004.
Abril.
59
TERRA. CYBER PETS. Disponível em <
http://www.terra.com.br/macmania/cyberpets/ >. Acesso em 22 de out. de 2010.
THE NEW YORK TIMES. STUDENTS, MEET YOUR NEW TEACHER,MR.
ROBOT. Disponível em <
http://www.nytimes.com/2010/07/11/science/11robots.html >. Acesso em 12 de
jul. 2010.
VESTERINEN, E. Affective Computing. Disponível em <
http://www.tml.tkk.fi/Opinnot/Tik-111.590/2001/paperit/vesterinen.pdf>. Acesso
em 07 abri. 2010.

Mais conteúdo relacionado

Mais procurados

Publicado ruby on-rails-rr71
Publicado ruby on-rails-rr71Publicado ruby on-rails-rr71
Publicado ruby on-rails-rr71Fernando Palma
 
Manual de Referência do GerSpool
Manual de Referência do GerSpoolManual de Referência do GerSpool
Manual de Referência do GerSpoolvhsmiranda
 
Klavaro manual-pt-1.0.8
Klavaro manual-pt-1.0.8Klavaro manual-pt-1.0.8
Klavaro manual-pt-1.0.8vixblu
 
K19 k11-orientacao-a-objetos-em-java
K19 k11-orientacao-a-objetos-em-javaK19 k11-orientacao-a-objetos-em-java
K19 k11-orientacao-a-objetos-em-javaCaique Moretto
 
Drivers de Dispositivos Linux
Drivers de Dispositivos LinuxDrivers de Dispositivos Linux
Drivers de Dispositivos LinuxHudson Augusto
 
Introdução à programação em R
Introdução à programação em RIntrodução à programação em R
Introdução à programação em RMonica Barros
 
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejb
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejbK19 k23-integracao-de-sistemas-com-webservices-jms-e-ejb
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejbVinicius Fonseca
 
Manipulando pacotes
Manipulando pacotesManipulando pacotes
Manipulando pacotesTiago
 

Mais procurados (17)

Webpages
WebpagesWebpages
Webpages
 
Publicado ruby on-rails-rr71
Publicado ruby on-rails-rr71Publicado ruby on-rails-rr71
Publicado ruby on-rails-rr71
 
Manual de Referência do GerSpool
Manual de Referência do GerSpoolManual de Referência do GerSpool
Manual de Referência do GerSpool
 
Klavaro manual-pt-1.0.8
Klavaro manual-pt-1.0.8Klavaro manual-pt-1.0.8
Klavaro manual-pt-1.0.8
 
K19 k11-orientacao-a-objetos-em-java
K19 k11-orientacao-a-objetos-em-javaK19 k11-orientacao-a-objetos-em-java
K19 k11-orientacao-a-objetos-em-java
 
Ap tut arduino
Ap   tut arduinoAp   tut arduino
Ap tut arduino
 
Manual getic 23-out_09
Manual getic 23-out_09Manual getic 23-out_09
Manual getic 23-out_09
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Apostila UML
Apostila UML Apostila UML
Apostila UML
 
Livro Completo sobre Maple
Livro Completo sobre MapleLivro Completo sobre Maple
Livro Completo sobre Maple
 
Drivers de Dispositivos Linux
Drivers de Dispositivos LinuxDrivers de Dispositivos Linux
Drivers de Dispositivos Linux
 
Introdução micro computador
Introdução micro computadorIntrodução micro computador
Introdução micro computador
 
Introdução à programação em R
Introdução à programação em RIntrodução à programação em R
Introdução à programação em R
 
Intro Micro Hardware
Intro Micro HardwareIntro Micro Hardware
Intro Micro Hardware
 
Curso estatistica descritiva no r
Curso   estatistica descritiva no rCurso   estatistica descritiva no r
Curso estatistica descritiva no r
 
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejb
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejbK19 k23-integracao-de-sistemas-com-webservices-jms-e-ejb
K19 k23-integracao-de-sistemas-com-webservices-jms-e-ejb
 
Manipulando pacotes
Manipulando pacotesManipulando pacotes
Manipulando pacotes
 

Semelhante a Dupla de robôs cooperativos buscando alvo

TCC IMPRESSORA 3D
 TCC IMPRESSORA 3D TCC IMPRESSORA 3D
TCC IMPRESSORA 3Djamesfrk
 
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarDesenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarBruno Silva
 
Cópia de apostila nova curso idosos
Cópia de apostila nova curso idososCópia de apostila nova curso idosos
Cópia de apostila nova curso idososPaulo Rosa
 
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...bentow
 
sistemas_operacionais-livro.pdf
sistemas_operacionais-livro.pdfsistemas_operacionais-livro.pdf
sistemas_operacionais-livro.pdfJoelManuel8
 
Apostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesApostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesYara Grasielle
 
Apostila completa de access
Apostila completa de accessApostila completa de access
Apostila completa de accessmazinho1955
 
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...JADSON SANTOS
 
Relatorio final - Blinded Walker
Relatorio final - Blinded WalkerRelatorio final - Blinded Walker
Relatorio final - Blinded WalkerTiago Cunha
 
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...Lucas Aquino
 
Relatório tfc caio eduardo silva - implementação de um sistema de aquisição...
Relatório tfc   caio eduardo silva - implementação de um sistema de aquisição...Relatório tfc   caio eduardo silva - implementação de um sistema de aquisição...
Relatório tfc caio eduardo silva - implementação de um sistema de aquisição...Caio Eduardo Silva
 
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔS
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔSUTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔS
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔSJesimar Arantes
 
Cientista da computacao usando python
Cientista da computacao usando pythonCientista da computacao usando python
Cientista da computacao usando pythonJean Lopes
 

Semelhante a Dupla de robôs cooperativos buscando alvo (20)

TCC IMPRESSORA 3D
 TCC IMPRESSORA 3D TCC IMPRESSORA 3D
TCC IMPRESSORA 3D
 
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLarDesenvolvimento de Produto para Automação Residencial com Sistema DroidLar
Desenvolvimento de Produto para Automação Residencial com Sistema DroidLar
 
Manual_OKI_MC363.pdf
Manual_OKI_MC363.pdfManual_OKI_MC363.pdf
Manual_OKI_MC363.pdf
 
Cópia de apostila nova curso idosos
Cópia de apostila nova curso idososCópia de apostila nova curso idosos
Cópia de apostila nova curso idosos
 
Sql
SqlSql
Sql
 
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
Tcc Mauricio Bento Ghem 2009 - Proposta de uma Ferramenta de Monitoramento de...
 
sistemas_operacionais-livro.pdf
sistemas_operacionais-livro.pdfsistemas_operacionais-livro.pdf
sistemas_operacionais-livro.pdf
 
Apostila ata informatica_julio_alves
Apostila ata informatica_julio_alvesApostila ata informatica_julio_alves
Apostila ata informatica_julio_alves
 
Relatório técnico i fc 29-07
Relatório técnico i   fc 29-07Relatório técnico i   fc 29-07
Relatório técnico i fc 29-07
 
Apostila completa de access
Apostila completa de accessApostila completa de access
Apostila completa de access
 
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
Aplicac3a7c3a3o da-abordagem-gqm-para-a-definic3a7c3a3o-de-um-processo-de-eng...
 
Condo master
Condo masterCondo master
Condo master
 
Mrtg
MrtgMrtg
Mrtg
 
Relatorio final - Blinded Walker
Relatorio final - Blinded WalkerRelatorio final - Blinded Walker
Relatorio final - Blinded Walker
 
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...Plano de projeto de software para o sistema  MEA - monitoraemto de eventos ad...
Plano de projeto de software para o sistema MEA - monitoraemto de eventos ad...
 
Relatório de fim de curso
Relatório de fim de cursoRelatório de fim de curso
Relatório de fim de curso
 
Relatório tfc caio eduardo silva - implementação de um sistema de aquisição...
Relatório tfc   caio eduardo silva - implementação de um sistema de aquisição...Relatório tfc   caio eduardo silva - implementação de um sistema de aquisição...
Relatório tfc caio eduardo silva - implementação de um sistema de aquisição...
 
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔS
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔSUTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔS
UTILIZANDO ROBÓTICA EVOLUTIVA PARA O DESENVOLVIMENTO DA MORFOLOGIA DE ROBÔS
 
Gimp
GimpGimp
Gimp
 
Cientista da computacao usando python
Cientista da computacao usando pythonCientista da computacao usando python
Cientista da computacao usando python
 

Dupla de robôs cooperativos buscando alvo

  • 1. UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Trabalho de Graduação Interdisciplinar DUPLA DE ROBÔS COOPERATIVOS Carlos Eduardo Faddul Nunes Renato Cesar Moretto Vinícius Cândido Trindade São Paulo 2011
  • 2. Carlos Eduardo Faddul Nunes Renato Cesar Moretto Vinícius Cândido Trindade DUPLA DE ROBÔS DE COOPERATIVOS Trabalho de Graduação Interdisciplinar (TGI) apresentado como requisito parcial para a obtenção do Grau de Bacharel do Curso de Ciência da Computação da Universidade Presbiteriana Mackenzie. Orientador: Prof. Dr. Luciano Silva São Paulo Novembro – 2011
  • 3.
  • 4. Agradecimentos Gostaríamos de agradecer aos nossos familiares e amigos, pelo apoio e companheirismo durante o decorrer de todo esse trabalho. Ao nosso orientador Prof. Dr. Luciano Silva, por toda ajuda, aconselhamento, critica e orientação, sempre conseguindo tempo para nos atender e retirar nossas duvidas, agradecemos a sua dedicação e paciência em atender o grupo. Ao Prof. Ms. Joaquim Pessoa Filho pelas idéias, sugestões e auxilio, no desde o início com a parte de automação do projeto e, pela disponibilidade para nos ajudar quando encontrávamos um problema. Também agradecemos todos os demais professores que nos ajudaram a chegar a este ponto, nos dando o conhecimento e experiência necessários para a realização deste trabalho. Agradecemos a todas as pessoas aqui citadas e acreditamos que sem vocês este trabalho não se realizaria.
  • 5. Resumo Atualmente, os computadores são vistos como apenas máquinas que realizam tarefas. A Computação afetiva tenta aproximar o humano da maquina, criando um vinculo entre os dois, através da adaptação da máquina para maior compreensão do usuário, tornando possível que a imagem da máquina para o usuário mude. Este trabalho propõe a especificação, modelagem e implementação de uma dupla de agentes sociáveis. Cada agente sociável será construído no formato de um crocodilo, para aumentar a interação com seres humanos. A implementação será realizada com o kit Lego Mindstorms, ferramenta bastante utilizada para prototipação rápida de robôs. Para o desenvolvimento do programa dos robôs será utilizado o módulo para o Lego Mindstroms do software Labview. Palavras-chave: Robótica Afetiva, Computação Afetiva, Inteligência Artificial, Interação Humano-Máquina.
  • 6. Abstract Nowadays computers are just seen as machines that realize tasks. Affective computing tries to bring the human closer to the machine, creating a bond between both of them, through the adaptation of the machine for better user understanding, making it possible to change the user’s perception of the machine. This work proposes the specification, modeling and implementation of a couple of sociable agents. Each agent will be built to have the form of an alligator, to increase the interaction with humans. The implementation will be done with the Lego Mindstorms kit, a tool widely used for the rapid prototipation of robots. To develop the robot's program, it will be used the Lego Mindstorms module of the software Labview. Keywords: Affective Robotic, Affective Computing, Artificial Intelligence, Human Machine Interaction.
  • 7. Lista de Figuras Figura 1.1: Diagrama das funções de um agente.............................................. 4 Figura 1.2: Um exemplo de sensor de áudio como o microfone........................ 5 Figura 1.3: Exemplo de LED receptores............................................................ 6 Figura 1.4: Exemplo de sensor de posição rotativo........................................... 6 Figura 1.5: Exemplo de sensor de pressão. ...................................................... 7 Figura 1.6: Exemplo de sensor de temperatura................................................. 7 Figura 1.7: Exemplo de sensor ultrassônico...................................................... 8 Figura 1.8: Exemplo de sensor de velocidade como o tacômetro. .................... 8 Figura 1.9: Exemplo de aplicação de um PLC................................................... 9 Figura 1.10: Exemplo de servo motor.............................................................. 11 Figura 1.11: Exemplo de eletroímã presente em motores............................... 11 Figura 1.12: Válvula solenóide para controle de água e gases. ...................... 12 Figura 1.13: Ilustração de garra de dois dedos. .............................................. 13 Figura 1.14:Ilustração de garra para objetos cilíndricos. ................................. 13 Figura 1.15: Ilustração de garra para objetos frágeis. ..................................... 14 Figura 1.16: Ilustração de garra articulada. ..................................................... 14 Figura 1.17: Ilustração de garra a vácuo e eletromagnética............................ 15 Figura 1.18: Ilustração de braço mecânico...................................................... 16 Figura 3.1: Componentes do kit Lego Mindstorms.......................................... 17 Figura 2.1: Robô Furby.................................................................................... 20 Figura 2.2: Robô Aibo...................................................................................... 21 Figura 2.3: Robô ASIMO em funcionamento................................................... 22 Figura 2.4: Robô Kismet em demonstração. ................................................... 22 Figura 2.5: Robô iCub. .................................................................................... 23 Figura 2.6: Arquitetura cognitiva do iCub. ....................................................... 24 Figura 3.2: Instrução de Montagem do Robô. ................................................. 28 Figura 3.3: Comparação entre o robô normal e o modificado. ........................ 28 Figura 3.4: Diferença entre os o uso modelo original para o da aplicação...... 29 Figura 3.5: Comparação entre os robôs em relação à altura das cabeças. 29 Figura 3.6: Retirada do sensor de toque. ........................................................ 30 Figura 3.7: Comparação entre o robô com o sensor de toque com a boca aberta e fechada. 30 Figura 3.8: Rede de Petri utilizada para o projeto. .......................................... 32 Figura 3.9: Painel de Controle......................................................................... 35 Figura 3.10: Aplicação Final............................................................................ 36 Figura 3.12: Estado de Patrulha, chegada ao estado de Posicionado............ 37 Figura 3.13: Caso de cor detectada default..................................................... 37 Figura 3.15: Estado de Posicionado................................................................ 38 Figura 3.16: Estado de Posicionado................................................................ 39 Figura 3.17: Estado de Procura....................................................................... 39 Figura 3.18: Estado de Procura, caso de detecção da cor vermelha.............. 40 Figura 3.19: Ambiente onde os testes correram.............................................. 41 Figura 3.20: Sequência onde o robô desvia do obstáculo............................... 42 Figura 3.21: Ambiente com obstáculos utilizado no teste. .............................. 43 Figura 3.22: Sequência de imagens do robô ao executar o desvio do obstáculo.......................................................................................................... 44 Figura 3.23: Robô colidindo com o obstáculo.................................................. 44
  • 8. Figura 3.24: Ambiente com obstáculos e com o alvo utilizado no teste. ......... 45 Figura 3.25: Sequência onde o robô anda pelo ambiente............................... 46 Figura 3.26: Sequência de verificação do alvo................................................ 46 Figura 3.27: Foto do objeto utilizado como alvo.............................................. 47 Figura 3.28: Sequência onde o objeto encontrado é o alvo. ........................... 48 Figura 3.29: Sequência onde o robô ataca o alvo. .......................................... 48 Figura 3.31: Programa de comunicação do Host com o Client. ...................... 49 Figura 3.32: Programa de comunicação do Client com o Host. ...................... 49 Figura 3.33: Sequência de envio de mensagem. ............................................ 50 Figura 3.34: Foto do ambiente com os dois robôs. ......................................... 51 Figura 3.35: Sequência do primeiro robô encontrando o alvo......................... 52 Figura 3.36: Sequência do segundo robô encontrando o alvo. ....................... 52 Figura 3.37: Foto dos robôs atacando o alvo. ................................................. 53
  • 9. Sumário Introdução .......................................................................................................... 1 Capítulo 1........................................................................................................... 3 Sistemas Robóticos............................................................................................ 3 1.1 Introdução................................................................................................. 3 1.2 Arquitetura Básica................................................................................. 3 1.2.1 Sensores ........................................................................................ 5 1.2.2 Controle.......................................................................................... 9 1.2.3 Atuadores ..................................................................................... 10 1.3 Funcionamento ................................................................................... 15 1.4 Lego................................................................................................. 17 Capítulo 2......................................................................................................... 18 Computação Afetiva ......................................................................................... 18 2.1 Introdução ........................................................................................... 18 2.2 Fundamentos da Computação Afetiva ................................................ 18 2.3 Exemplos de Sistemas Robóticos Afetivos ......................................... 19 2.4 Paradigmas da Computação Afetiva................................................... 24 2.5 Desafio Computacional ....................................................................... 25 Capítulo 3......................................................................................................... 26 Cooperação Afetiva em Sistemas robóticos..................................................... 26 3.1 Introdução ........................................................................................... 26 3.2 Proposta do Trabalho.......................................................................... 26 3.3 Construção dos robôs ......................................................................... 27 3.3.1 Modelo robótico afetivo................................................................. 31 3.3.2 implementação ............................................................................. 34 3.4 Testes e Resultados obtidos............................................................... 40 3.4.1 Testes de desvio........................................................................... 41 3.4.2 Teste de Verificação de Alvo............................................................ 45 3.4.3 Teste de ataque e verificação de efeito............................................ 47
  • 10. 3.4.4 Teste de comunicação ..................................................................... 48 3.4.5 Teste de Sincronismo de Ataques.................................................... 51 Capítulo 4......................................................................................................... 54 Conclusão e trabalhos futuros.......................................................................... 54 Referências Bibliográficas................................................................................ 56
  • 11. 1 INTRODUÇÃO Segundo Lockemann (2006), um robô pode ser visto como um conjunto de sensores associados com motores trabalhando em conjunto para atingir uma meta ou objetivo. De acordo com Picard (2000), a visão que se tem dos robôs ou máquinas, atualmente, é a de que são somente objetos que executam tarefas. Neste contexto, surge a Computação Afetiva, com o objetivo de tornar os usuários e as máquinas mais próximos, tornando as máquinas capazes de compreender os usuários e de analisar suas rotinas e preferências. Assim, a máquina estaria se aproximando do usuário ao conhecê-lo melhor, e isto possibilitaria que ela pudesse adaptar sua interface para que o usuário a compreende-se melhor também. Com isto, criaria um vínculo entre os dois, tornando possível que a imagem da máquina para o usuário mude. Neste contexto, o presente trabalho é proposto com o objetivo de desenvolver de um enxame de robôs afetivos que possam interagir entre si e cooperar na realização de tarefas. Para isso, será necessário conceber um modelo de Inteligência Artificial capaz de permitir uma maior interação entre os robôs, e com o usuário, ao mesmo tempo, simular o comportamento de um animal, individual e coletivamente. Este trabalho tem como desafio a elaboração de um modelo robótico que atue em um ambiente determinístico e seja capaz de encontrar um alvo definido por uma cor, se deslocar pelo ambiente sem ter problemas com obstáculos em seu caminho, e trocar mensagens com o outro robô para que os dois consigam atacar o inimigo juntos. A contribuição ao final do trabalho é o desenvolvimento de tal sistema robótico, este podendo ser melhorado e se tornar um modelo de estudo para a área de agentes cooperativos.
  • 12. 2 O trabalho está estruturado da seguinte forma:  o Capítulo 1 apresenta os sistema robóticos, suas arquiteturas básicas e funcionalidades;  o Capítulo 2 aborda a Computação Afetiva, seus fundamentos, paradigmas e desafios;  o Capítulo 3 a implementação de um enxame de robôs com o objetivo de se testar mecanismos de Computação Afetiva na consecução cooperativa de um objetivo;  finalmente, no Capítulo 4, são apresentados as conclusões e os trabalhos futuros.
  • 13. 3 CAPÍTULO 1 SISTEMAS ROBÓTICOS 1.1 INTRODUÇÃO Este capitulo terá como objetivo mostrar o que como será descrito um sistema robótico, desta forma especificando as diferenças dos mais diversos tipos de robôs presente no dia-a-dia. Será descrito desta maneira como um sistema robótico é visto na área de Computação como um agente, dos quais suas ações e reações são definidas através de um conjunto de componentes descritos como sensores, do qual é utilizado em larga escala; o controle, a área que traduz a leitura dos sensores em ações para o controlador executar as ações; e por fim os atuadores, que tratam da parte Mecatrônica de um sistema robótico, como sua movimentação, limites físicos de movimentação, dentre outras coisas. Para que se tenha uma visão de que um sistema robótico, se trata de um conjunto de componentes eletrônicos que são utilizados para automação, serão apresentados os diferentes tipos de robôs disponíveis para o mercado desde o de entretenimento até os de uso militar, desta maneira auxiliando o entendimento de que um sistema robótico não é somente algo para automatizar indústrias. 1.2 ARQUITETURA BÁSICA Segundo Russel e Norvig (2004), um agente deve operar de forma autônoma, perceber seu ambiente, persistir por um período de tempo prolongado, adaptando-se às mudanças e ser capaz de assumir metas de
  • 14. 4 outros. Um agente, então, deverá perceber o que o está cercando por meio de sensores, decidir o que deverá ser feito a seguir e, então, agir por meio de atuadores. A Figura 1.1 ilustra os componentes de um agente: Figura 1.1: Diagrama das funções de um agente. Fonte: Figura adaptada de Russell e Norvig (2004, p. 34). Russel e Norvig (2004) utilizam um robô como um exemplo de agentes. Robôs podem perceber o ambiente através de sensores que podem ser sensores óticos, ultrassônico, toque, som dentre outros. A partir de algo captado, podem decidir o que fazer através da unidade de controle, onde um programa rodará o algoritmo responsável por enviar a resposta aos atuadores, que podem ser desde motores até membros mecânicos. Um robô que agrega grande parte destas características é o Lego Mindstorms da Lego (2010). Sensores Controle Atuadores Percepções Ações Ambiente Agente
  • 15. 5 1.2.1 SENSORES Segundo Pazos (2002), sensor é um dispositivo que entrega um sinal elétrico proporcional a uma grandeza física mensurada. Existem sensores de posição, temperatura, umidade, pressão, vazão, presença, força, torque, corrente, cor, altura velocidade, proximidade, luminosidade, aceleração, campo magnético, sistemas de visão, e até sensores de cheiro. Observe-se que a maioria dessas grandezas físicas são analógicas e, portanto, se o controlador for digital será necessário um conversor A/D na entrada dele; mas a presença de um objeto, por exemplo, é uma grandeza digital. Portanto, a saída desse tipo de sensor ( que podem ser diversos tipos de sensores óticos, capacitivos, indutivos, ou até um simples switch ou tipos de pulsador), pode ser entregue diretamente à entrada de um controlador digital. Segundo Rosario(2005), dentre os diversos tipos de sensores existentes, será descrito alguns sucintamente:  Áudio: também conhecido como sensores de som, o sensor funciona traduzindo uma onda mecânica no ar, em um sinal elétrico, um exemplo disso é o microfone, figura 1.2. Figura 1.2: Um exemplo de sensor de áudio como o microfone. Fonte: http://goodmicsforrecording.com/
  • 16. 6  Ópticos: Um sensor óptico é formado por um emissor e por um receptor de luz. O emissor pode ser um LED ou uma lâmpada. O receptor é um componente fotossensível, isto é, sensível à luz, como o fototransitor, os fotodiodo ou resistores variáveis pela luz. A figura 1.3 mostra um exemplo de um LED receptor. Os sensores da figura possuem um diodo LED(A) e um fototransistor(B). Figura 1.3: Exemplo de LED receptores. Fonte: http://www.hiwtc.com/  Posição: Um sensor muito utilizado em robôs exploradores, depende de fatores como movimentação, movimentos possíveis e, um atuador. A figura 1.4 é um exemplo valido de sensor de posição. Figura 1.4: Exemplo de sensor de posição rotativo Fonte: http://www.nei.com.br
  • 17. 7  Pressão: São sensores utilizados em locais onde os seres humanos, não suportariam tais condições de pressão, como o fundo do mar ou pressão de gases. Na figura 1.5 um sensor de pressão pode ser visto. Figura 1.5: Exemplo de sensor de pressão. Fonte: http://turbi.turbisegmento.pt/  Temperatura: Servem para evitar superaquecimento em máquinas ou só para controlar a temperatura do sistema. Podem ser controlados por sensores de Par Bimetálico. Na figura 1.6 um sensor de temperatura que um fio de platina enrolado não individualmente sobre um cilindro de cerâmica. Figura 1.6: Exemplo de sensor de temperatura. Fonte: http://www.fpam.pt
  • 18. 8  Ultrassônico: São geralmente utilizados como sensores de proximidade. Podem apresentar problemas de funcionamento em ambientes que contenham altos índices de 'ruídos', entretanto podem ser utilizados em ambientes impregnados de umidade e pó. Existem sensores ultrassônicos digitais ou analógicos que emitem sinal de acordo com a distância do objeto. Na figura 1.7 um sensor ultrassônico que possui dois discos, um para a transmissão das ondas sonoras, e outro para a recepção do eco das ondas transmitidas. Figura 1.7: Exemplo de sensor ultrassônico. Fonte: http://aliatron.com/  Velocidade: O sensor de velocidade mais utilizado é o tacômetro, encontrado na figura 1.8, este consiste simplesmente num dínamo que gera um sinal de corrente contínua de amplitude proporcional à velocidade de rotação do seu eixo. Figura 1.8: Exemplo de sensor de velocidade como o tacômetro. Fonte: http://www.pce-iberica.es
  • 19. 9 1.2.2 CONTROLE Segundo Rosário (2005), na área industrial, um Programmable Logic Controller (PLC) é um dispositivo físico-eletrônico, que possui uma memória interna programável capaz de armazenar sequência de instruções lógicas binárias, além de outros comandos. Um PLC possui um dispositivo para se conectar com equipamentos externos, o que permite o recebimento e/ou o envio de variáveis de entrada ou de saída, como é ilustrado no diagrama da figura 1.9, logo a seguir. Figura 1.9: Exemplo de aplicação de um PLC. Fonte: Figura adaptada de Rosário (2005, p. 283).
  • 20. 10  Variáveis de entrada: são sinais externos recebidos pelo PLC, vindos tanto de um processo controlado, como de comandos gerados pelo operador. Exemplos: sensores, chaves, transdutores etc.  Variáveis de saída: são os dispositivos que cada ponto de saída do CLP controla. Tais pontos podem servir para realizar uma intervenção direta no processo controlado por acionamento próprio ou também para sinalizar o estado em painel sinóptico. Exemplos: válvulas solenóides, displays, chaves sinais para outros PLCs dentre outros. O princípio de funcionamento fundamental do CLP é a execução, dentro da CPU, de um programa desenvolvido pelo fabricante (Firmware), que realiza sistematicamente ações de leitura das variáveis de entrada por meio do módulo de entrada do CLP, em conjunto com a execução de um programa armazenado e desenvolvido pelo usuário, destinado ao controle e monitoramento de tarefas específicas, onde, por meio de uma lógica implementada, faz ou não intervenções nas variáveis de saída pelo módulo de saída do CLP. 1.2.3 ATUADORES Do ponto de vista tecnológico, são os dispositivos mecânicos que aplicam ou fazem atuar energia mecânica sobre uma máquina, para realizar determinado trabalho, são chamados de atuadores - transdutores de saída que altera a grandeza controlada, ou transdutores eletrônicos que convertem energia elétrica em uma quantidade física, Rosário (2005). São os dispositivos de transmissão de potencia mecânica que fornecem 'músculo' para mover o braço do robô, Rosário (2005). Na prática, os atuadores podem ser utilizados na forma de motores, eletroímãs, freios, magnéticos, válvulas solenóides para acionamento de cilindros hidráulicos e pneumáticos dentre outros.
  • 21. 11  Motor: nos sistemas de controle de posição e velocidade, nos robôs e máquinas industriais, impressoras plotters, cd players, vídeo cassetes e unidades de disco de computadores utilizam-se como atuadores motores elétricos, associados e transmissões por engrenagens ou correias. Na figura 1.10 um servo motor pode ser visto. Figura 1.10: Exemplo de servo motor. Fonte: http://www.alibaba.com/  Eletroímã: trata-se de um sistema de atuação usado em aplicações como transporte de peças de ferro ou níquel por guindaste ou por garras de robôs e travas magnéticas, em que são empregados eletroímãs. Um dos inconvenientes desse tipo de atuador se refere ao alto consumo de energia. Um eletroímã utilizado para a rotação de servo motores pode ser visto na figura 1.11. Figura 1.11: Exemplo de eletroímã presente em motores. Fonte: http://www.suzukionline.org/
  • 22. 12  Válvula solenóide: as válvulas solenóides, figura 1.12, são frequentemente utilizadas em aplicações indústrias, por meio do controle de fluxo de líquido ou ar comprimido, que consiste em um ou mais caminhos que são interceptados por pistões, acoplados e eletroímãs, que liberam ou não fluxo, segundo Rosário (2005). Figura 1.12: Válvula solenóide para controle de água e gases. Fonte: http://www.nei.com.br/ Na área industrial, um atuador é de extrema importância na execução de uma tarefa, portanto é necessário que o mesmo seja adequadamente projetado e adaptado as condições do seu meio e área de trabalho. Segundo Rosário (2005), existe dois tipos de atuadores: garras e ferramentas. A garra é comparável a mão humana. Apesar de possuir limitações nos movimentos a uma faixa de operações, Rosário (2005). A grande demanda por esse tipo de atuador acarretou no desenvolvimento de garras que podem manusear objetos de diferentes tamanhos, formas e materiais. Podem ser classificadas como:
  • 23. 13  Garra de dois dedos: O tipo mais comum de garra apresenta grande variedade. Os tipos de garra de dois dedos diferenciam-se entre si pelo tamanho e/ou pelo movimento dos dedos, como o movimento paralelo, ou o movimento de rotação. Na figura 1.13 uma garra de dois dedos. Figura 1.13: Ilustração de garra de dois dedos. Fonte: http://www.dee.feb.unesp.br/  Garra para objetos cilíndricos: Este tipo de garra consiste em dois dedos com vários semicírculos chanfrados, figura 1.14, que permitem segurar objetos cilíndricos de diâmetro diferentes. Figura 1.14:Ilustração de garra para objetos cilíndricos. Fonte: http://www.dee.feb.unesp.br/
  • 24. 14  Garra para objetos frágeis: Garra própria para exercer certo grau de força durante a operação de segurar um corpo, sem causar danos de nenhuma ordem, é constituída de dois dedos flexíveis que se curvam para dentro, a fim de agarrar um objeto frágil, figura 1.15. Figura 1.15: Ilustração de garra para objetos frágeis. Fonte: http://www.dee.feb.unesp.br/  Garra articulada: É projetada para agarrar objetos de diferentes tamanhos e formas. Os vínculos são movimentados por pares de cabos: um cabo flexiona a articulação e o outro a estende. É exemplificada na figura 1.16 Figura 1.16: Ilustração de garra articulada. Fonte: http://www.dee.feb.unesp.br/
  • 25. 15  Garra a vácuo e eletromagnética: A garra a vácuo, projetada para prender uma superfície lisa durante a ação do vácuo, possui ventosas de sucção conectadas à bomba de ar comprimido que prendem superfícies como chapas metálicas e caixas de papelão, figura 1.17. Figura 1.17: Ilustração de garra a vácuo e eletromagnética. Fonte: http://www.dee.feb.unesp.br/ 1.3 FUNCIONAMENTO De acordo com Brasil (2005), a grande maioria dos robôs é acionada por meio de servo - motores elétricos. O acionamento elétrico, ao contrário do pneumático ou hidráulico, é mais facilmente controlável e oferece maior precisão de posicionamento. Os robôs podem apresentar vários movimentos. Cada movimento, realizado por meio de um servo motor elétrico, corresponde ao que chamamos de grau de liberdade. Os graus de liberdade de um robô podem estar associados ao corpo ou ao punho.
  • 26. 16 Considere-se o sistema robótico mostrado na Figura 1.18: Figura 1.18: Ilustração de braço mecânico. Fonte: Apostila Senai de Automação. (s.d.) O robô acima apresenta cinco graus de liberdade: três graus de liberdade no corpo e dois graus de liberdade no punho. Os graus de liberdade do corpo do robô definem a posição do centro da flange do punho. Assim, quando movemos os eixos A, B e C do robô, cada qual num determinado ângulo, a posição do centro da flange fica perfeitamente definida. Dependendo do número de graus de liberdade, a estrutura mecânica de um robô pode ser mais ou menos complexa. Ela consiste basicamente de peças que se unem umas às outras por articulações ou juntas. O acionamento de cada uma das juntas é realizado por meio de um servo motor elétrico e de sistemas de transmissão mecânica que variam em função da configuração do robô. Ainda de acordo com o Brasil (2005), controlar os movimentos de um robô consiste, basicamente, em fazer com que seus motores girem, associados a cada uma das juntas da estrutura do robô, de modo que o órgão terminal
  • 27. 17 atinja posição e orientação desejadas. O controle é complicado, pois envolve aspectos mecânicos, eletrônicos e de computação. Não se trata apenas de um ponto, mas de uma série deles, formando uma trajetória a ser percorrida pelo órgão terminal. E a cada ponto o órgão terminal pode apresentar uma orientação diferente. O sistema de controle ainda deve considerar a massa que está sendo manuseada pelo robô, as acelerações e desacelerações, os atritos entre os componentes mecânicos. Os desafios principais no problema do controle do movimento são a complexidade desta dinâmica, resultante da não-linearidade, dos graus de liberdade múltipla e a incerteza, tanto paramétrica quanto dinâmica. A incerteza paramétrica advém do conhecimento impreciso dos parâmetros de inércia, enquanto a incerteza dinâmica é proveniente da flexibilidade dos links e articulações, da dinâmica dos atuadores, da fricção, do ruído dos sensores, e da dinâmica desconhecida do ambiente. 1.4 LEGO O kit Lego Mindstorms NXT 2.0, permite uma montagem mais fácil, sem necessidades de conhecimentos técnicos aprofundados para a montagem de um robô. Outra vantagem do Kit é a compatibilidade com o software Labview, que já foi aqui descrito. O kit possui um terminal com um microprocessador ARM7 de 32 bits, com suporte a Bluetooth, uma porta USB 2.0, quatro entradas (para conectar os sensores) e três saídas (para conectar os motores). Três servo motores e quatro sensores, sendo estes: dois sensores de toque, um sensor ultrassônico e um sensor de cores, conforme mostrado na figura 3.1. Figura 3.1: Componentes do kit Lego Mindstorms. Fonte: Lego Minsdstorm.
  • 28. 18 CAPÍTULO 2 COMPUTAÇÃO AFETIVA 2.1 INTRODUÇÃO O objetivo deste capítulo será mostrar a existência de sistemas robóticos sociáveis, tais como cooperativo e competitivo, desta forma especificando as diferenças dos mais diversos tipos de robôs presente no dia-a-dia. Será descrito como um robô sociável se comporta, quais os pontos principais que o tornam sociável. 2.2 FUNDAMENTOS DA COMPUTAÇÃO AFETIVA De acordo com Picard (2000), a visão que se tem das máquinas, atualmente, é a de que são somente objetos que executam tarefas. Neste contexto, surge a Computação Afetiva, com o objetivo de tornar os usuários e as máquinas mais próximos. Isto seria alcançado tornando as máquinas capazes de compreender melhor os usuários, tornando-as capazes de analisar suas rotinas, preferências e, até mesmo, emoções. Assim, diz Picard (2000), a máquina estaria se aproximando do usuário ao conhecê-lo melhor, e isto possibilitaria que ela pudesse adaptar sua interface para que o usuário a compreendesse melhor também. Com isto, seria criado um vínculo entre os dois, tornando possível que a imagem da máquina para o usuário mude. Um exemplo típico é o do computador “HAL 9000” do filme 2001: A Space Odyssey (1968), onde a máquina interage com os humanos, percebendo suas reações e, no final, teme ser desligada, uma emoção típica
  • 29. 19 de seres vivos, pois acarretaria sua morte. Outro exemplo que pode ser dado seria a personagem "Andrew" do filme Bicentennial Man (1999), do qual o próprio robô, por alguma anomalia gerada em sua construção, desenvolve personalidade própria ao ponto de compreender e tentar torna-se quase um ser vivo.Há mais exemplos que pode-se oferecer de Computação Afetiva no mundo da ficção cientifica, porém no mundo real, a humanidade ainda não pode criar algo similar a um “HAL-9000”. Segundo Lockemann (2006), um robô pode ser visto como um conjunto de sensores associados com motores trabalhando em conjunto para atingir uma meta ou objetivo. Porém, Computação Afetiva, não é somente ligada a robôs afetivos. Embora seja uma Computação Afetiva que abrangente e intrigante, as pesquisas nesta área são menores em relação à outras linhas de pesquisa na área de Computação. Este projeto irá se restringir em uma pequena parte desta área. Embora, modelos computacionais possam ser implementados, testados e analisados em robôs em ambientes sociais controlados (Breazel,2002), e fora de locais não controlados para testes existem problemas, em grande parte associados à parte de hardware, para a capacidade e complexidade de armazenar as informações do meio em que se encontra. Contudo o verdadeiro desafio nesta área é o poder de tomar decisões baseadas em experiências já ocorridas, facilitando seu aprendizado, embora essa linha de pesquisa seja chamada de Computação Cognitiva. 2.3 EXEMPLOS DE SISTEMAS ROBÓTICOS AFETIVOS Na área de sistemas robóticos afetivos se tem uma quantidade razoavelmente grande de exemplos que se pode ser citados, um dos exemplos que mais conhecidos fora da área acadêmica seria o Tamagotchi, também
  • 30. 20 conhecido por muitos como "bichinho virtual", por seu tamanho reduzido ele era semelhante a um chaveiro. No Tamagotchi, o usuário era estimulado a cuidar dele fazendo com que ele fosse alimentando, brincando, educando, vacinando, dentre outras funções que possuí. O usuário com poucos botões era capaz de executar diversas funções (Terra, 2010). Um dos pontos mais interessantes do Tamagotchi é que mesmo ele sendo virtual, ele pode morrer caso o usuário não cuide dele, criando assim um laço afetivo entre o usuário e a máquina, desprendendo o usuário da idéia de que por ser algo virtual, associado a uma máquina, ele não possa morrer. Atualmente, tem-se à escolha, ao menos, 10 bichos virtuais disponíveis ao mercado do Brasil. Não existe atualmente um que seja o melhor entre todos, devido a grande quantidade fabrica e por empresas diversas, variando apenas alguns aspectos durante sua vida virtual (Terra, 2010). O robô Furby, que pode ser visto na figura 2.1 na próxima página, possui habilidades afetivas, o robô cujo design era simples para ser infantil, o qual conversa e joga por algum tempo e, aí dorme, como se estivesse cansado. Isso fica mais aparente ao colocar dois Furby's juntos: eles irão interagir através de seus sensores infravermelhos. Eles parecem ter uma mente própria. Eles mesmos decidem quando irão acordar, falar e, depois, ir dormir (Tiger Eletronics, s.d). Figura 2.1: Robô Furby. Fonte: http://www.eltiradero.net
  • 31. 21 O cachorro-robô Aibo, figura 2.2, também é capaz de expressar emoções. Com sensor de toque, o robô se comporta de maneira alegre quando recebe carinho de tal maneira que se faz acreditar que ele realmente responde a estímulos, tem relação afetiva com o dono, mas na verdade não tem, o pequeno Aibo apenas responde a estímulos (ORIENTACAOUNIVIMA2008,2010). O Aibo é equipado com habilidades de aprendizado e crescimento adaptativas que permite que cada unidade tenha uma personalidade única, com o comportamento moldado por seu dono (Sony,2010). Figura 2.2: Robô Aibo. Fonte: http://www.eltiradero.net/ O ASIMO,figura 2.3, foi projetado para auxiliar humanos em suas tarefas. Os sucessores do ASIMO podem ajudar a lavar a roupa e os pratos, ajudar a cuidar dos idosos, se assegurar que criança cheguem a escola seguras etc. muitas dessas tarefas envolve a cooperação entre os humanos e os robôs que os ajudam. Em seu estudo Mutlu, Osman, Forlizzi, etc al., (2010) tentaram descobrir como esta cooperação e competição com os robôs mudam a percepção das pessoas para com os mesmo, assim como suas experiências para com tais. O estudo mostrou que as experiências cooperativas com o ASIMO são mais desejáveis que as competitivas em situações que requerem aceitação e conveniência. Já em tarefas como ajudar um idoso a manter sua rotina de exercícios.
  • 32. 22 Figura 2.3: Robô ASIMO em funcionamento. Fonte: http://www.newlaunches.com Um dos primeiros modelos reais de sistemas afetivos foi o robô Kismet, figura 2.4, construído em 1990 no laboratório de Inteligência Artificial do MIT. Breazeal (2002), explica que foram implementadas uma variedade de competências "infantis" nele, através da adaptação de modelos e teorias dos campos de psicologia, desenvolvimento cognitivo e etnologia. Funciona por meio de sensores de auditivos, visuais e de proximidade, dos quais o robô Kismet pode responder em tempo real as ligações afetivas entre ele e a pessoa com a qual interage. Os sensores visuais dele incluem câmeras que movimentam e controlam sua visão e a sincronizam com seus olhos como os de humanos, podendo assim também reconhecer algo que ele considere como importante. Figura 2.4: Robô Kismet em demonstração. Fonte: http://www.about-robots.com/
  • 33. 23 Um robô muito famoso é o iCub,figura 2.5, segundo seus desenvolvedores o iCub é parte de um projeto da EU Robot Cup. Ele possui 53 motores que movimentam sua cabeça, cintura, braços, mãos e pés. Ele pode ver e ouvir e possui senso de proprioception (configuração do próprio corpo) e movimento (utilizando acelerômetros e giroscópios. Figura 2.5: Robô iCub. Fonte: http://www.robotcub.org/ De acordo com a RobotCup o objetivo por tráz do iCub é o estudo da cognição através da implementação de um robô humanóide do tamanho de uma criança de 3.5 anos. A arquitetura cognitiva do iCub é resultado de um detalhado processo de design fundamentada no desenvolvimento psicológico e neurológico de humanos. O propósito imediato do desenvolvimento da arquitetura cognitiva é criar o núcleo da infra-estrutura do software do iCub, assim ele será capaz de exibir um grupo de comportamentos alvo para uma investigação empírica. A figura 2.6 abaixo mostra a arquitetura cognitiva do iCub. Nela é possivel perceber os caminhos que os dados colotados tomam, e quais as pertes responsaveis pelo controle da visão, locomoção e habilidades motoras.
  • 34. 24 Figura 2.6: Arquitetura cognitiva do iCub. Fonte: http://eris.liralab.it 2.4 PARADIGMAS DA COMPUTAÇÃO AFETIVA Uma das dificuldades atuais para a interação humano-máquina se encontra na aparência da máquina, desde a aparência física externa até parte interna mecatrônica. Porém esta facilidade não pode ser vista ainda no robô desenvolvido pela Sony chamado Aibo, ele foi desenvolvido como a forma de um animal mecatrônico, similar a um cachorro, do qual por sua forma animal o usuário cria vínculos afetivos mais facilmente devido a sua forma animal do que por seu algoritmo. O Eyepet é uma criatura virtual desenvolvida pela Sony PlayStation com o intuito de ser um virtual pet. Ele permite a interação com o usuário através de cartões de realidade aumentada fazendo com que os objetos do cartão entrem
  • 35. 25 no "mundo" do Eyepet. É possível acariciá-lo, alimentá-lo e escolher suas roupas, acessórios e estilos de pelo. (Sony, 2009) Também é possível verificar o bem estar e a felicidade do Eyepet. É possível também tirar fotografias e gravar vídeos. É possível interagir com ele através de acessórios do PlayStation@Move como desenhar com o controle (Sony, 2009). 2.5 DESAFIO COMPUTACIONAL Segundo Picard (2000), há um problema na área de Computação Afetiva, que seria a diferenciação de expressar certo sentimento e realmente senti-lo. Um dos problemas enfrentados parte da área de compreender emoções, é muito fácil reconhecer o que uma pessoa sente quando está brava com o computador, é algo que pode ser detectado sem muita dificuldade. Mas e quanto a detectar o que a pessoa do seu lado esta sentindo. Nisso a dificuldade da tarefa já aumenta, pois às vezes as pessoas não conseguem manipular seus próprios estados emocionais, às vezes não se sabe o que nós mesmos estamos sentindo. Em seu trabalho Picard (2000), relata ter encontrado oito emoções cujo nível de reconhecimento estaria mais alto, a partir disso algoritmo de reconhecimento de padrões com 81% de exatidão foram desenvolvidos, ao invés do 12,5% previsto de uma classificação aleatória.
  • 36. 26 CAPÍTULO 3 COOPERAÇÃO AFETIVA EM SISTEMAS ROBÓTICOS 3.1 INTRODUÇÃO Neste capitulo, serão apresentadas as ferramentas utilizadas no desenvolvimento do trabalho, sua proposta, assim como será explicado os passos do desenvolvimento do robô utilizado, sua construção, as modificações feitas com o objetivo de adaptá-lo a proposta apresentada, a construção e evolução dos modelos de comportamento criados, chegando ao modelo definitivo construído utilizando redes de Petri, explicar como o robô irá realizar as verificações seguindo este modelo e como estas verificações irão levar ações, e finalmente chegando a implementação deste modelo utilizando o software Labview. 3.2 PROPOSTA DO TRABALHO Este trabalho tem como proposta o desenvolvimento de dois robôs capazes de executar um ataque coordenado contra um alvo determinado presente em seu ambiente de atuação. Os robôs necessitam saber interagir com o ambiente onde irão atuar antes de poder executar tarefas nele, assim eles atuaram em um ambiente determinístico para não sofrerem interferências externas do ambiente. Mesmo atuando em um ambiente determinístico eles necessitam de autonomia neste ambiente, para isso terão de ser capazes de desviar de obstáculos presentes neste ambiente, onde os robôs irão ter que detectar objetos que estarão em
  • 37. 27 seu caminho, e então desviar seu trajeto, assim evitando a colisão com o obstáculo. Outra característica dos robôs, é que ambos estarão constantemente patrulhando o ambiente à procura de objetos. Uma rotina de patrulha será implementada para que os robôs possam cobrir todo o ambiente onde atuam eficientemente. Uma vez que um dos robôs tiver encontrado o alvo, este irá avisar ao outro, sobre a presença do alvo. Ao receber a mensagem o robô deverá entrar em um estado de procura para localizar o alvo, seu comportamento irá mudar e ele permanecerá neste estado até encontrar o alvo. Uma vez que o robô encontra o alvo ele irá enviar uma mensagem ao outro robô. Quando ambos os robôs tiverem encontrado o alvo, eles irão se certificar de que estão a uma distância suficiente para um ataque, e então trocaram mensagens para poder atacar ao mesmo tempo. Após as realização do ataque será realizada uma confirmação do sucesso na eliminação do alvo e os robôs irão retornar ao estado de patrulha. 3.3 CONSTRUÇÃO DOS ROBÔS Para a realização deste projeto serão utilizadas duas ferramentas. O software Labview da National Instruments e dois kit’s de Lego Mindstorms NXT 2.0 da Lego. Cada robô foi construído utilizando do modelo de Robogator do Lego Mindstorm NXT 2.0, que é um robô semelhante a um crocodilo. Foram seguidas as instruções para a construção de tal modelo, estas se encontram no software da lego que acompanha o kit. A seguir encontra se as ilustrações das instruções da montagem do robô. Um exemplo de como foi montada a mandíbula do crocodilo para que o robô pudesse morder o seu alvo seguindo as instruções determinadas é mostrado na figura 3.2, logo abaixo:
  • 38. 28 Figura 3.2: Instrução de Montagem do Robô. Fonte: Lego Mindstorms Após ter o modelo construído foram necessárias alterações para que o robô se adequasse a proposta do trabalho. Uma comparação entre os modelos utilizados pode ser vista na figura 3.3, à esquerda o modelo normal montado e à direita o modelo modificado. [Normal] [Modiifcado] Figura 3.3: Comparação entre o robô normal e o modificado.
  • 39. 29 Foi necessário adicionar um sensor de cor, para desta forma ele se localizar de frente ao alvo,modificação ilustradas na figura 3.4, à esquerda o modelo normal montado e à direita o modelo modificado: [Normal] [Modiifcado] Figura 3.4: Diferença entre os o uso modelo original para o da aplicação. Foi necessário elevar a cabeça do Robô para que o sensor de cor não tocasse no chão ao abrir a boca, figura 3.5: [Normal] [Modiifcado] Figura 3.5: Comparação entre os robôs em relação à altura das cabeças. Foi necessário retirar os sensores de toque da parte de trás, pois estes não seriam mais necessários para o projeto, figura 3.6, à esquerda o modelo normal montado e à direita o modelo modificado:
  • 40. 30 [Normal] [Modiifcado] Figura 3.6: Retirada do sensor de toque. Colocar um sensor de toque para verificar a abertura da boca, figura 3.7, nas figuras (A e C) o robô com a boca fechada e o sensor pressionado, e nas figuras (B e D) o robô com a boca aberta e o sensor não mais pressionado: Figura 3.7: Comparação entre o robô com o sensor de toque com a boca aberta e fechada. C) D) A) B)
  • 41. 31 3.3.1 MODELO ROBÓTICO AFETIVO Para a construção do modelo de robótica afetiva, foi iniciado por meio da construção de Autômato Finito Determinístico (AFD), para atender os aspectos gerais da aplicação, tais como definição dos escopos, quantidade de agentes presentes tanto na simulação como na aplicação. Após a construção do modelo de Autômato Finito Determinístico, foi iniciada a construção da Rede de Petri, nesta etapa traduzindo o que havia sido definido na anterior para a Rede de Petri, a fim de realizar simulações para garantir o funcionamento dos modelos de agente. A simulação é uma parte importante desta etapa de construção do modelo, pois permite detectar erros de especificação antes da implementação. A rede de Petri foi modelada e simulada usando dois softwares para garantir a interinidade do modelo de agentes, sendo usado o Visual Petri 1.2 e o Workflow Petri Net Designer 2.6. Após a construção de uma Rede de Petri, as simulações foram realizadas com o intuito de evitar deadlocks na aplicação final. A rede de petri criada pode ser vista na figura 3.8. Na rede de Petri as simulações permitem inferências sobre os sistemas modelados sem a necessidade de construí-los, quando eles são ainda apenas propostas de novos sistemas; sem a necessidade de perturbá-los, quando seu custo operacional é alto ou os seus requisitos de segurança impedem ou desaconselham experimentos; e sem o risco de destruí-los, quando se tem que definir os limites, (Marranghello, 2005).
  • 42. 32 Figura 3.8: Rede de Petri utilizada para o projeto. Ao todo os robôs irão realizar seis tipos básicos de verificações por meio de seus sensores ultrassônico, cores e toque e Bluetooth: 1. Objeto Detectado: Através do sensor ultrassônico será definido se existe um objeto no caminho do robô e este será tido como um obstáculo a ser ultrapassado. 2. Inimigo Detectado: Através do sensor ultrassônico será definido se há um objeto no caminho do robô e após uma confirmação positiva do sensor de cor, o objeto será tido como um alvo a ser atacado. 3. Caminho Livre: Após a tentativa de ultrapassar o obstáculo detectado o robô utilizará o sensor ultrassônico para verificar se o caminho está livre. 4. Mensagem Recebida: Verifica se o outro robô enviou uma mensagem alertando sobre o alvo.
  • 43. 33 5. Outro Robô Pronto: Verifica se o outro robô enviou uma mensagem avisando que encontrou o alvo. 6. Inimigo Morto: Através do sensor de toque verifica se o ataque conseguiu atingir o inimigo. Os estados pelos quais os robôs irão transitar são os seguintes:  Patrulha: Enquanto estiver neste estado o robô irá andar pelo ambiente verificando se existem obstáculos, ou alvos em seu caminho, assim como verificando se recebe uma mensagem de outro robô alertando sobre um alvo no ambiente.  Desvio: O robô entra neste estado ao detectar um obstáculo em seu caminho. E o robô irá permanecer neste estado enquanto o sensor ultrassônico continuar captando um obstáculo no caminho. Neste estado o robô irá tentar contornar o obstáculo, até não haver mais um obstáculo em seu caminho.  Enviar Mensagem: O robô entra neste estado após encontrar o alvo, o robô irá enviar uma mensagem para o outro via Bluetooth, item presente dentro do kit Lego Mindstorms NXT 2.0. O robô só sairá deste estado ao receber uma mensagem de confirmação do outro.  Procura: O robô entra neste estado ao receber a mensagem de que há um obstáculo em seu ambiente. Neste estado o robô irá andar mais rápido para localizar o alvo, para isto a potencia do motor será aumentada. Ele permanecerá neste estado até encontrar o alvo.  Posicionando: O robô entra neste estado após encontrar o alvo. Neste estado o robô deverá estar posicionado ao alcance do alvo, para poder lançar um ataque efetivo. Ele enviará uma mensagem avisando que está pronto para o ataque, e então permanecerá imóvel até receber a mensagem do outro robô avisando que se encontra posicionado também.
  • 44. 34  Ataque Coletivo: Os robôs entram nesse estado após a confirmação de que ambos localizarem o alvo. Neste estado os robôs irão trocar mensagens para poderem atacar o alvo ao mesmo tempo. Ele permanecerá neste estado até que o alvo seja considerado morto. 3.3.2 IMPLEMENTAÇÃO O software da National Instruments chamado Labview será utilizado para desenvolver o software do robô neste projeto. Por possuir um ambiente de programação gráfica muito utilizada ao redor do mundo, com o desenvolvimento elegante de medição, testes e sistemas de controle intuitivos do quais se assemelham a um fluxograma. Visto que o software apresenta um modulo para o Lego Mindstroms e possui um alto grau de integração além de uma rica biblioteca de analise e visualizações de dados, muito utilizado no ramo industrial, principalmente na área de automação. O motivo para a alta integração entre o Labview e o lego vem do fato da National Instruments ser a responsável pela fabricação do software da lego, por este motivo existe o modulo NXT para o Labview. Na aplicação por padronização usado no Labview, as portas para movimentação de motores, foram previamente definidas:  Porta A: Controle de movimento da boca;  Porta B: Controle de movimentação da pata esquerda;  Porta C: Controle de movimentação da pata direita; E as portas utilizadas para os sensores foram:  Porta 1: Sensor de toque;  Porta 2: Porta não utilizada no projeto;  Porta 3: Sensor de cor e luz;  Porta 4: Sensor ultrassônico;
  • 45. 35 . Muitos dos estados utilizados da Rede de Petri por serem utilizados frequentemente, foram adotados para criar subVI’s, com o intuito de deixar a aplicação final mais limpa em termos de visualização. Para os sensores de cor, devido a sua limitação física de reconhecimento de cores, permitindo que apenas um número pequeno de cores possam ser detectadas. Para melhor monitoramento das entradas e saídas recebidas pelo robô o painel de controle é necessário, este pode ser encontrado na figura 3.9. Nele foram dispostos itens para melhor visualização das variáveis envolvidas. Possui um Wave Chart e um Meter para medir as inferências do sensor ultrassônico. Três LEDs para o monitoramento das cores captadas. Um painel para exibir as mensagens recebidas, e finalmente, um botão para acionar a parada do robô, fazendo com que o programa seja abortado. Figura 3.9: Painel de Controle. Na figura 3.10 encontra-se o programa principal do robô. Nesta tela existe o sensor de som enviando informações para os instrumentos do painel e enviando uma entrada para o estado Patrulha. Este gera saídas como a mensagem recebida, e a resposta dos LEDs. Relacionando ao painel da figura 3.9, Meter e o Wave estão ligados ao valor captado pelo sensor ultrassônico,
  • 46. 36 enquanto os LEDs estão ligados a saída do estado Patrulha. Figura 3.10: Aplicação Final. Figura 3.11: Estado de Patrulha. Como já foi explicado o estado de Patrulha recebe um valor do sensor ultrassônico, um valor numérico, figura 3.11. Este valor define a distancia do objeto detectado para com o robô. A figura 3.12 mostra o estado de patrulha onde, o valor numérico recebido, representado por Numeric, é comparado ao valor 60, e se este valor Numeric não for maior que 60 o caso se encaminha o caso True, isto ocorre para permitir que o robô se aproxime mais do objeto detectado, pois para que o sensor de cor funcione corretamente ao identificar as cores captadas é necessário que o robô se aproxime até ficar uma distancia de pelo menos dez centímetros do objeto. Uma vez esta condição sendo satisfeita, o sensor de cor começa a funcionar. Ao detectar a cor vermelha (número 5), indicando que o robô encontrou o alvo, o robô entra no caso 5 e vai para o estado de Posicionado. Isto pode ser observado na figura 3.12 logo abaixo.
  • 47. 37 Figura 3.12: Estado de Patrulha, chegada ao estado de Posicionado. Caso a cor detectada não esteja especificada nas condições, o robô irá para o estado de Desvio, mostrado na figura 3.13. Figura 3.13: Caso de cor detectada default. Caso a distância do objeto seja maior que 60 centímetros, o robô irá verificar se recebeu alguma mensagem, caso a mensagem recebida seja "Posicionado", indicando que o outro robô já encontrou o alvo, então o robô irá parar seu movimento, tocar uma musica para sinalizar o recebimento da mensagem, e então entrar no estado de Procura. Tal trajetória pode ser vista na figura 3.14.
  • 48. 38 Figura 3.14: Recebimento da mensagem. O estado de Posicionado gera apenas uma saída, que é a confirmação de que a cor vermelha está sendo captada na figura 3.15. Figura 3.15: Estado de Posicionado. No estado de Posicionado o robô primeiramente irá parar de se locomover, após isto ele enviará uma mensagem ao outro indicando que o alvo foi encontrado, irá sinalizar o envio da mensagem através de uma sequência de notas musicais. Tendo isto sido feito, ele vai entrar em um laço onde irá esperar e checar por mensagens até receber a confirmação do outro robô de ter encontrado o alvo também. As condições de saída deste laço são: ou o robô não detectar a cor vermelha mais, indicando que o alvo não está mais à sua frente, ou o robô permanecer com a boca aberta por mais de dois segundos, indicando que ele está tentando morder algo, e assim o ataque podendo ser considerado um sucesso, figura 3,16.
  • 49. 39 Figura 3.16: Estado de Posicionado. O estado de Procura também gera apenas a saída de confirmação na continuidade da captação da cor vermelha,figura 3.17. Figura 3.17: Estado de Procura. O estado de Procura é similar ao estado de Patrulha. Uma das diferenças entre os dois estados é o fato do estado de Procura enviar a mensagem de pronto ao outro. A razão para isto é o fato de que para o robô se encontrar no estado de Procura o outro robô já tem de ter encontrado o alvo, figura 3.18.
  • 50. 40 Figura 3.18: Estado de Procura, caso de detecção da cor vermelha. 3.4 TESTES E RESULTADOS OBTIDOS Os robôs devem ser capazes de se movimentar pelo ambiente sem maiores dificuldades ultrapassando os obstáculos encontrados e sendo capazes de detectar alvos dentro do ambiente. Devem ser capazes de uma vez tendo detectado o alvo, o atacar e verificar se o ataque surtiu efeito. Também devem ser capazes de se comunicar remotamente sem a ocorrência de erros na transmissão das mensagens. Em complemento, uma vez detectado o alvo os robôs devem ser capazes de atacá-lo simultaneamente e aferir se o ataque de algum deles teve resultado positivo. Os testes para avaliar cada uma destas rotinas acima descritas foram realizados durante cada etapa do trabalho. Foram divididos da seguinte maneira conforme as etapas de desenvolvimento do robô: Teste de Desvio, Teste de Verificação de Alvo, Teste de Ataque e Verificação de Efeito, Teste de Comunicação e Teste de Sincronia de Ataque.
  • 51. 41 3.4.1 TESTES DE DESVIO No Teste de Desvio o robô foi colocado em um ambiente onde se encontravam obstáculos, e o robô deveria percorrer o ambiente sem que os obstáculos o impedissem de continuar. Foram realizados dois tipos diferentes de testes nessa etapa. No primeiro o robô foi colocado em um ambiente onde somente as paredes o impediam de prosseguir, figura 3.19. Figura 3.19: Ambiente onde os testes correram. Neste teste foi constatada a competência do robô ao se locomover sem colidir com nenhuma das paredes, figuras 3.20. Na sequência de imagens o robô localiza o obstáculo a sua frente, figuras (A e B) e logo em seguida desvia do obstáculo detectado, figuras (C e D).
  • 52. 42 Figura 3.20: Sequência onde o robô desvia do obstáculo. O segundo ambiente, além de possuir paredes também possuía objetos espalhados que dificultavam o caminho do robô, figura 3.21. Neste teste foram detectados alguns limites que deveriam ser respeitados, como a disposição dos objetos. Os objetos devem ser colocados a uma distancia mínima uns dos outros assim como das paredes afim de evitar colisões causadas pela ausência da detecção dos objetos,figura 3.23, esta distância corresponde à medida do robô e é necessária devido ao raio limitado de percepção do sensor ultrassônico, localizado a frente do robô, que acaba não conseguindo detectar objetos fora deste raio, fazendo com que no pior caso o robô consiga colidir com um objeto encontrado em sua extremidade oposta, sendo esta a razão para a distância mínima ser a medida do robô. D)C) A) B)
  • 53. 43 Com este teste foi possível verificar, além de não ser capaz de detectar objetos imediatamente à sua frente, o ângulo do sensor, que se encontra inclinado, não permite que ele detecte objetos abaixo de um certo tamanho, este tamanho sendo terminado pelo ângulo e distância do robô em relação ao objeto. Figura 3.21: Ambiente com obstáculos utilizado no teste. A) B)
  • 54. 44 Figura 3.22: Sequência de imagens do robô ao executar o desvio do obstáculo. Figura 3.23: Robô colidindo com o obstáculo. C) D) E) F)
  • 55. 45 3.4.2 TESTE DE VERIFICAÇÃO DE ALVO O Teste de Verificação de Alvo foi similar ao segundo Teste de Desvio, o mesmo ambiente com objetos espalhados foi utilizado, com a diferença de que um dos objetos do ambiente era de cor diferente e deveria ser reconhecido pelo robô como alvo, este reconhecimento deverá ser feito através do sensor de cor, figura 3.24. Figura 3.24: Ambiente com obstáculos e com o alvo utilizado no teste. Durante o teste foi utilizado um objeto cilíndrico mas logo foi descartado pois os testes mostraram que o angulo de incidência do robô em relação ao objeto dificultava a detecção da cor, pois somente em ângulos específicos a cor era corretamente identificada. Então um objeto com a base cúbica foi utilizado para facilitar a detecção. O resultado do teste foi satisfatório tendo o robô corretamente identificado o objeto com alvo ao entrar no alcance do sensor de cor,figuras 3.25 e 3.26.
  • 56. 46 Figura 3.25: Sequência onde o robô anda pelo ambiente. Figura 3.26: Sequência de verificação do alvo. A) B) C) D)
  • 57. 47 3.4.3 TESTE DE ATAQUE E VERIFICAÇÃO DE EFEITO Neste teste, a capacidade do robô de atacar o alvo e verificar se o ataque surtiu efeito foi testada. Para o teste, um objeto com uma parte sobressalente teve de ser montado. Uma série de objetos foi testada até chegar ao objeto que seria utilizado no teste. O objeto utilizado tinha de ter essa forma e medidas especificas, para que ao tentar morder o objeto, o robô conseguisse morder de forma eficaz a parte sobressalente. A cor do objeto utilizado foi definida como verde para que o robô consiga atacá-lo sozinho, o objeto pode ser visto na figura 3.27. Figura 3.27: Foto do objeto utilizado como alvo. O robô deveria ser capaz de morder o pedaço do objeto de forma a impedir que sua boca se fechasse por estar segurando a parte do objeto entre os dentes, se o robô permanecesse sem conseguir fechar a boca por cinco segundos o robô reconheceria que o ataque havia sido bem sucedido.
  • 58. 48 Figura 3.28: Sequência onde o objeto encontrado é o alvo. Figura 3.29: Sequência onde o robô ataca o alvo. O teste teve resultado positivo, com o robô conseguindo morder o objeto e reconhecendo que o ataque havia sido bem sucedido, figuras 3.28 e 3.29. 3.4.4 TESTE DE COMUNICAÇÃO No teste de comunicação o desafio era conseguir fazer com que os dois terminais, figura 3.30, dos robôs trocassem mensagens via Bluetooth, de forma a um confirmar o recebimento da mensagem do outro. Para este teste, foi necessário entender como a comunicação entre os terminais funciona. Nesta comunicação, um dos terminais deverá se conectar ao outro, o terminal que requisitou está conexão será o Host e o outro será o
  • 59. 49 Client.Também foi necessário desenvolver um programa para realizar as trocas de mensagem,este é representado nas figuras 3.31 e 3.32. Figura 3.31: Programa de comunicação do Host com o Client. Figura 3.32: Programa de comunicação do Client com o Host.
  • 60. 50 Neste teste é necessário que um dos terminais se conecte ao outro para iniciar a conexão, tendo isto sido feito o programa pode ser executado. Neste programa um dos terminais teria o botão "enter" apertado, o terminal cujo botão foi apertado envia uma mensagem para o outro. O segundo terminal então deveria mostrar a mensagem na tela e enviar uma mensagem de confirmação para o primeiro. O primeiro terminal ao receber a confirmação deveria exibir uma mensagem na tela e enviar uma confirmação para o segundo. O segundo ao receber a confirmação também exibiria uma mensagem e o teste teria sido concluído. Figura 3.33: Sequência de envio de mensagem. O teste teve resultado positivo com as mensagens tendo sido enviadas e recebidas corretamente nos dois casos, no caso do Host começar a troca de mensagens e no caso do Client começar, a figura 3.33, mostra o envio da mensagem, em (A) o primeiro terminal envia a mensagem ao se pressionar o botão, em (B) o segundo terminal exibe na tela uma mensagem indicando que A) B) C) D)
  • 61. 51 a mensagem foi recebida, em (C) o segundo terminal envia uma mensagem de confirmação do recebimento, em (D) a mensagem de confirmação do envio é exibida. O teste também mostrou como a utilização do Bluetooth pelos terminais acabou por gastar a bateria mais rapidamente. 3.4.5 TESTE DE SINCRONISMO DE ATAQUES Neste Teste foram utilizados os modelos criados nos testes anteriores. O teste consiste garantir que quando um dos robôs encontre o alvo, comunique isto ao outro e permaneça em sua posição até receber a confirmação pelo segundo robô de que também está posicionado, isto acontecendo os dois robôs deverão atacar ao mesmo tempo, até que um deles confirme ter acertado o alvo corretamente. Neste teste os dois robôs foram colocados no ambiente de teste utilizado nos testes passados, figura 3.34, e permaneceram percorrendo o ambiente até localizarem o alvo e o atacarem com sucesso figuras 3.35 e 3.36. Figura 3.34: Foto do ambiente com os dois robôs. O teste foi bem sucedido com os robôs tendo acertado o alvo e confirmado o resultado positivo da ação, figura 3.37.
  • 62. 52 Figura 3.35: Sequência do primeiro robô encontrando o alvo. Figura 3.36: Sequência do segundo robô encontrando o alvo. A) B) C) D)
  • 63. 53 Figura 3.37: Foto dos robôs atacando o alvo.
  • 64. 54 CAPÍTULO 4 CONCLUSÃO E TRABALHOS FUTUROS A Robótica Afetiva é capaz de mudar a percepção de que as pessoas possuem em relação às máquinas, realizando um papel importante na área da iteração humano-máquina, fornecendo uma interface completamente diferente ao que o usuário final está habituado em interagir. Através da Robótica Afetiva a área da Computação Afetiva é implantada, com modelos de agentes robóticos para atuar de maneira pré-determinada ou autônoma. Os sistemas robóticos são máquinas com a capacidade de utilizar de automação para acatar objetivos declarados pelo usuário ou por suas configurações. Estes sistemas podem ser capazes de receber informações, processá-las, tomar decisões, realizar verificações e gerar ações no meio físico. No decorrer do levantamento teórico realizado para o trabalho, foram estudos modelos de sistemas robóticos e de sistemas afetivos. Essa pesquisa levou a definição do modelo que foi utilizado no durante o trabalho, Através desta pesquisa cientifica, foi possível a criação de um sistema robótico, que atuou como um agente sociável. Esse agente conseguiu realizar um notificação ao outro sistema robótico, de maneira eficiente, sincronizando o momento de ambos atacarem sincronizados e possuírem êxito total em seu ataque. Desta forma, o algoritmo possuiu uma estratégia baseada na precisão de um ataque único para máximo aproveitamento de ataque do caso aplicado em um enxame. Porem, por limitações físicas presente dentro do kit do Lego Mindstorms NXT 2.0,tais como a disparidade entre o escopo e o sensor do ultrassônico e o de cor, fazendo com que o agente tivesse que se aproximar demasiadamente a
  • 65. 55 fim de receber uma leitura precisa para identificar e desferir o ataque. Em termos de facilidade poderia ser melhorado o modelo de pareamento entre os robôs presente dentro do modulo da Lego no Labview, possibilitando a que a conexão entre os terminais possa ser feito dentro do programa ao invés de manualmente antes da execução da aplicação. Como sugestões de trabalho futuros, a possibilidade de explorar novos tipos diferentes de hardware, microprocessadores, servo motores e sensores, estes de preferência voltados somente para as funções que serão exercidas para a aplicação final. De forma a baratear o processo de construção através da eliminação de partes do hardware, que não são utilizadas no modelo robótico final. Nas possíveis melhorias na parte de hardware, a utilização de componentes que possibilitem meios de comunicação que economizem energia assim como o padrão de comunicação ZigBee, seria o mais recomendado para a melhoria do projeto, para a construção de um projeto que envolva comunicação a curta distancia sem fios, a fim de economizar energia, visto que em alguns poucos testes houve um gasto excessivo da vida útil das baterias, Acrescentar na aplicação características de sistemas afetivos visando à melhoria na iteração humano-máquina. Criar situações onde o robô reconhece as preferências do usuário ou interaja diretamente com ele. A criação de modelos diferentes, com baseados em animais diferentes também seria possível, criando assim uma variedade maior de possibilidades de interação entre os robôs, podendo torná-los mais sociáveis. Com estas observações tendo sido feitas, é possível perceber que melhorar e dar continuidade ao projeto até chegar à um modelo tanto funcional, é algo possível e um desafio a ser seguido.
  • 66. 56 Referências Bibliográficas BRASIL, N.A. Tópicos Especiais em Robótica.2005. BARRINI, L., OLIVEIRA, B.D., SILVEIRA, I.F.. Affective Computing: Optimizing Human-Computer Interaction through Non-Verbal Communication Based on Facial Analysis. Disponível em < http://www.clihc.org/2007/papers/AffectiveComputing_ID18_shortpaper.pdf >. Acesso em 27 de jul. de 2011. BREAZEAL, C.L. Designing Sociable Robots. Boston: MIT Press.2002. CARDOSO, J., VALETTE, R.. Redes de Petri. Editora da UFSC. 1997. COLUMBUS, C. Bicentennial Man. Filme. Touchstone Pictures e Columbia Pictures, (1999). ERTUGRUL, N. Labview for electric circuits, machines, drives and laboratories.Prentice Hall – Prin. 2002. GASPERI, M., HURBAIN, P. Extreme NXT: Extending the Lego Mindstorms NXT to the Next Level. Springer Verlag NY. 2009. H2G2. FURBYS .Disponível em < http://h2g2.com/dna/h2g2/A71641> Acesso em 22 de nov. 2011. HONDA. Honda Worldwide ASIMO. Disponível em < http://world.honda.com/ASIMO/ >. Acesso em 20 abri. 2010. IFR.Industrial Robots. Disponível em < http://www.ifr.org/industrial-robots/ >. Acesso em 18 abri. 2010. IME. SENSORES PARTE 2. Disponível em < http://www.ime.eb.br/~aecc/Automacao/Sensores_Parte_2.pdf >. Acesso em 13 de jul. de 2011.
  • 67. 57 INFO ON LINE. Robô aprende a usar arco e flecha. Disponível em < http://info.abril.com.br/noticias/ciencia/robo-aprende-a-usar-arco-e-flecha- 27092010-40.shl >. Acesso em 30 de setembro de 2010. INOVAÇÃO TECNOLÓGICA. CÉREBRO ARTIFICIAL: IBM SIMULA O CÉREBRO DE UM GATO. Disponível em < http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=cerebro- artificial-ibm-simula-cerebro-gato&id=010150091119 >. Acesso em 26 de ago. de 2010. KISMET. Sociable Machines – Kismet, the robot. Disponível em < http://www.ai.mit.edu/projects/sociable/baby-bits.html >. Acesso em 21 abri. 2010. KIRN,S.; HERZOG,O., LOCKEMANN,P.;SPANIOL,O..Multiagent Engineering, Theory And Applications In Enterprises. Nova York: Springer.2006. KUBRIC, S.; CLARKE, A.C. 2001:A Space Odyssey. Filme. Hollywood: Metro- Goldwin-Meyer, (1968). LEGO.Lego Mindstorms. Disponível em < http://mindstorms.lego.com/en- us/products/default.aspx >. Acesso em 18 de abri. 2010. LOCKEMANN, P.C. Agents. Universität Karlsruhe (TH). 2006. MARRANGHELLO, N. Redes de Petri: Conceitos e Aplicações. DCCE/IBILCE/UNESP. 2005. MUTLU, OSMAN, FORZILLI, ETC al. Perceptions of ASIMO: An Exploration on Co-operation and Competition with Humans and Humanoid Robots .Disponível em < http://pages.cs.wisc.edu/~bilge/wp-content/pubs/Mutlu_HRI06.pdf > Acesso em 23 abri. 2010. ORIENTACAOUNIVIMA2008. AFETIVIDADE, MÁQUINA E EDUCAÇÃO - POSSIBILIDADES .Disponível em < http://orientacaounivima2008.pbworks.com/w/page/8543060/AFETIVIDADE%2 C%20M%C3%81QUINA%20-%20POSSIBILIDADES > Acesso em 20 Jul.2010.
  • 68. 58 PAZOS,F. Automação de Sistemas & Robótica.Rio de Janeiro: Axcel Books. 2002. PERSONAL. Disponível em < http://www.personal.psu.edu/scd5029/blogs/was_ist_das/2007/10/u-g-l-y-you- aint-got-no-alibi-you-ugly.html >. Acesso em 16 de nov. 2011. PICARD, R.W.. Affective Computing. Boston: MIT Press.2000. PICARD, R.W.. Affective Computing. Disponível em < http://affect.media.mit.edu/pdfs/95.picard.pdf >. Acesso em 01 abri. 2010. ROSÁRIO, J.M. Princípios de Mecatrônica. Pearson/Prentice Hall. 2005. RUSSELL.S.; NORVIG.P. Inteligência Artificial.Campus.2004. SCRIBD. Apostila Senai Automação. Disponível em < http://pt.scribd.com/doc/54362367/Apostila-Senai-Automacao >. Acesso em 16 de nov. de 2011. SIMON THE ROBOT. SIMON THE ROBOT < http://www.simontherobot.com/ >. Acesso em 27 de jul. 2010. SONY. Sony AIBO Europe – Official Website. Disponível em < http://support.sony-europe.com/aibo/>. Acesso em 21 abri. 2010. SONY. Sony Launches Four-Legged Entertainment Robot . Disponível em < http://www.sony.net/SonyInfo/News/Press_Archive/199905/99-046/ >. Acesso em 21 abri. 2010. SOUZA, L.B.S. Computação Afetiva: Reconhecimento de Expressões Bucais para Interação Não-Verbal. Disponível em < http://www.usp.br/siicusp/Resumos/15Siicusp/2356.pdf >.Acesso em 07 abri. 2010. SUPER-INTERESSANTE. ROBÔS COM ÉTICA. Edição 203. Agosto de 2004. Abril.
  • 69. 59 TERRA. CYBER PETS. Disponível em < http://www.terra.com.br/macmania/cyberpets/ >. Acesso em 22 de out. de 2010. THE NEW YORK TIMES. STUDENTS, MEET YOUR NEW TEACHER,MR. ROBOT. Disponível em < http://www.nytimes.com/2010/07/11/science/11robots.html >. Acesso em 12 de jul. 2010. VESTERINEN, E. Affective Computing. Disponível em < http://www.tml.tkk.fi/Opinnot/Tik-111.590/2001/paperit/vesterinen.pdf>. Acesso em 07 abri. 2010.