PROJETO DE READEQUAC˘AO DE UM ROB~ O^ - DAINF - …fabro/IF66J/Relatorios_Finais/... ·...
Transcript of PROJETO DE READEQUAC˘AO DE UM ROB~ O^ - DAINF - …fabro/IF66J/Relatorios_Finais/... ·...
UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA
DEPARTAMENTO ACADEMICO DE ELETRONICA
DEPARTAMENTO ACADEMICO DE INFORMATICA
CURSO DE ENGENHARIA DE COMPUTACAO
EVANDRO SIRICHUK DE SOUZA
JULIO CESAR NARDELLI BORGES
PROJETO DE READEQUACAO DE UM ROBO
TRABALHO DE CONCLUSAO DE DISCIPLINA
CURITIBA
2009
EVANDRO SIRICHUK DE SOUZA
JULIO CESAR NARDELLI BORGES
PROJETO DE READEQUACAO DE UM ROBO
Trabalho apresentado a Disciplina de Ofic-ina de Integracao III, do DepartamentoAcademico de Informatica - DAINF - e doDepartamento Academico de Eletronica -DAELN - do Curso Superior de Engenhariade Computacao da Universidade TecnologicaFederal do Parana - UTFPR, como requisitoparcial para finalizacao da disciplina.
Orientadores: Prof. Dr. Joao Alberto Fabroe Prof. Dr. Flavio Neves
CURITIBA
2009
Resumo
Este projeto apresenta uma abordagem pratica sobre o funcionamento de um robomovel dotado de diversos sensores, destinado ao estudo de algoritmos de tomada de decisaode navegacao baseada em sensores. Foi realizado um estudo do funcionamento do robo,seu hardware para comunicacao e sensoriamento, e os comandos disponibilizados atravesde uma API (Application Programming Interface) de controle e sensoriamento. Sao re-latados os passos realizados para a compreensao do funcionamento do robo, as atuacoesrealizadas no sentido de diagnosticar problemas neste hardware, as acoes tomadas paracorrecao destes problemas, as configuracoes realizadas para seu correto funcionamento, ea programacao utilizando a API fornecida, com o objetivo de realizar a navegacao do roboem um ambiente controlado, sem colidir com os obstaculos, e podendo assim realizar omapeamento deste ambiente.
Sumario
1 Introducao p. 5
1.1 Primeira proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 5
1.2 Segunda proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 6
1.3 Conducao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 6
1.4 Conteudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7
2 Objetivos e metodologia p. 8
2.1 Objetivo geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8
2.2 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8
2.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8
2.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9
3 Revisao da literatura p. 10
3.1 Robos moveis autonomos . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10
3.1.1 Sistemas de controle de navegacao para robos moveis autonomos p. 10
3.2 Logica Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11
3.2.1 Sistemas Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12
3.2.2 Mapas Cognitivos Fuzzy . . . . . . . . . . . . . . . . . . . . . . p. 13
3.2.3 FCM na navegacao inteligente entre obstaculos . . . . . . . . . p. 13
3.2.4 O modelo FCM . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14
3.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16
3.3.1 Sensores infravermelhos . . . . . . . . . . . . . . . . . . . . . . p. 17
3.3.2 Sharp GP2Y0A21YK . . . . . . . . . . . . . . . . . . . . . . . . p. 17
3.3.3 Sensores ultra-sonicos . . . . . . . . . . . . . . . . . . . . . . . . p. 17
3.3.4 DUR5200 ultrasonic range sensor . . . . . . . . . . . . . . . . . p. 19
3.4 Dr Robot Inc. R© . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
3.5 X80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
3.5.1 Modulos principais . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
3.5.2 Esquema de distribuicao dos sensores . . . . . . . . . . . . . . . p. 22
3.5.3 Arquitetura de comunicacao . . . . . . . . . . . . . . . . . . . . p. 23
3.5.4 Modulo Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
4 Manutencao do robo p. 25
4.1 Standard development kit . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
4.2 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
4.2.1 Problemas e causas . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
4.3 Solucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
4.3.1 Modulo Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26
4.3.2 Modulo de servo motor . . . . . . . . . . . . . . . . . . . . . . . p. 26
4.3.3 Modulo de multimıdia . . . . . . . . . . . . . . . . . . . . . . . p. 27
5 Projeto p. 28
5.1 Ferramentas de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28
5.2 Concepcao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28
5.3 Processo de decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29
6 Resultados p. 31
7 Conclusao p. 33
Referencias p. 34
5
1 Introducao
Nos ultimos anos observou-se um aumento no grau de consciencia com relacao ao
potencial de aplicacoes dos robos moveis autonomos, especialmente em tarefas perigosas,
sujas ou desagradaveis ao ser humano. Assim se fortalece um dos grandes desafios na area
de computacao e robotica, que e o desenvolvimento de robos moveis autonomos, que sejam
capazes de interagir com o ambiente e tomar decisoes para cumprir tarefas complexas como
obtencao de dados, analise, planejamento de trajetoria, navegacao e localizacao.
Face a essa realidade, surge uma nova demanda de mercado por profissionais capazes
de atuar como programadores de software e especialistas em hardware ao mesmo tempo.
O curso de Engenharia de Computacao da Universidade Tecnologica Federal do Parana
oferece aos estudantes uma formacao curricular adequada a esse perfil.
Tendo em vista a aplicacao pratica de conceitos de programacao e eletronica estudados
em sala de aula, a disciplina de Oficina de Integracao III propoe o desenvolvimento de
atividades, nas quais sera proposta a programacao de um robo para que o mesmo possa,
utilizando-se dos proprios sensores, mapear um pequeno ambiente.
1.1 Primeira proposta
No inıcio do semestre, fora proposto o projeto e fabricacao de um robo autonomo
movel completo. O prototipo seria constituıdo de tres modulos, a saber:
• Acionamento de motores;
• Sensoriamento;
• Comunicacao.
O modulo de acionamento de motores seria responsavel pelo controle do servo mecan-
ismo capaz de acionar as rodas do robo e produzir o deslocamento do mesmo. O modulo de
1.2 Segunda proposta 6
sensoriamento seria constituıdo de um conjunto de sensores do tipo sonar e infra-vermelhos
para monitoramento e leitura da distancia de objetos proximos ao robo. O modulo de
comunicacao permitiria ao prototipo trocar dados com o computador de controle.
Os professores haviam providenciado uma base para a confeccao do robo consistindo
do chassi para fixacao das placas e sensores, os motores, encoders das rodas e rodas. Alem
disso, fora decidido em reuniao, o uso da placa mae TS-72001 para acoplamento e controle
dos modulos citados acima.
1.2 Segunda proposta
Na terceira semana de aula houve uma manifestacao por parte de 10/12 da turma
a favor da desistencia da disciplina. Uma semana depois, os alunos a favor entraram
com o pedido de desistencia da disciplina. Deferido o pedido daqueles, a proposta inicial
estava automaticamente inviabilizada visto que os modulos haviam sido distribuıdos entre
equipes.
O professor Dr. Flavio Neves manifestou-se a favor de nossa equipe propondo uma
nova atividade que consistiria na programacao de um algoritmo de localizacao, desvio e
mapeamento de obstaculos em um robo autonomo.
1.3 Conducao do trabalho
Tendo em vista a situacao incomum em que fora colocada a disciplina e os professores,
o trabalho da equipe unica foi conduzido e orientado acompanhando-se o progresso dos
estudantes no decorrer das atividades. O robo encontrava-se fora de condicoes adequadas
de operacao, o que forcou a equipe a conduzir um trabalho de manutencao do mesmo antes
de iniciar efetivamente o desenvolvimento do projeto. Em decorrencia disso, durante os
tres primeiros meses o trabalho evoluiu muito pouco. Mesmo assim, a equipe conduziu
pequenas tarefas pretendendo familiarizar-se com o equipamento. Apenas no ultimo mes,
apos a chegada de uma placa para substituicao e a correta configuracao do modulo Wi-Fi,
e que o trabalho progrediu.
1http://www.embeddedarm.com/products/board-detail.php?product=TS-7200.
1.4 Conteudo 7
1.4 Conteudo
Este documento esta dividido em capıtulos de acordo com as tarefas desenvolvidas ao
longo do semestre. O capıtulo 2 apresenta os objetivos gerais e especıficos do trabalho, a
justificativa e mais a metodologia de desenvolvimento proposta. No capıtulo 3 e apresen-
tada a revisao de literatura, na qual e feito o embasamento das tecnicas de navegacao de
robos moveis autonomos e sao apresentadas as principais caracterısticas do modulo X80
e sensores. O capıtulo 4 apresenta as atividades desenvolvidas durante a manutencao do
robo. O capıtulo 5 descreve o projeto de implementacao do sistema de localizacao e desvio
de obstaculos. O capıtulo 6, apresenta os resultados obtidos e finalmente, o capıtulo 7
apresenta as conclusoes do trabalho.
8
2 Objetivos e metodologia
2.1 Objetivo geral
O objetivo geral deste projeto e reapropriar para o uso um robo modelo X80 do
fabricante de robos Dr.Robot Inc. R© para em seguida utiliza-lo no estudo de algoritmos
de mapeamento e navegacao autonoma para robos. Para atingir esta meta contamos com
a integracao de disciplinas, trabalho em equipe para o desenvolvimento de facilidades e
ideias e aplicacao de nocoes de gerenciamento e execucao de projetos.
2.2 Objetivos especıficos
• Restaurar ao seu estado original a configuracao do robo.
• Identificar e solucionar possıveis defeitos de hardware resultantes do uso em projetos
anteriores.
• Implementacao de um software que auxilie na interpretacao dos dados coletados pe-
los sonares e sensores infra-vermelhos acoplados ao robo, para assim tornar possıvel
a navegacao autonoma em um determinado ambiente.
2.3 Justificativa
Disponibilizar um modelo robotico completo para futuramente servir como base para
o estudo e desenvolvimento de tecnicas e algoritmos voltados a inteligencia artificial que
poderao ser usados em diversos fins, como por exemplo: coleta e analise de informacoes
em locais inacessıveis e/ou improprios ao ser humano,automatizacao de tarefas mecanicas,
mapeamento de areas, competicoes entre universidades como o futebol de robos.
2.4 Metodologia 9
2.4 Metodologia
Para alcancar os objetivos descritos anteriormente, o projeto se desenvolveu nas etapas
a saber:
• Revisao da literatura: a pesquisa se iniciou pelo levantamento teorico, que abor-
dou temas como introducao as funcionalidades e limitacoes do robo, comunicacao e
obtencao de dados, especificacoes dos sensores e algoritmos de navegacao.
• Manutencao do hardware: a partir da revisao da literatura, e seguindo um plano
de trabalho, foram iniciados os reparos nos componentes integrantes do robo, que
envolveram a montagem correta e a coleta dos dados.
• Implementacao do software: o mesmo foi implementado em VisualBasic, comuni-
cando com o hardware via wireless. Mostra as variaveis e as decisoes tomadas pelo
robo conforme a interpretacao dos dados.
• Testes controlados: etapa em que foram realizados testes, calibracoes e ajustes finais
necessarios para um bom funcionamento do conjunto software e hardware.
• Analise dos resultados e conclusoes: etapa onde foi redigida a monografia em sua
versao final, englobando todos os resultados obtidos.
10
3 Revisao da literatura
3.1 Robos moveis autonomos
(MUIR, 1998, p.335) define um robo movel como um robo capaz de se locomover sobre
uma superfıcie somente atraves da atuacao de rodas montadas no robo e em contato com
a superfıcie. As rodas permitem um deslocamento relativo entre o seu eixo e a superfıcie
sobre a qual se espera ter um unico ponto de contato com rolamento puro.
Um robo movel autonomo e um robo movel equipado com sensores que permitem a
percepcao do meio ambiente, total ou parcialmente desconhecido, e e dotado de capacidade
de decisao, que lhe permite cumprir uma tarefa sem intervencao humana. Quando tais
sensores estao disponıveis ao robo, pode-se fazer uso da interacao do robo com o ambiente,
fazendo-o ler e construir o modelo do ambiente no qual o movimento se desenvolve e depois
decidir as acoes a serem tomadas para a realizacao da tarefa. Assim pode-se dizer que
um robo movel autonomo engloba as seguintes caracterısticas:
• Receber informacoes do seu ambiente.
• Capacidade de trabalhar sem nenhuma interferencia humana.
• Se deslocar entre dois pontos sem assistencia de navegacao humana.
• Evitar situacoes que sao perigosas para as pessoas.
Um robo pode tambem ser capaz de aprender autonomamente, aprimorando suas
habilidades e desenvolvendo novas capacidades sem assistencia externa e ajustar suas
estrategias baseados nos arredores.
3.1.1 Sistemas de controle de navegacao para robos moveis autonomos
Segundo (VALENcA, 2004), a tarefa do Sistema de Controle e fazer com que o sistema
como um todo alcance um determinado estado. Alcancar este estado pode envolver ou
3.2 Logica Fuzzy 11
depender de mudancas que ocorram no sistema controlado ou mesmo devido a interacao
entre os dois.
Um sistema de controle pode utilizar sensores inseridos no sistema controlado ou no
ambiente, mas isso e opcional. E possıvel que o sistema de controle utilize sensores somente
no sistema controlado, somente no ambiente, ou em lugar nenhum. Existem diferentes
maneiras de se obter informacoes sobre o estado do ambiente e do sistema controlado. A
seguir tres tecnicas sao brevemente descritas, citadas por (HALLAM, 1990);
• Sistemas de controle Open Loop: Nao utilizam nenhum sensor. As informacoes do
ambiente sao previamente processadas e a tarefa e o comportamento do robo sao,
da mesma forma, previamente determinadas.
• Sistemas de controle Feedforward : Utilizam uma estrategia reativa onde o compor-
tamento do robo e determinado pelos estımulos exteriores vindos do ambiente e
captados pelos sensores.
As tecnicas anteriores podem ser utilizadas somente quando o ambiente e praticamente
estatico e previsıvel. Isso nao ocorre na maioria dos casos de controle robotico. Em
robotica o sistema de controle mais utilizado e o Feedback.
• Sistema de controle Feedback : monitora continuamente a situacao dos sensores e
ajusta seus atuadores de acordo.
3.2 Logica Fuzzy
A Logica Fuzzy e baseada na teoria dos conjuntos Fuzzy. Esta e uma generalizacao
da teoria dos conjuntos tradicionais para resolver os paradoxos gerados a partir da classi-
ficacao ”‘verdadeiro ou falso”da logica classica. Tradicionalmente, uma proposicao logica
tem dois extremos: ou ”completamente verdadeiro”ou ”completamente falso”. Entre-
tanto, na logica Fuzzy, uma premissa varia em grau de verdade de 0 a 1, o que leva a ser
parcialmente verdadeira ou parcialmente falsa.
Uma das grandes vantagens da utilizacao da logica Fuzzy e a utilizacao das variaveis
linguısticas, pois com elas e possıvel transformar a linguagem natural em um conjunto de
numeros, permitindo assim a sua manipulacao computacional. As variaveis linguısticas
assumem valores linguısticos, como por exemplo, alto, baixo, mediano, quando relativos
3.2 Logica Fuzzy 12
a variavel Altura. Deste modo, os conjuntos Fuzzy e a logica Fuzzy provem a base para
geracao de tecnicas poderosas para a solucao de problemas, com uma vasta aplicabili-
dade, especialmente, nas areas de controle e tomada de decisao. A forca da logica Fuzzy
deriva da sua habilidade em inferir conclusoes e gerar respostas baseadas em informacoes
vagas, ambıguas e qualitativamente incompletas e imprecisas. Neste aspecto, os sistemas
de base Fuzzy tem habilidade de raciocinar de forma semelhante a dos humanos. Seu
comportamento e representado de maneira muito simples e natural, levando a construcao
de sistemas compreensıveis e de facil manutencao.
3.2.1 Sistemas Fuzzy
Os sistemas Fuzzy estimam funcoes a partir de uma descricao parcial do comporta-
mento do sistema, onde um especialista deve prover o conhecimento heurıstico, ou esse
conhecimento pode ser inferido a partir de dados de entrada e saıda do sistema. Um
sistema de inferencia pode ser composto por cinco blocos principais. (VALENcA, 2004).
Figura 1: Sistema de inferencia Fuzzy. Fonte: (ZADEH, 1988)
3.2 Logica Fuzzy 13
• Base de regras: contem um conjunto de regras nebulosas, onde variaveis antecedentes
/ consequentes sao variaveis linguısticas, e os possıveis valores de uma variavel
linguıstica sao representados por conjuntos nebulosos.
• Base de dados: define as funcoes de pertinencia do conjunto nebuloso.
• Unidade de Decisao Logica: realiza as operacoes de inferencia, para obter a partir
da avaliacao dos dados de entrada com as condicoes impostas pela base de regras,
uma acao a ser realizada pelo sistema.
• Interface de fuzificacao : utilizando as funcoes de pertinencia pre-estabelecidas, ela
mapeia cada variavel de entrada do sistema em graus de pertinencia.
• Interface de defuzificacao : transforma os valores nebulosos, provenientes da unidade
de decisao logica, em valores de saıda.
3.2.2 Mapas Cognitivos Fuzzy
Os mapas cognitivos Fuzzy (FCMs) foram propostos por (KOSKO, 1986), baseado
nas ideias de Axelrod na decada de 70. Os FCMs sao grafos bidirecionais cujos valores
numericos sao conjuntos Fuzzy. Os nos do grafo representam conceitos linguısticos que
sao relacionados uns aos outros atraves das arestas, que descrevem a ligacao/associacao
entre eles. Dessa forma, cada uma dessas arestas recebe um valor numerico Fuzzy, ou
seja, no intervalo [0,1], que representa a forca da associacao entre os conceitos conectados.
Os FCMs alem da logica Fuzzy, apresentam caracterısticas das redes neurais. Isto
e, permitem um raciocınio linguıstico e o processamento paralelo e integrado das in-
formacoes, podendo representar a organizacao de ideias no universo em estudo. Os FCMs
foram inicialmente desenvolvidos no contexto de teoria de controle e mostraram-se ferra-
mentas eficientes no controle de sistemas razoavelmente complexos. (SOUSA, 2006).
3.2.3 FCM na navegacao inteligente entre obstaculos
Muitos trabalhos tem sido desenvolvidos na area de pesquisa robotica utilizando ma-
pas cognitivos, pois problemas com difıcil solucao, como a como a navegacao autonoma,
onde se faz necessario o auxılio matematico/computacional, se tornam impossıveis de
serem resolvidos sem o auxılio da logica nebulosa.
3.2 Logica Fuzzy 14
A chave para desenvolver um sistema de controle Fuzzy e iterativamente construir
uma base de regras que suporte a resposta desejada, construindo essas regras a partir
do conhecimento do problema. Em muitos casos isso e muito intuitivo e proporciona um
controle robusto em um pequeno espaco de tempo.
Utilizar um mapa cognitivo Fuzzy para as tarefas de navegacao significa nao reagir a
informacao adquirida no ambiente pelos sensores, sem antes proceder a etapa de analise em
um sistema nebuloso das mesmas. O FCM pode representar acoes simples de navegacao
como, virar a direita, virar a esquerda ou acelerar. Uma analise atraves dele e feita a partir
de regras e gatilhos que produzem respostas de acordo com a intensidade das medidas
adquiridas nos sensores. Assim a habilidade de adaptacao ao ambiente muda de acordo
com as decisoes tomadas.
3.2.4 O modelo FCM
Utilizamos um modelo de FCM guiado por eventos proposto por (MENDONcA; AR-
RUDA; JuNIOR, 2009). Este modelo foi criado seguindo os passos descritos na figura 2.
No primeiro passo identificamos os conceitos: tres entradas, sensores de obstaculos, e tres
saıdas que sao os possıveis movimentos do robo, acelerar, esquerda ou direita. As tres
decisoes correspondem a virar a direita se o sensor da esquerda identificar um obstaculo,
virar a esquerda caso o sensor da direita identificar um obstaculo ou acelerar se nada
for detectado. Os movimentos correspondentes correspondem a uma desaceleracao suave
de uma ou ambas as rodas do prototipo utilizando uma funcao de amortecimento. Os
segundo, terceiro e quarto passos correspondem a como identificar a melhor maneira de
tratar os dados e os pesos de entrada para resultar nas saıdas mais adequadas.
Cada conceito e conectado por um arco representando uma acao que pode ser uma
aceleracao positiva ou negativa. Os nos SL, SR e SF correspondem as leituras normaliza-
das dos sensores esquerdo, direito e frontal respectivamente. Os nos OL, OR e OS sao os
movimentos virar a direita, a esquerda e seguir em frente respectivamente.
A cada arco estao associados pesos Wn que sao computados pela equacao:
Ai = f(n∑
j=1
(AjxWj i) + Aanteriori ) (3.1)
onde Ai sao os valores dos conceitos Ci (nos).
Podemos notar que os conceitos OL(-1) e OR(-1) representam estados anteriores, o
3.2 Logica Fuzzy 15
que significa que alguns conceitos possuem memoria, ou seja neste caso o movimento pode
se recordar das acoes tomadas para virar a direita ou esquerda, assim prevenindo que o
robo fique em zigue-zague.
A fim de modelar a capacidade de adaptacao, introduzimos tres novos conceitos para
o FCM associando uma ”intensidade”ao movimento (aceleracao ou frenagem) em cada
direcao. Esses sao os fatores direita, esquerda e frontal. Cada conceito fator pode ter
seu valor ajustado conforme o grau de necessidade da manobra exigida pelos eventos.
Os eventos sao modelados pelos pesos Ws que provem de regras IF baseada em termos
linguısticos.
Figura 2: Construindo Sistemas FCM. Fonte: (MENDONcA; ARRUDA; JuNIOR, 2009)
3.3 Sensores 16
Figura 3: Modelo ED FCM. Fonte: (MENDONcA; ARRUDA; JuNIOR, 2009)
3.3 Sensores
Uma das principais caracterısticas dos robos moveis considerados inteligentes e o uso
de sensores externos que os tornam capazes de operar em ambientes desestruturados. Tais
sensores permitem ao robo autonomo extrair informacoes do ambiente levando-o a reagir
as mudancas do mesmo de forma inteligente (RESENDE, 1992).
A entrada de informacoes em um sistema inteligente ocorre sempre por meio de sen-
sores A informacao dos sensores e sempre enviada ao modulo de processamento sensorial
do sistema inteligente, que transformara os sinais oriundos dos sensores em informacao
util ao sistema (SUaREZ, 2000).
Apesar de o robo contar com cinco tipos de sensores, entre eles: sensores piroeletricos,
som, camera, extensao e temperatura, para este projeto, utilizaremos somente os de ex-
tensao.
3.3 Sensores 17
3.3.1 Sensores infravermelhos
Os sensores opticos dessa classe possuem um princıpio de funcionamento baseado num
feixe luminoso infravermelho gerado por um dispositivo emissor e captado por outro dis-
positivo receptor. A presenca de um objeto no caminho do raio infravermelho possibilita
(ou impede), dependendo do tipo de sensor, a recepcao deste por parte do receptor. Assim,
o controlador monitora se o objeto se encontra presente no caminho da luz e transforma
a distancia determinada em uma tensao eletrica proporcional.
Nos dispositivos mais comuns, o emissor consiste em um led infravermelho polarizado
adequadamente, o qual emite um raio de um determinado espectro de frequencias. O
dispositivo receptor, em geral, consiste em um fototransistor, que quando esta polarizado
corretamente (fica em estado de corte ou saturacao) dependendo se sua base esta sendo
ou nao iluminada. Atraves da polarizacao do receptor, e possıvel obter na saıda um sinal
de 0 volt a VCC.
Seu baixo custo, tamanho reduzido, robustez diante de ruıdos eletromagneticos, a
capacidade de detectar todo tipo de material (desde que nao sejam transparentes), a boa
resolucao, as distancias de deteccao relativamente altas e o simples princıpio de funciona-
mento fazem deste tipo de sensor uma opcao atrativa como sensores de presenca. Como
desvantagem, cabe apontar que podem ser influenciados por uma iluminacao defeituosa,
assim como sao sensıveis em ambientes com altos ındices de contaminacao otica (SANTOS,
2006);
3.3.2 Sharp GP2Y0A21YK
Utilizado em diversos tipos de aparelhos eletronicos este sensor possui um leque de
deteccao que varia no intervalo de 10 a 80 centımetros para o branco com refletividade de
90 %. Sem a necessidade de um circuito de controle externo, este componente pode ser
alimentado com uma tensao de ate 7 Volts e em media, consome uma corrente de 30 mA
(SHARP, 2009).
3.3.3 Sensores ultra-sonicos
O princıpio de funcionamento destes sensores e o seguinte: um transdutor emite ondas
ultra-sonicas em frequencia normalmente em torno de 42 kHz, a superfıcie plana do alvo
reflete o ultra-som, que retorna ao sensor como um eco. A variavel medida e o tempo
3.3 Sensores 18
Figura 4: Vista frontal do sensor Sharp GP2Y0A21YK. Fonte: (SHARP, 2009)
Figura 5: Caracterısticas da tensao analogica de saıda. Fonte: (SHARP, 2009)
de trajeto (de ida e volta) da onda entre a face do sensor e a superfıcie do objeto, cujo
resultado e utilizado no calculo da distancia (levando-se ainda em conta que a velocidade
de propagacao do ultra-som no ar e praticamente constante). Ou seja, o resultado e um
comprimento de onda da ordem de alguns centımetros, o que permite detectar objetos
relativamente pequenos.
Estes sensores ideais para detectar a presenca de objetos a curtas distancias sendo por
isso usados em aplicacoes onde outros meios mais sujeitos a interferencia nao funcionam
bem. Isso acontece pois os ultra-sons, diferentemente de luz e sinais eletricos, nao sao
3.4 Dr Robot Inc. R© 19
afetados por interferencias eletricas ou mesmo luz ambiente.
3.3.4 DUR5200 ultrasonic range sensor
Podendo detectar informacoes numa faixa de 4 a 340 centımetros o sensor DUR5200
transmite uma onda ultrasonica com frequencia de 40 Khz e assim que recebe o eco
dessa, verifica o tempo decorrido e emite um sinal para o calculo da medida de distancia
considerando a velocidade do som no ar igual a 343.5 metros por segundo a 20o C. O
sensor tambem possui um oscilador embarcado para fins de reducao de carga sobre o
controlador para emissao de sinal na frequencia exigida (DUR5200MANUAL, 2005).
Figura 6: Vista frontal do sensor DUR5200. Fonte: (DUR5200MANUAL, 2005)
Para fins de precisao podemos aliar este sensor ao sensor de temperatura, para as-
sim definirmos uma aproximacao mais adequada para a velocidade do som no presente
ambiente atraves da seguinte expressao:
V = 331.5 + 0.6 ∗ T [m/sec] (3.2)
onde T esta em graus Celcius (DUR5200MANUAL, 2005).
Devemos ressaltar que apesar de o modulo ler distancias de ate 340 centımetros,
somente conseguiremos mensurar valores menores que 255 centımetros visto que o contro-
lador de sensoriamento do robo (PMS5005) usa somente um byte (8 bits) para processar
as medidas de distancia adquiridas nos sensores. (DUR5200MANUAL, 2005).
3.4 Dr Robot Inc. R©
Fundada por um grupo de cientistas e engenheiros que trabalharam previamente em
sistemas roboticos para diversas agencias espaciais, a empresa, considerada pioneira na
3.5 X80 20
fabricacao de modulos autonomos, fornece robos de alto desempenho para fins industriais,
comerciais e academicos (DR.ROBOT, 2009).
3.5 X80
Conforme (X80MANUAL, 2008) o modelo X80 e uma plataforma de robo movel des-
ignada para pesquisadores que desenvolvem aplicacoes roboticas avancadas como moni-
toramento remoto, telepresenca e navegacao/patrulha autonoma.
Figura 7: Vista lateral do robo de modelo X80. Fonte: (X80MANUAL, 2008)
Com um sistema desenvolvido para prover uma interface de programacao amigavel,
o X80 e controlado remotamente por programas PC de alto nıvel que atraves da porta
serial ou de uma rede digital wireless podem, aliados a um conjunto de componentes de
controle ActiveX desenvolvidos para diversos ambientes, disponibilizar o controle total
sobre o robo, onde multiplos aplicativos podem simultaneamente enviar e receber dados
como imagens, audio ou informacoes dos diversos sensores acoplados em sua estrutura.
Por padrao o sistema contem drivers de baixo nıvel que oferecem um controle flexıvel para
todos os modulos eletronicos. Por exemplo, pode-se controlar servos motores genericos
e motores DC usando os comandos embutidos disponıveis na biblioteca de comando de
controle, onde todos os parametros sao configuraveis.
3.5.1 Modulos principais
Os modulos sao componentes de hardware destacaveis que quando integrados cons-
tituem o sistema do robo. Seus atributos e funcionalidades estao entre as mais variadas
e mais adiante sera descrito o funcionamento dos principais modulos que foram usados
neste projeto.
3.5 X80 21
A seguir os modulos padrao do modelo X80:
• PMS5005 - Controlador de sensoriamento e movimento do robo
• PMB5010 - Controlador de multimıdia
• MDM5253 - Modulo driver de motor DC com posicao e realimentacao de corrente
• MCI3908 - Modulo de imagem colorida com camera
• DUR5200 - Sensor de extensao ultra-sonico
• DHM5150 - Modulo de sensor piroeletrico de movimento humano
• GP2Y0A21YK - Sensor de distancia infravermelho Sharp
• MCR3210 - Modulo de interface RS232
• WFS802b - Modulo de rede sem fio WiFi 802.11
• BAS8100 - Alto-falante de 80 Ω e 1W
• MAC5310 - Modulo amplificador e codec de audio
• SAM5247 - Microfone uni-direcional
• CCR2150 - Cabo serial cross-over RS232
• N/A - Servo Motores
• N/A - Motor 12V DC
• N/A - Encoder optico com 32768 contagens por ciclo de roda
• BPN7240 - Batteria 7.2V Ni-MH 3800mAh
3.5 X80 22
3.5.2 Esquema de distribuicao dos sensores
Figura 8: Vista superior do robo, destacando a localizacao dos sensores. Fonte:(X80MANUAL, 2008)
Conforme exibido na figura 8, nota-se que acoplado a base do modelo X80 ha dois
modulos sensores de presenca humana piroeletricos localizados nas indicacoes I e H; tres
modulos sensores de extensao ultra-sonicos, indicacoes A, D e G; e sete modulos sen-
sores de extensao infravermelhos, indicacoes B, C, E, F, J, K e L. As indicacoes M e N
correspondem aos modulos servo motores com encoder de quadratura.
3.5 X80 23
3.5.3 Arquitetura de comunicacao
No sistema utilizado no robo, os drivers eletronicos de baixo nıvel sao pre programados
e embarcados nos controladores PMS5005 e PMB5010. Assim sempre a partir desses dois
modulos se inicia o envio das informacoes dos dados para o modulo de comunicacao, que
pode ser acoplado tanto em um como em ambos (nesse ultimo caso ligados em serie por
uma conexao placa-a-placa onde o controlador de sensoriamento esta mais ao topo de
comando). Pela figura 9 podemos visualizar tambem que os tipos de comunicacao com o
servidor PC podem ser feitos por um modulo wireless ou cabo serial.
Figura 9: Modelos em blocos da arquitetura basica de comunicacao.
3.5 X80 24
3.5.4 Modulo Wi-Fi
O modulo WFS802b e um componente de hardware que disponibiliza a comunicacao
sem fio com o robo sobre uma rede com interface 802.11b e o protocolo TCP/IP. O
WFS802b pode ser configurado via serial e contem um servidor web embarcado que pode
ser usado para monitora-lo e reconfigura-lo remotamente. Suporta os protocolos TCP,
UDP e criptografia de seguranca WEP de 128 bits.
Figura 10: Vista superior do modulo de comunicacao sem fio WFS802b. Fonte:(X80MANUAL, 2008, p. 94)
25
4 Manutencao do robo
O robo, modelo X80 e da marca Dr. Robot, fora entregue em condicoes inadequadas
de operacao. Estavam faltando placas e o driver do motor estava danificado. A equipe
procedeu com a manutencao do mesmo, reinstalando as placas ausentes e substituindo
aquela que estava danificada. O proposito deste capıtulo e descrever as atividades reali-
zadas na manutencao do robo.
4.1 Standard development kit
Ao inıcio das atividades, seguiu-se a preparacao do ambiente de trabalho com a in-
stalacao do SDK fornecido pelo fabricate para programacao do robo. Alem disso, foi
necessaria a instalacao das seguinte ferramentas:
• Microsoft Visual Studio C# 2008;
• Microsoft DirectX Standard Development Kit.
4.2 Testes
Em seguida, deu-se inıcio aos testes do robo, ligando-o e o comunicando com o com-
putador. Inicialmente fora tentado via Wi-Fi, entretanto, verificando-se que o robo nao
respondia, utilizou-se a interface serial do mesmo. O robo operou adequadamente em
relacao aos sensores. Por outro lado, os motores nao estavam operando corretamente e os
recursos de multimıdia, como vıdeo, som e microfone, nao estavam disponıveis.
4.2.1 Problemas e causas
A equipe procurou as causas dos problemas e verificou que:
4.3 Solucao 26
1. O robo nao podia comunicar-se via Wi-Fi pois o modulo responsavel pela comu-
nicacao do mesmo, por essa via, estava ausente;
2. O robo apresentava problemas no acionamento dos motores porque a placa respon-
savel por essa funcao estava queimada;
3. O modulo de multimıdia, que e responsavel pelo vıdeo, som e microfone, estava
faltando.
4.3 Solucao
Comprometida em restaurar o robo e viabiliza-lo para uso no projeto, procurou-se,
ao longo dos primeiros meses de trabalho, solucionar os problemas.
4.3.1 Modulo Wi-Fi
Encontrou-se a placa de Wi-Fi em uma caixa juntamente aos demais modulos fal-
tantes. A placa e do modelo WFS802b, explicada em maiores detalhes mais adiante, e
deve ser configurada adequadamente para que o robo possa se conectar a rede sem fio.
Uma configuracao inicial pode-se fazer via interface serial, conforme explicado em
(X80MANUAL, 2008)(pg. 97-98). Em seguida, estando o modulo configurado adequada-
mente na rede sem fio, e possıvel continuar a configuracao via web browser.
Contudo, a equipe nao obteve sucesso na primeira tentativa porque o roteador, um
equipamento da marca D-LINK, modelo 524 e que viera acompanhando o robo, nao foi
econtrado. Desse modo, precisou-se usar outro equipamento, um roteador de mesma
marca, mas modelo diferente (D-LINK 624), e tendo-se que o configurar manualmente.
Entrou-se em contato com o suporte tecnico da Dr.Robot descrevendo a situacao e
apos uma semana, foi-nos enviado uma lista com as configuracoes corretas. Conseguiu-se
configurar o modulo Wi-Fi.
4.3.2 Modulo de servo motor
A equipe diagnosticou que o problema de acionamento dos motores era devido ao
driver do motor, uma placa de modelo MDM5253, estar danificado.
Sugeriu-se ao professor Dr. Joao Fabro a substituicao da placa. Na mesma semana,
4.3 Solucao 27
o professor a encomendou dos Estados Unidos e apos duas semanas de espera a placa
chegou da importacao.
Deu-se continuidade ao trabalho com a substituicao da placa e verificou-se o correto
funcionamento do robo.
4.3.3 Modulo de multimıdia
Observou-se que o modulo de multimıdia, uma placa do modelo PMB5010, estava fal-
tando. A mesma fora encontrada em uma caixa juntamente aos demais modulos faltantes.
Conectou-se a placa ao robo e a placa, a camera de vıdeo, o autofalante e o microfone.
Testou-se o modulo e verificou-se que o mesmo funcionava corretamente.
28
5 Projeto
5.1 Ferramentas de trabalho
O software foi programado em Visual Studio C# 2005 e utilizando-se a API do robo
em operacoes de leitura de sensores e controle dos motores das rodas.
5.2 Concepcao
Propos-se uma abordagem simplificada em relacao apresentada em (MENDONcA; AR-
RUDA; JuNIOR, 2009). Usou-se um processo de decisao simples e, diferentemente, o aciona-
mento dos motores e uma funcao linear da distancia medida pelos sensores de ultrasom.
A ideia central e que a potencia de acionamento dos motores pode ser controlada pela
largura do sinal de PWM (Pulse Width Modulation, ou Modulacao por Largura de Pulso)
enviado, via software, ao controlador. Atribuindo-se ao PWM uma faixa de operacao e,
normalizando a distancia dos sensores a valores entre 0 e 1, controla-se o valor de PWM
em funcao da distancia normalizada. Os valores de PWM estao na ordem de 75% a 100%
do limite maximo aceito pelo controlador, conforme a tabela 1:
Tabela 1: Faixa de operacao de PWM.
PWM mınimo PWM maximo Faixa de operacao0 32767 24575 - 32767
A distancia medida e normalizada pelas equacoes:
xx = sonar − 0.12 (5.1)
yy = xx/0, 5 (5.2)
5.3 Processo de decisao 29
A parcela 0,12 (12 cm) e subtraıda do valor real de leitura sonar porque o sensor nao
mede distancias menores que isso. O fator 0,5 (50 cm) e o valor maximo de distancia
considerado, valores acima disso sao descartados. O fator yy e a distancia normalizada a
qual multiplica o delta, como mostra a equacao:
pwm = r ∗ yy (5.3)
O coeficiente r e o delta escolhido para operacao dos motores, conforme a equacao:
r = 8192 ∗ f/100 (5.4)
Onde f e uma fracao na escala 0 a 100%.
5.3 Processo de decisao
Figura 11: Fluxograma do processo de decisao.
O processo de decisao e ilustrado no fluxograma da figura 11. O laco se inicia com o
calculo do delta, fator r, e o valor pwm de operacao. A seguir, as variaveis xx1, xx2 e xx3
5.3 Processo de decisao 30
recebem os valores de distancia, lidos pelos sensores de ultrasom, menos 0,12. O primeiro
ajuste e efetuado com base na leitura xx3 (sensor a direita). Caso o valor desta seja menor
que 0,5 a largura de pwm a ser enviada ao motor esquerdo, variavel pwmE, e uma funcao
de yy. O mesmo processo e repetido e a largura de pwm e ajustada para o motor direito
(pwmD) com base na leitura xx1 (sensor a esquerda). Quando as tres medidas (xx1, xx2
e xx3) marcarem valores menores que 0,5, entao ambos, pwmE e pwmD, sao ajustados
em funcao de yy, calculado a partir de xx2 (sensor frontal).
O sentido do movimento e definido ao final do processo. Se o sensor frontal (xx2)
indicar uma medida menor que 0,07, o movimento e para tras e conta-se 1250 passos
a partir desse ponto. Caso contrario, o movimento e para frente. Vale observar que
enquanto o movimento for para frente, a leitura do sensor a direita afetara o pwm do
motor a esquerda e a leitura do sensor a direita afetera o pwm do motor a direita. O
contrario ocorre quando o movimento e para tras.
31
6 Resultados
Figura 12: Ilustracao da tela.
Uma ilustracao da tela e mostrada na figura 12. O software le continuamente o
valor dos sensores e os mostra na tela. Ele permite definir a faixa de PWM de operacao
para acionamento dos motores. Os botoes GO e STOP iniciam e param o algoritmo,
respectivamente.
Ao executar o software, o robo demonstrou responder bem aos comandos de movi-
mento e o algoritmo mostrou-se satisfatorio. Foram experimentadas duas configuracoes
de obstaculos (ilustradas na figura 13, construıdas utilizando folhas de papelao como
obstaculos) e o robo foi capaz de chegar ao final na maioria das tentativas.
5 Resultados 32
Figura 13: Caminhos experimentados.
33
7 Conclusao
A analise e o estudo do robo em seus modulos funcionais clarificou o funcionamento do
processo de automacao, permitindo-nos analisar cada parte integrante pela modificacao
da programacao, ou de componentes e dispositivos. Ao montar a estrutura mecanica
do robo para a efetuacao dos reparos, estudar novos conceitos logicos para implementar
diferentes estrategias de navegacao, ensaiar o sistema em uma situacao real e analisar
os resultados, acabamos formando solidos conceitos de automacao que contribuıram para
um melhor entendimento dos problemas da robotica atual e o papel do engenheiro de
computacao frente a esses desafios.
Este projeto comprova os resultados que podem ser obtidos quando alunos de graduacao
sao devidamente motivados e apoiados a participaram de um desafio completamente difer-
ente, novo, em relacao ao ambiente academico normal de um curso de engenharia. Os
resultados obtidos comprovam que mesmo em curtos prazos para execucao de tarefas que
exigem grande aplicacao nao so de conhecimento academico mas tambem de novos con-
ceitos, e possıvel obter bons resultados. Nota-se que neste curto prazo os membros da
equipe tiveram que ser capazes de individualmente conciliar suas atividades academicas
e compromissos pessoais em benefıcio de uma causa comum. Assim os alunos envolvidos
neste desafio concordam que esta atividade lhes permitiu crescer tanto academicamente
quanto pessoalmente (no que tange o fator humano envolvendo relacoes necessarias dentro
de um trabalho em equipe).
34
Referencias
DR.ROBOT. Dr.Robot Inc. Outubro 2009. Disponıvel em: <http://www.drrobot.com/>.
DUR5200MANUAL. Dr Robot DUR5200 Ultrasonic Range Sensor Module User Manual.[S.l.], Fevereiro 2005.
HALLAM, J. Intelligent Sensing and Control: Notes on Control Theory. Department ofAI. University of Edinburgh 1990.
KOSKO, B. Fuzzy cognitive maps. 1986. International Journal of Man-Machine Studies,Vol. 1, pp. 293-320.
MENDONcA, M.; ARRUDA, L. V. R.; JuNIOR, F. N. Qualitative autonomousnavigation system employing event drive-fuzzy cognitive maps. 2009.
MUIR, P. F. Modelling and control of wheeled mobile robots. Tese (Doutorado) —Carnegie Mellon University, 1998.
RESENDE, M. F. de. Desenvolvimento de um Robo Movel Autonomo InteligenteUtilizando a Arquitetura de Subsumption. Dissertacao (Mestrado) — Centro de CienciasExatas e Tecnologia, Universidade Federal de Uberlandia, 1992.
SANTOS, J. E. S. dos. Minicurso de Introducao a Instrumentacao. Outubro 2006.Fundacao Universidade Federal do Rio Grande, Colegio Tecnico Industrial.
SHARP. Sharp GP2Y0A21YK Distance Measuring Sensor Datasheet. [S.l.], 2009.
SOUSA, C. A. de. Mapas cognitivos fuzzy em diagnosticos medicos: uma aplicacao nodiagnostico de pneumonia em criancas. XXIX CNMAC, 2006.
SUaREZ, L. L. Conhecimento Sensorial - Uma Analise Segundo a Perspectiva daSemiotica Computacional. Dissertacao (Mestrado) — Faculdade de Engenharia Eletricae de Computacao, UNICAMP, 2000.
VALENcA, G. Z. Aplicacao de tecnicas da inteligencia computacional aos problemasde localizacao e mapeamento de ambientes desconhecidos em robotica movel. Trabalhode Conclusao de Curso (Graduacao) — Universidade Estadual do Oeste do Parana,Unioeste 2004.
X80MANUAL. WiRobot X80 User Manual. 1.07. ed. [S.l.], Agosto 2008.
ZADEH, L. A. Fuzzy Logic, Computer. Abril 1988.