low quality PDF file - Faculdade de Engenharia da Universidade do ...
low quality PDF file - Faculdade de Engenharia da Universidade do ...
low quality PDF file - Faculdade de Engenharia da Universidade do ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Arman<strong>do</strong> Jorge Miran<strong>da</strong> <strong>de</strong> Sousa<br />
Arquitecturas <strong>de</strong> Sistemas<br />
Robóticos e Localização em Tempo<br />
Real Através <strong>de</strong> Visão<br />
Aplicações no Domínio <strong>do</strong><br />
Futebol Robótico<br />
Dissertação submeti<strong>da</strong> para a obtenção <strong>do</strong> grau <strong>de</strong><br />
Doutor em <strong>Engenharia</strong> Electrotécnica e <strong>de</strong> Computa<strong>do</strong>res<br />
pela <strong>Facul<strong>da</strong><strong>de</strong></strong> <strong>de</strong> <strong>Engenharia</strong> <strong>da</strong> Universi<strong>da</strong><strong>de</strong> <strong>do</strong> Porto<br />
Trabalho realiza<strong>do</strong> sob a orientação <strong>do</strong> Professor Doutor<br />
Adriano <strong>da</strong> Silva Carvalho<br />
e <strong>do</strong> Professor Doutor<br />
Paulo José Cerqueira Gomes <strong>da</strong> Costa<br />
Universi<strong>da</strong><strong>de</strong> <strong>do</strong> Porto<br />
<strong>Facul<strong>da</strong><strong>de</strong></strong> <strong>de</strong> <strong>Engenharia</strong><br />
Departamento <strong>de</strong> <strong>Engenharia</strong> Electrotécnica e <strong>de</strong> Computa<strong>do</strong>res<br />
2003
Apoios:<br />
O autor foi,<br />
durante a realização <strong>de</strong>sta dissertação,<br />
bolseiro <strong>do</strong> PRODEP III, Nº 5/5.3./PRODEP 2000<br />
Trabalho também parcialmente suporta<strong>do</strong> pelo projecto<br />
PORTUS<br />
Uma Estrutura Genérica para Cooperação em Robótica Móvel,<br />
financia<strong>do</strong> pela FCT com ref. Nº POSI/SRI/41315/2001
Gostaria <strong>de</strong> agra<strong>de</strong>cer:<br />
Aos meus pais e à minha família<br />
À minha queri<strong>da</strong> Daniela<br />
Aos meus orienta<strong>do</strong>res:<br />
Paulo Costa e Adriano Carvalho<br />
Aos meus colegas <strong>do</strong> Futebol Robótico:<br />
António Paulo Moreira, Luís Paulo Reis,<br />
Paulo Marques, Pedro Costa e Susana Gaio<br />
Aos meus colegas <strong>da</strong> FEUP:<br />
Aníbal Matos, Carlos João Ramos,<br />
Inês Carvalho e Paulo Portugal<br />
Aos meus amigos que aju<strong>da</strong>ram neste trabalho<br />
Luís Ferreira<br />
Filipe Pacheco<br />
A to<strong>do</strong>s os outros que procuraram aju<strong>da</strong>r<br />
Muito, muito obriga<strong>do</strong>,<br />
sem o vosso apoio tu<strong>do</strong><br />
seria muito muito mais complica<strong>do</strong> !
“Genius is one percent inspiration<br />
and ninety-nine percent perspiration.”<br />
“Génio é um por cento <strong>de</strong> inspiração<br />
e noventa e nove por cento transpiração”<br />
Thomas A. Edison, 1932
Resumo<br />
A necessi<strong>da</strong><strong>de</strong> <strong>de</strong> autonomia <strong>do</strong>s sistemas robóticos incrementa a sua<br />
complexi<strong>da</strong><strong>de</strong> eoseu projecto cui<strong>da</strong><strong>do</strong>so torna-se assim ain<strong>da</strong> mais importante.<br />
Este trabalho apresenta oprojecto <strong>de</strong> sistemas robóticos <strong>de</strong> forma abrangente,<br />
tiran<strong>do</strong> parti<strong>do</strong> <strong>da</strong> experiência <strong>de</strong> projecto <strong>de</strong> diversas plataformas para<br />
competições <strong>de</strong> futebol robótico <strong>da</strong> fe<strong>de</strong>ração RoboCup.<br />
A autonomia em robótica, associa<strong>da</strong> à mobili<strong>da</strong><strong>de</strong>, leva à necessi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
localização em Tempo Real. Oconceito <strong>do</strong> codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante é<br />
apresenta<strong>do</strong> como sen<strong>do</strong> a base <strong>de</strong> um inova<strong>do</strong>r sistema <strong>de</strong> localização,<br />
a<strong>de</strong>qua<strong>do</strong> aambiente estrutura<strong>do</strong>. Tal sistema ébasea<strong>do</strong> em visão epermite a<br />
localização completa <strong>do</strong> robot em x , y,, consegui<strong>da</strong> em Tempo Real.<br />
Os conceitos relativos à localização dinâmica <strong>de</strong> sistemas em ambiente<br />
estrutura<strong>do</strong> são vali<strong>da</strong><strong>do</strong>s experimentalmente. Para tal, éutiliza<strong>do</strong> um conjunto<br />
que inclui um sistema complementar <strong>de</strong> localização externa para confronto com<br />
o sistema integra<strong>do</strong> <strong>de</strong> auto-localização. É utiliza<strong>do</strong> um Filtro <strong>de</strong> Kalman<br />
Extendi<strong>do</strong> para afusão <strong>de</strong> informação <strong>de</strong> auto-localização, que inclui medi<strong>da</strong>s<br />
<strong>da</strong> ho<strong>do</strong>metria, <strong>do</strong> reconhecimento <strong>de</strong> linhas epostes eain<strong>da</strong> <strong>do</strong> sistema basea<strong>do</strong><br />
no codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante. Éfeita acaracterização <strong>de</strong> ca<strong>da</strong> medi<strong>da</strong> e<br />
<strong>de</strong>monstra<strong>da</strong> a importância <strong>da</strong> fusão <strong>de</strong> informação para reunir to<strong>da</strong> a<br />
informação váli<strong>da</strong>. Após a análise <strong>do</strong>s resulta<strong>do</strong>s obti<strong>do</strong>s, discute-se a<br />
aplicabili<strong>da</strong><strong>de</strong> <strong>da</strong>s meto<strong>do</strong>logias propostas em aplicações reais.<br />
ix
Résumé<br />
L'autonomie <strong>da</strong>ns les systèmes robotiques augmente sa complexité et rend la<br />
conception soigneuse très importante. Ce travail présente une métho<strong>do</strong>logie <strong>de</strong><br />
conception globale basée sur l'expérience acquise <strong>de</strong> la conception <strong>de</strong> plusieurs<br />
robots footballeurs pour <strong>de</strong>s participations aux jeux <strong>de</strong> la Fédération RoboCup.<br />
L'autonomie robotique, ainsi que la mobilité, a le besoin <strong>de</strong> localisation en Temps<br />
Réel. L'enco<strong>de</strong>ur coulissant <strong>de</strong> fenêtre est la base d'une stratégie innovatrice <strong>de</strong><br />
localisation, utile pour la localisation <strong>da</strong>ns un environnement structurée. Ce<br />
système est basé uniquement <strong>da</strong>ns la vision et permet la localisation complète du<br />
robot x,y, sous <strong>de</strong>s contraintes <strong>de</strong> Temps Réel.<br />
Les métho<strong>do</strong>logies présentées pour la localisation dynamique sont examinées<br />
<strong>da</strong>ns <strong>de</strong>s expériences réalistes. Les expérimentations utilise un système externe <strong>de</strong><br />
localisation qui est employé pour établir la qualité <strong>de</strong>s métho<strong>do</strong>logies intégrées<br />
<strong>de</strong> localisation <strong>da</strong>ns le robot. Un Exten<strong>de</strong>d Kalman Filter est utilisé pour la fusion<br />
<strong>de</strong> <strong>do</strong>nnées. Les <strong>do</strong>nnées disponibles sont l'o<strong>do</strong>metrie, les lignes du champ, les<br />
poteaux et le nouveau système qui est basé sur l'enco<strong>de</strong>ur coulissant <strong>de</strong> fenêtre.<br />
Chaque mesure est caractérisée et l'importance <strong>de</strong> fusion <strong>de</strong> <strong>do</strong>nnées est<br />
démontrée. L'applicabilité <strong>de</strong>s idées présentées pour d'autres vraies applications<br />
est également discutée.<br />
x
Abstract<br />
The need for autonomy in robotic systems augments its complexity and makes<br />
careful <strong>de</strong>sign very important. This work presents an overall <strong>de</strong>sign metho<strong>do</strong>logy<br />
based on the experience gained from the <strong>de</strong>sign of several Robotic Soccer<br />
platforms for participation in the RoboCup Fe<strong>de</strong>ration games.<br />
Robotic autonomy, together with mobility, has the need for Real Time (RT)<br />
Localization. The “sliding win<strong>do</strong>w enco<strong>de</strong>r” is the basis of an innovative<br />
localization strategy, useful for structured environment localization. This system<br />
is based uniquely in vision and al<strong>low</strong>s for complete x,y, localization un<strong>de</strong>r<br />
RT constraints.<br />
The presented metho<strong>do</strong>logies for dynamic localization are tested in arealistic<br />
environment. The test suit involves an external localization system that is used to<br />
ascertain the <strong>quality</strong> of the integrated self localization metho<strong>do</strong>logies. An<br />
Exten<strong>de</strong>d Kalman Filter (EKF) is used for <strong>da</strong>ta fusion. The available <strong>da</strong>ta is<br />
o<strong>do</strong>metry, field line recognition, pole recognition and the new system that is<br />
based on the sliding win<strong>do</strong>w enco<strong>de</strong>r. Each measurement is characterized and<br />
<strong>da</strong>ta fusion importance is <strong>de</strong>monstrated.<br />
The applicability of the i<strong>de</strong>as presented for other real applications is also<br />
discussed.<br />
xi
Índice<br />
Resumo...................................................................................................................ix<br />
Résumé....................................................................................................................x<br />
Abstract..................................................................................................................xi<br />
Índice.....................................................................................................................xii<br />
Índice <strong>de</strong> Figuras................................................................................................xviii<br />
Índice <strong>de</strong> Tabelas................................................................................................xxiv<br />
Capítulo 1<br />
Introdução..............................................................................................................1<br />
1.1 Motivação.....................................................................................................1<br />
1.2 Contexto.......................................................................................................2<br />
1.3 Contribuições...............................................................................................3<br />
1.4 Estrutura.......................................................................................................3<br />
Capítulo 2<br />
xii
Projecto <strong>de</strong> Sistemas Robóticos..............................................................................5<br />
2.1 Introdução....................................................................................................5<br />
2.2 Requisitos.....................................................................................................6<br />
2.3 Áreas <strong>de</strong> Projecto..........................................................................................8<br />
2.4 Projecto Global e Mecatrónica.....................................................................9<br />
2.5 Tipo <strong>de</strong> Robot e sua Locomoção................................................................11<br />
2.6 Projecto Mecânico.....................................................................................20<br />
2.7 Sistema <strong>de</strong> Alimentação.............................................................................24<br />
2.8 Sistema Embebi<strong>do</strong>......................................................................................29<br />
2.8.1 Sistemas Tempo Real..........................................................................29<br />
2.8.2 Classificação <strong>de</strong> Sensores....................................................................29<br />
2.8.3 Sensores Comuns em Robótica..........................................................30<br />
2.8.4 Actua<strong>do</strong>res..........................................................................................31<br />
2.8.5 Implementação <strong>de</strong> Subsistemas..........................................................32<br />
2.8.6 Comunicações Internas......................................................................33<br />
2.9 Navegação..................................................................................................34<br />
2.10 Decisão, Autonomia e Cooperação..........................................................35<br />
2.10.1 Cooperação entre Sistemas Robóticos.............................................38<br />
2.10.2 Tentativa <strong>de</strong> Indiferença ao Hardware............................................39<br />
2.10.3 Fusão <strong>de</strong> Informação........................................................................39<br />
2.11 Interface e Comunicações com o Exterior...............................................41<br />
2.12 Ferramentas <strong>de</strong> Aju<strong>da</strong> ao Desenvolvimento............................................42<br />
2.13 Conclusões...............................................................................................43<br />
Capítulo 3<br />
Sistemas <strong>de</strong> Localização.......................................................................................44<br />
3.1 Enquadramento e Definições.....................................................................44<br />
3.2 Abor<strong>da</strong>gens à Localização..........................................................................45<br />
3.2.1 Medi<strong>da</strong>s Relativas...............................................................................45<br />
3.2.2 Medi<strong>da</strong>s Face ao Ambiente................................................................46<br />
3.2.3 Meto<strong>do</strong>logias Frequentemente Utiliza<strong>da</strong>s..........................................47<br />
3.3 Soluções <strong>de</strong> Localização ............................................................................49<br />
3.3.1 Soluções Envolven<strong>do</strong> LASER.............................................................49<br />
3.3.2 Soluções Envolven<strong>do</strong> RF....................................................................49<br />
3.3.3 Sistemas Globais <strong>de</strong> Navegação por Satélite......................................51<br />
3.3.4 Soluções Basea<strong>do</strong>s na Re<strong>de</strong> <strong>de</strong> Telemóveis........................................57<br />
3.3.5 Soluções Envolven<strong>do</strong> On<strong>da</strong>s Acústicas..............................................58<br />
3.3.6 Soluções Envolven<strong>do</strong> Visão................................................................59<br />
xiii
3.4 Localização e Mapeamento Simultâneo....................................................64<br />
3.5 Conclusões..................................................................................................66<br />
Capítulo 4<br />
Sistemas <strong>de</strong> Visão.................................................................................................67<br />
4.1 Cor e Imagem.............................................................................................67<br />
4.2 Mo<strong>de</strong>lo para a Câmara..............................................................................70<br />
4.2.1 Parâmetros intrínsecos........................................................................71<br />
4.2.2 Parâmetros Extrínsecos.......................................................................74<br />
4.2.3 Relação imagem-mun<strong>do</strong> (UVZ2XY)..................................................75<br />
4.2.4 Calibração <strong>de</strong> Parâmetros...................................................................76<br />
4.3 Conclusões..................................................................................................77<br />
Capítulo 5<br />
Processos Estocásticos e Filtros <strong>de</strong> Kalman..........................................................78<br />
5.1 Introdução..................................................................................................78<br />
5.2 Variáveis aleatórias....................................................................................79<br />
5.2.1 Fun<strong>da</strong>mentos acerca <strong>de</strong> Probabili<strong>da</strong><strong>de</strong>s.............................................79<br />
5.2.2 Atributos <strong>de</strong> Variáveis Aleatórias.......................................................80<br />
5.2.3 Proprie<strong>da</strong><strong>de</strong>s <strong>do</strong>s Atributos................................................................81<br />
5.2.4 Expressões Aproxima<strong>da</strong>s para Operações entre Atributos.................81<br />
5.2.5 Distribuições Gaussianas....................................................................82<br />
5.3 Méto<strong>do</strong> <strong>do</strong>s Mínimos Quadra<strong>do</strong>s..............................................................83<br />
5.4 Filtro <strong>de</strong> Kalman........................................................................................84<br />
5.4.1 Filtro <strong>de</strong> Kalman Discreto..................................................................85<br />
5.4.2 Filtro Kalman Extendi<strong>do</strong>....................................................................87<br />
5.4.3 Teste Estatístico..................................................................................91<br />
5.5 Conclusões..................................................................................................92<br />
Capítulo 6<br />
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante.........................................................................93<br />
6.1 Introdução aos Códigos <strong>de</strong> Barras.............................................................93<br />
6.2 Introdução aos Codifica<strong>do</strong>res....................................................................94<br />
6.3 Definições...................................................................................................95<br />
6.4 Sequências Unívocas..................................................................................96<br />
6.5 Exemplo <strong>de</strong> Implementação.......................................................................97<br />
6.6 Implementações multidimensionais...........................................................98<br />
6.7 Implementações com restrições adicionais................................................98<br />
xiv
6.8 Geração <strong>de</strong> Sequências Unívocas............................................................100<br />
6.9 Conclusões...............................................................................................101<br />
Capítulo 7<br />
Implementações Relevantes para o Ambiente RoboCup...................................102<br />
7.1 Introdução...............................................................................................102<br />
7.2 Fe<strong>de</strong>ração RoboCup................................................................................103<br />
7.3 Robots futebolistas F180 (ano 2003)......................................................105<br />
7.3.1 Requisitos..........................................................................................105<br />
7.3.2 Descrição Geral.................................................................................106<br />
7.3.3 Sistema <strong>de</strong> Alimentação...................................................................106<br />
7.3.4 Localização.......................................................................................107<br />
7.3.5 Locomoção........................................................................................107<br />
7.3.6 Actua<strong>do</strong>res........................................................................................107<br />
7.3.7 Visão.................................................................................................108<br />
7.3.8 Arquitectura global...........................................................................108<br />
7.3.9 Melhoramentos.................................................................................109<br />
7.4 Robots futebolistas F2000 (ano 2003) – plataforma experimental........109<br />
7.4.1 Requisitos..........................................................................................109<br />
7.4.2 Descrição geral..................................................................................110<br />
7.4.3 Sistema <strong>de</strong> alimentação....................................................................111<br />
7.4.4 Locomoção........................................................................................111<br />
7.4.5 Actua<strong>do</strong>res........................................................................................111<br />
7.4.6 Comunicações com o exterior..........................................................112<br />
7.4.7 Arquitectura......................................................................................112<br />
7.4.8 Visão.................................................................................................112<br />
7.4.9 Decisão..............................................................................................114<br />
7.4.10 Controlo..........................................................................................114<br />
7.4.11 Detalhes <strong>de</strong> implementação...........................................................115<br />
7.4.12 Melhoramentos...............................................................................116<br />
7.5 Conclusões...............................................................................................116<br />
Capítulo 8<br />
Vali<strong>da</strong>ção Experimental......................................................................................117<br />
8.1 Procedimento experimental.....................................................................117<br />
8.2 Câmara Externa (VHC)...........................................................................119<br />
8.2.1 Introdução........................................................................................119<br />
8.2.2 Determinação <strong>do</strong>s parâmetros.........................................................120<br />
xv
8.2.3 Localização Externa <strong>do</strong> Robot..........................................................122<br />
8.2.4 Caracterização <strong>da</strong> medi<strong>da</strong>................................................................124<br />
8.2.4.1 Estu<strong>do</strong> Analítico <strong>do</strong> Erro em Função <strong>da</strong> Distância à Câmara<br />
(VHC)....................................................................................................126<br />
8.2.4.2 Medição Experimental <strong>do</strong> Erro <strong>de</strong> Posicionamento.................128<br />
8.3 Calibração <strong>da</strong> Câmara <strong>do</strong> Robot.............................................................129<br />
8.4 Auto-Localização por Código <strong>de</strong> Barras Unívocos..................................133<br />
8.4.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong>...............................................................135<br />
8.4.2 Processamento <strong>de</strong> Imagem...............................................................135<br />
8.4.3 Análise <strong>da</strong> medi<strong>da</strong>.............................................................................144<br />
8.5 Auto-Localização por Linhas...................................................................147<br />
8.5.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong>...............................................................148<br />
8.5.2 Implementação.................................................................................148<br />
8.5.3 Análise Resulta<strong>do</strong>s............................................................................151<br />
8.6 Localização por Postes.............................................................................155<br />
8.6.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong>...............................................................156<br />
8.6.2 Filtro <strong>de</strong> Kalman Extendi<strong>do</strong>.............................................................157<br />
8.6.3 Implementação.................................................................................158<br />
8.6.4 Análise <strong>de</strong> Resulta<strong>do</strong>s.......................................................................161<br />
8.7 Ho<strong>do</strong>metria..............................................................................................164<br />
8.8 Ciclo <strong>de</strong> Fusão <strong>de</strong> Informação.................................................................164<br />
8.9 Simulação <strong>da</strong> Auto-Localização...............................................................165<br />
8.10 Testes Dinâmicos...................................................................................171<br />
8.10.1 Localização através <strong>da</strong> medi<strong>da</strong> <strong>de</strong> Linhas......................................171<br />
8.10.2 Localização através <strong>da</strong> medi<strong>da</strong> <strong>de</strong> Postes.......................................173<br />
8.10.3 Localização completa.....................................................................174<br />
8.11 Conclusões.............................................................................................176<br />
Capítulo 9<br />
Conclusões..........................................................................................................178<br />
9.1 Trabalho futuro.......................................................................................180<br />
Capítulo 10<br />
Referências Bibliográficas...................................................................................182<br />
Anexo 1<br />
Acrónimos e Siglas..............................................................................................195<br />
xvi
Anexo 2<br />
Marcos Históricos <strong>da</strong> Robótica..........................................................................197<br />
Anexo 3<br />
Tabela <strong>de</strong> Algumas Sequências Unívocas..........................................................199<br />
Anexo 4<br />
Ficha Técnica......................................................................................................202<br />
xvii
Índice <strong>de</strong> Figuras<br />
Figura 2.1 Ilustração <strong>do</strong>s constituintes <strong>do</strong> sistema robótico.........................................................6<br />
Figura 2.2 Representação simplifica<strong>da</strong> <strong>da</strong>s áreas científico-tecnológicas envolvi<strong>da</strong>s em projecto<br />
robótico..............................................................................................................................9<br />
Figura 2.3 Conceitos <strong>de</strong> base na Mecatrónica, a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [2].................................................10<br />
Figura 2.4 Dinâmica <strong>de</strong> projecto <strong>de</strong> acor<strong>do</strong> com os princípios <strong>da</strong> mecatrónica (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [2]).<br />
11<br />
Figura 2.5 Locomoção diferencial...............................................................................................12<br />
Figura 2.6 Locomoção tipo triciclo.............................................................................................12<br />
Figura 2.7 Locomoção tipo Ackerman.......................................................................................13<br />
Figura 2.8 Locomoção <strong>do</strong> tipo “Synchronous Drive”................................................................13<br />
Figura 2.9 “nBot” Robot que se equilibra em duas ro<strong>da</strong>s [7]......................................................14<br />
Figura 2.10 Robot com múltiplos graus <strong>de</strong> liber<strong>da</strong><strong>de</strong> [6]............................................................14<br />
Figura 2.11 Robot "BloodHound" para busca e salvamento [8]..................................................14<br />
Figura 2.12 “Soryu”: à esquer<strong>da</strong> fotografia <strong>do</strong> protótipo e à direita o protótipo “rebola” por<br />
umas esca<strong>da</strong>s [9]..............................................................................................................15<br />
Figura 2.13 Locomoção OmniDireccional..................................................................................15<br />
Figura 2.14 À esquer<strong>da</strong> está um robot “protótipo rápi<strong>do</strong>” com ro<strong>da</strong>s omni-direccionais e à<br />
direita uma ro<strong>da</strong> omni-direccional amplia<strong>da</strong> [13]............................................................16<br />
Figura 2.15 Micro-robot voa<strong>do</strong>r (uma “mosca”) [22]................................................................16<br />
Figura 2.16 “Minhoca totalmente a<strong>de</strong>rente” [18]......................................................................16<br />
Figura 2.17 Robot esférico [19]..................................................................................................16<br />
Figura 2.18 Robot “Spiral Track” [21].......................................................................................16<br />
Figura 2.19 Robots “Alice”: à esquer<strong>da</strong> foto <strong>do</strong> robot (com escala); à direita estes robôs a<br />
jogarem futebol 3 contra 3 [24]........................................................................................17<br />
Figura 2.20 Hon<strong>da</strong> P3 e Asimo [27]...........................................................................................17<br />
Figura 2.21 Humanói<strong>de</strong> Sony SDR4x [28].................................................................................17<br />
Figura 2.22 Robot tubarão [43]..................................................................................................18<br />
Figura 2.23 Robot Lagosta [44]..................................................................................................18<br />
xviii
Figura 2.24 Movimento <strong>do</strong> robot <strong>do</strong> tipo serpentina (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [47])...................................19<br />
Figura 2.25 Cão robótico “Aibo” mo<strong>de</strong>lo ERS220, <strong>da</strong> Sony [36]...............................................19<br />
Figura 2.26 Gato robótico Necoro <strong>da</strong> Omron [37].....................................................................19<br />
Figura 2.27 Robot Isurus [52]....................................................................................................20<br />
Figura 2.28 Ren<strong>de</strong>r <strong>do</strong> robot submarino Infante........................................................................20<br />
Figura 2.29 Hélice <strong>de</strong>ntro <strong>do</strong> propulsor <strong>do</strong> Infante....................................................................20<br />
Figura 2.30 Propulsor <strong>do</strong> Infante................................................................................................20<br />
Figura 2.31 Benefícios provenientes <strong>da</strong> utilização <strong>de</strong> sistemas CAD..........................................21<br />
Figura 2.32 Mo<strong>de</strong>lo <strong>de</strong> CAD <strong>do</strong> conjunto <strong>do</strong> robot 5dpo, F180, ano 2003 (comparar com fig.<br />
7.4)...................................................................................................................................23<br />
Figura 2.33 Distribuição <strong>de</strong> energia <strong>de</strong>ntro <strong>do</strong> robot..................................................................25<br />
Figura 2.34 Comparação <strong>da</strong> <strong>de</strong>nsi<strong>da</strong><strong>de</strong> energética <strong>de</strong> diversas soluções para armazenamento e<br />
produção <strong>de</strong> energia eléctrica – as linhas diagonais são para <strong>de</strong>scarga em tempo igual<br />
para <strong>de</strong>termina<strong>da</strong> carga – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [63] ....................................................................28<br />
Figura 2.35 Arquitectura típica <strong>de</strong> um sistema <strong>de</strong> navegação.....................................................35<br />
Figura 2.36 Blocos <strong>de</strong> entra<strong>da</strong>s, saí<strong>da</strong>s e <strong>de</strong>cisão <strong>de</strong>ntro <strong>do</strong> robot e respectivo relacionamento<br />
com o ambiente exterior...................................................................................................36<br />
Figura 2.37 Robots cooperan<strong>do</strong> (Collective Robot [77])............................................................38<br />
Figura 3.1 Dois ângulos internos ao robot não localizam um robot (mostram-se 4 localizações<br />
possíveis <strong>de</strong> um número infinito <strong>de</strong> soluções)..................................................................47<br />
Figura 3.2 Não saben<strong>do</strong> que medi<strong>da</strong> diz respeito a que marca<strong>do</strong>r, um robot com 2 medi<strong>da</strong>s <strong>de</strong><br />
ângulos e respectivas distâncias a marca<strong>do</strong>res fica com duas hipóteses <strong>de</strong> localização....48<br />
Figura 3.3 Intercepção <strong>de</strong> 3 calotas esféricas resulta nos 2 pontos assinala<strong>do</strong>s com os<br />
marca<strong>do</strong>res <strong>de</strong> forma “bicu<strong>da</strong>”; à direita temos a versão translúci<strong>da</strong> <strong>da</strong> figura <strong>da</strong> esquer<strong>da</strong><br />
on<strong>de</strong> as esferas pequenas representam os marca<strong>do</strong>res <strong>de</strong> localização (centros <strong>da</strong>s outras<br />
esferas).............................................................................................................................48<br />
Figura 3.4 GPS com e sem Selected Availability - a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [114].......................................53<br />
Figura 3.5 Ilustração <strong>do</strong> funcionamento <strong>do</strong> GPS Diferencial.....................................................54<br />
Figura 3.6 Diagrama <strong>de</strong> blocos <strong>do</strong> Galileo – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [121] ................................................56<br />
Figura 3.7 Princípio <strong>de</strong> Funcionamento <strong>de</strong> um PSD – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [143]..................................60<br />
Figura 3.8 Iluminação estrutura<strong>da</strong> (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [145]).............................................................61<br />
Figura 3.9 Esquema <strong>do</strong> espelho isométrico - <strong>de</strong> [149] - .............................................................61<br />
Figura 3.10 Utilização <strong>de</strong> espelhos para obter duas imagens – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [151].....................62<br />
Figura 3.11 Robot tentan<strong>do</strong> localização absoluta utilizan<strong>do</strong> padrão ternário [160]..................63<br />
Figura 3.12 Méto<strong>do</strong> SLAM utilizan<strong>do</strong> <strong>da</strong><strong>do</strong>s directos <strong>do</strong>s sensores...........................................65<br />
Figura 4.1 Sensores RGB nos Humanos (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [170])....................................................67<br />
Figura 4.2 Espectro <strong>de</strong> cor (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])..........................................................................68<br />
Figura 4.3 Sensibili<strong>da</strong><strong>de</strong> a ca<strong>da</strong> cor (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])............................................................68<br />
Figura 4.4 À esquer<strong>da</strong>, cores primárias e secundárias; à direita po<strong>de</strong>-se ver o cubo RGB..........68<br />
Figura 4.5 Ilusão óptica num tabuleiro em xadrez......................................................................69<br />
Figura 4.6 Sensibili<strong>da</strong><strong>de</strong> global <strong>da</strong> visão humana (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])......................................70<br />
Figura 4.7 Casos frequentes em visão para robótica...................................................................71<br />
Figura 4.8 Efeitos <strong>de</strong> uma projecção ..........................................................................................71<br />
Figura 4.9 Esquema visual <strong>de</strong> uma câmara mostran<strong>do</strong> o plano virtual <strong>da</strong> imagem....................71<br />
Figura 4.10 Sistema <strong>de</strong> eixos no mo<strong>de</strong>lo <strong>da</strong> câmara...................................................................72<br />
Figura 4.11 Efeito <strong>de</strong> uma lente..................................................................................................72<br />
xix
Figura 4.12 Coor<strong>de</strong>na<strong>da</strong>s <strong>da</strong> imagem.........................................................................................72<br />
Figura 4.13 Ilustração <strong>da</strong> imagem com distorções <strong>do</strong> tipo barril e “pin-cushion” num exemplo<br />
apresentan<strong>do</strong> a resolução <strong>de</strong> 384 por 288 pixeis...............................................................73<br />
Figura 4.14 Sistemas <strong>de</strong> eixos utiliza<strong>do</strong>s,representação em perspectiva isométrica....................74<br />
Figura 4.15 Sistemas <strong>de</strong> eixos em <strong>de</strong>talhe...................................................................................75<br />
Figura 6.1a) Diversos exemplos <strong>de</strong> códigos <strong>de</strong> barras; b) os <strong>do</strong>is códigos assinala<strong>do</strong>s contêm a<br />
mesma informação...........................................................................................................94<br />
a) b)<br />
Figura 6.2 Discos <strong>de</strong> codifica<strong>do</strong>res para medi<strong>da</strong> angular: a) versão incremental; b) versão<br />
absoluta............................................................................................................................95<br />
Figura 6.3 Codifica<strong>do</strong>r <strong>de</strong> Janela utiliza<strong>do</strong> pelo pescoço <strong>do</strong>s Robots <strong>da</strong> Equipa 5dpo-2000.......98<br />
Figura 6.4 Robot com codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante..............................................................98<br />
Figura 6.5 Sequência unívoca largura j=2 implementa<strong>da</strong> com 2 dígitos na vertical, ca<strong>da</strong> um<br />
<strong>de</strong>les com 4 níveis <strong>de</strong> sinal, b=8, dígito menos significativo em baixo. As cores seguem o<br />
código <strong>da</strong>s resistências, (0=preto, 1= castanho, 2=vermelho, 3=laranja, etc.)...............98<br />
Figura 6.6 Sequência unívoca Binária, Janela=4, sem restrições................................................99<br />
Figura 6.7 Sequência unívoca Binária, Janela=4, sem sequências <strong>de</strong> 4 dígitos iguais consecutivos<br />
.........................................................................................................................................99<br />
Figura 6.8 Sequência unívoca Binária, Janela=4, sem sequências <strong>de</strong> 3 nem <strong>de</strong> 4 dígitos iguais<br />
consecutivos.....................................................................................................................99<br />
Figura 7.1 Descrição geral <strong>do</strong> robot <strong>de</strong>senvolvi<strong>do</strong> para liga F180............................................106<br />
Figura 7.2 Imagem <strong>do</strong> CAD para projecto <strong>do</strong> sistema <strong>de</strong> chuto...............................................107<br />
Figura 7.3 Diagrama <strong>do</strong> sistema 5dpo para a liga F180............................................................108<br />
Figura 7.4 Robots <strong>da</strong> equipa 5dpo, liga F180 (Foto tira<strong>da</strong> no RoboCup 2003, Pádua, Itália)..109<br />
Figura 7.5 Descrição geral <strong>do</strong> robot <strong>de</strong>senvolvi<strong>do</strong> para liga F2000...........................................111<br />
Figura 7.6 Arquitectura <strong>de</strong> Software para a equipa 5dpo-2000.................................................112<br />
Figura 7.7 Robot 5dpo-2000 versão modifica<strong>da</strong> para movimento omni-direccional a ser<br />
configura<strong>do</strong> (foto no RoboCup 2003, Pádua, Itália)......................................................113<br />
Figura 7.8 Ilustração <strong>do</strong> funcionamento <strong>da</strong> equipa 5dpo-2000 para o RoboCup 2003, Pádua,<br />
Itália...............................................................................................................................114<br />
Figura 8.1 Manchas RGB para 3 conjuntos <strong>de</strong> cores <strong>de</strong>ntro <strong>do</strong> cubo RGB (cores “laranja”,<br />
“azul” e “amarelo”)........................................................................................................118<br />
Figura 8.2 Ampliação <strong>da</strong> imagem obti<strong>da</strong> com uma vulgar CamCor<strong>de</strong>r tal como a utiliza<strong>da</strong> para<br />
a localização externa......................................................................................................118<br />
Figura 8.3 Robot sen<strong>do</strong> localiza<strong>do</strong> exteriormente....................................................................120<br />
Figura 8.4 Pontos <strong>da</strong> imagem (U,V) para VHC........................................................................120<br />
Figura 8.5 Pontos <strong>da</strong> imagem (Xw,Yw) para VHC...................................................................121<br />
Figura 8.6 Mapeamento VHC..................................................................................................121<br />
Figura 8.7 Imagens <strong>de</strong> to<strong>da</strong>s as aplicações VHC – em cima imagem e classificação <strong>de</strong> cor; em<br />
baixo manchas <strong>de</strong> cor <strong>de</strong> facto transmiti<strong>da</strong>s por re<strong>de</strong> e resulta<strong>do</strong> visual <strong>do</strong> robot no<br />
campo;fun<strong>do</strong> <strong>da</strong> aplicação e cor não classifica<strong>da</strong> representa<strong>da</strong>s a branco......................122<br />
Figura 8.8 Classificação <strong>de</strong> cor em zonas estreitas resulta em poucos pixeis correctamente<br />
classifica<strong>do</strong>s; cor não classifica<strong>da</strong> representa<strong>da</strong> a branco...............................................123<br />
Figura 8.9 Tipos <strong>de</strong> “chapéu” para localização externa <strong>do</strong> robot..............................................123<br />
Figura 8.10...............................................................................................................................124<br />
Figura 8.11 Histogramas bidimensionais para as manchas <strong>de</strong> cor referi<strong>da</strong>s nas figura 8.10.....124<br />
xx
Figura 8.12 Histogramas <strong>do</strong>s <strong>da</strong><strong>do</strong>s envia<strong>do</strong>s após localização por VHC................................126<br />
Figura 8.13 Desvio padrão <strong>da</strong> localização VHC (to<strong>da</strong>s as gran<strong>de</strong>zas em metros)....................127<br />
Figura 8.14 Desvio padrão para outros valores <strong>de</strong> localização VHC (to<strong>da</strong>s as gran<strong>de</strong>zas em<br />
metros)...........................................................................................................................127<br />
Figura 8.15 Gráfico <strong>do</strong> <strong>de</strong>svio padrão <strong>do</strong>s resulta<strong>do</strong>s experimentais a diferentes distâncias à<br />
câmara............................................................................................................................128<br />
Figura 8.16 Imagem <strong>da</strong> câmara <strong>de</strong>ntro <strong>do</strong> robot durante a sua calibração (captura<strong>da</strong> através <strong>de</strong><br />
um utilitário <strong>de</strong> <strong>de</strong>sktop remoto)....................................................................................129<br />
Figura 8.17 Posições na imagem (u,v) <strong>do</strong>s pontos <strong>de</strong> calibração .............................................130<br />
Figura 8.18 Mapeamento imagem mun<strong>do</strong> <strong>de</strong>ntro <strong>do</strong> robot com os parâmetros mostra<strong>do</strong>s em<br />
(8.9)................................................................................................................................130<br />
Figura 8.19 Mapeamento imagem mun<strong>do</strong> <strong>de</strong>ntro <strong>do</strong> robot com os parâmetros mostra<strong>do</strong>s em<br />
(8.10)..............................................................................................................................131<br />
Figura 8.20 Correcção <strong>do</strong> efeito <strong>de</strong> barril .................................................................................132<br />
Figura 8.21 Pontos <strong>da</strong> imagem transforma<strong>do</strong>s <strong>de</strong> acor<strong>do</strong> com a correção <strong>do</strong> efeito <strong>de</strong> barril remapea<strong>do</strong>s<br />
nos seus lugares iniciais através <strong>do</strong> parâmetro kc..........................................132<br />
Figura 8.22 Esquema para localização por BC.........................................................................133<br />
Figura 8.23 Detalhe <strong>do</strong>s ângulos envolvi<strong>do</strong>s na localização por BC.........................................133<br />
Figura 8.24 Configurações <strong>do</strong> Processamento <strong>de</strong> Imagem para localização BC.......................136<br />
Figura 8.25 Imagem no robot à esquer<strong>da</strong> e <strong>de</strong>riva<strong>da</strong> na luminância à direita (imagem captura<strong>da</strong><br />
através <strong>de</strong> <strong>de</strong>sktop remoto)............................................................................................137<br />
Figura 8.26 Figura 8.25 trata<strong>da</strong>, porção inverti<strong>da</strong> e amplia<strong>da</strong> para melhor legibili<strong>da</strong><strong>de</strong> (por<br />
imagem inverti<strong>da</strong> enten<strong>da</strong>-se transformar cores escuras em claras e vice versa)............137<br />
Figura 8.27 Comparação <strong>do</strong>s 4 mo<strong>do</strong>s <strong>de</strong> cálculo <strong>de</strong> <strong>de</strong>riva<strong>da</strong>s: Mo<strong>do</strong> 1 – cima esquer<strong>da</strong> ; Mo<strong>do</strong><br />
2 – cima direita; Mo<strong>do</strong> 3 – baixo esquer<strong>da</strong>; Mo<strong>do</strong> 4 – baixo direita; os números <strong>de</strong>ntro<br />
<strong>da</strong>s caixas representam, <strong>da</strong> esquer<strong>da</strong> para a direita: número <strong>de</strong> pontos selecciona<strong>do</strong>s,<br />
número <strong>de</strong> segmentos horizontais, número <strong>de</strong> regiões rectangulares e número final <strong>de</strong><br />
segmentos.......................................................................................................................138<br />
Figura 8.28 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura 8.25, pontos<br />
selecciona<strong>do</strong>s por a <strong>de</strong>riva<strong>da</strong> superar <strong>da</strong><strong>do</strong> limiar...........................................................138<br />
Figura 8.29 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura 8.25, mostran<strong>do</strong><br />
segmentos e agrupamentos <strong>de</strong> pontos em zonas rectangulares......................................139<br />
Figura 8.30 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura 8.25, ajuste <strong>de</strong><br />
segmentos.......................................................................................................................139<br />
Figura 8.31 Segmentos recebi<strong>do</strong>s pela aplicação DEC.............................................................140<br />
Figura 8.32 Determinação <strong>da</strong>s 2 “horizontais” <strong>do</strong> código <strong>de</strong> barras.........................................140<br />
Figura 8.33 Classificação <strong>de</strong> segmentos váli<strong>do</strong>s: Teste 3 – ajuste sobre uma linha <strong>de</strong> ângulos e<br />
diferença <strong>de</strong> ângulos.......................................................................................................141<br />
Figura 8.34 Resulta<strong>do</strong>s <strong>do</strong> teste <strong>do</strong> ajuste cego sobre a pare<strong>de</strong>.................................................142<br />
Figura 8.35 A localização BC utiliza os pontos nos centros <strong>do</strong>s segmentos relativos ao padrão<br />
regular (por baixo) e ao código unívoco (por cima)........................................................143<br />
Figura 8.36 A localização BC também po<strong>de</strong> utilizar as extremi<strong>da</strong><strong>de</strong>s <strong>do</strong>s segmentos ajusta<strong>do</strong>s<br />
para a localização ..........................................................................................................143<br />
Figura 8.37 À esquer<strong>da</strong> alguns <strong>da</strong><strong>do</strong>s <strong>da</strong> aplicação <strong>de</strong> processamento <strong>de</strong> imagem, mostran<strong>do</strong> o<br />
ajuste <strong>da</strong>s rectas consegui<strong>do</strong> e à direita a localização BC...............................................144<br />
Figura 8.38 Histogramas para localização por BC (to<strong>da</strong>s as distâncias em metros).................145<br />
xxi
Figura 8.39 Histograma 2D <strong>da</strong> localização BC (to<strong>da</strong>s as distâncias em metros)......................145<br />
Figura 8.40 Histogramas para localização por BC na situação bi-mo<strong>da</strong>l (to<strong>da</strong>s as distâncias em<br />
metros)...........................................................................................................................145<br />
Figura 8.41 Histogramas para localização por BC na situação bi-mo<strong>da</strong>l (to<strong>da</strong>s as distâncias em<br />
metros)...........................................................................................................................146<br />
Figura 8.42 Disposição <strong>da</strong>s medi<strong>da</strong>s BC no campo experimental.............................................146<br />
Figura 8.43 Esquema <strong>da</strong> localização por linhas........................................................................147<br />
Figura 8.44...............................................................................................................................149<br />
Figura 8.45 Transições entre cores <strong>de</strong>tecta<strong>da</strong>s ao longo <strong>da</strong>s rectas e linhas fronteira <strong>de</strong>tecta<strong>da</strong>s<br />
(uma é incorrectamente assinala<strong>da</strong>)...............................................................................149<br />
Figura 8.46 Uma linha que não consegue ser <strong>de</strong>tecta<strong>da</strong>...........................................................150<br />
Figura 8.47 Histogramas na medi<strong>da</strong> <strong>de</strong> linhas (to<strong>da</strong>s as distâncias em metros).......................151<br />
Figura 8.48 Histograma bidimensional <strong>da</strong> dispersão na medi<strong>da</strong> <strong>do</strong> ângulo à linha..................152<br />
Figura 8.49 Histograma bidimensional <strong>da</strong> dispersão na medi<strong>da</strong> <strong>da</strong> distância à linha..............152<br />
Figura 8.50 Dispersão na medi<strong>da</strong> <strong>de</strong> linhas..............................................................................153<br />
Figura 8.51 Disposição no campo <strong>da</strong>s medi<strong>da</strong>s <strong>de</strong> linhas.........................................................153<br />
Figura 8.52 Esquema <strong>da</strong> localização por marca<strong>do</strong>res re<strong>do</strong>n<strong>do</strong>s/postes.....................................155<br />
Figura 8.53 Ilustração <strong>do</strong> robot em movimento.......................................................................157<br />
Figura 8.54 Encenação para classificação <strong>de</strong> cor relativamente a 4 postes em frente <strong>da</strong> baliza<br />
amarela (imagem ro<strong>da</strong><strong>da</strong> <strong>da</strong>quela que o robot realmente visualiza)...............................158<br />
Figura 8.55 Imagem <strong>de</strong> situação encena<strong>da</strong> em que são visíveis: à esquer<strong>da</strong> a imagem com quatro<br />
postes; ao centro a classificação <strong>de</strong> cor consegui<strong>da</strong> (o ver<strong>de</strong> <strong>do</strong> campo não está calibra<strong>do</strong>);<br />
à direita, os <strong>da</strong><strong>do</strong>s recebi<strong>do</strong>s pela <strong>de</strong>cisão.......................................................................159<br />
Figura 8.56 Resumo <strong>da</strong>s dimensões associa<strong>da</strong>s à medi<strong>da</strong> <strong>de</strong> postes.........................................159<br />
Figura 8.57 Distância mínima para um poste ser visível..........................................................161<br />
Figura 8.58 Dispersão na medi<strong>da</strong> <strong>de</strong> Postes em forma <strong>de</strong> gráfico.............................................162<br />
Figura 8.59 Diagrama <strong>da</strong> dispersão <strong>do</strong> ângulo na medi<strong>da</strong> <strong>de</strong> postes.........................................162<br />
Figura 8.60 Diagrama <strong>da</strong> dispersão <strong>da</strong> distância na medi<strong>da</strong> <strong>de</strong> postes.....................................162<br />
Figura 8.61 Medi<strong>da</strong>s <strong>de</strong> postes representa<strong>da</strong>s no campo..........................................................163<br />
Figura 8.62 Detalhe <strong>do</strong>s robots real e estima<strong>do</strong>, representa<strong>do</strong>s em x=0, y=0, ........................165<br />
Figura 8.63 Traça<strong>do</strong>s <strong>de</strong> vr e ...................................................................................................166<br />
Figura 8.64 EKF sem nenhuma informação <strong>de</strong> localização......................................................167<br />
Figura 8.65 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong> poste 1 (assinala<strong>do</strong> por uma estrela<br />
<strong>de</strong> 5 pontas)....................................................................................................................167<br />
Figura 8.66 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong> poste 2 (assinala<strong>do</strong> por uma estrela<br />
<strong>de</strong> 6 pontas)....................................................................................................................168<br />
Figura 8.67 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong>s postes 1 e 2..................................168<br />
Figura 8.68 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> linha horizontal............................169<br />
Figura 8.69 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> linha vertical.................................169<br />
Figura 8.70 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>de</strong> um CBU........................................170<br />
Figura 8.71 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> combinação <strong>de</strong>: 2 postes, 2 linhas e<br />
CBU...............................................................................................................................170<br />
Figura 8.72 Teste dinâmico na localização por Linhas (tempos em segun<strong>do</strong>s)........................171<br />
Figura 8.73 Teste dinâmico na localização por Postes (tempos em segun<strong>do</strong>s).........................173<br />
Figura 8.74 Localização recorren<strong>do</strong> a BC, Postes e Linhas (tempos em segun<strong>do</strong>s)..................175<br />
xxii
Índice <strong>de</strong> Tabelas<br />
Tabela 2.1 Comparação <strong>de</strong> Baterias, a<strong>da</strong>pta<strong>do</strong> a partir <strong>de</strong> [59], [60] e [61]..............................27<br />
Tabela 3.1 Sumário <strong>da</strong>s várias fontes <strong>de</strong> erro presente no GPS, valor típico <strong>do</strong> erro em metros,<br />
por satélite (tabela compila<strong>da</strong> a partir <strong>de</strong> [86], [116] e [115])........................................55<br />
Tabela 3.2 Precisão <strong>de</strong> sistemas <strong>de</strong> localização com base na re<strong>de</strong> celular <strong>de</strong> telemóveis............58<br />
Tabela 3.3 Resumo comparativo e pontos fracos <strong>da</strong> utilização <strong>de</strong> diversos elementos a seguir<br />
[161].................................................................................................................................64<br />
Tabela 5.1 Resumo <strong>da</strong> operação <strong>do</strong> Filtro <strong>de</strong> Kalman................................................................87<br />
Tabela 5.2 Resumo <strong>da</strong> operação <strong>do</strong> EKF....................................................................................91<br />
Tabela 8.1 Tabela <strong>do</strong> erro médio na medi<strong>da</strong> VHC face à pose real (ca<strong>da</strong> experiência com 256<br />
medi<strong>da</strong>s).........................................................................................................................128<br />
Tabela 8.2 Resumo <strong>da</strong>s experiências relativas à localização por BC........................................146<br />
Tabela 8.3 Resumo <strong>da</strong>s experiências relativas à medição <strong>de</strong> Linhas.........................................154<br />
Tabela 8.4 Resumo <strong>da</strong>s experiências relativas à medição <strong>de</strong> Postes.........................................163<br />
Tabela 8.5 Valores finais <strong>da</strong> sequência <strong>da</strong> figura 8.74..............................................................176<br />
xxiii
Capítulo 1<br />
Introdução<br />
1.1 Motivação<br />
Ahumani<strong>da</strong><strong>de</strong> há muito que sonha com os benefícios <strong>do</strong>s sistemas automáticos.<br />
Ofilósofo grego Aristóteles cerca <strong>do</strong> ano 332 AC refere «se uma ferramenta<br />
quan<strong>do</strong> or<strong>de</strong>na<strong>da</strong> ou mesmo por sua própria vonta<strong>de</strong> pu<strong>de</strong>sse fazer o seu<br />
trabalho... não seriam necessários aprendizes para os mestres nem escravos para<br />
os seus senhores...». Este filósofo previu aimportância que aautomatização viria<br />
ater ao antever ferramentas que aju<strong>da</strong>riam omestre. Tais equipamentos teriam<br />
até «vonta<strong>de</strong> própria», o que conduz à noção <strong>de</strong> autonomia, isto é, a<br />
«ferramenta» que não <strong>de</strong>pen<strong>de</strong> permanentemente <strong>do</strong> ser humano.<br />
Em 1921 Karel Čapek introduziu a palavra “Robot” na novela “R.U.R. -<br />
Rossum's Universal Robots”. A palavra vem <strong>de</strong> “robota”, que significa trabalho<br />
repetitivo/entediante na língua checa e assim os robots executariam tarefas<br />
repetitivas e/ou entediantes para oser humano (consultar oAnexo 2 Marcos<br />
Históricos <strong>da</strong> Robótica, pág 198).<br />
As ferramentas automáticas com autonomia culminam nos dias actuais nos<br />
sistemas robóticos, isto é, sistemas <strong>do</strong>ta<strong>do</strong>s <strong>de</strong> liber<strong>da</strong><strong>de</strong> <strong>de</strong> movimentos para<br />
cumprirem tarefas com um certo nível <strong>de</strong> autonomia <strong>de</strong> <strong>de</strong>cisão. O sistema<br />
robótico inclui o robot e os seus sistemas periféricos. O robot po<strong>de</strong> ser<br />
1
Introdução<br />
consi<strong>de</strong>ra<strong>do</strong> como afacha<strong>da</strong> visível <strong>de</strong> um sistema complexo, que po<strong>de</strong> ser, em<br />
parte, <strong>de</strong>pen<strong>de</strong>nte <strong>de</strong> alguns sistemas exteriores. A autonomia <strong>do</strong> sistema<br />
robótico significa que ele <strong>de</strong>ve ser capaz <strong>de</strong> tomar algumas <strong>de</strong>cisões próprias,<br />
<strong>de</strong>cisões essas necessárias para executar as suas tarefas com eficiência, precisão e<br />
segurança.<br />
A mobili<strong>da</strong><strong>de</strong> <strong>de</strong> um robot é uma questão relevante para o seu nível <strong>de</strong><br />
autonomia. Um robot com acapaci<strong>da</strong><strong>de</strong> <strong>de</strong> se <strong>de</strong>slocar livremente num <strong>da</strong><strong>do</strong><br />
ambiente po<strong>de</strong> realizar <strong>de</strong> forma eficiente muitas tarefas que <strong>de</strong> outra forma lhe<br />
estariam ve<strong>da</strong><strong>da</strong>s. Alocalização aparece então como essencial para aautonomia<br />
<strong>do</strong>s sistemas robóticos.<br />
Avisão aparece como solução fácil para alocalização já que as câmaras são<br />
sensores intrinsecamente seguros e<strong>de</strong> custo acessível, especialmente porque este<br />
género <strong>de</strong> sensor po<strong>de</strong> ser partilha<strong>do</strong> para diversas funcionali<strong>da</strong><strong>de</strong>s. A<br />
multiplici<strong>da</strong><strong>de</strong> <strong>de</strong> informações que se po<strong>de</strong>m retirar <strong>do</strong>s sistemas <strong>de</strong> visão colocaos<br />
assim como sen<strong>do</strong> sensores <strong>de</strong> importância primordial para aconstrução <strong>de</strong><br />
sistemas robóticos. Oprocessamento <strong>do</strong>s <strong>da</strong><strong>do</strong>s provenientes <strong>da</strong> visão <strong>de</strong>ve, no<br />
entanto, obe<strong>de</strong>cer alimites temporais bem <strong>de</strong>fini<strong>do</strong>s <strong>de</strong> acor<strong>do</strong> com adinâmica<br />
<strong>do</strong> sistema e <strong>do</strong> ambiente.<br />
O esta<strong>do</strong> <strong>do</strong> sistema <strong>de</strong>ve ser resulta<strong>do</strong> <strong>da</strong> fusão <strong>de</strong> to<strong>da</strong> a informação<br />
disponível. Osistema <strong>de</strong> fusão <strong>de</strong> informação <strong>de</strong>ve tirar omáximo proveito <strong>de</strong><br />
to<strong>da</strong> a informação váli<strong>da</strong> disponível, entran<strong>do</strong> em consi<strong>de</strong>ração com a<br />
caracterização prévia <strong>de</strong> ca<strong>da</strong> tipo <strong>de</strong> medi<strong>da</strong>.<br />
1.2 Contexto<br />
Este trabalho surge na sequência <strong>do</strong> gran<strong>de</strong> envolvimento <strong>do</strong> autor na área <strong>da</strong><br />
robótica móvel. Destaca-se a participação regular <strong>do</strong> autor em duas ligas <strong>de</strong><br />
futebol robótico <strong>da</strong> Fe<strong>de</strong>ração RoboCup. As competições <strong>do</strong> RoboCup eas ligas<br />
<strong>de</strong> futebol robótico em particular são uma banca <strong>de</strong> ensaios padrão a nível<br />
mundial para oteste <strong>de</strong> sistemas robóticos. Ao caracterizar-se a<strong>de</strong>qua<strong>da</strong>mente<br />
um <strong>da</strong><strong>do</strong> problema contribui-se para afocalização <strong>do</strong>s investiga<strong>do</strong>res e<strong>de</strong>sta<br />
forma incentiva-se o<strong>de</strong>senvolvimento científico etecnológico. Acresce ain<strong>da</strong> que<br />
o ambiente <strong>do</strong> futebol robótico é a<strong>de</strong>qua<strong>do</strong> à vali<strong>da</strong>ção experimental pois<br />
conduz aconclusões realistas que po<strong>de</strong>m facilmente ser porta<strong>da</strong>s para outras<br />
aplicações.<br />
Diversas aplicações <strong>da</strong> socie<strong>da</strong><strong>de</strong> civil beneficiam <strong>do</strong> <strong>de</strong>senvolvimento <strong>do</strong>s<br />
sistemas robóticos. Aplicações na área <strong>da</strong> Automação Industrial tal como os<br />
sistemas <strong>de</strong> produção eos sistemas <strong>de</strong> armazenamento automático, beneficiam<br />
<strong>de</strong> avanços nesta área. Outras aplicações civis emergirão ain<strong>da</strong> com os<br />
2
Introdução<br />
<strong>de</strong>senvolvimentos nestas tecnologias tal como por exemplo os sistemas <strong>de</strong><br />
entregas, <strong>de</strong> limpeza e <strong>de</strong> vigilância, etc.<br />
1.3 Contribuições<br />
Esta dissertação apresenta as seguintes contribuições <strong>de</strong> relevo:<br />
• Apresentação abrangente <strong>da</strong> meto<strong>do</strong>logia <strong>de</strong> projecto <strong>de</strong> sistemas robóticos;<br />
• Análise <strong>de</strong> <strong>do</strong>is projectos reais em que o autor participou;<br />
• Definição formal <strong>do</strong> codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante;<br />
• Algoritmo <strong>de</strong> auto-localização através <strong>de</strong> códigos <strong>de</strong> barras;<br />
• Construção prática <strong>de</strong> um sistema <strong>de</strong> fusão <strong>de</strong> informação;<br />
• Demonstração <strong>da</strong> viabili<strong>da</strong><strong>de</strong> <strong>da</strong>s soluções apresenta<strong>da</strong>s para localização<br />
robótica em ambientes estrutura<strong>do</strong>s.<br />
1.4 Estrutura<br />
Este <strong>do</strong>cumento abor<strong>da</strong> em primeiro lugar oprojecto <strong>de</strong> sistemas robóticos com<br />
eleva<strong>da</strong> autonomia.<br />
De segui<strong>da</strong> abor<strong>da</strong>-se oproblema <strong>da</strong> localização, incluin<strong>do</strong> sistemas eméto<strong>do</strong>s<br />
associa<strong>do</strong>s.<br />
Segue-se a teoria necessária aos trabalhos apresenta<strong>do</strong>s. É abor<strong>da</strong><strong>da</strong> a<br />
mo<strong>de</strong>lização ecalibração <strong>do</strong>s sistemas <strong>de</strong> visão eapresenta-se oFiltro <strong>de</strong> Kalman<br />
incluin<strong>do</strong> a sua versão Extendi<strong>da</strong>.<br />
Após breve contextualização relativa acódigos <strong>de</strong> barras e acodifica<strong>do</strong>res, é<br />
realiza<strong>da</strong> a apresentação formal <strong>do</strong> codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante e <strong>do</strong><br />
correspon<strong>de</strong>nte código <strong>de</strong> barras <strong>de</strong> janela unívoca.<br />
Os <strong>do</strong>is projectos robóticos em que oautor participou mais recentemente são<br />
discuti<strong>do</strong>s <strong>de</strong> segui<strong>da</strong>. São plataformas para duas ligas <strong>do</strong> futebol robótico <strong>do</strong><br />
RoboCup, a liga F180 e a liga F2000. A vali<strong>da</strong>ção experimental <strong>de</strong>corre na<br />
plataforma <strong>de</strong>scrita para a liga F2000.<br />
Anível experimental, apresenta-se uma série <strong>de</strong> algoritmos para extracção <strong>de</strong><br />
características interessantes <strong>da</strong> imagem. As medi<strong>da</strong>s obti<strong>da</strong>s são caracteriza<strong>da</strong>s e<br />
3
Introdução<br />
éconstruí<strong>do</strong> um sistema <strong>de</strong> fusão <strong>de</strong> informação basea<strong>do</strong> num filtro <strong>de</strong> Kalman<br />
Extendi<strong>do</strong>. Osistema <strong>de</strong> fusão <strong>de</strong> informação ésimula<strong>do</strong> e<strong>de</strong>pois vali<strong>da</strong><strong>do</strong> em<br />
vários testes dinâmicos reais.<br />
São <strong>de</strong>pois apresenta<strong>da</strong>s conclusões e propostas <strong>de</strong> melhoramentos futuros.<br />
Como anexo inclui-se um dicionário <strong>de</strong> acrónimos para facili<strong>da</strong><strong>de</strong> <strong>de</strong> consulta.<br />
4
Capítulo 2<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.1 Introdução<br />
Um sistema robótico é um sistema com alguma liber<strong>da</strong><strong>de</strong> <strong>de</strong> actuação e<br />
autonomia <strong>de</strong> <strong>de</strong>cisão. Estes sistemas incluem uma porção mais interventiva com<br />
o ambiente, o robot e po<strong>de</strong>m também incluir diversos sistemas periféricos (figura<br />
2.1). Apalavra robot hoje em dia é, no entanto, utiliza<strong>da</strong> em linguagem comum<br />
com significa<strong>do</strong> alarga<strong>do</strong> eos sistemas robóticos executam trabalhos que os seres<br />
humanos:<br />
• não querem fazer – trabalhos sujos, repetitivos, etc.;<br />
• não po<strong>de</strong>m fazer – ambientes nocivos, radioactivos, etc.;<br />
• fariam com pior quali<strong>da</strong><strong>de</strong>, mais <strong>de</strong>vagar ou mais caro.<br />
5
Projecto <strong>de</strong> Sistemas Robóticos<br />
Figura 2.1 Ilustração <strong>do</strong>s constituintes <strong>do</strong> sistema robótico<br />
Os sistemas robóticos assumem assim eleva<strong>da</strong> utili<strong>da</strong><strong>de</strong> para ahumani<strong>da</strong><strong>de</strong> esão<br />
motivo <strong>de</strong> gran<strong>de</strong> trabalho <strong>de</strong> investigação científico-tecnológico. Estes sistemas<br />
assumem variadíssimas formas conforme asua finali<strong>da</strong><strong>de</strong> eoambiente on<strong>de</strong> se<br />
inserem. Alguns exemplos comuns são:<br />
• Um robot <strong>de</strong> produção fabril po<strong>de</strong> ter capaci<strong>da</strong><strong>de</strong> <strong>de</strong> transportar cargas <strong>de</strong><br />
tonela<strong>da</strong>s mas apenas segue linhas no chão;<br />
• Um robot para cartografia submarina terá uma forma a<strong>de</strong>qua<strong>da</strong> ao meio<br />
on<strong>de</strong> se <strong>de</strong>sloca;<br />
• Um robot futebolista po<strong>de</strong> ser pequeno erápi<strong>do</strong> mas as suas “missões” têm<br />
curta duração;<br />
• Um robot explora<strong>do</strong>r <strong>do</strong> planeta Marte <strong>de</strong>ve resistir às condições<br />
ambientais <strong>de</strong>ste planeta eain<strong>da</strong> po<strong>de</strong>r <strong>de</strong>slocar-se autonomamente sobre a<br />
superfície <strong>do</strong> planeta.<br />
Os exemplos apresenta<strong>do</strong>s levantam questões a diversos níveis pelo que é<br />
pertinente o levantamento <strong>do</strong>s requisitos <strong>do</strong> sistema que se preten<strong>de</strong> projectar.<br />
2.2 Requisitos<br />
Os requisitos a i<strong>de</strong>ntificar para o projecto robótico <strong>de</strong>vem incluir:<br />
6<br />
Sistema<br />
Periférico<br />
Sistema Robótico<br />
Robot<br />
● Restrições <strong>de</strong> forma/tamanho/aparência exterior;<br />
● Tipo <strong>de</strong> ambiente on<strong>de</strong> vai operar (mobili<strong>da</strong><strong>de</strong>, dinâmica, nível <strong>de</strong><br />
estrutura);<br />
● Necessi<strong>da</strong><strong>de</strong>s específicas às tarefas a realizar (carga, manipulação, etc.);<br />
● Tempo e características <strong>da</strong> autonomia necessária;
● Capaci<strong>da</strong><strong>de</strong>s <strong>de</strong> <strong>de</strong>cisão autónoma/cooperação;<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
● Tipo <strong>de</strong> supervisão/<strong>de</strong>pendência <strong>de</strong> elementos (informáticos ou humanos)<br />
exteriores;<br />
● Canais <strong>de</strong> comunicações disponíveis e tolerância a falhas <strong>da</strong>s<br />
comunicações;<br />
● Questões <strong>de</strong> disponibili<strong>da</strong><strong>de</strong>, <strong>de</strong> robustez, <strong>de</strong> tolerância a falhas (fault<br />
tolerance) e avaria segura (fail safe) – po<strong>de</strong> implicar algum grau <strong>de</strong> reconfigurabili<strong>da</strong><strong>de</strong><br />
interna;<br />
● Questões <strong>de</strong> segurança para o ambiente que o ro<strong>de</strong>ia (incluin<strong>do</strong> seres<br />
humanos) – tecnologias admissíveis para sensores e actua<strong>do</strong>res;<br />
● Manutenção necessária;<br />
● Decisões tecnológicas essenciais;<br />
● Custo e duração <strong>de</strong> projecto.<br />
Porventura aprimeira questão <strong>de</strong> projecto éaforma <strong>do</strong> robot, que <strong>de</strong>ve ser<br />
a<strong>de</strong>qua<strong>da</strong> àsua finali<strong>da</strong><strong>de</strong> eao meio que oro<strong>de</strong>ia. Omeio ambiente não <strong>de</strong>ve<br />
po<strong>de</strong>r <strong>da</strong>nificar facilmente o robot, nem o robot <strong>de</strong>ve <strong>da</strong>nificar <strong>de</strong> forma<br />
relevante aquilo que o ro<strong>de</strong>ia. O robot po<strong>de</strong> também ter a necessi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
conviver em segurança com seres humanos.<br />
A falha <strong>do</strong> robot po<strong>de</strong> ser motivo <strong>de</strong> projecto cui<strong>da</strong><strong>do</strong>so: um submarino<br />
autónomo não po<strong>de</strong> <strong>de</strong>ixar-se afun<strong>da</strong>r <strong>de</strong>scontrola<strong>da</strong>mente no oceano. Também<br />
a falha <strong>de</strong> uma parte <strong>do</strong> robot po<strong>de</strong> ser motivo <strong>de</strong> estu<strong>do</strong> cui<strong>da</strong><strong>do</strong>. A falha segura<br />
<strong>do</strong> robot por vezes necessita <strong>de</strong> suporte anível <strong>do</strong> projecto global <strong>do</strong> robot. Um<br />
<strong>de</strong>talhe importante éimpedir <strong>da</strong> propagação <strong>da</strong>s falhas, isto é, impedir que uma<br />
avaria num elemento <strong>do</strong> robot avarie outros componentes. Adicionalmente, o<br />
robot po<strong>de</strong> tomar medi<strong>da</strong>s para limitar os estragos próprios e/ou tentar alguma<br />
forma auto diagnóstico <strong>da</strong> falha. Perante uma falha parcial, orobot po<strong>de</strong> ain<strong>da</strong><br />
tentar contornar oproblema eassim continuar os seus propósitos, ain<strong>da</strong> que <strong>de</strong><br />
forma limita<strong>da</strong> ou diferente <strong>do</strong> plano inicial.<br />
Como qualquer outro equipamento, convém consi<strong>de</strong>rar as intervenções<br />
necessárias anível <strong>de</strong> manutenção. Será necessário i<strong>de</strong>ntificar ce<strong>do</strong> na fase <strong>de</strong><br />
projecto os consumíveis necessários e admissíveis para o funcionamento normal.<br />
Será também importante consi<strong>de</strong>rar quais são os requisitos no que toca à<br />
disponibili<strong>da</strong><strong>de</strong> 1 espera<strong>da</strong> <strong>do</strong> sistema. Não <strong>de</strong>vem assim ser <strong>de</strong>scui<strong>da</strong><strong>da</strong>s questões<br />
relativas ao comportamento sob avaria. Questões tal como i<strong>de</strong>ntificação <strong>da</strong><br />
avaria, facili<strong>da</strong><strong>de</strong> <strong>de</strong> reparação e disponibili<strong>da</strong><strong>de</strong> <strong>de</strong> peças sobressalentes são<br />
assim relevantes durante to<strong>do</strong> o projecto.<br />
Aoperação <strong>do</strong> sistema eagestão <strong>da</strong>s fronteiras <strong>do</strong> robot <strong>de</strong>ve ser pon<strong>de</strong>ra<strong>do</strong><br />
1 Disponibili<strong>da</strong><strong>de</strong>=(MTTF)/(MTTF+MTTR) – MTTF Mean time to Failure – tempo médio<br />
para avaria e MTTR Mean Time to Repair – tempo médio para a reparação<br />
7
Projecto <strong>de</strong> Sistemas Robóticos<br />
cui<strong>da</strong><strong>do</strong>samente incluin<strong>do</strong> oestu<strong>do</strong> <strong>de</strong> quais são as técnicas admissíveis para os<br />
sensores e actua<strong>do</strong>res assim como <strong>de</strong>vem ser estu<strong>da</strong><strong>da</strong>s as necessi<strong>da</strong><strong>de</strong>s <strong>de</strong><br />
comunicações com o supervisor (humano) e os sistemas envolventes.<br />
Como qualquer outro projecto <strong>de</strong> engenharia, terá certamente que se encontrar<br />
compromissos que permitam cumprir os orçamentos. Ocusto <strong>da</strong> engenharia <strong>de</strong><br />
pôr to<strong>do</strong> oconjunto afuncionar <strong>de</strong>ve então ser ti<strong>do</strong> em linha <strong>de</strong> conta, quer a<br />
nível <strong>de</strong> custo, quer a nível <strong>de</strong> tempo <strong>de</strong> projecto.<br />
2.3 Áreas <strong>de</strong> Projecto<br />
Após olevantamento <strong>de</strong> to<strong>do</strong>s os requisitos anteriores, será <strong>de</strong> admitir que a<br />
robótica éuma disciplina abrangen<strong>do</strong> diversas áreas científico-tecnológicas que<br />
atravessam aMecânica, aElectrotecnia eaInformática. Procuran<strong>do</strong> <strong>de</strong>talhar as<br />
áreas mais importantes para a robótica, po<strong>de</strong>-se i<strong>de</strong>ntificar:<br />
8<br />
● Mecânica:<br />
• Sistemas <strong>de</strong> tracção;<br />
• Projecto mecânico:<br />
◦ Chassis e disposição <strong>do</strong>s subsistemas;<br />
◦ Espaço <strong>de</strong> carga (payload);<br />
◦ Arrumação e acessibili<strong>da</strong><strong>de</strong> aos sistemas internos;<br />
• Sensores, Actua<strong>do</strong>res e manipula<strong>do</strong>res mecânicos;<br />
● Electrotecnia e Informática:<br />
• Sistemas <strong>de</strong> alimentação (ex: baterias);<br />
• Sensores, actua<strong>do</strong>res e manipula<strong>do</strong>res eléctricos;<br />
• Electrónica:<br />
◦ Analógica (ex: condicionamento <strong>de</strong> sinal);<br />
◦ Digital (ex: sistemas <strong>de</strong> interface);<br />
◦ De potência (ex: coman<strong>do</strong> <strong>de</strong> actua<strong>do</strong>res);<br />
• Comunicações:<br />
◦ Internas (ex: re<strong>de</strong>s <strong>de</strong> sensores e actua<strong>do</strong>res);<br />
◦ Com o exterior (ex: re<strong>de</strong>s sem fios);<br />
• Plataformas <strong>de</strong> processamento:<br />
• Sistemas Tempo Real (ex: coman<strong>do</strong> <strong>de</strong> motor por microcontrola<strong>do</strong>r);
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Outros sistemas <strong>de</strong> processamento computacional (ex: processa<strong>do</strong>res);<br />
• Hardware <strong>de</strong>dica<strong>do</strong> (ex: FPGAs);<br />
• Teoria <strong>do</strong>s sistemas e controlo <strong>de</strong> sistemas dinâmicos;<br />
• Processamento <strong>de</strong> sinal e <strong>de</strong> imagem;<br />
• Sistemas Operativos e ferramentas informáticas;<br />
• Decisão, Controlo e Inteligência Artificial<br />
Tracção<br />
Estruturas<br />
Mecânica<br />
Manipula<strong>do</strong>res<br />
Sensores<br />
Actua<strong>do</strong>res<br />
Sensores<br />
Actua<strong>do</strong>res<br />
Sistema Robótico<br />
Sistema<br />
Embebi<strong>do</strong><br />
Figura 2.2 Representação simplifica<strong>da</strong> <strong>da</strong>s áreas científico-tecnológicas envolvi<strong>da</strong>s em projecto robótico<br />
Algumas áreas pertencem claramente à mecânica ou à electrotecnia ou à<br />
informática. Outras áreas porém, atravessam diversos <strong>do</strong>mínios epo<strong>de</strong>rão ser<br />
incluí<strong>da</strong>s como questões on<strong>de</strong> oprojecto <strong>de</strong>ve ser partilha<strong>do</strong> <strong>de</strong> tal forma que a<br />
melhor solução para o conjunto seja atingi<strong>da</strong>. Estas interacções são<br />
representa<strong>da</strong>s <strong>de</strong> forma simplifica<strong>da</strong> na 2.2.<br />
A filosofia <strong>de</strong> projecto <strong>de</strong>ste tipo <strong>de</strong> sistema é abor<strong>da</strong><strong>da</strong> <strong>de</strong> segui<strong>da</strong>.<br />
2.4 Projecto Global e Mecatrónica<br />
Electrotecnica e Informática<br />
Hardware<br />
Informático Software<br />
Comunicações<br />
Decisão<br />
Controlo<br />
Uma <strong>da</strong>s principais dificul<strong>da</strong><strong>de</strong>s <strong>do</strong> projecto robótico actual éadiversi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
áreas aabor<strong>da</strong>r. Énecessário portanto que aequipa <strong>de</strong> projecto implemente uma<br />
abor<strong>da</strong>gem <strong>de</strong> conjunto. Desta forma problemas que surjam a<strong>da</strong><strong>do</strong> nível po<strong>de</strong>m<br />
ser resolvi<strong>do</strong>s eficientemente noutro nível, com uma abor<strong>da</strong>gem diferente. Estes<br />
conceitos gerais <strong>de</strong>ram origem àMecatrónica [1] que li<strong>da</strong> com oprojecto <strong>de</strong><br />
sistemas complexos. Um exemplo cita<strong>do</strong> que segue estes conceitos éo<strong>do</strong> avião<br />
Lockheed Martin/Boing F-22 Raptor [1]. Um avança<strong>do</strong> sistema aviónico <strong>de</strong>ste tipo<br />
beneficia <strong>de</strong> um projecto on<strong>de</strong> [1] «a abor<strong>da</strong>gem aos problemas érealiza<strong>da</strong> <strong>de</strong><br />
forma concorrente (e não sequencial) resultan<strong>do</strong> assim em produtos com mais<br />
sinergias». Generalizan<strong>do</strong>, po<strong>de</strong> então dizer-se que oprojecto <strong>de</strong> sistemas multi-<br />
9
Projecto <strong>de</strong> Sistemas Robóticos<br />
disciplinares beneficia <strong>da</strong> abor<strong>da</strong>gem mecatrónica on<strong>de</strong> é <strong>da</strong><strong>da</strong> eleva<strong>da</strong><br />
importância ao projecto integra<strong>do</strong> e às sinergias entre diferentes abor<strong>da</strong>gens.<br />
Exemplos frequentemente referi<strong>do</strong>s <strong>de</strong> áreas <strong>de</strong> aplicação <strong>de</strong>ste conceito são as<br />
áreas <strong>da</strong> indústria automóvel e <strong>da</strong> aeronáutica. O projecto <strong>de</strong> um sistema<br />
robótico beneficia também <strong>de</strong>sta abor<strong>da</strong>gem globalizante.<br />
A mecatrónica é geralmente <strong>de</strong>scrita [1], [2] como abrangen<strong>do</strong> os seguintes<br />
campos to<strong>do</strong>s em comum com os Sistemas Robóticos:<br />
• Mecânica;<br />
• Electrónica;<br />
• Controlo;<br />
• Computa<strong>do</strong>res.<br />
Ca<strong>da</strong> um <strong>de</strong>stes campos chave inclui uma série <strong>de</strong> questões pertinentes (ver<br />
figura 2.3).<br />
Figura 2.3 Conceitos <strong>de</strong> base na Mecatrónica, a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [2]<br />
Dentro <strong>da</strong>s áreas <strong>do</strong>s computa<strong>do</strong>res, <strong>do</strong> controlo e<strong>da</strong> electrónica são essenciais<br />
conhecimentos <strong>de</strong> mo<strong>de</strong>lização, processamento e análise <strong>de</strong> sinais, méto<strong>do</strong>s<br />
numéricos, controlo <strong>de</strong> processos dinâmicos e ain<strong>da</strong> <strong>de</strong> comunicações e<br />
electrónica [2], [1].<br />
Aárea <strong>da</strong> mecânica diz respeito àrespostas <strong>do</strong>s materiais sobre oefeito <strong>de</strong> forças<br />
[1]. Inclui amecânica <strong>do</strong>s corpos rígi<strong>do</strong>s e<strong>de</strong>formáveis, leis relativas àmecânica<br />
<strong>do</strong>s fluí<strong>do</strong>s e às leis <strong>do</strong> movimento.<br />
Aabor<strong>da</strong>gem mecatrónica menciona asimulação com partes <strong>de</strong> hardware no<br />
loop <strong>de</strong> controlo, simulação Hardware-in-the-Loop [1]. Este tipo <strong>de</strong> teste vali<strong>da</strong> a<br />
simulação epermite oteste por blocos <strong>do</strong> sistema em fases precoces <strong>do</strong> projecto.<br />
10<br />
Computa<strong>do</strong>res<br />
Controlo<br />
Digital<br />
Controlo<br />
Mecatrónica<br />
CAD<br />
Mecânico<br />
Mecânica<br />
Electrónica<br />
<strong>de</strong> controlo<br />
Electro-<br />
Mecânica<br />
Electrónica
Projecto <strong>de</strong> Sistemas Robóticos<br />
Este tipo <strong>de</strong> simulações que compreen<strong>de</strong>m sinais <strong>de</strong> várias naturezas procuram<br />
i<strong>de</strong>ntificar problemas com a variabili<strong>da</strong><strong>de</strong> <strong>de</strong> parâmetros entre subsistemas.<br />
Desta forma po<strong>de</strong> estu<strong>da</strong><strong>do</strong> emelhora<strong>do</strong> ograu <strong>de</strong> <strong>de</strong>gra<strong>da</strong>ção <strong>de</strong> <strong>de</strong>sempenho<br />
<strong>do</strong> conjunto, face à <strong>de</strong>gra<strong>da</strong>ção <strong>de</strong> <strong>de</strong>sempenho <strong>de</strong> uma <strong>da</strong>s partes.<br />
De acor<strong>do</strong> com as i<strong>de</strong>ias preconiza<strong>da</strong>s pela mecatrónica, afigura 2.4 resume o<br />
trajecto que um projecto dinâmico <strong>de</strong>ve ter [2]. Utilizam-se mo<strong>de</strong>los<br />
matemáticos efísicos para fazer oprojecto evoluir antes <strong>da</strong> construção eteste <strong>do</strong><br />
protótipo. Aavaliação <strong>de</strong> ca<strong>da</strong> simulação eca<strong>da</strong> teste leva amelhoramentos que<br />
<strong>de</strong>pois são incorpora<strong>do</strong>s no projecto até que aavaliação <strong>do</strong> <strong>de</strong>sempenho seja<br />
satisfatória e o projecto seja <strong>da</strong><strong>do</strong> como concluí<strong>do</strong>.<br />
Protótipo<br />
Comportamento<br />
Real<br />
Melhoramentos<br />
Parâmetros<br />
Mo<strong>de</strong>lo<br />
Físico<br />
Avaliação<br />
Projecto<br />
Concluí<strong>do</strong><br />
Figura 2.4 Dinâmica <strong>de</strong> projecto <strong>de</strong> acor<strong>do</strong> com os<br />
princípios <strong>da</strong> mecatrónica (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [2])<br />
Uma vez estabeleci<strong>da</strong> afilosofia que oprojecto <strong>de</strong>ve ter, estu<strong>da</strong>-se <strong>de</strong> segui<strong>da</strong><br />
vários tipos <strong>de</strong> configurações para sistemas robóticos.<br />
2.5 Tipo <strong>de</strong> Robot e sua Locomoção<br />
Existem diversos tipos <strong>de</strong> robots com eleva<strong>da</strong> varie<strong>da</strong><strong>de</strong> <strong>de</strong> funcionali<strong>da</strong><strong>de</strong>s. Uma<br />
questão essencial éaforma como orobot se <strong>de</strong>slocará, isto é, aconfiguração <strong>do</strong><br />
seu sistema <strong>de</strong> locomoção incluin<strong>do</strong> motrici<strong>da</strong><strong>de</strong> e direcção.<br />
Os veículos movi<strong>do</strong>s por ro<strong>da</strong>s convencionais são frequentemente utiliza<strong>do</strong>s em<br />
sistemas robóticos. As configurações <strong>de</strong> locomoção sobre ro<strong>da</strong>s mais comuns são:<br />
● Locomoção diferencial [3], [4] - figura 2.5:<br />
Mo<strong>de</strong>lo<br />
Matemático<br />
Comportamento<br />
Previsto<br />
11
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Duas ro<strong>da</strong>s motoriza<strong>da</strong>s in<strong>de</strong>pen<strong>de</strong>ntemente;<br />
• Um terceiro ponto <strong>de</strong> apoio dá estabili<strong>da</strong><strong>de</strong> (po<strong>de</strong> ser uma ro<strong>da</strong> ou<br />
apenas um apoio);<br />
• Permite que o robot ro<strong>de</strong> sobre si próprio (em torno <strong>do</strong> ponto C);<br />
C<br />
Figura 2.5 Locomoção diferencial<br />
● Locomoção tipo triciclo [3] - figura 2.6:<br />
• A mesma ro<strong>da</strong> dá direcção e motoriza o veículo;<br />
• Duas ro<strong>da</strong>s livres atrás;<br />
• Curvatura em torno <strong>do</strong> ponto C;<br />
Figura 2.6 Locomoção tipo triciclo<br />
● Locomoção Ackerman 2 [3] - figura 2.7:<br />
• Duas ro<strong>da</strong>s guiam a direcção <strong>do</strong> carro;<br />
• Muitas vezes tracção nas ro<strong>da</strong>s traseiras com diferencial mecânico;<br />
• Po<strong>de</strong> também ter tracção à frente nas ro<strong>da</strong>s <strong>de</strong> direcção;<br />
• Permite apenas raio <strong>de</strong> curvatura limita<strong>do</strong> ao robot;<br />
2 Este é o tipo <strong>de</strong> direcção utiliza<strong>da</strong> nos automóveis ligeiros comuns<br />
12<br />
C
Figura 2.7 Locomoção tipo Ackerman<br />
● Locomoção Synchronous Drive [3], [5] - figura 2.8:<br />
• To<strong>da</strong>s as ro<strong>da</strong>s são motoras e direccionais;<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Um conjunto <strong>de</strong> correias faz girar to<strong>da</strong>s as ro<strong>da</strong>s sincroniza<strong>da</strong>mente;<br />
• Um outro conjunto <strong>de</strong> correias dá tracção a to<strong>da</strong>s as ro<strong>da</strong>s;<br />
• Po<strong>de</strong> mover-se em qualquer direcção após rotação <strong>da</strong>s ro<strong>da</strong>s.<br />
M<br />
M<br />
Figura 2.8 Locomoção <strong>do</strong> tipo “Synchronous Drive”<br />
Existem ain<strong>da</strong> sistemas compostos por vários segmentos, segmentos esses que<br />
movimentam <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte apesar <strong>de</strong> liga<strong>do</strong>s entre si. Este veículos<br />
<strong>de</strong>nominam-se com múltiplos graus <strong>de</strong> liber<strong>da</strong><strong>de</strong> [3], [6] (fig. 2.10). Uma <strong>da</strong>s<br />
principais vantagens <strong>de</strong>ste veículos éque asua configuração éa<strong>de</strong>qua<strong>da</strong> para<br />
transportar gran<strong>de</strong>s cargas. A<strong>de</strong>svantagem éamaior complexi<strong>da</strong><strong>de</strong> no controlo<br />
<strong>do</strong>s vários segmentos <strong>do</strong> corpo com respectivas restrições mecânicas associa<strong>da</strong>s.<br />
C<br />
13
Projecto <strong>de</strong> Sistemas Robóticos<br />
Figura 2.9 “nBot” Robot que se<br />
equilibra em duas ro<strong>da</strong>s [7]<br />
Figura 2.10 Robot com múltiplos graus <strong>de</strong> liber<strong>da</strong><strong>de</strong><br />
[6]<br />
Um robot diferente mas que utiliza ro<strong>da</strong>s éo“nBot” [7] que po<strong>de</strong> ser visto na<br />
figura 2.9. Utilizan<strong>do</strong> oprincípio <strong>do</strong> “pêndulo inverti<strong>do</strong>”, este robot consegue<br />
<strong>de</strong>slocar-se manten<strong>do</strong> oequilíbrio em 2ro<strong>da</strong>s apenas, sem um ponto <strong>de</strong> apoio<br />
adicional.<br />
Outros veículos movimentam-se através <strong>de</strong> lagartas [3], [8] (figura 2.11). Esta<br />
forma <strong>de</strong> locomoção permite <strong>de</strong>slocamentos sobre terrenos difíceis oque po<strong>de</strong><br />
ser interessante por exemplo para aplicações <strong>de</strong> busca e salvamento.<br />
Figura 2.11 Robot "BloodHound" para busca e<br />
salvamento [8]<br />
Um outro veículo chama<strong>do</strong> soryu [9] tem lagartas e o corpo dividi<strong>do</strong> em<br />
segmentos. Po<strong>de</strong> movimentar-se <strong>de</strong> diversas formas, arrastan<strong>do</strong>-se ou<br />
“rebolan<strong>do</strong>” oque lhe permite li<strong>da</strong>r com terrenos difíceis (ver fig 2.12). Orobot<br />
soryu é também projecta<strong>do</strong> para missões <strong>de</strong> busca a salvamento.<br />
14
Projecto <strong>de</strong> Sistemas Robóticos<br />
Figura 2.12 “Soryu”: à esquer<strong>da</strong> fotografia <strong>do</strong> protótipo e à direita o protótipo<br />
“rebola” por umas esca<strong>da</strong>s [9]<br />
Muitos sistemas recentes tem vin<strong>do</strong> atirar parti<strong>do</strong> <strong>da</strong> utilização <strong>de</strong> ro<strong>da</strong>s omnidireccionais<br />
para permitir movimento omni-direccional. Ca<strong>da</strong> ro<strong>da</strong> <strong>de</strong>ste tipo<br />
tem “rodinhas” na sua periferia <strong>de</strong>sliza numa direcção etracciona na direcção<br />
perpendicular. Utilizan<strong>do</strong> 3 (ou mais) ro<strong>da</strong>s <strong>de</strong>ste tipo o veículo consegue<br />
movimentar-se em to<strong>da</strong>s as direcções e mesmo ro<strong>da</strong>r sobre si próprio<br />
simultaneamente [10], [11], [12]. Esta técnica tem ti<strong>do</strong> muita aplicação recente<br />
em termos <strong>de</strong> competições <strong>de</strong> futebol robótico pela flexibili<strong>da</strong><strong>de</strong> acresci<strong>da</strong> na<br />
movimentação [13], [14], [15], [16], [17]. Em termos esquemáticos, consulte-se<br />
a figura 2.13; nesta figura se as duas ro<strong>da</strong>s superiores estiverem a ser<br />
motoriza<strong>da</strong>s com igual veloci<strong>da</strong><strong>de</strong>, a terceira ro<strong>da</strong> <strong>de</strong>sliza para<strong>da</strong> e o robot<br />
movimenta-se tal como indica<strong>do</strong> (as ro<strong>da</strong>s <strong>de</strong> tracção também <strong>de</strong>slizam<br />
enquanto traccionam).<br />
f >0 f >0<br />
f =0 f =0<br />
f >0<br />
f =0<br />
Figura 2.13 Locomoção OmniDireccional<br />
Exemplos <strong>de</strong> robots com mobili<strong>da</strong><strong>de</strong> omni-direccional po<strong>de</strong>m ser vistos na figura<br />
15
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.14 [13], na figura 7.4 pág. 110 [16] e na figura 7.7 pág. 114 [17].<br />
Figura 2.14 À esquer<strong>da</strong> está um robot “protótipo rápi<strong>do</strong>” com ro<strong>da</strong>s omni-direccionais e<br />
à direita uma ro<strong>da</strong> omni-direccional amplia<strong>da</strong> [13]<br />
Há também outros tipos <strong>de</strong> veículos menos convencionais, que incluem formas<br />
estranhas e meios especiais <strong>de</strong> locomoção:<br />
• “Minhoca totalmente a<strong>de</strong>rente” - [18];<br />
• “Esférico” - [19] [20] - ver figura 2.17;<br />
• “Spiral Track” - [21] - figura 2.18.<br />
Figura 2.15 Micro-robot voa<strong>do</strong>r (uma<br />
“mosca”) [22]<br />
Figura 2.17 Robot esférico [19]<br />
Figura 2.16 “Minhoca totalmente<br />
a<strong>de</strong>rente” [18]<br />
Figura 2.18 Robot “Spiral Track” [21]<br />
Outros robots são diferentes porque pertencem ao mun<strong>do</strong> <strong>do</strong>s Robots<br />
Micromecânicos – MEMS – Micro Electro Mechanical Systems<br />
16
• Versão Voa<strong>do</strong>ra [23], [22] - figura 2.15;<br />
• Versão com pernas [23].<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
Otambém pequeníssimo robot “Alice” consegue jogar futebol [24]. Na ver<strong>da</strong><strong>de</strong><br />
3contra 3<strong>de</strong>stes robots jogam numa folha A4 com uma bola <strong>de</strong> 2cm (ver figura<br />
2.19).<br />
Figura 2.19 Robots “Alice”: à esquer<strong>da</strong> foto <strong>do</strong> robot (com escala); à direita estes robôs a jogarem<br />
futebol 3 contra 3 [24]<br />
Existem muitas tentativas para investigar tipos <strong>de</strong> robots inspira<strong>do</strong>s na biologia<br />
animal –Robots “Biomiméticos”. Existem diversas tentativas para imitar oan<strong>da</strong>r<br />
com pernas eem especial oan<strong>da</strong>r <strong>do</strong> ser humano, em duas pernas. Alocomoção<br />
<strong>de</strong> Robots Humanói<strong>de</strong>s e outros Bípe<strong>de</strong>s é também alvo <strong>de</strong> complexo trabalho <strong>de</strong><br />
mo<strong>de</strong>lização einvestigação [25], [26]. Este tipo <strong>de</strong> movimento écomplexo e<br />
existem relativamente poucos robots bípe<strong>de</strong>s reais em movimento. É a<br />
investigação neste campo que se preten<strong>de</strong> incrementar com aliga <strong>de</strong> humanói<strong>de</strong>s<br />
<strong>da</strong> Fe<strong>de</strong>ração RoboCup (ver secção 7.2, pág 104).<br />
Figura 2.20 Hon<strong>da</strong> P3 e Asimo [27]<br />
Alguns humanói<strong>de</strong>s conheci<strong>do</strong>s são:<br />
● O humanói<strong>de</strong> <strong>da</strong> EPFL, Suíça [29];<br />
● O Hon<strong>da</strong> P3 e o ASIMO [27] - figura 2.20;<br />
● O Sony SDR4x [28] - figura 2.21;<br />
● No MIT, EUA o robot M2 [30].<br />
Figura 2.21 Humanói<strong>de</strong> Sony<br />
SDR4x [28]<br />
17
Projecto <strong>de</strong> Sistemas Robóticos<br />
Há também uma gran<strong>de</strong> série <strong>de</strong> robots inspira<strong>do</strong>s na biologia animal [31]:<br />
● Robots “Com pernas” - Legged:<br />
• Escorpião [32];<br />
• Salamandra [33];<br />
• Dinossauro - Troody [34];<br />
• Cão [35], Sony Aibo [36] (figura 2.25);<br />
• Gato Omron NeCoRo [37] (figura 2.26);<br />
● Formiga 3 [38] e colónia <strong>de</strong> formigas [39];<br />
● Cobra [40];<br />
● Macaco (saltan<strong>do</strong> entre barras no tecto) [41];<br />
● Robots “Sub Aquáticos”:<br />
• Peixe genérico [42];<br />
• Tubarão [43] – figura 2.22<br />
• Lagosta [44] - figura 2.23;<br />
• Atum [45];<br />
• Lampreia [46];<br />
Figura 2.22 Robot tubarão [43]<br />
Figura 2.23 Robot Lagosta [44]<br />
Um outro tipo <strong>de</strong> robot éaserpentina [47] [48]. Este robot po<strong>de</strong> locomover-se<br />
<strong>de</strong> diversas formas [47] (ver figura 2.24):<br />
• Twisting mo<strong>de</strong> –encurvamentos laterais fazem avançar orobot (tal como<br />
uma cobra!);<br />
• Locomoção com ro<strong>da</strong>s –as torções laterais fazem com que as ro<strong>da</strong>s livres<br />
avancem tangencialmente às curvas <strong>do</strong> corpo <strong>do</strong> robot;<br />
• Locomoção em ponte –orobot eleva-se quase na vertical e<strong>do</strong>bra-se na<br />
direcção para on<strong>de</strong> quer avançar <strong>de</strong> tal maneira que possa apoiar aoutra<br />
3 Esta “formiga” <strong>de</strong>sloca-se por lagartas<br />
18
extremi<strong>da</strong><strong>de</strong> mais à frente;<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Locomoção em anel – oanel <strong>de</strong>forma-se fazen<strong>do</strong> com que o centro <strong>de</strong><br />
gravi<strong>da</strong><strong>de</strong> <strong>do</strong> anel mu<strong>de</strong> e o anel avance rolan<strong>do</strong>;<br />
• Inching mo<strong>de</strong> –movimento ondulatório na vertical que se propaga ao longo<br />
<strong>do</strong> corpo.<br />
Figura 2.24 Movimento <strong>do</strong> robot <strong>do</strong> tipo serpentina (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [47])<br />
Arobótica étambém motivo <strong>de</strong> interesse para aindústria <strong>do</strong>s brinque<strong>do</strong>s pelo<br />
que aparecem já versões comerciais <strong>de</strong> animais <strong>de</strong> estimação robóticos “Robot<br />
Pets” tais como os já referi<strong>do</strong>s Sony Aibo [36] (figura 2.25) e oGato Omron<br />
NeCoRo [37] (figura 2.26).<br />
Figura 2.25 Cão robótico “Aibo” mo<strong>de</strong>lo<br />
ERS220, <strong>da</strong> Sony [36]<br />
Figura 2.26 Gato robótico Necoro <strong>da</strong> Omron [37]<br />
Os robots submarinos po<strong>de</strong>m ter vários aspectos menos inspira<strong>do</strong>s na biologia.<br />
Exemplo disso mesmo éorobot “Infante” [49] euma imagem virtual <strong>de</strong>ste robot<br />
19
Projecto <strong>de</strong> Sistemas Robóticos<br />
submarino está na figura 2.28. Apropulsão <strong>de</strong>stes sistemas éfrequentemente<br />
consegui<strong>da</strong> através <strong>de</strong> hélices a<strong>de</strong>qua<strong>da</strong>s, tais como as <strong>do</strong> Infante, mostra<strong>da</strong>s na<br />
figuras 2.30 e2.29 [50], [51]. Na figura 2.27 po<strong>de</strong>-se ver orobot Isurus [52] que<br />
possui também apenas uma hélice propulsora. Neste robot, a direcção <strong>de</strong><br />
movimento éaltera<strong>da</strong> através <strong>da</strong> orientação <strong>de</strong> duas barbatanas horizontais e<br />
duas barbatanas verticais situa<strong>da</strong>s na popa <strong>do</strong> robot.<br />
Figura 2.27 Robot Isurus [52]<br />
Figura 2.28 Ren<strong>de</strong>r <strong>do</strong> robot submarino<br />
Infante<br />
Figura 2.29 Hélice <strong>de</strong>ntro <strong>do</strong> propulsor<br />
<strong>do</strong> Infante Figura 2.30 Propulsor <strong>do</strong> Infante<br />
Saben<strong>do</strong> qual atipologia a<strong>de</strong>qua<strong>da</strong> para aaplicação em causa, po<strong>de</strong>-se <strong>da</strong>r início<br />
ao projecto mecânico propriamente dito.<br />
2.6 Projecto Mecânico<br />
Oprojecto <strong>da</strong> parte mecânica <strong>do</strong> sistema robótico éfun<strong>da</strong>mental para obom<br />
funcionamento global <strong>de</strong> conjunto. Devem ser consi<strong>de</strong>ra<strong>do</strong>s diversos factores<br />
relativos às necessi<strong>da</strong><strong>de</strong>s específicas <strong>de</strong> ca<strong>da</strong> sensor, ca<strong>da</strong> actua<strong>do</strong>r e ca<strong>da</strong><br />
manipula<strong>do</strong>r. Também a disposição mecânica <strong>da</strong>s partes <strong>de</strong>ntro <strong>do</strong> robot e<br />
eventualmente <strong>da</strong> sua carga <strong>de</strong>vem ser consi<strong>de</strong>ra<strong>do</strong>s. O projecto <strong>da</strong>s várias<br />
partes elementares <strong>do</strong> robot não <strong>de</strong>ve per<strong>de</strong>r <strong>de</strong> vista as restrições dimensionais<br />
existentes <strong>do</strong> conjunto bem assim como o peso <strong>da</strong>s partes e <strong>do</strong> conjunto. A<br />
20
Projecto <strong>de</strong> Sistemas Robóticos<br />
acessibili<strong>da</strong><strong>de</strong> <strong>de</strong> ca<strong>da</strong> parte <strong>do</strong> robot étambém um facto ater em consi<strong>de</strong>ração,<br />
visto que po<strong>de</strong> ter impacto no tempo efectivo <strong>de</strong> funcionamento conforme a<br />
dificul<strong>da</strong><strong>de</strong> <strong>de</strong> diagnóstico e reparação <strong>de</strong> avarias.<br />
Autilização <strong>de</strong> ferramentas <strong>de</strong> projecto assisti<strong>do</strong> por computa<strong>do</strong>r <strong>de</strong>nomina<strong>da</strong>s<br />
<strong>de</strong> ferramentas CAD –Computer Ai<strong>de</strong>d Design, são essenciais para um eficiente<br />
projecto mecânico. As ferramentas <strong>do</strong> tipo CAD 3D possibilitam oprojecto <strong>de</strong><br />
formas eespaços geran<strong>do</strong> uma simulação <strong>do</strong> resulta<strong>do</strong> sob diversas perspectivas<br />
<strong>de</strong> uma forma facilmente perceptível para to<strong>da</strong> aequipa <strong>de</strong> projecto. Também<br />
uma alteração dimensional não exige que oprojecto <strong>de</strong> conjunto seja refeito. A<br />
<strong>de</strong>finição <strong>de</strong> peças elementares é também possível permitin<strong>do</strong> assim<br />
representações hierárquicas <strong>de</strong> peças. Estes sistemas facilitam também muito a<br />
geração <strong>de</strong> cotas para fabrico. Os melhores sistemas CAD po<strong>de</strong>m ser liga<strong>do</strong>s <strong>de</strong><br />
forma automática asistemas CAM Computer Ai<strong>de</strong>d Manufacturing, para fabrico<br />
automatiza<strong>do</strong>. Por vezes oconjunto <strong>de</strong>ste tipo <strong>de</strong> sistemas éreferi<strong>do</strong> como um<br />
sistema CAD/CAE/CAM 4 ,conjunto <strong>de</strong> ferramentas informáticas para aju<strong>da</strong> ao<br />
projecto, à engenharia <strong>de</strong> fabrico (simulação <strong>de</strong> fabrico, etc.) e ao fabrico<br />
automatiza<strong>do</strong> [53]. As meto<strong>do</strong>logias CAD/CAE/CAM permitem aprototipagem<br />
rápi<strong>da</strong>, isto é, permitem aconstrução <strong>de</strong> um protótipo mecânico funcional em<br />
pouco tempo.<br />
Serviços<br />
Documentação<br />
Conectivi<strong>da</strong><strong>de</strong><br />
Produtivi<strong>da</strong><strong>de</strong><br />
CAD<br />
Mo<strong>de</strong>lo<br />
Interno<br />
A<strong>de</strong>rência<br />
a<br />
Stan<strong>da</strong>rds<br />
Re-<br />
-utilização<br />
<strong>de</strong> Peças<br />
Figura 2.31 Benefícios provenientes <strong>da</strong><br />
utilização <strong>de</strong> sistemas CAD<br />
Tal como ilustra<strong>do</strong> na fig. 2.31, os sistemas CAD promovem uma série<br />
benefícios [54]:<br />
• Produtivi<strong>da</strong><strong>de</strong> aumenta<strong>da</strong> (redução <strong>de</strong> custos);<br />
Troca<br />
Fácil <strong>de</strong><br />
Informação<br />
• Facili<strong>da</strong><strong>de</strong> <strong>de</strong> visualização <strong>do</strong>s mo<strong>de</strong>los e promovem a sua completa e<br />
correcta <strong>do</strong>cumentação;<br />
4 CAD/CAE/CAM – Computer Ai<strong>de</strong>d Design/Computer Ai<strong>de</strong>d Engineering/Computer Ai<strong>de</strong>d<br />
Manufacturing<br />
21
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Facilita o cumprimento <strong>de</strong> stan<strong>da</strong>rds, o que mais tar<strong>de</strong> se reflecte em<br />
facili<strong>da</strong><strong>de</strong> <strong>de</strong> interpretação e melhor <strong>do</strong>cumentação <strong>do</strong> projecto;<br />
• Permite a utilização <strong>de</strong> serviços tais como, por exemplo, a geração<br />
automática <strong>de</strong> <strong>da</strong><strong>do</strong>s, vali<strong>da</strong>ção <strong>do</strong> mo<strong>de</strong>lo, listagem <strong>de</strong> peças, etc.;<br />
• Permitir a ligação a sistemas <strong>de</strong> fabrico simula<strong>do</strong> e/ou geração <strong>de</strong> programas<br />
<strong>de</strong> fabrico para sistemas <strong>de</strong> maquinagem <strong>de</strong> coman<strong>do</strong> por computa<strong>do</strong>r<br />
(também <strong>de</strong>signa<strong>da</strong>s por máquinas <strong>de</strong> coman<strong>do</strong> numérico).<br />
Este tipo <strong>de</strong> ferramentas <strong>de</strong> auxílio ao projecto leva aque seja também fácil<br />
implementar conceitos <strong>de</strong> facili<strong>da</strong><strong>de</strong>/a<strong>de</strong>quação àmontagem efabrico <strong>da</strong>s peças<br />
elementares <strong>do</strong> sistema sob projecto.<br />
Os sistemas CAD 3D utilizam diversos tipos <strong>de</strong> estruturas internas para guar<strong>da</strong>r<br />
a informação [55], [54]:<br />
• Representação <strong>da</strong>s periferias <strong>do</strong>s elementos a mo<strong>de</strong>lizar (ex: planos 3D,<br />
méto<strong>do</strong>s analíticos, etc.);<br />
• Partição <strong>do</strong> espaço em volumes elementares (voxels) preenchi<strong>do</strong>s ou não;<br />
• Ray-Tracing –registar modificações em ca<strong>da</strong> raio elementar que atravessa o<br />
volume <strong>do</strong> universo;<br />
• Mo<strong>de</strong>lação Sóli<strong>da</strong> (intersecção e reunião <strong>de</strong> elementos geométricos 3D<br />
básicos).<br />
Uma <strong>da</strong>s mais divulga<strong>da</strong>s ferramentas CAD foi utiliza<strong>da</strong> pelo autor <strong>de</strong>sta<br />
dissertação para otrabalho mostra<strong>do</strong> na secção 7.3, página 106. Esta ferramenta<br />
éoPTC Pro Desktop eé<strong>de</strong> utilização totalmente livre na versão utiliza<strong>da</strong> [56].<br />
Esta ferramenta, em concreto, écaracteriza<strong>da</strong> como sen<strong>do</strong> uma ferramenta CAD<br />
<strong>de</strong> sóli<strong>do</strong>s 3D, paramétrica, feature based e permite, por exemplo:<br />
22<br />
• Mo<strong>de</strong>lizar ca<strong>da</strong> peça <strong>do</strong> sistema <strong>de</strong> forma paramétrica: introduzin<strong>do</strong><br />
medi<strong>da</strong>s, <strong>de</strong>finin<strong>do</strong> intersecções, etc.;<br />
• Efectuar oajuste mecânico <strong>da</strong>s várias peças eelementos no conjunto <strong>de</strong><br />
acor<strong>do</strong> com conceitos tal como: distâncias, ângulos, alinhamentos, etc.;<br />
• Utilizar peças sob vários níveis <strong>de</strong> hierarquia;<br />
• Obter a listagem <strong>de</strong> to<strong>da</strong>s as peças utiliza<strong>da</strong>s;<br />
• Fazer cotagens para fabrico <strong>de</strong> forma muito facilita<strong>da</strong> (incluin<strong>do</strong> planos <strong>de</strong><br />
cortes, vistas <strong>de</strong> <strong>de</strong>talhe, etc.);<br />
• Testar configurações <strong>de</strong> peças em várias posições e peças <strong>de</strong>slizantes;<br />
• Localizar interferências (sóli<strong>do</strong>s sobrepostos);<br />
• Calcular peso e centro <strong>de</strong> massa;<br />
• Construir animações.
Projecto <strong>de</strong> Sistemas Robóticos<br />
Alguns exemplos <strong>do</strong> trabalho realiza<strong>do</strong> com esta ferramenta po<strong>de</strong>m ser<br />
encontra<strong>do</strong>s nas figuras 2.32, 3.3, 4.14, 4.15 e 7.2.<br />
Figura 2.32 Mo<strong>de</strong>lo <strong>de</strong> CAD <strong>do</strong> conjunto <strong>do</strong> robot 5dpo,<br />
F180, ano 2003 (comparar com fig. 7.4)<br />
O estu<strong>do</strong> <strong>do</strong>s espaços no robot é ain<strong>da</strong> mais valioso se existirem restrições<br />
dimensionais aperta<strong>da</strong>s.<br />
Após o projecto mecânico, estu<strong>da</strong>m-se <strong>de</strong> segui<strong>da</strong> as fontes <strong>de</strong> energia<br />
disponíveis para um sistema robótico.<br />
23
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.7 Sistema <strong>de</strong> Alimentação<br />
Alguns sistemas robóticos po<strong>de</strong>m conviver com limitações <strong>de</strong> mobili<strong>da</strong><strong>de</strong><br />
inerentes àsua fonte <strong>de</strong> energia ser externa. Se for viável orobot <strong>de</strong>pen<strong>de</strong>r <strong>de</strong><br />
energia exterior, então esta energia necessita apenas <strong>de</strong> ser condiciona<strong>da</strong> e<br />
distribuí<strong>da</strong>. Os robots <strong>de</strong> maior autonomia não po<strong>de</strong>m, porém, ter cabos nem<br />
tubos que os liguem permanentemente ao exterior. Orobot <strong>de</strong>ve então ter algum<br />
nível <strong>de</strong> in<strong>de</strong>pendência em termos energéticos: ele <strong>de</strong>ve ser capaz <strong>de</strong> armazenar<br />
ou produzir energia apartir <strong>do</strong> seu interior ou apartir <strong>do</strong> ambiente. Em termos<br />
tecnológicos, écomplexo transmitir energia para orobot se movimentar sem fios,<br />
em segurança ecom rendimento aceitável. Otrabalho [57] faz uma tentativa<br />
interessante <strong>de</strong> transmitir energia sem fios em ambiente industrial mas não refere<br />
qualquer aplicabili<strong>da</strong><strong>de</strong> em robótica. Éentão incontornável, actualmente, que o<br />
robot seja tenha algum sistema <strong>de</strong> armazenamento <strong>de</strong> energia ou que aobtenha<br />
a partir <strong>do</strong> ambiente circun<strong>da</strong>nte.<br />
Aescolha <strong>da</strong>s fontes <strong>de</strong> energia primárias <strong>de</strong>vem ter em conta vários factores que<br />
são in<strong>de</strong>pen<strong>de</strong>ntes <strong>da</strong> natureza <strong>da</strong> energia em causa:<br />
• Características <strong>de</strong> carga e <strong>de</strong>scarga (tempos e intensi<strong>da</strong><strong>de</strong>s);<br />
• Características <strong>de</strong> <strong>de</strong>scarga própria, <strong>de</strong> envelhecimento e <strong>de</strong> <strong>de</strong>terioração;<br />
• Questões <strong>de</strong> manutenção e armazenamento;<br />
• Rendimento <strong>da</strong>s transformações envolvi<strong>da</strong>s;<br />
• Quanti<strong>da</strong><strong>de</strong> <strong>de</strong> energia acumula<strong>da</strong> e questões volumétricas (<strong>de</strong>nsi<strong>da</strong><strong>de</strong>,<br />
disponibili<strong>da</strong><strong>de</strong> em forma a<strong>de</strong>qua<strong>da</strong>s, etc.);<br />
• Preço inicial e durabili<strong>da</strong><strong>de</strong> (número <strong>de</strong> ciclos, envelhecimento, etc.);<br />
• Restrições mecânicas (peso, dimensões e questões <strong>de</strong> arrumação);<br />
• Segurança e restrições ambientais;<br />
• Restrições quanto à recarga <strong>da</strong> energia a acumular;<br />
• Interferência e facili<strong>da</strong><strong>de</strong> <strong>de</strong> condução e a<strong>da</strong>ptação <strong>da</strong> energia.<br />
Aalimentação eléctrica para um robot <strong>do</strong>s dias <strong>de</strong> hoje éincontornável. É, no<br />
entanto, possível ainclusão <strong>de</strong> mais que um tipo <strong>de</strong> energia primária. Para além<br />
<strong>da</strong> energia eléctrica, o ar comprimi<strong>do</strong> é muitas vezes utiliza<strong>do</strong> para<br />
accionamentos mecânicos em robótica [58]. Énecessário, no entanto, suportar o<br />
acréscimo <strong>de</strong> restrições mecânicas envolvi<strong>da</strong>s eacomplexi<strong>da</strong><strong>de</strong> adicional para<br />
recarregar osistema com formas <strong>de</strong> energia adicionais. Uma vantagem possível<br />
po<strong>de</strong> ser aa<strong>de</strong>quação <strong>da</strong> fonte energética a<strong>de</strong>termina<strong>da</strong>s partes <strong>do</strong> sistema (por<br />
exemplo <strong>de</strong>termina<strong>do</strong>s actua<strong>do</strong>res).<br />
Adistribuição <strong>de</strong> energia <strong>de</strong>ntro <strong>do</strong> robot segue os conceitos resumi<strong>do</strong>s na figura<br />
24
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.33. Nesta figura po<strong>de</strong>-se i<strong>de</strong>ntificar acumula<strong>do</strong>res e gera<strong>do</strong>res internos ao<br />
robot. Estes acumula<strong>do</strong>res internos necessitam <strong>de</strong> ser recarrega<strong>do</strong>s <strong>de</strong> alguma<br />
forma enquanto que os gera<strong>do</strong>res transformam energia <strong>do</strong> exterior ou <strong>de</strong> fontes<br />
<strong>de</strong> armazenamento intermédias internas ao robot. Qualquer conjunto <strong>de</strong><br />
acumula<strong>do</strong>res egera<strong>do</strong>res po<strong>de</strong> ligar aqualquer conversor <strong>de</strong> energia. Alguns<br />
subsistemas po<strong>de</strong>m também aceitar energia directa <strong>de</strong> gera<strong>do</strong>res e/ou<br />
acumula<strong>do</strong>res. Alguns conversores e susbsistemas po<strong>de</strong>m utilizar diferentes<br />
conjuntos <strong>de</strong> energia provenientes <strong>de</strong> diferentes conjuntos <strong>de</strong> acumula<strong>do</strong>res e<br />
gera<strong>do</strong>res.<br />
Um exemplo comum <strong>de</strong> um acumula<strong>do</strong>r <strong>de</strong> energia eléctrica é uma bateria.<br />
Como exemplo <strong>de</strong> um gera<strong>do</strong>r que “retira” energia <strong>do</strong> ambiente refira-se um<br />
painel foto-voltaico que transforma luz ambiente em energia eléctrica. Uma<br />
célula <strong>de</strong> combustível éum exemplo <strong>de</strong> um gera<strong>do</strong>r que transforma matérias<br />
primas em energia eléctrica, produzin<strong>do</strong> como subproduto água. Qualquer<br />
gera<strong>do</strong>r interno po<strong>de</strong> também reabastecer uma outra forma <strong>de</strong> energia interna,<br />
por exemplo um painel foto voltaico po<strong>de</strong> também carregar baterias.<br />
Fontes <strong>de</strong><br />
Energia<br />
Externa<br />
Fontes <strong>de</strong><br />
Energia<br />
Externa<br />
(Meio Ambiente)<br />
Re-carga<br />
Consumível<br />
(Meio Ambiente)<br />
Eliminação<br />
Acumula<strong>do</strong>res<br />
Gera<strong>do</strong>res<br />
Sub-<br />
Produtos<br />
Figura 2.33 Distribuição <strong>de</strong> energia <strong>de</strong>ntro <strong>do</strong> robot<br />
Conversores<br />
<strong>de</strong> Energia<br />
Sub-<br />
Sistemas<br />
Robot<br />
Os sistemas computacionais <strong>do</strong> robot necessitam <strong>de</strong> energia eléctrica com<br />
características a<strong>de</strong>qua<strong>da</strong>s. A solução mais frequente é a <strong>de</strong> obter uma<br />
<strong>de</strong>termina<strong>da</strong> tensão nominal e<strong>de</strong>pois utilizar conversores estáticos para a<strong>de</strong>quar<br />
aenergia eléctrica para distribuição pelos diversos subsistemas. Alguns exemplos<br />
po<strong>de</strong>m ser consulta<strong>do</strong>s na secção 7.3, pág. 106 e na secção 7.4, pág. 110.<br />
Valores <strong>de</strong> tensão utiliza<strong>do</strong>s frequentemente são 12V e24V. Aescolha <strong>do</strong>(s)<br />
valor(es) exacto(s) a utilizar é tecnológica. Uma outra solução possível é<br />
transformar atensão <strong>de</strong> alimentação <strong>da</strong>s baterias na tensão stan<strong>da</strong>rd <strong>da</strong> re<strong>de</strong><br />
para <strong>de</strong>pois obter to<strong>da</strong>s as tensões necessárias internamente ao robot. Tal<br />
procedimento acarreta uma elevação <strong>de</strong> tensão para <strong>de</strong>pois ser posteriormente<br />
reduzi<strong>da</strong>, com consequente redução no rendimento eléctrico <strong>do</strong> conjunto. Esta<br />
opção éjustificável se se consi<strong>de</strong>rar que as per<strong>da</strong>s energéticas são aceitáveis face<br />
25
Projecto <strong>de</strong> Sistemas Robóticos<br />
aoutro tipo <strong>de</strong> ganhos possíveis pela utilização <strong>de</strong> equipamentos disponíveis <strong>de</strong><br />
forma generaliza<strong>da</strong> ao consumi<strong>do</strong>r – COTS (Components-Off-The-Shelf). A<br />
utilização <strong>de</strong> tensões eleva<strong>da</strong>s <strong>de</strong>ntro <strong>do</strong> robot po<strong>de</strong>rá criar problemas <strong>de</strong><br />
segurança eléctrica e <strong>de</strong> isolamento.<br />
Existem várias soluções <strong>de</strong> armazenamento <strong>de</strong> energia eléctrica sob a forma<br />
química, para utilização em uni<strong>da</strong><strong>de</strong>s móveis [59], [60], [61]. Na tabela 2.1<br />
estão resumi<strong>do</strong>s as principais características <strong>da</strong>s baterias mais utiliza<strong>da</strong>s. Existem<br />
ain<strong>da</strong> outros tipos <strong>de</strong> baterias a<strong>da</strong>pta<strong>do</strong>s apartir <strong>de</strong> pilhas não recarregáveis que<br />
são pouco utiliza<strong>da</strong>s para sistemas autónomos [59].<br />
Autilização <strong>de</strong> motores <strong>de</strong> explosão enfrenta graves limitações quer anível <strong>de</strong><br />
segurança quer anível <strong>da</strong> poluição. Principalmente por estes motivos são pouco<br />
interessantes para aplicações em veículos autónomos, ain<strong>da</strong> mais se estes alguma<br />
vez entrarem em ambientes fecha<strong>do</strong>s.<br />
26
Tabela 2.1 Comparação <strong>de</strong> Baterias, a<strong>da</strong>pta<strong>do</strong> a partir <strong>de</strong> [59], [60] e [61]<br />
Densi<strong>da</strong><strong>de</strong> Energética<br />
(Wh/Kg)<br />
Resistência Interna (mΩ) -<br />
incluin<strong>do</strong> circuitos periféricos<br />
(a <strong>de</strong>termina<strong>da</strong> tensão)<br />
Ciclo <strong>de</strong> Vi<strong>da</strong><br />
(80% cap. Inicial)<br />
NiCd NiMH Chumbo/<br />
Áci<strong>da</strong><br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
Iões <strong>de</strong><br />
Lítio<br />
Iões <strong>de</strong><br />
Lítio/<br />
Polímero<br />
45-80 60-120 30-50 110-160 100-130<br />
100-200<br />
6V<br />
200 - 300<br />
6V<br />
2C >2C<br />
Corrente <strong>de</strong> Carga Lenta 1 0.5 0.2
Projecto <strong>de</strong> Sistemas Robóticos<br />
Figura 2.34 Comparação <strong>da</strong> <strong>de</strong>nsi<strong>da</strong><strong>de</strong> energética <strong>de</strong> diversas soluções para<br />
armazenamento e produção <strong>de</strong> energia eléctrica – as linhas diagonais são para <strong>de</strong>scarga em<br />
tempo igual para <strong>de</strong>termina<strong>da</strong> carga – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [63]<br />
As células <strong>de</strong> combustível são uma alternativa recente às baterias para veículos<br />
autónomos. Oferecem maiores <strong>de</strong>nsi<strong>da</strong><strong>de</strong>s energéticas (ver Fig. 2.34) àcusta <strong>de</strong><br />
consumo <strong>de</strong> um combustível: estes equipamentos não armazenam energia<br />
eléctrica, produzem-na. Osubproduto <strong>da</strong> reacção química inerente àcélula <strong>de</strong><br />
combustível éaágua. Aprocura <strong>de</strong> veículos com emissões nocivas nulas leva a<br />
que já existam carros e autocarros utilizan<strong>do</strong> estas tecnologias. Existe por<br />
exemplo uma frota experimental <strong>de</strong> autocarros utilizan<strong>do</strong> células <strong>de</strong> combustível<br />
econsumin<strong>do</strong> hidrogénio [64], [65] on<strong>de</strong> apropulsão éconsegui<strong>da</strong> através <strong>de</strong><br />
motor eléctrico. A utilização <strong>de</strong> células <strong>de</strong> combustível enfrenta os seguintes<br />
obstáculos [64],[65],[66]:<br />
• Consumo <strong>de</strong> um combustível;<br />
• Produção <strong>de</strong> água;<br />
• Po<strong>de</strong>m existir problemas <strong>de</strong> segurança;<br />
• Problemas <strong>de</strong> reciclagem visto utilizarem-se substâncias muito especiais e<br />
por vezes muito nocivas na construção <strong>de</strong>stes equipamentos.<br />
Apesar <strong>de</strong>stas questões, as células <strong>de</strong> combustível são interessantes pois<br />
permitem <strong>de</strong>nsi<strong>da</strong><strong>de</strong>s <strong>de</strong> energia superiores às <strong>da</strong>s baterias (ver figura 2.34),<br />
sen<strong>do</strong> portanto relevantes para área <strong>do</strong>s sistemas robóticos.<br />
Após oestu<strong>do</strong> <strong>do</strong> projecto mecânico e<strong>do</strong> sistema que fornece energia ao sistema<br />
robótico, estu<strong>da</strong>-se to<strong>do</strong> o equipamento embarca<strong>do</strong> <strong>de</strong>ntro <strong>do</strong> robot.<br />
28<br />
Densi<strong>da</strong><strong>de</strong><br />
<strong>de</strong><br />
Potência<br />
(W/kg)<br />
1000<br />
100<br />
10<br />
1<br />
0.1<br />
Céluas<br />
Combustível<br />
Bateria<br />
Chumbo-Áci<strong>do</strong><br />
Bateria<br />
NiCd<br />
1 H<br />
Bateria<br />
Lítio<br />
0.36 S<br />
Con<strong>de</strong>nsa<strong>do</strong>res<br />
<strong>de</strong> Cama<strong>da</strong> Dupla<br />
0.01<br />
10 100 1000 10,000<br />
Densi<strong>da</strong><strong>de</strong> <strong>de</strong> Energia (WH/kg)<br />
0.1 H<br />
Super-<br />
-Con<strong>de</strong>nsa<strong>do</strong>res<br />
36 S<br />
3.6 S<br />
36 mS<br />
Con<strong>de</strong>nsa<strong>do</strong>res<br />
Electrolíticos <strong>de</strong> Alumínio
2.8 Sistema Embebi<strong>do</strong><br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
Designa-se por sistema embebi<strong>do</strong> oconjunto <strong>de</strong> sistemas embarca<strong>do</strong> no robot<br />
que li<strong>da</strong> com as interfaces robot-ambiente e processamento <strong>do</strong>s respectivos<br />
sinais. Este sistema li<strong>da</strong> com a conversão <strong>de</strong> energia <strong>de</strong> e para o exterior<br />
incluin<strong>do</strong> sensores, actua<strong>do</strong>res e respectivos circuitos <strong>de</strong> condicionamento. A<br />
aquisição <strong>de</strong> sinal <strong>do</strong>s sensores faz parte <strong>de</strong>ste sistema bem assim como oseu<br />
pré-processamento, eventual conversão e eventual disponibilização a<strong>de</strong>qua<strong>da</strong>,<br />
por exemplo, numa re<strong>de</strong> interna ao robot. Também a geração <strong>de</strong> sinais<br />
a<strong>de</strong>qua<strong>do</strong>s aos actua<strong>do</strong>res éresponsabili<strong>da</strong><strong>de</strong> <strong>de</strong>ste importante subsistema <strong>do</strong><br />
robot.<br />
2.8.1 Sistemas Tempo Real<br />
Um sistema tempo real (Real Time –RT) éum sistema em que acorrecção <strong>do</strong><br />
resulta<strong>do</strong> não <strong>de</strong>pen<strong>de</strong> apenas <strong>da</strong> correcção lógica <strong>da</strong> computação mas <strong>de</strong>pen<strong>de</strong><br />
também <strong>do</strong> tempo em que essa computação foi completa<strong>da</strong>. Se olimite temporal<br />
(<strong>de</strong>ad line) não foi cumpri<strong>do</strong> então diz-se que ocorreu uma falha <strong>do</strong> sistema [67],<br />
[68].<br />
Osistema embebi<strong>do</strong> éum sistema que está sujeito arestrições <strong>de</strong> Tempo Real<br />
visto que oatraso <strong>de</strong> processamento na zona <strong>de</strong> interface robot-mun<strong>do</strong> cria<br />
atrasos na execução <strong>de</strong> or<strong>de</strong>ns e/ou atrasos na percepção <strong>do</strong> ambiente e<br />
compromete ain<strong>da</strong> o ciclo <strong>de</strong> <strong>de</strong>cisão e controlo.<br />
2.8.2 Classificação <strong>de</strong> Sensores<br />
Os sensores po<strong>de</strong>m ser classifica<strong>do</strong>s quanto à forma como interagem com o<br />
ambiente [55], [69]:<br />
• Sensores passivos não adicionam energia ao ambiente circun<strong>da</strong>nte<br />
durante o seu funcionamento po<strong>de</strong>n<strong>do</strong>, no entanto, <strong>de</strong> alguma forma<br />
retirar energia <strong>do</strong> ambiente;<br />
• Sensores activos enviam energia para o meio eme<strong>de</strong>m essa interacção<br />
com o ambiente.<br />
Um exemplo <strong>de</strong> um sensor activo é o ra<strong>da</strong>r que envia energia para o meio e me<strong>de</strong><br />
otempo que <strong>de</strong>corre até àchega<strong>da</strong> <strong>do</strong> respectivo eco. Uma câmara éum sensor<br />
passivo no senti<strong>do</strong> em que asua medi<strong>da</strong> ébasea<strong>da</strong> em energia que não éemiti<strong>da</strong><br />
por si.<br />
Outra classificação para os sensores diz respeito à proveniência <strong>do</strong>s <strong>da</strong><strong>do</strong>s<br />
medi<strong>do</strong>s. A este respeito, utiliza-se a classificação proveniente <strong>do</strong>s sensores<br />
biológicos [55]:<br />
• Sensores exterioceptivos – li<strong>da</strong>m com o mun<strong>do</strong> externo;<br />
29
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Sensores proprioceptivos – me<strong>de</strong>m o esta<strong>do</strong> interno <strong>do</strong> sistema.<br />
Uma câmara que visualiza oexterior <strong>do</strong> robot éum sensor exterioceptivo porque<br />
traz <strong>da</strong><strong>do</strong>s <strong>do</strong> meio ambiente externo ao robot. Um codifica<strong>do</strong>r liga<strong>do</strong> ao veio <strong>do</strong><br />
motor <strong>do</strong> robot é consi<strong>de</strong>ra<strong>do</strong> um sensor proprioceptivo porque me<strong>de</strong> <strong>da</strong><strong>do</strong>s<br />
internos ao robot.<br />
Os sensores ditos inteligentes po<strong>de</strong>m ter um <strong>de</strong>termina<strong>do</strong> nível <strong>de</strong> autocalibração<br />
e/ou po<strong>de</strong>m a<strong>da</strong>ptar-se automaticamente ao meio circun<strong>da</strong>nte. É<br />
espera<strong>do</strong> que cumpram asua função <strong>da</strong> melhor forma possível eque os seus<br />
resulta<strong>do</strong>s sejam mais interessantes que os forneci<strong>do</strong>s pelo sensor elementar (não<br />
“inteligente”). Um exemplo <strong>de</strong> um sensor inteligente seria um sensor <strong>de</strong> distância<br />
com base em Ultra-Sons que apresenta na saí<strong>da</strong> uma distância já corrigi<strong>da</strong> ten<strong>do</strong><br />
em conta a variação <strong>da</strong> veloci<strong>da</strong><strong>de</strong> <strong>do</strong> som com a temperatura ambiente.<br />
2.8.3 Sensores Comuns em Robótica<br />
Os subsistemas <strong>de</strong> sensorização utiliza<strong>do</strong>s em sistemas robóticos muitas vezes<br />
são compostos por sensores e sistemas adicionais. Alguns subsistemas e<br />
respectivos mecanismos adicionais e/ou variantes frequentemente utiliza<strong>do</strong>s são:<br />
● Sistema <strong>de</strong> Visão – câmaras:<br />
• Matriz ou linear;<br />
• Preto e branco ou a cores;<br />
• Sistemas <strong>de</strong> orientação (Pan & Tilt);<br />
• Sistemas <strong>de</strong> ampliação óptica (zoom motoriza<strong>do</strong> comandável);<br />
• Sistemas utilizan<strong>do</strong> iluminação estrutura<strong>da</strong>;<br />
● Ultra-Sons:<br />
• Sistemas <strong>de</strong> orientação;<br />
• Medi<strong>da</strong> <strong>de</strong> efeito Doppler;<br />
● Sensores ópticos <strong>de</strong> Infra Vermelhos (IR - Infra Red):<br />
• Medi<strong>da</strong> <strong>de</strong> intensi<strong>da</strong><strong>de</strong> reflecti<strong>da</strong>;<br />
• PSD 8 (Position Sensitive Device) –sensor <strong>de</strong> iluminação IR estrutura<strong>da</strong><br />
em que a distância ao sensor é obti<strong>da</strong> por triangulação;<br />
● Ra<strong>da</strong>res - RADAR - RAdio Detection And Ranging – medi<strong>da</strong> <strong>de</strong> distância<br />
através <strong>da</strong> contagem <strong>de</strong> tempo entre aemissão eoretorno <strong>do</strong> eco (time of<br />
flight); é também efectua<strong>da</strong> a medi<strong>da</strong> <strong>de</strong> veloci<strong>da</strong><strong>de</strong> <strong>do</strong> alvo através <strong>do</strong><br />
efeito <strong>de</strong> Doppler;<br />
8 Ver página 60 e figura 3.7<br />
30
Projecto <strong>de</strong> Sistemas Robóticos<br />
● LIDAR –LIght Detection and Ranging –análogo ao RADAR mas utilizan<strong>do</strong><br />
Laser [70];<br />
● Sensores <strong>de</strong> contacto –microinterruptores por exemplo aplica<strong>do</strong>s em pára<br />
choques – bumpers;<br />
● Sensores <strong>de</strong> torção [13];<br />
● Acelerómetros;<br />
● Bússolas;<br />
● Inclinómetros e pêndulos;<br />
● Giroscópios;<br />
● Codifica<strong>do</strong>res (enco<strong>de</strong>rs) absolutos ou relativos.<br />
Determina<strong>do</strong>s subsistemas <strong>de</strong> sensorização po<strong>de</strong>m fazer uso <strong>de</strong> múltiplos<br />
princípios elementares <strong>de</strong> medi<strong>da</strong>, procuran<strong>do</strong> assim uma medi<strong>da</strong> com melhores<br />
características que a medi<strong>da</strong> isola<strong>da</strong>. Po<strong>de</strong>m até receber coman<strong>do</strong>s <strong>de</strong><br />
configuração para que os resulta<strong>do</strong>s <strong>do</strong> subsistema tenham o máximo <strong>de</strong><br />
informação útil. Exemplos <strong>de</strong>ste tipo <strong>de</strong> sistemas são os sensores configuráveis,<br />
que po<strong>de</strong>m ser consi<strong>de</strong>ra<strong>do</strong>s subsistemas <strong>de</strong> sensorização. Um exemplo <strong>de</strong> um<br />
sensor <strong>de</strong>ste tipo é uma câmara com um sistema <strong>de</strong> orientação.<br />
2.8.4 Actua<strong>do</strong>res<br />
Os actua<strong>do</strong>res eléctricos eos actua<strong>do</strong>res pneumáticos são muito frequentes em<br />
sistemas robóticos. Os actua<strong>do</strong>res eléctricos são muito utiliza<strong>do</strong>s principalmente<br />
<strong>de</strong>vi<strong>do</strong> àsua facili<strong>da</strong><strong>de</strong> <strong>de</strong> coman<strong>do</strong> eflexibili<strong>da</strong><strong>de</strong>. Os actua<strong>do</strong>res pneumáticos<br />
permitem, no entanto, forças muito eleva<strong>da</strong>s, superiores às que se conseguem<br />
com facili<strong>da</strong><strong>de</strong> utilizan<strong>do</strong> actua<strong>do</strong>res eléctricos.<br />
Os motores eléctricos rotativos são quase omni-presentes para motorização <strong>de</strong><br />
veículos móveis. Existem também motores eléctricos lineares que po<strong>de</strong>m ser<br />
utiliza<strong>do</strong>s para actua<strong>do</strong>res robóticos, embora a sua utilização seja menos<br />
frequente. Os motores mais frequentemente utiliza<strong>do</strong>s são motores <strong>de</strong> corrente<br />
contínua eos motores <strong>de</strong> passo motores <strong>de</strong> passo-a-passo (Stepper Motors). Estes<br />
últimos são mais utiliza<strong>do</strong>s para posicionamento <strong>de</strong> equipamentos [17] mas<br />
po<strong>de</strong>m também ser utiliza<strong>do</strong>s para tracção [71], benefician<strong>do</strong> assim <strong>do</strong> seu<br />
menor custo. A<strong>de</strong>svantagem <strong>do</strong>s motores <strong>de</strong> passo-a-passo éanecessi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
cui<strong>da</strong><strong>do</strong>s adicionais para manter aestabili<strong>da</strong><strong>de</strong> durante oseu funcionamento. Os<br />
motores eléctricos <strong>de</strong> corrente contínua são a solução mais frequente para<br />
tracção <strong>de</strong> veículos móveis. Devi<strong>do</strong> às características próprias <strong>de</strong>stes actua<strong>do</strong>res<br />
<strong>de</strong> alta rotativi<strong>da</strong><strong>de</strong>, muitas vezes utilizam-se caixas <strong>de</strong>smultiplica<strong>do</strong>ras para<br />
obter maiores binários. Étambém possível utilizar motores <strong>de</strong> corrente alterna<strong>da</strong><br />
mas a sua utilização em sistemas robóticos é menos frequente <strong>de</strong>vi<strong>do</strong> à<br />
complexi<strong>da</strong><strong>de</strong> acresci<strong>da</strong> <strong>do</strong> seu coman<strong>do</strong> e funcionamento.<br />
31
Projecto <strong>de</strong> Sistemas Robóticos<br />
Frequentemente são também utiliza<strong>do</strong>s actua<strong>do</strong>res electromagnéticos. Em [15],<br />
[16] e[17] são utiliza<strong>do</strong>s solenói<strong>de</strong>s como dispositivos para chutar abola em<br />
competições <strong>de</strong> futebol robótico. Para obter forças eleva<strong>da</strong>s, utilizam-se<br />
con<strong>de</strong>nsa<strong>do</strong>res para armazenar carga eléctrica com eleva<strong>da</strong> tensão e assim<br />
permitir eleva<strong>da</strong>s correntes <strong>de</strong> <strong>de</strong>scarga durante um tempo limita<strong>do</strong> mas<br />
suficiente para impulsionar a bola. Para a mesma aplicação são também<br />
utiliza<strong>do</strong>s actua<strong>do</strong>res pneumáticos [58] esistemas mecânicos àbase <strong>de</strong> energia<br />
acumula<strong>da</strong> em molas [5], [72].<br />
2.8.5 Implementação <strong>de</strong> Subsistemas<br />
Ca<strong>da</strong> subsistema <strong>do</strong> robot <strong>de</strong>ve traduzir uma repartição em blocos coerentes.<br />
To<strong>do</strong>s os sistemas <strong>de</strong>vem possuir uma interface bem <strong>do</strong>cumenta<strong>da</strong> com o<br />
exterior e com as outras partes <strong>do</strong> robot.<br />
Na implementação prática <strong>de</strong>stes subsistemas existe muitas vezes discussão<br />
acerca <strong>da</strong> possibili<strong>da</strong><strong>de</strong> <strong>de</strong> executar <strong>de</strong>termina<strong>da</strong>s tarefas por electrónica<br />
<strong>de</strong>dica<strong>da</strong> ou por software [73]. Esta éuma <strong>de</strong>cisão tecnológica importante que<br />
acarreta consequências anível <strong>do</strong>s tempos <strong>de</strong> resposta que osistema terá com<br />
implicações ao nível <strong>do</strong> Tempo Real. Realizar tarefas por software, por exemplo<br />
<strong>de</strong>ntro <strong>de</strong> um microcontrola<strong>do</strong>r (MCU), po<strong>de</strong> ser uma solução flexível e <strong>de</strong> baixo<br />
custo. Aalternativa éaimplementação <strong>do</strong> sistema em hardware <strong>de</strong>dica<strong>do</strong> que<br />
permitirá tempos <strong>de</strong> processamentos muito menores.<br />
A nível <strong>de</strong> hardware <strong>de</strong>dica<strong>do</strong>, as principais soluções tecnológicas são:<br />
• FPGA –Field Programmable Gate Array –sistema digital basea<strong>do</strong> em ligações<br />
e blocos reconfiguráveis;<br />
• FPGAA -Field Programmable Gate Analog Array –análogo ao anterior mas<br />
permitin<strong>do</strong> blocos analógicos;<br />
• ASIC –Application Specific Integrated Circuit -integra<strong>do</strong> (não programável)<br />
projecta<strong>do</strong> especificamente para a aplicação.<br />
As soluções utilizan<strong>do</strong> sistemas <strong>de</strong> processamento via software são:<br />
• MCU – Micro-Controller Unit - processa<strong>do</strong>r com periféricos <strong>de</strong>stina<strong>do</strong>s a<br />
controlo tempo real e blocos programáveis;<br />
• MPU – Micro-Processor Unit - processa<strong>do</strong>r <strong>de</strong>stina<strong>do</strong> a processamento<br />
genérico <strong>de</strong> <strong>da</strong><strong>do</strong>s;<br />
• DSP – Digital Signal Processor – processa<strong>do</strong>r geralmente conten<strong>do</strong><br />
barramento <strong>de</strong> <strong>da</strong><strong>do</strong>s e <strong>de</strong> en<strong>de</strong>reços <strong>de</strong> largura diferente, <strong>de</strong>stina<strong>do</strong> a<br />
processamento <strong>de</strong> <strong>da</strong><strong>do</strong>s intensivo conten<strong>do</strong> alguns periféricos<br />
programáveis.<br />
Existe ain<strong>da</strong> a possibili<strong>da</strong><strong>de</strong> <strong>de</strong> integrar o hardware e software:<br />
32
• SoC – System on a Chip – FPGA + MCU/DSP.<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
In<strong>de</strong>pen<strong>de</strong>ntemente <strong>de</strong> <strong>de</strong>termina<strong>da</strong> escolha tecnológica para um certo bloco <strong>do</strong><br />
sistema, uma boa prática a a<strong>do</strong>ptar é tomar medi<strong>da</strong>s para que mesmo na<br />
presença <strong>de</strong> or<strong>de</strong>ns incoerentes (<strong>do</strong> software <strong>de</strong> alto nível) ou na ausência <strong>de</strong><br />
or<strong>de</strong>ns, os sistemas garantam sempre asua própria integri<strong>da</strong><strong>de</strong>, isto é, garantir a<br />
avaria segura <strong>do</strong> sistema.<br />
Aimplementação <strong>de</strong> blocos com requisitos Tempo Real utiliza frequentemente<br />
um processa<strong>do</strong>r <strong>de</strong>dica<strong>do</strong> ao bloco em causa. Tal solução faz com que os tempos<br />
envolvi<strong>do</strong>s em ca<strong>da</strong> operação sejam fáceis <strong>de</strong> <strong>de</strong>terminar ecaracterizar e<strong>de</strong>ssa<br />
forma garantir o funcionamento temporalmente correcto.<br />
Por vezes os subsistemas menos exigentes acabam por crescer em complexi<strong>da</strong><strong>de</strong> e<br />
po<strong>de</strong> ser proveitoso autilização <strong>de</strong> um Sistema Operativo Tempo Real a<strong>de</strong>qua<strong>do</strong><br />
à plataforma on<strong>de</strong> <strong>de</strong>corre a implementação.<br />
2.8.6 Comunicações Internas<br />
Acomunicação mais frequente <strong>de</strong>ntro <strong>de</strong> sistemas é, possivelmente, RS232(C).<br />
Este tipo <strong>de</strong> ligação éapenas ponto aponto mas éamplamente divulga<strong>do</strong> para<br />
comunicações <strong>de</strong>ntro <strong>de</strong> sistemas e é virtualmente omni-presente. Existem<br />
diversas variantes <strong>de</strong>sta norma, sen<strong>do</strong> talvez amais utiliza<strong>da</strong> anorma RS485<br />
que permite comunicação em re<strong>de</strong>.<br />
Os mais recentes MCUs oferecem, no entanto, diversas possibili<strong>da</strong><strong>de</strong>s <strong>de</strong><br />
comunicação <strong>de</strong>ntro <strong>do</strong> mesmo integra<strong>do</strong>. Muitos incluem mesmo suporte para<br />
protocolos <strong>de</strong> re<strong>de</strong> algo complexos. Estas re<strong>de</strong>s <strong>de</strong>nomina<strong>da</strong>s como re<strong>de</strong>s <strong>de</strong><br />
sensores eactua<strong>do</strong>res permitem distribuir sinais <strong>de</strong> forma simples pelo interior<br />
<strong>de</strong> um sistema. Estas re<strong>de</strong>s apresentam algum nível <strong>de</strong> suporte para<br />
funcionamento sob restrições <strong>de</strong> Tempo Real. Alguns exemplos <strong>de</strong> re<strong>de</strong>s <strong>de</strong><br />
sensores e actua<strong>do</strong>res integra<strong>da</strong>s em MCUs são:<br />
• CAN – Controller Area Network – ex: Siemens SAB80C167C;<br />
• I2C ou TWI – Two Wire Interface – ex: Atmel ATMega8;<br />
• USB/USB2 – Universal Serial Bus – ex: Atmel AT89C5131;<br />
• Ethernet 9 – ex: Dallas DS80C400<br />
Após oestu<strong>do</strong> físico <strong>do</strong> sistema, oestu<strong>do</strong> seguinte diz respeito àestratégia que o<br />
robot utiliza para cumprir os seus objectivos, em particular, ser capaz <strong>de</strong> chegar<br />
ao seu <strong>de</strong>stino.<br />
9 Ethernet não foi inicialmente pensa<strong>da</strong> para esta finali<strong>da</strong><strong>de</strong> mas po<strong>de</strong>, ain<strong>da</strong> assim, ser uma<br />
solução muito interessante para esta classe <strong>de</strong> aplicação<br />
33
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.9 Navegação<br />
As perguntas fun<strong>da</strong>mentais <strong>da</strong> navegação <strong>de</strong> um sistema robótico móvel são:<br />
“On<strong>de</strong> estou?”, “Para on<strong>de</strong> vou?” e “Como chegar lá?”<br />
Estas questões não são <strong>de</strong> reposta simples quan<strong>do</strong> se preten<strong>de</strong> eleva<strong>da</strong><br />
autonomia. “On<strong>de</strong> estou?” implica medi<strong>da</strong>s face ao ambiente exterior que po<strong>de</strong><br />
ser dinâmico. Saber para on<strong>de</strong> se <strong>de</strong>ve <strong>de</strong>slocar orobot para melhor cumprir a<br />
sua tarefa po<strong>de</strong> também ter solução não trivial. Seguir numa certa direcção po<strong>de</strong><br />
não garantir chegar acerto ponto mesmo que ele fique nessa direcção pois o<br />
caminho po<strong>de</strong> estar bloquea<strong>do</strong>. Complexi<strong>da</strong><strong>de</strong> adicional aparece se se tiver em<br />
atenção consi<strong>de</strong>rações <strong>de</strong> segurança tal como quan<strong>do</strong> o robot se <strong>de</strong>sloca em<br />
ambiente dinâmico. Especial cui<strong>da</strong><strong>do</strong> énecessário se oespaço épartilha<strong>do</strong> com<br />
seres humanos.<br />
A navegação envolve diversas capaci<strong>da</strong><strong>de</strong>s como por exemplo o contorno <strong>de</strong><br />
obstáculos eactualização dinâmica <strong>do</strong> mapa actual. As técnicas mais utiliza<strong>da</strong>s<br />
para navegação são [3], [74], [75]:<br />
• Utilização <strong>de</strong> “mapas <strong>de</strong> estra<strong>da</strong>s” <strong>de</strong> segmentos utilizáveis;<br />
• Decomposição em sub-blocos <strong>do</strong> mapa actualizan<strong>do</strong> blocos com<br />
informação ocupa<strong>do</strong>/livre mais recente;<br />
• Campos <strong>de</strong> Atracção/Repulsão (obstáculos repelem orobot que éatraí<strong>do</strong><br />
pelos pontos on<strong>de</strong> preten<strong>de</strong> chegar).<br />
A navegação po<strong>de</strong> ser consi<strong>de</strong>ra<strong>da</strong> como a plataforma intermédia que faz<br />
cumprir aor<strong>de</strong>m <strong>de</strong> chegar aum certo <strong>de</strong>stino. Onível <strong>de</strong> autonomia que se<br />
preten<strong>de</strong> <strong>da</strong>r aesta cama<strong>da</strong> intermédia <strong>de</strong> <strong>de</strong>cisão émuito variável conforme a<br />
aplicação. Po<strong>de</strong> acontecer que um <strong>da</strong><strong>do</strong> problema <strong>de</strong> navegação não tenha<br />
solução perante <strong>da</strong><strong>do</strong> nível <strong>de</strong> autonomia concedi<strong>da</strong> aeste sistema. Neste caso<br />
novas <strong>de</strong>cisões <strong>de</strong> nível superior são necessárias para que orobot atinja os seus<br />
objectivos.<br />
Consi<strong>de</strong>ran<strong>do</strong> que épossível uma localização satisfatória para oproblema em<br />
causa, oproblema seguinte pren<strong>de</strong>-se em fazer com que orobot se <strong>de</strong>sloque para<br />
cumprir os seus objectivos. Éentão necessário saber on<strong>de</strong> orobot está, para on<strong>de</strong><br />
<strong>de</strong>ve seguir ecomo oconseguir, isto é, énecessário que orobot navegue através<br />
<strong>do</strong> caminho escolhi<strong>do</strong> até ao seu <strong>de</strong>stino.<br />
Aarquitectura típica <strong>de</strong> um sistema <strong>de</strong> navegação po<strong>de</strong> ser <strong>de</strong>composta tal como<br />
mostra afigura 2.35. No nível superior <strong>de</strong> <strong>de</strong>cisão encontra-se geralmente o<br />
planeamento <strong>de</strong> tarefas que gera coman<strong>do</strong>s para osistema <strong>de</strong> planeamento <strong>de</strong><br />
trajectórias. Osistema <strong>de</strong> contorno <strong>de</strong> obstáculos actua muitas vezes sobre o<br />
nível <strong>de</strong> controlo <strong>de</strong> movimento. Sistemas mais complexos po<strong>de</strong>m fornecer a<br />
informação <strong>de</strong> obstáculos aos níveis superiores <strong>de</strong> <strong>de</strong>cisão. Agestão <strong>do</strong> <strong>de</strong>svio <strong>de</strong><br />
34
Projecto <strong>de</strong> Sistemas Robóticos<br />
obstáculos complica<strong>do</strong>s em sistemas mais evoluí<strong>do</strong>s po<strong>de</strong> exigir o traça<strong>do</strong> <strong>de</strong><br />
novas trajectórias.<br />
Pontos<br />
Intermédios<br />
Referências<br />
<strong>de</strong> Sinal<br />
Planeamento <strong>de</strong><br />
Tarefas<br />
Coman<strong>do</strong>s<br />
Planemento <strong>de</strong><br />
Trajectórias<br />
Seguimento <strong>de</strong><br />
Trajectórias<br />
Controlo <strong>de</strong><br />
Movimento<br />
Estimativa<br />
<strong>do</strong> Sistema<br />
Sensores<br />
Sistemas com este tipo <strong>de</strong> arquitectura permitem fechar amalha <strong>de</strong> coman<strong>do</strong> a<br />
vários níveis o que permite por sua vez:<br />
• Contorno e <strong>de</strong>svio <strong>de</strong> obstáculos – a baixo nível;<br />
• Fusão <strong>de</strong> <strong>da</strong><strong>do</strong>s para criar uma estimativa global <strong>do</strong> sistema – a nível<br />
intermédio;<br />
• Actualização <strong>do</strong> mapa corrente – a nível superior.<br />
Mapa <strong>do</strong> Ambiente<br />
Fusão Sensorial e Percepção<br />
Sensores<br />
Colisão<br />
Localização<br />
Actua<strong>do</strong>res<br />
Ambiente<br />
Realimentação<br />
Figura 2.35 Arquitectura típica <strong>de</strong> um sistema <strong>de</strong> navegação<br />
Tipicamente anavegação acaba por ser abor<strong>da</strong><strong>da</strong> como sen<strong>do</strong> oseguimento <strong>de</strong><br />
referências intermédias até alcançar <strong>de</strong>stinos finais on<strong>de</strong> são atribuí<strong>da</strong>s novas<br />
tarefas.<br />
Acama<strong>da</strong> <strong>de</strong> software <strong>da</strong> navegação recebe or<strong>de</strong>ns <strong>do</strong> nível hierárquico superior,<br />
que é apresenta<strong>do</strong> <strong>de</strong> segui<strong>da</strong>.<br />
2.10 Decisão, Autonomia e Cooperação<br />
Outros<br />
Sensores<br />
Aarquitectura <strong>do</strong> software <strong>de</strong> nível mais eleva<strong>do</strong> écrítica para o<strong>de</strong>sempenho<br />
satisfatório <strong>do</strong> robot que se preten<strong>de</strong> projectar. Chame-se ao software com mais<br />
eleva<strong>do</strong> nível <strong>de</strong> abstracção osoftware <strong>de</strong> <strong>de</strong>cisão. Tal como ilustra<strong>do</strong> na figura<br />
35
Projecto <strong>de</strong> Sistemas Robóticos<br />
2.36, omódulo <strong>de</strong> <strong>de</strong>cisão toma as suas <strong>de</strong>cisões com base em informações <strong>do</strong><br />
mun<strong>do</strong> real forneci<strong>da</strong>s pelo bloco <strong>de</strong> entra<strong>da</strong>s <strong>do</strong> robot emu<strong>da</strong> esse mesmo<br />
esta<strong>do</strong> <strong>do</strong> mun<strong>do</strong> por intermédio <strong>da</strong>s saí<strong>da</strong>s <strong>do</strong> sistema. No bloco <strong>da</strong>s entra<strong>da</strong>s<br />
cabem subsistemas <strong>de</strong> sensores erespectivo tratamento <strong>de</strong> sinais enquanto que<br />
ao bloco <strong>da</strong>s saí<strong>da</strong>s dizem respeito os actua<strong>do</strong>res e respectivo condicionamento.<br />
Obloco <strong>de</strong> entra<strong>da</strong>s <strong>de</strong>ve ser entendi<strong>do</strong> como um bloco que reúne ageração <strong>de</strong><br />
to<strong>do</strong>s os <strong>da</strong><strong>do</strong>s necessários àprodução <strong>de</strong> <strong>de</strong>cisões pelo respectivo bloco enão<br />
apenas como um conjunto <strong>de</strong> sensores. Este bloco incluirá possivelmente<br />
informação relativa àfusão <strong>de</strong> informação <strong>de</strong> sensores e<strong>do</strong> esta<strong>do</strong> estima<strong>do</strong> <strong>do</strong><br />
robot.<br />
Obloco <strong>de</strong> saí<strong>da</strong>s reúne to<strong>do</strong>s os sub-sistemas que implementam as <strong>de</strong>cisões <strong>do</strong><br />
módulo superior. Este bloco incluirá possivelmente malhas <strong>de</strong> controlo em<br />
tempo contínuo e a geração <strong>de</strong> sinais <strong>de</strong> referência e coman<strong>do</strong> sobre os<br />
actua<strong>do</strong>res.<br />
Ofuncionamento <strong>do</strong>s vários blocos <strong>do</strong> robot éclaramente paralelo esíncrono<br />
com a reali<strong>da</strong><strong>de</strong>, haven<strong>do</strong> assim diversas restrições <strong>de</strong> tempo real.<br />
Figura 2.36 Blocos <strong>de</strong> entra<strong>da</strong>s, saí<strong>da</strong>s e <strong>de</strong>cisão <strong>de</strong>ntro <strong>do</strong> robot e<br />
respectivo relacionamento com o ambiente exterior<br />
O software <strong>de</strong> <strong>de</strong>cisão <strong>de</strong>ve então basear-se em diversos outros blocos <strong>de</strong><br />
software <strong>de</strong> nível inferior para criar o comportamento <strong>de</strong> alto nível <strong>de</strong>seja<strong>do</strong><br />
para o robot [76].<br />
Diversas consi<strong>de</strong>rações são importantes relativamente àarquitectura <strong>do</strong> software<br />
<strong>de</strong> alto nível <strong>do</strong> robot para que este seja útil ea<strong>de</strong>qua<strong>do</strong> ao problema em causa<br />
[76]:<br />
36<br />
Entra<strong>da</strong>s<br />
Decisão<br />
Ambiente<br />
Saí<strong>da</strong>s<br />
Robot<br />
• Divisão <strong>de</strong> tarefas/modulari<strong>da</strong><strong>de</strong>/suporte para paralelismo;<br />
• A<strong>de</strong>quação tecnológica àplataforma real (ao nível <strong>do</strong>s sensores, sensores<br />
configuráveis, actua<strong>do</strong>res, plataformas computacionais, comunicações,<br />
etc.);<br />
• A<strong>de</strong>quação ao meio envolvente e às funcionali<strong>da</strong><strong>de</strong> pretendi<strong>da</strong>s;
• Robustez <strong>do</strong> software (mesmo em situação <strong>de</strong> avaria parcial);<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Quali<strong>da</strong><strong>de</strong> e tipo <strong>de</strong> ferramentas existentes para a implementação;<br />
• Capaci<strong>da</strong><strong>de</strong>s <strong>de</strong> configuração durante a execução;<br />
• Avaliação <strong>do</strong> <strong>de</strong>sempenho – as metas temporais relativas ao<br />
comportamento em Tempo Real são atingíveis ?Os <strong>da</strong><strong>do</strong>s para atoma<strong>da</strong><br />
eficaz <strong>de</strong> <strong>de</strong>cisões estão disponíveis ?Aestrutura permite flexibili<strong>da</strong><strong>de</strong> para<br />
to<strong>da</strong>s as tarefas a realizar serem “bem realiza<strong>da</strong>s” 10 ?<br />
As consi<strong>de</strong>rações mais importantes que osoftware <strong>de</strong> <strong>de</strong>cisão necessita <strong>de</strong> ter em<br />
conta são [76]:<br />
• Como guar<strong>da</strong>r informação acerca <strong>do</strong> seu próprio esta<strong>do</strong>;<br />
• Como guar<strong>da</strong>r informação acerca <strong>do</strong> ambiente exterior;<br />
• Como tomar <strong>de</strong>cisões.<br />
As abor<strong>da</strong>gens mais frequentes à <strong>de</strong>cisão em sistemas robóticos são [76]:<br />
• Puramente reactiva –sem planeamento aprazo, para ca<strong>da</strong> condição há<br />
uma reacção programa<strong>da</strong>, sem esta<strong>do</strong> interno <strong>do</strong> sistema;<br />
• Hierárquico – controlo e planeamento utilizan<strong>do</strong> diferentes níveis <strong>de</strong><br />
abstracção; ainformação <strong>do</strong> mun<strong>do</strong> éutiliza<strong>da</strong> para gerar sequências <strong>de</strong><br />
coman<strong>do</strong>s a cumprir;<br />
• Controlo híbri<strong>do</strong> – combina as duas abor<strong>da</strong>gens anteriores num sistema<br />
hierárquico on<strong>de</strong> o nível inferior é reactivo e o nível superior produz<br />
sequências <strong>de</strong> acções;<br />
• Comportamental – incluem partes reactivas mas utilizam representações<br />
complexas <strong>do</strong> mun<strong>do</strong>; utiliza-se por vezes coor<strong>de</strong>nação, competição e<br />
concorrência para <strong>de</strong>cidir a lista <strong>de</strong> acções a tomar.<br />
Em termos <strong>de</strong> implementação, uma questão relevante é como incluir na<br />
arquitectura <strong>do</strong> robot aexistência <strong>de</strong> várias tarefas para diversos subsistemas <strong>do</strong><br />
robot pois po<strong>de</strong> existir a necessi<strong>da</strong><strong>de</strong> <strong>de</strong> gerir a coor<strong>de</strong>nação/conflito entre<br />
diversos subsistemas. Como exemplo, consi<strong>de</strong>re-se um robot autónomo <strong>de</strong><br />
transporte on<strong>de</strong> um braço <strong>do</strong> robot <strong>de</strong>ve <strong>de</strong>positar um objecto numa caixa vazia.<br />
Este sistema hipotético utilizaria uma câmara que <strong>de</strong>ve ser orienta<strong>da</strong> para olocal<br />
a<strong>de</strong>positar oobjecto. Se este local não estiver vazio, orobot eacâmara <strong>de</strong>vem<br />
receber or<strong>de</strong>ns <strong>de</strong> alto nível para orobot se <strong>de</strong>slocar evisualizar acaixa seguinte<br />
até aparecer um local vazio. Avisão <strong>de</strong>ve <strong>de</strong>pois fornecer <strong>da</strong><strong>do</strong>s relativamente à<br />
manobra <strong>de</strong> <strong>de</strong>scarga <strong>do</strong> objecto que o braço <strong>do</strong> robot vai realizar.<br />
Osuporte para acções em caso <strong>de</strong> falha <strong>de</strong> um elemento <strong>do</strong> robot <strong>de</strong>ve também<br />
ser previsto anível <strong>de</strong> arquitectura <strong>de</strong> software. Po<strong>de</strong>rá ser importante que o<br />
10Segun<strong>do</strong> [76] “Bem realiza<strong>da</strong>s” po<strong>de</strong> ter métricas tal como o tempo que ca<strong>da</strong> tarefa <strong>de</strong>mora<br />
a ser completa<strong>da</strong>, consumo <strong>de</strong> energia, nível <strong>de</strong> cooperação atingi<strong>da</strong>, etc.<br />
37
Projecto <strong>de</strong> Sistemas Robóticos<br />
próprio robot tome medi<strong>da</strong>s para limitar os <strong>da</strong>nos epo<strong>de</strong> ser interessante ele<br />
conseguir algum tipo <strong>de</strong> auto diagnóstico <strong>da</strong> sua falha.<br />
Anível <strong>de</strong> implementação, gran<strong>de</strong> parte <strong>do</strong>s robots utiliza PCs embarca<strong>do</strong>s no<br />
robot para implementação <strong>da</strong>s cama<strong>da</strong>s superiores <strong>de</strong> <strong>de</strong>cisão em sistemas<br />
robóticos [17], [72], [15], [58]. São amplamente utiliza<strong>do</strong>s os Sistemas<br />
Operativos genéricos Win<strong>do</strong>ws e Linux. Menor número <strong>de</strong> aplicações utiliza<br />
sistemas operativos mais a<strong>de</strong>qua<strong>do</strong>s a<strong>de</strong>sempenho em Tempo Real tal como<br />
Torna<strong>do</strong>, QNX, LinxOS, VxWorks, Aperios eain<strong>da</strong> diversas variantes Tempo<br />
Real <strong>do</strong> Linux.<br />
Projectos que necessitem <strong>de</strong> segurança adicional po<strong>de</strong>m ain<strong>da</strong> utilizar autómatos<br />
programáveis para tarefas críticas [5], à custa <strong>de</strong> um preço acresci<strong>do</strong>.<br />
2.10.1 Cooperação entre Sistemas Robóticos<br />
A cooperação entre diversos sistemas robóticos é uma tarefa complexa. A figura<br />
Figura 2.37 Robots cooperan<strong>do</strong> (Collective Robot [77])<br />
Os aspectos positivos <strong>da</strong> utilização <strong>de</strong> sistemas <strong>de</strong> vários robots in<strong>de</strong>pen<strong>de</strong>ntes<br />
mas cooperantes são [76]:<br />
• Quan<strong>do</strong> épossível <strong>de</strong>compor em sub-tarefas, oparalelismo évantajoso e<br />
melhora o <strong>de</strong>sempenho global <strong>do</strong> sistema;<br />
• Algumas tarefas só são possíveis em conjunto (ex: 2robots atransportarem<br />
um viga compri<strong>da</strong>);<br />
• Sensorização e acção distribuí<strong>da</strong>;<br />
• Tolerância a falhas individuais por substituição <strong>do</strong> elemento em falha.<br />
As <strong>de</strong>svantagens <strong>de</strong> utilizar uma equipa <strong>de</strong> robots são:<br />
38<br />
• Interferências, colisões;
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Custo <strong>de</strong> comunicação erobustez –afalha <strong>de</strong> comunicações leva aque a<br />
equipa não coopere e interfira com prejuízo para o conjunto;<br />
• Acréscimo <strong>de</strong> complexi<strong>da</strong><strong>de</strong> para li<strong>da</strong>r com a incerteza <strong>da</strong> intenção <strong>de</strong><br />
outro robot <strong>de</strong>vi<strong>do</strong> a falta <strong>de</strong> conhecimento ou falha <strong>de</strong> comunicação,<br />
• Custo <strong>do</strong> sistema: <strong>do</strong>is robots po<strong>de</strong>rão custar mais que um só. Se for<br />
possível utilizar vários robots mais simples para <strong>de</strong>senvolver atarefa então<br />
ocusto global po<strong>de</strong> ser menor, caso contrário maneira ocusto será uma<br />
<strong>de</strong>svantagem.<br />
Para exemplos <strong>de</strong> arquitecturas <strong>de</strong> controlo, consulte-se ain<strong>da</strong> asecção 7.2, pág.<br />
104 e a secção 7.4.11, pág. 116.<br />
2.10.2 Tentativa <strong>de</strong> Indiferença ao Hardware<br />
O software <strong>de</strong> alto nível em robótica <strong>de</strong>ve caminhar em direcção à<br />
in<strong>de</strong>pendência ao hardware. Oencapsulamento <strong>de</strong> tarefas <strong>de</strong>ve ser efectua<strong>do</strong> <strong>de</strong><br />
tal mo<strong>do</strong> que esta afirmação seja leva<strong>da</strong> em consi<strong>de</strong>ração. Da<strong>do</strong> oeleva<strong>do</strong> ritmo<br />
<strong>do</strong> progresso tecnológico na área <strong>do</strong>s sistemas robóticos, é, em geral, interessante<br />
criar algum tipo abstracção ao hardware, crian<strong>do</strong> assim uma cama<strong>da</strong> <strong>de</strong><br />
abstracção ao hardware – Hardware Abstraction Layer (HAL). Desta forma, a troca<br />
<strong>de</strong> hardware por outro equivalente po<strong>de</strong> ser consegui<strong>da</strong> sem gran<strong>de</strong> esforço.<br />
Da<strong>do</strong> oeleva<strong>do</strong> nível <strong>de</strong> inter<strong>de</strong>pendência <strong>da</strong>s tecnologias envolvi<strong>da</strong>s na robótica<br />
tal po<strong>de</strong> não ser consegui<strong>do</strong> na totali<strong>da</strong><strong>de</strong> mas oconceito, mesmo toma<strong>do</strong> <strong>de</strong><br />
forma parcial, é ain<strong>da</strong> interessante.<br />
Uma solução possível émodularizar osoftware em duas gran<strong>de</strong>s partes. Uma<br />
parte inclui a sensorização e a actuação, enquanto que a outra parte compreen<strong>de</strong><br />
a<strong>de</strong>cisão [16],[17]. Oexemplo discuti<strong>do</strong> na secção 7.3, pág. 106, apresenta<br />
mesmo as duas aplicações a funcionar em sistemas operativos diferentes,<br />
comunican<strong>do</strong> por re<strong>de</strong>. Atroca <strong>de</strong> <strong>da</strong><strong>do</strong>s entre as partes <strong>de</strong>ve utilizar sempre<br />
interfaces elinguagens bem <strong>de</strong>fini<strong>da</strong>s. Sempre que possível, atroca <strong>de</strong> <strong>da</strong><strong>do</strong>s<br />
<strong>de</strong>ve ser consegui<strong>da</strong> <strong>de</strong> forma in<strong>de</strong>pen<strong>de</strong>nte <strong>da</strong> implementação. Preten<strong>de</strong>-se<br />
assim limitar as <strong>de</strong>pendências <strong>do</strong> hardware ao módulo <strong>da</strong> sensorização e<br />
actuação. Amodularização proposta apresenta as vantagens adicionais <strong>de</strong> passar<br />
aexistir um ponto importante <strong>de</strong> <strong>de</strong>bugging e <strong>de</strong> permitir que as meta<strong>de</strong>s <strong>do</strong><br />
sistema sejam simula<strong>do</strong>s separa<strong>da</strong>mente (simulação com hardware no loop, tal<br />
como advoga<strong>do</strong> na secção 2.4, pág. 9).<br />
2.10.3 Fusão <strong>de</strong> Informação<br />
Uma possível <strong>de</strong>finição para Fusão <strong>de</strong> Informação” [78] é:<br />
«Fusão <strong>de</strong> Informação é um quadro formal <strong>de</strong> trabalho<br />
on<strong>de</strong> se emprega meios e ferramentas para a junção <strong>de</strong><br />
<strong>da</strong><strong>do</strong>s <strong>de</strong> origens diversas com o objectivo <strong>de</strong> obter<br />
39
Projecto <strong>de</strong> Sistemas Robóticos<br />
informação <strong>de</strong> quali<strong>da</strong><strong>de</strong> superior. A <strong>de</strong>finição exacta <strong>de</strong><br />
quali<strong>da</strong><strong>de</strong> superior <strong>de</strong>pen<strong>de</strong> <strong>da</strong> aplicação em causa».<br />
A fusão <strong>de</strong> informação po<strong>de</strong> ser classifica<strong>da</strong> em 3 casos [55], [79]:<br />
• Sensores Complementares – sem conflito;<br />
• Sensores Competitivos – com o objectivo <strong>de</strong> obter redundância;<br />
• Sensores Cooperativos –cooperam para gerar informação, por ex: visão<br />
stereo.<br />
A fusão <strong>de</strong> informação éum processo segun<strong>do</strong> o qual a utilização <strong>de</strong> vários<br />
sensores permite obter eleva<strong>do</strong>s níveis <strong>de</strong> quali<strong>da</strong><strong>de</strong> <strong>da</strong> informação. Po<strong>de</strong>m ser<br />
utiliza<strong>do</strong>s vários sensores COTS menos caros eobter redundância adicional na<br />
informação. Po<strong>de</strong> também ser essencial recolher <strong>da</strong><strong>do</strong>s espalha<strong>do</strong>s no espaço. A<br />
existência <strong>de</strong> múltiplos sensores é a única maneira <strong>de</strong> assegurar <strong>de</strong>cisões<br />
correctas na presença <strong>de</strong> <strong>da</strong><strong>do</strong>s erra<strong>do</strong>s, <strong>de</strong>s<strong>de</strong> que existam <strong>da</strong><strong>do</strong>s em quanti<strong>da</strong><strong>de</strong><br />
suficiente. A nível <strong>de</strong> exemplo <strong>de</strong>ve ser referi<strong>do</strong> que no caso <strong>de</strong> ter 3 relógios para<br />
saber as horas, uma média não é uma boa medi<strong>da</strong> <strong>de</strong> fazer a fusão <strong>de</strong><br />
informação. Para uma melhor fusão <strong>de</strong> informação éessencial acaracterização<br />
<strong>de</strong> ca<strong>da</strong> uma <strong>da</strong>s medi<strong>da</strong>s eem particular aincerteza relativamente aca<strong>da</strong> uma<br />
<strong>de</strong>las.<br />
A caracterização <strong>de</strong> ca<strong>da</strong> um <strong>do</strong>s sensores é então essencial:<br />
• Precisão, Exactidão e Sensibili<strong>da</strong><strong>de</strong>;<br />
• Resposta dinâmica;<br />
• Caracterização <strong>da</strong> eventuali<strong>da</strong><strong>de</strong> <strong>de</strong> leituras erra<strong>da</strong>s;<br />
• Caracterização <strong>do</strong> comportamento sob avarias.<br />
A fusão <strong>de</strong> informação é utiliza<strong>da</strong> em muitas áreas entre as quais [55]:<br />
• Aeronáutica (controlo tráfego aéreo, IFF 11 , ILS 12 );<br />
• Tecnologias <strong>de</strong> fabrico industrial (ex: robótica e veículos móveis);<br />
• Sensorização remota (ex: sensorização climatérica);<br />
• Controlo <strong>de</strong> tráfego (automóvel, marítimo, etc.);<br />
• Navegação autónoma/semi-autónoma;<br />
• Aplicações médicas e ambientais;<br />
• Aplicações militares (vigilância, <strong>de</strong>fesa, etc.).<br />
As mais comuns ferramentas para a fusão <strong>de</strong> informação são [55], [79]:<br />
• Limites explícitos <strong>de</strong> confiança e <strong>de</strong>composição em Árvore <strong>de</strong> regiões;<br />
11 I<strong>de</strong>ntify Friend our Foe – sistema militar automático <strong>de</strong> combate que <strong>de</strong>tecta se outra aeronave<br />
é hostil ou alia<strong>da</strong><br />
12 Instrument Landing System – Aterragem (assisti<strong>da</strong>) por instrumentos<br />
40
• Probabili<strong>da</strong><strong>de</strong>s e Dempster – Shafer (Méto<strong>do</strong>s Bayesianos);<br />
• Méto<strong>do</strong>s Estatísticos/Estocásticos – Filtros <strong>de</strong> Kalman;<br />
• Lógica Difusa 13 - Fuzzy Logic;<br />
Projecto <strong>de</strong> Sistemas Robóticos<br />
• Méto<strong>do</strong>s heurísticos e outros méto<strong>do</strong>s no âmbito <strong>da</strong> Inteligência Artificial.<br />
Este trabalho utiliza atécnica <strong>do</strong>s Filtros <strong>de</strong> Kalman (KF -Kalman Filter) para a<br />
fusão <strong>de</strong> informação. Esta éuma ferramenta com sóli<strong>do</strong>s fun<strong>da</strong>mentos teóricos<br />
na teoria <strong>da</strong>s probabili<strong>da</strong><strong>de</strong>s e nos méto<strong>do</strong>s estocásticos. Tais fun<strong>da</strong>ções<br />
permitem a mo<strong>de</strong>lização <strong>de</strong> conhecimento parcial <strong>do</strong> sistema sem per<strong>de</strong>r a<br />
soli<strong>de</strong>z <strong>do</strong> tratamento matemático (ver capítulo 5.4, pág. 84). OKF utiliza a<br />
noção matemática <strong>da</strong> covariância para representar aquali<strong>da</strong><strong>de</strong> <strong>da</strong> representação<br />
<strong>do</strong> esta<strong>do</strong> <strong>do</strong> sistema.<br />
Existe uma variante <strong>do</strong>s KF <strong>de</strong>signa<strong>da</strong> <strong>de</strong> filtro <strong>de</strong> informação. Este filtro utiliza<br />
os mesmos princípios <strong>do</strong> KF numa versão numericamente mais a<strong>de</strong>qua<strong>da</strong> a fusão<br />
distribuí<strong>da</strong> <strong>de</strong> <strong>da</strong><strong>do</strong>s, também interessante quan<strong>do</strong> oesta<strong>do</strong> inicial <strong>do</strong> sistema é<br />
totalmente <strong>de</strong>sconheci<strong>do</strong>. Este filtro utiliza internamente os inversos <strong>da</strong>s<br />
covariâncias, oque traz benefícios para representação <strong>de</strong> covariâncias infinitas<br />
durante o tratamento <strong>de</strong> ausência <strong>de</strong> informação [80].<br />
Até ao momento fez-se oestu<strong>do</strong> <strong>da</strong> parte física <strong>do</strong> robot eaestrutura <strong>de</strong> toma<strong>da</strong><br />
<strong>de</strong> <strong>de</strong>cisões. Mencionou-se também que énecessário fazer comunicar as duas<br />
partes ereferiu-se como. De segui<strong>da</strong> étrata<strong>do</strong> oproblema <strong>da</strong> interface com o<br />
mun<strong>do</strong> exterior.<br />
2.11 Interface e Comunicações com o Exterior<br />
O interesse <strong>de</strong> ter uma comunicação permanente com o robot é manter a<br />
supervisão sobre a plataforma autónoma. Coman<strong>do</strong>s po<strong>de</strong>m ser envia<strong>do</strong>s e<br />
recebi<strong>do</strong>s <strong>de</strong> epara orobot, por exemplo, orobot po<strong>de</strong> enviar informações para<br />
coor<strong>de</strong>nação com outros meios ou po<strong>de</strong> relatar eventos importantes.<br />
Os recentes avanços nas tecnologias <strong>da</strong>s re<strong>de</strong>s sem fios permitem manter <strong>de</strong><br />
forma económica comunicações com plataformas móveis.<br />
Os stan<strong>da</strong>rds mais utiliza<strong>do</strong>s para comunicações no âmbito <strong>da</strong> RF (Rádio-<br />
Frequência) com plataformas autónomas são:<br />
• 802.11b – 11 Mb/s @ 2.4 GHz 14 ;<br />
• 802.11g – 54 Mb/s @ 2.4 GHz;<br />
13Por vezes também <strong>de</strong>signa<strong>do</strong> por lógica imprecisa<br />
14Ban<strong>da</strong> <strong>do</strong>s 2.4-GHz é apeli<strong>da</strong><strong>da</strong> <strong>de</strong> ISM - Industrial, Scientific and Medical<br />
41
Projecto <strong>de</strong> Sistemas Robóticos<br />
• 802.11a – 11 Mb/s @ 4.9 GHz ~ 5 GHz 15 ;<br />
• Bluetooth – 723kb/s @ 2.4 GHz;<br />
• Protocolos proprietários nos 151-173MHz, 418MHz, 433MHz, 868-<br />
870MHz e 902-920MHz 16 .<br />
Outra técnica <strong>de</strong> comunicação sem fios éautilização <strong>de</strong> IR [71] nomea<strong>da</strong>mente<br />
respeitan<strong>do</strong> a norma IRDA – Infra Red Data Association. Este tipo <strong>de</strong><br />
comunicações é<strong>de</strong> baixo custo mas sofre <strong>de</strong> interferências graves em contacto<br />
com barreiras físicas e tem por essa razão <strong>do</strong>mínios <strong>de</strong> aplicação próprios.<br />
Étambém possível <strong>de</strong>scarregar parte <strong>do</strong> processamento para um computa<strong>do</strong>r<br />
não embarca<strong>do</strong> 17 .Neste computa<strong>do</strong>r não embebi<strong>do</strong>, to<strong>do</strong> opo<strong>de</strong>r <strong>de</strong> cálculo <strong>do</strong>s<br />
mais recentes processa<strong>do</strong>res estará disponível 18 uma vez que não existem<br />
limitações <strong>de</strong> consumo eléctrico. Este ganho no po<strong>de</strong>r computacional aparece à<br />
custa <strong>de</strong> um peso superior nas comunicações eatrasos na chega<strong>da</strong> <strong>do</strong>s <strong>da</strong><strong>do</strong>s<br />
com acresci<strong>do</strong>s problemas para cumprir metas temporais no âmbito <strong>do</strong><br />
<strong>de</strong>sempenho em Tempo Real. Se orobot estiver permanentemente <strong>de</strong>pen<strong>de</strong>nte<br />
<strong>de</strong> comunicações, interferências neste sistema levam a que o robot fique<br />
temporariamente inoperacional.<br />
As comunicações são essenciais tanto para ofuncionamento <strong>do</strong> sistema como o<br />
seu <strong>de</strong>senvolvimento. O <strong>de</strong>senvolvimento <strong>do</strong> sistema é discuti<strong>do</strong> <strong>de</strong> segui<strong>da</strong>.<br />
2.12 Ferramentas <strong>de</strong> Aju<strong>da</strong> ao Desenvolvimento<br />
A utilização <strong>de</strong> um cabo <strong>de</strong> comunicações especial para aju<strong>da</strong> ao<br />
<strong>de</strong>senvolvimento era muito frequente no passa<strong>do</strong>. Este cabo <strong>de</strong> comunicações<br />
<strong>de</strong>nomina<strong>do</strong> <strong>de</strong> “cordão umbilical” permite <strong>de</strong>scarregar uma gran<strong>de</strong> quanti<strong>da</strong><strong>de</strong><br />
<strong>de</strong> informação para fora <strong>do</strong> robot para melhorar o <strong>de</strong>senvolvimento. Nesta<br />
situação, os <strong>da</strong><strong>do</strong>s seriam recolhi<strong>do</strong>s earmazena<strong>do</strong>s ao longo <strong>da</strong> missão e<strong>de</strong>pois<br />
<strong>de</strong>scarrega<strong>do</strong>s através <strong>do</strong> dito cordão umbilical. Com oaumento <strong>da</strong> largura <strong>de</strong><br />
ban<strong>da</strong> disponível nos mo<strong>de</strong>rnos sistemas <strong>de</strong> comunicações sem fios, esta noção<br />
<strong>de</strong>ixou <strong>de</strong> ser utiliza<strong>da</strong> tão frequentemente.<br />
Um simula<strong>do</strong>r para osistema éuma ferramenta muito importante para po<strong>de</strong>r<br />
15 Esta ban<strong>da</strong> é apeli<strong>da</strong><strong>da</strong> <strong>de</strong> UNII - Unlicensed National Information Infrastructure; No Japão a<br />
frequência é <strong>de</strong> 4.9 GHz<br />
16 A legislação varia <strong>de</strong> país para país e varia assim o espectro legal – possivelmente estas<br />
frequências não serão utilizáveis to<strong>da</strong>s em simultâneo em país algum <strong>do</strong> mun<strong>do</strong><br />
17 Os robots <strong>da</strong> equipa 5dpo-2000 a<strong>do</strong>ptaram esta filosofia nos anos <strong>de</strong> 2000 a 2002<br />
18 Um processa<strong>do</strong>r Intel Pentium 4 a cerca <strong>de</strong> 3 GHz consome uma potência superior a 80W,<br />
o que po<strong>de</strong> ser difícil <strong>de</strong> sustentar em sistemas móveis alimenta<strong>do</strong>s por acumula<strong>do</strong>res<br />
eléctricos<br />
42
Projecto <strong>de</strong> Sistemas Robóticos<br />
testar a programação <strong>de</strong> alto nível antes <strong>de</strong> embarcar o software atestar. É<br />
também importante uma maneira <strong>de</strong> registar <strong>da</strong><strong>do</strong>s importantes para osistema<br />
que está aser <strong>de</strong>senvolvi<strong>do</strong> ei<strong>de</strong>almente oficheiro <strong>de</strong> registos (log-<strong>file</strong>) <strong>de</strong>veria<br />
po<strong>de</strong>r ser executa<strong>do</strong> <strong>de</strong> novo até que o ciclo <strong>de</strong> <strong>de</strong>senvolvimento esteja<br />
concluí<strong>do</strong>.<br />
Para além <strong>da</strong>s ferramentas <strong>de</strong> aju<strong>da</strong> ao projecto <strong>do</strong> sistema, será interessante<br />
prever ferramentas <strong>de</strong> auxílio ao <strong>de</strong>bugging já a níveis funcionais e adiversos<br />
níveis <strong>de</strong> abstracção. Os simula<strong>do</strong>res <strong>de</strong> conjunto <strong>do</strong> sistema são aju<strong>da</strong>s preciosas<br />
ao <strong>de</strong>senvolvimento. Também os sistemas <strong>de</strong> armazenamento <strong>do</strong>s históricos são<br />
importantes para consulta <strong>do</strong>s <strong>de</strong>talhes <strong>do</strong>s motivos que levaram tal movimento<br />
aacontecer. Apossibili<strong>da</strong><strong>de</strong> <strong>de</strong> consulta remota <strong>de</strong>ste tipo <strong>de</strong> <strong>da</strong><strong>do</strong>s éútil mas<br />
muitas vezes impraticável por motivos tecnológicos <strong>da</strong> quanti<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>da</strong><strong>do</strong>s a<br />
transferir através <strong>de</strong> comunicações sem fios. Esses <strong>da</strong><strong>do</strong>s po<strong>de</strong>m ser transferi<strong>do</strong>s<br />
facilmente pelo “cordão umbilical”.<br />
2.13 Conclusões<br />
Apresentou-se neste capítulo os principais elementos <strong>do</strong> projecto <strong>de</strong> um sistema<br />
robótico. Este tipo <strong>de</strong> projecto écomplexo eenvolve diversas áreas científicotecnológicas<br />
que incluem a mecânica, a electrotecnia e a informática.<br />
Afilosofia <strong>de</strong> projecto <strong>da</strong> Mecatrónica foi admiti<strong>da</strong> como a<strong>de</strong>qua<strong>da</strong> ao projecto<br />
<strong>de</strong> sistemas robóticos pois o seu ciclo <strong>de</strong> <strong>de</strong>senvolvimento é apropria<strong>do</strong> ao<br />
projecto <strong>de</strong> produtos complexos.<br />
A nível mecânico, mostraram-se diversos tipos <strong>de</strong> robots, diversos tipos <strong>de</strong><br />
locomoção <strong>de</strong> robots eforam forneci<strong>da</strong>s indicações para um projecto mecânico<br />
saudável.<br />
Os principais elementos eléctricos, electrónicos e informáticos foram ain<strong>da</strong><br />
referi<strong>do</strong>s. Aescolha <strong>de</strong> soluções foi discuti<strong>da</strong> para to<strong>do</strong>s os elementos chave <strong>do</strong><br />
projecto.<br />
Os sistemas <strong>de</strong> fusão <strong>de</strong> informação foram ain<strong>da</strong> referi<strong>do</strong>s como sen<strong>do</strong> capazes<br />
<strong>de</strong> melhorar a quali<strong>da</strong><strong>de</strong> <strong>da</strong> informação que o sistema possui.<br />
43
Capítulo 3<br />
Sistemas <strong>de</strong> Localização<br />
3.1 Enquadramento e Definições<br />
A mobili<strong>da</strong><strong>de</strong> é necessária para elevar o nível <strong>de</strong> autonomia <strong>de</strong> um sistema<br />
robótico. Dan<strong>do</strong> liber<strong>da</strong><strong>de</strong> <strong>de</strong> movimento ao robot, será então necessário<br />
localiza-lo, isto é, conhecer asua posição no mun<strong>do</strong>. Po<strong>de</strong> assim dizer-se que<br />
localizar orobot significa conhecer to<strong>da</strong>s as posições eângulos relevantes ao<br />
sistema <strong>de</strong> eixos <strong>do</strong> mun<strong>do</strong>. Exactamente quais os parâmetros a <strong>de</strong>terminar<br />
<strong>de</strong>pen<strong>de</strong> <strong>da</strong> aplicação em causa.<br />
Consi<strong>de</strong>ran<strong>do</strong> ocaso típico <strong>de</strong> um robot móvel que se <strong>de</strong>sloca num ambiente<br />
bidimensional então localizar orobot significa conhecer asua posição cartesiana<br />
e orientação 19<br />
[ x y ] T em coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong>. Noutras aplicações<br />
localizar o robot po<strong>de</strong> ter outros significa<strong>do</strong>s. Por exemplo localizar um<br />
submarino autónomo po<strong>de</strong> significar encontrar aposição 3D econhecer os 3<br />
respectivos ângulos a ca<strong>da</strong> eixo <strong>do</strong> mun<strong>do</strong> (chama<strong>do</strong>s ângulos <strong>de</strong> Euler).<br />
Encontrar sistemas <strong>de</strong> localização baratos e eficientes <strong>de</strong>pen<strong>de</strong> <strong>do</strong>s sensores<br />
disponíveis no robot, <strong>do</strong> po<strong>de</strong>r <strong>de</strong> cálculo disponível e<strong>do</strong> nível <strong>de</strong> estrutura <strong>do</strong><br />
ambiente on<strong>de</strong> o robot ser <strong>de</strong>slocará. O funcionamento “<strong>de</strong>ntro <strong>de</strong> portas”<br />
19 Orientação e atitu<strong>de</strong> são sinónimos e dizem respeito ao ângulo <strong>de</strong> alguma parte <strong>do</strong> robot<br />
face ao exterior, tipicamente a sua direcção <strong>de</strong> movimento privilegia<strong>da</strong>, se existir alguma.<br />
44
Sistemas <strong>de</strong> Localização<br />
(in<strong>do</strong>or) ou “ao ar livre” (out<strong>do</strong>or) é<strong>de</strong>terminante para oconjunto <strong>de</strong> tecnologias<br />
disponíveis para alocalização. To<strong>do</strong>s estes factores contribuem para que esta<br />
seja uma área altamente tecnológica on<strong>de</strong> as evoluções surgem a eleva<strong>do</strong> ritmo.<br />
Sen<strong>do</strong> ver<strong>da</strong><strong>de</strong> que a localização <strong>de</strong>pen<strong>de</strong> <strong>de</strong> sensores é interessante referir<br />
algumas técnicas genéricas e mencionar os sensores e respectivos princípios<br />
físicos utiliza<strong>do</strong>s. Algumas questões aqui abor<strong>da</strong><strong>da</strong>s relativamente a diversos<br />
sensores são complementares às consi<strong>de</strong>rações generalistas referi<strong>da</strong>s na secção<br />
2.8.2, pág. 29.<br />
Aabor<strong>da</strong>gem que os seres humanos utilizam para alocalização éa<strong>da</strong> visão:<br />
reconhecem pontos <strong>de</strong> referência (marca<strong>do</strong>res visuais) emovem-se em função <strong>do</strong><br />
conhecimento <strong>da</strong> sua posição no mun<strong>do</strong>. Outros seres vivos utilizam sensores<br />
magnéticos ou Ultra-Sons para se moverem nos seus habitats naturais.<br />
Amedi<strong>da</strong> remota aeleva<strong>da</strong> distância <strong>de</strong>bate-se com ocomplexo problema <strong>da</strong><br />
eleva<strong>da</strong> quanti<strong>da</strong><strong>de</strong> <strong>de</strong> energia aemitir ser segura para to<strong>do</strong>s os elementos <strong>do</strong><br />
ambiente em torno <strong>do</strong> robot e em particular segura para o ser humano. A<br />
utilização <strong>de</strong> sistemas laser esistemas Rádio Frequência (RF) vem assim limita<strong>da</strong><br />
por questões <strong>de</strong> segurança pois muitas vezes oprincípio físico que permitiria<br />
fazer uma medi<strong>da</strong> fácil envolve quanti<strong>da</strong><strong>de</strong>s <strong>de</strong> energia não seguras.<br />
Quan<strong>do</strong> os sistemas <strong>de</strong>ntro <strong>do</strong> robot permitem asua auto-localização, ele fica a<br />
saber directamente asua localização no mun<strong>do</strong>. Por vezes éoambiente que fica<br />
asaber aposição <strong>do</strong> robot móvel alocalizar e<strong>de</strong>pois transmite essa informação,<br />
por exemplo através <strong>de</strong> comunicações sem fios. Neste caso está-se perante um<br />
sistema <strong>de</strong> localização externo.<br />
3.2 Abor<strong>da</strong>gens à Localização<br />
3.2.1 Medi<strong>da</strong>s Relativas<br />
Os robots utilizam frequentemente sensores proprioceptivos 20 para fazer medi<strong>da</strong><br />
internas. Estas medi<strong>da</strong>s são relativas ao esta<strong>do</strong> anterior <strong>do</strong> sistema eassim a<br />
integração <strong>de</strong>ste tipo <strong>de</strong> medi<strong>da</strong>s acumula sempre um erro pequeno que cresce<br />
ao longo <strong>do</strong> tempo, inviabilizan<strong>do</strong> autilização prolonga<strong>da</strong> <strong>de</strong>sta técnica. Mesmo<br />
que oerro acumula<strong>do</strong> seja pequeno, haverá sempre perturbações externas que<br />
inviabilizam autilização prolonga<strong>da</strong>. Éassim necessário recorrer asensores que<br />
fazem medi<strong>da</strong>s externas, isto é, relativas ao ambiente assim localizam orobot no<br />
mun<strong>do</strong>.<br />
Um exemplo concreto <strong>de</strong> uma medi<strong>da</strong> relativa frequentemente disponível éa<br />
utilização <strong>de</strong> codifica<strong>do</strong>res liga<strong>do</strong>s ao veio <strong>do</strong> motor. Oobjectivo é<strong>de</strong>terminar<br />
20Ver secção 2.8.2, pág. 29<br />
45
Sistemas <strong>de</strong> Localização<br />
<strong>de</strong>slocamentos <strong>do</strong> robot mas enfrenta-se o problema <strong>do</strong> escorregamento <strong>da</strong>s<br />
ro<strong>da</strong>s no pavimento. Osistema <strong>de</strong> medi<strong>da</strong> <strong>de</strong> distancias percorri<strong>da</strong>s pelo robot<br />
<strong>de</strong>nomina-se por ho<strong>do</strong>metria 21 . Um refinamento também frequente é a utilização<br />
<strong>de</strong> uma ro<strong>da</strong> livre suplementar para amedir o<strong>de</strong>slocamento no chão 22 enão no<br />
veio <strong>do</strong> motor mas esta solução apresenta um acréscimo <strong>de</strong> complexi<strong>da</strong><strong>de</strong><br />
mecânica permite ain<strong>da</strong> assim aexistência <strong>de</strong> erros <strong>de</strong>vi<strong>do</strong> ao escorregamento <strong>da</strong><br />
ro<strong>da</strong> <strong>de</strong> medi<strong>da</strong> sobre opavimento. Mesmo perante uma excelente calibração<br />
<strong>de</strong>stas medi<strong>da</strong>s, ambos os sistemas resistem mal a pavimentos irregulares e a<br />
movimentos bruscos <strong>do</strong> robot tal como os resultantes <strong>de</strong> choques.<br />
Sistemas mais complexos utilizam uni<strong>da</strong><strong>de</strong>s inerciais que incluem bússola<br />
giroscópica e acelerómetros <strong>de</strong> quali<strong>da</strong><strong>de</strong> para conseguirem manter fazer<br />
medi<strong>da</strong>s fiáveis face ao esta<strong>do</strong> anterior <strong>do</strong> sistema. Enquanto que uma bússola<br />
convencional me<strong>de</strong> o campo magnético terrestre, uma bússola giroscópica<br />
mantém uma qualquer direcção e é imune a interferências electromagnéticas<br />
[82]. Ai<strong>de</strong>ia por trás <strong>do</strong>s conjuntos inerciais éque abússola giroscópica tem<br />
eleva<strong>da</strong> precisão na presença <strong>de</strong> acelerações baixas e os acelerómetros<br />
complementam com uma eleva<strong>da</strong> precisão perante acelerações eleva<strong>da</strong>s [82].<br />
3.2.2 Medi<strong>da</strong>s Face ao Ambiente<br />
Será então necessário obter medi<strong>da</strong>s face ao ambiente <strong>de</strong> tal maneira que seja<br />
possível obter informação <strong>de</strong> localização não afecta<strong>da</strong> <strong>de</strong> erros <strong>de</strong> integração<br />
inerentes a medi<strong>da</strong>s relativas. É admissível que a medi<strong>da</strong> “absoluta” <strong>de</strong><br />
localização esteja apenas acessível <strong>de</strong> forma assíncrona pois nos instantes<br />
intermédios <strong>de</strong> tempo po<strong>de</strong>-se fazer a integração <strong>de</strong> medi<strong>da</strong>s relativas para<br />
permitir que osistema robótico continue afuncionar com uma <strong>de</strong>gra<strong>da</strong>ção <strong>de</strong><br />
características aceitável para a aplicação. É conveniente, porém, utilizar<br />
estratégias <strong>de</strong> fusão <strong>de</strong> informação para gerir os <strong>do</strong>is tipos complementares <strong>de</strong><br />
informação que chegam em instantes que po<strong>de</strong>m ser imprevisíveis.<br />
Medir face ao ambiente significa encontrar algum ponto <strong>de</strong> referência<br />
conheci<strong>do</strong>, chama<strong>do</strong> <strong>de</strong> marca<strong>do</strong>r (landmark). Os marca<strong>do</strong>res po<strong>de</strong>m ser<br />
“naturais”, já existin<strong>do</strong> no ambiente ou “artificiais” no senti<strong>do</strong> em que foram<br />
coloca<strong>do</strong>s no ambiente para opropósito <strong>da</strong> localização <strong>do</strong> robot. Onível <strong>de</strong><br />
estrutura <strong>do</strong> ambiente, isto é, se oambiente tem marca<strong>do</strong>res ou não easua<br />
dinâmica, isto é, se oambiente mu<strong>da</strong> ou não ao longo <strong>do</strong> tempo, são questões<br />
relevantes pois orobot tem reconhecer um marca<strong>do</strong>r <strong>do</strong> mun<strong>do</strong> e<strong>de</strong>ve localizarse<br />
relativamente àposição no mun<strong>do</strong> <strong>de</strong>sse marca<strong>do</strong>r que se presume conheci<strong>da</strong><br />
com exactidão. Um erro na posição <strong>de</strong>sse marca<strong>do</strong>r não éporém relativa enão<br />
tem efeitos acumulativos para outras localizações <strong>de</strong>s<strong>de</strong> que to<strong>da</strong>s as medi<strong>da</strong>s<br />
sejam efectivamente feitas em coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong>. Uma outra questão<br />
importante éai<strong>de</strong>ntificação <strong>de</strong> qual omarca<strong>do</strong>r avista<strong>do</strong>: po<strong>de</strong> ser utiliza<strong>da</strong><br />
21 Ho<strong>do</strong>metria é a arte <strong>de</strong> medir as distâncias percorri<strong>da</strong>s [81]<br />
22 Esta é uma medi<strong>da</strong> relativa mas que não provém <strong>de</strong> <strong>de</strong>ntro <strong>do</strong> robot<br />
46
Sistemas <strong>de</strong> Localização<br />
informação anterior para presumir qual omarca<strong>do</strong>r avista<strong>do</strong> ou amedi<strong>da</strong> <strong>de</strong>ve<br />
conter essa informação.<br />
3.2.3 Meto<strong>do</strong>logias Frequentemente Utiliza<strong>da</strong>s<br />
Oprincípio físico <strong>da</strong> <strong>de</strong>tecção <strong>de</strong> marca<strong>do</strong>res po<strong>de</strong> variar entre técnicas ópticas,<br />
técnicas envolven<strong>do</strong> on<strong>da</strong>s mecânicas, tecnologias RF ou combinações <strong>de</strong>stas<br />
técnicas.<br />
As medi<strong>da</strong>s obti<strong>da</strong>s po<strong>de</strong>m conter maior ou menor grau <strong>de</strong> informação. Alguns<br />
sistemas i<strong>de</strong>ntificam omarca<strong>do</strong>r em causa eoutros não. Acaracterização <strong>da</strong><br />
medi<strong>da</strong> éessencial para oalgoritmo <strong>de</strong> fusão <strong>de</strong> informação que reúne os <strong>da</strong><strong>do</strong>s<br />
<strong>de</strong> to<strong>do</strong>s os sensores presentes no sistema.<br />
Diversos autores utilizam técnicas basea<strong>da</strong>s na medi<strong>da</strong> <strong>de</strong> ângulos e/ou<br />
distâncias a marca<strong>do</strong>res cuja posição no mun<strong>do</strong> é conheci<strong>da</strong>. Se se utilizam<br />
apenas ângulos, ométo<strong>do</strong> éconheci<strong>do</strong> por triangulação [83], [84], [3], [75]. Se<br />
se utiliza ângulos e distâncias, o méto<strong>do</strong> é genericamente <strong>de</strong>signa<strong>do</strong> por<br />
trilateralização [83], [84], [3], [85], [86]. Como curiosi<strong>da</strong><strong>de</strong> refira-se que a<br />
triangulação <strong>de</strong> marca<strong>do</strong>res já é utiliza<strong>da</strong> <strong>de</strong>s<strong>de</strong> o século 12, por exemplo<br />
medin<strong>do</strong> oângulo <strong>da</strong> estrela polar com ohorizonte permite calcular alatitu<strong>de</strong><br />
<strong>do</strong> sitio on<strong>de</strong> éfeita amedi<strong>da</strong> (consi<strong>de</strong>ran<strong>do</strong> aterra esférica eaestrela polar no<br />
eixo <strong>de</strong> rotação terrestre).<br />
Figura 3.1 Dois ângulos internos ao robot não localizam um robot<br />
(mostram-se 4 localizações possíveis <strong>de</strong> um número infinito <strong>de</strong><br />
soluções)<br />
Devi<strong>do</strong> ao facto <strong>de</strong> alocalização ser um problema inverso, obter duas medi<strong>da</strong>s<br />
angulares (<strong>de</strong>ntro <strong>do</strong> robot) não o localizam, tal como ilustra<strong>do</strong> na fig. 3.1.<br />
Ten<strong>do</strong> 2 conjuntos <strong>de</strong> medi<strong>da</strong>s ângulo e respectiva distância a um <strong>da</strong><strong>do</strong><br />
marca<strong>do</strong>r localizam o robot num <strong>de</strong> <strong>do</strong>is pontos (fig.3.2). Se se souber que<br />
medi<strong>da</strong> correspon<strong>de</strong> a que poste, a localização é consegui<strong>da</strong> sem ambigui<strong>da</strong><strong>de</strong>.<br />
47
Sistemas <strong>de</strong> Localização<br />
Figura 3.2 Não saben<strong>do</strong> que medi<strong>da</strong> diz respeito a que marca<strong>do</strong>r,<br />
um robot com 2 medi<strong>da</strong>s <strong>de</strong> ângulos e respectivas distâncias a<br />
marca<strong>do</strong>res fica com duas hipóteses <strong>de</strong> localização<br />
Outra possibili<strong>da</strong><strong>de</strong> éautilização <strong>de</strong> várias distâncias amarca<strong>do</strong>res conheci<strong>do</strong>s.<br />
Tal acontece por exemplo nos sistemas <strong>de</strong> localização por satélite. Para este caso<br />
genérico, localizar em N dimensões, N medi<strong>da</strong>s <strong>de</strong> distância resultam em duas<br />
soluções; N+1 medi<strong>da</strong>s resultam numa solução única. Um exemplo<br />
tridimensional está na figura 3.3. Nesta figura po<strong>de</strong>-se i<strong>de</strong>ntificar os pontos a<br />
uma distância conheci<strong>da</strong> <strong>de</strong> um marca<strong>do</strong>r estan<strong>do</strong> dispostos na calota esférica. A<br />
intersecção <strong>da</strong>s 3 calotas esferas resulta em 2 pontos assinala<strong>do</strong>s.<br />
Figura 3.3 Intercepção <strong>de</strong> 3 calotas esféricas resulta nos 2 pontos<br />
assinala<strong>do</strong>s com os marca<strong>do</strong>res <strong>de</strong> forma “bicu<strong>da</strong>”; à direita temos a<br />
versão translúci<strong>da</strong> <strong>da</strong> figura <strong>da</strong> esquer<strong>da</strong> on<strong>de</strong> as esferas pequenas<br />
representam os marca<strong>do</strong>res <strong>de</strong> localização (centros <strong>da</strong>s outras esferas)<br />
Para os casos em que é necessário “escolher” entre várias soluções qual é a<br />
interessante po<strong>de</strong> utilizar-se outras medi<strong>da</strong>s ou conhecimentos anteriores acerca<br />
<strong>da</strong> localização.<br />
A quali<strong>da</strong><strong>de</strong> <strong>da</strong> localização <strong>de</strong>pen<strong>de</strong> essencialmente <strong>da</strong> precisão <strong>da</strong>s medi<strong>da</strong>s<br />
elementares necessárias ao seu cálculo. Problemas <strong>de</strong> erros <strong>de</strong> medi<strong>da</strong> e <strong>de</strong><br />
resolução limita<strong>da</strong> nas medi<strong>da</strong>s elementares reflectir-se-ão necessariamente na<br />
quali<strong>da</strong><strong>de</strong> <strong>de</strong> estimativa <strong>da</strong> localização.<br />
48
3.3 Soluções <strong>de</strong> Localização<br />
3.3.1 Soluções Envolven<strong>do</strong> LASER<br />
Sistemas <strong>de</strong> Localização<br />
Muitos sistemas robóticos utilizam técnicas basea<strong>da</strong>s em LASER para medi<strong>da</strong> <strong>do</strong><br />
ambiente em torno <strong>do</strong> robot. Um fabricante reclama ainteressante precisão <strong>de</strong><br />
milímetro num alcance <strong>de</strong> 240 metros [87]. Muitas vezes estes sistemas<br />
aparecem associa<strong>do</strong>s em forma <strong>de</strong> scanner, isto é, sistemas que fazem medi<strong>da</strong>s<br />
numa <strong>da</strong><strong>da</strong> gama <strong>de</strong> direcções em torno <strong>do</strong> equipamento <strong>de</strong> medi<strong>da</strong>. Outro<br />
produto comercial [88] menciona aprecisão <strong>de</strong> 15 mm em 80 metros <strong>de</strong> alcance<br />
máximo ao longo <strong>de</strong> 180º numa resolução <strong>de</strong> 0.25º.<br />
Autilização <strong>de</strong> marca<strong>do</strong>res naturais tais como pare<strong>de</strong>s ejanelas ou portas parece<br />
uma i<strong>de</strong>ia interessante para conseguir alocalização. Estes elementos po<strong>de</strong>m ser<br />
caracteriza<strong>do</strong>s e i<strong>de</strong>ntifica<strong>do</strong>s através <strong>do</strong> scanner laser. Após a aquisição <strong>de</strong><br />
elementos geométricos, os <strong>da</strong><strong>do</strong>s recolhi<strong>do</strong>s <strong>de</strong>vem ser confronta<strong>do</strong>s com omapa<br />
conheci<strong>do</strong> [89], [90], [91], [92] para conseguir a localização.<br />
Otrabalho [93] apresenta também um méto<strong>do</strong> imaginativo <strong>de</strong> <strong>de</strong>tectar oângulo<br />
a um marca<strong>do</strong>r exterior. Um laser é ro<strong>da</strong><strong>do</strong> até embater num espelho<br />
cui<strong>da</strong><strong>do</strong>samente <strong>de</strong>senha<strong>do</strong> <strong>de</strong> tal maneira que areflexão inci<strong>da</strong> <strong>de</strong> novo no<br />
robot. Éutiliza<strong>da</strong> triangulação para calcular aposição actual. Refere-se como<br />
resulta<strong>do</strong>s um erro menor <strong>do</strong> que 1centímetro emenor que 0.8º em localização<br />
num espaço <strong>de</strong> 3m por 3.5m.<br />
Osistema comercial “LazerWay” para utilização industrial no guiamento AGVs –<br />
Automated Gui<strong>de</strong>d Vehicle utiliza marca<strong>do</strong>res rectro-reflectores que são<br />
triangula<strong>do</strong>s através <strong>da</strong> incidência <strong>de</strong> um feixe laser [94], [95], [96]. Este<br />
méto<strong>do</strong> parece muito robusto, a<strong>de</strong>qua<strong>do</strong> para ambiente industrial <strong>de</strong>s<strong>de</strong> que não<br />
exista excessiva poeira no ar.<br />
3.3.2 Soluções Envolven<strong>do</strong> RF<br />
O sistema <strong>de</strong>nomina<strong>do</strong> Active badge [97] emite i<strong>de</strong>ntificação Infra Vermelho<br />
to<strong>do</strong>s os 10 segun<strong>do</strong>s. Sensores coloca<strong>do</strong>s no meio ambiente <strong>de</strong>tectam a<br />
localização <strong>do</strong> “Active Badge” (por sala). A escolha <strong>de</strong> Infra Vermelhos é<br />
apropria<strong>da</strong> porque acompanha topologia <strong>do</strong> ambiente (pare<strong>de</strong>s esalas). Admitese<br />
que o objectivo <strong>de</strong>ste sistema é i<strong>de</strong>ntificar a sala on<strong>de</strong> está o active badge<br />
<strong>de</strong>seja<strong>do</strong>. Como exemplo <strong>de</strong> aplicação fala-se em transferir uma chama<strong>da</strong><br />
telefónica para a sala certa <strong>de</strong>ntro <strong>de</strong> um edifício.<br />
O sistema VOR (VHF Omni-directional Radio Ranges) [98] é utiliza<strong>do</strong> na<br />
aeronáutica. Este sistema permite triangulações utilizan<strong>do</strong> RF. É possível<br />
<strong>de</strong>terminar ângulo auma estação VOR graças ao facto <strong>de</strong> esta estação emitir<br />
com uma modulação diferente para ca<strong>da</strong> ângulo (emissão altamente direccional,<br />
ca<strong>da</strong> grau sexagesimal tem valor diferente). Como existe uma emissão <strong>de</strong><br />
49
Sistemas <strong>de</strong> Localização<br />
referência eaoutra emissão éum sinal que varia ao longo <strong>de</strong> 360º, adiferença<br />
<strong>de</strong> fase entre as duas sinusói<strong>de</strong>s recebi<strong>da</strong>s éoângulo <strong>do</strong> avião face ao VOR no<br />
mun<strong>do</strong>. Com ângulos para 2VORs eum mapa épossível obter alocalização em<br />
2 D. Tal <strong>de</strong>ve-se ao facto <strong>de</strong> a medi<strong>da</strong> <strong>do</strong> VOR ser <strong>de</strong> um ângulo em<br />
coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong> em não em coor<strong>de</strong>na<strong>da</strong>s relativas (comparar com a<br />
situação <strong>da</strong> figura 3.1). Méto<strong>do</strong>s direccionais tal como este são mais utilizáveis<br />
ao ar livre visto não existirem efeitos <strong>de</strong> reflexões múltiplas.<br />
Outro sistema comercial éo“Pinpoint 3d-id” [99]. Este sistema éapropria<strong>do</strong><br />
para seguir muitas tags em ambiente entro <strong>de</strong> portas (in<strong>do</strong>or). As Tags emitem a<br />
sua i<strong>de</strong>ntificação eainfraestrutura sabe on<strong>de</strong> as tags estão. Aestrutura emite<br />
pedi<strong>do</strong> <strong>de</strong> localização para um <strong>da</strong><strong>do</strong> dispositivo e a tag indica<strong>da</strong> respon<strong>de</strong><br />
passa<strong>do</strong> tempo fixo com oseu i<strong>de</strong>ntifica<strong>do</strong>r. Aestrutura consegue <strong>de</strong>terminar o<br />
tempo <strong>de</strong> voo subtrain<strong>do</strong> os tempos fixos conheci<strong>do</strong>s. A medi<strong>da</strong> <strong>de</strong> tempo é<br />
sempre feita na estrutura (excepto os tempos “pequenos” na tag) oque resolve a<br />
questão <strong>da</strong> sincronização <strong>de</strong> vários relógios. A emissão <strong>da</strong> infraestrutura éa<br />
2.4GHz eatag respon<strong>de</strong> a5.8 GHz. Afirma-se conseguir uma precisão entre 1e<br />
3 metros.<br />
Outro sistema chama-se “Spot-on” [100]. Este sistema baseia-se na intensi<strong>da</strong><strong>de</strong><br />
<strong>do</strong> sinal RF recebi<strong>do</strong> e utiliza tags já existentes no merca<strong>do</strong>. A medi<strong>da</strong> <strong>da</strong><br />
intensi<strong>da</strong><strong>de</strong> <strong>do</strong> sinal é feita através <strong>de</strong> um integra<strong>do</strong>r/<strong>de</strong>tector <strong>de</strong> pico no<br />
transceiver TR1000 <strong>da</strong> RFMonolithics, que funciona a916.5MHz. Areferência<br />
afirma que a localização 3D é consegui<strong>da</strong> <strong>de</strong>ntro <strong>de</strong> um cubo <strong>de</strong> 1 m 3 .<br />
Outro sistema baseia-se na medi<strong>da</strong> <strong>da</strong> intensi<strong>da</strong><strong>de</strong> <strong>do</strong> sinal RF recebi<strong>do</strong> num<br />
módulo stan<strong>da</strong>rd Radiometrix [98]. Através <strong>da</strong> utilização <strong>do</strong> pino RSSI (Received<br />
Strength Signal Indicator) <strong>de</strong> módulos emissores <strong>da</strong> Radiometrix (neste caso <strong>de</strong><br />
418 MHz) areferência afirma ser possível estabelecer alei <strong>da</strong> atenuação ao<br />
longo <strong>do</strong> espaço. Ten<strong>do</strong> vários beacons (antenas emissoras) a emitir<br />
separa<strong>da</strong>mente no tempo emedin<strong>do</strong> aatenuação aca<strong>da</strong> emissor (que transmite<br />
asua i<strong>de</strong>nti<strong>da</strong><strong>de</strong>), então épossível aauto-localização <strong>do</strong> receptor. Sistema viável<br />
ao ar livre –as on<strong>da</strong>s reflecti<strong>da</strong>s causam excessivas interferência se existirem<br />
barreiras físicas. Oerro <strong>de</strong> posicionamento obti<strong>do</strong> numa experiência com aárea<br />
<strong>de</strong> posicionamento <strong>de</strong> 10 mpor 10 mcom beacons nos 4cantos afirma-se ter<br />
distribuição Normal com média 1.83 metros e<strong>de</strong>svio padrão 1.07 metros sen<strong>do</strong><br />
o erro máximo <strong>de</strong> cerca <strong>de</strong> 4 metros.<br />
Existem também tentativas <strong>de</strong> mo<strong>de</strong>lizar a atenuação <strong>do</strong> sinal recebi<strong>do</strong> em<br />
placas Ethernet sem fios. I<strong>de</strong>ntifican<strong>do</strong> os en<strong>de</strong>reços <strong>de</strong> hardware (MAC Address)<br />
<strong>da</strong>s placas <strong>de</strong> re<strong>de</strong> emissoras torna-se possível aauto-localização. Este stan<strong>da</strong>rd<br />
utiliza a frequência <strong>do</strong>s 2.4 GHz que é livre no mun<strong>do</strong> to<strong>do</strong> mas sofre <strong>de</strong><br />
atenuações difíceis <strong>de</strong> prever pois nestas frequências os sinais facilmente<br />
assumem caminhos múltiplos. Otrabalho [101] menciona erro <strong>de</strong> localização é<br />
menor que 1.7 metros com probabili<strong>da</strong><strong>de</strong> <strong>de</strong> 0.77 numa experiência ao longo <strong>de</strong><br />
um corre<strong>do</strong>r com aproxima<strong>da</strong>mente 9metros <strong>de</strong> comprimento. Outro trabalho<br />
50
Sistemas <strong>de</strong> Localização<br />
<strong>de</strong>nomina<strong>do</strong> “RADAR” [102], [103] recorre auma mo<strong>de</strong>lização empírica <strong>da</strong><br />
propagação eatenuação <strong>da</strong> intensi<strong>da</strong><strong>de</strong> <strong>do</strong> sinal RF ao longo <strong>do</strong> sinal no espaço<br />
para conseguir alocalização. Utilizam-se placas <strong>de</strong> re<strong>de</strong> sem fios genéricas, no<br />
caso Lucent WaveLan, que respeitam oprotocolo IEEE 802.11b (2 Mbps). É<br />
referi<strong>do</strong> um erro <strong>de</strong> cerca <strong>de</strong> 3metros num mapa <strong>de</strong> 23 mpor 42 m. Um <strong>do</strong>s<br />
objectivos <strong>de</strong>clara<strong>do</strong>s <strong>de</strong>ste trabalho é o <strong>de</strong> criar componentes informáticos<br />
conscientes <strong>da</strong> sua localização <strong>de</strong>ntro <strong>de</strong> um espaço estrutura<strong>do</strong> on<strong>de</strong> exista uma<br />
re<strong>de</strong> sem fios. Estes sistemas estão, actualmente, ageneralizar-se aeleva<strong>do</strong> ritmo.<br />
Toman<strong>do</strong> como exemplo um campus universitário <strong>do</strong>ta<strong>do</strong> <strong>de</strong> uma re<strong>de</strong> sem fios<br />
tal como preconiza<strong>do</strong> pelo governo português [104], [105] seria então possível<br />
por exemplo imprimir para a impressora mais próxima <strong>do</strong> local em que o<br />
utiliza<strong>do</strong>r se encontre.<br />
Uma interessante tecnologia para localização é o Ultra Wi<strong>de</strong> Band (UWB)<br />
[106], [107]. O funcionamento baseia-se na transmissão <strong>de</strong> pequeníssimos<br />
impulsos RF, sem utilização <strong>de</strong> qualquer porta<strong>do</strong>ra. Aduração <strong>do</strong>s impulsos éna<br />
or<strong>de</strong>m <strong>da</strong>s <strong>de</strong>zenas <strong>de</strong> pico-segun<strong>do</strong>s até alguns nano-segun<strong>do</strong>s [107], [108]. É<br />
utiliza<strong>do</strong> espectro espalha<strong>do</strong> na transmissão oque permite receptores pequenos<br />
e um certo grau <strong>de</strong> imuni<strong>da</strong><strong>de</strong> a percursos múltiplos, possibilitan<strong>do</strong> assim a<br />
utilização <strong>de</strong>sta tecnologia <strong>de</strong>ntro <strong>de</strong> portas (in<strong>do</strong>or). Osistema comercial Aether<br />
[109] afirma permitir, <strong>de</strong>ntro <strong>da</strong> legislação actual <strong>do</strong>s EUA, alocalização com<br />
precisão <strong>de</strong> centímetro <strong>de</strong>ntro <strong>de</strong> uma zona <strong>de</strong> um 1km. Este sistema me<strong>de</strong> o<br />
tempo <strong>de</strong> voo <strong>do</strong> emissor para oreceptor eregresso através <strong>de</strong> integrações <strong>de</strong><br />
pulsos <strong>de</strong> várias frequências. A <strong>de</strong>riva entre relógios é parte <strong>da</strong> informação<br />
transmiti<strong>da</strong> para que alocalização <strong>de</strong>pen<strong>da</strong> <strong>do</strong> melhor relógio auma distância<br />
conheci<strong>da</strong> [108].<br />
3.3.3 Sistemas Globais <strong>de</strong> Navegação por Satélite<br />
Os sistemas GNSS Global Navigation Satellite System são sistemas que envolvem<br />
tecnologias <strong>de</strong> satélites (com eleva<strong>do</strong>s custos). Para osistema americano GPS, o<br />
custo aproxima<strong>do</strong> <strong>de</strong> pôr osistema em funcionamento foi <strong>de</strong> cerca <strong>de</strong> 12 mil<br />
milhões <strong>de</strong> dólares americanos. Existem, porém, receptores civis a custos<br />
interessantes para aplicações na área <strong>do</strong> posicionamento. Note-se que o<br />
posicionamento que os sistemas GNSS permitem têm imensas aplicações civis e<br />
militares. Esta questão épertinente para várias aplicações com diversos graus <strong>de</strong><br />
autonomia tal como a aju<strong>da</strong> a <strong>de</strong>ficientes e a localização <strong>de</strong> pessoas e bens.<br />
A maior limitação <strong>do</strong>s GNSS é que o seu funcionamento está fortemente<br />
limita<strong>do</strong> a sistemas ao ar livre e sem barreiras naturais. É fortemente<br />
aconselha<strong>do</strong> ter linha <strong>de</strong> vista para vários satélites –tipicamente 4satélites para<br />
uma localização básica.<br />
Os GNSS baseiam-se na trilateralização <strong>da</strong>s distâncias <strong>do</strong> receptor aos satélites<br />
[86]. As distâncias são medi<strong>da</strong>s através <strong>do</strong> tempo <strong>de</strong> voo <strong>da</strong>s mensagens emiti<strong>da</strong>s<br />
51
Sistemas <strong>de</strong> Localização<br />
pelos satélites. O receptor estará então na intersecção viável <strong>da</strong>s 3 calotes<br />
esféricas que representam adistância aca<strong>da</strong> satélite, que se presume conheci<strong>da</strong>.<br />
Uma medi<strong>da</strong> adicional <strong>de</strong> tempo énecessária para eliminar a<strong>de</strong>ssincronização<br />
entre os relógios <strong>do</strong>s satélites e<strong>do</strong> receptor. As distâncias <strong>da</strong> terra aos satélites<br />
são manti<strong>da</strong>s actualiza<strong>da</strong>s com eleva<strong>da</strong> precisão através <strong>de</strong> medi<strong>da</strong>s em estações<br />
terrestres, <strong>de</strong>pois difundi<strong>da</strong>s pelo próprio satélite.<br />
Osistema GPS Global Positioning System [86] [110] éosistema mais conheci<strong>do</strong>.<br />
Utiliza 24 Satélites <strong>do</strong> Departamento <strong>de</strong> Defesa Norte-Americano eoinicio <strong>de</strong><br />
operacionali<strong>da</strong><strong>de</strong> ocorreu em 1993 mas aoperacionali<strong>da</strong><strong>de</strong> total <strong>da</strong>ta <strong>de</strong> 27 <strong>de</strong><br />
Abril 1995. Este sistema fornece tempo actual eposicionamento 3D <strong>de</strong> um <strong>da</strong><strong>do</strong><br />
receptor. Para uma análise comparativa <strong>do</strong>s vários chip sets <strong>de</strong> recepção <strong>de</strong> GPS<br />
consultar [111]. Este sistema é<strong>de</strong> origem militar eassim existe apossibili<strong>da</strong><strong>de</strong> <strong>de</strong><br />
aon<strong>da</strong> emiti<strong>da</strong> conter uma <strong>de</strong>gra<strong>da</strong>ção proposita<strong>da</strong> <strong>da</strong> quali<strong>da</strong><strong>de</strong> <strong>da</strong> localização<br />
para fins civis chama<strong>do</strong> Selected Availability (SA). No comunica<strong>do</strong> <strong>da</strong> Casa<br />
Branca [112] éreferi<strong>da</strong> a<strong>da</strong>ta <strong>de</strong> 2006 23 para ofim <strong>da</strong> <strong>de</strong>gra<strong>da</strong>ção proposita<strong>da</strong><br />
<strong>do</strong> sinal <strong>de</strong> GPS. Entretanto a pressão <strong>da</strong> instalação <strong>do</strong> sistema concorrente<br />
Europeu, oGalileo, fez com que aencriptação Selected Availability fosse <strong>de</strong>sliga<strong>da</strong><br />
<strong>de</strong>s<strong>de</strong> 1<strong>de</strong> Maio <strong>de</strong> 2001 [113]. Aprecisão máxima <strong>do</strong> sistema (anteriormente<br />
classifica<strong>da</strong> <strong>de</strong> “militar”) está agora acessível a aplicações civis e a qualquer<br />
receptor, enquanto os EUA assim o <strong>de</strong>sejarem 24 . O sistema civil GPS sofria<br />
anteriormente <strong>de</strong> um erro proposita<strong>do</strong> <strong>de</strong> cerca <strong>de</strong> 30 mcom média não nula ao<br />
longo <strong>do</strong> tempo, aplica<strong>do</strong> directamente na emissão <strong>do</strong> satélite (ver figura 3.4).<br />
23 2006 é a <strong>da</strong>ta prevista <strong>de</strong> operacionali<strong>da</strong><strong>de</strong> <strong>do</strong> sistema Europeu Galileo<br />
24 Os EUA afirmam que não têm intenção <strong>de</strong> voltar a activar globalmente e permanentemente<br />
o sistema SA mas admitem também a possibili<strong>da</strong><strong>de</strong> <strong>de</strong> o activar regionalmente, conforme o<br />
seu próprio critério (que po<strong>de</strong> ser um critério militar)<br />
52
Figura 3.4 GPS com e sem Selected Availability - a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [114]<br />
Sistemas <strong>de</strong> Localização<br />
O sistema GPS tem a seguinte precisão nominal (consultar também a tabela 3.1):<br />
• Componente Horizontal:<br />
• 100 m , 95% <strong>do</strong> tempo;<br />
• 300 m, 99.99% <strong>do</strong> tempo;<br />
• Componente Vertical:<br />
• 156 m, 95% <strong>do</strong> tempo;<br />
• 500 m, 99.99% <strong>do</strong> tempo;<br />
• Componente temporal:<br />
• 340 ns, 95% <strong>do</strong> tempo.<br />
Precisão comum <strong>da</strong> versão civil, para um receptor avança<strong>do</strong> mas que não<br />
53
Sistemas <strong>de</strong> Localização<br />
recolhe informação <strong>da</strong> fase <strong>do</strong> sinal recebi<strong>do</strong>:<br />
• Horizontal 50 m;<br />
• Vertical 78 m;<br />
• 3D 2.8m;<br />
• 200ns.<br />
Para contornar osistema SA ealguns erros <strong>de</strong>vi<strong>do</strong>s àatmosfera que se po<strong>de</strong>m<br />
consi<strong>de</strong>rar análogos para uma <strong>da</strong><strong>da</strong> região surgiu o DGPS -GPS diferencial<br />
[115], [111]. Estações fixas geograficamente próximas <strong>do</strong> receptor transitem<br />
correcções para localização forneci<strong>da</strong> pelo GPS (ver figura 3.5). Tal é<br />
consegui<strong>do</strong> através <strong>de</strong> um canal adicional <strong>de</strong> comunicações na expectativa <strong>de</strong><br />
que os erros no receptor ena estação fixa sejam aproxima<strong>da</strong>mente iguais. A<br />
tabela 3.1 lista acontribuição <strong>de</strong> ca<strong>da</strong> fonte <strong>de</strong> erro. Afirma-se que aprecisão<br />
obti<strong>da</strong> é:<br />
54<br />
• Horizontal: 1.3m;<br />
• Vertical: 2.0m;<br />
• 3D 2.8m;<br />
• Tempo: 340ns.<br />
Figura 3.5 Ilustração <strong>do</strong> funcionamento <strong>do</strong> GPS Diferencial
Sistemas <strong>de</strong> Localização<br />
Tabela 3.1 Sumário <strong>da</strong>s várias fontes <strong>de</strong> erro presente no GPS, valor típico <strong>do</strong> erro em metros, por satélite<br />
(tabela compila<strong>da</strong> a partir <strong>de</strong> [86], [116] e [115])<br />
Fonte <strong>do</strong> Erro GPS Stan<strong>da</strong>rd GPS Diferencial<br />
Relógio <strong>do</strong> Satélite 1.5 m 0<br />
Erro na Posição<br />
Orbital<br />
Atravessamento <strong>da</strong><br />
Ionosfera<br />
Atravessamento <strong>da</strong><br />
Troposfera<br />
2.5 m 0<br />
5.0 m 0.4 m<br />
0.5 m 0.2 m<br />
Ruí<strong>do</strong> no Receptor 0.3 m 0.3 m<br />
Reflexões Múltiplas 0.6 m 0.6 m<br />
Degra<strong>da</strong>ção<br />
proposita<strong>da</strong> para fins<br />
civis (SA)<br />
~ 30 m<br />
(Desactiva<strong>da</strong>)<br />
O sistema GNSS <strong>de</strong> origem soviético chama-se Glonass - Global'naya<br />
Navigationnaya Sputnikovaya mas aparece também referi<strong>do</strong> como Global<br />
Navigation Satellite System. Este sistema baseia-se em 21 satélites enquanto que o<br />
GPS tem 24. Existe também apossibili<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>de</strong>gra<strong>da</strong>ção proposita<strong>da</strong> <strong>do</strong> sinal<br />
<strong>de</strong>ixan<strong>do</strong> aprecisão em cerca <strong>de</strong> 100 metros. Aprecisão militar é<strong>de</strong> 10 a20<br />
metros:<br />
• Precisão Horizontal: 57-70 metros (99.7% <strong>do</strong> tempo) [117];<br />
• Precisão Vertical: 70 metros (99.7% <strong>do</strong> tempo ) [117].<br />
Oinicio <strong>do</strong> lançamento <strong>de</strong> satélites foi em 1982 efinalização <strong>da</strong> colocação <strong>do</strong>s<br />
satélites em órbita ocorreu em finais <strong>de</strong> 1995. Osistema Glonass foi formalmente<br />
<strong>de</strong>clara<strong>do</strong> operacional em 24 Setembro <strong>de</strong> 1993.<br />
Oproduto comercial [118] em <strong>de</strong>clara que integran<strong>do</strong> GPS+Glonass épossível<br />
obter em Tempo Real aprecisão <strong>de</strong> centímetros. Tal éconsegui<strong>do</strong> através <strong>da</strong><br />
observação <strong>de</strong> um total <strong>de</strong> 6 ou mais satélites <strong>de</strong> qualquer <strong>da</strong>s re<strong>de</strong>s GPS e<br />
Glonass e também através <strong>da</strong> utilização <strong>de</strong> informação <strong>da</strong> fase <strong>da</strong>s on<strong>da</strong>s<br />
recebi<strong>da</strong>s. Amesma referência <strong>de</strong>clara ain<strong>da</strong> que tal precisão éain<strong>da</strong> possível em<br />
100% <strong>do</strong> tempo mesmo existin<strong>do</strong> uma obstrução <strong>de</strong> 45º sobre ahorizontal, à<br />
custa <strong>de</strong> um tempo que ron<strong>da</strong> 5a15 minutos. Areferência [119], liga<strong>da</strong> ao<br />
mesmo produto comercial [118] refere que durante testes <strong>de</strong> voo aconjugação<br />
GPS+Glonass resultou em localizações com erro menor que 16 metros.<br />
Há menções aque osistema Glonass não tem <strong>de</strong>monstra<strong>do</strong> recentemente um<br />
eleva<strong>do</strong> nível <strong>de</strong> operacionali<strong>da</strong><strong>de</strong> [120], [121] pelo que autilização <strong>de</strong> sistemas<br />
basea<strong>do</strong>s apenas neste GNSS po<strong>de</strong>rá enfrentar limitações.<br />
55
Sistemas <strong>de</strong> Localização<br />
Ointeresse <strong>da</strong> aeronáutica pelos sistemas GPS écompreensível para amelhor<br />
gestão <strong>do</strong> sempre crescente tráfego aéreo. Acontece que o GPS original não<br />
cumpre os requisitos <strong>da</strong> aeronáutica civil por exemplo anível <strong>de</strong> segurança <strong>do</strong><br />
sinal.<br />
Aparecem assim diversas iniciativas tal como o “Satellite-Based Augmentation<br />
System (MSAS)” [122], [123], [124]. Este éum projecto <strong>de</strong> cooperação entre os<br />
EUA eo Japão para gerir cooperativamente re<strong>de</strong>s <strong>de</strong> DGPS. Outro projecto<br />
similar <strong>de</strong>ntro <strong>do</strong>s EUA éoWAAS -Wi<strong>de</strong> Area Augmentation System [123]. Este<br />
último tem por objectivo o auxilio à manobra <strong>de</strong> aterragem em aeronáutica civil.<br />
Outro GNSS será osistema Europeu Galileo [121], [125], previsto para estar<br />
activo na totali<strong>da</strong><strong>de</strong> em 2008 [126]. Este sistema é uma medi<strong>da</strong><br />
politico/estratégica para eliminar a <strong>de</strong>pendência <strong>do</strong> GPS que é um sistema<br />
militar <strong>do</strong>s EUA. Está projecta<strong>da</strong> uma constelação constituí<strong>da</strong> por 27 satélites<br />
activos e 3 <strong>de</strong> reserva, em órbita média, que é a solução que oferece mais<br />
fiabili<strong>da</strong><strong>de</strong> para outiliza<strong>do</strong>r <strong>do</strong> sistema [127]. Aprecisão espera<strong>da</strong> será <strong>de</strong> cerca<br />
<strong>de</strong> 5metros. Osistema Galileo terá diversas funcionali<strong>da</strong><strong>de</strong>s em acréscimo às <strong>do</strong><br />
GPS (ver figura 3.6) tal como a capaci<strong>da</strong><strong>de</strong> <strong>de</strong> vali<strong>da</strong>ção <strong>da</strong>s outras re<strong>de</strong>s<br />
GPS/Glanoss e fornece garantia <strong>de</strong> serviço a utiliza<strong>do</strong>res civis. Outro sistema<br />
importante por exemplo para aaeronáutica éosistema <strong>de</strong> monitorização <strong>da</strong><br />
integri<strong>da</strong><strong>de</strong> <strong>do</strong> sinal: outiliza<strong>do</strong>r será informa<strong>do</strong> no caso <strong>de</strong> osistema não po<strong>de</strong>r<br />
ser confia<strong>do</strong> a 100% (GIPA Galileo Integrity and Performance Assessment [128]<br />
[121]. Actualmente existe já o sistema EGNOS - European Geostationary<br />
Navigation Overlay System. Este sistema <strong>de</strong> DGPS europeu será mais tar<strong>de</strong> será<br />
incorpora<strong>do</strong> no Galileo. Oobjectivo épermitir autilização generaliza<strong>da</strong> para fins<br />
civis tal como por exemplo aplicações na área <strong>da</strong> aeronáutica. Decorre também<br />
um estu<strong>do</strong> <strong>de</strong> viabili<strong>da</strong><strong>de</strong> acerca <strong>de</strong> um sistema <strong>de</strong> portagens pan-europeias em<br />
que opercurso é<strong>de</strong>termina<strong>do</strong> através <strong>de</strong> GNSS eem particular será utiliza<strong>do</strong><br />
quan<strong>do</strong> disponível, o sistema Galileo [126].<br />
56<br />
Estações<br />
Locais<br />
Componente Local<br />
COSPAS-SARSAT<br />
Seguimento<br />
Terrestre<br />
Constelação<br />
Componenente Global<br />
Serviços<br />
Utiliza<strong>do</strong>r<br />
Integri<strong>da</strong><strong>de</strong><br />
EGNOS<br />
Componente Regional<br />
Figura 3.6 Diagrama <strong>de</strong> blocos <strong>do</strong> Galileo – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [121]
3.3.4 Soluções Basea<strong>do</strong>s na Re<strong>de</strong> <strong>de</strong> Telemóveis<br />
Sistemas <strong>de</strong> Localização<br />
Are<strong>de</strong> <strong>de</strong> telemóveis celulares éactualmente amplamente dissemina<strong>da</strong> equase<br />
omnipresente. A utilização <strong>de</strong>sta estrutura para a localização po<strong>de</strong> ser<br />
interessante para aplicações várias, não só no âmbito <strong>do</strong>s sistemas robóticos. Na<br />
ver<strong>da</strong><strong>de</strong>, alocalização <strong>do</strong> chama<strong>do</strong>r para onúmero <strong>de</strong> emergência [129], [106],<br />
[130] éum assunto <strong>de</strong> relevância para opúblico em geral epermite também a<br />
localização <strong>de</strong> equipamentos. Uma tal classe <strong>de</strong> sistemas po<strong>de</strong>rão no futuro<br />
integrar informação proveniente <strong>da</strong>s re<strong>de</strong>s UMTS, GSM 900 e1800 MHz, bem<br />
assim como informação proveniente <strong>de</strong> outras tecnologias diferentes tal como<br />
GPS.<br />
O méto<strong>do</strong> mais simples <strong>de</strong> localização é conhecer a célula <strong>de</strong> origem <strong>da</strong><br />
chama<strong>da</strong>. Esta informação já existe na re<strong>de</strong>. A precisão po<strong>de</strong> ser melhora<strong>da</strong><br />
utilizan<strong>do</strong> cálculos basea<strong>do</strong>s em diferenças <strong>de</strong> tempos <strong>de</strong> chega<strong>da</strong> <strong>de</strong> pacotes<br />
emiti<strong>do</strong>s pelo telefone avárias antenas (3 antenas). Exige no entanto que esteja<br />
a<strong>de</strong>correr uma chama<strong>da</strong>. Aimplementação seria fácil por parte <strong>do</strong> opera<strong>do</strong>r <strong>da</strong><br />
re<strong>de</strong> <strong>de</strong> telemóveis visto a informação já existir na re<strong>de</strong>. Basta utilizar o<br />
mecanismo <strong>de</strong> entrega <strong>de</strong> chama<strong>da</strong>s entre antenas (hand-off) eos pacotes vêm<br />
marca<strong>do</strong>s com tempos diferentes (ver resumo na tabela 3.2).<br />
Outra técnica diferente seria introduzir modificações às antenas tornan<strong>do</strong><br />
possível saber oângulo <strong>de</strong> incidência <strong>do</strong> sinal que otelefone emite. Duas antenas<br />
com este sistema conseguem saber alocalização <strong>do</strong> emissor. Este sistema seria<br />
a<strong>de</strong>qua<strong>do</strong> a zonas rurais com poucas antenas.<br />
Seria ain<strong>da</strong> possível aauto localização <strong>do</strong> telefone celular que recebe 3ou mais<br />
sinais <strong>de</strong> diferentes antenas eme<strong>de</strong> otempo <strong>de</strong> chega<strong>da</strong> <strong>de</strong> ca<strong>da</strong> um <strong>do</strong>s pacotes<br />
<strong>de</strong>stina<strong>do</strong>s a medir a potência <strong>do</strong> sinal.<br />
Éain<strong>da</strong> possível implementar GPS diferencial (DGPS) basea<strong>do</strong> na informação<br />
recolhi<strong>da</strong> pela localização obti<strong>da</strong> apartir <strong>da</strong> re<strong>de</strong> <strong>de</strong> telemóveis (chame-se aeste<br />
sistema AGPS – GPS Assisti<strong>do</strong> pela re<strong>de</strong> celular). Este sistema permitiria<br />
localizar com precisão o local a partir <strong>do</strong> qual é feita uma chama<strong>da</strong> para o<br />
número <strong>de</strong> emergência <strong>de</strong>s<strong>de</strong> que otelefone inclua um receptor <strong>de</strong> GPS (ver<br />
resumo comparativo na tabela 3.2).<br />
57
Sistemas <strong>de</strong> Localização<br />
Tabela 3.2 Precisão <strong>de</strong> sistemas <strong>de</strong> localização com base na re<strong>de</strong> celular <strong>de</strong> telemóveis<br />
Precisão Técnica Estimativa <strong>do</strong> Custo<br />
200 m – 2.5 km Célula <strong>de</strong> Origem Menor <strong>de</strong> to<strong>do</strong>s<br />
30 m – 550 m<br />
20 m – 125 m<br />
50 m<br />
5 m – 20 m<br />
Tempo <strong>de</strong> chega<strong>da</strong> às<br />
antenas<br />
Ângulo <strong>de</strong> chega<strong>da</strong> às<br />
antenas<br />
Auto-Localização <strong>do</strong><br />
receptor via diferenças <strong>de</strong><br />
tempos <strong>de</strong> sinais emiti<strong>do</strong>s<br />
por várias antenas<br />
GPS assisti<strong>do</strong> pela re<strong>de</strong><br />
celular<br />
3.3.5 Soluções Envolven<strong>do</strong> On<strong>da</strong>s Acústicas<br />
Muito Baixo<br />
Eleva<strong>do</strong><br />
Baixo<br />
Médio<br />
Diversos autores trabalham com on<strong>da</strong>s acústicas para conseguir alocalização. É<br />
um méto<strong>do</strong> muito utiliza<strong>do</strong> pois osom <strong>de</strong>sloca-se auma veloci<strong>da</strong><strong>de</strong> que torna<br />
fácil medir otempo entre aon<strong>da</strong> emiti<strong>da</strong> eachega<strong>da</strong> <strong>do</strong> seu eco. Infelizmente a<br />
veloci<strong>da</strong><strong>de</strong> exacta com que o som se propaga varia com as condições<br />
atmosféricas e estas on<strong>da</strong>s mecânicas são também susceptíveis <strong>de</strong> serem<br />
reflecti<strong>da</strong>s ou totalmente absorvi<strong>da</strong>s causan<strong>do</strong> assim medi<strong>da</strong>s falsas e ou<br />
ausência <strong>de</strong> medi<strong>da</strong>s.<br />
O trabalho [131] utiliza então a medi<strong>da</strong> <strong>de</strong> distâncias com Ultra-Sons para<br />
<strong>de</strong>scobrir correspondências entre o mapa conheci<strong>do</strong> e segmentos rectos nas<br />
medi<strong>da</strong>s recebi<strong>da</strong>s <strong>do</strong> sonar rotativo. As correspondências locais interessantes<br />
são guar<strong>da</strong><strong>da</strong>s eavali<strong>da</strong><strong>de</strong> global <strong>da</strong>s correspondências étesta<strong>da</strong> achan<strong>do</strong> assim<br />
alocalização eatitu<strong>de</strong> <strong>do</strong> robot. Para fiabili<strong>da</strong><strong>de</strong> acresci<strong>da</strong> éfeito um teste que<br />
verifica que as medi<strong>da</strong>s <strong>do</strong> sonar na actual pose <strong>do</strong> robot não ignoram nenhum<br />
objecto sóli<strong>do</strong> conheci<strong>do</strong>. Outros trabalhos utilizam a triangulação e/ou<br />
trilateralização com <strong>da</strong><strong>do</strong>s provenientes <strong>de</strong> Ultra-Sons em configurações afins <strong>da</strong><br />
referi<strong>da</strong> [132], [133], [134], [135], [136] e [137].<br />
O sistema “The Bat System” - Sistema <strong>do</strong>s Morcegos [138] utiliza Rádio<br />
Frequência (RF) para comunicar num senti<strong>do</strong> eUltra-Sons para comunicar no<br />
outro senti<strong>do</strong>. Amedi<strong>da</strong> <strong>do</strong> tempo <strong>de</strong> voo éfeita por subtracção <strong>de</strong> tempos fixos<br />
medi<strong>do</strong>s. Épossível exten<strong>de</strong>r oprocesso até <strong>de</strong>terminar posição erotação 3D à<br />
custa <strong>de</strong> maior número <strong>de</strong> medi<strong>da</strong>s.<br />
Outro trabalho utiliza audição stereo: utilizan<strong>do</strong> 2 microfones omni-direccionais e<br />
utilizan<strong>do</strong> a diferença entre tempo <strong>de</strong> chega<strong>da</strong>s <strong>de</strong> on<strong>da</strong>s sonoras é possível saber<br />
58
a direcção proveniente <strong>do</strong> som e assim conseguir a localização [139].<br />
3.3.6 Soluções Envolven<strong>do</strong> Visão<br />
Sistemas <strong>de</strong> Localização<br />
Os sensores ópticos são muito utiliza<strong>do</strong>s na robótica. São conheci<strong>do</strong> robots que<br />
seguem linhas utilizan<strong>do</strong> sensores ópticos elementares tal como o foto-dío<strong>do</strong>.<br />
Este tipo <strong>de</strong> sensores po<strong>de</strong>m até conseguir <strong>da</strong>r informação <strong>da</strong> veloci<strong>da</strong><strong>de</strong> angular<br />
a que o robot se <strong>de</strong>svia <strong>do</strong> seu percurso, numa configuração muito simples<br />
apresenta<strong>da</strong> em [140].<br />
As técnicas <strong>de</strong> localização basea<strong>da</strong>s em visão são objecto <strong>de</strong> intensa investigação.<br />
Ageneralização <strong>da</strong> utilização <strong>de</strong> câmaras emelhoria <strong>da</strong> sua quali<strong>da</strong><strong>de</strong> abaixo<br />
custo tornam este sensor interessante para múltiplas aplicações. De facto uma<br />
imagem é rica em informação e permite retirar diversas informações. Este<br />
processamento beneficia <strong>do</strong>s recentes avanços em termos <strong>do</strong>s po<strong>de</strong>r <strong>de</strong> cálculo<br />
disponível. Acresce ain<strong>da</strong> que arecolha <strong>de</strong> imagens através <strong>de</strong> câmaras COTS<br />
fornece já quali<strong>da</strong><strong>de</strong> na imagem auma resolução interessante bem assim como<br />
um regime dinâmico interessante: as webcams actuais <strong>de</strong> baixo custo conseguem<br />
resoluções na or<strong>de</strong>m <strong>do</strong>s 640x480 a 30 imagens a cores por segun<strong>do</strong>. A<br />
utilização <strong>de</strong> sistemas <strong>de</strong> orientação (Pan &Tilt) <strong>de</strong> câmaras oferecem ain<strong>da</strong><br />
uma direccionali<strong>da</strong><strong>de</strong> que po<strong>de</strong> ser interessante. Adicionalmente po<strong>de</strong> ser<br />
controla<strong>da</strong> aresolução <strong>da</strong> aquisição quer através <strong>de</strong> subamostragem quer através<br />
<strong>da</strong> utilização <strong>de</strong> zoom (óptico) oque permite obter informação com nível varia<strong>do</strong><br />
<strong>de</strong> <strong>de</strong>talhe. Da<strong>da</strong> uma colocação <strong>da</strong> câmara po<strong>de</strong> ser interessante a<strong>da</strong>ptar a<br />
resolução efectiva àcena avisualizar, a<strong>de</strong>quan<strong>do</strong> assim ataxa <strong>de</strong> amostragem à<br />
<strong>de</strong>nsi<strong>da</strong><strong>de</strong> <strong>da</strong> informação na zona em causa <strong>da</strong> imagem [141]. To<strong>da</strong>s estas<br />
técnicas resultam no entanto numa sequência <strong>de</strong> <strong>da</strong><strong>do</strong>s não tridimensionais. O<br />
sistema <strong>de</strong> processamento <strong>da</strong> imagem será aprofun<strong>da</strong><strong>do</strong> na secção 4.2, pág. 70.<br />
Étambém possível utilizar um sistema óptico que inclua espelhos para modificar<br />
o mapeamento <strong>do</strong>s pontos <strong>da</strong> cena para a imagem. Esta técnica é utiliza<strong>da</strong><br />
frequentemente pois é mais conveniente em termos mecânicos um espelho<br />
construí<strong>do</strong> <strong>de</strong> raíz para a aplicação <strong>do</strong> que o sistema equivalente em<br />
componentes ópticos transparentes.<br />
Sen<strong>do</strong> que acâmara éum sensor passivo, utiliza ailuminação já existente no<br />
meio para recolher <strong>da</strong><strong>do</strong>s. Por vezes epara aobtenção <strong>de</strong> resulta<strong>do</strong>s óptimos é<br />
necessário iluminação cui<strong>da</strong><strong>da</strong>. Tal é frequente em sistemas <strong>de</strong> visão na<br />
indústria. Existem diversas técnicas <strong>de</strong> iluminação <strong>de</strong> imagem [142].<br />
• Iluminação Frontal:<br />
• Difusa (uniforme);<br />
• Direccional, ex: rasante àcena para aumentar contraste <strong>do</strong>s contornos e<br />
<strong>do</strong>s baixo-relevos na peça;<br />
• Polariza<strong>da</strong> – para evitar reflexos;<br />
59
Sistemas <strong>de</strong> Localização<br />
• Circular (em torno <strong>da</strong> câmara ou <strong>da</strong> cena);<br />
• Iluminação estrutura<strong>da</strong> – a estrutura <strong>da</strong> iluminação dá informação<br />
tridimensional – ver exemplo na Fig 3.8 on<strong>de</strong> é utiliza<strong>da</strong> uma linha<br />
produzi<strong>da</strong> por um laser;<br />
• Iluminação na retaguar<strong>da</strong> <strong>do</strong> objecto (back light):<br />
• Difusa – realçar contornos e furos;<br />
• Direccional realça alguns contornos;<br />
• Polariza<strong>da</strong> – permite contornar algumas transparências ou reflexos<br />
permitin<strong>do</strong> por exemplo realçar <strong>de</strong>feitos internos a uma peça<br />
transparente.<br />
Diversas técnicas são utiliza<strong>da</strong>s para introduzir informação tridimensional na<br />
imagem obti<strong>da</strong>.<br />
Figura 3.7 Princípio <strong>de</strong> Funcionamento <strong>de</strong> um PSD – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong><br />
[143]<br />
A iluminação estrutura<strong>da</strong> introduz na imagem informação tridimensional<br />
codifica<strong>da</strong> por exemplo nas intensi<strong>da</strong><strong>de</strong>s luminosas [144]. Os dispositivos PSD<br />
são exemplo simples disso mesmo (ver figura 3.7). Esta técnica étambém muito<br />
utiliza<strong>da</strong> em sistemas industriais para medi<strong>da</strong>s ao longo <strong>do</strong> corpo <strong>de</strong> um objecto,<br />
tal como ilustra<strong>do</strong> pela Fig 3.8.<br />
Consi<strong>de</strong>ran<strong>do</strong> em concreto ocaso <strong>da</strong> visão embarca<strong>da</strong> num robot, a câmara<br />
obtém normalmente uma visão limita<strong>da</strong> <strong>da</strong> cena em torno <strong>do</strong> robot. Para obter<br />
mais <strong>da</strong><strong>do</strong>s, utilizam-se sistemas <strong>de</strong> orientação <strong>da</strong> câmara eou lentes eespelhos<br />
para abranger uma maior porção <strong>de</strong> espaço na mesma imagem.<br />
60
Figura 3.8 Iluminação estrutura<strong>da</strong> (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [145])<br />
Sistemas <strong>de</strong> Localização<br />
Uma técnica muito utiliza<strong>da</strong> éa<strong>de</strong> apontar acâmara para um espelho cónico<br />
(ou outra forma) conseguin<strong>do</strong> assim observar 360º em torno <strong>do</strong> robot [58]. A<br />
utilização <strong>de</strong>ste tipo <strong>de</strong> espelhos ditos omni-direcionais [146] [147] [148] é<br />
muito útil porque to<strong>da</strong>s as direcções são amostra<strong>da</strong>s simultaneamente. As<br />
imagens obti<strong>da</strong>s são assim panorâmicas <strong>da</strong> cena em torno <strong>do</strong> robot. Para obter o<br />
mesmo tipo <strong>de</strong> <strong>da</strong><strong>do</strong>s num sistema com câmara orientável seria necessário ro<strong>da</strong>r<br />
acâmara eaamostragem não seria consegui<strong>da</strong> no mesmo instante introduzin<strong>do</strong><br />
assim complexi<strong>da</strong><strong>de</strong> acresci<strong>da</strong> no processamento <strong>da</strong> imagem e algum erro<br />
inerente às dinâmicas <strong>do</strong> robot e<strong>do</strong> ambiente. Os espelhos omni-direccionais<br />
distorcem assim o mapeamento espaço-imagem: a forma exacta <strong>do</strong> espelho<br />
permite ajustar esse mapeamento. Épossível construir um espelho tal que as<br />
rectas no espaço sejam mapea<strong>da</strong>s em rectas na imagem o que facilita a<br />
reconstrução <strong>da</strong> cena envolvente ao robot -estes espelhos são <strong>de</strong>nomina<strong>do</strong>s <strong>de</strong><br />
isométricos (ver fig 3.9) [147], [149]. A análise <strong>da</strong> imagem po<strong>de</strong>rá nessa<br />
situação encontrar mais facilmente os pontos <strong>de</strong> interesse .<br />
Figura 3.9 Esquema <strong>do</strong> espelho isométrico - <strong>de</strong> [149] -<br />
x i1x i=k X i1 X i∀i<br />
61
Sistemas <strong>de</strong> Localização<br />
Uma opção interessante é utilizar a forma <strong>do</strong> espelho para a<strong>de</strong>quar o<br />
mapeamento <strong>do</strong> espaço-imagem aos requisitos <strong>do</strong> problema em causa. Este tipo<br />
<strong>de</strong> espelho será então constituí<strong>do</strong> por várias partes que permitem conciliar<br />
requisitos tal como precisão ao perto emesmo assim conseguir ver longe (com<br />
menor precisão) [147], [150], [151], [152].<br />
Uma técnica que os ser humanos utilizam para aferir a3ª dimensão éavisão<br />
stereo. Utilizam-se não um mas <strong>do</strong>is sensores <strong>de</strong> imagem (câmaras ou os olhos<br />
humanos) eéfeito uma correspondência entre os objectos visualiza<strong>do</strong>s nas duas<br />
imagens; sen<strong>do</strong> as duas imagens adquiri<strong>da</strong>s em posições conheci<strong>da</strong>s diferentes no<br />
espaço, épossível <strong>de</strong>terminar adistância ao objecto visto mesmo na presença <strong>de</strong><br />
uma cena complexa [153]. Areferência [154] tenta contornar avisão parcial <strong>da</strong><br />
cena utilizan<strong>do</strong> lentes <strong>de</strong> gran<strong>de</strong> abertura (<strong>do</strong> tipo “olho-<strong>de</strong>-peixe”) para <strong>de</strong>pois<br />
fazer processamento <strong>da</strong>s imagens stereo obti<strong>da</strong>s.<br />
Dentro <strong>de</strong>sta técnica é também possível utilizar uma diversi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
configurações <strong>de</strong> espelhos para conseguir as duas imagens utilizan<strong>do</strong> espelhos<br />
em várias configurações [151], [155], [156], algumas configurações são<br />
apresenta<strong>da</strong>s na figura 3.10.<br />
Figura 3.10 Utilização <strong>de</strong> espelhos para obter duas imagens – a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [151]<br />
Diversos autores trabalham a interessante técnica <strong>de</strong> utilizar as lâmpa<strong>da</strong>s <strong>do</strong><br />
tecto como marca<strong>do</strong>res naturais para localização enavegação [157] [158]. Este<br />
sistema tem avantagem <strong>de</strong> já estar instala<strong>do</strong> e<strong>de</strong> ser facilmente reconhecível<br />
com uma câmara aponta<strong>da</strong> para otecto. A<strong>de</strong>svantagem éque há marca<strong>do</strong>res<br />
repeti<strong>do</strong>s pelo que é necessário utilizar informação acerca <strong>da</strong> localização anterior<br />
para calcular aposição actual. Tal como referi<strong>do</strong> anteriormente, neste tipo <strong>de</strong><br />
marca<strong>do</strong>res naturais énecessário haver um mapa com asua localização real. Um<br />
erro na medi<strong>da</strong> <strong>da</strong> posição <strong>de</strong> um <strong>de</strong>stes marca<strong>do</strong>res não écumulativo. Este<br />
sistema acaba por escalar relativamente bem visto que éfrequente haver muitas<br />
fontes luminosas artificiais nos ambientes <strong>de</strong>ntro <strong>de</strong> portas on<strong>de</strong> circulam<br />
normalmente os robots. Adificul<strong>da</strong><strong>de</strong> passa então aser li<strong>da</strong>r com as fontes <strong>de</strong><br />
luz em falha ecom ailuminação natural. Como exemplo <strong>de</strong> resulta<strong>do</strong>s obti<strong>do</strong>s<br />
com esta técnica, [159] segue lâmpa<strong>da</strong>s no tecto com forma rectangular<br />
separa<strong>da</strong>s <strong>de</strong> uma distância <strong>de</strong> cerca <strong>de</strong> 2.5 metros conseguin<strong>do</strong> uma localização<br />
caracteriza<strong>da</strong> por:<br />
62<br />
• Erro segun<strong>do</strong> o eixo <strong>do</strong>s xx <strong>de</strong> ~N(2.4mm, 8.8 mm), erro máximo <strong>de</strong><br />
15.2mm;
• Erro nos yy ~N(3.2mm,32mm), erro máximo <strong>de</strong> 32.3mm;<br />
Sistemas <strong>de</strong> Localização<br />
• Erro na orientação <strong>de</strong> ~N(0.04 graus, 0.5 graus), erro máximo <strong>de</strong> 4.5<br />
graus.<br />
No trabalho [160] são utiliza<strong>da</strong>s marcações ópticas para gerar um padrão que é<br />
único eque, sen<strong>do</strong> reconheci<strong>do</strong>, permite encontrar uma localização global (ver<br />
figura 3.11). Opadrão <strong>do</strong>s <strong>da</strong><strong>do</strong>s éternário eaimagem recolhi<strong>da</strong> aPreto e<br />
Branco. Em torno <strong>da</strong> marca com nível <strong>de</strong> cinzento intermédio estão os <strong>da</strong><strong>do</strong>s<br />
que fornecem otal padrão único. São também lança<strong>do</strong>s elementos para uma<br />
outra forma <strong>de</strong> padrão que utiliza apenas Preto e Branco puros.<br />
Figura 3.11 Robot tentan<strong>do</strong> localização absoluta utilizan<strong>do</strong> padrão<br />
ternário [160]<br />
Existe ain<strong>da</strong> apossibili<strong>da</strong><strong>de</strong> <strong>de</strong> tentar reconhecer aprópria forma <strong>do</strong> corre<strong>do</strong>r<br />
em que orobot se encontra para realizar navegação [161], [162]. Para tal são<br />
levanta<strong>do</strong>s diversos tipos <strong>de</strong> elementos geométricos e<strong>de</strong>pois mapea<strong>do</strong>s com o<br />
mapa conheci<strong>do</strong> <strong>do</strong> mun<strong>do</strong>. Atabela 3.3 i<strong>de</strong>ntifica várias técnicas possíveis para<br />
esta abor<strong>da</strong>gem e realça algumas dificul<strong>da</strong><strong>de</strong>s inerentes a ca<strong>da</strong> processo.<br />
O trabalho [189] propõe uma estratégia <strong>de</strong> localização a <strong>do</strong>is níveis em<br />
simultâneo: ajustes locais eestratégia global. Otrabalho utiliza as linhas <strong>de</strong> um<br />
campo <strong>de</strong> futebol robótico <strong>da</strong> liga F2000 <strong>da</strong> Fe<strong>de</strong>ração RoboCup. Ométo<strong>do</strong><br />
global estu<strong>da</strong> diversas localizações possíveis que se ajustem aos elementos<br />
(linhas) <strong>da</strong> imagem. Ométo<strong>do</strong> global éutiliza<strong>do</strong> quan<strong>do</strong> ométo<strong>do</strong> local falha. O<br />
méto<strong>do</strong> local segue os elementos encontra<strong>do</strong>s na imagem em Tempo Real. Nas<br />
conclusões <strong>de</strong>ste trabalho éreferi<strong>do</strong>, no entanto, que curvas aperta<strong>da</strong>s são mal<br />
suporta<strong>da</strong>s pelos algoritmos implementa<strong>do</strong>s.<br />
63
Sistemas <strong>de</strong> Localização<br />
Tabela 3.3 Resumo comparativo e pontos fracos <strong>da</strong> utilização <strong>de</strong> diversos elementos a seguir [161]<br />
Elemento Segui<strong>do</strong> Entra<strong>da</strong> Objectivo Dificul<strong>da</strong><strong>de</strong>s<br />
Detecção <strong>de</strong> bor<strong>da</strong>s<br />
(edge <strong>de</strong>tection)<br />
Bor<strong>da</strong>s ajusta<strong>da</strong>s à<br />
escala<br />
Correlação <strong>de</strong><br />
intensi<strong>da</strong><strong>de</strong>s <strong>do</strong>s<br />
elementos <strong>de</strong><br />
primeiro plano<br />
Tom <strong>de</strong> cor<br />
<strong>do</strong> elemento <strong>de</strong><br />
primeiro plano<br />
Intensi<strong>da</strong><strong>de</strong>s <strong>do</strong>s<br />
pixeis<br />
Taxa <strong>de</strong> amostragem,<br />
pixeis amostra<strong>do</strong>s<br />
Intensi<strong>da</strong><strong>de</strong>s <strong>do</strong>s<br />
pixeis em primeiro<br />
plano:<br />
actual e anterior<br />
Cor <strong>do</strong>s pixeis:<br />
actual e anterior<br />
Pesquisa <strong>de</strong> segmentos Pixeis junto aos finais<br />
<strong>do</strong>s segmentos<br />
Movimento Esta<strong>do</strong> anterior e<br />
mo<strong>de</strong>lo dinâmico<br />
Mo<strong>de</strong>lo Geométrico Esta<strong>do</strong>s <strong>de</strong> outros<br />
elementos<br />
Encontra elementos<br />
<strong>de</strong> gran<strong>de</strong> contraste<br />
Encontra bor<strong>da</strong>s<br />
não óbvias<br />
Evi<strong>de</strong>ncia bor<strong>da</strong>s com<br />
primeiros planos<br />
similares<br />
Evi<strong>de</strong>ncia bor<strong>da</strong>s com<br />
a mesma cor que o<br />
elemento <strong>de</strong> 1º plano<br />
I<strong>de</strong>ntifica<br />
rectas/segmentos<br />
distorci<strong>da</strong>s<br />
Permite sobreviver à<br />
oclusão<br />
Integrar com outros<br />
elementos segui<strong>do</strong>s<br />
Não <strong>de</strong>scrimina<br />
bor<strong>da</strong>s<br />
Per<strong>da</strong> <strong>de</strong> precisão<br />
<strong>de</strong>vi<strong>do</strong> à amostragem<br />
Dificul<strong>da</strong><strong>de</strong>s com<br />
iluminação variável, a<br />
oclusão parcial e<br />
“distracção”<br />
Po<strong>de</strong>m existir<br />
dificul<strong>da</strong><strong>de</strong>s com<br />
oclusão e “distracção”<br />
Utiliza a <strong>de</strong>tecção <strong>de</strong><br />
bor<strong>da</strong>s<br />
Espera que os<br />
elementos se movam<br />
<strong>de</strong> acor<strong>do</strong> com o<br />
mo<strong>de</strong>lo dinâmico<br />
Exige confirmação<br />
adicional na imagem<br />
A referência [163] utiliza um sistema em que a localização é basea<strong>da</strong> em<br />
marca<strong>do</strong>res especiais <strong>de</strong> uma cor. Os marca<strong>do</strong>res são segui<strong>do</strong>s com um sistema<br />
pan-tilt-zoom que permite observar e medir as dimensões <strong>do</strong> marca<strong>do</strong>r com<br />
precisão. Através <strong>da</strong> medi<strong>da</strong> na imagem <strong>do</strong> marca<strong>do</strong>r colori<strong>do</strong>, épossível aferir<br />
distância eângulo ao marca<strong>do</strong>r. Refere-se uma localização com um erro <strong>de</strong> cerca<br />
<strong>de</strong> 7 cm numa experiência <strong>de</strong> 3m por 2.4m.<br />
Otrabalho [164] utiliza uma diversi<strong>da</strong><strong>de</strong> <strong>de</strong> sensores para fazer alocalização.<br />
São utiliza<strong>do</strong>s um giroscópio, 2 câmaras e informação proveniente <strong>de</strong><br />
ho<strong>do</strong>metria. To<strong>da</strong> ainformação éfundi<strong>da</strong> num Filtro <strong>de</strong> Kalman Extendi<strong>do</strong>. É<br />
referi<strong>da</strong> um erro <strong>de</strong> localização em (x,y) com uma distribuição normal com<br />
média <strong>de</strong> 0.35 me0.3 m<strong>de</strong> <strong>de</strong>svio padrão. Para oerro angular éreferi<strong>da</strong> uma<br />
distribuição normal com média <strong>de</strong> 0.2º, <strong>de</strong>svio padrão <strong>de</strong> 3.5º.<br />
3.4 Localização e Mapeamento Simultâneo<br />
Os <strong>da</strong><strong>do</strong>s que robot recolhe relativamente ao meio ambiente po<strong>de</strong>m ser<br />
utiliza<strong>do</strong>s tanto para a localização como para a actualização <strong>do</strong> mapa <strong>do</strong><br />
64
Sistemas <strong>de</strong> Localização<br />
ambiente exterior. Esta técnica <strong>de</strong>signa-se localização e mapeamento<br />
simultâneo (SLAM -Simultaneous Localization And Mapping). Estes méto<strong>do</strong>s são<br />
tipicamente utiliza<strong>do</strong>s para ambientes algo variáveis e as suas aplicações são<br />
muitas vezes ao ar livre.<br />
Estes méto<strong>do</strong>s po<strong>de</strong>m ser agrupa<strong>do</strong>s em 2 tipos [165] [166]:<br />
• Méto<strong>do</strong>s basea<strong>do</strong>s em medi<strong>da</strong>s directas <strong>do</strong>s sensores:<br />
• ca<strong>da</strong> medi<strong>da</strong> tenta produzir uma localização ten<strong>do</strong> em conta <strong>da</strong><strong>do</strong>s os<br />
recolhi<strong>do</strong>s anteriormente;<br />
• se alocalização éconsegui<strong>da</strong>, então éacrescenta<strong>da</strong> anova informação ao<br />
mapa;<br />
Informação<br />
directamente <strong>do</strong>s<br />
sensores externos<br />
Informação <strong>de</strong><br />
sensores internos<br />
(enco<strong>de</strong>rs, etc)<br />
Figura 3.12 Méto<strong>do</strong> SLAM utilizan<strong>do</strong> <strong>da</strong><strong>do</strong>s directos <strong>do</strong>s sensores<br />
• Méto<strong>do</strong>s basea<strong>do</strong>s em marcas características (<strong>de</strong> alto nível) revela<strong>da</strong>s por<br />
<strong>da</strong><strong>do</strong>s <strong>do</strong>s sensores:<br />
• Da<strong>do</strong>s <strong>do</strong>s sensores são processa<strong>do</strong>s para obter marcas características <strong>de</strong><br />
alto nível;<br />
• Tenta obter correspondências <strong>de</strong>ssas marcas em leituras anteriores <strong>do</strong>s<br />
sensores;<br />
• Se alocalização éconsegui<strong>da</strong>, então éacrescenta<strong>da</strong> anova informação<br />
ao mapa.<br />
Uma <strong>da</strong>s questões centrais neste tipo <strong>de</strong> méto<strong>do</strong>s éopercurso que orobot <strong>de</strong>ve<br />
fazer para conhecer omapa: on<strong>de</strong> éque orobot não esteve ?Algumas soluções<br />
são:<br />
• movimentos aleatórios;<br />
para n<br />
observações<br />
Contruir Mapa<br />
Local<br />
Modificações<br />
ao esta<strong>do</strong><br />
anterior<br />
• varrer fronteira mais próxima;<br />
Mapa<br />
Global<br />
Mapa<br />
Local<br />
esta<strong>do</strong><br />
estima<strong>do</strong><br />
Avaliar<br />
correspondências<br />
entre<br />
to<strong>do</strong>s<br />
os<br />
<strong>da</strong><strong>do</strong>s<br />
disponíveis<br />
Registar<br />
Informação<br />
• utilizar ohistórico <strong>do</strong>s movimentos medi<strong>do</strong>s pelos sensores próprios para<br />
evitar zonas visita<strong>da</strong>s recentemente.<br />
Um exemplo simples <strong>do</strong> conceito SLAM éautilização <strong>de</strong> mo<strong>de</strong>los probabilísticos<br />
65
Sistemas <strong>de</strong> Localização<br />
para os mapas e para robot. É então possível utilizar probabili<strong>da</strong><strong>de</strong>s<br />
condiciona<strong>da</strong>s para ajustar omapa eaposição <strong>do</strong> robot com orecurso às novas<br />
informação recolhi<strong>da</strong>s pelo sistema [167], [168], [169].<br />
3.5 Conclusões<br />
Neste capítulo foram lista<strong>da</strong>s abor<strong>da</strong>gens genéricas à localização e soluções<br />
concretas <strong>de</strong> localização trabalha<strong>da</strong>s por outros autores. Esta área émotivo <strong>de</strong><br />
intensa pesquisa cientifico-tecnológica. As soluções <strong>de</strong>pen<strong>de</strong>m fortemente <strong>da</strong><br />
aplicação específica em causa, em particular <strong>do</strong> o nível <strong>de</strong> estrutura <strong>do</strong> ambiente,<br />
<strong>de</strong>ntro ou fora <strong>de</strong> portas, <strong>da</strong>s características <strong>do</strong> mapa disponível e<strong>da</strong>s dimensões<br />
em causa para o movimento.<br />
Foi também menciona<strong>da</strong> atécnica <strong>de</strong> localização emapeamento simultâneo que<br />
tenta, ao longo <strong>do</strong> tempo, ir melhoran<strong>do</strong> arepresentação <strong>do</strong> ambiente enquanto<br />
o robot se <strong>de</strong>sloca.<br />
66
Capítulo 4<br />
Sistemas <strong>de</strong> Visão<br />
4.1 Cor e Imagem<br />
Aaquisição <strong>da</strong> cor por parte <strong>do</strong> ser humano ébasea<strong>da</strong> em 3sensores, os cones<br />
retinais que adquirem ca<strong>da</strong> uma <strong>da</strong>s 3 componentes básicas <strong>de</strong> cor (ver fig. 4.1).<br />
Figura 4.1 Sensores RGB nos Humanos (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [170])<br />
Este sistema <strong>de</strong> cor é<strong>de</strong>nomina<strong>do</strong> <strong>de</strong> RGB, sigla anglo-saxónica respectivamente<br />
67
Sistemas <strong>de</strong> Visão<br />
para as cores Vermelho, Ver<strong>de</strong> eAzul [171], [172] e[173]. Ca<strong>da</strong> um <strong>de</strong>stes<br />
sensores tem uma sensibili<strong>da</strong><strong>de</strong> diferente à luz ao longo <strong>do</strong> espectro <strong>da</strong> luz,<br />
mostra<strong>do</strong> na figura 4.2.<br />
Figura 4.2 Espectro <strong>de</strong> cor (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])<br />
Épossível então caracterizar aresposta <strong>do</strong> olho humano aca<strong>da</strong> frequência <strong>de</strong><br />
luz, tal como mostra<strong>do</strong> na figura 4.3.<br />
Figura 4.3 Sensibili<strong>da</strong><strong>de</strong> a ca<strong>da</strong> cor (a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])<br />
Ca<strong>da</strong> cor tem uma frequência que estimula <strong>de</strong> forma diferente os sensores <strong>de</strong> cor<br />
<strong>da</strong> visão humana. To<strong>da</strong>s as cores que po<strong>de</strong>mos ver po<strong>de</strong>m assim ser obti<strong>da</strong>s à<br />
custa <strong>de</strong> 3cores primárias. Omo<strong>de</strong>lo RGB éaditivo eassim as cores secundárias<br />
são consegui<strong>da</strong>s através <strong>da</strong>s combinações soma<strong>da</strong>s <strong>da</strong>s cores primárias tal como<br />
mostra<strong>do</strong> na figura 4.4.<br />
68<br />
Figura 4.4 À esquer<strong>da</strong>, cores primárias e secundárias; à direita po<strong>de</strong>-se ver o cubo<br />
RGB
Sistemas <strong>de</strong> Visão<br />
Uma importante questão relativa àvisão humana éainterpretação inerente as<br />
imagens que ten<strong>de</strong> arealçar as diferenças em torno <strong>do</strong> que se enten<strong>de</strong> como<br />
sen<strong>do</strong> o fun<strong>do</strong> <strong>da</strong> imagem. Tal é <strong>de</strong>vi<strong>do</strong> à gran<strong>de</strong> a<strong>da</strong>ptabili<strong>da</strong><strong>de</strong> <strong>do</strong> olho<br />
humano face às condições <strong>de</strong> iluminação eàvariação <strong>de</strong>sta iluminação mesmo<br />
<strong>de</strong>ntro <strong>da</strong> mesma imagem. Observe-se os quadra<strong>do</strong>s AeB<strong>da</strong> figura 4.5 que são<br />
rigorosamente <strong>do</strong> mesmo tom <strong>de</strong> cinzento mas aparentam ser diferentes 25 .O<br />
observa<strong>do</strong>r humano <strong>de</strong>sta figura não consegue <strong>de</strong>ixar <strong>de</strong> ainterpretar eassim<br />
aparece a ilusão <strong>de</strong> que A e B têm cores diferentes.<br />
Figura 4.5 Ilusão óptica num tabuleiro em xadrez<br />
Toman<strong>do</strong> então uma <strong>de</strong>finição matemática, qualquer cor po<strong>de</strong> ser <strong>de</strong>fini<strong>da</strong> pelo<br />
conjunto <strong>da</strong>s suas componentes básicas RGB. Uma imagem éentão <strong>de</strong>fini<strong>da</strong> pela<br />
função:<br />
rgb: I ℝ 3<br />
p uv r,g,b<br />
r,g,b∈[0,1] ,u∈[0 ,u max 1] ,v∈[0 ,v max 1]<br />
(4.1)<br />
Esta função associa aca<strong>da</strong> pixel <strong>da</strong> imagem <strong>de</strong> dimensões u max por v max uma cor<br />
com componentes (r, g, b) para overmelho, ver<strong>de</strong> eazul com intensi<strong>da</strong><strong>de</strong>s que<br />
po<strong>de</strong>m ser normaliza<strong>da</strong>s no intervalo unitário. Em sistemas digitais estas<br />
intensi<strong>da</strong><strong>de</strong> (r,g,b) são discretiza<strong>da</strong>s em n r,n g, n b bits respectivamente. Acor<br />
assume assim um número não infinito <strong>de</strong> combinações. Utilizan<strong>do</strong> 1byte para<br />
ca<strong>da</strong> componente <strong>de</strong> cor (n r=n g=n b=8, total <strong>de</strong> 24 bits) oefeito <strong>da</strong> discretização<br />
<strong>de</strong> cor já évisualmente in<strong>de</strong>tectável. Uma profundi<strong>da</strong><strong>de</strong> <strong>de</strong> cor muito utiliza<strong>da</strong><br />
por ser compacta e mesmo assim a per<strong>da</strong> <strong>de</strong> informação visual não ser<br />
importante éautilização <strong>de</strong> 5bits para ca<strong>da</strong> componente <strong>de</strong> cor (total <strong>de</strong> 15<br />
25Para confirmar, tapar to<strong>da</strong> a figura excepto os 2 quadra<strong>do</strong> em causa<br />
69
Sistemas <strong>de</strong> Visão<br />
bits). Não ultrapassan<strong>do</strong> 2bytes para ca<strong>da</strong> pixel étambém muito utiliza<strong>da</strong> a<br />
“profundi<strong>da</strong><strong>de</strong> <strong>de</strong> cor” (nível <strong>de</strong> discretização) on<strong>de</strong> n r=5, n g=6, n b=5, num<br />
total <strong>de</strong> 16 bits. Acomponente relativa ao ver<strong>de</strong> éamostra<strong>da</strong> com mais bits visto<br />
que é na zona <strong>da</strong>s cores ver<strong>de</strong>/amarelo que a nossa visão assume maior<br />
sensibili<strong>da</strong><strong>de</strong> quan<strong>do</strong> toma<strong>da</strong> <strong>de</strong> forma global, tal como mostra<strong>do</strong> na fig 4.6.<br />
Figura 4.6 Sensibili<strong>da</strong><strong>de</strong> global <strong>da</strong> visão humana<br />
(a<strong>da</strong>pta<strong>do</strong> <strong>de</strong> [173])<br />
Para adifusão sem fios <strong>de</strong> televisão analógica na Europa oci<strong>de</strong>ntal utiliza-se a<br />
normal PAL. Este sistema utiliza<strong>da</strong> um sistema <strong>de</strong> cor que mantém a<br />
compatibili<strong>da</strong><strong>de</strong> com osistema antigo <strong>de</strong> televisão apreto ebranco. Este sistema<br />
<strong>de</strong>nomina-se <strong>de</strong> YIQ. Acomponente y éaluminância, sinal apreto ebranco que<br />
será transmiti<strong>do</strong> <strong>de</strong> tal forma que as televisões apreto ebranco continuem a<br />
funcionar. Acomponente y avalia arelação claro –escuro <strong>da</strong> cor em causa, isto<br />
é, correspon<strong>de</strong> ànoção psicológica <strong>de</strong> clari<strong>da</strong><strong>de</strong>. To<strong>da</strong> ainformação relativa à<br />
cor étransmiti<strong>da</strong> em duas componentes, Iem fase e Qem quadratura. A<br />
relação formal entre as componentes (rgb) e (yiq) é a seguinte:<br />
[y<br />
0.587 0.114<br />
][ i 0.596 0.275 0.321<br />
q]=[0.299<br />
0.212 0.523 0.311 r<br />
b] g<br />
(4.2)<br />
Note-se que arelação (4.2) quantifica alguma <strong>da</strong> informação conti<strong>da</strong> na fig 4.6.<br />
Po<strong>de</strong>-se ver que no cálculo <strong>da</strong> luminância, acor ver<strong>de</strong> tem omaior peso eacor<br />
azul tem omenor peso. Esta formalização reflecte anoção intuitiva que oazul<br />
contribui menos para a clari<strong>da</strong><strong>de</strong> <strong>de</strong> uma <strong>da</strong><strong>da</strong> cor que as outras cores primárias.<br />
4.2 Mo<strong>de</strong>lo para a Câmara<br />
Os conceitos apresenta<strong>do</strong>s <strong>de</strong> segui<strong>da</strong> são complementares às consi<strong>de</strong>rações<br />
anteriormente referi<strong>da</strong>s relativamente àiluminação <strong>de</strong> uma <strong>da</strong><strong>da</strong> cena (consultar<br />
secção 3.3.6, pág. 59).<br />
70
4.2.1 Parâmetros intrínsecos<br />
Sistemas <strong>de</strong> Visão<br />
Consi<strong>de</strong>re-se oproblema <strong>da</strong> visão num sistema robótico on<strong>de</strong> acâmara po<strong>de</strong> ser<br />
transporta<strong>da</strong> pelo robot ou po<strong>de</strong> observar <strong>de</strong> forma estacionária uma cena. Em<br />
qualquer caso há uma projecção <strong>de</strong> uma reali<strong>da</strong><strong>de</strong> tridimensional numa imagem<br />
bidimensional (figura 4.7). Observan<strong>do</strong> omesmo objecto com amesma câmara é<br />
então possível obter imagens muito diferentes (figura 4.8).<br />
Figura 4.7 Casos frequentes em visão para robótica<br />
Consi<strong>de</strong>re-se omo<strong>de</strong>lo “pin-hole” para acâmara, ilustra<strong>do</strong> nas figuras 4.9 e4.10.<br />
Neste mo<strong>de</strong>lo existe um plano virtual on<strong>de</strong> se forma aimagem que se situa entre<br />
o buraco <strong>do</strong> alfinete (pin-hole) e a cena visualiza<strong>da</strong>.<br />
Figura 4.8 Efeitos <strong>de</strong> uma projecção<br />
Na reali<strong>da</strong><strong>de</strong> utilizam-se lentes para focar aimagem emodificar aamplitu<strong>de</strong> <strong>da</strong><br />
cena regista<strong>da</strong> pela câmara (fig. 4.11).<br />
Plano<br />
<strong>da</strong><br />
Imagem<br />
Pinhole<br />
(buraco <strong>de</strong> alfinete)<br />
Imagem<br />
Virtual<br />
Figura 4.9 Esquema visual <strong>de</strong> uma câmara mostran<strong>do</strong> o plano virtual <strong>da</strong> imagem<br />
71
Sistemas <strong>de</strong> Visão<br />
Figura 4.10 Sistema <strong>de</strong> eixos no mo<strong>de</strong>lo <strong>da</strong> câmara<br />
Figura 4.11 Efeito <strong>de</strong> uma lente<br />
A relação entre os pontos P(X,Y,Z) e os pontos <strong>da</strong> imagem (u',v') é:<br />
{u' = y<br />
x<br />
v' = z<br />
x<br />
f<br />
f<br />
On<strong>de</strong> f é a distância focal <strong>da</strong> lente utiliza<strong>da</strong>.<br />
v<br />
v’<br />
Figura 4.12 Coor<strong>de</strong>na<strong>da</strong>s <strong>da</strong> imagem<br />
(4.3)<br />
Consi<strong>de</strong>re-se agora um novo sistema <strong>de</strong> coor<strong>de</strong>na<strong>da</strong>s centra<strong>da</strong>s para aimagem<br />
tal como ilustra<strong>do</strong> na fig. 4.12 e <strong>de</strong>fini<strong>do</strong> por:<br />
72<br />
Centro<br />
<strong>da</strong> Lente<br />
p<br />
Plano <strong>da</strong><br />
imagem<br />
z<br />
Plano <strong>da</strong><br />
imagem<br />
Distância Focal<br />
Distância Focal<br />
y<br />
u' v'<br />
p<br />
Plano <strong>da</strong><br />
imagem<br />
virtual<br />
Centro<br />
<strong>da</strong> Lente<br />
(O , O)<br />
u v<br />
P<br />
u<br />
u’<br />
x<br />
Eixo<br />
óptico<br />
P<br />
Eixo<br />
óptico
{ u'=uOu⋅ Su<br />
v'=vOv⋅Sv Sistemas <strong>de</strong> Visão<br />
(4.4)<br />
On<strong>de</strong> Su eSv são as distâncias horizontal evertical respectivamente entre pixeis<br />
adjacentes. Se o pixel tiver forma quadra<strong>da</strong>, Su=Sv.<br />
As lentes beneficiam aformação <strong>da</strong> imagem mas provocam um efeito chama<strong>do</strong><br />
efeito <strong>de</strong> barril que po<strong>de</strong> ser mo<strong>de</strong>liza<strong>do</strong> por:<br />
{ u' =u dOx⋅ Su ⋅ 1 kb⋅ rd 2 <br />
v' =v dOy⋅ Sv ⋅ 1 kb⋅ rd 2 <br />
(4.5)<br />
On<strong>de</strong> u <strong>de</strong>v dsão as coor<strong>de</strong>na<strong>da</strong>s <strong>da</strong> imagem distorci<strong>da</strong> eon<strong>de</strong> adistância ao<br />
centro <strong>da</strong> imagem é rd = xd 2 yd 2 . A constante k b <strong>de</strong>pen<strong>de</strong> <strong>do</strong> nível <strong>de</strong><br />
distorção <strong>da</strong> lente. Afigura 4.13 apresenta oaspecto <strong>de</strong> uma imagem distorci<strong>da</strong><br />
aparenta<strong>da</strong> com um barril e<strong>de</strong> uma imagem distorci<strong>da</strong> aparenta<strong>da</strong> com uma<br />
“almofa<strong>da</strong>” (pin-cushion). Arelação matemática 4.5 corrige uma distorção em<br />
barril com um k b positivo – na figura 4.13 os pontos correctos foram distorci<strong>do</strong>s.<br />
200<br />
150<br />
100<br />
50<br />
0<br />
-250 -150 -50 50 150 250<br />
-50<br />
-100<br />
-150<br />
-200<br />
Pos. Org. Pixel K=4e-6 K=-4e-6<br />
Figura 4.13 Ilustração <strong>da</strong> imagem com distorções <strong>do</strong><br />
tipo barril e “pin-cushion” num exemplo<br />
apresentan<strong>do</strong> a resolução <strong>de</strong> 384 por 288 pixeis<br />
Amo<strong>de</strong>lização <strong>da</strong> câmara <strong>de</strong>ve ain<strong>da</strong> referir-se à resolução. Se as distâncias<br />
entre pixeis adjacentes <strong>da</strong> câmara forem conheci<strong>da</strong>s com ovalor (Px, Py), então<br />
as distâncias <strong>do</strong>s pixeis na imagem são <strong>da</strong><strong>do</strong>s por:<br />
{ Sx=axPx<br />
(4.6)<br />
Sy=Py<br />
On<strong>de</strong> ax é um factor <strong>de</strong> escala para compensação <strong>da</strong> eventuali<strong>da</strong><strong>de</strong> <strong>de</strong> as<br />
frequências <strong>de</strong> amostragem horizontal evertical <strong>da</strong> câmara não tomarem valores<br />
iguais.<br />
Estes parâmetros são relativos à câmara e ao sistema óptico e <strong>de</strong>pois <strong>de</strong><br />
<strong>de</strong>termina<strong>do</strong>s mantêm-se inaltera<strong>do</strong>s para esse mesmo conjunto câmara e óptica.<br />
73
Sistemas <strong>de</strong> Visão<br />
Os parâmetros intrínsecos <strong>da</strong> câmara são:<br />
• O u e O v<br />
respectivamente;<br />
• d<br />
- centro <strong>da</strong> imagem segun<strong>do</strong> eixo <strong>do</strong>s uu e <strong>do</strong>s vv<br />
- Distância <strong>do</strong> plano virtual <strong>da</strong> imagem ao ponto <strong>de</strong> foco;<br />
• k b - Parâmetro <strong>da</strong> distorção em barril (<strong>do</strong> sistema óptico <strong>da</strong> câmara);<br />
• M u e M v – Número <strong>de</strong> pixeis segun<strong>do</strong> o eixo <strong>do</strong>s uu e <strong>do</strong>s vv,<br />
respectivamente.<br />
4.2.2 Parâmetros Extrínsecos<br />
Aimagem <strong>da</strong> câmara <strong>de</strong>pen<strong>de</strong> naturalmente <strong>da</strong> sua colocação no mun<strong>do</strong> -estes<br />
são os seus parâmetros extrínsecos.<br />
Estes parâmetros extrínsecos po<strong>de</strong>m ser lista<strong>do</strong>s por inspecção edizem respeito à<br />
colocação tridimensional <strong>de</strong> um objecto:<br />
• Rotação em torno <strong>do</strong> eixo <strong>do</strong>s xx;<br />
• Rotação em torno <strong>do</strong> eixo <strong>do</strong>s yy;<br />
• Rotação em torno <strong>do</strong> eixo <strong>do</strong>s zz;<br />
• X,Y,Z Posição <strong>da</strong> câmara no mun<strong>do</strong>.<br />
Para facili<strong>da</strong><strong>de</strong> <strong>de</strong> consulta ecomo exemplo consi<strong>de</strong>re-se ocaso <strong>da</strong> figura 4.14<br />
que será <strong>de</strong>senvolvi<strong>do</strong> em capítulo posterior.<br />
Figura 4.14 Sistemas <strong>de</strong> eixos utiliza<strong>do</strong>s,representação em perspectiva isométrica<br />
Observe-se os eixos <strong>do</strong> mun<strong>do</strong> na figura 4.14 eo<strong>de</strong>talhe <strong>do</strong> posicionamento e<br />
orientação <strong>da</strong> câmara (e respectivo sistema <strong>de</strong> eixos), <strong>de</strong>talha<strong>do</strong>s na figura 4.15.<br />
74
Figura 4.15 Sistemas <strong>de</strong> eixos em <strong>de</strong>talhe<br />
4.2.3 Relação imagem-mun<strong>do</strong> (UVZ2XY)<br />
Sistemas <strong>de</strong> Visão<br />
Para a calibração <strong>da</strong> câmara e para obter medi<strong>da</strong>s <strong>da</strong> câmara numa <strong>da</strong><strong>da</strong> posição<br />
é necessário estabelecer a relação matemática entre pontos 3D <strong>do</strong> mun<strong>do</strong> e<br />
pontos <strong>da</strong> imagem 2D.<br />
Preten<strong>de</strong>-se uma relação que produza aposição <strong>do</strong> mun<strong>do</strong> (X,Y) <strong>de</strong> um <strong>da</strong><strong>do</strong><br />
pixel <strong>da</strong> imagem (u,v). Para tal énecessário uma sequência <strong>de</strong> transformações<br />
lista<strong>da</strong>s <strong>de</strong> segui<strong>da</strong>. Utilizam-se como <strong>da</strong><strong>do</strong>s os parâmetros <strong>da</strong> câmara eaaltura<br />
<strong>do</strong> ponto no mun<strong>do</strong> (Z). Para facili<strong>da</strong><strong>de</strong> <strong>de</strong>signe-se esta técnica como “algoritmo<br />
UVZ2XY”.<br />
Consi<strong>de</strong>re-se então oponto <strong>da</strong> imagem (uc,vc) que se preten<strong>de</strong> centrar no novo<br />
sistema <strong>de</strong> coor<strong>de</strong>na<strong>da</strong>s <strong>da</strong> imagem (u',v') é consegui<strong>da</strong> através <strong>de</strong>:<br />
[ u' uc<br />
v'] =[ vc] [ O v] u<br />
O (4.7)<br />
Em que O u e O v são os centros <strong>da</strong> imagem segun<strong>do</strong> o eixo uu e vv<br />
respectivamente.<br />
De segui<strong>da</strong> ro<strong>da</strong>-se to<strong>da</strong> aimagem β graus em torno <strong>do</strong> seu centro (virá aser o<br />
eixo x'):<br />
[ u rot<br />
v rot]<br />
cos sin <br />
=[ sin cos][ u'<br />
v'] (4.8)<br />
Esta formulação em concreto éváli<strong>da</strong> para ocaso <strong>do</strong>s robots 5dpo-2000 pois é<br />
necessário ro<strong>da</strong>r aimagem 90º para compensar acolocação vertical <strong>da</strong> câmara<br />
nos robots.<br />
75
Sistemas <strong>de</strong> Visão<br />
Aplican<strong>do</strong> acompensação <strong>da</strong> distorção em barril, os pontos no plano virtual <strong>da</strong><br />
imagem são <strong>da</strong><strong>do</strong>s por:<br />
z]=[<br />
[x<br />
y<br />
d<br />
2 2<br />
v rot1k b u rotvrot<br />
] (4.9)<br />
2 2<br />
urot1k b u rotvrot<br />
Ro<strong>da</strong>n<strong>do</strong> oplano <strong>da</strong> imagem virtual α graus em torno <strong>do</strong> eixo <strong>do</strong>s y' obtemos os<br />
pontos:<br />
[x p<br />
0 sin <br />
][ y 0 1 0<br />
p<br />
z sin 0 cos<br />
p]=[cos x<br />
y<br />
z]<br />
(4.10)<br />
Éain<strong>da</strong> necessário interceptar arecta que passa pela câmara epelo ponto <strong>do</strong><br />
plano virtual <strong>da</strong> imagem com o plano z=z w <strong>do</strong> mun<strong>do</strong> real<br />
[ xc c] y = [ zwZx p /z p ]<br />
zwZ y p / z p<br />
(4.11)<br />
Fazen<strong>do</strong> a translação e rotação <strong>do</strong> ponto anterior para as coor<strong>de</strong>na<strong>do</strong>s <strong>do</strong><br />
mun<strong>do</strong><br />
[ x w<br />
y w]<br />
=[ cos sin <br />
sin cos ][ x c<br />
c] [<br />
X<br />
y Y ] (4.12)<br />
assim encontramos as coor<strong>de</strong>na<strong>da</strong>s (x w,y w)correspon<strong>de</strong>ntes ao ponto (uc,vc) <strong>da</strong><br />
imagem.<br />
4.2.4 Calibração <strong>de</strong> Parâmetros<br />
Conhecen<strong>do</strong> o algoritmo anterior, a calibração <strong>da</strong>s câmaras po<strong>de</strong> ser feita<br />
através <strong>de</strong> méto<strong>do</strong>s numéricos.<br />
Énecessário criar uma lista <strong>de</strong> correspondências entre pontos conheci<strong>do</strong>s <strong>do</strong><br />
mun<strong>do</strong> mapea<strong>do</strong>s em pontos conheci<strong>do</strong>s <strong>da</strong> imagem. Essa lista será:<br />
L i :u i ,v i x i ,y i ,z i (4.13)<br />
on<strong>de</strong> u i ,v i são as coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> ponto <strong>da</strong> imagem e x i ,y i ,z i são as<br />
correspon<strong>de</strong>ntes coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong>. Para facili<strong>da</strong><strong>de</strong> <strong>de</strong> realização prática<br />
<strong>da</strong> calibração epara facilitar aconvergência numérica éusual que z permaneça<br />
constante e nulo.<br />
Implementan<strong>do</strong> oalgoritmo referi<strong>do</strong> no ponto anterior numa folha <strong>de</strong> cálculo é<br />
76
Sistemas <strong>de</strong> Visão<br />
possível utilizar ométo<strong>do</strong> numérico <strong>da</strong> aplicação para obter to<strong>do</strong>s os parâmetros<br />
<strong>da</strong> câmara. Este méto<strong>do</strong> numérico tenta minimizar uma função <strong>de</strong> custo Cque<br />
confronta os resulta<strong>do</strong>s calcula<strong>do</strong>s através <strong>do</strong> algoritmo com os <strong>da</strong><strong>do</strong>s:<br />
C =∑ i<br />
∣x i x i ∣∣ y i y i ∣ (4.14)<br />
on<strong>de</strong> os resulta<strong>do</strong>s <strong>do</strong> algoritmo são representa<strong>do</strong>s por x i ,y i .<br />
Esta é uma função <strong>de</strong> custo <strong>de</strong> primeira or<strong>de</strong>m. Os valores iniciais <strong>de</strong>sta<br />
operação <strong>de</strong>vem ser introduzi<strong>do</strong>s <strong>de</strong> forma cui<strong>da</strong><strong>da</strong> levan<strong>do</strong> aoptimização a<br />
convergir para o mínimo global.<br />
4.3 Conclusões<br />
Neste capítulo foi contextualiza<strong>da</strong> a visão, a imagem e a cor.<br />
Acâmara foi alvo <strong>de</strong> mo<strong>de</strong>lização formal, ten<strong>do</strong> si<strong>do</strong> lista<strong>do</strong>s os parâmetros<br />
intrínsecos e extrínsecos <strong>do</strong> mo<strong>de</strong>lo <strong>da</strong> câmara.<br />
Foi também ilustra<strong>do</strong> oalgoritmo <strong>de</strong> mapeamento imagem mun<strong>do</strong> que permite,<br />
entre outras funcionali<strong>da</strong><strong>de</strong>s, acalibração <strong>de</strong> uma câmara numa <strong>da</strong><strong>da</strong> aplicação.<br />
A técnica <strong>de</strong> calibração referi<strong>da</strong> será utiliza<strong>da</strong> em capítulos futuros.<br />
77
Capítulo 5<br />
Processos Estocásticos e Filtros <strong>de</strong><br />
Kalman<br />
5.1 Introdução<br />
Este capítulo abor<strong>da</strong> algumas ferramentas teóricas utilizas neste trabalho.<br />
Ateoria <strong>da</strong>s probabili<strong>da</strong><strong>de</strong>s permite mo<strong>de</strong>lizar um <strong>da</strong><strong>do</strong> fenómeno, incerto na<br />
sua natureza mas acerca <strong>do</strong> qual temos algum conhecimento [174].<br />
Ométo<strong>do</strong> <strong>do</strong>s mínimos quadra<strong>do</strong>s que permite aestimação <strong>de</strong> um conjunto <strong>de</strong><br />
parâmetros a partir <strong>de</strong> medi<strong>da</strong>s rui<strong>do</strong>sas é também abor<strong>da</strong><strong>do</strong>.<br />
OFiltro <strong>de</strong> Kalman [175] éuma ferramenta que utiliza as probabili<strong>da</strong><strong>de</strong>s eque<br />
se baseia no méto<strong>do</strong> <strong>do</strong>s mínimos quadra<strong>do</strong>s para fundir to<strong>da</strong> a informação<br />
presente no sistema <strong>de</strong> forma óptima [174], [176], [177], [178].<br />
78
5.2 Variáveis aleatórias<br />
5.2.1 Fun<strong>da</strong>mentos acerca <strong>de</strong> Probabili<strong>da</strong><strong>de</strong>s<br />
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
Consi<strong>de</strong>remos U Y como sen<strong>do</strong> ouniverso <strong>de</strong> to<strong>do</strong>s os valores que uma <strong>da</strong><strong>da</strong><br />
variável Y po<strong>de</strong> assumir (Yrepresenta ofenómeno amo<strong>de</strong>lizar). Y será então<br />
uma variável aleatória ese assumir uma variação temporal Y(t) <strong>de</strong>signa-se por<br />
processo estocástico.<br />
No caso <strong>de</strong> o processo estocástico assumir apenas valores discretos para a<br />
variável t, então é usual in<strong>de</strong>xar o tempo à variável discreta:<br />
Y t processo estocástico<br />
t ∈ℝ<br />
Y kprocesso estocástico em tempo discreto<br />
k ∈ℤ<br />
É então necessário estabelecer uma lei <strong>de</strong> probabili<strong>da</strong><strong>de</strong> que indique quão<br />
previsível éque Yassuma um <strong>da</strong><strong>do</strong> valor, omesmo édizer, que ofenómeno sob<br />
estu<strong>do</strong> tenha um <strong>da</strong><strong>do</strong> <strong>de</strong>sfecho. Aprobabili<strong>da</strong><strong>de</strong> <strong>de</strong> acontecer um <strong>de</strong>sfecho Aé<br />
representa<strong>da</strong> por P(Y=A) ou P(A).<br />
Uma <strong>da</strong><strong>da</strong> lei <strong>de</strong> probabili<strong>da</strong><strong>de</strong> <strong>de</strong>ve ain<strong>da</strong> obe<strong>de</strong>cer a:<br />
1. P A≥0∀ A<br />
2. PU Y=1<br />
3. P A 1∪A 2∪...= P A 1P A 2... para qualquer sequência finita ou não <strong>de</strong><br />
eventos mutuamente exclusivos<br />
Definin<strong>do</strong> uma função <strong>de</strong>nsi<strong>da</strong><strong>de</strong> <strong>de</strong> probabili<strong>da</strong><strong>de</strong> (fdp) como sen<strong>do</strong> a<br />
função que calcula para ca<strong>da</strong> valor x asua probabili<strong>da</strong><strong>de</strong>, f y x:ℝℝ ,esta<br />
fdp <strong>de</strong>ve obe<strong>de</strong>cer a:<br />
1. f y x≥0∀ x<br />
∞<br />
2. ∫ ∞<br />
f y x dx = 1<br />
O cálculo <strong>da</strong> probabili<strong>da</strong><strong>de</strong> <strong>de</strong> um evento A é feito através <strong>de</strong>:<br />
P A=∫ A<br />
f y x dx<br />
(5.1)<br />
Se avariável aleatória for discreta, então teremos que ouniverso U Y éfinito e<br />
assim <strong>de</strong>ve-se verificar:<br />
∑ i<br />
PY=i=1<br />
(5.2)<br />
Étambém possível ter variáveis aleatórias vectoriais Y=(y 1,... ,y n).Teremos f y<br />
79
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
(X) com X ∈ℝ n<br />
satisfazen<strong>do</strong><br />
e será também:<br />
f y x: ℝ n ℝ<br />
X f yX<br />
1. f yx≥0 ∀ X ∈ℝ n<br />
2. ∫ ∞<br />
∞ ∞ ∞<br />
∫∞<br />
⋯∫ ∞<br />
Para obter P(A):<br />
f y xdx 1⋯dx n = 1<br />
(5.3)<br />
P A=∫⋯ A ∫ f y X dX (5.4)<br />
5.2.2 Atributos <strong>de</strong> Variáveis Aleatórias<br />
Para simplificar otratamento <strong>de</strong>stes conceitos, éinteressante utilizar restrições<br />
quanto às classes <strong>de</strong> distribuições em causa. Nesse senti<strong>do</strong> <strong>de</strong>finem-se alguns<br />
atributos básicos <strong>da</strong>s variáveis aleatórias.<br />
A média:<br />
∞<br />
y=E Y =∫ xf yxdx (5.5)<br />
∞<br />
A variância 2 e o <strong>de</strong>svio padrão :<br />
2<br />
y=VARY<br />
=E Yy 2<br />
=EY 2 y 2<br />
E a covariância entre as variáveis aleatórias Y e Z, com médias y e z :<br />
covY ,Z=E Y yZ z=E YZ y z<br />
(5.6)<br />
(5.7)<br />
No caso multidimensional em que Y= y 1 ,⋯,y n teremos então que<br />
y= E y 1,⋯,Ey n e a matriz <strong>de</strong> covariância é a seguinte:<br />
2 y1, y1 cov y1, y2 ⋯ cov y1, yn n] cov y<br />
=[cov<br />
2, y1 cov y2, y2 ⋯ cov y2, yn (5.8)<br />
⋮ ⋮ ⋱ ⋮<br />
cov yn, y1 cov y1, y2 ⋯ cov yn, y<br />
Note-se que os VAR y i encontram-se na diagonal <strong>da</strong> matriz.<br />
Para um processo estocástico Y(t) os parâmetros média e(co)variância aparecem<br />
também em função <strong>do</strong> tempo.<br />
Po<strong>de</strong>m-se <strong>de</strong>finir ain<strong>da</strong> as funções seguintes:<br />
A correlação em instantes t 1 e t 2:<br />
80
R yt 1,t 2=E Y t 1Y t 2 T <br />
e uma matriz <strong>de</strong> covariância entre variáveis aleatórias:<br />
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
(5.9)<br />
C y t 1 ,t 2=cov Y t 1Y t 2 (5.10)<br />
Como se verifica que:<br />
C y t 1 ,t 2= Rt 1 ,t 2 y t 1 yt 2 (5.11)<br />
teremos então para um processo <strong>de</strong> média nula:<br />
R yt 1,t 2=C yt 1 ,t 2 (5.12)<br />
Para processos estacionários verifica-se que estas funções só <strong>de</strong>pen<strong>de</strong>m <strong>da</strong><br />
diferença entre os instantes <strong>de</strong> tempo =t 2t 1 eassim é possível escrever<br />
R y e C y .<br />
5.2.3 Proprie<strong>da</strong><strong>de</strong>s <strong>do</strong>s Atributos<br />
Ovalor espera<strong>do</strong> <strong>de</strong> variáveis aleatórias X e Y tem as seguintes proprie<strong>da</strong><strong>de</strong>s<br />
[179]:<br />
E K = K, K∈ℝ<br />
EXY=E X E Y <br />
E KX =K⋅E X , K ∈ℝ<br />
Se X e Y são variáveis aleatórias in<strong>de</strong>pen<strong>de</strong>ntes então:<br />
(5.13)<br />
E X⋅Y =E X ⋅E Y (5.14)<br />
A variância tem as seguintes proprie<strong>da</strong><strong>de</strong>s:<br />
VARK =0 K ∈ℝ<br />
VARKX =K 2 ⋅VAR X <br />
Se X e Y são variáveis aleatórias in<strong>de</strong>pen<strong>de</strong>ntes:<br />
(5.15)<br />
VAR X Y =VAR X VARY (5.16)<br />
5.2.4 Expressões Aproxima<strong>da</strong>s para Operações entre<br />
Atributos<br />
Seja a variável aleatória X tal que E[ X ]= e VAR[ X ]= 2 . Sen<strong>do</strong> Y=H(X)<br />
tem-se [179]:<br />
E[Y ]≈ H H''<br />
<br />
2<br />
2<br />
(5.17)<br />
VARY ≈[H'] 2 2 (5.18)<br />
81
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
Seja (X,Y) uma variável aleatória bidimensional tal que<br />
2<br />
E[ X ]=x e VAR[ X ]= x<br />
e Y forem in<strong>de</strong>pen<strong>de</strong>ntes:<br />
e<br />
2<br />
E[Y ]= y e VAR[Y ]=y .Sen<strong>do</strong> Z=H(X,Y), se X<br />
E[Z ]≈ H x ,y 1<br />
2[ ∂2 H<br />
∂ x 2 , <br />
x y<br />
∂ H<br />
VARZ ≈<br />
2<br />
∂ x x , y <br />
2 ∂ H<br />
x 2<br />
∂ y x , y <br />
5.2.5 Distribuições Gaussianas<br />
2<br />
x ∂2 H<br />
∂ y 2 2] <br />
<br />
y<br />
, <br />
x y<br />
2<br />
y<br />
(5.19)<br />
(5.20)<br />
Afunção <strong>de</strong>nsi<strong>da</strong><strong>de</strong> probabili<strong>da</strong><strong>de</strong> <strong>de</strong> uma distribuição gaussiana tem aforma<br />
analítica:<br />
f x= 1<br />
2<br />
exp x2<br />
2 2 <br />
On<strong>de</strong> é a sua média e é o seu <strong>de</strong>svio padrão.<br />
(5.21)<br />
Processos estocásticos que sigam uma distribuição <strong>de</strong> forma gaussiana são<br />
completamente <strong>de</strong>fini<strong>do</strong>s pela sua média e covariância:<br />
Y t = E Y t e C y t 1 ,t 2=covY t 1 ,Y t 2<br />
Estes processos gaussianos têm proprie<strong>da</strong><strong>de</strong>s interessantes:<br />
1. A combinação linear <strong>de</strong> processos gaussianos é ain<strong>da</strong> um processo<br />
gaussiano;<br />
2. Muitos sinais reais são representáveis por processos gaussianos.<br />
A primeira proprie<strong>da</strong><strong>de</strong> garante que se po<strong>de</strong> representar com exactidão e<br />
simplici<strong>da</strong><strong>de</strong> combinações lineares <strong>de</strong> processos estocásticos.<br />
A segun<strong>da</strong> proprie<strong>da</strong><strong>de</strong> é essencial para garantir a correcta mo<strong>de</strong>lização <strong>da</strong><br />
reali<strong>da</strong><strong>de</strong>. Uma justificação <strong>da</strong> proprie<strong>da</strong><strong>de</strong> é<strong>da</strong><strong>da</strong> pelo Teorema <strong>do</strong> Limite<br />
Central que refere o seguinte:<br />
Sen<strong>do</strong> Z(n), n∈ℕ , variáveis aleatórias in<strong>de</strong>pen<strong>de</strong>ntes<br />
com variâncias V Z n= 2 ∞ então a sequência<br />
S nE S n<br />
V S n<br />
on<strong>de</strong><br />
n<br />
S n=∑ Z i <br />
i=1<br />
converge para a<br />
distribuição gaussiana normaliza<strong>da</strong> 26 quan<strong>do</strong> n∞<br />
<strong>de</strong>s<strong>de</strong> que 0≤V Z n≤C∞ , isto é, <strong>de</strong>s<strong>de</strong> que a<br />
26 Com média nula e variância (e <strong>de</strong>svio padrão) unitários<br />
82
variância esteja limita<strong>da</strong> superior e inferiormente.<br />
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
Po<strong>de</strong>-se assim dizer que oefeito <strong>de</strong> muitas perturbações, in<strong>de</strong>pen<strong>de</strong>ntemente <strong>da</strong>s<br />
distribuições individuais, se soma para formar uma distribuição gaussiana.<br />
Por estes motivos, autilização <strong>de</strong> processos gaussianos émuito relevante para o<br />
estu<strong>do</strong> <strong>do</strong>s mais diversos fenómenos na actuali<strong>da</strong><strong>de</strong>.<br />
5.3 Méto<strong>do</strong> <strong>do</strong>s Mínimos Quadra<strong>do</strong>s<br />
Em muitas situações reais existem <strong>da</strong><strong>do</strong>s varia<strong>do</strong>s <strong>de</strong> um fenómeno que se sabe<br />
obe<strong>de</strong>cer a uma <strong>da</strong><strong>da</strong> lei conheci<strong>da</strong> mas com parâmetros <strong>de</strong>sconheci<strong>do</strong>s. O<br />
cálculo <strong>da</strong> estimativa <strong>do</strong>s parâmetros po<strong>de</strong> ser feita <strong>de</strong> forma expedita aplican<strong>do</strong><br />
a teoria <strong>do</strong> Mínimos Quadra<strong>do</strong>s [178].<br />
Consi<strong>de</strong>re-se então um processo estocástico {Y k , k∈1,⋯,n} com um valor<br />
médio<br />
T<br />
E[Y k ]=x k on<strong>de</strong> xk são elementos conheci<strong>do</strong>s <strong>de</strong> um vector on<strong>de</strong><br />
k=1,⋯,n e é um vector <strong>de</strong> parâmetros. A função a minimizar é:<br />
n<br />
S =∑ k=1<br />
T<br />
ykx k 2<br />
On<strong>de</strong> {y k , k∈1,⋯,n} é uma realização <strong>do</strong> processo estocástico Y k .<br />
(5.22)<br />
Preten<strong>de</strong>-se assim encontrar ovalor que minimiza S, asoma <strong>do</strong> quadra<strong>do</strong><br />
<strong>do</strong>s <strong>de</strong>svios. É possível <strong>de</strong>monstrar que a solução existe e é única:<br />
= X T X 1<br />
X T Y<br />
Des<strong>de</strong> que a matriz (X T X) seja invertível e com:<br />
1<br />
n] Y =[y<br />
⋮ e<br />
y X =[x<br />
T<br />
T]<br />
1<br />
⋮<br />
xn (5.23)<br />
Esta teoria écompatível com qualquer sistema que possa ser manipula<strong>do</strong> até ao<br />
ponto em que medi<strong>da</strong>s escalares com ruí<strong>do</strong> são obti<strong>da</strong>s apartir <strong>da</strong> combinação<br />
linear <strong>de</strong> parâmetros. Amo<strong>de</strong>lização <strong>de</strong>ve ser tal que uma medi<strong>da</strong> só po<strong>de</strong> ser<br />
obti<strong>da</strong> com um <strong>de</strong>termina<strong>do</strong> conjunto <strong>de</strong> parâmetros. Autilização <strong>de</strong> relações<br />
trigonométricas e outras funções periódicas em x i é assim <strong>de</strong>saconselhável.<br />
83
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
5.4 Filtro <strong>de</strong> Kalman<br />
Tal como referi<strong>do</strong> anteriormente um <strong>do</strong>s méto<strong>do</strong>s mais utiliza<strong>do</strong>s para afusão<br />
<strong>de</strong> informação é o Filtro <strong>de</strong> Kalman (KF), introduzi<strong>do</strong> em 1960 por R. E.<br />
Kalman [175].<br />
Este éum méto<strong>do</strong> matemático que garante uma estimação óptima no senti<strong>do</strong> em<br />
que se to<strong>do</strong>s os processos forem lineares erespectivos ruí<strong>do</strong>s gaussianos, então o<br />
KF minimiza o quadra<strong>do</strong> <strong>do</strong>s erros <strong>do</strong>s parâmetros estima<strong>do</strong>s.<br />
A sua populari<strong>da</strong><strong>de</strong> é impulsiona<strong>da</strong> pela sua optimali<strong>da</strong><strong>de</strong>, pelo não eleva<strong>do</strong><br />
po<strong>de</strong>r <strong>de</strong> cálculo necessário para aimplementação, pela sua implementação ser<br />
recursiva e po<strong>de</strong>r ser expandi<strong>da</strong> para diversos tipos <strong>de</strong> medi<strong>da</strong>s assíncronas.<br />
Existem também extensões para sistemas não lineares, o Filtro <strong>de</strong> Kalman<br />
Extendi<strong>do</strong> (EKF) que supera algumas <strong>da</strong>s limitações <strong>do</strong> méto<strong>do</strong>. OEKF <strong>de</strong>ixa,<br />
porém, <strong>de</strong> apresentar garantias <strong>de</strong> convergência e optimali<strong>da</strong><strong>de</strong>.<br />
OKF utiliza na sua base oconceito <strong>de</strong> que to<strong>da</strong>s as variáveis envolvi<strong>da</strong>s são<br />
gaussianas e por isso são necessárias algumas <strong>de</strong>finições neste campo.<br />
A utilização <strong>da</strong> palavra “filtro” vem <strong>do</strong> facto <strong>de</strong> este méto<strong>do</strong> extrair uma<br />
estimativa óptima para oesta<strong>do</strong> <strong>do</strong> sistema apartir <strong>de</strong> medi<strong>da</strong>s afecta<strong>da</strong>s por<br />
ruí<strong>do</strong>. Mas oKF faz mais <strong>do</strong> que apenas isso pois ele altera oesta<strong>do</strong> <strong>do</strong> sistema<br />
para reflectir as medi<strong>da</strong>s e o ruí<strong>do</strong> existentes.<br />
Consi<strong>de</strong>remos um sistema genérico com dinâmica linear cujas saí<strong>da</strong>s são<br />
combinação linear <strong>do</strong> esta<strong>do</strong>:<br />
on<strong>de</strong><br />
dxt<br />
dt<br />
= Axt But <br />
yt = Cxt <br />
x =[ x 1 x 2⋅⋅⋅ x n ] T<br />
u =[u 1 u 2⋅⋅⋅u p ] T<br />
y =[ y 1 y 2⋅⋅⋅ y q ] T<br />
dim A=n×n , m é a dimensão <strong>do</strong> sistema<br />
dim B= p×n , p é o número <strong>de</strong> entra<strong>da</strong>s<br />
dimC =q×n , q é o número <strong>de</strong> saí<strong>da</strong>s<br />
(5.24)<br />
É possível converter este mo<strong>de</strong>lo em tempo contínuo para um mo<strong>de</strong>lo<br />
equivalente em tempo discreto:<br />
84<br />
xk = xk1Gu k1<br />
yk = Hxk<br />
(5.25)
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
com k = 1,2,... indican<strong>do</strong> o k-ésimo instante <strong>de</strong> amostragem<br />
Temos ain<strong>da</strong> que t k =t k t k 1 e é ain<strong>da</strong> possível <strong>de</strong>monstrar que:<br />
k=e A t k (5.26)<br />
t k<br />
G=∫ t k1<br />
e At k Bdt (5.27)<br />
H =C (5.28)<br />
O mo<strong>de</strong>lo anterior é um mo<strong>de</strong>lo <strong>de</strong>terminístico. Na sua versão estocástica é<br />
necessário introduzir incerteza proveniente <strong>da</strong> dinâmica <strong>do</strong> sistema w(k) e<strong>da</strong>s<br />
medi<strong>da</strong>s v(k):<br />
xk = xk1Gu k1wk1<br />
yt = Hxkvk1<br />
Para que o filtro tenha convergência garanti<strong>da</strong> é necessário:<br />
Qk se i=k<br />
Rwk , i ={ 0 se i≠k<br />
Rk se i=k<br />
Rvk , i={ 0 se i≠k<br />
E wkvi T =0 ,∀ k ,i<br />
(5.29)<br />
(5.30)<br />
(5.31)<br />
(5.32)<br />
Para que ofiltro seja óptimo énecessário ain<strong>da</strong> que w(k) e v(k) sejam processos<br />
gaussianos <strong>de</strong> média nula:<br />
Pw~ N 0,Q <br />
Pv~N 0, R<br />
5.4.1 Filtro <strong>de</strong> Kalman Discreto<br />
(5.33)<br />
O KF mantém então sempre as médias e covariâncias <strong>da</strong>s variáveis <strong>do</strong> esta<strong>do</strong>.<br />
O seu funcionamento tem duas operações básicas: previsão e actualização. Na<br />
previsão omo<strong>de</strong>lo <strong>do</strong> sistema eoesta<strong>do</strong> anterior éutiliza<strong>do</strong> para prever oesta<strong>do</strong><br />
actual. Acovariância <strong>do</strong> esta<strong>do</strong> nesta altura sobe para indicar amenor confiança<br />
na estimativa até agora. Se existirem medi<strong>da</strong>s <strong>de</strong>ste instante actual, então éfeita<br />
uma actualização afectan<strong>do</strong> o esta<strong>do</strong> para que este reflicta to<strong>da</strong> a nova<br />
informação.<br />
Consi<strong>de</strong>ran<strong>do</strong> então as condições iniciais:<br />
E x0= X 0 covx0= P 0 (5.34)<br />
E o mo<strong>de</strong>lo <strong>do</strong> Sistema:<br />
85
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
xk = xk1Gu k1wk1 (5.35)<br />
Com as observações:<br />
y t = Hxkvk (5.36)<br />
Propagação <strong>de</strong> esta<strong>do</strong> será então:<br />
xk = xk1Bu k1 (5.37)<br />
A associa<strong>da</strong> covariância:<br />
Pk = Pk1 T Qk (5.38)<br />
Para a actualização <strong>de</strong>ve-se calcular o Ganho <strong>de</strong> Kalman:<br />
K k=Pk H T HPk H T Rk 1<br />
E actualizar a covariância:<br />
(5.39)<br />
Pk= I K k H P k (5.40)<br />
Actualização <strong>do</strong> esta<strong>do</strong>:<br />
xk =xk K k y kH xk (5.41)<br />
Por vezes e em vez <strong>da</strong> equação 5.40 po<strong>de</strong> utilizar-se:<br />
P k= I K k H Pk I K k H T<br />
K k RKk T<br />
(5.42)<br />
Aequação 5.42 émais complexa mas éváli<strong>da</strong> para qualquer ganho K(k), mesmo<br />
que este seja não óptimo, oque po<strong>de</strong> ser interessante para algumas aplicações<br />
práticas.<br />
Observan<strong>do</strong> 5.39 po<strong>de</strong>-se concluir que quan<strong>do</strong> acovariância <strong>do</strong> erro <strong>da</strong> medi<strong>da</strong><br />
R ten<strong>de</strong> para 0, o ganho K faz pesar com maior importância a parcela<br />
<strong>de</strong>nomina<strong>da</strong> <strong>de</strong> inovação y kH xk <strong>da</strong> equação 5.41. Em concreto fica:<br />
lim K k =H<br />
Rk 0<br />
1<br />
(5.43)<br />
<br />
Se acontecer que a covariância <strong>da</strong> estimativa <strong>do</strong> erro <strong>do</strong> sistema Pk se<br />
aproxime <strong>de</strong> 0, então eaparcela inovação terá um peso inferior na equação 5.41<br />
tal como se po<strong>de</strong> verificar a partir <strong>de</strong>:<br />
lim<br />
P k<br />
0<br />
K k =0<br />
Como resumo atente-se à tabela 5.1 que ilustra o funcionamento <strong>do</strong> KF.<br />
86<br />
(5.44)
Tabela 5.1 Resumo <strong>da</strong> operação <strong>do</strong> Filtro <strong>de</strong> Kalman<br />
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
Previsão Actualização<br />
Propagar o esta<strong>do</strong> <strong>do</strong> sistema:<br />
xk = xk1Bu k1<br />
Propagar a covariância:<br />
Pk = Pk1 T Qk<br />
Estimativas Iniciais<br />
x 0 e P 0<br />
5.4.2 Filtro Kalman Extendi<strong>do</strong><br />
Calcular o ganho <strong>de</strong> Kalman:<br />
K k=Pk H T HPk H T R k 1<br />
Actualizar esta<strong>do</strong> com a medi<strong>da</strong>:<br />
xk =xk K k ykH xk <br />
Actualizar a covariância<br />
P k= I K k H Pk <br />
O Filtro <strong>de</strong> Kalman Extendi<strong>do</strong> (EKF) <strong>de</strong>ve ser utiliza<strong>do</strong> em sistemas não<br />
lineares. Este filtro, para ca<strong>da</strong> instante lineariza afunção <strong>de</strong> transferência em<br />
torno <strong>do</strong> valor estima<strong>do</strong> eactualiza as estimativas basea<strong>do</strong> num KF aplica<strong>do</strong> a<br />
esse sistema linear.<br />
OEKF não apresenta garantias teóricas <strong>de</strong> convergência nem <strong>de</strong> optimali<strong>da</strong><strong>de</strong><br />
mas na prática um projecto cui<strong>da</strong><strong>do</strong>so evita que estes problemas se manifestem.<br />
OEKF éomelhor filtro linear possível para um sistema não linear. Filtros não<br />
lineares po<strong>de</strong>m ser superiores.<br />
Perante as seguintes condições iniciais:<br />
E x0= X 0 , covx0= P 0<br />
Consi<strong>de</strong>re-se osistema estocástico não linear com as dimensões anteriormente<br />
explicita<strong>da</strong>s para o caso <strong>do</strong> KF discreto:<br />
xk = f xk1,uk,wk1<br />
y k = h xk ,vk (5.45)<br />
On<strong>de</strong> wk e vk mantêm também as restrições anteriormente apresenta<strong>da</strong>s.<br />
Estes valores <strong>do</strong>s ruí<strong>do</strong>s <strong>do</strong> sistema e<strong>da</strong> medi<strong>da</strong> são, claro, <strong>de</strong>sconheci<strong>do</strong>s etêm<br />
média nula. Será portanto váli<strong>da</strong> a aproximação:<br />
xk = f xk1,uk,0<br />
yk = h xk ,0<br />
(5.46)<br />
87
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
On<strong>de</strong> x éuma estimativa àposteriori <strong>do</strong> esta<strong>do</strong> (resultan<strong>do</strong> <strong>de</strong> uma iteração<br />
anterior <strong>do</strong> KF).<br />
Linearizan<strong>do</strong> as equações <strong>do</strong> mo<strong>de</strong>lo <strong>do</strong> sistema e<strong>da</strong>s medi<strong>da</strong>s em torno <strong>do</strong>s<br />
resulta<strong>do</strong>s 5.46:<br />
xk<br />
yk<br />
≈<br />
≈<br />
xkA xk1xkWwk1<br />
yk h xk xkV vk (5.47)<br />
É necessário então conhecer os jacobianos <strong>da</strong> <strong>de</strong>scrição <strong>do</strong> mo<strong>de</strong>lo e <strong>da</strong>s<br />
observações:<br />
∂ f<br />
A=<br />
∂ x =[<br />
∂ f 1<br />
∂ x1 ∂ f 1<br />
∂ x2 ⋯ ∂ f ∂ f 2<br />
∂ x1 ∂ f 2<br />
∂ x2 ⋯<br />
1<br />
∂ xn ∂ f ⋮<br />
∂ f n<br />
∂ x1 ⋮<br />
∂ f n<br />
∂ x2 ⋱<br />
⋯<br />
2<br />
∂ xn ⋮<br />
∂ f ] n<br />
∂ xn (5.48)<br />
H = ∂h<br />
∂ x =[∂h 1<br />
∂ x1 ∂h 1<br />
∂h 2<br />
⋯ ∂h ∂ h2 ∂ x1 ∂h 2<br />
∂h 2<br />
⋯<br />
1<br />
∂ xn ∂ h ⋮<br />
∂h q<br />
∂ x1 ⋮<br />
∂ hq ∂h 2<br />
⋱<br />
⋯<br />
2<br />
∂ xn ⋮<br />
∂h n] q<br />
∂ x<br />
(5.49)<br />
Com o jacobiano <strong>do</strong> ruí<strong>do</strong>:<br />
∂ f<br />
W=<br />
∂w =[∂ f 1<br />
∂w 1<br />
∂ f 1<br />
∂ w2 ⋯ ∂ f ∂ f 2<br />
∂w 1<br />
∂ f 2<br />
∂ w2 ⋯<br />
1<br />
∂ wn ∂ f ⋮<br />
∂ f n<br />
∂w1 ⋮<br />
∂ f n<br />
∂ w2 ⋱<br />
⋯<br />
2<br />
∂ wn ⋮<br />
∂ f n] n<br />
∂ w<br />
(5.50)<br />
88
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
V = ∂h<br />
∂ v =[<br />
∂ h1 ∂v 1<br />
∂ h1 ∂v 2<br />
⋯ ∂h ∂h 2<br />
∂v 1<br />
∂ h2 ∂v 2<br />
⋯<br />
1<br />
∂v n<br />
∂h ⋮<br />
∂ hq ∂v 1<br />
⋮<br />
∂h q<br />
∂v 2<br />
⋱<br />
⋯<br />
2<br />
∂v n<br />
⋮<br />
∂ h n] q<br />
∂v<br />
(5.51)<br />
Para simplificar anotação não se explicitou a<strong>de</strong>pendência <strong>de</strong> A, W, H e V <strong>do</strong><br />
instante <strong>de</strong> amostragem k.<br />
Po<strong>de</strong>-se agora <strong>de</strong>finir os erros <strong>de</strong> predição e o resíduo <strong>da</strong> medi<strong>da</strong>:<br />
ex k≡xk xk <br />
ey k≡y k yk<br />
Po<strong>de</strong>-se assim <strong>de</strong>screver os erros:<br />
ex k≈ A xkxk1k<br />
eyk≈ H e x k k<br />
(5.52)<br />
(5.53)<br />
on<strong>de</strong> k e k são variáveis aleatórias in<strong>de</strong>pen<strong>de</strong>ntes com média nula e<br />
covariâncias WQW T e VRV T respectivamente, com Q e R a obe<strong>de</strong>cerem às<br />
mesmas restrições referi<strong>da</strong>s para o caso linear.<br />
São notórias as semelhanças <strong>da</strong>s equações apresenta<strong>da</strong>s em 5.53 com as<br />
equações <strong>de</strong> um KF discreto. Po<strong>de</strong>-se então consi<strong>de</strong>rar um KF hipotético para<br />
estas variáveis em que a estimativa à posteriori <strong>do</strong> processo inicial será:<br />
com:<br />
xk = xk ek (5.54)<br />
pe xk ~ N 0, E[<br />
T<br />
ex k e x k ]<br />
px k ~N 0, E [WQkWT ]<br />
pxk~N 0, E [V RkV T ]<br />
Fazen<strong>do</strong> que o valor espera<strong>do</strong> <strong>de</strong> ek seja 0 vem:<br />
ek=K k ey k (5.55)<br />
o que resulta em:<br />
xk =xk K k e yk = xkK k yk yk (5.56)<br />
Que é a equação <strong>da</strong> actualização <strong>do</strong> EKF.<br />
89
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
A propagação <strong>do</strong> esta<strong>do</strong> será:<br />
xk = f xk1,uk,0<br />
A propagação <strong>da</strong> covariância:<br />
Pk =Ak Pk1 Ak T W kQk1W T k <br />
O cálculo <strong>do</strong> ganho <strong>de</strong> Kalman K(k):<br />
Lk= H k Pk H k T V k RkV k T 1<br />
K k=Pk H k T Lk<br />
Actualização <strong>da</strong> covariância:<br />
(5.57)<br />
(5.58)<br />
Pk= I K k H k Pk (5.59)<br />
E finalmente a actualização <strong>do</strong> esta<strong>do</strong>:<br />
x k =xk K k ykhxk ,0<br />
(5.60)<br />
OEKF utiliza uma dinâmica lineariza<strong>da</strong> pelo que mesmo que se aestimativa<br />
inicial <strong>do</strong> esta<strong>do</strong> x(0) seja gaussiana, não há garantias que assim se mantenha ao<br />
longo <strong>do</strong> tempo. Apropagação <strong>da</strong> covariância étambém feita com recurso à<br />
linearização em torno <strong>do</strong> esta<strong>do</strong> estima<strong>do</strong>. Estes <strong>do</strong>is factores <strong>de</strong> imprecisão são<br />
tanto mais importantes quanto menos váli<strong>da</strong> for a aproximação utiliza<strong>da</strong>.<br />
Na discussão acima consi<strong>de</strong>ra-se que o EKF utiliza a matriz A <strong>do</strong> processo<br />
dinâmico discretiza<strong>do</strong>.<br />
Como procuramos uma aproximação <strong>da</strong> dinâmica <strong>do</strong> sistema em tempo discreto,<br />
parte-se <strong>da</strong> seguinte <strong>de</strong>scrição dinâmica <strong>do</strong> sistema no tempo contínuo:<br />
dXt<br />
dt = f X t ,ut k ,t, t ∈]t k1 ,t k ] (5.61)<br />
Calcula-se <strong>de</strong> segui<strong>da</strong>:<br />
∂ f<br />
Ak= ∂ x ∣x=xt k u=ut k t=t k<br />
(5.62)<br />
Econsi<strong>de</strong>ran<strong>do</strong> os valores constantes entre instantes <strong>de</strong> amostragem obtemos<br />
finalmente:<br />
A k=exp A k t kt k 1<br />
(5.63)<br />
Uma característica importante <strong>do</strong>s Filtros <strong>de</strong> Kalman e<strong>do</strong> EKF em particular é<br />
que ojacobiano H k<strong>da</strong> equação 5.58 que calcula oganho <strong>de</strong> Kalman propaga<br />
correctamente a informação que a medi<strong>da</strong> traz acerca <strong>de</strong> ca<strong>da</strong> elemento <strong>do</strong><br />
90
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
esta<strong>do</strong>. Desta forma se amedi<strong>da</strong> não afectar to<strong>do</strong>s os elementos <strong>do</strong> esta<strong>do</strong> as<br />
covariâncias <strong>do</strong> erro <strong>do</strong> esta<strong>do</strong> são afecta<strong>da</strong>s <strong>de</strong> acor<strong>do</strong> com essa situação ea<br />
informação que a medi<strong>da</strong> traz.<br />
OKF eoEKF só li<strong>da</strong>m com um conjunto <strong>de</strong> medi<strong>da</strong>s sempre disponível. A<br />
implementação po<strong>de</strong>, no entanto, contornar a inexistência <strong>de</strong> medi<strong>da</strong>s<br />
introduzin<strong>do</strong> covariâncias gran<strong>de</strong>s nas medi<strong>da</strong>s não disponíveis mas tal<br />
procedimento po<strong>de</strong>rá trazer problemas numéricos. Outra solução possível é<br />
repetir a actualização para as diferentes medi<strong>da</strong>s que existam <strong>de</strong> facto. O<br />
processo <strong>de</strong>scrito é uma aproximação à teoria mas é utiliza<strong>do</strong> na prática [176].<br />
Se oconjunto <strong>da</strong>s medi<strong>da</strong>s não trouxer (nunca) informação acerca <strong>de</strong> to<strong>da</strong>s as<br />
partes <strong>do</strong> vector <strong>de</strong> esta<strong>do</strong>, então ofiltro torna-se divergente visto oprocesso não<br />
ser observável.<br />
Tabela 5.2 Resumo <strong>da</strong> operação <strong>do</strong> EKF<br />
Previsão Actualização<br />
Propagar o esta<strong>do</strong> <strong>do</strong> sistema:<br />
xk = f xk1,uk,0<br />
Propagar a Covariância:<br />
Pk =<br />
Ak Pk1 Ak T <br />
W k Q k1W T k<br />
Estimativas Iniciais<br />
x0 e P0<br />
5.4.3 Teste Estatístico<br />
Calcular o Ganho <strong>de</strong> Kalman K(k):<br />
Lk=<br />
H k Pk H k T V k Rk V k T 1<br />
K k =Pk H k T Lk<br />
Actualizar esta<strong>do</strong> com a medi<strong>da</strong>:<br />
xk=<br />
xk K k yk h x k , 0<br />
Actualizar Covariância<br />
Pk = I K k H k Pk <br />
Como oesta<strong>do</strong> érepresenta<strong>do</strong> por uma distribuição gaussiana, épossível utilizar<br />
testes estatísticos stan<strong>da</strong>rd para aferir <strong>da</strong> quali<strong>da</strong><strong>de</strong> <strong>da</strong> medi<strong>da</strong> que po<strong>de</strong> ser<br />
erra<strong>da</strong> por exemplo por motivos <strong>de</strong> avaria <strong>de</strong> um sensor.<br />
Esta técnica aparece referi<strong>da</strong> por vezes como “vali<strong>da</strong>tion gate”, porta <strong>de</strong> vali<strong>da</strong>ção<br />
91
Processos Estocásticos e Filtros <strong>de</strong> Kalman<br />
que faz um teste <strong>de</strong> verosimilhança à medi<strong>da</strong> antes <strong>de</strong> a consi<strong>de</strong>rar como váli<strong>da</strong>.<br />
Utiliza-se o seguinte teste estatístico:<br />
M k,t k= ykh xk ,t k<br />
Lk= H k Pk H k T V k RkV T k 1<br />
ek 2 =M k,tk T<br />
K temp k M k ,t k≤g 2<br />
(5.64)<br />
M étambém apeli<strong>da</strong><strong>do</strong> <strong>de</strong> inovação emultiplica oganho <strong>de</strong> Kalman na equação<br />
5.34 (pág 90) <strong>de</strong> actualização <strong>do</strong> esta<strong>do</strong> <strong>do</strong> EKF; L éuma matriz intermédia que<br />
aparece na fórmula <strong>do</strong> cálculo <strong>do</strong> ganho <strong>de</strong> Kalman. Oerro normaliza<strong>do</strong> e 2 varia<br />
com a distribuição <strong>do</strong> quadra<strong>do</strong> com tantos graus <strong>de</strong> liber<strong>da</strong><strong>de</strong> como a<br />
dimensão q <strong>do</strong> vector <strong>da</strong>s medi<strong>da</strong>s. O valor g 2 é um <strong>de</strong>termina<strong>do</strong> nível <strong>de</strong><br />
confiança.<br />
Se uma <strong>da</strong><strong>da</strong> medi<strong>da</strong> y(k) apresentar um erro e(k)>g então essa medi<strong>da</strong> falhará<br />
este teste estatístico que po<strong>de</strong> também ser visto como um teste <strong>de</strong><br />
verosimilhança.<br />
5.5 Conclusões<br />
Neste capítulo fez-se a introdução aos processos estocásticos como sen<strong>do</strong><br />
ferramentas matemáticas a<strong>de</strong>qua<strong>da</strong>s à representação <strong>de</strong> conhecimento parcial.<br />
Apresentou-se ain<strong>da</strong> oformulário relativo ao méto<strong>do</strong> <strong>do</strong>s Mínimos Quadra<strong>do</strong>s<br />
que permite estimar parâmetros <strong>da</strong><strong>do</strong> um certo mo<strong>de</strong>lo eapartir <strong>de</strong> resulta<strong>do</strong>s<br />
experimentais rui<strong>do</strong>sos.<br />
Foi também mostra<strong>do</strong> oFiltro <strong>de</strong> Kalman erespectiva versão Extendi<strong>da</strong>. Estes<br />
filtros permitem reunir informação <strong>de</strong> várias fontes efundi-la numa estimativa<br />
global para oesta<strong>do</strong> <strong>do</strong> sistema. Esta estimativa terá eleva<strong>da</strong> quali<strong>da</strong><strong>de</strong> pois a<br />
fusão <strong>de</strong> informação érealiza<strong>da</strong> toman<strong>do</strong> em consi<strong>de</strong>ração amo<strong>de</strong>lização <strong>do</strong>s<br />
erros associa<strong>do</strong>s aca<strong>da</strong> tipo <strong>de</strong> medi<strong>da</strong>s. No entanto, não há garantias teóricas<br />
<strong>de</strong> convergência <strong>do</strong> EKF.<br />
92
Capítulo 6<br />
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
6.1 Introdução aos Códigos <strong>de</strong> Barras<br />
Os códigos <strong>de</strong> barras são <strong>de</strong> utilização generaliza<strong>da</strong> nos dias <strong>de</strong> hoje. Permitem<br />
armazenar <strong>de</strong> forma pouco dispendiosa informação que po<strong>de</strong> ser li<strong>da</strong> <strong>de</strong> forma<br />
expedita erobusta. Os códigos <strong>de</strong> barras po<strong>de</strong>m assumir várias formas <strong>de</strong> acor<strong>do</strong><br />
com diferentes normas, tal como ilustra<strong>do</strong> na figura 6.1. Um <strong>do</strong>s mais frequentes<br />
para oconsumi<strong>do</strong>r final po<strong>de</strong> ser encontra<strong>do</strong> nos livros veiculan<strong>do</strong> informações<br />
tal como opreço <strong>de</strong> capa eoISBN - International Stan<strong>da</strong>rd Book Number. Os<br />
códigos <strong>de</strong> barras mais frequentes são uni-dimensionais e a suas estrutura é<br />
propícia aserem li<strong>do</strong>s <strong>de</strong> perto. Ainformação po<strong>de</strong> estar codifica<strong>da</strong> na espessura<br />
<strong>da</strong> barra ou no espaço entre barras ou na altura <strong>da</strong>s barras. Para robustez<br />
acresci<strong>da</strong>, os códigos <strong>de</strong> barras utilizam apenas barras pretas. Devi<strong>do</strong> àforma<br />
como égrava<strong>da</strong> ainformação nos códigos <strong>de</strong> barras, épossível ler ainformação<br />
sem um alinhamento perfeito entre leitor ecódigo oque os torna também <strong>de</strong><br />
fácil leitura automatiza<strong>da</strong>. Os dispositivos leitores <strong>de</strong>ste género <strong>de</strong> códigos <strong>de</strong><br />
barras tipicamente utilizam iluminação aLASER mecanicamente associa<strong>da</strong> ao<br />
sensor linear <strong>de</strong> imagem. O processamento necessário para recuperar a<br />
informação é limita<strong>do</strong> e a quanti<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>da</strong><strong>do</strong>s em causa não é eleva<strong>da</strong>.<br />
Os códigos <strong>de</strong> barras po<strong>de</strong>m também assumir duas dimensões. A<strong>de</strong>nsi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
93
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
informação neste caso é muito superior à custa <strong>de</strong> menor robustez e maior<br />
complexi<strong>da</strong><strong>de</strong> na leitura. Na figura 6.1b) observe-se as duas regiões assinala<strong>da</strong>s<br />
que veiculam amesma informação. Aleitura <strong>de</strong>stes códigos bidimensionais <strong>de</strong>ve<br />
ser feita por uma câmara matricial eéutiliza<strong>do</strong> processamento <strong>de</strong> imagem para<br />
fazer otratamento <strong>da</strong> imagem que permite uma leitura correcta na presença <strong>de</strong><br />
alinhamentos imperfeitos entre código aler ecâmara. Aquanti<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>da</strong><strong>do</strong>s a<br />
processar é eleva<strong>da</strong> <strong>de</strong>vi<strong>do</strong> àimagem ser bidimensional. Osistema <strong>de</strong> leitura<br />
<strong>de</strong>stes códigos presume geralmente distâncias curtas eailuminação éfeita com<br />
LEDs <strong>de</strong> eleva<strong>do</strong> brilho directamente em torno <strong>da</strong> câmara para evitar a<br />
influência <strong>da</strong> iluminação externa.<br />
a) b)<br />
Figura 6.1a) Diversos exemplos <strong>de</strong> códigos <strong>de</strong> barras; b) os <strong>do</strong>is códigos<br />
assinala<strong>do</strong>s contêm a mesma informação<br />
Na figura 6.1 estão representa<strong>do</strong>s diversos tipos <strong>de</strong> códigos <strong>de</strong> barras que po<strong>de</strong>m<br />
ser encontra<strong>do</strong>s no merca<strong>do</strong>. Toman<strong>do</strong> afigura 6.1a) epercorren<strong>do</strong>-a <strong>de</strong> cima<br />
para baixo temos: ocódigo <strong>de</strong> barras <strong>do</strong> sistema postal norte-americano; um<br />
código bidimensional <strong>de</strong> acor<strong>do</strong> com a norma <strong>PDF</strong>417 que transporta um<br />
ficheiro <strong>PDF</strong> 27 ;um código <strong>de</strong> barras que po<strong>de</strong> estar presente em livros <strong>de</strong> acor<strong>do</strong><br />
com uma norma europeia EAN que regista um número unívoco para olivro (o<br />
ISBN) e ain<strong>da</strong> informação adicional.<br />
6.2 Introdução aos Codifica<strong>do</strong>res<br />
Os codifica<strong>do</strong>res (enco<strong>de</strong>rs) são equipamentos <strong>de</strong> utilização generaliza<strong>da</strong> em<br />
robótica. Po<strong>de</strong>m ter diferentes resoluções e fornecer informação absoluta ou<br />
incremental. Afigura 6.2b) ilustra um codifica<strong>do</strong>r absoluto <strong>de</strong> 10 bits –10 anéis<br />
concêntricos. Uma sequência <strong>de</strong> sensores dispostos radialmente lê ca<strong>da</strong> bit a<br />
partir <strong>de</strong> ca<strong>da</strong> anel. O padrão obti<strong>do</strong> ao longo <strong>da</strong> periferia não se repete<br />
fornecen<strong>do</strong> assim uma medi<strong>da</strong> angular absoluta.<br />
Um codifica<strong>do</strong>r incremental émais simples, tal como mostra<strong>do</strong> na fig. 6.2a).<br />
Neste sensores, ainformação repete-se periodicamente. Po<strong>de</strong> no entanto existir<br />
27 Portable Document Format – formato muito utiliza<strong>do</strong> para troca <strong>de</strong> informação na Internet<br />
94
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
uma referência absoluta, uma marca que po<strong>de</strong> ser vista no anel exterior, às 12<br />
horas na fig. 6.2a). Através <strong>de</strong>sta marca épossível em muitas situações obter<br />
informação equivalente à <strong>do</strong> codifica<strong>do</strong>r absoluto.<br />
Consi<strong>de</strong>ra-se que no interior <strong>de</strong> um codifica<strong>do</strong>r ca<strong>da</strong> leitura <strong>de</strong> um sensor óptico<br />
gera um sinal 0ou 1. Num codifica<strong>do</strong>r absoluto, amedi<strong>da</strong> angular será obti<strong>da</strong><br />
directamente pela conversão <strong>de</strong> um tipo <strong>de</strong> código binário para <strong>de</strong>cimal. Por<br />
razões <strong>de</strong> implementação utiliza-se ocódigo binário gray enão ocódigo binário<br />
comum.<br />
Existem também codifica<strong>do</strong>res lineares nas suas versões absoluta eincremental.<br />
Estes sensores utilizam as mesmas técnicas para medir <strong>de</strong>slocamentos em vez <strong>de</strong><br />
ângulos.<br />
a) b)<br />
Figura 6.2 Discos <strong>de</strong> codifica<strong>do</strong>res para medi<strong>da</strong> angular: a) versão incremental; b) versão<br />
absoluta<br />
6.3 Definições<br />
Um código <strong>de</strong> barras éli<strong>do</strong> assumin<strong>do</strong> que évisualiza<strong>do</strong> na sua totali<strong>da</strong><strong>de</strong>. Já um<br />
codifica<strong>do</strong>r incremental fornece informação parcial angular. Estu<strong>de</strong>-se pois a<br />
possibili<strong>da</strong><strong>de</strong> <strong>de</strong> obter aposição <strong>de</strong>ntro <strong>da</strong> sequência apartir <strong>do</strong>s <strong>da</strong><strong>do</strong>s <strong>de</strong> uma<br />
janela, uma região limita<strong>da</strong> <strong>de</strong> um código extenso conheci<strong>do</strong>.<br />
Consi<strong>de</strong>re-se uma sequência S <strong>de</strong> dígitos <strong>de</strong> base b e <strong>de</strong> comprimento n:<br />
S =s 1 ,s 2 ,⋯,s n , s i ∈[0,b1] (6.1)<br />
Da sequência completa, a “janela” permite adquirir apenas j dígitos em<br />
simultâneo. Tome-se s icomo oi-ésimo dígito <strong>da</strong> sequência. Defina-se também J j(i)<br />
como sen<strong>do</strong> o opera<strong>do</strong>r “janela” que recupera a “imagem” com j dígitos <strong>de</strong><br />
95
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
comprimento, vista <strong>da</strong> posição i em diante. Para i>n-j+1 afunção J utiliza<br />
dígitos <strong>do</strong> início <strong>da</strong> sequência. Asequência S fica então circular, isto é, com reentra<strong>da</strong><br />
fim para o princípio. Na presença <strong>de</strong> circulari<strong>da</strong><strong>de</strong>, a sequência<br />
representa-se por ˚S eafunção janela que “recolhe aimagem” <strong>da</strong> sequência<br />
passa a ser:<br />
J˚ jS,i={ si ,si1 ,⋯,sij1 se 1≤i≤n j1<br />
si ,⋯,sn ,S1, ⋯,Sijn1 se n j1i≤n<br />
(6.2)<br />
Procure-se então uma sequência Sconstituí<strong>da</strong> apenas por janelas que não se<br />
repetem, isto é, que verifique:<br />
J j S,a≠ J j S,b⇔a≠b , ∀a,b∈[1, n] (6.3)<br />
Otamanho máximo <strong>da</strong> sequência S será asituação em que to<strong>da</strong>s as combinações<br />
<strong>de</strong> base bcom comprimento j estão incluí<strong>da</strong>s <strong>de</strong>ntro <strong>de</strong> S. Será então ˚n=b j<br />
para uma sequência circular.<br />
Como exemplo tome-se asequência<br />
˚S<br />
exemplo<br />
3 =00010111 em base 2(b=2). Esta é<br />
uma sequência circular S˚ 3 váli<strong>da</strong> (entre outras existentes) pois nenhum grupo<br />
<strong>de</strong> 3bits adjacentes aparece em posições diferentes <strong>da</strong> sequência, mesmo quan<strong>do</strong><br />
consi<strong>de</strong>ra<strong>da</strong> circular.<br />
A sequência referi<strong>da</strong> po<strong>de</strong> ser extendi<strong>da</strong> para o caso não circular com<br />
exemplo<br />
S 3 =0001011100 .Generalizan<strong>do</strong> esta expansão verifica-se que aausência<br />
<strong>de</strong> circulari<strong>da</strong><strong>de</strong> permite aumentar asequência (por exemplo no seu final) em j-1<br />
bits. A função que recolhe a imagem passa a ser representa<strong>da</strong> por:<br />
S j i=s i ,s i1 ,⋯,s ij1 para 0in j1 (6.4)<br />
On<strong>de</strong> n=b j j1 .<br />
Asequência será circular ou não conforme aaplicação em causa eassim po<strong>de</strong><br />
utilizar-se sem causar confusão a função J j(S,i) genérica:<br />
J j S,i={ ˚<br />
J j S,i se S é circular<br />
J j S,i se S é não circular<br />
6.4 Sequências Unívocas<br />
(6.5)<br />
Para maior facili<strong>da</strong><strong>de</strong> <strong>de</strong> linguagem utiliza-se aexpressão “sequência unívoca”<br />
em vez <strong>de</strong> “sequência constituí<strong>da</strong> por janelas unívocas” ou, <strong>de</strong> forma ain<strong>da</strong> mais<br />
96
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
correcta, “sequência em que to<strong>da</strong>s as porções <strong>da</strong> largura <strong>da</strong> janela contêm<br />
códigos que não se repetem noutra zona <strong>da</strong> sequência”.<br />
Recor<strong>de</strong>-se que para uma <strong>da</strong><strong>da</strong> sequência unívoca Safunção J j(S,i) <strong>de</strong>volve j<br />
dígitos <strong>de</strong> base b. Estes dígitos po<strong>de</strong>m ser consi<strong>de</strong>ra<strong>do</strong>s um número <strong>de</strong> base b:<br />
S =0001011100 , com b=2<br />
J 3 S,4=101 2 =5 10<br />
(6.6)<br />
Desta forma é possível estabelecer uma tabela <strong>de</strong> pesquisa que mapeia o<br />
resulta<strong>do</strong> <strong>da</strong> função janela em posição <strong>de</strong>ntro <strong>da</strong> sequência. Esta tabela <strong>de</strong><br />
pesquisa tem tamanho n. A implementação tabelável é importante para<br />
implementação fácil eeficiente em sistemas <strong>de</strong> baixo po<strong>de</strong>r <strong>de</strong> cálculo tal como<br />
MCUs. Esta tabela tem ain<strong>da</strong> avantagem adicional <strong>de</strong> ser apenas <strong>de</strong> leitura para<br />
uma <strong>da</strong><strong>da</strong> implementação.<br />
O sistema que adquire uma janela duma sequência unívoca e <strong>de</strong>volve uma<br />
posição linear ou angular <strong>de</strong>signa-se codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante.<br />
Se um <strong>da</strong><strong>do</strong> sistema tiver acesso auma janela <strong>de</strong> visão maior <strong>do</strong> que ajanela <strong>da</strong><br />
sequência, então existirá um certo nível <strong>de</strong> confirmação na medi<strong>da</strong>. Sen<strong>do</strong><br />
ver<strong>da</strong><strong>de</strong> que to<strong>da</strong>s as combinações <strong>do</strong> tamanho <strong>da</strong> janela foram provavelmente<br />
utiliza<strong>da</strong>s, os dígitos extra po<strong>de</strong>m ser confronta<strong>do</strong>s com a sequência e assim<br />
eventualmente <strong>de</strong>terminar erros <strong>de</strong> leitura.<br />
6.5 Exemplo <strong>de</strong> Implementação<br />
Como exemplo <strong>de</strong> aplicação real <strong>de</strong> codifica<strong>do</strong>res <strong>de</strong> janela <strong>de</strong>slizante, veja-se o<br />
robot <strong>da</strong> figura 6.4. Este éum robot futebolista para aliga F2000, duma geração<br />
anterior ao apresenta<strong>do</strong> na secção 7.4, pág. 110. Este robot tinha uma câmara<br />
que ro<strong>da</strong> em torno <strong>da</strong> vertical num mecanismo apeli<strong>da</strong><strong>do</strong> <strong>de</strong> “pescoço”. Com o<br />
objectivo <strong>de</strong> medir oângulo <strong>do</strong> pescoço face ao corpo <strong>do</strong> robot, era emprega<strong>do</strong><br />
um codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante. Amedi<strong>da</strong> era consegui<strong>da</strong> sem acrescentar<br />
qualquer sensor graças ao facto <strong>da</strong> câmara ver opróprio corpo <strong>do</strong> robot eaí<br />
realizar amedição. Afigura 6.3 apresenta ocodifica<strong>do</strong>r efectivamente utiliza<strong>do</strong>,<br />
que implementa uma sequência circular <strong>de</strong> 160 bits e uma janela <strong>de</strong> 8 bits.<br />
97
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
Figura 6.3 Codifica<strong>do</strong>r <strong>de</strong> Janela<br />
utiliza<strong>do</strong> pelo pescoço <strong>do</strong>s Robots <strong>da</strong><br />
Equipa 5dpo-2000<br />
Figura 6.4 Robot com codifica<strong>do</strong>r<br />
<strong>de</strong> janela <strong>de</strong>slizante<br />
6.6 Implementações multidimensionais<br />
É ain<strong>da</strong> possível expandir os conceitos anteriormente apresenta<strong>do</strong>s para<br />
implementações multidimensionais. Na figura 6.5 mostra-se uma sequência <strong>de</strong><br />
uma possível implementação com 4+4 níveis <strong>de</strong> sinal numa coluna, b=8 (dígitos<br />
<strong>de</strong> 0 a 7 representa<strong>do</strong>s na figura por cima). Assume-se que os <strong>do</strong>is bits na vertical<br />
estão sempre visíveis. Para o caso não circular <strong>da</strong> figura, n=8 2 +2-1=65.<br />
Para outros exemplos consultar o Anexo 3 Tabela <strong>de</strong> Algumas Sequências<br />
Unívocas, pág. 198.<br />
Figura 6.5 Sequência unívoca largura j=2 implementa<strong>da</strong> com 2 dígitos na<br />
vertical, ca<strong>da</strong> um <strong>de</strong>les com 4 níveis <strong>de</strong> sinal, b=8, dígito menos significativo em<br />
baixo. As cores seguem o código <strong>da</strong>s resistências, (0=preto, 1= castanho,<br />
2=vermelho, 3=laranja, etc.)<br />
6.7 Implementações com restrições adicionais<br />
Para uma <strong>da</strong><strong>da</strong> aplicação po<strong>de</strong> existir anecessi<strong>da</strong><strong>de</strong> <strong>de</strong> que asequência unívoca<br />
não apresente <strong>de</strong>termina<strong>da</strong>s característica in<strong>de</strong>sejáveis.<br />
98
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
Consi<strong>de</strong>re-se a sequência unívoca S <strong>de</strong>fini<strong>da</strong> anteriormente em 6.1 e com as<br />
restrições apresenta<strong>da</strong>s por 6.2 e 6.3. Acrescente-se a restrição adicional:<br />
J j S,i⊄M j , ∀ i∈[1,n]<br />
1 1 2 2 m m<br />
M j ={s 1 ,⋯,sb,s1,⋯,sb,⋯,s1,⋯,sb}<br />
(6.7)<br />
em que M j é o conjunto <strong>de</strong> to<strong>do</strong>s os “números” in<strong>de</strong>sejáveis <strong>de</strong> base b e largura j.<br />
Esta formalização é interessante para certas aplicações com dificul<strong>da</strong><strong>de</strong>s em<br />
i<strong>de</strong>ntificar <strong>de</strong>termina<strong>da</strong>s sequências. Para uma aplicação hipotética que utilize<br />
uma câmara, po<strong>de</strong> não conveniente obrigar aque existam sempre transições <strong>de</strong><br />
cor em to<strong>da</strong>s as janelas <strong>da</strong> sequência.<br />
Aimplementação construí<strong>da</strong> permite gerar sequências sem qualquer conjunto<br />
arbitrário <strong>de</strong> números in<strong>de</strong>sejáveis M j.<br />
Como exemplo, apresenta-se os resulta<strong>do</strong>s <strong>da</strong> geração <strong>de</strong> sequências com uma<br />
quanti<strong>da</strong><strong>de</strong> limita<strong>da</strong> <strong>de</strong> dígitos repeti<strong>do</strong>s consecutivos. Estas sequências são<br />
mostra<strong>da</strong>s nas figuras 6.6, 6.7 e6.8. Para outros exemplos consultar oAnexo 3<br />
Tabela <strong>de</strong> Algumas Sequências Unívocas, pág. 200. Nestes casos não há<br />
garantias teóricas quanto ao tamanho <strong>da</strong> sequência.<br />
Figura 6.6 Sequência unívoca Binária, Janela=4, sem restrições<br />
Figura 6.7 Sequência unívoca Binária, Janela=4, sem sequências <strong>de</strong> 4<br />
dígitos iguais consecutivos<br />
Figura 6.8 Sequência unívoca Binária, Janela=4, sem sequências <strong>de</strong> 3<br />
nem <strong>de</strong> 4 dígitos iguais consecutivos<br />
99
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
6.8 Geração <strong>de</strong> Sequências Unívocas<br />
Ageração <strong>da</strong> sequência unívoca não está sujeita arestrições <strong>de</strong> Tempo Real.<br />
Ain<strong>da</strong> assim <strong>da</strong><strong>da</strong> aexplosão combinatória que este problema assume, um bom<br />
algoritmo énecessário na prática para os obter em tempo aceitáveis com um PC<br />
vulgar. Se se fossem testar to<strong>da</strong>s as combinações possíveis para uma sequência <strong>de</strong><br />
base b com tamanho n, seria necessário avaliar b n ramos <strong>da</strong> árvore, oque é<br />
claramente inaceitável, por ex. b=2, j=6, circular, n=2 6 implica avaliar 2 64<br />
combinações possíveis; se ca<strong>da</strong> avaliação <strong>de</strong>morar 1micro segun<strong>do</strong> então será<br />
necessário mais <strong>de</strong> 213 milhões <strong>de</strong> dias <strong>de</strong> processamento.<br />
O algoritmo implementa<strong>do</strong> vai crian<strong>do</strong> a sequência pretendi<strong>da</strong> à custa <strong>de</strong><br />
acrescentar progressivamente dígitos àsequência inicial. Asequência inicial po<strong>de</strong><br />
ser <strong>da</strong><strong>da</strong> ou procura<strong>da</strong> sequencialmente <strong>do</strong> número 0em diante 28 .Émanti<strong>do</strong> um<br />
vector UsedNumber que mantém to<strong>do</strong>s números já utiliza<strong>do</strong>s. Um número neste<br />
contexto éoresulta<strong>do</strong> <strong>de</strong> uma conversão para <strong>de</strong>cimal <strong>de</strong> uma sequência <strong>de</strong><br />
dígitos <strong>de</strong> base b com largura j. Énecessário manter outra lista BadSeqDigit que<br />
contém para aposição actual <strong>de</strong>ntro <strong>da</strong> sequência oconjunto <strong>de</strong> to<strong>do</strong>s os dígitos<br />
que já foram tenta<strong>do</strong>s. Chegan<strong>do</strong>-se auma situação em que to<strong>do</strong>s os dígitos<br />
possíveis não são permiti<strong>do</strong>s, então faz-se onecessário backtracking que inclui<br />
apagar oultimo caracter que se pensava fixo, incluí-lo no lista BadSeqDigit e<br />
marcar em UsedNumber a sequência que afinal está livre.<br />
Através <strong>de</strong>ste funcionamento temos uma pesquisa através <strong>da</strong> árvore <strong>de</strong> soluções<br />
que elimina os ramos inviáveis <strong>da</strong> árvore extremamente ce<strong>do</strong> epermite assim<br />
convergências rápi<strong>da</strong>s.<br />
Antes <strong>do</strong> arranque <strong>de</strong>ste algoritmo são marca<strong>da</strong>s como já estan<strong>do</strong> utiliza<strong>da</strong>s<br />
to<strong>do</strong>s os números in<strong>de</strong>sejáveis por exemplo aqueles com repetições<br />
excessivamente longas <strong>do</strong> mesmo dígito.<br />
O algoritmo po<strong>de</strong> ser resumi<strong>do</strong> <strong>da</strong> seguinte forma:<br />
if SeqCircular then N=b^j else N=b^j+j-1<br />
UsedNumber[0..MaxNumber]:=false<br />
BadSeqDigit[0..N]:=empty_set<br />
for i:=0 to MaxDigits-1 <strong>do</strong><br />
if IsNumberBad(i) then<br />
Used[i]:=True<br />
Seq:=GetinitialSeq()<br />
pos:=Win<strong>do</strong>wSize<br />
FlagExit:=true<br />
while (FlagExit) <strong>do</strong><br />
cur_number:=Deco<strong>de</strong>BaseCircular<br />
(Seq+'0',b,j,Len(Seq)-Win<strong>do</strong>wSize+2, SeqCircular)<br />
28Enten<strong>da</strong>-se o número 0 como sen<strong>do</strong> 0...0 com largura j, na base b<br />
100
<strong>do</strong><br />
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
k:=0<br />
while (Used[number+k] or (k in BadSeqDigit[pos+1])) and (k
Codifica<strong>do</strong>r <strong>de</strong> Janela Deslizante<br />
robótica.<br />
102
Capítulo 7<br />
Implementações Relevantes para o<br />
Ambiente RoboCup<br />
7.1 Introdução<br />
As competições robóticas são simultaneamente visualmente apelativas e<br />
didácticas. Talvez por essa razão aparecem muitas competições [180] nesta área<br />
que <strong>de</strong>sperta o interesse <strong>de</strong> público em geral, <strong>de</strong> professores, <strong>de</strong> alunos e ain<strong>da</strong> <strong>de</strong><br />
investiga<strong>do</strong>res. A <strong>de</strong>finição correcta <strong>de</strong> um <strong>da</strong><strong>do</strong> problema <strong>de</strong> investigação<br />
contribui para o<strong>de</strong>senvolvimento nessa área eacompetição permite arápi<strong>da</strong><br />
comparação <strong>da</strong> quali<strong>da</strong><strong>de</strong> <strong>da</strong>s soluções obti<strong>da</strong>s. Muitos <strong>do</strong>s resulta<strong>do</strong>s obti<strong>do</strong>s<br />
po<strong>de</strong>m posteriormente ser facilmente transporta<strong>do</strong>s para outras aplicações tais<br />
como armazéns automáticos, sistemas <strong>de</strong> transporte <strong>de</strong> materiais fabris, sistemas<br />
<strong>de</strong> entregas em escritório, higiene, aplicações <strong>de</strong> vigilância, salvamento, etc..<br />
ORoboCup [181], [182] éum exemplo <strong>de</strong>ste tipo <strong>de</strong> competições robóticas<br />
porque fornece uma banca <strong>de</strong> ensaios padrão anível mundial para arobótica. O<br />
autor está fortemente envolvi<strong>do</strong> em competições <strong>de</strong> futebol robótico quer na liga<br />
F180 (<strong>de</strong>s<strong>de</strong> 1998) quer na liga F2000 (<strong>de</strong>s<strong>de</strong> 1999). Surgiram assim várias<br />
gerações <strong>de</strong> robots totalmente concebi<strong>da</strong>s <strong>de</strong>ntro <strong>da</strong> FEUP [16],[17],[71].<br />
Foram assim retira<strong>do</strong>s diversos ensinamentos, muitos <strong>do</strong>s quais apresenta<strong>do</strong>s<br />
neste <strong>do</strong>cumento.<br />
103
Implementações Relevantes para o Ambiente RoboCup<br />
7.2 Fe<strong>de</strong>ração RoboCup<br />
A RoboCup Fe<strong>de</strong>ration [181], [182] fornece várias ligas on<strong>de</strong> testes padrão<br />
permitem catalizar ainvestigação científica em problemas diferentes <strong>de</strong> liga para<br />
liga. As ligas excepto osalvamento robótico (rescue) ealiga <strong>de</strong> humanói<strong>de</strong>s são<br />
totalmente autónomas. Uma <strong>de</strong>scrição geral po<strong>de</strong> ser consulta<strong>da</strong> em [183].<br />
A <strong>de</strong>scrição que se segue diz respeito às regras relativas ao ano <strong>de</strong> 2003.<br />
O<strong>de</strong>safio coloca<strong>do</strong> pelo RoboCup aos investiga<strong>do</strong>res mundiais subdivi<strong>de</strong>-se em<br />
3 categorias principais [181]:<br />
• RoboCup Soccer – Futebol Robótico, incluin<strong>do</strong> uma liga <strong>de</strong> simulação e<br />
quatro ligas robóticas com regras distintas;<br />
• RoboCup Rescue – Investigação no <strong>do</strong>mínio <strong>da</strong> busca e salvamento em<br />
gran<strong>de</strong>s catástrofes. Acategoria divi<strong>de</strong>-se numa mo<strong>da</strong>li<strong>da</strong><strong>de</strong> <strong>de</strong> simulação e<br />
uma mo<strong>da</strong>li<strong>da</strong><strong>de</strong> robótica;<br />
• RoboCup Júnior – RoboCup ao serviço <strong>da</strong> educação. Crianças e jovens<br />
utilizan<strong>do</strong> uma infra-estrutura simples, criam equipas <strong>de</strong> robots para jogar<br />
futebol (1 contra 1 ou 2 contra 2), <strong>da</strong>nçar ou resgatar vítimas.<br />
O Futebol robótico divi<strong>de</strong>-se em 5 ligas principais e diversos <strong>de</strong>safios associa<strong>do</strong>s:<br />
• Liga <strong>de</strong> Simulação;<br />
• Equipas <strong>de</strong> 11 agentes <strong>de</strong> software in<strong>de</strong>pen<strong>de</strong>ntes;<br />
• Ambiente simula<strong>do</strong>, jogan<strong>do</strong> um <strong>de</strong>safio <strong>de</strong> futebol virtual;<br />
• Sistema <strong>de</strong> simulação soccerserver;<br />
• Promoção <strong>de</strong> autonomia:<br />
• Limitação <strong>de</strong> quali<strong>da</strong><strong>de</strong> nas percepções;<br />
• Introdução <strong>de</strong> limitações nas comunicações;<br />
• Liga <strong>de</strong> Robots Pequenos – F180:<br />
• Equipas <strong>de</strong> 5 robots <strong>de</strong> 18 cm <strong>de</strong> diâmetro;<br />
• Visão e controlo centraliza<strong>do</strong>s;<br />
• Campo com dimensões <strong>de</strong> 2.8 m por 2.4 m com pare<strong>de</strong>s a 45º 29 ;<br />
• Promoção <strong>de</strong> autonomia através <strong>da</strong> utilização <strong>da</strong> caixa <strong>de</strong> arbitragem<br />
(referee box):<br />
• Movimentação manual <strong>do</strong>s robot é proibi<strong>da</strong>;<br />
• Notificação automática <strong>da</strong>s <strong>de</strong>cisões <strong>do</strong> árbitro;<br />
29 Está previsto as pare<strong>de</strong>s serem retira<strong>da</strong>s em 2004 e é também possível que a dimensão <strong>do</strong><br />
campo aumente<br />
104
Implementações Relevantes para o Ambiente RoboCup<br />
• Os joga<strong>do</strong>res po<strong>de</strong>m movimentar-se normalmente durante as pausas<br />
<strong>do</strong> jogo (faltas, etc.) <strong>de</strong>s<strong>de</strong> que cumpram tempos e distâncias<br />
especifica<strong>da</strong>s nas regras;<br />
• Liga <strong>de</strong> Robots Médios – F2000:<br />
• Equipas <strong>de</strong> 4 robots <strong>de</strong> 50 cm por 50 cm;<br />
• Robots <strong>de</strong> eleva<strong>da</strong> autonomia, que utilizam apenas sensores internos;<br />
• Campo <strong>de</strong> cerca <strong>de</strong> 5 m por 10 m;<br />
• Promoção <strong>de</strong> autonomia através <strong>da</strong> redução <strong>da</strong> estruturação <strong>do</strong><br />
ambiente removen<strong>do</strong> as pare<strong>de</strong>s <strong>do</strong> campo<br />
• Liga <strong>de</strong> Robots com Pernas – Sony Legged:<br />
• Equipas <strong>de</strong> 4 robots cães Aibo <strong>da</strong> Sony;<br />
• Campo <strong>de</strong> cerca <strong>de</strong> 3 m por 5 m;<br />
• Liga <strong>de</strong> robots humanói<strong>de</strong>s – Espera-se uma forte evolução neste<br />
ambicioso <strong>do</strong>mínio. Neste momento têm existi<strong>do</strong> unicamente<br />
<strong>de</strong>monstrações e competições <strong>de</strong> veloci<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>de</strong>slocamento bípe<strong>de</strong> e<br />
marcação <strong>de</strong> penali<strong>da</strong><strong>de</strong>s.<br />
Para além <strong>da</strong>s ligas principais <strong>do</strong> RoboCup, existem diversos <strong>de</strong>safios diferentes<br />
<strong>de</strong> liga para liga. Exemplos <strong>de</strong> <strong>de</strong>safios são a competição para elaborar um<br />
treina<strong>do</strong>r inteligente e <strong>de</strong>safios próprios <strong>de</strong> ca<strong>da</strong> liga (ex: competição para<br />
marcar o máximo <strong>de</strong> golos com oponentes para<strong>do</strong>s).<br />
To<strong>do</strong>s os anos, <strong>de</strong> forma aaferir eincentivar oprogresso científico realiza<strong>do</strong><br />
pelos vários grupos <strong>de</strong> investigação nos diversos tópicos menciona<strong>do</strong>s, a<br />
Fe<strong>de</strong>ração RoboCup organiza o evento Robot World Cup Soccer Games and<br />
Conferences, vulgarmente conheci<strong>do</strong> por RoboCup.<br />
Existem ain<strong>da</strong> diversas competições e eventos regionais relaciona<strong>do</strong>s com o<br />
RoboCup tais como oque se po<strong>de</strong>ria chamar “campeonato Europeu”, oGerman<br />
Open. Noutros pontos <strong>do</strong> globo existem também eventos regionais tal como o<br />
Japan Open, o China Open, Singapura Open, Australian Open, American Open,<br />
Iranian Open, etc..<br />
Em Portugal existe também oFestival Nacional <strong>de</strong> Robótica que tem assumi<strong>do</strong><br />
importância crescente. Toman<strong>do</strong> oevento <strong>de</strong> 2003, este festival incluiu algumas<br />
<strong>de</strong>monstrações ecompetições liga<strong>da</strong>s àfe<strong>de</strong>ração RoboCup mas não élimita<strong>do</strong><br />
apenas a estas mo<strong>da</strong>li<strong>da</strong><strong>de</strong>s.<br />
105
Implementações Relevantes para o Ambiente RoboCup<br />
7.3 Robots futebolistas F180 (ano 2003)<br />
7.3.1 Requisitos<br />
De acor<strong>do</strong> com ameto<strong>do</strong>logia i<strong>de</strong>ntifica<strong>da</strong> no Capítulo 2, os seguintes requisitos<br />
foram i<strong>de</strong>ntifica<strong>do</strong>s no início <strong>do</strong> projecto [16]:<br />
● Tamanho máximo <strong>de</strong> acor<strong>do</strong> com as regras [181]:<br />
• 18 cm <strong>de</strong> diâmetro;<br />
• 15 cm <strong>de</strong> altura;<br />
● Locomoção Omni-Direccional:<br />
• Veloci<strong>da</strong><strong>de</strong> <strong>de</strong> ponta superior a 1 m/s;<br />
• Acelerações superiores a 5 ms -2 ;<br />
● Manipula<strong>do</strong>res:<br />
• Dispositivo <strong>de</strong> chuto <strong>da</strong> bola com possibili<strong>da</strong><strong>de</strong> <strong>de</strong> força controla<strong>da</strong> e<br />
tempo mínimo para “armar” o chuto;<br />
• Zona viável para chutar <strong>de</strong>ve ser máxima;<br />
• Capaci<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>do</strong>minar a bola – eventualmente com um dribller –<br />
estes dispositivos que fazem abola rolar contra ocorpo <strong>do</strong> robot são<br />
quase omni-presentes nesta liga;<br />
● Alimentação:<br />
• Puramente eléctrica;<br />
• Autonomia mínima <strong>de</strong> 1 hora;<br />
● Admite-se a ausência <strong>de</strong> sensores locais;<br />
● Comunicações <strong>do</strong> exterior para o robot através <strong>de</strong>:<br />
• 2 frequências RF;<br />
• Infravermelhos (permite treinar sem interferir com o exterior);<br />
Para contornar o reduzi<strong>do</strong> tamanho <strong>do</strong> robot, as regras <strong>de</strong>sta competição<br />
permitem autilização <strong>de</strong> um sistema <strong>de</strong> visão econtrolo centraliza<strong>do</strong>, externo ao<br />
robot. Para estes sistemas, foram i<strong>de</strong>ntifica<strong>do</strong>s os seguintes requisitos:<br />
106<br />
● Sistema <strong>de</strong> Visão:<br />
• I<strong>de</strong>ntificação <strong>de</strong> marca<strong>do</strong>res colori<strong>do</strong>s <strong>de</strong> 4 cm <strong>de</strong> diâmetro;<br />
• Precisão <strong>de</strong> posicionamento mínima <strong>de</strong> cerca <strong>de</strong> 15mm eorientação<br />
cerca <strong>de</strong> 0.01 rad;
Implementações Relevantes para o Ambiente RoboCup<br />
• Suportar objectos (marca<strong>do</strong>res/bola) extremamente rápi<strong>do</strong>s (na or<strong>de</strong>m<br />
<strong>do</strong>s 5 m/s);<br />
• Suporte a diferentes níveis <strong>de</strong> iluminação;<br />
• Altura máxima <strong>do</strong> sistema <strong>de</strong> aquisição <strong>de</strong> visão <strong>de</strong> 3 m;<br />
● Controlo:<br />
• Seguimento <strong>de</strong>: 5 robots <strong>da</strong> equipa, 5 adversários e <strong>da</strong> bola<br />
• Minimizar o atraso total no ciclo <strong>de</strong> visão e controlo (alguns<br />
adversários mencionam cerca <strong>de</strong> 80 ms);<br />
● Decisão:<br />
• Suporte à utilização <strong>da</strong> caixa <strong>de</strong> arbitragem (Referee Box);<br />
• Implementação <strong>de</strong> estratégias para cumprir os objectivos <strong>do</strong> jogo;<br />
7.3.2 Descrição Geral<br />
Orobot <strong>de</strong>senvolvi<strong>do</strong> éapresenta<strong>do</strong> <strong>de</strong> forma muito sumária na figura 7.1. A<br />
tampa <strong>do</strong> robot apresenta um código <strong>de</strong> barras sem repetição ângular em torno<br />
<strong>de</strong> um marca<strong>do</strong>r com a cor <strong>da</strong> equipa. O código <strong>de</strong> barras li<strong>do</strong> fornece a<br />
informação <strong>de</strong> i<strong>de</strong>ntificação <strong>do</strong> robot eseu ângulo. Otermo “Kicker”, no âmbito<br />
<strong>do</strong> futebol robótico, diz respeito ao dispositivo que chuta abola em situação <strong>de</strong><br />
remate.<br />
Comunicações<br />
com Exterior<br />
Alimentação<br />
(baterias)<br />
Locomoção<br />
Omni-Direccional<br />
Actua<strong>do</strong>r (motores)<br />
Figura 7.1 Descrição geral <strong>do</strong> robot <strong>de</strong>senvolvi<strong>do</strong> para liga F180<br />
7.3.3 Sistema <strong>de</strong> Alimentação<br />
Sistema Embebi<strong>do</strong><br />
Actua<strong>do</strong>r (kicker)<br />
Local para "carga"<br />
(bola)<br />
A solução encontra<strong>da</strong> para a alimentação foi a utilização <strong>de</strong> 3 pacotes <strong>de</strong><br />
baterias <strong>de</strong> 6 volts. Ten<strong>do</strong> si<strong>do</strong> consi<strong>de</strong>ra<strong>do</strong> que a electrónica tem consumo<br />
reduzi<strong>do</strong> face aos outros consumos, osistema electrónico é alimenta<strong>do</strong> a5V<br />
através regula<strong>do</strong>r <strong>low</strong>-drop apartir <strong>de</strong> um único pacote <strong>de</strong> baterias. Como as<br />
baterias são carrega<strong>da</strong>s individualmente, oproblema <strong>da</strong> carga <strong>do</strong>s pacotes não<br />
ser exactamente igual écorrigi<strong>do</strong> aca<strong>da</strong> carga. Como osistema <strong>de</strong> coman<strong>do</strong> <strong>do</strong>s<br />
motores recebe energia directa <strong>da</strong>s baterias, o conversor <strong>de</strong> energia é muito<br />
simplifica<strong>do</strong> na configuração implementa<strong>da</strong>.<br />
107
Implementações Relevantes para o Ambiente RoboCup<br />
7.3.4 Localização<br />
Alocalização éfeita externamente ao robot através <strong>de</strong> 2câmaras fixas on<strong>de</strong> é<br />
possível estabelecer mapeamentos entre aposição <strong>do</strong> pixel na imagem eaposição<br />
<strong>do</strong> campo [4].<br />
Oservi<strong>do</strong>r <strong>de</strong> visão on<strong>de</strong> ligam as 2câmaras está basea<strong>do</strong> no Sistema Operativo<br />
Linux e a parte <strong>de</strong> <strong>de</strong>cisão corre em Win<strong>do</strong>ws, comunican<strong>do</strong> os 2 sistemas<br />
através <strong>de</strong> UDP [16]. Odiagrama <strong>de</strong> blocos <strong>do</strong> sistema éapresenta<strong>do</strong> na fig. 7.3<br />
e 2 robots reais aparecem na figura 7.4.<br />
7.3.5 Locomoção<br />
As ro<strong>da</strong>s omni-direccionais mostra<strong>da</strong>s na figura 7.2 não estão coloca<strong>da</strong>s a120º<br />
por motivos <strong>de</strong> aproveitamento <strong>de</strong> espaço. Esta colocação <strong>da</strong>s ro<strong>da</strong>s permite<br />
ain<strong>da</strong> movimento omni-direccional mas faz com que orobot tenha uma direcção<br />
privilegia<strong>da</strong> <strong>de</strong> movimento: orobot an<strong>da</strong> mais <strong>de</strong>pressa em frente que noutras<br />
direcções. A estratégia <strong>de</strong> controlo tem <strong>de</strong> tomar este facto em consi<strong>de</strong>ração.<br />
7.3.6 Actua<strong>do</strong>res<br />
O dribbler projecta<strong>do</strong> não se revelou tão eficiente como espera<strong>do</strong>. Em vez disso,<br />
utiliza-se uma pequena rampa com material que serve <strong>de</strong> amortece<strong>do</strong>r <strong>do</strong><br />
choque <strong>da</strong> bola. Este apêndice serve como dispositivo <strong>de</strong> recepção <strong>de</strong> passes e<br />
ain<strong>da</strong> algum <strong>do</strong>mínio sobre a bola quan<strong>do</strong> o robot avança.<br />
Figura 7.2 Imagem <strong>do</strong> CAD para projecto <strong>do</strong><br />
sistema <strong>de</strong> chuto<br />
Odispositivo <strong>de</strong> chuto ébasea<strong>do</strong> num solenói<strong>de</strong> que por motivos <strong>de</strong> espaço teve<br />
que ser posiciona<strong>do</strong> tal como mostra a figura 7.2. Este dispositivo <strong>de</strong> chuto<br />
utiliza energia acumula<strong>da</strong> em con<strong>de</strong>nsa<strong>do</strong>res para um impulso com força<br />
variável sobre a bola conforme o tempo que o solenói<strong>de</strong> está alimenta<strong>do</strong>.<br />
108
7.3.7 Visão<br />
Implementações Relevantes para o Ambiente RoboCup<br />
Osistema <strong>de</strong> visão centraliza<strong>do</strong> utiliza informação proveniente <strong>da</strong> calibração<br />
câmara mun<strong>do</strong> para situar to<strong>do</strong>s os marca<strong>do</strong>res importantes. As câmara são<br />
consi<strong>de</strong>ra<strong>da</strong>s sensores complementares epor isso oconjunto <strong>da</strong>s duas câmara é<br />
consi<strong>de</strong>ra<strong>do</strong> como um só elemento <strong>de</strong> medi<strong>da</strong>, também graças ao facto <strong>de</strong> ser<br />
possível sincronizar a produção <strong>da</strong>s imagens pelas câmaras.<br />
Osistema <strong>de</strong> visão éuma herança que tem as suas origens em 1998 [4]. Apesar<br />
<strong>do</strong> processamento apresenta<strong>do</strong> ser muito rápi<strong>do</strong> e<strong>de</strong> boa quali<strong>da</strong><strong>de</strong>, osistema<br />
sofre <strong>do</strong> ruí<strong>do</strong> <strong>de</strong> cor inerente àcodificação e<strong>de</strong>scodificação em PAL (ver figura<br />
8.2, pág. 119).<br />
As cores são i<strong>de</strong>ntifica<strong>da</strong>s através <strong>da</strong> sua colocação <strong>de</strong>ntro <strong>do</strong> cubo RGB. Ca<strong>da</strong><br />
cor é<strong>de</strong>fini<strong>da</strong> através <strong>de</strong> uma região previamente i<strong>de</strong>ntifica<strong>da</strong>s através <strong>de</strong> treino<br />
via interface gráfica (ver figura 8.1, pág. 119).<br />
7.3.8 Arquitectura global<br />
Figura 7.3 Diagrama <strong>do</strong> sistema 5dpo para a liga F180<br />
109
Implementações Relevantes para o Ambiente RoboCup<br />
Figura 7.4 Robots <strong>da</strong> equipa 5dpo, liga F180 (Foto tira<strong>da</strong> no RoboCup 2003, Pádua,<br />
Itália)<br />
A nível <strong>do</strong> sistema <strong>de</strong> <strong>de</strong>cisão, é utiliza<strong>do</strong> um sistema a 3 níveis, similar ao<br />
apresenta<strong>do</strong> para os robots médios, na secção 7.4.9, pág. 115.<br />
O sistema robótico constituí<strong>do</strong> pelo conjunto <strong>do</strong>s sistemas apresenta<strong>do</strong>s<br />
necessita <strong>de</strong> conhecer o esta<strong>do</strong> actual <strong>do</strong> jogo para po<strong>de</strong>r obe<strong>de</strong>cer a um<br />
conjunto <strong>de</strong> regras estratégicas diferentes conforme oesta<strong>do</strong> corrente <strong>do</strong> jogo.<br />
Algumas situações <strong>de</strong> jogo necessitam <strong>de</strong> tratamento especial tal como o<br />
comportamento durante a marcação <strong>de</strong> uma falta ou <strong>de</strong> uma gran<strong>de</strong> penali<strong>da</strong><strong>de</strong>.<br />
7.3.9 Melhoramentos<br />
Foram i<strong>de</strong>ntifica<strong>do</strong>s os seguintes pontos a melhorar neste sistema robótico:<br />
● Melhorar o dispositivo <strong>de</strong> <strong>do</strong>mínio <strong>da</strong> bola;<br />
● Estu<strong>da</strong>r as vantagens <strong>da</strong> existência <strong>de</strong> comunicações partin<strong>do</strong> <strong>do</strong> robot<br />
(comunicar à estratégia se o robot tem a bola em contacto ou não);<br />
7.4 Robots futebolistas F2000 (ano 2003) –<br />
plataforma experimental<br />
7.4.1 Requisitos<br />
Orobot a<strong>de</strong>qua<strong>do</strong> àliga F2000 émuito diferente <strong>do</strong> a<strong>de</strong>qua<strong>do</strong> ao jogo na liga<br />
F180. Os robots utiliza<strong>do</strong>s na liga F2000 são robots com eleva<strong>do</strong> nível <strong>de</strong><br />
autonomia em que alocalização <strong>de</strong>ve ser consegui<strong>da</strong> sem recurso a sistemas<br />
exteriores ao campo. É possível, no entanto, utilizar <strong>de</strong> um sistema “treina<strong>do</strong>r”<br />
externo, por exemplo para coor<strong>de</strong>nação <strong>do</strong>s robots em campo. As restrições<br />
impostas pelas regras [181] são também muito diferentes. Os requisitos<br />
110
i<strong>de</strong>ntifica<strong>do</strong>s são os seguintes:<br />
● Tamanho máximo <strong>de</strong> acor<strong>do</strong> com as regras [181]:<br />
Implementações Relevantes para o Ambiente RoboCup<br />
• Projecção <strong>do</strong> robot no chão menor que 50 cm por 50 cm;<br />
• 30 a 85 cm <strong>de</strong> altura;<br />
● Locomoção:<br />
• Veloci<strong>da</strong><strong>de</strong> <strong>de</strong> ponta superior a 1 m/s;<br />
● Preferência por locomoção omni-direccional;<br />
● Manipula<strong>do</strong>res:<br />
• Dispositivo <strong>de</strong> chuto <strong>da</strong> bola com tempo mínimo para “armar” o<br />
chuto;<br />
• Zona viável para chutar <strong>de</strong>ve ser máxima;<br />
• Alguma capaci<strong>da</strong><strong>de</strong> <strong>de</strong> <strong>do</strong>mínio <strong>da</strong> bola;<br />
● Alimentação:<br />
• Puramente eléctrica;<br />
• Autonomia mínima <strong>de</strong> 1 hora;<br />
● Admite-se a existência <strong>de</strong> PC embarca<strong>do</strong>;<br />
● Sistema embebi<strong>do</strong>:<br />
• Subsistemas <strong>de</strong> coman<strong>do</strong> <strong>do</strong>s motores (implica utilização <strong>de</strong> MCUs);<br />
• Possibili<strong>da</strong><strong>de</strong> <strong>de</strong> utilização <strong>de</strong> sensores locais tal como US ou IR;<br />
• Possibili<strong>da</strong><strong>de</strong> <strong>de</strong> utilização <strong>de</strong> sistema <strong>de</strong> orientação (pan) para a<br />
câmara;<br />
● Comunicações bidireccionais entre robot e exterior.<br />
Um <strong>da</strong>s situações graves na implementação prática é que o sistema robótico<br />
construí<strong>do</strong> tem vin<strong>do</strong> asofrer constantes actualizações que lhe conferem alguns<br />
problemas <strong>de</strong> herança <strong>de</strong> proprie<strong>da</strong><strong>de</strong>s eque obrigam aum trabalho extra para<br />
conviver com uma certa diversi<strong>da</strong><strong>de</strong> <strong>de</strong> implementações.<br />
7.4.2 Descrição geral<br />
Orobot <strong>de</strong>senvolvi<strong>do</strong> para esta liga <strong>de</strong>ve ter eleva<strong>da</strong> capaci<strong>da</strong><strong>de</strong> <strong>de</strong> autonomia.<br />
Para tal, ca<strong>da</strong> robot transporta uma câmara que ro<strong>da</strong> em torno <strong>do</strong> sistema <strong>de</strong><br />
“pescoço” (figura 7.5).<br />
111
Implementações Relevantes para o Ambiente RoboCup<br />
Figura 7.5 Descrição geral <strong>do</strong> robot <strong>de</strong>senvolvi<strong>do</strong> para liga F2000<br />
7.4.3 Sistema <strong>de</strong> alimentação<br />
Em termos <strong>de</strong> sistemas <strong>de</strong> alimentação, são utiliza<strong>do</strong>s conversores convencionais<br />
CC/CC <strong>do</strong> tipo Step Down construí<strong>do</strong>s pela equipa para obter as tensões positivas<br />
<strong>de</strong> alimentação necessárias ao funcionamento <strong>do</strong> PC. Utiliza-se ain<strong>da</strong> um<br />
conversor <strong>do</strong> tipo charge pump para gerar a tensão <strong>de</strong> -12V.<br />
7.4.4 Locomoção<br />
Durante oRoboCup 2003 aequipa 5dpo-2000 apresentou os 2robots atacantes<br />
com modificações que permitem movimentação omni-direccional (ver figuras 7.7<br />
e7.8). Aconfiguração utiliza<strong>da</strong> não éi<strong>de</strong>al (3 ro<strong>da</strong>s omni-direccionais coloca<strong>da</strong>s<br />
perpendicularmente no robot) mas permite <strong>de</strong> facto movimentos omnidireccionais.<br />
O robot classifica<strong>do</strong> <strong>de</strong> “<strong>de</strong>fesa” e o “guar<strong>da</strong> re<strong>de</strong>s” utilizam locomoção<br />
diferencial pois têm, em geral, movimentação mais limita<strong>da</strong> no campo.<br />
7.4.5 Actua<strong>do</strong>res<br />
Para to<strong>do</strong>s os robots, o subsistema <strong>de</strong> coman<strong>do</strong> <strong>do</strong>s motores é basea<strong>do</strong> em<br />
MCUs e comunica com o PC <strong>do</strong> sistema através <strong>de</strong> porta série. O MCU<br />
utiliza<strong>do</strong> varia conforme a geração <strong>da</strong> placa electrónica utiliza<strong>da</strong>.<br />
Está também implementa<strong>do</strong> um sistema que permite autilização <strong>de</strong> TWI para<br />
ligar várias placas <strong>de</strong> electrónica, ca<strong>da</strong> uma com oseu MCU através <strong>de</strong>sta re<strong>de</strong><br />
<strong>de</strong> sensores e actua<strong>do</strong>res, asseguran<strong>do</strong> assim a possibili<strong>da</strong><strong>de</strong> <strong>de</strong> ligar mais<br />
sensores e ou actua<strong>do</strong>res ao mesmo subsistema.<br />
112<br />
Actua<strong>do</strong>r<br />
(pescoço)<br />
Alimentação<br />
(Externa)<br />
PC Embebi<strong>do</strong><br />
(HAL e DEC)<br />
Sistema<br />
Embebi<strong>do</strong><br />
Alimentação<br />
(baterias)<br />
Locomoção<br />
Omni-Direccional<br />
Comunicações com Exterior<br />
(bluetooth)<br />
Estrutura<br />
Mecânica<br />
Sensor (Câmara)<br />
Local para "carga"<br />
(bola)<br />
Actua<strong>do</strong>r (kicker)<br />
Actua<strong>do</strong>r (motores)
Implementações Relevantes para o Ambiente RoboCup<br />
Os <strong>do</strong>is robots atacantes são os únicos aterem mecanismo <strong>de</strong> chuto. Tal como<br />
nos robots F180, o dispositivo <strong>de</strong> chuto <strong>de</strong>stes robots utiliza também um<br />
solenói<strong>de</strong> com núcleo móvel on<strong>de</strong> a energia provém <strong>de</strong> con<strong>de</strong>nsa<strong>do</strong>res.<br />
7.4.6 Comunicações com o exterior<br />
Durante os jogos <strong>de</strong> futebol robótico, orobot comunica através <strong>de</strong> uma re<strong>de</strong> sem<br />
fios suporta<strong>da</strong> por módulos bluetooth. OPC supervisor executa aaplicação <strong>de</strong><br />
treina<strong>do</strong>r eutiliza 4dispositivos bluetooth, um por canal <strong>de</strong> comunicações com<br />
ca<strong>da</strong> robot. Desta forma, aconfiguração <strong>do</strong> sistema éfacilita<strong>da</strong> epassa aser<br />
possível fazer difusão “simultânea” <strong>de</strong> informação (broadcasts), coisa que o<br />
protocolo bluetooth não permite. Esta situação não resulta provavelmente em<br />
colisões <strong>de</strong>vi<strong>do</strong> ao elevadíssimo ritmo <strong>de</strong> mu<strong>da</strong>nça <strong>de</strong> frequências <strong>de</strong>stes sistemas<br />
(frequency hopping). Acomunicação directa entre robots não épossível <strong>de</strong>vi<strong>do</strong> ao<br />
facto <strong>de</strong> a comunicação ser <strong>do</strong> tipo mestre-servi<strong>do</strong>r. Tal comunicação é, no<br />
entanto, feita pelo sistema <strong>de</strong> bridging <strong>do</strong> sistema operativo Linux <strong>do</strong> computa<strong>do</strong>r<br />
que suporta o sistema <strong>de</strong> comunicações (o PC supervisor/treina<strong>do</strong>r).<br />
7.4.7 Arquitectura<br />
A arquitectura a<strong>do</strong>pta<strong>da</strong> [17] tem elementos semelhantes à arquitectura <strong>do</strong>s<br />
robots F180. Tal como mostra<strong>do</strong> na figura 7.6, também estes robots tem um<br />
servi<strong>do</strong>r <strong>de</strong> visão que tenta ao mesmo tempo fornecer algum nível <strong>de</strong> abstracção<br />
<strong>do</strong> hardware (HAL) eum módulo <strong>de</strong> <strong>de</strong>cisão (DEC). As aplicações HAL eDEC<br />
comunicam por UDP.<br />
7.4.8 Visão<br />
DEC<br />
HAL<br />
Robot 1<br />
5DPO Team Architecture<br />
DEC<br />
HAL<br />
Robot 2<br />
Supervisor<br />
Figura 7.6 Arquitectura <strong>de</strong> Software para a equipa 5dpo-2000<br />
No ano <strong>de</strong> 2003 verificaram-se gran<strong>de</strong>s mu<strong>da</strong>nças internas aos robots pois to<strong>do</strong><br />
osoftware foi porta<strong>do</strong> <strong>de</strong> Win<strong>do</strong>ws para Linux. To<strong>do</strong> osistema <strong>de</strong>ntro <strong>do</strong> robot<br />
passou acaber num flash card (disco <strong>de</strong> memória estática) <strong>de</strong> 256MB. Num<br />
DEC<br />
HAL<br />
Robot 3<br />
DEC<br />
HAL<br />
Robot 4<br />
113
Implementações Relevantes para o Ambiente RoboCup<br />
sistema <strong>de</strong> ficheiros comprimi<strong>do</strong> eapenas <strong>de</strong> leitura foi possível incluir as partes<br />
importantes <strong>do</strong> Mandrake Linux 9.1 incluin<strong>do</strong> X, KDE, algumas ferramentas <strong>de</strong><br />
configuração gráficas e to<strong>do</strong>s os protocolos necessários ao funcionamento <strong>do</strong><br />
robot. Sobra ain<strong>da</strong> espaço para to<strong>do</strong>s os ficheiros configuráveis e to<strong>do</strong>s os<br />
ficheiros <strong>do</strong> utiliza<strong>do</strong>r possam ser manti<strong>do</strong>s num File System EXT3, em espaço<br />
gravável, sen<strong>do</strong> assim fácil modificar aplicações, gravar calibrações, etc..<br />
Figura 7.7 Robot 5dpo-2000 versão modifica<strong>da</strong> para movimento omni-direccional a ser<br />
configura<strong>do</strong> (foto no RoboCup 2003, Pádua, Itália)<br />
To<strong>do</strong>s os módulos <strong>de</strong> <strong>de</strong>cisão (incluin<strong>do</strong> treina<strong>do</strong>r) estão reuni<strong>do</strong>s <strong>de</strong>ntro <strong>de</strong> um<br />
mesmo programa, isto é, to<strong>do</strong>s os robots e o supervisor correm o mesmo<br />
executável <strong>de</strong> <strong>de</strong>cisão mas com configurações diferentes. Mu<strong>da</strong>r uma versão <strong>de</strong><br />
programa éassim fácil pois ésó substituir oexecutável manten<strong>do</strong> os ficheiros <strong>de</strong><br />
configuração antigos.<br />
114
7.4.9 Decisão<br />
Implementações Relevantes para o Ambiente RoboCup<br />
Figura 7.8 Ilustração <strong>do</strong> funcionamento <strong>da</strong> equipa 5dpo-2000 para o<br />
RoboCup 2003, Pádua, Itália<br />
Osistema implementa<strong>do</strong> no robot 5dpo-2000 funciona <strong>de</strong> forma hierárquica<br />
sen<strong>do</strong> que no nível superior encontra-se oconceito <strong>de</strong> “Role” -papel actual <strong>do</strong><br />
robot. Esse tal Role po<strong>de</strong> ser o<strong>de</strong> ser “guar<strong>da</strong>-re<strong>de</strong>s” ou o“primeiro atacante”,<br />
etc.. O treina<strong>do</strong>r po<strong>de</strong> permitir/impedir ou or<strong>de</strong>nar a troca <strong>de</strong> papeis entre<br />
joga<strong>do</strong>res.<br />
Ten<strong>do</strong> um robot um <strong>da</strong><strong>do</strong> Role, ele <strong>de</strong>ve <strong>de</strong>cidir a sua próxima activi<strong>da</strong><strong>de</strong>. Para a<br />
executar orobot vai necessitar <strong>de</strong> diversas “Tasks” -tarefas para cumprir os seus<br />
objectivos. As tarefas representam um nível intermédio <strong>de</strong> complexi<strong>da</strong><strong>de</strong> nas<br />
activi<strong>da</strong><strong>de</strong>s <strong>do</strong> robot erepresentam conceitos tal como aproximar-se <strong>da</strong> bola e<br />
levá-la para a baliza.<br />
Ca<strong>da</strong> tarefa po<strong>de</strong> necessitar por sua vez <strong>de</strong> diversas “Actions” - acções<br />
elementares. Um exemplo <strong>de</strong> uma acção elementar éseguir uma linha. Éneste<br />
nível que se gera as referências instantâneas <strong>de</strong> veloci<strong>da</strong><strong>de</strong> v r e r .<br />
7.4.10 Controlo<br />
As referências instantâneas <strong>de</strong> veloci<strong>da</strong><strong>de</strong> v r e r são as entra<strong>da</strong>s <strong>de</strong> um<br />
sistema <strong>de</strong> controlo <strong>de</strong> movimento. Este sistema ébasea<strong>do</strong> num PI com feedforward<br />
on<strong>de</strong> a componente integral tem um limita<strong>do</strong>r anti-wind-up.<br />
Na configuração 2003 <strong>do</strong>s robots 5dpo-2000 existem <strong>do</strong>is níveis <strong>de</strong> activi<strong>da</strong><strong>de</strong>s<br />
simultâneos: o nível <strong>do</strong> robot e o nível <strong>do</strong> pescoço.<br />
To<strong>do</strong>s os <strong>da</strong><strong>do</strong>s troca<strong>do</strong>s emanti<strong>do</strong>s entre os diversos níveis hierárquicos po<strong>de</strong>m<br />
115
Implementações Relevantes para o Ambiente RoboCup<br />
ser regista<strong>do</strong>s num log para po<strong>de</strong>rem eventualmente ser analisa<strong>do</strong>s mais tar<strong>de</strong>.<br />
7.4.11 Detalhes <strong>de</strong> implementação<br />
Os MCUs utiliza<strong>do</strong>s para os subsistemas <strong>do</strong>s sensores eactua<strong>do</strong>res são Atmel<br />
AVR 2313, 8515 e ATMega8.<br />
Acâmara utiliza<strong>da</strong> éuma câmara <strong>de</strong> vigilância com saí<strong>da</strong> PAL, sen<strong>do</strong> aimagem<br />
adquiri<strong>da</strong> no PC através <strong>de</strong> uma uma placa <strong>de</strong> aquisição <strong>de</strong> ví<strong>de</strong>o basea<strong>da</strong> no<br />
integra<strong>do</strong> BT878. Acâmara po<strong>de</strong> ro<strong>da</strong>r em torno <strong>do</strong> eixo <strong>do</strong>s zz através <strong>de</strong> um<br />
suporte rotativo acciona<strong>do</strong> por um motor <strong>de</strong> passo-a-passo.<br />
Orobot movimenta-se através <strong>de</strong> motores DC, actua<strong>do</strong>s via drivers controla<strong>do</strong>s<br />
por PWM produzi<strong>do</strong>s num MCU <strong>de</strong>dica<strong>do</strong>.<br />
To<strong>da</strong> a electrónica e software foram <strong>de</strong>senvolvi<strong>do</strong>s pela equipa.<br />
Ociclo <strong>de</strong> controlo, que impõe ameta temporal acumprir, tem um perío<strong>do</strong> <strong>de</strong><br />
40 ms eestá sincroniza<strong>do</strong> com achega<strong>da</strong> <strong>de</strong> ca<strong>da</strong> imagem. Acomunicação serve<br />
para sincronizar as aplicações HAL e DEC.<br />
Tal como referi<strong>do</strong> anteriormente HAL eDEC comunicam por UDP epo<strong>de</strong>m ou<br />
não residir na mesma máquina.<br />
Osoftware implementa<strong>do</strong> neste trabalho ébasea<strong>do</strong> em 2hooks que chamam as<br />
rotinas AJSProcessStuff e AJSShowStuff. Como os nomes sugerem, estes hooks<br />
separaram oprocessamento computacional com restrições RT. Desta forma, o<br />
ciclo <strong>de</strong> controlo fecha-se mais ce<strong>do</strong> eavisualização <strong>de</strong> resulta<strong>do</strong>s éfeita mais<br />
tar<strong>de</strong> apenas no caso <strong>de</strong> haver tempo para tal operação. No caso <strong>de</strong> falhas RT<br />
esporádicas na aplicação <strong>de</strong> Decisão, o sistema recupera rapi<strong>da</strong>mente o<br />
sincronismo já que o tempo <strong>de</strong> <strong>de</strong>senho 30 é muito superior ao tempo <strong>de</strong><br />
processamento. Osubsistema <strong>de</strong> motorização faz parar orobot em qualquer<br />
caso <strong>de</strong> ausência prolonga<strong>da</strong> <strong>de</strong> or<strong>de</strong>ns (promove-se a avaria segura).<br />
Para o presente trabalho experimental e para maior facili<strong>da</strong><strong>de</strong> <strong>de</strong><br />
<strong>de</strong>senvolvimento, o módulo DEC é executa<strong>do</strong> num PC portátil e utiliza-se<br />
Ethernet a100 Mbps para troca <strong>de</strong> informação. To<strong>da</strong>s as comunicações utilizam<br />
fios epassam por um switch <strong>de</strong> 100Mbps. Aexistência <strong>de</strong> fios não comprometem<br />
as experiências laboratoriais a realizar e beneficia-se ain<strong>da</strong> <strong>de</strong> facili<strong>da</strong><strong>de</strong> <strong>de</strong><br />
interligação entre to<strong>do</strong>s os componentes <strong>do</strong> sistema com eleva<strong>da</strong> largura <strong>de</strong><br />
ban<strong>da</strong>.<br />
Autilização <strong>de</strong> UDP éa<strong>de</strong>qua<strong>da</strong> ao <strong>de</strong>sempenho RT que se preten<strong>de</strong> <strong>do</strong> sistema.<br />
Se um pacote se per<strong>de</strong>r, não há interesse em repeti-lo para não prejudicar as<br />
comunicações seguintes. Não há também interesse na noção <strong>de</strong> conexão, sen<strong>do</strong><br />
no entanto necessário cui<strong>da</strong><strong>do</strong>s para alimitação <strong>do</strong> tamanho máximo <strong>do</strong> pacote<br />
<strong>de</strong> <strong>da</strong><strong>do</strong>s.<br />
30 O tempo gasto a <strong>de</strong>senhar é muito difícil <strong>de</strong> aferir uma vez que o Kylix / QT / X <strong>de</strong>senham<br />
efectivamente <strong>de</strong> forma assíncrona com or<strong>de</strong>ns anteriores<br />
116
7.4.12 Melhoramentos<br />
Implementações Relevantes para o Ambiente RoboCup<br />
Os robots 5dpo-2000 no ano <strong>de</strong> 2003 encontram-se numa situação <strong>de</strong> transição<br />
epor isso énecessária aconsoli<strong>da</strong>ção <strong>de</strong> uma série <strong>de</strong> situações. I<strong>de</strong>ntificaram-se<br />
assim diversos melhoramentos genéricos:<br />
• Transformar to<strong>da</strong> a equipa em robots omni-direccionais;<br />
• Alargar os dispositivos <strong>de</strong> chuto ato<strong>do</strong>s os robots; estu<strong>da</strong>r um mecanismo<br />
específico para o guar<strong>da</strong>-re<strong>de</strong>s;<br />
• Estu<strong>da</strong>r a mu<strong>da</strong>nça para um sistema omni-direccional <strong>de</strong> visão;<br />
• Mo<strong>de</strong>lizar completamente a mecânica em CAD.<br />
Osistema <strong>de</strong> visão éuma herança que tem as suas origens em 1998 equase não<br />
sofre alterações <strong>de</strong>s<strong>de</strong> 2000. Apesar <strong>do</strong> processamento apresenta<strong>do</strong> ser muito<br />
rápi<strong>do</strong> e<strong>de</strong> boa quali<strong>da</strong><strong>de</strong>, os <strong>da</strong><strong>do</strong>s forneci<strong>do</strong>s são algo básicos eoutros sistemas<br />
mais recentes apresentam maior robustez na extracção <strong>de</strong> <strong>da</strong><strong>do</strong>s e maior<br />
flexibili<strong>da</strong><strong>de</strong>. Este sistema <strong>de</strong> visão po<strong>de</strong>ria ser melhora<strong>do</strong> através <strong>de</strong> fazer com<br />
que aclassificação <strong>de</strong> cor passe ater em consi<strong>de</strong>ração os pixeis vizinhos <strong>do</strong> pixel<br />
em causa.<br />
Uma importante alteração <strong>de</strong> filosofia parece ser necessária ediz respeito aque<br />
osistema <strong>de</strong> visão <strong>de</strong>ve passar atransmitir àsua saí<strong>da</strong> objectos i<strong>de</strong>ntifica<strong>do</strong>s em<br />
vez <strong>de</strong> manchas <strong>de</strong> cor, permitin<strong>do</strong> assim flexibili<strong>da</strong><strong>de</strong> acresci<strong>da</strong> ao<br />
processamento <strong>de</strong> imagem.<br />
7.5 Conclusões<br />
Neste capítulo apresentam-se os <strong>do</strong>is mais recentes projectos em que autor<br />
participou, no âmbito <strong>do</strong> RoboCup.<br />
As soluções apresenta<strong>da</strong>s servem para exemplificar os conceito <strong>do</strong>s capítulos<br />
iniciais. São justifica<strong>da</strong>s as <strong>de</strong>cisões toma<strong>da</strong>s e sugerem-se alguns<br />
melhoramentos.<br />
Otrabalho experimental <strong>de</strong> localização utiliza uma plataforma <strong>da</strong> liga F2000<br />
aqui apresenta<strong>da</strong>, pelo que este capítulo serve para o introduzir.<br />
117
Capítulo 8<br />
Vali<strong>da</strong>ção Experimental<br />
8.1 Procedimento experimental<br />
Oprocedimento experimental utiliza aplataforma robótica <strong>de</strong>senvolvi<strong>da</strong> para a<br />
liga F2000 <strong>do</strong> RoboCup, <strong>de</strong>scrita na secção 7.4, pág. 110, na versão <strong>do</strong> robot<br />
<strong>de</strong>fesa que tem tracção diferencial.<br />
Várias técnicas <strong>de</strong> localização foram estu<strong>da</strong><strong>da</strong>s nesta dissertação. Foi estu<strong>da</strong><strong>da</strong> a<br />
localização com recurso a uma câmara exterior e várias técnicas <strong>de</strong> autolocalização.<br />
Para a fusão <strong>do</strong>s <strong>da</strong><strong>do</strong>s no interior <strong>do</strong> robot foi utiliza<strong>do</strong> o EKF.<br />
Ca<strong>da</strong> méto<strong>do</strong> <strong>de</strong> localização foi estu<strong>da</strong><strong>do</strong> efoi mo<strong>de</strong>liza<strong>do</strong> ca<strong>da</strong> tipo <strong>de</strong> medi<strong>da</strong><br />
presente no sistema. O EKF foi simula<strong>do</strong> e <strong>de</strong>pois implanta<strong>do</strong> no robot.<br />
Para as simulações utiliza-se oprograma matlab sob win<strong>do</strong>ws eaimplementação<br />
no robot utiliza Kylix / QT / X sob Linux.<br />
Para os testes dinâmicos utiliza-se um outro PC liga<strong>do</strong> auma câmara numa<br />
posição eleva<strong>da</strong> que corre as mesmas aplicações (HAL eDEC) parametriza<strong>do</strong>s<br />
<strong>de</strong>vi<strong>da</strong>mente. Os <strong>da</strong><strong>do</strong>s <strong>do</strong>s testes dinâmicos <strong>de</strong> to<strong>da</strong> uma missão são guar<strong>da</strong><strong>do</strong>s<br />
em forma <strong>de</strong> relatório textual na aplicação DEC <strong>do</strong> robot e<strong>de</strong>pois <strong>de</strong>senha<strong>do</strong>s<br />
mais tar<strong>de</strong> por um programa para matlab. Os <strong>da</strong><strong>do</strong>s são, no entanto, visualiza<strong>do</strong>s<br />
no monitor <strong>do</strong> computa<strong>do</strong>r que executa a aplicação DEC.<br />
118
Vali<strong>da</strong>ção Experimental<br />
Osoftware HAL <strong>do</strong>s robots agrupa pixeis classifica<strong>do</strong>s com amesma cor em<br />
manchas (blobs) <strong>de</strong> forma rectangular, <strong>de</strong> cor uniforme e on<strong>de</strong> o centro <strong>da</strong><br />
mancha correspon<strong>de</strong> ao centro <strong>de</strong> massa e não ao centro geométrico <strong>do</strong><br />
rectângulo que limita amancha <strong>de</strong> cor [4]. Ca<strong>da</strong> cor é<strong>de</strong>fini<strong>da</strong> como estan<strong>do</strong><br />
numa região <strong>de</strong>termina<strong>da</strong> <strong>do</strong> cubo RGB. A classificação <strong>de</strong> ca<strong>da</strong> pixel é<br />
in<strong>de</strong>pen<strong>de</strong>nte <strong>do</strong>s pixeis vizinhos. Esta região RGB po<strong>de</strong> ter qualquer forma eé<br />
<strong>de</strong>fini<strong>da</strong> através <strong>da</strong> interface gráfica disponível no HAL [4], geran<strong>do</strong>-se <strong>de</strong>pois<br />
informação que po<strong>de</strong> ser visualiza<strong>da</strong> tal como na figura 8.1.<br />
Figura 8.1 Manchas RGB para 3 conjuntos <strong>de</strong> cores <strong>de</strong>ntro <strong>do</strong> cubo<br />
RGB (cores “laranja”, “azul” e “amarelo”)<br />
Aclassificação <strong>de</strong> cor consegui<strong>da</strong> através <strong>de</strong>ste méto<strong>do</strong> [4] po<strong>de</strong> ser vista ao<br />
longo <strong>do</strong> capítulo <strong>de</strong> resulta<strong>do</strong>s. Aclassificação <strong>de</strong> cor consegui<strong>da</strong> éboa apesar<br />
<strong>do</strong> sinal <strong>de</strong> ví<strong>de</strong>o recebi<strong>do</strong> conter uma gran<strong>de</strong> quanti<strong>da</strong><strong>de</strong> <strong>de</strong> ruí<strong>do</strong> na cor. O<br />
ruí<strong>do</strong> na cor tem duas fontes principais: ofacto <strong>do</strong> sinal ter si<strong>do</strong> modula<strong>do</strong> e<br />
posteriormente <strong>de</strong>smodula<strong>do</strong> em PAL etambém aparentemente o facto <strong>de</strong> a<br />
câmara fazer passar a imagem através <strong>de</strong> um filtro <strong>de</strong> realce (sharpen).<br />
Figura 8.2 Ampliação <strong>da</strong> imagem obti<strong>da</strong> com uma vulgar CamCor<strong>de</strong>r<br />
tal como a utiliza<strong>da</strong> para a localização externa<br />
119
Vali<strong>da</strong>ção Experimental<br />
Este filtro <strong>de</strong> realce éespecialmente importante para aCamCor<strong>de</strong>r <strong>da</strong> câmara <strong>de</strong><br />
localização externa. Na figura 8.2 apresenta-se uma porção <strong>de</strong> imagem muito<br />
amplia<strong>da</strong> on<strong>de</strong> se po<strong>de</strong> avaliar <strong>do</strong> ruí<strong>do</strong> <strong>de</strong> cor existente nas linhas brancas,<br />
ro<strong>de</strong>a<strong>da</strong>s por muitas cores que não existem na reali<strong>da</strong><strong>de</strong>.<br />
8.2 Câmara Externa (VHC)<br />
8.2.1 Introdução<br />
Nesta secção <strong>de</strong>screve-se o projecto e implementação <strong>de</strong> um sistema <strong>de</strong><br />
localização in<strong>de</strong>pen<strong>de</strong>nte epreciso. Para obter estes objectivos, optou-se por um<br />
sistema <strong>de</strong> localização externa. Este sistema servirá futuramente para controlo<br />
<strong>do</strong>s outros algoritmos <strong>de</strong> auto-localização. Aexperimentação estará limita<strong>da</strong> à<br />
localização numa região <strong>de</strong> cerca <strong>de</strong> meio campo <strong>da</strong> liga F2000 – 5 m por 5 m).<br />
Através <strong>da</strong> colocação <strong>de</strong> uma câmara externa, numa posição eleva<strong>da</strong><br />
relativamente aos objectos que se movimentam, épossível obter uma localização<br />
<strong>de</strong> eleva<strong>da</strong> quali<strong>da</strong><strong>de</strong> eque cubra azona <strong>do</strong> campo pretendi<strong>da</strong>. Para facili<strong>da</strong><strong>de</strong><br />
<strong>de</strong> <strong>de</strong>signação chame-se aeste sistema VHC –Very High Camera. Esta câmara<br />
alta <strong>de</strong>ve <strong>de</strong>terminar apose <strong>do</strong> robot que se movimenta na imagem. Através <strong>da</strong><br />
utilização <strong>de</strong> marca<strong>do</strong>res unívocos sem repetição angular é possível adquirir<br />
facilmente apose <strong>do</strong> robot. Esta localização po<strong>de</strong> ser consegui<strong>da</strong> àcusta <strong>de</strong> uma<br />
cor e<strong>de</strong> um código <strong>de</strong> barras radial em preto ebranco. Tal procedimento é<br />
utiliza<strong>do</strong> pela equipa 5dpo nos anos <strong>de</strong> 2000 em diante, (ver fig. 7.4) [16],[71].<br />
Uma outra solução frequentemente utiliza<strong>da</strong> na liga F180 <strong>do</strong> futebol robótico <strong>da</strong><br />
Fe<strong>de</strong>ração RoboCup éutilizar várias manchas <strong>de</strong> cor para i<strong>de</strong>ntificar aposição<br />
robot e a sua direcção.<br />
Para montar um sistema <strong>de</strong> localização externo, égeralmente mais interessante e<br />
mais fácil posicionar acâmara <strong>de</strong> forma “oblíqua” sobre acena avisualizar (ver<br />
fig. 8.3). Esta forma <strong>de</strong> colocação tem as seguintes características:<br />
120<br />
• A colocação <strong>da</strong> câmara é facilita<strong>da</strong>;<br />
• A porção <strong>de</strong> campo coberta pela imagem aumenta;<br />
• Passa aexistir uma distorção relativa àperspectiva inerente às distâncias<br />
muito díspares <strong>do</strong>s pontos <strong>da</strong> imagem;<br />
• Ailuminação eas cores mu<strong>da</strong>m ao longo <strong>de</strong> to<strong>da</strong> aimagem pelo que a<br />
calibração <strong>de</strong> cor não é imediata.
Vali<strong>da</strong>ção Experimental<br />
Por facili<strong>da</strong><strong>de</strong> <strong>de</strong> implementação optou-se por recorrer aum “chapéu” com duas<br />
cores que cobre orobot, permitin<strong>do</strong> assim <strong>de</strong>terminar apose <strong>do</strong> robot (ver fig.<br />
8.3). Aconfiguração apresenta<strong>da</strong> suportaria múltiplos robots <strong>de</strong>s<strong>de</strong> que estes<br />
fossem calibra<strong>do</strong>s em cores diferentes.<br />
Figura 8.3 Robot sen<strong>do</strong> localiza<strong>do</strong> exteriormente<br />
8.2.2 Determinação <strong>do</strong>s parâmetros<br />
Através <strong>do</strong> algoritmo UVZ2XY (secção 4.2.3, pág.75) épossível mapear pixeis<br />
<strong>da</strong> câmara em coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong>. Para tal, épreciso proce<strong>de</strong>r àcalibração<br />
<strong>da</strong> câmara e <strong>de</strong>terminação <strong>do</strong>s to<strong>do</strong>s os seus parâmetros.<br />
Na figura 8.6 po<strong>de</strong>-se ver omapeamento consegui<strong>do</strong> através <strong>da</strong> calibração <strong>do</strong>s<br />
pontos <strong>da</strong> imagem <strong>da</strong> figura 8.4 que correspon<strong>de</strong>m apontos <strong>do</strong> mun<strong>do</strong> <strong>da</strong> figura<br />
8.5.<br />
300<br />
250<br />
200<br />
v<br />
150<br />
100<br />
50<br />
0<br />
0 100 200 300 400<br />
Figura 8.4 Pontos <strong>da</strong> imagem (U,V) para VHC<br />
u<br />
121
Vali<strong>da</strong>ção Experimental<br />
Figura 8.5 Pontos <strong>da</strong> imagem (Xw,Yw) para VHC<br />
Figura 8.6 Mapeamento VHC<br />
Na figura 8.7 po<strong>de</strong>-se ver ofuncionamento <strong>do</strong> sistema. Analisan<strong>do</strong> areferi<strong>da</strong><br />
figura, po<strong>de</strong>-se ver em cima à esquer<strong>da</strong> a imagem <strong>da</strong> VHC, à direita a<br />
classificação <strong>de</strong> cor consegui<strong>da</strong>, eem baixo as imagens <strong>da</strong> aplicação DEC. Em<br />
baixo, àesquer<strong>da</strong> estão as manchas <strong>de</strong> cor àentra<strong>da</strong> eàdireita alocalização<br />
consegui<strong>da</strong>.<br />
Os parâmetros <strong>de</strong>termina<strong>do</strong>s são:<br />
122<br />
-4 -3 -2 -1 0<br />
Yw<br />
4<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
-4<br />
Pos Da<strong>da</strong><br />
Pos Estima<strong>da</strong><br />
Xw<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
Yw<br />
0 1 2 3 4 5 6 7<br />
Xw
VHC =56.92º VHC =94.14º VHC =49.50º<br />
x VHC =4.102m y VHC =2.788m z VHC =4.585m<br />
k =4.8⋅10<br />
bVHC<br />
7<br />
d VHC =425.283<br />
=0.338 max =0.032m<br />
=0.008 =0.008<br />
Vali<strong>da</strong>ção Experimental<br />
(8.1)<br />
A<strong>de</strong>scrição <strong>do</strong> significa<strong>do</strong> <strong>de</strong> ca<strong>da</strong> parâmetro po<strong>de</strong> consulta<strong>do</strong> na secção 4.2.1,<br />
pág. 71 e na secção 4.2.2, pág. 74. é o valor obti<strong>do</strong> pela função C a<br />
minimizar (equação 4.14, pág. 69); max éo <strong>de</strong>svio máximo cometi<strong>do</strong> no<br />
mapeamento; e são respectivamente amédia eo<strong>de</strong>svio padrão <strong>do</strong>s<br />
erros <strong>do</strong> mapeamento; x VHC , y VHC e z VHC são a posição <strong>da</strong> câmara no mun<strong>do</strong>.<br />
A posição real <strong>do</strong> suporte <strong>da</strong> câmara é: x=-4.2 m , y=-3.0 m , z=4.6 m .<br />
Figura 8.7 Imagens <strong>de</strong> to<strong>da</strong>s as aplicações VHC – em cima imagem e classificação <strong>de</strong> cor; em<br />
baixo manchas <strong>de</strong> cor <strong>de</strong> facto transmiti<strong>da</strong>s por re<strong>de</strong> e resulta<strong>do</strong> visual <strong>do</strong> robot no campo;fun<strong>do</strong><br />
<strong>da</strong> aplicação e cor não classifica<strong>da</strong> representa<strong>da</strong>s a branco<br />
8.2.3 Localização Externa <strong>do</strong> Robot<br />
Tal como se po<strong>de</strong> verificar na figura 8.7, utilizou-se um “chapéu” com as cores<br />
dividias pela diagonal (um triângulo <strong>de</strong> ca<strong>da</strong> cor) em <strong>de</strong>trimento <strong>de</strong> manchas <strong>de</strong><br />
cor <strong>de</strong> forma rectangular (figura 8.9). Tal <strong>de</strong>cisão ficou a<strong>de</strong>ver-se ao facto <strong>de</strong>,<br />
em testes preliminares, ter si<strong>do</strong> verifica<strong>do</strong> que manchas estreitas e finas<br />
frequentemente conduzem aclassificações <strong>de</strong> cor <strong>de</strong> com pequeno número <strong>de</strong><br />
pixeis (ver figura 8.8). Tal <strong>de</strong>ve-se ao facto <strong>de</strong> aimagem não ser boa em zonas<br />
próximas <strong>de</strong> duas cores em simultâneo: existe um efeito <strong>de</strong> mistura <strong>de</strong> cores que<br />
123
Vali<strong>da</strong>ção Experimental<br />
épiora<strong>do</strong> pelo filtro <strong>de</strong> “sharpen” inerente àCamCor<strong>de</strong>r utiliza<strong>da</strong> (ver estes efeitos<br />
nas imagens 8.2 e8.7). Autilização <strong>de</strong> outro tipo <strong>de</strong> marca<strong>do</strong>res <strong>de</strong> cor (por<br />
exemplo cilindros ou esferas) foi rejeita<strong>da</strong> já que se introduz incerteza adicional<br />
ao não saber com precisão a altura <strong>do</strong> objecto a medir.<br />
Figura 8.8 Classificação <strong>de</strong> cor em zonas estreitas resulta em poucos pixeis correctamente<br />
classifica<strong>do</strong>s; cor não classifica<strong>da</strong> representa<strong>da</strong> a branco<br />
Arealização prática utiliza uma placa quadra<strong>da</strong> <strong>de</strong> alumínio <strong>de</strong> 1m 2 ,recoberta<br />
apapel crepe <strong>de</strong> cores ciano emagenta que <strong>de</strong>pois são calibra<strong>da</strong>s no sistema <strong>de</strong><br />
visão.<br />
Figura 8.9 Tipos <strong>de</strong> “chapéu” para localização externa <strong>do</strong> robot<br />
Utilizan<strong>do</strong> os centros <strong>de</strong> ca<strong>da</strong> mancha <strong>de</strong> cor e o algoritmo UVZ2XY,<br />
consegue-se a pose <strong>do</strong> robot:<br />
x m ,y m=uvz2xyu m ,v m,z m<br />
x c,y c=uvz2xyu c ,v c,z c<br />
x r=0.5⋅ x m x c x 0<br />
y r=0.5⋅ y m y c y 0<br />
r=atan2 y my c , x mx c 0<br />
(8.2)<br />
Os valores x 0, y 0 e 0 representam distâncias e o ângulo entre o centro <strong>do</strong><br />
chapéu eocentro <strong>do</strong> robot 31 ; z m e z c são as alturas <strong>de</strong> ca<strong>da</strong> mancha. Estes<br />
parâmetros po<strong>de</strong>m ser <strong>de</strong>termina<strong>do</strong>s por medição física já que são valores<br />
facilmente acessíveis. Os valores obti<strong>do</strong>s são <strong>de</strong> x 0=0.05m e y 0=0.00m<br />
0≈/4rad e z m=z c=0.74m .Estes valores não carecem <strong>de</strong> uma calibração<br />
precisa já que a construção real <strong>de</strong> alumínio é sujeita aalguma torção e as<br />
irregulari<strong>da</strong><strong>de</strong>s <strong>do</strong> campo provocam pequenas alterações nestes valores.<br />
31 O centro <strong>do</strong> robot é o seu centro <strong>de</strong> rotação que está aproxima<strong>da</strong>mente na mesma vertical<br />
que o ponto <strong>de</strong> focagem <strong>da</strong> câmara<br />
124
8.2.4 Caracterização <strong>da</strong> medi<strong>da</strong><br />
Vali<strong>da</strong>ção Experimental<br />
Aanálise estatística <strong>de</strong> 256 medi<strong>da</strong>s <strong>do</strong> robot para<strong>do</strong> resulta nos histogramas <strong>da</strong>s<br />
figuras 8.10 e8.11. Na figura 8.10 está também oconjunto <strong>da</strong>s aproximações<br />
gaussianas às curvas obti<strong>da</strong>s. Estas figuras apresentam “picos” <strong>de</strong>vi<strong>do</strong> à<br />
existência <strong>de</strong> quantização mas a aproximação gaussiana parece váli<strong>da</strong> e natural.<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
103<br />
102.5<br />
5<br />
4<br />
3<br />
2<br />
1<br />
Figura 8.10<br />
102<br />
v m<br />
VHC - u m (-2.5, 0, 90º)<br />
0<br />
150 150.5 151 151.5 152 152.5 153 153.5<br />
~N(151.6028,0.091622)<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
126.5 127 127.5 128 128.5 129 129.5 130<br />
~N(128.3509,0.055908)<br />
101.5<br />
VHC - u c (-2.5, 0, 90º)<br />
VHC - u m ,v m (-2.5, 0, 90º)<br />
152.4<br />
152.2<br />
152<br />
151.6151.8<br />
151.2151.4<br />
151<br />
150.8<br />
Figura 8.11 Histogramas bidimensionais para as manchas <strong>de</strong> cor referi<strong>da</strong>s nas figura 8.10<br />
Procure-se então qual oefeito <strong>de</strong>ste ruí<strong>do</strong> consi<strong>de</strong>ra<strong>do</strong> gaussiano em termos <strong>de</strong><br />
posicionamento no mun<strong>do</strong>.<br />
Para o exemplo apresenta<strong>do</strong> nas figuras 8.10 e 8.11:<br />
u m<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
3.5<br />
3<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
VHC - v m (-2.5, 0, 90º)<br />
0<br />
100.5 101 101.5 102 102.5 103 103.5 104<br />
~N(102.1451,0.12385)<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
VHC - u c (-2.5, 0, 90º)<br />
0<br />
126.5 127 127.5 128 128.5 129 129.5 130<br />
~N(128.3509,0.055908)<br />
101.5<br />
101<br />
v m<br />
100.5<br />
100<br />
VHC - u c ,v c (-2.5, 0, 90º)<br />
127.5<br />
128<br />
u m<br />
128.5<br />
129<br />
125
Vali<strong>da</strong>ção Experimental<br />
u m~ N 151.68 ,0.091 v m~ N 102.14 ,0.123<br />
u c ~ N 128.35,0.055 v c ~ N 100.83 ,0.066 (8.3)<br />
Calculan<strong>do</strong> oalgoritmo para ca<strong>da</strong> amostra recolhi<strong>da</strong>, adistribuição resultante<br />
no mun<strong>do</strong> vêm:<br />
x ~ N 2.404 ,0.002<br />
y ~ N 0.076,0.0008<br />
(8.4)<br />
Utilizan<strong>do</strong> as formulas relativas às proprie<strong>da</strong><strong>de</strong>s <strong>do</strong>s processos gaussianos<br />
(secção 5.2.3, pág. 81 esecção 5.2.4, pág. 81) épossível estimar analiticamente<br />
as características <strong>da</strong> distribuição <strong>de</strong>pois <strong>do</strong> anterior algoritmo UVZ2XY que<br />
resulta nas seguintes médias:<br />
xw<br />
yw<br />
= coszwz VHCd VHC cossin cosusin v <br />
sin d VHCcoscosusin v sin z w z VHC sin u cos v <br />
sin d VHC coscos u sin v x VHC<br />
= sin zwzVHCd VHC cossin cosusin v <br />
sin d VHCcoscosusin v E respectivas variâncias:<br />
126<br />
cosz w z VHC sin u cos v <br />
sin d VHC coscos u sin v y VHC<br />
2 2<br />
=cos xw<br />
z wz VHC2 sin 2 cos 2 usin 2 v sin dVHCcoscosusinv 2 +<br />
+ d VHC cossincosusinv2 cos 2 cos 2 usin 2 v sind VHCcoscosusin v 4 <br />
+<br />
sin 2<br />
z wzVHC 2 sin 2 ucos 2 v sind VHCcoscosusinv 2 +<br />
sinucosv2cos 2 cos 2 usin 2 v sin dVHCcoscosusinv 4 <br />
(8.5)<br />
(8.6)<br />
(8.7)
2 2<br />
=sin<br />
yw<br />
z wzVHC 2sin 2 cos 2 sin u 2 v<br />
sind coscos sin <br />
vhc u v 2 <br />
Vali<strong>da</strong>ção Experimental<br />
d vhc cossin cos u sin v 2 cos 2 cos 2 u sin 2 v <br />
sin d vhc coscos u sin v 4 <br />
cos 2<br />
z z <br />
w VHC 2 sin 2 cos<br />
u 2 <br />
v<br />
sind coscos sin vhc u v 2 <br />
sin ucosv2cos 2 cos 2 sin u 2 v<br />
sind coscos sin vhc u v 4 <br />
(8.8)<br />
Oformulário (8.5) a(8.8) permite consi<strong>de</strong>rar que oerro <strong>de</strong> localização após a<br />
transformação égaussiano apenas em aproximação mas permite algum estu<strong>do</strong>. A<br />
partir <strong>do</strong>s <strong>da</strong><strong>do</strong>s envia<strong>do</strong>s por re<strong>de</strong> para aaplicação <strong>de</strong> <strong>de</strong>cisão, éain<strong>da</strong> possível<br />
mais uma classificação estatística <strong>do</strong>s <strong>da</strong><strong>do</strong>s, apresenta<strong>da</strong> na figura 8.12. Para<br />
esta experiência, confirma-se aproximi<strong>da</strong><strong>de</strong> <strong>do</strong>s resulta<strong>do</strong>s experimentais e<strong>do</strong><br />
cálculo analítico, uma vez que os resulta<strong>do</strong>s <strong>de</strong> ambos os méto<strong>do</strong>s são muito<br />
idênticos. Na ver<strong>da</strong><strong>de</strong> e para to<strong>do</strong>s os <strong>da</strong><strong>do</strong>s experimentais recolhi<strong>do</strong>s e na<br />
colocação real <strong>da</strong> VHC, os <strong>de</strong>svios máximos entre os <strong>da</strong><strong>do</strong>s recolhi<strong>do</strong>s e os<br />
calcula<strong>do</strong>s analiticamente para aposição <strong>do</strong> robot são inferiores a 1mm na<br />
média eo<strong>de</strong>svio padrão éinferior a0.1 mm. Assume-se assim váli<strong>do</strong> oestu<strong>do</strong><br />
analítico.<br />
450<br />
400<br />
350<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
VHC - x w (-2.5,0,90º)<br />
0<br />
-2.505 -2.5 -2.495 -2.49 -2.485 -2.48<br />
~N(-2.4904,0.00098064)<br />
0<br />
0 0.005 0.01 0.015 0.02 0.025<br />
~N(0.014013,0.00095444)<br />
Figura 8.12 Histogramas <strong>do</strong>s <strong>da</strong><strong>do</strong>s envia<strong>do</strong>s após localização por VHC<br />
Refira-se que aquali<strong>da</strong><strong>de</strong> <strong>do</strong>s <strong>da</strong><strong>do</strong>s experimentais obti<strong>do</strong>s beneficia <strong>do</strong> facto <strong>de</strong><br />
os centros <strong>da</strong>s manchas <strong>de</strong> cor terem resolução sub-pixel. São, no entanto,<br />
<strong>de</strong>pen<strong>de</strong>ntes <strong>da</strong> classificação <strong>de</strong> cor anteriormente treina<strong>da</strong> que po<strong>de</strong> ser sujeita<br />
aper<strong>da</strong>s <strong>de</strong> precisão importantes por exemplo por variação não prevista <strong>da</strong>s<br />
condições <strong>de</strong> iluminação.<br />
8.2.4.1 Estu<strong>do</strong> Analítico <strong>do</strong> Erro em Função <strong>da</strong> Distância à Câmara (VHC)<br />
450<br />
400<br />
350<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
VHC - y w (-2.5,0,90º)<br />
0<br />
1.4 1.45 1.5 1.55 1.6<br />
~N(1.4808,0.0096329)<br />
Produziu-se então analiticamente a informação <strong>da</strong> figura 8.13 que mostra o<br />
<strong>de</strong>svio padrão na medi<strong>da</strong> para oeixo <strong>do</strong>s xx epara oeixo <strong>do</strong>s yy no mun<strong>do</strong>. Os<br />
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
VHC - θ w (rad) (-2.5,0,90º)<br />
127
Vali<strong>da</strong>ção Experimental<br />
pontos <strong>de</strong>sta figura são separa<strong>do</strong>s <strong>de</strong> 30 pixeis em ca<strong>da</strong> direcção u e v, para to<strong>da</strong><br />
aextensão <strong>da</strong> imagem, o<strong>de</strong>svio padrão <strong>da</strong>s distribuições <strong>de</strong> u e v foram toma<strong>do</strong>s<br />
como sen<strong>do</strong> unitários (um pixel). Esta imagem permite concluir que o<strong>de</strong>svio<br />
padrão <strong>da</strong> actual localização por VHC po<strong>de</strong> ser mo<strong>de</strong>liza<strong>da</strong> por uma constante.<br />
Como oseu valor máximo na referi<strong>da</strong> figura é0.013 m, po<strong>de</strong>-se consi<strong>de</strong>rar que,<br />
toman<strong>do</strong> àentra<strong>da</strong> uma distribuição gaussiana normaliza<strong>da</strong> nas machas <strong>de</strong> cor<br />
(em ambas as direcções), obtém-se um erro <strong>de</strong> localização com forma<br />
aproxima<strong>da</strong>mente gaussiana e com dispersão inferior a 2 cm.<br />
Figura 8.13 Desvio padrão <strong>da</strong> localização VHC (to<strong>da</strong>s as<br />
gran<strong>de</strong>zas em metros)<br />
Para um outro posicionamento que abranja uma maior zona <strong>do</strong> campo, po<strong>de</strong>-se<br />
ver na figura 8.14 que o <strong>de</strong>svio padrão sobe à medi<strong>da</strong> que a distorção <strong>da</strong><br />
projecção aumenta em conjugação com a distância <strong>da</strong> câmara ao chão.<br />
Figura 8.14 Desvio padrão para outros valores <strong>de</strong> localização VHC<br />
(to<strong>da</strong>s as gran<strong>de</strong>zas em metros)<br />
Afigura 8.15 mostra ográfico experimental <strong>da</strong> variação <strong>do</strong> <strong>de</strong>svio padrão com a<br />
128<br />
Desv Padrao x, Desv Padrao y<br />
Desv Padrao x, Desv Padrao y<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
5<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
3<br />
2<br />
1<br />
0<br />
y w<br />
0<br />
y w<br />
-1<br />
-2<br />
-3<br />
-5<br />
-5<br />
-6<br />
-4<br />
-4<br />
-3<br />
-2<br />
x w<br />
-2<br />
x w<br />
0<br />
-1<br />
2<br />
0<br />
x<br />
y<br />
4<br />
1<br />
x<br />
y<br />
6
Vali<strong>da</strong>ção Experimental<br />
distância àVHC. Verifica-se que os valores obti<strong>do</strong>s são muito baixos, abaixo <strong>do</strong>s<br />
2 mm em to<strong>do</strong>s os casos.<br />
Desv Padrao<br />
x 10-4<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
Figura 8.15 Gráfico <strong>do</strong> <strong>de</strong>svio padrão <strong>do</strong>s resulta<strong>do</strong>s experimentais a<br />
diferentes distâncias à câmara<br />
8.2.4.2 Medição Experimental <strong>do</strong> Erro <strong>de</strong> Posicionamento<br />
Pela análise <strong>da</strong> tabela 8.1 po<strong>de</strong>-se verificar que oerro máximo obti<strong>do</strong> foi <strong>de</strong> 7cm<br />
eque oerro na medi<strong>da</strong> <strong>da</strong> atitu<strong>de</strong> foi, no máximo inferior a8graus sexagesimais<br />
(cerca <strong>de</strong> 0.14 rad). Refira-se que nem to<strong>do</strong> oerro éproveniente <strong>do</strong> sistema <strong>de</strong><br />
medi<strong>da</strong>, algum erro é<strong>de</strong>vi<strong>do</strong> adificul<strong>da</strong><strong>de</strong>s experimentais tal como colocar o<br />
robot exactamente no local e na orientação correcta.<br />
Tabela 8.1 Tabela <strong>do</strong> erro médio na medi<strong>da</strong> VHC face à pose real (ca<strong>da</strong> experiência com 256 medi<strong>da</strong>s)<br />
x (m) y (m) Atitu<strong>de</strong> (º)<br />
VHC<br />
2<br />
2 2.5 3 3.5 4 4.5<br />
Distancia <strong>da</strong> camara<br />
Erro<br />
x (m)<br />
Erro<br />
y (m)<br />
Erro<br />
Atitu<strong>de</strong> (º)<br />
-2.5 0.00 90 -0.01 -0.02 4.8<br />
-2.5 -1.00 90 0.00 -0.01 7.4<br />
-2.5 -1.75 90 -0.03 -0.01 6.5<br />
-2.5 -1.75 -180 -0.06 -0.03 -1.5<br />
-2.5 -1.75 -90 -0.01 -0.02 -1.9<br />
-2.5 -1.75 -30 -0.01 0.00 2.6<br />
-2.5 -1.75 0 0.00 0.01 -0.4<br />
-1.25 0.00 90 -0.02 -0.02 6.6<br />
-1.25 0.00 120 -0.03 -0.04 1.4<br />
-1.25 0.00 -180 -0.01 -0.07 -3.3<br />
-1.25 0.00 -90 0.03 -0.06 -0.6<br />
129
Vali<strong>da</strong>ção Experimental<br />
x (m) y (m) Atitu<strong>de</strong> (º)<br />
Erro<br />
x (m)<br />
Erro<br />
y (m)<br />
Erro<br />
Atitu<strong>de</strong> (º)<br />
-1.25 0.00 -45 0.04 -0.04 -0.3<br />
-1.25 0.00 0.00 0.03 -0.02 0.4<br />
8.3 Calibração <strong>da</strong> Câmara <strong>do</strong> Robot<br />
Recorren<strong>do</strong> ao mesmo méto<strong>do</strong> foi calibra<strong>da</strong> acâmara transporta<strong>da</strong> pelo robot 32 .<br />
O“pescoço” foi centra<strong>do</strong> emecanicamente bloquea<strong>do</strong> para certeza <strong>de</strong> que não<br />
se move durante a calibração.<br />
Para garantir acorrecção <strong>da</strong> calibração foi levanta<strong>do</strong> opadrão <strong>de</strong> pontos <strong>da</strong><br />
câmara visível nas figuras 8.16 e8.17. Procurou-se obter uma gran<strong>de</strong> varie<strong>da</strong><strong>de</strong><br />
<strong>de</strong> pontos, cobrin<strong>do</strong> to<strong>da</strong> aimagem. Aimagem que orobot vê éexemplifica<strong>da</strong> na<br />
fig. 8.16.<br />
Figura 8.16 Imagem <strong>da</strong> câmara <strong>de</strong>ntro <strong>do</strong> robot durante a sua<br />
calibração (captura<strong>da</strong> através <strong>de</strong> um utilitário <strong>de</strong> <strong>de</strong>sktop remoto)<br />
Omapeamento efectivamente utiliza<strong>do</strong> pelo robot para as conversões imagem<br />
mun<strong>do</strong> é o mostra<strong>do</strong> na figura 8.18 que resulta <strong>do</strong>s seguintes parâmetros:<br />
cr =29.7º x cr =0.1m cr =0 (imposto)<br />
d cr =315.78 y cr =0.003m =1.29<br />
z cr =0.546m cr =0.5º D max =0.25m<br />
k b =3.74×10 6<br />
32 Ver por exemplo a figura 7.7 on<strong>de</strong> a câmara está envolta em cor magenta<br />
130<br />
(8.9)
250<br />
200<br />
v 150<br />
100<br />
50<br />
0<br />
0 50 100 150 200 250 300 350<br />
Figura 8.17 Posições na imagem (u,v) <strong>do</strong>s pontos <strong>de</strong> calibração<br />
Vali<strong>da</strong>ção Experimental<br />
A<strong>de</strong>scrição <strong>do</strong> significa<strong>do</strong> <strong>de</strong> ca<strong>da</strong> parâmetro po<strong>de</strong> ser consulta<strong>da</strong> na secção<br />
4.2.1, pág. 71 ena secção 4.2.2, pág. 74. éovalor obti<strong>do</strong> pela função Ca<br />
minimizar (equação 4.14, pág. 69); D max é o erro máximo cometi<strong>do</strong> no<br />
mapeamento. Os valores x cr , y cr e cr são as diferenças entre o<br />
posicionamento <strong>da</strong> câmara e o posicionamento <strong>do</strong> robot.<br />
O referi<strong>do</strong> mapeamento foi consegui<strong>do</strong> impon<strong>do</strong> o valor <strong>do</strong> ângulo rc =0 .<br />
Yw<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
yt<br />
yte<br />
Figura 8.18 Mapeamento imagem mun<strong>do</strong> <strong>de</strong>ntro <strong>do</strong> robot com os parâmetros mostra<strong>do</strong>s em<br />
(8.9)<br />
u<br />
0 1 2 3 4 5 6<br />
Xw<br />
131
Vali<strong>da</strong>ção Experimental<br />
Figura 8.19 Mapeamento imagem mun<strong>do</strong> <strong>de</strong>ntro <strong>do</strong> robot com os parâmetros mostra<strong>do</strong>s em<br />
(8.10)<br />
Foi também ensaia<strong>do</strong> um mapeamento em que se permitiu oajuste <strong>de</strong> cr que<br />
resultou nos seguintes parâmetros:<br />
cr =29.5º x cr =0.01 m cr =0.5º<br />
d cr =319.74 y cr =0.003m =0.87<br />
h cr =0.545m cr =0.5º D max =0.05m<br />
k b =3.74×10 6<br />
Este mapeamento imagem mun<strong>do</strong> é ilustra<strong>do</strong> na figura 8.19.<br />
(8.10)<br />
Comparan<strong>do</strong> as figuras 8.18 e8.19 po<strong>de</strong>-se verificar que só agran<strong>de</strong>s distâncias<br />
éque se nota diferença entre os mapeamentos. Para os pontos a cerca <strong>de</strong> 5<br />
metros <strong>de</strong> distância segun<strong>do</strong> oeixo <strong>do</strong>s xx possível observar que a estimativa<br />
falha oponto por excesso nos yy positivos enquanto que nos yy negativos falha o<br />
ponto por <strong>de</strong>feito. O mapeamento beneficia <strong>do</strong> grau <strong>de</strong> liber<strong>da</strong><strong>de</strong> extra e a<br />
estimativa melhora um pouco na figura 8.19.<br />
Po<strong>de</strong> observar-se, por exemplo na figura 8.26 (pág. 138) que osistema sofre <strong>de</strong><br />
uma importante distorção em barril 33 . Tal <strong>de</strong>ve-se ao facto <strong>de</strong> se utilizarem lentes<br />
<strong>de</strong> eleva<strong>da</strong> abertura para que orobot tenha um campo <strong>de</strong> visão mais amplo. O<br />
factor necessário para acorrecção <strong>da</strong> distorção épositivo eapresenta pois uma<br />
forma <strong>de</strong> almofa<strong>da</strong> (pin-cushion).<br />
33 Ver o arco <strong>da</strong> bor<strong>da</strong> <strong>da</strong> <strong>de</strong> cima <strong>da</strong> baliza amarela<br />
132<br />
Yw<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
yt<br />
yte<br />
0 1 2 3 4 5 6<br />
Xw
200<br />
150<br />
100<br />
v<br />
0<br />
-300 -200 -100<br />
-50<br />
0 100 200 300<br />
-100<br />
-150<br />
-200<br />
Figura 8.20 Correcção <strong>do</strong> efeito <strong>de</strong> barril k b =±3.74×10 6<br />
Vali<strong>da</strong>ção Experimental<br />
Outro parâmetro que será necessário éoparâmetro k c que relaciona imagem e<br />
mun<strong>do</strong> na direcção contrária ao k b.Este valor écalcula<strong>do</strong> por optimização eé<br />
importante para relacionar pontos <strong>da</strong> imagem e pontos na reali<strong>da</strong><strong>de</strong>.<br />
200<br />
150<br />
100<br />
50<br />
-300 -200 -100<br />
0<br />
0<br />
-50<br />
100 200 300<br />
-100<br />
-150<br />
-200<br />
50<br />
u<br />
Pt Orig.<br />
kb<br />
kc<br />
Figura 8.21 Pontos <strong>da</strong> imagem transforma<strong>do</strong>s <strong>de</strong> acor<strong>do</strong> com a<br />
correção <strong>do</strong> efeito <strong>de</strong> barril re-mapea<strong>do</strong>s nos seus lugares iniciais<br />
através <strong>do</strong> parâmetro kc<br />
Os valor numéricos encontra<strong>do</strong>s para acâmara <strong>do</strong> robot foram kb=3.86×10 -6 e<br />
k c=2.32×10 -6<br />
.<br />
Refira-se que ovalor numérico <strong>do</strong> parâmetro k b écerca <strong>de</strong> 10 vezes superior ao<br />
parâmetro análogo <strong>da</strong> VHC –confirma-se que adistorção émuito maior no caso<br />
<strong>do</strong> robot <strong>de</strong>vi<strong>do</strong> à utilização <strong>da</strong> lente gran<strong>de</strong> ocular.<br />
Osistema <strong>de</strong> localização por VHC corre uma aplicação HAL euma aplicação<br />
DEC tal como se <strong>de</strong> um robot se tratasse, apenas as parametrizações são<br />
a<strong>de</strong>qua<strong>da</strong>s. Estas duas aplicações resi<strong>de</strong>m num mesmo PC <strong>de</strong>sktop elançam na<br />
re<strong>de</strong> os <strong>da</strong><strong>do</strong>s relativos àlocalização VHC 25 vezes por segun<strong>do</strong>, sincroniza<strong>do</strong>s<br />
com a chega<strong>da</strong> <strong>da</strong> imagem <strong>da</strong> câmara utiliza<strong>da</strong>.<br />
v_orig<br />
v_k+<br />
v_k-<br />
133
Vali<strong>da</strong>ção Experimental<br />
8.4 Auto-Localização por Código <strong>de</strong> Barras Unívocos<br />
Através <strong>da</strong> utilização <strong>de</strong> Códigos <strong>de</strong> Barras Unívocos épossível <strong>de</strong>senvolver uma<br />
estratégia <strong>de</strong> localização que permite estimar to<strong>do</strong>s os <strong>da</strong><strong>do</strong>s <strong>da</strong> pose <strong>do</strong> robot.<br />
Designe-se este tipo <strong>de</strong> localização como BC –Bar Co<strong>de</strong>. Alocalização por BC é<br />
esquematiza<strong>da</strong> na figura 8.22 e <strong>de</strong>pois clarifica<strong>da</strong> na figura 8.23.<br />
Oalgoritmo baseia-se nos <strong>da</strong><strong>do</strong>s construtivos <strong>do</strong> Códigos <strong>de</strong> Barras Unívoco e<br />
nas medi<strong>da</strong>s <strong>do</strong>s ângulos <strong>da</strong>s fronteiras <strong>do</strong> código <strong>de</strong> barras para conseguir<br />
estimar distância e ângulo entre robot e este marca<strong>do</strong>r.<br />
Figura 8.22 Esquema para localização<br />
por BC<br />
Figura 8.23 Detalhe <strong>do</strong>s ângulos envolvi<strong>do</strong>s na<br />
localização por BC<br />
Defina-se então a pose <strong>do</strong> robot nas coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> mun<strong>do</strong> como [ x r y r r] T<br />
.Ovalor d representa alargura <strong>de</strong> ca<strong>da</strong> região <strong>do</strong> código <strong>de</strong> barras epresume-se<br />
conheci<strong>do</strong>. Preten<strong>de</strong>-se encontrar o melhor y=[a 0 est] T que obe<strong>de</strong>ce às<br />
restrições mostra<strong>da</strong>s na Figura 8.22 e8.23. Ovalor a 0 representa adistância <strong>do</strong><br />
código <strong>de</strong> barras, na direcção b eon<strong>de</strong> est éoângulo entre ocódigo eo<br />
robot.<br />
A <strong>de</strong>finição <strong>do</strong> problema conduz a:<br />
dist B i ,B i1=d ∀ i∈[1, n1] (8.11)<br />
on<strong>de</strong> n éonúmero <strong>de</strong> regiões <strong>de</strong> código <strong>de</strong> barras avista<strong>da</strong>s edéalargura <strong>de</strong><br />
ca<strong>da</strong> bit <strong>do</strong> código <strong>de</strong> barras.<br />
Ca<strong>da</strong> ponto B i=[x i y i] T têm as coor<strong>de</strong>na<strong>da</strong>s:<br />
134<br />
{ xi=a 0 i⋅d⋅cosest yi= i⋅d⋅sin est i ∈[0..n] (8.12)
Verifica-se ain<strong>da</strong> que:<br />
y i<br />
x i<br />
Vali<strong>da</strong>ção Experimental<br />
=tg i i∈[1..n] (8.13)<br />
Refira-se que os ângulos 1 , 2 ,⋯ são medi<strong>do</strong>s relativamente a b .<br />
Combinan<strong>do</strong> então as equações 8.12 e 8.13 obtém-se:<br />
yi=i⋅xi ⇒ i=tg i { xi = a0i⋅d⋅cos i⋅xi = i⋅d⋅sin <br />
Note-se que o parâmetro i <strong>de</strong>pen<strong>de</strong> apenas <strong>do</strong>s <strong>da</strong><strong>do</strong>s <strong>do</strong> problema.<br />
Rearranjan<strong>do</strong> para uma única equação:<br />
id= i<br />
(8.14)<br />
a 0<br />
sin est id icotg est (8.15)<br />
A equação 8.15 confirma o <strong>da</strong><strong>do</strong> intuitivo que se o ângulo entre robot e<br />
marca<strong>do</strong>r for pequeno ( ∣ est ∣ for baixo) provavelmente existirão problemas<br />
numéricos com alocalização. De facto, se est =0 então orobot está alinha<strong>do</strong><br />
com o código <strong>de</strong> barras e não é possível a localização.<br />
Aplica-se então o méto<strong>do</strong> Mínimos Quadra<strong>do</strong>s (secção 5.3, pág 83) à equação<br />
8.15:<br />
id= i 0id i 1, i∈[0,q1] ,q≥3 (8.16)<br />
On<strong>de</strong> q é o número <strong>de</strong> ângulos em que se baseia a localização.<br />
As matrizes <strong>do</strong>s Mínimos Quadra<strong>do</strong>s ficam então:<br />
=[ a =[<br />
0 0<br />
0<br />
0/sin 1 d 1 X<br />
d<br />
cotg ] Y=[<br />
⋮ ⋮<br />
⋮<br />
q1 q1d q1] q1d]<br />
(8.17)<br />
Amedi<strong>da</strong> obti<strong>da</strong> transmite informação suficiente para uma localização absoluta<br />
<strong>do</strong> robot:<br />
=[ BC *<br />
y<br />
a b]<br />
0<br />
<br />
est <br />
Por facili<strong>da</strong><strong>de</strong> <strong>de</strong> tratamento <strong>de</strong>fine-se 00<br />
est=est .<br />
(8.18)<br />
Note-se que uma estimativa <strong>de</strong>ste tipo fornece apenas uma possibili<strong>da</strong><strong>de</strong> <strong>de</strong><br />
localização. Na ver<strong>da</strong><strong>de</strong> existe uma outra localização <strong>do</strong> outro la<strong>do</strong> <strong>do</strong> código <strong>de</strong><br />
135
Vali<strong>da</strong>ção Experimental<br />
barras que po<strong>de</strong> ser alcança<strong>da</strong> toman<strong>do</strong> o valor simétrico para a 0.<br />
Para generalização <strong>do</strong> tratamento <strong>de</strong>ste e <strong>de</strong> to<strong>do</strong>s os outros méto<strong>do</strong>s que<br />
permitam localização completa <strong>da</strong> pose <strong>do</strong> robot, consi<strong>de</strong>ra-se que este méto<strong>do</strong><br />
<strong>de</strong>volve uma pose:<br />
y BC r<br />
r] =[x<br />
yr (8.19)<br />
<br />
A localização <strong>do</strong> robot y BC é calcula<strong>da</strong> por:<br />
x r =x wall a 0 cos 0 wall est <br />
yr = ywalla 0sin 0wallest { r =wallest , se a 00 r =wallest pi , senão<br />
(8.20)<br />
Com as <strong>de</strong>finições assumi<strong>da</strong>s o jacobiano <strong>da</strong> medi<strong>da</strong> será a matriz i<strong>de</strong>nti<strong>da</strong><strong>de</strong>.<br />
H BC = ∂xr ,yr ,r ∂xr ,yr ,r =[1 0 0<br />
1] 0 1 0<br />
(8.21)<br />
0 0<br />
To<strong>da</strong> esta informação será incluí<strong>da</strong> no EKF para fusão <strong>de</strong> to<strong>da</strong>s as medi<strong>da</strong>s<br />
disponíveis.<br />
8.4.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong><br />
2<br />
] 2<br />
0 0 <br />
r<br />
R BC 0 0<br />
xr<br />
2<br />
=[<br />
0 0<br />
yr<br />
8.4.2 Processamento <strong>de</strong> Imagem<br />
(8.22)<br />
Para que seja possível reconhecer ocódigo <strong>de</strong> barras, <strong>de</strong>ve existir uma padrão<br />
regular que acompanha ocódigo <strong>de</strong> janela unívoca. Optou-se por juntar estes<br />
<strong>do</strong>is códigos, por baixo opadrão regular epor cima opadrão <strong>de</strong> janela unívoca,<br />
tal como mostra<strong>do</strong> nas figuras 8.25 e 8.26.<br />
Aseparação <strong>do</strong>s <strong>do</strong>is códigos <strong>de</strong> barras facilitaria a<strong>de</strong>terminação <strong>do</strong>s limites <strong>de</strong><br />
136
ca<strong>da</strong> um <strong>de</strong>les mas traria também as seguintes <strong>de</strong>svantagens:<br />
Vali<strong>da</strong>ção Experimental<br />
• Necessi<strong>da</strong><strong>de</strong> <strong>de</strong> analisar uma imagem maior (ou redução <strong>de</strong> tamanho <strong>do</strong>s<br />
códigos <strong>de</strong> barras);<br />
• Maior esforço computacional para o processamento <strong>de</strong> imagem (mais<br />
rectas para processar e transmitir por re<strong>de</strong>, etc.)<br />
• Maior possibili<strong>da</strong><strong>de</strong> <strong>de</strong> haver erros in<strong>de</strong>tectáveis (ocultação parcial<br />
in<strong>de</strong>tectável)<br />
Optou-se assim por juntar as duas linhas <strong>do</strong> padrão regular e<strong>do</strong> código <strong>de</strong> janela<br />
unívoca.<br />
Aimplementação real utiliza simplesmente cartolinas pretas ebrancas cola<strong>da</strong>s à<br />
pare<strong>de</strong>. Ca<strong>da</strong> bit tem cerca <strong>de</strong> 25 cm <strong>de</strong> largura por 30 cm <strong>de</strong> altura. A<br />
sequência unívoca utiliza<strong>da</strong> tem uma janela <strong>de</strong> 6bits. Aposição <strong>do</strong> código no<br />
mun<strong>do</strong> éexemplifica<strong>da</strong> na figura 8.34, com os bits dispostos ao longo <strong>da</strong> recta<br />
y=3.33m. Aproxima<strong>da</strong>mente 5.5 metros <strong>de</strong> código foi construí<strong>do</strong>.<br />
Para a localização por códigos <strong>de</strong> barras (unívocos), BC, é feito um<br />
processamento àimagem que produz, no final, rectas ten<strong>de</strong>ncialmente verticais<br />
que se ajustam às transições horizontais <strong>da</strong> cena que o robot observa.<br />
Figura 8.24 Configurações <strong>do</strong> Processamento<br />
<strong>de</strong> Imagem para localização BC<br />
Oaspecto <strong>da</strong> imagem <strong>de</strong>ntro <strong>do</strong> robot émostra<strong>do</strong> na figura 8.25. Nesta figura<br />
po<strong>de</strong>-se ver à esquer<strong>da</strong> a imagem <strong>da</strong> câmara. Envolto num fino rectângulo<br />
branco está <strong>de</strong>limita<strong>da</strong> azona aprocessar para obter as rectas <strong>do</strong>s códigos <strong>de</strong><br />
barras, zona esta que é<strong>de</strong>finível na aplicação (ver figura 8.24). Os resulta<strong>do</strong>s <strong>do</strong><br />
processamento são mostra<strong>do</strong>s àdireita ain<strong>da</strong> mesma figura 8.25. Para melhor<br />
legibili<strong>da</strong><strong>de</strong>, as porções <strong>de</strong> interesse <strong>de</strong>sta imagem foram amplia<strong>da</strong>s ero<strong>da</strong><strong>da</strong>s tal<br />
como na figura 8.26. Nestas figuras po<strong>de</strong> ver-se o primeiro passo <strong>de</strong><br />
processamento <strong>de</strong> imagem que consiste em tirar uma <strong>de</strong>riva<strong>da</strong> na luminância<br />
sobre avertical <strong>da</strong> imagem, consi<strong>de</strong>ran<strong>do</strong> ca<strong>da</strong> linha <strong>da</strong> imagem in<strong>de</strong>pen<strong>de</strong>nte.<br />
Esta é uma técnica frequentemente utiliza<strong>da</strong> em visão para obter alguma<br />
in<strong>de</strong>pendência avariações locais <strong>de</strong> iluminação, tal como acontece com avisão<br />
humana. Calcular a <strong>de</strong>riva<strong>da</strong> sobre a vertical <strong>da</strong> imagem é especialmente<br />
a<strong>de</strong>qua<strong>do</strong> ao <strong>de</strong>sempenho <strong>da</strong> aplicação visto que amatriz <strong>da</strong> imagem tem os<br />
seus elementos contíguos sobre avertical, tiran<strong>do</strong> assim máximo proveito <strong>da</strong>s<br />
137
Vali<strong>da</strong>ção Experimental<br />
optimizações disponíveis na plataforma <strong>da</strong> processamento.<br />
Figura 8.25 Imagem no robot à esquer<strong>da</strong> e <strong>de</strong>riva<strong>da</strong> na luminância à direita (imagem captura<strong>da</strong> através<br />
<strong>de</strong> <strong>de</strong>sktop remoto)<br />
Figura 8.26 Figura 8.25 trata<strong>da</strong>, porção inverti<strong>da</strong> e amplia<strong>da</strong> para melhor<br />
legibili<strong>da</strong><strong>de</strong> (por imagem inverti<strong>da</strong> enten<strong>da</strong>-se transformar cores escuras em<br />
claras e vice versa)<br />
Os 4casos possíveis para cálculo <strong>da</strong> <strong>de</strong>riva<strong>da</strong> eto<strong>da</strong>s as outras configurações<br />
para a <strong>de</strong>tecção <strong>de</strong> códigos <strong>de</strong> barras po<strong>de</strong>m ver vistas na figura 8.24.<br />
Os resulta<strong>do</strong>s <strong>do</strong>s 4mo<strong>do</strong>s <strong>de</strong> processamento para cálculo <strong>da</strong> <strong>de</strong>riva<strong>da</strong> po<strong>de</strong>m<br />
ser consulta<strong>do</strong>s na figura 8.27. Os quatro mo<strong>do</strong>s para cálculo <strong>da</strong> <strong>de</strong>riva<strong>da</strong> 34 d<br />
(u,v) são:<br />
Mo<strong>do</strong> 1: d(u,v):= imagem(u,v-1)-imagem(u,v+1)<br />
Mo<strong>do</strong> 2: d(u,v):=(imagem(u,v-1)-imagem(u,v+1))+d(u,v-1)<br />
Mo<strong>do</strong> 3: d(u,v):= imagem(u,v-2)-imagem(u,v+2)<br />
Mo<strong>do</strong> 4: d(u,v):=(imagem(u,v-2)-imagem(u,v+2))+d(u,v-2)<br />
Omo<strong>do</strong> 1beneficia as transições rápi<strong>da</strong>s; omo<strong>do</strong> 2permite <strong>de</strong>riva<strong>da</strong>s um pouco<br />
mais lentas ao acumular com a<strong>de</strong>riva<strong>da</strong> anteriormente calcula<strong>da</strong>; omo<strong>do</strong> 3vai<br />
buscar pixeis mais distantes e como tal a zona <strong>da</strong> <strong>de</strong>riva<strong>da</strong> alarga (sobre a<br />
34Parte <strong>do</strong> algoritmo, simplifica<strong>do</strong>, váli<strong>do</strong> para v>0; é admiti<strong>do</strong> que os mo<strong>do</strong>s 2<br />
e 4 resultam em <strong>de</strong>riva<strong>da</strong>s com o <strong>do</strong>bro <strong>da</strong> amplitu<strong>de</strong> para situações similares<br />
138
Vali<strong>da</strong>ção Experimental<br />
horizontal); omo<strong>do</strong> 4permite alargar ain<strong>da</strong> mais a<strong>de</strong>riva<strong>da</strong> evaloriza também<br />
<strong>de</strong>riva<strong>da</strong>s lentas mas progressivas ao acumular com a <strong>de</strong>riva<strong>da</strong> <strong>do</strong> pixel anterior.<br />
3<br />
4<br />
Figura 8.27 Comparação <strong>do</strong>s 4 mo<strong>do</strong>s <strong>de</strong> cálculo <strong>de</strong> <strong>de</strong>riva<strong>da</strong>s: Mo<strong>do</strong> 1 – cima esquer<strong>da</strong> ; Mo<strong>do</strong> 2 –<br />
cima direita; Mo<strong>do</strong> 3 – baixo esquer<strong>da</strong>; Mo<strong>do</strong> 4 – baixo direita; os números <strong>de</strong>ntro <strong>da</strong>s caixas<br />
representam, <strong>da</strong> esquer<strong>da</strong> para a direita: número <strong>de</strong> pontos selecciona<strong>do</strong>s, número <strong>de</strong> segmentos<br />
horizontais, número <strong>de</strong> regiões rectangulares e número final <strong>de</strong> segmentos<br />
Após ocálculo <strong>da</strong> <strong>de</strong>riva<strong>da</strong> na luminância ao longo <strong>da</strong>s colunas <strong>da</strong> imagem, são<br />
guar<strong>da</strong><strong>do</strong>s os pontos que superam um <strong>da</strong><strong>do</strong> limiar (threshold). No caso <strong>da</strong><br />
imagem <strong>da</strong> figura 8.25, são guar<strong>da</strong><strong>do</strong>s 1365 pontos. Em ca<strong>da</strong> uma <strong>da</strong>s 4partes<br />
<strong>da</strong> figura 8.27, onúmero <strong>de</strong>ntro <strong>da</strong> caixa àesquer<strong>da</strong> representa onúmero <strong>de</strong><br />
pixeis acima <strong>do</strong> limiar. Como seria <strong>de</strong> esperar, os diferentes mo<strong>do</strong>s <strong>de</strong> cálculo <strong>da</strong><br />
<strong>de</strong>riva<strong>da</strong> d(u,v) influenciam muito onúmero <strong>de</strong> pixeis selecciona<strong>do</strong>s. Os pontos<br />
selecciona<strong>do</strong>s com limiar <strong>de</strong> valor 9 no mo<strong>do</strong> 2 formam a figura 8.28.<br />
Figura 8.28 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura<br />
8.25, pontos selecciona<strong>do</strong>s por a <strong>de</strong>riva<strong>da</strong> superar <strong>da</strong><strong>do</strong> limiar<br />
De segui<strong>da</strong> percorre-se to<strong>do</strong>s os pixeis selecciona<strong>do</strong>s eéfeito um agrupamento<br />
intermédio em segmentos obrigatoriamente horizontais 35 . O facto <strong>de</strong> estes<br />
segmentos intermédios serem obrigatoriamente horizontais permite importantes<br />
optimizações <strong>de</strong> veloci<strong>da</strong><strong>de</strong> <strong>de</strong> execução à custa <strong>de</strong> ir guar<strong>da</strong>n<strong>do</strong> os pixeis<br />
35 Horizontal na imagem real, tal como na figura 8.25<br />
1<br />
2<br />
139
Vali<strong>da</strong>ção Experimental<br />
selecciona<strong>do</strong>s em estruturas <strong>de</strong> <strong>da</strong><strong>do</strong>s por linha. Estes segmentos horizontais<br />
“per<strong>do</strong>am” pixeis em falta até um <strong>da</strong><strong>do</strong> valor esegmentos <strong>de</strong>masia<strong>do</strong> pequenos<br />
são ain<strong>da</strong> elimina<strong>do</strong>s (valores parametrizáveis –ver figura 8.24). Acompanhe-se<br />
aredução acentua<strong>da</strong> <strong>de</strong> informação apesquisar consultan<strong>do</strong> osegun<strong>do</strong> número<br />
<strong>da</strong>s caixas <strong>da</strong> figura 8.27; os segmentos são também visíveis na figura 8.29. O<br />
número mínimo <strong>de</strong> pixeis <strong>do</strong> segmento influencia <strong>de</strong>cisivamente o ângulo<br />
máximo que os segmentos finais po<strong>de</strong>rão ter.<br />
Opasso seguinte éagrupar os segmentos horizontais em regiões rectangulares.<br />
Tal processamento émostra<strong>do</strong> na figura 8.29. Ca<strong>da</strong> agrupamento éconsegui<strong>do</strong><br />
<strong>de</strong>terminan<strong>do</strong> to<strong>do</strong>s os segmentos que têm pixeis “vizinhos”. Aimplementação<br />
necessita apenas que fazer um conjunto <strong>de</strong> testes às extremi<strong>da</strong><strong>de</strong>s <strong>do</strong>s segmentos.<br />
As regiões rectangulares po<strong>de</strong>m ser vistas na figura 8.29.<br />
Figura 8.29 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura<br />
8.25, mostran<strong>do</strong> segmentos e agrupamentos <strong>de</strong> pontos em zonas rectangulares<br />
Os segmentos finais são ajusta<strong>do</strong>s aos cantos <strong>da</strong>s regiões rectangulares<br />
coinci<strong>de</strong>ntes com extremi<strong>da</strong><strong>de</strong>s <strong>de</strong> segmentos horizontais. Os segmentos po<strong>de</strong>m<br />
ser vistos na figuras 2.25 e 2.26.<br />
Figura 8.30 Evolução <strong>do</strong> processamento <strong>de</strong> imagem <strong>da</strong> situação <strong>da</strong> figura<br />
8.25, ajuste <strong>de</strong> segmentos<br />
Após a <strong>de</strong>terminação <strong>do</strong>s segmentos finais é ain<strong>da</strong> necessário acrescentar a<br />
informação <strong>da</strong> cor <strong>do</strong> bit <strong>do</strong> código <strong>de</strong> barras éclara (bit a1) ou escura (bit a0).<br />
Esta informação éconsegui<strong>da</strong> verifican<strong>do</strong> aluminância àesquer<strong>da</strong> eàdireita em<br />
ambas as extremi<strong>da</strong><strong>de</strong>s <strong>do</strong>s segmentos. Tal énecessário <strong>de</strong>vi<strong>do</strong> àexistência <strong>do</strong><br />
padrão regular por baixo na imagem, in<strong>de</strong>pen<strong>de</strong>nte <strong>do</strong> código <strong>de</strong> barras unívoco<br />
existente em cima. Esta informação éapresenta<strong>da</strong> com um pixel claro ou escuro<br />
à esquer<strong>da</strong> e à directa <strong>de</strong> ca<strong>da</strong> extremi<strong>da</strong><strong>de</strong> <strong>do</strong>s segmentos <strong>da</strong> figura 8.30<br />
(relembre-se que esta imagem está inverti<strong>da</strong> claro-escuro face àimagem real, <strong>da</strong><br />
figura 8.25).<br />
Os segmentos finais são <strong>de</strong>pois transmiti<strong>do</strong>s, por re<strong>de</strong>, <strong>da</strong> aplicação <strong>da</strong> visão para<br />
140
Vali<strong>da</strong>ção Experimental<br />
aaplicação <strong>da</strong> <strong>de</strong>cisão on<strong>de</strong> ganham oaspecto mostra<strong>do</strong> na figura 8.31. Po<strong>de</strong>-se<br />
ver também a classificação <strong>de</strong> cor (clara/escura) transmiti<strong>da</strong> à aplicação <strong>da</strong><br />
<strong>de</strong>cisão: ca<strong>da</strong> segmento é<strong>de</strong>senha<strong>do</strong> com uma cor ilustrativa <strong>da</strong> classificação<br />
claro/escura transmiti<strong>da</strong> pela visão. Por exemplo o segun<strong>do</strong> segmento <strong>da</strong><br />
esquer<strong>da</strong> para adireita na figura 8.31 apresenta bits 0(preto) àsua esquer<strong>da</strong> em<br />
cima eem baixo; bits 1(branco) àdireita em cima eem baixo. Po<strong>de</strong>ria haver bits<br />
diferentes <strong>do</strong> mesmo la<strong>do</strong> em cima eem baixo –assume-se que essa divisão seria<br />
a meio <strong>do</strong> segmento.<br />
Figura 8.31 Segmentos recebi<strong>do</strong>s pela aplicação DEC<br />
Figura 8.32 Determinação <strong>da</strong>s 2 “horizontais” <strong>do</strong> código <strong>de</strong> barras<br />
De segui<strong>da</strong> é necessário recuperar a “horizontal” <strong>do</strong> código <strong>de</strong> barras. Esta<br />
“horizontal” po<strong>de</strong> ser encontra<strong>da</strong> como sen<strong>do</strong> oajuste <strong>de</strong> uma recta aos pontos<br />
inferiores <strong>de</strong> ca<strong>da</strong> segmento efectivamente pertencentes ao código <strong>de</strong> barras (e<br />
que não são ruí<strong>do</strong>).<br />
Para marcar os ruí<strong>do</strong>s como inváli<strong>do</strong>s é feita uma sequência <strong>de</strong> testes:<br />
• Teste 1: padrão <strong>de</strong> bits váli<strong>do</strong>;<br />
• Teste 2: posição <strong>do</strong> segmento <strong>de</strong>ntro <strong>da</strong> zona <strong>de</strong> processamento;<br />
• Teste 3: ajuste sobre uma linha <strong>de</strong> ângulos e diferença <strong>de</strong> ângulos;<br />
• Teste 4: ajuste cego sobre a pare<strong>de</strong>.<br />
OTeste 1verifica que opadrão <strong>de</strong> bits àesquer<strong>da</strong> eàdireita representa uma<br />
combinação viável. Por exemplo na figura 8.31 existem 2segmentos sobre a<br />
direita que apresentam bits a um (branco) ato<strong>da</strong> a volta (linhas puramente<br />
amarelas) oque implica que estes 2segmentos são ruí<strong>do</strong> e<strong>de</strong>vem ser marca<strong>do</strong>s<br />
como inváli<strong>do</strong>s. Aaplicação <strong>de</strong> visão marca também os segmentos em que foram<br />
<strong>de</strong>tecta<strong>do</strong>s cores fortes (longe <strong>do</strong> cinzento no cubo RGB). A aplicação <strong>de</strong><br />
Decisão po<strong>de</strong> <strong>de</strong>cidir neste ponto se invali<strong>da</strong> esses segmentos ou não.<br />
OTeste 2 <strong>de</strong>termina segmentos perto <strong>do</strong>s limites <strong>da</strong> imagem que <strong>de</strong>vem ser<br />
marca<strong>do</strong>s como inváli<strong>do</strong>s para prevenir segmentos parcialmente <strong>de</strong>ntro <strong>da</strong> zona<br />
<strong>de</strong> processamento.<br />
141
Vali<strong>da</strong>ção Experimental<br />
OTeste 3monta um mapa <strong>de</strong> pontos on<strong>de</strong> P i= i , i i1 em que i éo<br />
ângulo <strong>da</strong> extremi<strong>da</strong><strong>de</strong> superior <strong>do</strong> segmento (utiliza-se ain<strong>da</strong> anomenclatura<br />
apresenta<strong>da</strong> na figura 4.15, pág. 75). Para facilitar a análise, <strong>de</strong>fina-se<br />
i= i i1,i0 e como sen<strong>do</strong> amédia <strong>de</strong> to<strong>do</strong>s os i váli<strong>do</strong>s (até ao<br />
momento). Existem 4 critérios que po<strong>de</strong>m invali<strong>da</strong>r um segmento:<br />
• Critério 1: i LimiarRelativoMax<br />
• Critério 2: dist P i ,P i1d LimiarDist2Pontos<br />
• Critério 3: i LimiarAbsolutoMin<br />
• Critério 4:<br />
• ajustar os pontos váli<strong>do</strong>s à linha Lj;<br />
• i<strong>de</strong>ntificar o ponto P l mais longe <strong>de</strong> Lj, à distância d l ;<br />
• se d l>d LimiarDistLinhaPonto, então marcar P l como inváli<strong>do</strong> evoltar ao início<br />
<strong>do</strong> critério 4 [senão sair]<br />
O critério 3 não é relativo ao valor médio uma vez que se verificou que nessa<br />
situação o limiar teria <strong>de</strong> ser tão baixo que <strong>de</strong>ixaria <strong>de</strong> ser interessante.<br />
Ofuncionamento <strong>de</strong>ste Teste 3po<strong>de</strong> ser acompanha<strong>do</strong> na figura 8.33. Oponto<br />
<strong>da</strong> esquer<strong>da</strong> émarca<strong>do</strong> com uma cruz porque já foi marca<strong>do</strong> inváli<strong>do</strong> por um<br />
teste anterior (neste caso concreto o Teste 2). A recta <strong>do</strong> primeiro ajuste é<br />
mostra<strong>da</strong> a amarelo na figura 8.33; os pontos <strong>da</strong> direita são invali<strong>da</strong><strong>do</strong>s<br />
respectivamente <strong>da</strong> direita para aesquer<strong>da</strong> pelos critérios 1, 2e3, tal como<br />
ilustra<strong>do</strong> junto aos pontos. Aajuste final <strong>da</strong> recta émostra<strong>do</strong> avermelho eos<br />
segmentos váli<strong>do</strong>s são representa<strong>do</strong>s por quadra<strong>do</strong>s.<br />
Figura 8.33 Classificação <strong>de</strong> segmentos váli<strong>do</strong>s: Teste 3 – ajuste sobre uma<br />
linha <strong>de</strong> ângulos e diferença <strong>de</strong> ângulos<br />
O Teste 4 tenta imediatamente calcular uma localização mesmo sem tentar<br />
<strong>de</strong>cifrar a posição <strong>de</strong>ntro <strong>do</strong> código <strong>de</strong> barras unívoco. Essa localização<br />
temporária dá uma distância eum ângulo que permitem calcular uma estimativa<br />
<strong>do</strong> tamanho <strong>de</strong> ca<strong>da</strong> bit visto pela câmara através <strong>da</strong> intersecção <strong>da</strong> linha on<strong>de</strong><br />
se situa ocódigo <strong>de</strong> barras com to<strong>do</strong>s os ângulos visualiza<strong>do</strong>s pela câmara. Se<br />
algum bit for <strong>de</strong>masia<strong>do</strong> estreito ou <strong>de</strong>masia<strong>do</strong> largo, então também émarca<strong>do</strong><br />
como inváli<strong>do</strong>. Observe-se a figura 8.34 on<strong>de</strong> se po<strong>de</strong> ver os resulta<strong>do</strong>s <strong>da</strong><br />
visualização <strong>do</strong> Teste 4 como sen<strong>do</strong> um feixe <strong>de</strong> rectas que se unem; a<br />
localização ébem sucedi<strong>da</strong> mais tar<strong>de</strong> (feixes que vão ter auma moldura <strong>de</strong><br />
robot); na zona <strong>do</strong> código <strong>de</strong> barras po<strong>de</strong>-se ver marcas amarelas<br />
142
Vali<strong>da</strong>ção Experimental<br />
correspon<strong>de</strong>n<strong>do</strong> abits vali<strong>da</strong><strong>do</strong>s ebits magenta (maiores) correspon<strong>de</strong>n<strong>do</strong> abits<br />
invali<strong>da</strong><strong>do</strong>s.<br />
Figura 8.34 Resulta<strong>do</strong>s <strong>do</strong> teste <strong>do</strong> ajuste cego sobre a pare<strong>de</strong><br />
Após ca<strong>da</strong> um <strong>de</strong>stes testes, éain<strong>da</strong> feita uma verificação adicional (“limpeza”):<br />
percorren<strong>do</strong> os segmentos <strong>do</strong> centro <strong>do</strong>s segmentos para as extremi<strong>da</strong><strong>de</strong>s, ao<br />
encontrar um ponto inváli<strong>do</strong>, to<strong>do</strong>s os pontos <strong>da</strong>í em diante <strong>de</strong>vem ser<br />
invali<strong>da</strong><strong>do</strong>s. Esta verificação é importante para impedir tirar conclusões<br />
inváli<strong>da</strong>s quan<strong>do</strong> existe um ruí<strong>do</strong> no meio <strong>do</strong> código <strong>de</strong> barras mas permitin<strong>do</strong><br />
ain<strong>da</strong> assim utilizar correctamente aparte <strong>da</strong> imagem sem ruí<strong>do</strong>s, toleran<strong>do</strong> uma<br />
ocultação parcial.<br />
Este sistema <strong>de</strong> processamento faz um número eleva<strong>do</strong> <strong>de</strong> verificações no<br />
senti<strong>do</strong> <strong>de</strong> tentar aproveitar informação apenas se ela for segura já que é<br />
importante não ter localizações erra<strong>da</strong>s – quaisquer <strong>da</strong><strong>do</strong>s à entra<strong>da</strong> <strong>do</strong><br />
algoritmos <strong>de</strong> posicionamento <strong>do</strong>s Mínimos Quadra<strong>do</strong>s produzirão uma<br />
localização pelo que é importante que os <strong>da</strong><strong>do</strong>s não contenham ruí<strong>do</strong><br />
catastrófico.<br />
Após a <strong>de</strong>terminação <strong>do</strong>s pontos váli<strong>do</strong>s, é altura <strong>de</strong> calcular as 3 rectas<br />
“horizontais” que <strong>de</strong>limitam os bits <strong>da</strong>s duas linhas <strong>de</strong> códigos <strong>de</strong> barras<br />
utiliza<strong>do</strong>s.<br />
Éajusta<strong>da</strong> uma recta àextremi<strong>da</strong><strong>de</strong> inferior <strong>do</strong>s segmentos recebi<strong>do</strong>s (ver figura<br />
8.32) utilizan<strong>do</strong> atécnica <strong>do</strong>s Mínimos Quadra<strong>do</strong>s recorren<strong>do</strong> ao formulário<br />
disponível na referência [179]. Aimplementação mantém to<strong>do</strong>s os somatórios<br />
intermédios para utilização futura. Alguns <strong>do</strong>s pontos que estiveram no primeiro<br />
ajuste são ruí<strong>do</strong> e <strong>de</strong>sviam a recta <strong>da</strong> “horizontal” <strong>do</strong> código <strong>de</strong> barras. De<br />
segui<strong>da</strong> entra-se num ciclo em que oponto mais distante <strong>da</strong> recta éelimina<strong>do</strong> e<br />
novo ajuste écalcula<strong>do</strong>. Esta operação écomputacionalmente leve se se utilizar<br />
os somatório intermédios. Quan<strong>do</strong> to<strong>do</strong>s os pontos estiverem auma distância <strong>da</strong><br />
recta horizontal inferior a um <strong>da</strong><strong>do</strong> limiar, consi<strong>de</strong>ra-se que esta recta foi<br />
encontra<strong>da</strong> com sucesso. Os segmentos retira<strong>do</strong>s nesta fase são marca<strong>do</strong>s como<br />
“inváli<strong>do</strong>s” enão participarão em computações posteriores. Existe ain<strong>da</strong> uma<br />
vali<strong>da</strong>ção adicional que éoângulo máximo que arecta horizontal po<strong>de</strong> fazer (na<br />
imagem).<br />
É ain<strong>da</strong> necessário <strong>de</strong>scobrir uma segun<strong>da</strong> horizontal, que passa pelo topo<br />
143
Vali<strong>da</strong>ção Experimental<br />
superior <strong>do</strong>s códigos <strong>de</strong> barras. Para tal, faz-se passar uma recta temporária<br />
pelos topos <strong>do</strong>s 2segmentos mais compri<strong>do</strong>s (pontos assinala<strong>do</strong>s por quadra<strong>do</strong>s<br />
azuis na figura 8.32). Uma vez mais, dá-se inicio ao processo <strong>de</strong> criar somatórios<br />
intermédios que permitem retirar eacrescentar pontos <strong>de</strong> forma eficiente àrecta<br />
que se vai ajustan<strong>do</strong>. Os pontos mais perto <strong>de</strong>sta recta que um <strong>da</strong><strong>do</strong> limiar são<br />
acrescenta<strong>do</strong>s para novo ajuste (quadra<strong>do</strong>s <strong>de</strong> cor ciano na figura 8.32). De<br />
novo, os pontos próximos <strong>de</strong>sta nova recta são acrescenta<strong>do</strong>s aos somatórios<br />
(assinala<strong>do</strong> com um triângulo na figura 8.32). A implementação limita<br />
proposita<strong>da</strong>mente este ciclo aduas iterações que se verificou ser suficiente para<br />
to<strong>do</strong>s os casos reais testa<strong>do</strong>s. Os segmentos que ficaram incluí<strong>do</strong>s no ajuste <strong>da</strong>s<br />
rectas <strong>do</strong> topo superior são consi<strong>de</strong>ra<strong>do</strong>s “full” e os outros “half”, isto é, <strong>de</strong><br />
tamanho completo e<strong>de</strong> meio tamanho respectivamente; os quadra<strong>do</strong>s <strong>de</strong> cor<br />
amarela, no centro <strong>da</strong> imagem 8.32 são marca<strong>do</strong>s como half.<br />
Após estes cálculos, éfeita uma média <strong>do</strong>s valores que <strong>de</strong>finem as rectas para<br />
obter as rectas que passam ameio <strong>do</strong>s bits, representa<strong>da</strong>s acinzento na figura<br />
8.35. Os quadra<strong>do</strong>s cinzentos assinalam os pontos que finalmente são utiliza<strong>do</strong>s<br />
para calcular o conjunto <strong>de</strong> ângulos i que produzem a localização por BC.<br />
Figura 8.35 A localização BC utiliza os pontos nos centros <strong>do</strong>s segmentos<br />
relativos ao padrão regular (por baixo) e ao código unívoco (por cima)<br />
Outra possibili<strong>da</strong><strong>de</strong> éutilizar pontos em cima <strong>da</strong>s rectas calcula<strong>da</strong>s tal como se<br />
mostra na figura 8.36. Os conjunto <strong>de</strong> ângulos gera<strong>do</strong>s são teoricamente os<br />
mesmos e na prática não se vislumbra diferenças significativas.<br />
Figura 8.36 A localização BC também po<strong>de</strong> utilizar as extremi<strong>da</strong><strong>de</strong>s <strong>do</strong>s<br />
segmentos ajusta<strong>do</strong>s para a localização<br />
Aaplicação <strong>de</strong> Decisão mostra alocalização consegui<strong>da</strong> na figura 8.37 para a<br />
imagem que a aplicação <strong>de</strong> Visão processa tal como na figura 8.25.<br />
144
Figura 8.37 À esquer<strong>da</strong> alguns <strong>da</strong><strong>do</strong>s <strong>da</strong> aplicação <strong>de</strong> processamento <strong>de</strong><br />
imagem, mostran<strong>do</strong> o ajuste <strong>da</strong>s rectas consegui<strong>do</strong> e à direita a localização BC<br />
Vali<strong>da</strong>ção Experimental<br />
Para conseguir a localização é ain<strong>da</strong> necessário fazer a leitura <strong>da</strong> sequência<br />
inscrita no código unívoco. Tal é feito através <strong>da</strong> anterior classificação <strong>de</strong><br />
segmentos como full e half, contan<strong>do</strong> quantos segmentos half existem entre<br />
segmentos full. No exemplo <strong>da</strong> figura 8.25, épossível ler asequência 01010001,<br />
mostra<strong>da</strong> esquematicamente na figura 8.37. O posicionamento necessita <strong>de</strong><br />
localizar esta janela <strong>de</strong>ntro <strong>da</strong> sequência unívoca completa efazer incidir oos<br />
ângulos calcula<strong>do</strong>s sobre aposição no mun<strong>do</strong> <strong>do</strong> código <strong>de</strong> barras. Asequência<br />
unívoca completa e as suas características dimensionais e <strong>de</strong> colocação são<br />
completamente parametrizáveis no programa, estan<strong>do</strong> previsto no trabalho<br />
futuro completar o código já inicia<strong>do</strong> para permitir a utilização <strong>de</strong> várias<br />
sequências unívocas espalha<strong>da</strong>s pelo ambiente <strong>do</strong> robot. To<strong>do</strong> oprocessamento<br />
<strong>da</strong> localização é feito 25 vezes por segun<strong>do</strong>, <strong>de</strong> forma síncrona com a chega<strong>da</strong> <strong>da</strong><br />
informação <strong>da</strong> imagem ecom oresto <strong>do</strong> ciclo <strong>de</strong> controlo. São utiliza<strong>do</strong>s os<br />
segmentos envia<strong>do</strong>s por re<strong>de</strong> pela aplicação HAL, não éutiliza<strong>da</strong> informação<br />
adicional proveniente <strong>do</strong> esta<strong>do</strong> <strong>do</strong> sistema.<br />
8.4.3 Análise <strong>da</strong> medi<strong>da</strong><br />
Os histogramas <strong>da</strong>s figuras 8.38, 8.39, 8.40 e 8.41 mostram resulta<strong>do</strong>s típicos <strong>da</strong><br />
medi<strong>da</strong> <strong>de</strong> localização BC.<br />
Em muitas situações, amedi<strong>da</strong> assume uma dispersão tal como mostra<strong>do</strong> nas<br />
figuras 8.38 e8.39, com dispersão aproxima<strong>da</strong>mente gaussiana. Existem porém<br />
outras situações em que um <strong>do</strong>s segmentos <strong>do</strong> código <strong>de</strong> barras está muito perto<br />
<strong>do</strong> limiar <strong>de</strong> vali<strong>da</strong>ção. Nessa situação econforme oruí<strong>do</strong>, esse segmento será ou<br />
não consi<strong>de</strong>ra<strong>do</strong> para efeitos <strong>de</strong> localização, produzin<strong>do</strong>-se nessa situação uma<br />
dispersão com <strong>do</strong>is picos <strong>de</strong> frequência tal como <strong>do</strong>cumenta<strong>do</strong> nas figuras 8.40 e<br />
8.41. Curiosamente, verifica-se que tomar em consi<strong>de</strong>ração mais um segmento<br />
para a mesma medi<strong>da</strong> praticamente não altera a coor<strong>de</strong>na<strong>da</strong> y <strong>do</strong><br />
posicionamento –adiferença <strong>de</strong> orientação <strong>do</strong> robot acaba por cancelar, nessa<br />
componente, o efeito <strong>de</strong>sta dupla mo<strong>da</strong>.<br />
145
Vali<strong>da</strong>ção Experimental<br />
146<br />
160<br />
140<br />
120<br />
100<br />
80<br />
60<br />
40<br />
20<br />
BC - x w (-2.5,-1.75,80º)<br />
0<br />
-2.74 -2.72 -2.7 -2.68<br />
~N(-2.707,0.0031028)<br />
500<br />
450<br />
400<br />
350<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
BC - y w (-2.5,-1.75,80º)<br />
0<br />
-1.8 -1.78 -1.76 -1.74<br />
~N(-1.7762,0.00090332)<br />
1.46 1.48<br />
~N(1.4673,0.00068885)<br />
Figura 8.38 Histogramas para localização por BC (to<strong>da</strong>s as distâncias em metros)<br />
Figura 8.39 Histograma 2D <strong>da</strong> localização BC (to<strong>da</strong>s as distâncias em metros)<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
0<br />
BC - x w (-3.75,0,90º)<br />
-1.77<br />
0<br />
-5 -4.5 -4 -3.5 -3<br />
~N(-3.9832,0.17949)<br />
-1.78<br />
y w<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
Hist. 2D (-2.5,-1.75,80º)<br />
-1.79<br />
Figura 8.40 Histogramas para localização por BC na situação bi-mo<strong>da</strong>l (to<strong>da</strong>s as distâncias em<br />
metros)<br />
600<br />
500<br />
400<br />
300<br />
200<br />
100<br />
-2.7<br />
-2.705<br />
-2.71<br />
-2.715<br />
-2.72<br />
x<br />
w<br />
BC - y w (-3.75,0,90º)<br />
0<br />
-1 -0.5 0 0.5<br />
~N(-0.080768,0.015346)<br />
0<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
2<br />
BC - θ w (rad) (-2.5,-1.75,80º)<br />
-2.695<br />
BC - θ w (rad) (-3.75,0,90º)<br />
0<br />
1 1.5<br />
~N(1.4678,0.052238)<br />
2
Vali<strong>da</strong>ção Experimental<br />
Figura 8.41 Histogramas para localização por BC na situação bi-mo<strong>da</strong>l (to<strong>da</strong>s as distâncias em<br />
metros)<br />
Na figura 8.42 po<strong>de</strong>-se ver adisposição no campo <strong>da</strong>s medi<strong>da</strong>s experimentais<br />
feitas, <strong>de</strong>scritas ain<strong>da</strong> na tabela 8.2.<br />
y w (m)<br />
20<br />
15<br />
10<br />
5<br />
0<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
0.2<br />
xw (m)<br />
Figura 8.42 Disposição <strong>da</strong>s medi<strong>da</strong>s BC no campo experimental<br />
Tabela 8.2 Resumo <strong>da</strong>s experiências relativas à localização por BC<br />
0<br />
y w<br />
-0.2<br />
-0.4<br />
Hist. 2D (-3.75,0,90º)<br />
-6 -5 -4 -3 -2 -1 0 1<br />
Pose Medi<strong>da</strong> VHC Média BC Desvio Padrão BC<br />
x y º x y º x y º x y º<br />
-2.5 1 100 -2.48 1.01 100.3 -2.41 0.86 96.5 0.003 0.001 0.06<br />
0 0 135 0.21 -0.21 130.6 0.000 0.000 0.00<br />
-1.25 0 120 -1.21 0.03 117.2 -1.08 -0.19 119.0 0.004 0.007 0.10<br />
-1.25 0 120 -1.23 0.03 118.7 -1.08 -0.20 118.9 0.005 0.010 0.13<br />
-2.5 -1.75 90 -2.47 -1.74 83.6 -2.41 -1.81 85.5 0.015 0.002 0.17<br />
-4.2<br />
x w<br />
-4<br />
-3.8<br />
147
Vali<strong>da</strong>ção Experimental<br />
Pose Medi<strong>da</strong> VHC Média BC Desvio Padrão BC<br />
-2.5 0 90 -2.49 0.01 85.2 -2.45 -0.02 84.5 0.003 0.001 0.06<br />
-2.5 -1 90 -2.50 -1.00 82.6 -2.43 -1.04 84.5 0.011 0.001 0.14<br />
-3.75 -1 90 -3.72 -0.98 83.0 -3.65 -1.06 86.4 0.005 0.001 0.07<br />
-3.75 1 60 -3.63 1.04 59.6 0.002 0.005 0.10<br />
8.5 Auto-Localização por Linhas<br />
Outra fonte <strong>de</strong> localização são as linhas avista<strong>da</strong>s. Este tipo <strong>de</strong> localização utiliza<br />
ainformação relativa àrecta que acâmara consegue avistar. Informação relativa<br />
àespessura <strong>da</strong> linha po<strong>de</strong> ser introduzi<strong>da</strong> através <strong>de</strong> duas linhas adistâncias<br />
conheci<strong>da</strong>s. Neste momento não éfeita medi<strong>da</strong> nenhuma que permita retirar<br />
informação relativa ao início e fim <strong>da</strong> linha.<br />
Figura 8.43 Esquema <strong>da</strong> localização por linhas<br />
Consi<strong>de</strong>re-se o problema <strong>de</strong> um robot que avista uma parte <strong>de</strong> uma linha,<br />
esquematiza<strong>do</strong> na fig 8.43. Perante as consi<strong>de</strong>rações anteriormente enuncia<strong>da</strong>s,<br />
os <strong>da</strong><strong>do</strong>s <strong>de</strong> entra<strong>da</strong> para este algoritmo são apenas adistância eoângulo entre<br />
robot elinha em coor<strong>de</strong>na<strong>da</strong>s <strong>do</strong> robot, respectivamente d' L e ' L . Presume-se<br />
também conheci<strong>da</strong> a posição <strong>da</strong> linha no mun<strong>do</strong>. Neste caso específico e<br />
observan<strong>do</strong> a figura 8.43 po<strong>de</strong>-se concluir que:<br />
e também:<br />
148<br />
{ L =' LR d L =d'La (8.23)
{b=ac<br />
b=x R sin L <br />
c=y R cos L <br />
Combinan<strong>do</strong> as expressões 8.23 e 8.24 obtém-se:<br />
{ L =' L R<br />
d L =d' L x R sin L y R cos L <br />
As medi<strong>da</strong>s são então:<br />
{ ' L = L R<br />
d' L =d L x R sin L y R cos L <br />
É ain<strong>da</strong> necessário o cálculo <strong>do</strong> jacobiano <strong>da</strong> medi<strong>da</strong>:<br />
H Line = ∂d' L ,' L <br />
∂x r ,y r , r =[<br />
8.5.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong><br />
Vali<strong>da</strong>ção Experimental<br />
(8.24)<br />
(8.25)<br />
(8.26)<br />
0 0 1<br />
] sin L cosL 0 (8.27)<br />
As variâncias <strong>do</strong>s erros <strong>da</strong> medi<strong>da</strong> são:<br />
R Line 2<br />
d'L<br />
=[<br />
0<br />
0<br />
] 2<br />
<br />
'L<br />
(8.28)<br />
Consi<strong>de</strong>ra-se então que não existe correlação entre oerro <strong>da</strong> medi<strong>da</strong> <strong>de</strong> distância<br />
eoerro na medi<strong>da</strong> <strong>do</strong> ângulo. Tal afirmação é váli<strong>da</strong> <strong>de</strong>vi<strong>do</strong> àforma como as<br />
medi<strong>da</strong>s são obti<strong>da</strong>s na prática.<br />
Devi<strong>do</strong> ao facto <strong>de</strong> a localização por linhas ser consi<strong>de</strong>ra<strong>da</strong> eminentemente<br />
local, não existem problemas relativos à utilização <strong>de</strong> funções periódicas na<br />
relação 8.26. Na implantação <strong>do</strong> EKF no robot incluiu-se código que consi<strong>de</strong>ra<br />
limites <strong>de</strong> verosimilhança para as medi<strong>da</strong>s obti<strong>da</strong>s apartir <strong>de</strong>ste méto<strong>do</strong> oque<br />
reforça autili<strong>da</strong><strong>de</strong> <strong>de</strong>ste méto<strong>do</strong> <strong>de</strong> localização ser apenas <strong>de</strong> correcção local <strong>da</strong><br />
posição.<br />
8.5.2 Implementação<br />
A <strong>de</strong>terminação <strong>de</strong> transições é feita ao longo <strong>de</strong> linhas parametrizáveis na<br />
aplicação HAL. Apenas estas linhas são percorri<strong>da</strong>s para <strong>de</strong>terminar aexistência<br />
<strong>de</strong> transições <strong>de</strong> cor, isto é, para <strong>de</strong>terminar um ponto em que no espaço <strong>de</strong> uma<br />
janela <strong>de</strong> alguns pixeis há uma transição consistente <strong>de</strong> uma <strong>da</strong><strong>da</strong> cor para outra<br />
<strong>da</strong><strong>da</strong> cor. Este procedimento <strong>de</strong>ve-se ànecessi<strong>da</strong><strong>de</strong> imperiosa <strong>de</strong> limitar otempo<br />
149
Vali<strong>da</strong>ção Experimental<br />
<strong>de</strong> processamento na área <strong>da</strong> visão. Para a<strong>de</strong>terminação <strong>da</strong>s linhas <strong>do</strong> campo,<br />
<strong>de</strong>ve-se <strong>de</strong>terminar as transições envolven<strong>do</strong> ver<strong>de</strong> <strong>do</strong> campo e branco <strong>da</strong>s<br />
linhas.<br />
Figura 8.44 Opções relativas a transições<br />
Na figura 8.44 po<strong>de</strong>-se ver acaixa <strong>de</strong> diálogo relativa àconfiguração <strong>da</strong> pesquisa<br />
<strong>de</strong> transições <strong>de</strong> cor. Na figura 8.45 po<strong>de</strong>-se ver uma porção <strong>da</strong> imagem <strong>da</strong><br />
aplicação HAL que encontra diversas transições na imagem. Presume-se que se<br />
encontrou uma linha <strong>do</strong> campo quan<strong>do</strong> as transições têm a mesma cor <strong>de</strong> origem<br />
e <strong>de</strong>stino, estão em 3 ou mais linhas <strong>de</strong> pesquisa diferentes e se encontram<br />
alinha<strong>da</strong>s amenos <strong>de</strong> valores limiares a<strong>de</strong>qua<strong>do</strong>s. Na figura 8.45 representa-se 3<br />
linhas <strong>de</strong> pesquisa, linhas rectas finas avermelho. Apesquisa sobre essas linhas<br />
<strong>de</strong>scobre 3linhas fronteira: uma é uma linha fronteira váli<strong>da</strong> <strong>de</strong> ver<strong>de</strong> para<br />
branco; outra éuma linha fronteira váli<strong>da</strong> <strong>de</strong> branco para ver<strong>de</strong> eexiste ain<strong>da</strong><br />
uma outra linha fronteira <strong>de</strong> ver<strong>de</strong> para branco que é inváli<strong>da</strong>. Esta linha<br />
inváli<strong>da</strong> éconstituí<strong>da</strong> por uma transição pertencente ao círculo central <strong>de</strong> um<br />
campo <strong>de</strong> futebol robótico enão existe na imagem uma linha recta que ligue os 3<br />
pontos. Esta éuma limitação importante <strong>do</strong> algoritmo implementa<strong>do</strong>, que não<br />
invali<strong>da</strong> no entanto oestu<strong>do</strong> arealizar uma vez que oreconhecimento <strong>de</strong> linhas<br />
inexistente é filtra<strong>do</strong> que em testes estatísticos <strong>de</strong> verosimilhança quer na<br />
<strong>de</strong>finição <strong>de</strong> parâmetros <strong>de</strong> ajuste face ao conhecimento <strong>da</strong> situação anterior.<br />
150<br />
Figura 8.45 Transições entre cores <strong>de</strong>tecta<strong>da</strong>s ao longo <strong>da</strong>s rectas e<br />
linhas fronteira <strong>de</strong>tecta<strong>da</strong>s (uma é incorrectamente assinala<strong>da</strong>)
Vali<strong>da</strong>ção Experimental<br />
Na figura 8.46 po<strong>de</strong>-se ver àesquer<strong>da</strong> aimagem obti<strong>da</strong> pela câmara <strong>do</strong> robot eà<br />
direita aclassificação <strong>de</strong> cor consegui<strong>da</strong>. Esta mesma figura <strong>do</strong>cumenta ain<strong>da</strong><br />
outra limitação importante <strong>do</strong> algoritmo utiliza<strong>do</strong> que não encontra linhas rectas<br />
que não se cruzem com as 3 rectas <strong>de</strong> pesquisa <strong>de</strong>fini<strong>da</strong>s neste caso. Esta<br />
limitação diz respeito em concreto às rectas <strong>de</strong> pesquisa utiliza<strong>da</strong>s já que um<br />
outro conjunto <strong>de</strong> rectas conseguiria <strong>de</strong>tectar alinha recta presente nesta figura.<br />
As linhas <strong>de</strong> pesquisa <strong>de</strong>vem reflectir afilosofia <strong>de</strong> pesquisa <strong>de</strong> fronteiras que se<br />
preten<strong>de</strong> implementar. É notório que as rectas <strong>de</strong> pesquisa <strong>de</strong>fini<strong>da</strong>s não se<br />
a<strong>de</strong>quam auma hipotética aplicação em que orobot segue alinha<strong>do</strong> com uma<br />
linha. Estas linhas <strong>de</strong> pesquisa são a<strong>de</strong>qua<strong>da</strong>s, no entanto, a um robot que<br />
circula <strong>de</strong>ntro <strong>de</strong> uma zona <strong>de</strong>limita<strong>da</strong> por linhas. Uma possível solução seria<br />
vali<strong>da</strong>r apenas linhas com transições ver<strong>de</strong>-branco e correspon<strong>de</strong>nte brancover<strong>de</strong><br />
<strong>de</strong>termina<strong>do</strong> consistentemente. Consi<strong>de</strong>rou-se, no entanto, que tal<br />
limitação é excessiva e limitaria muito, na prática, o número linhas encontra<strong>da</strong>s.<br />
Figura 8.46 Uma linha que não é <strong>de</strong>tecta<strong>da</strong><br />
A utilização <strong>de</strong>stas linhas fronteira <strong>de</strong> transição <strong>de</strong> cor não se limitam, no<br />
entanto ,à <strong>de</strong>tecção <strong>de</strong> linhas. Os conceitos apresenta<strong>do</strong>s po<strong>de</strong>m ser utiliza<strong>do</strong>s<br />
para a<strong>de</strong>terminação <strong>de</strong> fronteiras entre quaisquer cores calibra<strong>da</strong>s no sistema.<br />
Uma hipotética utilização no âmbito <strong>do</strong> futebol robótico seria por exemplo<br />
<strong>de</strong>terminar alinha fronteira <strong>do</strong> ver<strong>de</strong> <strong>do</strong> campo para acor <strong>do</strong> fun<strong>do</strong> <strong>da</strong> baliza.<br />
Tais <strong>da</strong><strong>do</strong>s raramente estariam acessíveis <strong>da</strong><strong>do</strong> que existe eleva<strong>do</strong> nível <strong>de</strong><br />
ocultação <strong>de</strong> cores junto às balizas no jogos <strong>de</strong> futebol robótico. Numa outra<br />
aplicação genérica po<strong>de</strong>r-se-ia utilizar diversas cores para i<strong>de</strong>ntificar qual alinha<br />
que está a ser visualiza<strong>da</strong>.<br />
Para o funcionamento <strong>da</strong> aplicação é necessário listar to<strong>do</strong>s os segmentos<br />
existentes no campo. Actualmente é <strong>de</strong>spreza<strong>da</strong> a informação relativa à<br />
espessura <strong>da</strong> linha e consi<strong>de</strong>ra-se que não há precisão suficiente para ser<br />
vantajoso listar separa<strong>da</strong>mente transições ver<strong>de</strong>-branco separa<strong>da</strong>mente <strong>da</strong>s<br />
transições branco ver<strong>de</strong>. Aespessura <strong>da</strong>s linhas po<strong>de</strong>ria servir para distinguir<br />
algumas <strong>da</strong>s linhas entre si já que as regras impõem essa situação.<br />
Oreconhecimento <strong>de</strong> qual alinha avista<strong>da</strong> éfeito através <strong>do</strong> conhecimento <strong>da</strong><br />
localização anterior. Este méto<strong>do</strong> faz correcções locais mas a incorrecta<br />
classificação <strong>de</strong> qual alinha observa<strong>da</strong> leva possivelmente àdivergência <strong>do</strong> filtro<br />
151
Vali<strong>da</strong>ção Experimental<br />
eàfalha <strong>da</strong> localização. Éessencial que sejam verifica<strong>do</strong>s os limites <strong>da</strong>s linhas<br />
para aferir <strong>da</strong> verosimilhança <strong>da</strong> medi<strong>da</strong> obti<strong>da</strong>. Os valores limiares utiliza<strong>do</strong>s<br />
<strong>de</strong>vem fazer uma medi<strong>da</strong> conserva<strong>do</strong>ra, isto é, se uma <strong>da</strong><strong>da</strong> linha medi<strong>da</strong> não se<br />
enquadrar próxima <strong>de</strong> linha alguma (que a nível <strong>de</strong> ângulo quer a nível <strong>de</strong><br />
distância espera<strong>da</strong> àlinha) amedi<strong>da</strong> não <strong>de</strong>ve fazer correcções ao esta<strong>do</strong> <strong>do</strong><br />
sistema.<br />
8.5.3 Análise Resulta<strong>do</strong>s<br />
Os histogramas <strong>da</strong> figura 8.47 mostram medi<strong>da</strong>s que são revela<strong>do</strong>ras <strong>de</strong> um <strong>do</strong>s<br />
problemas <strong>de</strong>ste tipo <strong>de</strong> medi<strong>da</strong>, que éo<strong>da</strong> mo<strong>da</strong> não estar centra<strong>da</strong> na medi<strong>da</strong>.<br />
Uma eleva<strong>da</strong> quanti<strong>da</strong><strong>de</strong> <strong>de</strong> experiências <strong>de</strong>monstra este problema. Anecessária<br />
aproximação <strong>de</strong> consi<strong>de</strong>rar a medi<strong>da</strong> gaussiana mantém-se ain<strong>da</strong> váli<strong>da</strong> em<br />
aproximação uma vez que o erro é pequeno.<br />
As figuras 8.50, 8.48 e 8.49 resumem alguns <strong>da</strong><strong>do</strong>s estatísticos relativos à<br />
dispersão <strong>da</strong>s medi<strong>da</strong>s. Os <strong>de</strong>svios padrão mais eleva<strong>do</strong>s aparentam aparecer nas<br />
distâncias maiores no entanto oacompanhamento experimental levou aconcluir<br />
que oruí<strong>do</strong> émuito <strong>de</strong>pen<strong>de</strong>nte <strong>da</strong> situação particular <strong>da</strong> medi<strong>da</strong>. O<strong>de</strong>talhe em<br />
concreto que afecta adispersão <strong>da</strong> medi<strong>da</strong> éaestabili<strong>da</strong><strong>de</strong> <strong>da</strong> classificação <strong>de</strong><br />
cor em torno <strong>da</strong> linha fronteira <strong>de</strong>tecta<strong>da</strong>. Tal facto éevi<strong>de</strong>ncia<strong>do</strong> por outras<br />
experiências muito próximas <strong>da</strong>s anteriores mas que resultam em <strong>de</strong>svios padrão<br />
muito menores.<br />
152<br />
35<br />
30<br />
25<br />
20<br />
15<br />
10<br />
5<br />
Dist. Linha (-1.25,1.75,135)<br />
Ang. Linha (º) (-1.25,1.75,135)<br />
0.45<br />
0.35<br />
0.25<br />
0.15<br />
0.05<br />
0<br />
0.4 0.6 0.8 1<br />
0<br />
-80 -60 -40 -20<br />
~N(0.75153,0.030894)<br />
~N(-41.1691,0.91708)<br />
Figura 8.47 Histogramas na medi<strong>da</strong> <strong>de</strong> linhas (to<strong>da</strong>s as distâncias em metros)<br />
0.4<br />
0.3<br />
0.2<br />
0.1
Figura 8.48 Histograma bidimensional <strong>da</strong> dispersão na medi<strong>da</strong> <strong>do</strong> ângulo à linha<br />
Desvio Padrao (m)<br />
Desvio Padrao (º)<br />
10<br />
8<br />
6<br />
4<br />
2<br />
0<br />
1<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
1<br />
0<br />
0<br />
y w (m)<br />
y w (m)<br />
-1<br />
-1<br />
Medi<strong>da</strong> <strong>de</strong> Linhas - Angulo a linha<br />
-2<br />
-2<br />
0<br />
0<br />
Vali<strong>da</strong>ção Experimental<br />
Figura 8.49 Histograma bidimensional <strong>da</strong> dispersão na medi<strong>da</strong> <strong>da</strong> distância à linha<br />
Afigura 8.51 resume graficamente as medi<strong>da</strong>s efectua<strong>da</strong>s. Os <strong>da</strong><strong>do</strong>s <strong>do</strong> relativos<br />
ao comportamento <strong>do</strong>s erros <strong>da</strong> medi<strong>da</strong> estão po<strong>de</strong>m ser vistos na tabela 8.3. Na<br />
figura 8.51 e na tabela 8.3 po<strong>de</strong>-se então comprovar diversos fenómenos<br />
<strong>de</strong>scritos como por exemplo amo<strong>da</strong> ser não centra<strong>da</strong> com amédia <strong>da</strong>s medi<strong>da</strong>s<br />
eofacto <strong>de</strong> oerro médio ser não nulo. Estas situações justificam que ovalor<br />
utiliza<strong>do</strong> para acovariância <strong>da</strong> media na implementação seja fixo em (0.3m) 2 ,<br />
in<strong>de</strong>pen<strong>de</strong>nte <strong>da</strong> distância e <strong>do</strong> ângulo <strong>da</strong> medi<strong>da</strong>.<br />
1<br />
1<br />
x w (m)<br />
Medi<strong>da</strong> <strong>de</strong> Linhas - Distancia a linha<br />
x w (m)<br />
2<br />
2<br />
3<br />
3<br />
153
Vali<strong>da</strong>ção Experimental<br />
154<br />
Desvio Padrao (m)<br />
0.14<br />
0.12<br />
0.1<br />
0.08<br />
0.06<br />
0.04<br />
0.02<br />
0<br />
0.5 1 1.5 2 2.5 3<br />
Distancia a linha (m)<br />
Figura 8.50 Dispersão na medi<strong>da</strong> <strong>de</strong> linhas<br />
y w (m)<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
Figura 8.51 Disposição no campo <strong>da</strong>s medi<strong>da</strong>s <strong>de</strong> linhas<br />
Desvio Padrao (º)<br />
0.16<br />
0.14<br />
0.12<br />
0.1<br />
0.08<br />
0.06<br />
0.04<br />
0.02<br />
0<br />
-60 -40 -20 0<br />
Angulo a linha (º)<br />
20 40 60<br />
-6 -5 -4 -3 -2 -1 0 1<br />
x w (m)
Tabela 8.3 Resumo <strong>da</strong>s experiências relativas à medição <strong>de</strong> Linhas<br />
Distância à<br />
Linha (m)<br />
Ângulo à Linha<br />
(º) Erro (m)<br />
Vali<strong>da</strong>ção Experimental<br />
Desvio Padrão<br />
(m)<br />
2.28 -0.117 0.21 0.030<br />
2.55 -10.164 -0.22 0.065<br />
2.29 0.367 0.21 0.025<br />
2.54 -26.163 -0.03 0.041<br />
2.55 -25.907 -0.04 0.039<br />
2.54 -26.096 -0.03 0.045<br />
2.63 -1.925 -0.13 0.134<br />
2.64 -2.052 -0.13 0.128<br />
1.18 1.583 -0.07 0.024<br />
1.16 -1.182 0.09 0.004<br />
1.36 0.927 -0.13 0.010<br />
1.17 -1.072 0.08 0.026<br />
1.39 -10.144 0.10 0.034<br />
1.51 20.981 -0.01 0.060<br />
1.36 29.635 0.13 0.062<br />
1.42 -3.705 -0.07 0.009<br />
0.73 -54.615 0.02 0.030<br />
0.75 -41.169 0.00 0.031<br />
0.76 -41.019 -0.00 0.041<br />
1.45 2.198 0.05 0.072<br />
1.15 -4.369 0.09 0.007<br />
2.34 0.239 -0.16 0.014<br />
0.69 -52.575 -0.05 0.012<br />
0.69 -52.633 -0.06 0.013<br />
0.71 1.418 -0.03 0.026<br />
2.33 -5.510 -0.17 0.057<br />
1.41 41.162 -0.08 0.040<br />
2.52 -2.767 0.00 0.099<br />
2.54 -2.402 -0.01 0.098<br />
155
Vali<strong>da</strong>ção Experimental<br />
8.6 Localização por Postes<br />
Autilização <strong>de</strong> postes para localização visual no RoboCup po<strong>de</strong> ser vista na liga<br />
F2000 ena liga Sony Legged. Este conceito tem também interesse para outros<br />
ambientes. A formulação apresenta<strong>da</strong> <strong>de</strong> segui<strong>da</strong> não se restringe apenas a postes<br />
<strong>do</strong> ambiente RoboCup, antes diz respeito a qualquer tipo <strong>de</strong> marca<strong>do</strong>r que<br />
indica uma direcção epo<strong>de</strong>rá indicar com maior ou menor precisão adistância a<br />
que esse marca<strong>do</strong>r se encontra. Uma hipotética realização simples <strong>de</strong>ste tipo <strong>de</strong><br />
marca<strong>do</strong>res po<strong>de</strong> ser simplesmente riscas colori<strong>da</strong>s pinta<strong>da</strong>s numa pare<strong>de</strong>.<br />
Consi<strong>de</strong>re-se oproblema <strong>de</strong> um robot que avista um marca<strong>do</strong>r, esquematiza<strong>do</strong><br />
na figura 8.52. Consi<strong>de</strong>ra-se que omarca<strong>do</strong>r ére<strong>do</strong>n<strong>do</strong> no senti<strong>do</strong> em que a<br />
informação que ele fornece não <strong>de</strong>pen<strong>de</strong> <strong>do</strong> ângulo entre robot e marca<strong>do</strong>r 36 .<br />
Figura 8.52 Esquema <strong>da</strong> localização por<br />
marca<strong>do</strong>res re<strong>do</strong>n<strong>do</strong>s/postes<br />
Tal como referi<strong>do</strong> anteriormente, amo<strong>de</strong>lização <strong>de</strong> um sistema aser estima<strong>do</strong><br />
pelo méto<strong>do</strong> <strong>do</strong>s Mínimos Quadra<strong>do</strong>s não <strong>de</strong>verá recorrer afunções periódicas.<br />
Por este motivo, na seguinte formulação, não aparece explicitamente oângulo<br />
entre robot e marca<strong>do</strong>r.<br />
Toman<strong>do</strong> oesquema apresenta<strong>do</strong> na fig. 8.52, po<strong>de</strong> então dizer-se que amedi<strong>da</strong><br />
<strong>de</strong> entra<strong>da</strong> <strong>de</strong>ste algoritmos <strong>de</strong> auto localização é:<br />
y Poste t k = [ x pr t k <br />
y pr t k ]<br />
=<br />
= [ x p x r t k cos r t k + y p y r t k sin r t k <br />
x p x r t k sin r t k + y p y r t k cos r t k ]<br />
(8.29)<br />
Aten<strong>de</strong>n<strong>do</strong> a esta medi<strong>da</strong>, é necessário calcular o jacobiano <strong>de</strong>la para que ele seja<br />
36 Um estu<strong>do</strong> <strong>de</strong>ste tipo <strong>de</strong> marca<strong>do</strong>res é feito em [163] (ver página 64)<br />
156
Vali<strong>da</strong>ção Experimental<br />
incluí<strong>do</strong> na implementação no EKF. Omitin<strong>do</strong>-se a<strong>de</strong>pendência <strong>do</strong> tempo <strong>de</strong><br />
to<strong>do</strong>s os elementos envolvi<strong>do</strong>s:<br />
H Poste = ∂x pr ,y pr <br />
∂x r ,y r , r = [ cos r sin r y pr<br />
sin r cos r x pr] (8.30)<br />
Esta informação será posteriormente integra<strong>da</strong> no EKF para fusão <strong>de</strong> to<strong>do</strong>s os<br />
tipos <strong>de</strong> informação disponíveis.<br />
8.6.1 Mo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong><br />
O mo<strong>de</strong>lo <strong>do</strong> erro <strong>da</strong> medi<strong>da</strong> é basea<strong>do</strong> em testes feitos na plataforma<br />
experimental. Na mo<strong>de</strong>lização obti<strong>da</strong> encontrou-se fortes diferenças para oerro<br />
na avaliação <strong>da</strong> distância robot-marca<strong>do</strong>r e na medi<strong>da</strong> <strong>do</strong> ângulo robotmarca<strong>do</strong>r.<br />
Propõe-se assim que omo<strong>de</strong>lo <strong>do</strong> erro na medi<strong>da</strong> <strong>da</strong> distância robot-<br />
marca<strong>do</strong>r seja D Poste Posted<br />
Posted<br />
, on<strong>de</strong> D Poste é a distância robot-marca<strong>do</strong>r e<br />
éo<strong>de</strong>svio padrão para uma medi<strong>da</strong> a1m. Oerro associa<strong>do</strong> àmedi<strong>da</strong><br />
angular não <strong>de</strong>pen<strong>de</strong> <strong>da</strong> distância e é mo<strong>de</strong>liza<strong>do</strong> por uma constante Postea .<br />
Poste Posted<br />
R''=[D 2<br />
0<br />
0<br />
] 2<br />
Postea (8.31)<br />
A matriz R'' não é váli<strong>da</strong> no sistema <strong>de</strong> coor<strong>de</strong>na<strong>da</strong>s <strong>de</strong>ntro <strong>do</strong> robot. Ela é váli<strong>da</strong><br />
para osistema <strong>de</strong> coor<strong>de</strong>na<strong>da</strong>s cilíndricas com origem no centro <strong>do</strong> robot. A<br />
forma preconiza<strong>da</strong> por (8.31) configura um sector <strong>de</strong> um anel enão uma elipse.<br />
Oreferi<strong>do</strong> sector <strong>de</strong> anel émostra<strong>do</strong> atraceja<strong>do</strong> na figura 8.52. Aelipse que<br />
aproxima esta figura é:<br />
Poste Posted<br />
R'=[D 2<br />
0<br />
] 2<br />
0 DPoste Postea<br />
(8.32)<br />
Para autilização num EKF énecessário proce<strong>de</strong>r tal como mostra<strong>do</strong> em 5.53<br />
pág. 89e 5.57 pág. 90 eassim énecessário obter rotação que relaciona os <strong>do</strong>is<br />
sistemas <strong>de</strong> coor<strong>de</strong>na<strong>da</strong>s:<br />
p =tg 1 y p y re<br />
x p x re <br />
re (8.33)<br />
on<strong>de</strong> (xp ,yp) éaposição <strong>do</strong> marca<strong>do</strong>r no mun<strong>do</strong> e x re ,y re , re éovector <strong>de</strong><br />
esta<strong>do</strong> estima<strong>do</strong>.<br />
A matriz <strong>de</strong> rotação será então:<br />
157
Vali<strong>da</strong>ção Experimental<br />
[<br />
cos<br />
W= p sin p ] sin p cos (8.34)<br />
p<br />
O ruí<strong>do</strong> <strong>da</strong> medi<strong>da</strong> fica finalmente:<br />
R Poste k =W R' W T (8.35)<br />
8.6.2 Filtro <strong>de</strong> Kalman Extendi<strong>do</strong><br />
Consi<strong>de</strong>re-se a figura 8.53 on<strong>de</strong> se mostra o robot em movimento.<br />
Figura 8.53 Ilustração <strong>do</strong> robot em<br />
movimento<br />
O vector <strong>de</strong> esta<strong>do</strong> escolhi<strong>do</strong> para o sistema é:<br />
X t =[ x r t y r t r t v r t r t] T<br />
(8.36)<br />
on<strong>de</strong> (x r,y r)éaposição cartesiana <strong>do</strong> robot e r éasua direcção; v r éasua<br />
veloci<strong>da</strong><strong>de</strong> tangencial; consi<strong>de</strong>ra-se tracção diferencial sem escorregamento<br />
lateral pelo que não se consi<strong>de</strong>ra ovalor <strong>da</strong> veloci<strong>da</strong><strong>de</strong> normal <strong>do</strong> robot que será<br />
sempre nulo; r é a veloci<strong>da</strong><strong>de</strong> angular <strong>do</strong> robot.<br />
Omovimento émo<strong>de</strong>liza<strong>do</strong> através <strong>da</strong> veloci<strong>da</strong><strong>de</strong> <strong>de</strong> ca<strong>da</strong> ro<strong>da</strong>, v 1 e v 2 ecomo<br />
tal verifica-se que:<br />
{v t = v 1 v 2 <br />
2<br />
r = v 1 v 2 <br />
b<br />
(8.37)<br />
on<strong>de</strong> b éadistância entre os pontos <strong>de</strong> tracção <strong>de</strong> ca<strong>da</strong> ro<strong>da</strong>, valor este que é<br />
frequentemente aproxima<strong>do</strong> pela distância entre ro<strong>da</strong>s.<br />
Osistema <strong>de</strong> ho<strong>do</strong>metria fornece valores que são converti<strong>do</strong>s directamente em<br />
veloci<strong>da</strong><strong>de</strong>s <strong>de</strong> ca<strong>da</strong> ro<strong>da</strong> v 1 e v 2 .Como os valores <strong>de</strong> v r e r são facilmente<br />
obti<strong>do</strong>s eapresentam variações lentas po<strong>de</strong> consi<strong>de</strong>rar-se que estes são entra<strong>da</strong>s<br />
158
Vali<strong>da</strong>ção Experimental<br />
<strong>de</strong> coman<strong>do</strong> e assim a equação <strong>da</strong> cinemática <strong>do</strong> robot no tempo contínuo é:<br />
[xt cos t <br />
] d<br />
y t <br />
dt<br />
v t sin t <br />
(8.38)<br />
t ]=[vt<br />
t <br />
No senti<strong>do</strong> <strong>de</strong> obter aequação <strong>de</strong> actualização <strong>do</strong> sistema em tempo discreto<br />
consi<strong>de</strong>ra-se que os sinais <strong>de</strong> controlo são constantes entre ca<strong>da</strong> instante <strong>de</strong><br />
amostragem. De acor<strong>do</strong> com as equações 5.45 pág 87 e5.62 pág 90 adinâmica<br />
em tempo discreto <strong>do</strong> sistema é:<br />
X t k = A Xt k1B ut k1<br />
yt k = H xt k (8.39)<br />
E a matriz <strong>de</strong> esta<strong>do</strong> na sua versão discreta fica:<br />
0 vt ksin tk ]<br />
Ak=[0 0 0 vt kcos tk 0 0 0<br />
A=exp A * k t k t k1<br />
8.6.3 Implementação<br />
(8.40)<br />
Os postes utiliza<strong>do</strong>s nas experiências estão <strong>de</strong> acor<strong>do</strong> com as normas propostas<br />
para aliga F2000 <strong>do</strong> RoboCup no ano <strong>de</strong> 2003. To<strong>do</strong>s os postes são cilíndricos<br />
econstituí<strong>do</strong>s por 3partes iguais, também cilíndricas mas apenas 2cores, tal<br />
como mostra<strong>do</strong> na figura 8.54. Oposte me<strong>de</strong> 20 cm <strong>de</strong> diâmetro e1.00 m<strong>de</strong><br />
altura, ca<strong>da</strong> parte <strong>do</strong> cilindro terá 33 cm. Ca<strong>da</strong> parte <strong>de</strong> poste po<strong>de</strong> ter cor<br />
amarela ou azul. Existem 2postes com 2partes amarelas (postes amarelos) e2<br />
postes com 2 partes azuis (postes azuis). Para o estu<strong>do</strong> experimental aqui<br />
apresenta<strong>do</strong>, os postes amarelos foram coloca<strong>do</strong>s nas intersecções <strong>da</strong> linha<br />
central com as laterais. Os postes azuis foram coloca<strong>do</strong>s nos cantos <strong>do</strong> campo na<br />
extremi<strong>da</strong><strong>de</strong> negativa <strong>do</strong> eixo <strong>do</strong>s xx <strong>do</strong> campo (on<strong>de</strong> fica abaliza azul no campo<br />
<strong>de</strong> futebol robótico).<br />
Figura 8.54 Encenação para classificação <strong>de</strong> cor relativamente a 4 postes em frente <strong>da</strong> baliza<br />
amarela (imagem ro<strong>da</strong><strong>da</strong> <strong>da</strong>quela que o robot realmente visualiza)<br />
159
Vali<strong>da</strong>ção Experimental<br />
Na figura 8.54 po<strong>de</strong>-se ver uma situação em em que acalibração <strong>da</strong> cor ver<strong>de</strong> <strong>do</strong><br />
campo está activa. Na figura 8.55 po<strong>de</strong>-se ver outra situação em que se avista os<br />
quatro postes. Nesta figura po<strong>de</strong>-se ver <strong>da</strong> esquer<strong>da</strong> para adireita aimagem, a<br />
classificação <strong>de</strong> cor emanchas <strong>de</strong> cor transmiti<strong>da</strong>s àaplicação <strong>de</strong> Decisão. Éa<br />
partir <strong>de</strong>stas manchas <strong>de</strong> cor que to<strong>do</strong> oprocessamento relativo apostes éfeito.<br />
Na figura 8.54 acor ver<strong>de</strong> <strong>do</strong> campo está calibra<strong>da</strong> eaparece na imagem <strong>da</strong><br />
direita; na figura 8.55 aparece apreto significan<strong>do</strong> que esta cor não foi calibra<strong>da</strong><br />
elogo éuma cor <strong>de</strong>sconheci<strong>da</strong> –no entanto refira-se que as manchas <strong>de</strong> cor<br />
ver<strong>de</strong> não são transmiti<strong>da</strong>s pela re<strong>de</strong> para a<strong>de</strong>cisão (a calibração <strong>da</strong> cor ver<strong>de</strong><br />
serve apenas para a <strong>de</strong>tecção <strong>de</strong> transições).<br />
Figura 8.55 Imagem <strong>de</strong> situação encena<strong>da</strong> em que são visíveis: à esquer<strong>da</strong> a imagem<br />
com quatro postes; ao centro a classificação <strong>de</strong> cor consegui<strong>da</strong> (o ver<strong>de</strong> <strong>do</strong> campo não está<br />
calibra<strong>do</strong>); à direita, os <strong>da</strong><strong>do</strong>s recebi<strong>do</strong>s pela <strong>de</strong>cisão<br />
Figura 8.56 Resumo <strong>da</strong>s dimensões associa<strong>da</strong>s à medi<strong>da</strong> <strong>de</strong> postes<br />
Na implementação actual, to<strong>da</strong>s as manchas <strong>de</strong> cor amarela são testa<strong>da</strong>s para a<br />
viabili<strong>da</strong><strong>de</strong> <strong>de</strong> pertencerem aum poste. Para tal operação <strong>de</strong>fina-se C i como a<br />
mancha <strong>de</strong> cor <strong>de</strong> or<strong>de</strong>m i que po<strong>de</strong> ter cor amarelo ou azul: C i={Amarelo,<br />
Azul}. Amancha C i tem ocentro nas coor<strong>de</strong>na<strong>da</strong>s (u i,v i)aque correspon<strong>de</strong> por<br />
meio <strong>da</strong> calibração <strong>da</strong> câmara as coor<strong>de</strong>na<strong>da</strong>s angulares ( i , i ) .<br />
Numa primeira fase são lista<strong>do</strong>s to<strong>do</strong>s os candi<strong>da</strong>tos apostes. Ca<strong>da</strong> candi<strong>da</strong>to a<br />
poste éum conjunto <strong>de</strong> 3manchas <strong>de</strong> cor {C t,C m,C b}, respectivamente mancha<br />
160<br />
(u t , v) t ≡ ( φt , θt)<br />
(u m , v m) ≡ ( φm , θm)<br />
∆u tm1<br />
∆u mb1<br />
(u b , v) b ≡ ( φb, θb)<br />
∆u tm<br />
∆v tmr<br />
∆u mb<br />
∆v mbr<br />
u,φ<br />
v,θ
Vali<strong>da</strong>ção Experimental<br />
<strong>de</strong> cor <strong>de</strong> cima (top), <strong>do</strong> meio (middle) e<strong>de</strong> baixo (bottom) 37 que cumpre os to<strong>do</strong>s<br />
requisitos lista<strong>do</strong>s <strong>de</strong> segui<strong>da</strong>:<br />
1.<br />
C t=C b≠C m , t ≠m≠b<br />
2. max t m, t b , m b max oparâmetro max <strong>de</strong>fine o<strong>de</strong>svio angular<br />
(horizontal) máximo para os centros <strong>da</strong>s machas <strong>de</strong> cor<br />
3. max t m, t b , m b max separação máxima angular entre os<br />
centros <strong>da</strong>s manchas <strong>de</strong> cor limita<strong>da</strong> ao valor <strong>do</strong> parâmetro max (sobre a<br />
vertical)<br />
4. maxu tml , u tmr , u mbl ,u mbru max o parâmetro u max limita o<br />
<strong>de</strong>salinhamento máximo <strong>da</strong>s bor<strong>da</strong>s 38 sobre a vertical <strong>do</strong>s postes váli<strong>do</strong>s<br />
5. maxv tml , v tmr , v mbl ,v mbr v max separação máxima entre machas <strong>de</strong><br />
cor sobre ahorizontal limita<strong>da</strong> ao valor máximo imposto pelo parâmetro<br />
v max<br />
6. { d m=UVZ2XY u m ,v m,h m<br />
d b=UVZ2XY u b ,v b,h b} obe<strong>de</strong>cen<strong>do</strong> a { d mind md max<br />
d mind bd max} garantin<strong>do</strong>-se<br />
assim que postes muito longe (mais longe que d max) são invali<strong>da</strong><strong>do</strong>s; também<br />
postes que estão <strong>de</strong>masia<strong>do</strong> perto e não po<strong>de</strong>riam ser vistos pelo robot<br />
(mais perto que d min) <strong>de</strong>vem ser elimina<strong>do</strong>s (ver figura ); h meh bsão as<br />
alturas aque os centros <strong>da</strong>s partes <strong>do</strong>s postes <strong>de</strong>vem estar na reali<strong>da</strong><strong>de</strong>,<br />
actualmente h m=0.5 m e h b=0.165 m.<br />
No final éfeita uma verificação adicional: se existirem candi<strong>da</strong>tos aposte que<br />
partilhem manchas <strong>de</strong> cor, então eliminar to<strong>do</strong>s os candi<strong>da</strong>tos em causa. Postes<br />
que partilhem manchas <strong>de</strong> cor são fruto <strong>de</strong> ocultação, ruí<strong>do</strong> ou má classificação<br />
<strong>de</strong> cor pelo que não se <strong>de</strong>ve tirar conclusões em qualquer <strong>de</strong>stas situações<br />
anómalas.<br />
Observan<strong>do</strong> a figura 8.57, po<strong>de</strong>-se verificar que na configuração geométrica<br />
apresenta<strong>da</strong> não épossível ver postes auma distancia inferior ad min, uma vez<br />
que amancha <strong>de</strong> cor superior <strong>de</strong>ixa <strong>de</strong> ser visível (confrontar com afigura 8.54).<br />
Um outro problema po<strong>de</strong> também acontecer que é<strong>de</strong>ixar <strong>de</strong> ver atotali<strong>da</strong><strong>de</strong> <strong>da</strong><br />
mancha inferior o que po<strong>de</strong>ria levar a alguns problemas <strong>de</strong> falta <strong>de</strong> precisão.<br />
Toman<strong>do</strong> como referência figura 8.54 que representa 4postes, oposte situa<strong>do</strong> à<br />
frente <strong>da</strong> baliza amarela não será classifica<strong>do</strong> como tal uma vez que as bor<strong>da</strong>s <strong>da</strong><br />
mancha <strong>de</strong> cor amarela são muito distantes <strong>da</strong>s bor<strong>da</strong>s <strong>da</strong>s manchas <strong>de</strong> cor azul.<br />
Admiti<strong>da</strong>mente, esta éuma limitação que advém <strong>da</strong> estratégia utiliza<strong>da</strong>, que,<br />
sen<strong>do</strong> parametrizável, é facilmente ultrapassável. Esta regra faz senti<strong>do</strong> na<br />
aplicação experimental ena situação <strong>do</strong> campo <strong>de</strong> jogo <strong>do</strong> futebol robótico pois<br />
37Os termos utiliza<strong>do</strong>s dizem respeito à reali<strong>da</strong><strong>de</strong> (figura 8.54): em cima, no meio e em baixo<br />
não dizem respeito à imagem que robot vê (figura 8.55)<br />
38Operações relativas aos centros utilizam relações angulares; limites exteriores <strong>da</strong>s manchas<br />
<strong>de</strong> cor utilizam pixeis<br />
161
Vali<strong>da</strong>ção Experimental<br />
se orobot estiver <strong>de</strong>ntro <strong>do</strong> campo, um poste nunca aparece àfrente <strong>de</strong> uma<br />
baliza. A estratégia <strong>da</strong> colocação <strong>do</strong>s postes nos cantos <strong>da</strong> zona <strong>de</strong><br />
movimentação <strong>do</strong> robot parece sensata noutras reali<strong>da</strong><strong>de</strong>s que transcen<strong>da</strong>m a<br />
aplicação <strong>do</strong> futebol robótico.<br />
Figura 8.57 Distância mínima para um<br />
poste ser visível<br />
Amedi<strong>da</strong> <strong>do</strong> poste propriamente dita écalcula<strong>da</strong> <strong>da</strong> seguinte forma (ver figura<br />
8.57):<br />
{ Poste= t m b/3<br />
D Poste= h mb d<br />
u mu b<br />
(8.41)<br />
Ocálculo <strong>de</strong> D Poste éuma fórmula fecha<strong>da</strong> que advém <strong>do</strong> mo<strong>de</strong>lo pin-hole <strong>da</strong><br />
câmara; é utiliza<strong>do</strong> oparâmetro intrínseco d <strong>da</strong> câmara (<strong>de</strong>fini<strong>do</strong> na secção<br />
4.2.1, página 71) para calcular adistância ao alvo apartir <strong>de</strong> uma diferença <strong>de</strong><br />
pixeis <strong>do</strong>s <strong>do</strong>is centros <strong>da</strong>s manchas <strong>de</strong> cor <strong>do</strong> meio e<strong>de</strong> baixo. Os centros <strong>da</strong>s<br />
machas <strong>de</strong> cor são afonte segura <strong>de</strong> informação relativa aeste processamento<br />
pois não só têm resolução sub-pixel (média <strong>de</strong> muitos pixeis) como são<br />
relativamente estáveis face auma classificação <strong>de</strong> cor rui<strong>do</strong>sa. Autilização <strong>da</strong><br />
diferença entre os 2centros <strong>de</strong> cor não só fornece uma variância menor como<br />
faz este cálculo fique in<strong>de</strong>pen<strong>de</strong>nte <strong>do</strong> ângulo <strong>da</strong> câmara que po<strong>de</strong> ser falsea<strong>do</strong><br />
por irregulari<strong>da</strong><strong>de</strong>s no pavimento on<strong>de</strong> o robot se movimenta.<br />
8.6.4 Análise <strong>de</strong> Resulta<strong>do</strong>s<br />
Os resulta<strong>do</strong>s <strong>do</strong>s testes realiza<strong>do</strong>s são mostra<strong>do</strong>s nas figuras 8.58, 8.59 e8.60.<br />
Estes resulta<strong>do</strong>s permitem estimar as covariâncias associa<strong>da</strong>s às medi<strong>da</strong>s<br />
relativas às posições <strong>do</strong>s postes.<br />
Na figura 8.61 po<strong>de</strong>-se ver acolocação <strong>da</strong>s medi<strong>da</strong>s efectua<strong>da</strong>s no campo <strong>de</strong><br />
ensaios.<br />
162<br />
d min<br />
hmb hm hb
Desvio Padrao (m)<br />
0.16<br />
0.14<br />
0.12<br />
0.1<br />
0.08<br />
0.06<br />
0.04<br />
0.02<br />
2.5 3 3.5 4 4.5 5 5.5 6<br />
Distancia ao poste (m)<br />
Figura 8.58 Dispersão na medi<strong>da</strong> <strong>de</strong> Postes em forma <strong>de</strong> gráfico<br />
Desvio Padrao (º)<br />
Figura 8.59 Diagrama <strong>da</strong> dispersão <strong>do</strong> ângulo na medi<strong>da</strong> <strong>de</strong> postes<br />
Desvio Padrao (m)<br />
0.25<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
4<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
4<br />
2<br />
y w (m)<br />
2<br />
y w (m)<br />
0<br />
-2<br />
x 10-3<br />
1.8<br />
Figura 8.60 Diagrama <strong>da</strong> dispersão <strong>da</strong> distância na medi<strong>da</strong> <strong>de</strong> postes<br />
0<br />
Desvio Padrao (º)<br />
1.6<br />
1.4<br />
1.2<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
Medi<strong>da</strong> <strong>de</strong> Postes - angulo ao poste<br />
0<br />
-2<br />
0<br />
Vali<strong>da</strong>ção Experimental<br />
0.2<br />
-30 -20 -10 0 10 20 30 40<br />
Angulo ao poste (º)<br />
2<br />
2<br />
x w (m)<br />
Medi<strong>da</strong> <strong>de</strong> Postes - distancia ao poste<br />
x w (m)<br />
4<br />
4<br />
6<br />
6<br />
163
Vali<strong>da</strong>ção Experimental<br />
Figura 8.61 Medi<strong>da</strong>s <strong>de</strong> postes representa<strong>da</strong>s no campo<br />
Tabela 8.4 Resumo <strong>da</strong>s experiências relativas à medição <strong>de</strong> Postes<br />
Distância ao<br />
Poste (m)<br />
164<br />
y w (m)<br />
Ângulo ao<br />
Poste (º)<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
-6 -5 -4 -3 -2<br />
x (m)<br />
w<br />
-1 0 1<br />
Erro médio na<br />
distância (m)<br />
Erro médio no<br />
ângulo (º)<br />
Desvio<br />
Padrão<br />
Distância (m)<br />
Desvio Padrão<br />
Ângulo (º)<br />
2.67 -15.6 0.06 1.0 0.03 0.0<br />
4.64 31.5 0.13 5.2 0.09 0.0<br />
4.63 31.5 0.12 5.2 0.10 0.0<br />
4.64 31.5 0.13 5.2 0.10 0.0<br />
4.63 31.5 0.12 5.2 0.10 0.0<br />
4.63 31.5 0.12 5.2 0.10 0.0<br />
4.66 9.7 0.15 -1.5 0.08 0.0<br />
2.95 -26.0 0.16 0.5 0.09 0.0<br />
2.95 -26.0 0.16 0.5 0.08 0.0<br />
4.10 -20.6 0.06 1.1 0.10 0.0<br />
4.68 -20.4 0.25 -4.0 0.12 0.0<br />
4.38 25.8 0.34 4.0 0.07 0.0<br />
3.96 -20.8 0.24 -1.1 0.16 0.1<br />
5.87 25.6 0.28 7.1 0.15 0.1<br />
2.87 31.6 0.08 5.0 0.06 0.0<br />
2.98 -25.7 0.18 0.8 0.11 0.1<br />
3.74 -26.4 -0.3 -4.6 0.23 0.1<br />
5.25 -20.5 0.12 -3.5 0.10 0.1<br />
3.91 27.4 0.19 7.7 0.10 0.1
Distância ao<br />
Poste (m)<br />
Ângulo ao<br />
Poste (º)<br />
Erro médio na<br />
distância (m)<br />
Erro médio no<br />
ângulo (º)<br />
Vali<strong>da</strong>ção Experimental<br />
Desvio<br />
Padrão<br />
Distância (m)<br />
Desvio Padrão<br />
Ângulo (º)<br />
3.98 29.0 0.15 5.3 0.07 0.1<br />
2.92 -21.2 0.12 -2.7 0.03 0.0<br />
2.68 -15.8 0.07 0.8 0.04 0.1<br />
5.02 -21.7 0.09 -7.2 0.10 0.0<br />
5.01 -21.7 0.08 -7.2 0.10 0.0<br />
5.19 19.8 0.26 -0.6 0.11 0.1<br />
5.20 19.8 0.27 -0.5 0.11 0.1<br />
5.15 15.1 0.22 0.6 0.13 0.1<br />
Pela análise <strong>do</strong>s <strong>da</strong><strong>do</strong>s anteriores po<strong>de</strong>-se verificar que as leituras <strong>do</strong> ângulo ao<br />
poste são consistentes ecom valor absoluto <strong>do</strong> erro médio baixo. Amedi<strong>da</strong> <strong>da</strong><br />
distância é, porém, repetivelmente erra<strong>da</strong>, oque se traduz num erro médio por<br />
vezes apreciável (mais <strong>de</strong> 30cm). Desta forma optou-se por valorizar mais a<br />
medi<strong>da</strong> <strong>do</strong> ângulo ao poste e menos a medi<strong>da</strong> <strong>da</strong> distância ao poste.<br />
Os valores numéricos são:<br />
=0.3m<br />
Posted<br />
=7º =0.12rad<br />
Postea<br />
8.7 Ho<strong>do</strong>metria<br />
(8.42)<br />
Acalibração <strong>da</strong> Ho<strong>do</strong>metria foi feita em 2passos. Num primeiro conjunto <strong>de</strong> 5<br />
experiências rectilíneas <strong>de</strong> 4metros, obteve-se erros <strong>de</strong> localização inferiores a2<br />
cm, resultan<strong>do</strong> numa precisão <strong>de</strong> 5mm por ca<strong>da</strong> metro. Num segun<strong>do</strong> conjunto<br />
<strong>de</strong> 5missões <strong>de</strong> 1uma volta completa sobre si próprio (360º), obteve-se um erro<br />
angular inferior a 3º, significan<strong>do</strong> uma precisão superior a 0.008 grau<br />
sexagesimal por ca<strong>da</strong> grau sexagesimal.<br />
165
Vali<strong>da</strong>ção Experimental<br />
8.8 Ciclo <strong>de</strong> Fusão <strong>de</strong> Informação<br />
Osistema dispõe <strong>de</strong> vários tipos <strong>de</strong> medi<strong>da</strong>s. Aten<strong>de</strong>n<strong>do</strong> ao facto que nem to<strong>da</strong>s<br />
as medi<strong>da</strong>s estão sempre disponíveis, asequência <strong>de</strong> operações necessárias para<br />
o EKF po<strong>de</strong> ser resumi<strong>da</strong> <strong>da</strong> seguinte forma:<br />
1 Obter estimativas iniciais X 0 e P 0 ;<br />
2 Executar em ciclo:<br />
2.1 Executar a previsão <strong>do</strong> EKF propagan<strong>do</strong> X k e Pk ;<br />
2.2 Se existir uma medi<strong>da</strong> BC ese amedi<strong>da</strong> for verosímel então actualizar<br />
essa medi<strong>da</strong>;<br />
2.3 Se existir uma medi<strong>da</strong> Line ese amedi<strong>da</strong> for verosímel então actualizar<br />
essa medi<strong>da</strong>;<br />
2.4 Se existir uma medi<strong>da</strong> Poste e se a medi<strong>da</strong> for verosímel então<br />
actualizar essa medi<strong>da</strong>.<br />
8.9 Simulação <strong>da</strong> Auto-Localização<br />
Para avaliar o funcionamento global <strong>do</strong> sistema foi realiza<strong>da</strong> uma série <strong>de</strong><br />
simulações. Estas simulações utilizam valores realísticos para procurar avaliar a<br />
viabili<strong>da</strong><strong>de</strong> <strong>do</strong> méto<strong>do</strong> proposto. São mo<strong>de</strong>liza<strong>do</strong>s <strong>de</strong> uma forma realística to<strong>do</strong>s<br />
os parâmetros provenientes <strong>da</strong> calibração <strong>do</strong> robot e<strong>da</strong>s mo<strong>de</strong>lizações <strong>do</strong>s erros<br />
associa<strong>do</strong>s a ca<strong>da</strong> tipo <strong>de</strong> medi<strong>da</strong>.<br />
-0.2 0 0.2<br />
-0.2 0 0.2<br />
Figura 8.62 Detalhe <strong>do</strong>s robots real e estima<strong>do</strong>, representa<strong>do</strong>s em x=0,<br />
y=0, =0<br />
Nas simulações apresenta<strong>da</strong>s <strong>de</strong> segui<strong>da</strong> orobot real érepresenta<strong>do</strong> avermelho<br />
numa seta larga. Orobot simula<strong>do</strong> aparece como uma seta azul mais simples.<br />
Em torno <strong>do</strong> robot simula<strong>do</strong> está uma aproximação <strong>da</strong> elipse <strong>de</strong> covariância <strong>de</strong><br />
166<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
-0.1<br />
-0.2<br />
Robot Real<br />
0.3<br />
0.2<br />
0.1<br />
0<br />
-0.1<br />
-0.2<br />
Robot Estima<strong>do</strong>
Vali<strong>da</strong>ção Experimental<br />
tal forma que aprobabili<strong>da</strong><strong>de</strong> <strong>do</strong> robot estar <strong>de</strong>ntro <strong>da</strong> região assinala<strong>da</strong> é<strong>de</strong><br />
0.5. Como se po<strong>de</strong> confirmar na figura 8.62, ocentro <strong>do</strong>s robots está no centro<br />
<strong>da</strong>s setas para <strong>da</strong>r cobertura ànoção <strong>de</strong> que quan<strong>do</strong> orobot se move sobre ele<br />
próprio, as seta não se mexem também.<br />
Na figura 8.63 está otraça<strong>do</strong> <strong>da</strong>s referências <strong>da</strong><strong>da</strong>s ao robot para as simulações<br />
seguintes. Nestas simulações po<strong>de</strong>-se apreciar acontribuição <strong>de</strong> ca<strong>da</strong> estratégia<br />
<strong>de</strong> localização. Sempre que existe alguma informação <strong>de</strong> localização, tal facto é<br />
assinala<strong>do</strong> ao la<strong>do</strong> <strong>do</strong> robot estima<strong>do</strong>. Sempre que éforneci<strong>da</strong> informação <strong>de</strong><br />
localização proveniente <strong>do</strong> primeiro poste, assinala<strong>do</strong> com uma estrela <strong>de</strong> 5<br />
pontas, aparece um pequeno marca<strong>do</strong>r ao la<strong>do</strong> <strong>do</strong> robot com essa forma. O<br />
mesmo se passa para as outras estratégias <strong>de</strong> localização, tal como se po<strong>de</strong> ver na<br />
legen<strong>da</strong> <strong>de</strong> ca<strong>da</strong> figura. Osegun<strong>do</strong> poste émarca<strong>do</strong> com uma estrela <strong>de</strong> 6pontas<br />
ealocalização proveniente <strong>da</strong> linha horizontal com um triângulo apontan<strong>do</strong><br />
para cima. Para a linha vertical éutiliza<strong>do</strong> um triângulo que aponta para a<br />
direita. Quan<strong>do</strong> existe informação BC, isso éassinala<strong>do</strong> através <strong>de</strong> um marca<strong>do</strong>r<br />
em forma <strong>de</strong> × .<br />
Na figura 8.64 <strong>da</strong><strong>do</strong> que não existem <strong>da</strong><strong>do</strong>s <strong>de</strong> localização, po<strong>de</strong>-se verificar<br />
como a estimativa não se aproxima <strong>do</strong> robot real.<br />
Nas figuras 8.68 e8.69, ainformação <strong>de</strong> localização que épossível recolher <strong>da</strong>s<br />
linhas não ésuficiente para fazer convergir asimulação. Autilização <strong>de</strong> to<strong>do</strong>s os<br />
elementos <strong>de</strong> localização <strong>de</strong> forma alterna<strong>da</strong> mostra<strong>da</strong> na figura 8.71 assinala no<br />
entanto que esta informação éváli<strong>da</strong> <strong>de</strong>s<strong>de</strong> que orobot simula<strong>do</strong> esteja próximo<br />
<strong>do</strong> robot real.<br />
167
Vali<strong>da</strong>ção Experimental<br />
Figura 8.63 Traça<strong>do</strong>s <strong>de</strong> vr e r<br />
Figura 8.64 EKF sem nenhuma informação <strong>de</strong> localização<br />
168<br />
v r (m/s)<br />
r (rad/s)<br />
y w (m)<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
0 5 10 15 20 25<br />
Tempo (s)<br />
1<br />
0.5<br />
0<br />
-0.5<br />
0 5 10 15 20 25<br />
Tempo (s)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5<br />
Vali<strong>da</strong>ção Experimental<br />
Figura 8.65 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong> poste 1 (assinala<strong>do</strong> por uma estrela <strong>de</strong> 5<br />
pontas)<br />
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5<br />
Figura 8.66 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong> poste 2 (assinala<strong>do</strong> por uma estrela <strong>de</strong> 6<br />
pontas)<br />
169
Vali<strong>da</strong>ção Experimental<br />
Figura 8.67 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>do</strong>s postes 1 e 2<br />
Figura 8.68 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> linha horizontal<br />
170<br />
y w (m)<br />
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5<br />
Figura 8.69 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> linha vertical<br />
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5<br />
Figura 8.70 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>de</strong> um CBU<br />
Vali<strong>da</strong>ção Experimental<br />
171
Vali<strong>da</strong>ção Experimental<br />
Figura 8.71 Simulação <strong>do</strong> robot localizan<strong>do</strong>-se através <strong>da</strong> combinação <strong>de</strong>: 2 postes, 2 linhas e CBU<br />
8.10 Testes Dinâmicos<br />
Neste conjunto <strong>de</strong> testes preten<strong>de</strong>-se mostrar ofuncionamento <strong>da</strong>s estratégias <strong>de</strong><br />
localização locais. Os diagramas mostra<strong>do</strong>s são <strong>de</strong>senha<strong>do</strong>s off-line, apartir <strong>de</strong><br />
informação guar<strong>da</strong><strong>da</strong> durante amissão. Os testes dinâmicos <strong>de</strong>correm numa<br />
parte <strong>do</strong> campo <strong>do</strong> futebol robótico, utiliza<strong>do</strong> como ambiente estrutura<strong>do</strong> para<br />
as experiências a realizar.<br />
O<strong>de</strong>senho <strong>do</strong>s robots étal como mostra<strong>do</strong> na figura 8.62, pág. 166. As medi<strong>da</strong>s<br />
são, em geral, representa<strong>da</strong>s acor ver<strong>de</strong>. Amedi<strong>da</strong> BC éum robot aver<strong>de</strong> (ver<br />
figura 8.42, pág. 147). Amedi<strong>da</strong> <strong>de</strong> linhas apresenta um “T” aver<strong>de</strong> (figura<br />
8.51, pág. 154) e alinha aque foi afecta<strong>da</strong> amedi<strong>da</strong> éassinala<strong>da</strong> com um<br />
traça<strong>do</strong> preto largo. Algumas medi<strong>da</strong>s <strong>de</strong> linhas não são afecta<strong>da</strong>s a linha alguma<br />
e essas medi<strong>da</strong>s são representa<strong>da</strong>s com um “T” a linha interrompi<strong>da</strong> <strong>de</strong> cor<br />
cinzenta. Aposição <strong>do</strong>s postes ésempre assinala<strong>da</strong> no campo atraço fino. A<br />
medi<strong>da</strong> <strong>de</strong> postes postes azuis érepresenta<strong>da</strong> com um hexagrama eamedi<strong>da</strong> <strong>de</strong><br />
postes amarelos com um pentagrama eoposte correspon<strong>de</strong>nte éassinala<strong>do</strong> a<br />
preto com linha carrega<strong>da</strong>.<br />
Nos diagramas <strong>da</strong>s figuras seguintes representa-se acovariâncias <strong>do</strong> robot no<br />
esta<strong>do</strong> inicial efinal. Atrajectória <strong>do</strong> robot real aparece atraço vermelho claro<br />
172<br />
y w (m)<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3 -2 -1 0 1<br />
x (m)<br />
w<br />
2 3 4 5
mas largo e a trajectória <strong>do</strong> robot estima<strong>do</strong> a traço largo, <strong>de</strong> cor ciano.<br />
8.10.1 Localização através <strong>da</strong> medi<strong>da</strong> <strong>de</strong> Linhas<br />
Vali<strong>da</strong>ção Experimental<br />
Tal como referi<strong>do</strong> anteriormente, as correcções que se po<strong>de</strong>m efectuar com este<br />
tipo <strong>de</strong> medi<strong>da</strong>s são limita<strong>da</strong>s. Aquanti<strong>da</strong><strong>de</strong> <strong>de</strong> informação para as correcções<br />
melhora muito se forem avista<strong>da</strong>s num curto espaço <strong>de</strong> tempo linhas <strong>de</strong> direcção<br />
diferente, <strong>de</strong> preferência linhas perpendiculares.<br />
y w (m)<br />
-1<br />
-2<br />
-3<br />
3<br />
2<br />
1<br />
0<br />
0
Vali<strong>da</strong>ção Experimental<br />
8.10.2 Localização através <strong>da</strong> medi<strong>da</strong> <strong>de</strong> Postes<br />
y w (m)<br />
y w (m)<br />
y w (m)<br />
174<br />
-1<br />
-2<br />
-3<br />
3<br />
2<br />
1<br />
0<br />
0
Vali<strong>da</strong>ção Experimental<br />
Alocalização por medi<strong>da</strong> <strong>de</strong> postes étambém local. Devi<strong>do</strong> àmo<strong>de</strong>lização feita<br />
<strong>da</strong> medi<strong>da</strong>, amedi<strong>da</strong> apresenta um conteú<strong>do</strong> importante apenas na correcção <strong>da</strong><br />
direcção em que é visto o posto (sen<strong>do</strong> que a distância ao poste não se<br />
<strong>de</strong>monstrou muito exacta).<br />
Na figura 8.73 po<strong>de</strong>-se como o robot posto aro<strong>da</strong>r num circulo observa os<br />
diferentes postes alterna<strong>da</strong>mente. As correcções angulares vão sen<strong>do</strong> feitas, a<br />
estimativa vai convergin<strong>do</strong> lentamente eao fim <strong>de</strong> cerca <strong>de</strong> 48 segun<strong>do</strong>s, oerro<br />
<strong>de</strong> localização é já muito pequeno e a covariância é baixa.<br />
8.10.3 Localização completa<br />
Amedi<strong>da</strong> por código <strong>de</strong> barras fornece aúnica estimativa global <strong>da</strong> posição. A<br />
experiência relata<strong>da</strong> pelo diagrama <strong>da</strong> figura 8.74 relata uma situação em que a<br />
estimativa inicial <strong>do</strong> robot está largamente divergente face à sua posição real.<br />
Acompanhan<strong>do</strong> a evolução <strong>da</strong> referi<strong>da</strong> figura, veja-se como o robot (real)<br />
visualiza alinha <strong>de</strong> área <strong>da</strong> baliza azul e<strong>de</strong>vi<strong>do</strong> àsua erra<strong>da</strong> estimativa pensa ter<br />
observa<strong>do</strong> alinha <strong>de</strong> meio campo. Esta linha estaria no entanto auma distância<br />
diferente e portanto amedi<strong>da</strong> éinverosímel e consequentemente não é feita<br />
correcção alguma. As oscilações na trajectória são causa<strong>da</strong>s pelas correcções<br />
relativas ater si<strong>do</strong> visto oposte amarelo <strong>da</strong> direita <strong>do</strong> campo, oque não chega<br />
para localizar orobot. Posteriormente éavista<strong>da</strong> alinha lateral direita <strong>do</strong> campo<br />
e são feitas as correcções possíveis e a estimativa converge em y, manten<strong>do</strong><br />
eleva<strong>do</strong> erro em x. Dos 8segun<strong>do</strong>s em diante, orobot real avista alinha central e<br />
aestimativa sofre correcções como se estivesse aser avista<strong>da</strong> alinha final <strong>da</strong><br />
baliza amarela. Não existe portanto convergência e esta situação é grave no<br />
senti<strong>do</strong> em que acovariância <strong>da</strong> localização diminui quan<strong>do</strong> afinal ofiltro está<br />
divergente. Aos 16 segun<strong>do</strong>s <strong>de</strong> missão eaté aos 24, há uma série <strong>de</strong> medi<strong>da</strong>s <strong>de</strong><br />
linhas que são classifica<strong>da</strong>s <strong>de</strong> inverosíméis euma série <strong>de</strong> medi<strong>da</strong>s relativas ao<br />
poste amarelo <strong>da</strong> esquer<strong>da</strong> (também inverosíméis). Na sequência seguinte antes<br />
<strong>do</strong>s 32 segun<strong>do</strong>s <strong>de</strong> missão, éavista<strong>do</strong> ocódigo <strong>de</strong> barras <strong>de</strong> janela unívoca ea<br />
estimativa converge rapi<strong>da</strong>mente sobre amedi<strong>da</strong> BC, muito perto <strong>do</strong> robot real.<br />
Àmedi<strong>da</strong> que orobot continua aro<strong>da</strong>r, <strong>de</strong>ixa <strong>de</strong> ver ocódigo <strong>de</strong> barras epassa a<br />
ver oposte azul esquer<strong>do</strong>, coincidin<strong>do</strong> até as suas medi<strong>da</strong>s com aposição real.<br />
São ain<strong>da</strong> feitas algumas medi<strong>da</strong>s relativas àlinha <strong>da</strong> área azul. No perío<strong>do</strong> até<br />
aos 40 segun<strong>do</strong>s são feitas uma série <strong>de</strong> medi<strong>da</strong>s <strong>de</strong> linhas que causam alguma<br />
instabili<strong>da</strong><strong>de</strong> na estimativa uma vez que há alguma “confusão” relativamente a<br />
estar aser avista<strong>da</strong> a linha lateral <strong>da</strong> área ou alinha lateral <strong>do</strong> campo –as<br />
medi<strong>da</strong>s relativas ao poste azul direito fornecem pouca informação <strong>de</strong> distância<br />
eassim são fraco contributo para aconvergência <strong>do</strong> filtro. Na sequência final,<br />
<strong>do</strong>s 40 segun<strong>do</strong>s em diante há uma série <strong>de</strong> medi<strong>da</strong>s <strong>de</strong> eleva<strong>da</strong> quali<strong>da</strong><strong>de</strong> que<br />
fazem osistema convergir com pequeno erro. Neste espaço <strong>de</strong> tempo existe a<br />
medi<strong>da</strong> <strong>do</strong> poste amarelo direito que faz pequenas correcções na direcção <strong>do</strong><br />
robot. Existem ain<strong>da</strong> medi<strong>da</strong>s relativas àlinha lateral direita eàlinha <strong>de</strong> meio<br />
175
Vali<strong>da</strong>ção Experimental<br />
campo – uma vez que estas linhas são perpendiculares, temos uma eleva<strong>da</strong><br />
quanti<strong>da</strong><strong>de</strong> <strong>de</strong> informação <strong>de</strong> localização o que contribui para a pequena<br />
covariância que oesta<strong>do</strong> <strong>do</strong> sistema apresenta no instante final <strong>da</strong> sequência<br />
apresenta<strong>da</strong>.<br />
y w (m)<br />
y w (m)<br />
y w (m)<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
3<br />
2<br />
1<br />
0<br />
-1<br />
-2<br />
-3<br />
0
Tabela 8.5 Valores finais <strong>da</strong> sequência <strong>da</strong> figura 8.74<br />
8.11 Conclusões<br />
x (m) y (m) rad º <br />
VHC -1.85 -1.61 -0.04 -2.4<br />
EKF -1.82 -1.66 -0.01 -0.8<br />
Erro 0.03 -0.06 0.03 1.6<br />
Vali<strong>da</strong>ção Experimental<br />
Este capítulo reúne o trabalho experimental realiza<strong>do</strong> na área <strong>da</strong> localização.<br />
Foi trabalha<strong>da</strong> a calibração <strong>da</strong> câmara para localização externa e foram<br />
caracteriza<strong>do</strong>s os <strong>da</strong><strong>do</strong>s forneci<strong>do</strong>s por este sistema.<br />
De segui<strong>da</strong> foi apresenta<strong>da</strong> a calibração <strong>da</strong> câmara embarca<strong>da</strong> no robot.<br />
Vários méto<strong>do</strong>s <strong>de</strong> auto-localização foram abor<strong>da</strong><strong>do</strong>s <strong>de</strong> segui<strong>da</strong>: por<br />
reconhecimento <strong>de</strong> linhas <strong>do</strong> chão; por reconhecimento <strong>de</strong> postes epor Códigos<br />
<strong>de</strong> Barras Unívocos (BC). A localização por BC éum méto<strong>do</strong> inova<strong>do</strong>r que<br />
permite a localização x,y, <strong>do</strong> robot através <strong>do</strong> processamento <strong>de</strong> visão<br />
normal que o robot partilha com o resto <strong>do</strong>s subsistemas <strong>do</strong> robot.<br />
De segui<strong>da</strong> foi apresenta<strong>do</strong> oEKF como elemento <strong>de</strong> fusão <strong>de</strong> informação que<br />
reúne to<strong>do</strong>s os <strong>da</strong><strong>do</strong>s acessíveis num <strong>da</strong><strong>do</strong> momento e <strong>de</strong>volve uma estimativa <strong>da</strong><br />
localização <strong>do</strong> sistema.<br />
Finalmente foram mostra<strong>da</strong>s simulações que <strong>de</strong>monstram as vantagens e as<br />
limitações inerentes aos méto<strong>do</strong>s apresenta<strong>do</strong>s.<br />
Aimplementação <strong>da</strong> medi<strong>da</strong> <strong>de</strong> linhas foi <strong>de</strong>scrita eoerro <strong>da</strong> medi<strong>da</strong> analisa<strong>do</strong>.<br />
Esta medi<strong>da</strong> parece interessante para aactual configuração <strong>da</strong> câmara no robot<br />
que permite ver linhas a uma distância não muito curta. Seria no entanto<br />
necessário melhorar a implementação <strong>da</strong> medi<strong>da</strong> que neste momento não é<br />
suficientemente robusta a ocultações parciais. Para o ambiente <strong>do</strong> futebol<br />
robótico, este tipo <strong>de</strong> medi<strong>da</strong>s parece interessante e outras aplicações po<strong>de</strong>m<br />
tirar parti<strong>do</strong> <strong>da</strong> eleva<strong>da</strong> configurabili<strong>da</strong><strong>de</strong> <strong>do</strong> sistema eassim melhorar amedi<strong>da</strong><br />
àcusta <strong>de</strong> maior peso computacional. Seria assim possível <strong>de</strong>tectar mais linhas<br />
que actualmente não são <strong>de</strong>tecta<strong>da</strong>s etambém fazer <strong>de</strong>scer aprobabili<strong>da</strong><strong>de</strong> <strong>de</strong><br />
<strong>de</strong>tecção <strong>de</strong> linhas em situações em que elas não existem (falsos positivos).<br />
177
Vali<strong>da</strong>ção Experimental<br />
Relativamente àlocalização por postes, amedi<strong>da</strong> consegui<strong>da</strong> éfiável no que diz<br />
respeito àdirecção <strong>do</strong> poste mas não tanto relativamente àsua distância. Foi<br />
realiza<strong>da</strong> uma mo<strong>de</strong>lização matemática <strong>da</strong> medi<strong>da</strong> a<strong>de</strong>qua<strong>da</strong> à situação<br />
i<strong>de</strong>ntifica<strong>da</strong>. Mesmo com estas limitações, a localização é consegui<strong>da</strong>.<br />
Relativamente ao ambiente <strong>do</strong> futebol robótico, um sistema que permitisse ver<br />
mais vezes postes seria mais interessante que oactual em que épossível orobot<br />
não veja postes durante uma porção eleva<strong>da</strong> <strong>da</strong> sua hipotética missão. Noutras<br />
aplicações os postes parecem um conceito interessante por exemplo para indicar<br />
direcções que o robot <strong>de</strong>ve seguir.<br />
Relativamente àmedi<strong>da</strong> por BCs foi feito oestu<strong>do</strong> <strong>da</strong> medi<strong>da</strong> eela apresenta<br />
excelente quali<strong>da</strong><strong>de</strong> para aplicações fora <strong>do</strong> ambiente <strong>do</strong> futebol robótico (uma<br />
vez que as actuais regras não permitem este tipo <strong>de</strong> medi<strong>da</strong>). Aimplementação<br />
consegui<strong>da</strong> apresenta alguma tolerância à ocultação parcial manten<strong>do</strong> baixo<br />
baixo custo computacional euma localização completa érealiza<strong>da</strong> aca<strong>da</strong> 40 ms<br />
sem <strong>de</strong>pen<strong>de</strong>r <strong>de</strong> <strong>da</strong><strong>do</strong>s anteriores. Está prevista apossibili<strong>da</strong><strong>de</strong> futura <strong>de</strong> haver<br />
uma série <strong>de</strong> trechos <strong>de</strong> sequências unívocas espalha<strong>da</strong> pelo mapa conheci<strong>do</strong> <strong>do</strong><br />
robot. Os códigos <strong>de</strong> barras utiliza<strong>do</strong>s utilizam visão apreto ebranco para maior<br />
robustez <strong>de</strong> localização.<br />
Éadmiti<strong>do</strong> que em to<strong>da</strong>s estas medi<strong>da</strong>s (linhas, postes eBCs) épossível mas<br />
muito pouco provável existir ruí<strong>do</strong> catastrófico, que po<strong>de</strong> inclusivamente ser<br />
in<strong>de</strong>tectável como tal. Algum grau <strong>de</strong> tolerância ao ocultamento parcial foi, no<br />
entanto, consegui<strong>do</strong> mas po<strong>de</strong> ser melhora<strong>do</strong>.<br />
Alocalização em ambiente estrutura<strong>do</strong> éconsegui<strong>da</strong> com recurso ao EKF para<br />
fusão <strong>de</strong> ho<strong>do</strong>metria, <strong>de</strong> reconhecimento <strong>de</strong> linhas, <strong>de</strong> postes e<strong>de</strong> BCs. Tal filtro<br />
não apresenta garantias <strong>de</strong> convergência mas esta verifica-se, na prática.<br />
Oerro <strong>de</strong> localização no final <strong>da</strong> sequência experimental mais completa é<strong>de</strong><br />
cerca <strong>de</strong> 10 cm e2º, num mapa <strong>de</strong> cerca <strong>de</strong> 5mpor 5m, oque constitui um<br />
muito bom resulta<strong>do</strong> para o cenário experimental analisa<strong>do</strong>.<br />
178
Capítulo 9<br />
Conclusões<br />
Esta dissertação abor<strong>da</strong> o projecto <strong>de</strong> sistemas robóticos. A complexi<strong>da</strong><strong>de</strong> e<br />
multi-disciplinari<strong>da</strong><strong>de</strong> <strong>de</strong>ste tipo <strong>de</strong> projectos levam ànecessi<strong>da</strong><strong>de</strong> <strong>de</strong> especial<br />
cui<strong>da</strong><strong>do</strong> na sua execução. Foram discuti<strong>da</strong>s escolhas <strong>de</strong> projecto e <strong>de</strong><br />
implementação para diversas questões que vão <strong>de</strong>s<strong>de</strong> aforma <strong>de</strong> locomoção <strong>de</strong><br />
um robot até ao seu sistema <strong>de</strong> <strong>de</strong>cisão aum eleva<strong>do</strong> nível <strong>de</strong> abstracção. Foi<br />
também menciona<strong>da</strong> afilosofia que oprojecto <strong>de</strong>ve manter e foi cita<strong>do</strong> um<br />
percurso típico <strong>de</strong> projecto <strong>de</strong>ste tipo <strong>de</strong> sistemas. A perspectiva mostra<strong>da</strong><br />
reveste-se <strong>de</strong> importância pela sua abrangência e aplicabili<strong>da</strong><strong>de</strong> prática.<br />
Aautonomia em robótica, associa<strong>da</strong> com amobili<strong>da</strong><strong>de</strong>, conduz ànecessi<strong>da</strong><strong>de</strong> <strong>de</strong><br />
localização. Otema <strong>da</strong> localização robótica foi discuti<strong>do</strong> eforam caracteriza<strong>da</strong>s<br />
diversas técnicas frequentemente utiliza<strong>da</strong>s. Foram cita<strong>do</strong>s trabalhos relevantes<br />
na área e foi discuti<strong>da</strong> a respectiva aplicabili<strong>da</strong><strong>de</strong>.<br />
Apresentou-se a formalização relativa ao conceito inova<strong>do</strong>r <strong>de</strong> codifica<strong>do</strong>r <strong>de</strong><br />
janela <strong>de</strong>slizante ecorrespon<strong>de</strong>nte sequência constituí<strong>da</strong> por janelas unívocas. Trata-se<br />
<strong>de</strong> uma extensão <strong>do</strong>s conceitos relativos acodifica<strong>do</strong>res eacódigos <strong>de</strong> barras.<br />
Exemplos ilustrativos foram <strong>da</strong><strong>do</strong>s para mostrar as aplicações aque este conceito<br />
dá lugar.<br />
Os <strong>do</strong>is mais recentes projectos robóticos em que autor esteve envolvi<strong>do</strong> são<br />
apresenta<strong>do</strong>s ediscuti<strong>do</strong>s na perspectiva que foi advoga<strong>da</strong> anteriormente. São<br />
179
Conclusões<br />
robots futebolistas para a liga F180 e F2000 <strong>do</strong> RoboCup. As <strong>de</strong>cisões <strong>de</strong><br />
projecto são discuti<strong>da</strong>s e justifica<strong>da</strong>s. O trabalho experimental utiliza a<br />
plataforma <strong>de</strong>stina<strong>da</strong> à liga F2000.<br />
Os aspectos mais relevantes relativos à aplicação prática <strong>de</strong>senvolvi<strong>da</strong> são:<br />
180<br />
● Construção ecaracterização <strong>de</strong> um sistema <strong>de</strong> localização externo (VHC),<br />
<strong>de</strong> eleva<strong>da</strong> precisão – serve <strong>de</strong> controlo para o resto <strong>da</strong> experimentação;<br />
● Implementação e caracterização <strong>de</strong> um sistema <strong>de</strong> reconhecimento <strong>de</strong><br />
linhas rectas em visão a cores;<br />
● Implementação e caracterização <strong>de</strong> um sistema <strong>de</strong> reconhecimento <strong>de</strong><br />
postes colori<strong>do</strong>s para navegação visual;<br />
● Implementação ecaracterização <strong>de</strong> um sistema <strong>de</strong> localização basea<strong>do</strong> em<br />
código <strong>de</strong> barras. Este sistema utiliza oconceito anteriormente formaliza<strong>do</strong><br />
<strong>do</strong> codifica<strong>do</strong>r <strong>de</strong> janela <strong>de</strong>slizante. A localização consegui<strong>da</strong> é global<br />
x , y , e é unicamente basea<strong>da</strong> em visão;<br />
● Projecto, simulação eimplementação <strong>de</strong> um Filtro <strong>de</strong> Kalman Extendi<strong>do</strong><br />
(FKE) para fusão sensorial <strong>do</strong>s <strong>da</strong><strong>do</strong>s disponíveis. A convergência <strong>de</strong>ste tipo<br />
<strong>de</strong> filtros não éassegura<strong>da</strong>. As limitações inerentes aca<strong>da</strong> tipo <strong>de</strong> medi<strong>da</strong><br />
foi referi<strong>da</strong> eforam confirma<strong>do</strong>s os benefícios <strong>da</strong> utilização <strong>de</strong> vários tipos<br />
<strong>de</strong> medi<strong>da</strong> para a convergência <strong>do</strong> filtro. Foi <strong>de</strong>monstra<strong>do</strong><br />
experimentalmente que, em situação realista eutilizan<strong>do</strong> to<strong>da</strong>s as medi<strong>da</strong>s<br />
disponíveis, a convergência se verifica. A correcção <strong>de</strong> ca<strong>da</strong> medi<strong>da</strong><br />
<strong>de</strong>pen<strong>de</strong>, no entanto, <strong>de</strong> uma série <strong>de</strong> testes <strong>de</strong> verosimilhança <strong>da</strong> medi<strong>da</strong><br />
que por sua vez afectam a convergência global <strong>do</strong> filtro;<br />
● Para facilitar a localização recomen<strong>da</strong>-se:<br />
• Utilização <strong>de</strong> linhas perpendiculares – o conjunto fornece uma boa<br />
informação <strong>de</strong> localização;<br />
• Evitar linhas curvas – este caso não foi trata<strong>do</strong>;<br />
• Marcar pontos <strong>de</strong> referência importantes com postes, <strong>de</strong> preferência na<br />
periferia <strong>da</strong> zona on<strong>de</strong> o robot se movimenta – os postes dão boa<br />
informação <strong>de</strong> direcção e alguma informação <strong>de</strong> distância;<br />
• Os códigos <strong>de</strong> barras dão boa informação <strong>de</strong> localização mas precisam <strong>de</strong><br />
visibili<strong>da</strong><strong>de</strong> a<strong>de</strong>qua<strong>da</strong>;<br />
● É admiti<strong>do</strong> que em to<strong>do</strong>s os casos épossível, se bem que muito pouco<br />
provável, existir ruí<strong>do</strong> catastrófico que po<strong>de</strong> inclusivamente ser in<strong>de</strong>tectável<br />
como tal;<br />
● Demonstrou-se aviabili<strong>da</strong><strong>de</strong> prática <strong>do</strong> sistema <strong>de</strong> localização monta<strong>do</strong>,<br />
numa situação próxima <strong>da</strong> que existe na liga F2000 <strong>do</strong> futebol robótico <strong>do</strong><br />
RoboCup mas que não se restringe apenas a essa situação;
Conclusões<br />
● To<strong>do</strong>s os algoritmos <strong>de</strong> localização propostos são a<strong>de</strong>qua<strong>do</strong>s a<strong>de</strong>sempenho<br />
em Tempo Real em sistemas com po<strong>de</strong>r <strong>de</strong> cálculo limita<strong>do</strong>.<br />
De forma resumi<strong>da</strong>, po<strong>de</strong> dizer-se que este trabalho explora várias áreas <strong>da</strong><br />
robótica, apresentan<strong>do</strong> as mais importantes questões <strong>de</strong> projecto. Uma vez<br />
estabeleci<strong>da</strong> aimportância <strong>da</strong> localização em robótica, este assunto é trabalha<strong>do</strong><br />
a nível experimental, utilizan<strong>do</strong> conceitos inova<strong>do</strong>res. A experimentação<br />
realiza<strong>da</strong> resulta numa eleva<strong>da</strong> precisão <strong>de</strong> localização, inferior a0.10 mem<br />
ca<strong>da</strong> direcção einferior a2graus sexagesimais na orientação, para um mapa <strong>de</strong><br />
cerca <strong>de</strong> 5 por 5 metros.<br />
9.1 Trabalho futuro<br />
Anível <strong>do</strong>s projectos robóticos referi<strong>do</strong>s, os melhoramentos mais relevantes a<br />
nível científico são no âmbito <strong>do</strong> Sistema Robótico <strong>de</strong>stina<strong>do</strong> à Liga F2000:<br />
● Estu<strong>da</strong>r a mu<strong>da</strong>nça para um sistema omni-direccional <strong>de</strong> visão – um<br />
sistema omni-direccional <strong>de</strong> visão tornará, possivelmente, o sistema <strong>de</strong><br />
localização por visão mais robusto;<br />
● Aarquitectura <strong>do</strong> sistema tem-se revela<strong>do</strong> limitativa –aactual partição<br />
entre HAL eDEC impe<strong>de</strong> iterações <strong>de</strong> processamento adicionais sobre a<br />
imagem. Seria mais natural que a aplicação HAL passasse a reconhecer<br />
objectos e enviasse essa interpretação <strong>do</strong> mun<strong>do</strong> para a aplicação DEC.<br />
A nível <strong>do</strong> sistema <strong>de</strong> localização <strong>de</strong>senvolvi<strong>do</strong>, vários melhoramentos são<br />
possíveis:<br />
● Osistema <strong>de</strong> medi<strong>da</strong> <strong>de</strong> linhas necessita <strong>de</strong> melhoramentos que po<strong>de</strong>m ser<br />
feitos a <strong>do</strong>is níveis:<br />
• Ao nível mais imediato, po<strong>de</strong>-se estu<strong>da</strong>r o suporte para um maior<br />
número <strong>de</strong> rectas em diversas posições para retirar mais informação<br />
<strong>da</strong> imagem;<br />
• Ao nível mais profun<strong>do</strong>, énecessário um novo sistema <strong>de</strong> <strong>de</strong>tecção <strong>de</strong><br />
linhas rectas na imagem que percorra aimagem ou regiões <strong>da</strong> imagem,<br />
a ser realiza<strong>do</strong> <strong>de</strong>ntro <strong>da</strong> aplicação HAL;<br />
● Osistema <strong>de</strong> <strong>de</strong>tecção <strong>de</strong> postes <strong>de</strong>ve ser também melhora<strong>do</strong>, no entanto,<br />
alguns melhoramentos implicam que a <strong>de</strong>tecção <strong>de</strong> postes passe a ser<br />
realiza<strong>da</strong> <strong>de</strong>ntro <strong>da</strong> aplicação HAL;<br />
● A localização por códigos <strong>de</strong> barras tem gran<strong>de</strong> margem para<br />
<strong>de</strong>senvolvimento:<br />
• Estu<strong>da</strong>r suporte para códigos <strong>de</strong> barras no chão e no tecto;<br />
181
Conclusões<br />
• Estu<strong>da</strong>r ainfluência <strong>da</strong> dimensão <strong>do</strong> código <strong>de</strong> barras na quali<strong>da</strong><strong>de</strong> <strong>da</strong><br />
localização;<br />
• Avaliar a quali<strong>da</strong><strong>de</strong> <strong>da</strong> localização a distâncias mais eleva<strong>da</strong>s;<br />
• Implementar diversos trechos em diversas posições <strong>do</strong> mapa <strong>do</strong> robot;<br />
• Comparar aprecisão obti<strong>da</strong> com asituação equivalente mas com o<br />
padrão regular separa<strong>do</strong> <strong>do</strong> código unívoco;<br />
• Estu<strong>da</strong>r a implementação <strong>de</strong> localização BC multi-resolução, isto é, ter<br />
vários tamanhos <strong>de</strong> código <strong>de</strong> barras para fazer a localização;<br />
Os trabalhos <strong>de</strong>scritos nesta dissertação não se encerram com aapresentação <strong>do</strong><br />
mesmo egran<strong>de</strong> parte <strong>da</strong>s questões referi<strong>da</strong>s estão já aser prepara<strong>da</strong>s no âmbito<br />
<strong>da</strong> equipa 5dpo <strong>de</strong> futebol robótico <strong>da</strong> FEUP.<br />
182
Capítulo 10<br />
Referências Bibliográficas<br />
[1] Dev<strong>da</strong>s Shetty, Richard Kolk, "Mechatronics System Design", Published by PWS<br />
Publishing (1998) 0-534 95285-2<br />
[2] Kevin Craig, "Is Anything Really New in Mechatronics Education ?", IEEE Robotics and<br />
Automation Magazine, Vol 8, No 2, Junho 2001 12-19 (2001)<br />
[3] J. Borenstein, H. Everett, L. Feng,, "Where am I ? Systems and Methods for Mobile Robot<br />
Positioning", A. K. Peters, Ltd, Wellesley, MA, EUA (1996)<br />
http://www.eng.yale.edu/ee-labs/morse/other/intro.html<br />
[4] Paulo José Costa, "Localização em Tempo Real <strong>de</strong> Múltiplos Robots num Ambiente<br />
Dinâmico", Tese <strong>de</strong> Doutoramento, <strong>Facul<strong>da</strong><strong>de</strong></strong> <strong>de</strong> Engª Univ. Porto (1999)<br />
[5] Ton Peijnenburg , "Philips CFT RoboCup Team Description", Proceedings of the<br />
RoboCup 2003, Pádua, Italy (2003)<br />
http://ais.gmd.<strong>de</strong>/robocup/msl2003/QualificationMSL2003/tdp_philips.pdf<br />
[6] J Borenstein, "Compliant-linkage Kinematic Design for Multi-<strong>de</strong>gree-of-free<strong>do</strong>m Mobile<br />
Robots", Proceedings of the SPIE Symposium on Advances in Intelligent<br />
Systems, Mobile Robots VII, Boston, EUA, 1992 344-351 (1992)<br />
183
Referências Bibliográficas<br />
[7] David P. An<strong>de</strong>rson, "nBot Balancing Robot " http://www.geology.smu.edu/~dpa-www/robo/nbot/<br />
[8] Brian Yamauchi*, Polly Pook, and Aman<strong>da</strong> Gruber, "Bloodhound: A Semi-Autonomous<br />
Battlefield Medical Robot", 23rd - Army and Science Conference - Dezembro<br />
2002 (2002) http://www.asc2002.com/summaries/n/NP-06.pdf<br />
[9] Shigeo Hirose, "Super Mechano-System: New Perspective forVersatile Robotic System",<br />
Proceedings of ISER '00 - International Symposium On Experimental Robotics<br />
2000 - Carnegie Mellon UniversityPittsburgh, Pennsylvania, EUA (2000)<br />
http://www.ri.cmu.edu/events/iser00/papers/hiroseISER00.pdf<br />
[10] http://www.superdroidrobots.com/wheels_omni.htm<br />
[11] http://www.mrrobot.com/omni.html<br />
[12] "4cm omni-directional roller wheel" http://www.acroname.com/robotics/parts/R77-4CM-ROLLER-<br />
3.html<br />
[13] Grigoriy B. Reshko, Matthew T. Mason and Illah R. Nourbakhsh , "Rapid<br />
Prototyping of Small Robots ", Tech Report CMU-RI-TR-02-11, Robotics<br />
Institute, Carnegie Mellon University (2002)<br />
http://www.ri.cmu.edu/pub_<strong>file</strong>s/pub3/reshko_greg_2002_1/reshko_greg_2002_1.pdf<br />
[14] Prabhuram Raghunathan, Oliver Purwin, Jin Woo Lee and Rafaello D’Andrea, "The<br />
Cornell BigRed Team Foci for RoboCup 2003", Proceedings of the RoboCup<br />
2003, Pádua, Italy (2003) http://robocup.mae.cornell.edu/2003long.pdf<br />
[15] Fernan<strong>do</strong> Ribeiro, Paulo Braga, Jorge Monteiro, Ivo Moutinho, Pedro Silva e Vitor<br />
Silva, "New improvements of MINHO Team for RoboCup Middle Size League in<br />
2003", Proceedings of the RoboCup 2003, Pádua, Italy (2003)<br />
http://ais.gmd.<strong>de</strong>/robocup/msl2003/QualificationMSL2003/tdp_minho.pdf<br />
[16] Paulo Costa, Arman<strong>do</strong> Sousa, Paulo Marques, Pedro Costa, Susana Gaio e António<br />
Moreira, "5dpo Robotic Soccer Team for Year 2003", Proceedings of the RoboCup<br />
2003, Pádua, Italy (2003)<br />
[17] António Paulo Moreira, Paulo Costa, Arman<strong>do</strong> Sousa e Luís Paulo Reis, "5dpo-<br />
2000 Team Description for Year 2003", Proceedings of the RoboCup 2003,<br />
Pádua, Italy (2003)<br />
[18] J Borenstein, "Omnipe<strong>de</strong>" http://www.engin.umich.edu/research/mrl/00MoRob_6.html<br />
[19] João Alves e Jorge Dias, "Design of a Spherical Robot and its Control Electronics", Proc.<br />
of Controlo 2002 - Conf. Automatic Control, Aveiro, Portugal, pp. 495-500<br />
(2002)<br />
[20] Aarne Halme, Torsten Schönberg and Yan Wang, "Motion Control of a Spherical<br />
Mobile Robot", Proc. AMC'96- MIE (1996) citeseer.nj.nec.com/halme96motion.html<br />
[21] PBS Online by WGBH "Bomb Squad - The Spiral Track Autonomous Robot (STAR)"<br />
2000 http://www.pbs.org/wgbh/nova/robots/hazard/meetstar.html<br />
[22] "Micromechanical Flying Insect (MFI) Project", University of California, Berkeley,<br />
EUA http://robotics.eecs.berkeley.edu/~ronf/mfi.html<br />
184
Referências Bibliográficas<br />
[23] Brett Warneke, Matt Last, Brian Liebowitz and Kristofer S.J.Pister, "Smart Dust:<br />
Communicating with a Cubic- Millimeter Computer" (2001)<br />
http://citeseer.nj.nec.com/cache/papers/cs/25491/http:zSzzSzbsac.eecs.berkeley.eduzSz~mattlas<br />
tzSzpaperszSzfinal_layout.pdf/warneke01smart.pdf<br />
[24] Gilles Caprari, "Autonomous MicroRobots Applications and Limitations", PhD Thesis,<br />
EPFL, Suiça (2003)<br />
http://asl.epfl.ch/aslInternalWeb/ASL/publications/uploa<strong>de</strong>dFiles/Caprari_phd2753.pdf<br />
[25] Y. Fujimoto and S. Obata and A. Kawamura, "Robust Biped Walking with Active<br />
Interaction Control between Foot and Ground", Proc. IEEE Int. Conf. on Robotics<br />
and Automation, 1998, pp. 2030-2035 (1998)<br />
citeseer.nj.nec.com/fujimoto98robust.html<br />
[26] J. Hodgins, "Three-Dimensional Human Running", Robotics and Automation (1996)<br />
citeseer.nj.nec.com/71467.html<br />
[27] http://www.hon<strong>da</strong>-p3.com<br />
[28] "Sony Humanoid SDR 4X II" http://www.i4u.com/article255.html<br />
[29] "Biologically Inspired Robotics Group (BIRG)", EPFL - École Polytechnique <strong>de</strong><br />
Lausanne http://lslwww.epfl.ch/birg/humanoid.shtml<br />
[30] http://www.ai.mit.edu/projects/leglab/robots/robots.html<br />
[31] http://animatlab.lip6.fr/pages/LiensRecherchesAng<br />
[32] "The Scorpion Robot" http://ais.gmd.<strong>de</strong>/BAR/SCORPION<br />
[33] http://lslwww.epfl.ch/birg/salaman<strong>de</strong>r.shtml<br />
[34] "Troody Walks Across a Table" http://www.ai.mit.edu/people/chunks/chunks.html<br />
[35] Bruce M. Blumberg, "Silas T. Dog" http://lcs.www.media.mit.edu/people/bruce<br />
[36] "Sony Aibo Site" http://www.aibosite.com<br />
[37] "NeCoRo" http://www.omron.com/news/n_161001.html<br />
[38] http://www.ai.mit.edu/projects/ants<br />
[39] http://www.sciencenews.org/20001111/bob1.asp<br />
[40] Gavin Miller, "Dr. Gavin Miller's Snake Robots" http://www.snakerobots.com/main.htm<br />
[41] Jun Nakanishi, Toshio Fuku<strong>da</strong>, Daniel E. Koditschek, "A Brachiating Robot<br />
Controller", IEEE Transactions on Robotics and Automation 16, no. 2 - 2000<br />
pp. 109-123 (2000)<br />
[42] Robert G. Dennis, Hugh Her, "Biomechatronic Devices"<br />
http://www-personal.umich.edu/~bob<strong>de</strong>n/biomechatronic_<strong>de</strong>vices.html<br />
[43] "Robotics Society of America - Robot Shark Takes Plunge"<br />
http://www.robotics-society.org/html/modules.php?name=News&<strong>file</strong>=article&sid=15<br />
[44] Joseph Ayers, "Biomimetic Un<strong>de</strong>rwater Program" (2002)<br />
[45] "Robot Tuna at MIT" http://web.mit.edu/towtank/www/tuna/brad/tuna.html<br />
185
Referências Bibliográficas<br />
[46] http://lslwww.epfl.ch/birg/lamprey.shtml<br />
[47] Ismet Erkmen, Ay<strong>da</strong>n M Erkmen, Fumitoshi Matsuno, Rabajit Chatterjee and<br />
Tetsushi Kamegawa, "Snake Robot to the Rescue - Serpentine Search Robot in Rescue<br />
Operations", IEEE Robotics & Automation Magazine, Vol 9, No 3 Setembro<br />
2002 pp. 17-25 (2002)<br />
[48] Rajiv S. Desai, Charles J. Rosenberg, Joseph L. Jones, "Kaa : An Autonomous<br />
Serpentine Robot Utilizes Behavior Control", IROS'95 IEEE/RSJ International<br />
Conference on Intelligent Robots and Systems, Pittsburgh, EUA (1995)<br />
[49] L. Sebastião, C. Silvestre, A. Pascoal, "Infante project Report 3" (1999)<br />
http://dsor.isr.ist.utl.pt/Projects/Infante/Report3/in<strong>de</strong>x.html<br />
[50] Author Poole, Patrick K. C<strong>low</strong>er, Penn, "A systems approach to autonomous un<strong>de</strong>rwater<br />
vehicle (AUV) propulsion <strong>de</strong>sign", Source Marine Technology Society Journal. v.<br />
30 p. 8-16. (1996)<br />
[51] SubSea PropulsionA Division of DynaSea International Inc.Newburyport,<br />
Mass01950, "U.S.A. SubSea - AUV/ROV Propulsion Thrusters"<br />
http://www.rovworld.com/promote/subseaprop/Ssp1.pdf<br />
[52] Fernan<strong>do</strong> Lobo Pereira,"Laboratório <strong>de</strong> Sistemas e Tecnologia Subaquática"<br />
http://www.fe.up.pt/~lsts/<br />
[53] Mikell P. Groover, "Automation, Production and Computer Integrated Manufactoring",<br />
Prentice Hall (1987) 0-13-054652-6<br />
[54] U. Rembold and R. Dillmann, "Computer Ai<strong>de</strong>d Design and Manufacturing", Springer-<br />
Verlag - Berlin (1984) 3-540-16321-2<br />
[55] R. Brooks and S. Iyengar, "MultiSensor Fusion", Prentice Hall PTR (1998)<br />
0-13-901653-8<br />
[56] "PTC - Parametric Technology Corporation" http://www.ptc.com/products/in<strong>de</strong>x.htm<br />
[57] D. Dzung, C. Apneseth, G. Scheible, "Wireless Sensor Communications and Powering<br />
for Real-Time Industrial Applications", WiP Proceedings of the 2002 IEEE<br />
International Workshop on Factory Communication Systems, August 28-20,<br />
2002, Vasteras, Swe<strong>de</strong>n (2002)<br />
[58] Pedro Lima, Luís Custódio, Miguel Arroz, Marco Barbosa, Tiago Borralho, Cláudio<br />
Car<strong>do</strong>so, Hugo Costelha, Bruno Damas, João Estilita, João Frazão, Miguel<br />
Garção, Cláudio Gil, Paulo Gomes, Bruno Macha<strong>do</strong>, Gonçalo Neto, Pedro<br />
Pinheiro, Vasco Pires, João Santos, Rodrigo Ventura, Hans Lausen Jakob,<br />
Michael Nielsen, "ISocRob 2003: Team Description Paper", Proceedings of the<br />
RoboCup 2003, Pádua, Italy (2003)<br />
[59] "Batteries for Mobile Robots" http://robocup.mi.fu-berlin.<strong>de</strong>/buch/chap6/06robocup-battery.pdf<br />
[60] Isi<strong>do</strong>r Buchmann, "Batteries in a Portable World" (2001) http://www.buchmann.ca/faq.asp<br />
[61] Isi<strong>do</strong>r Buchmann, "Do and <strong>do</strong>n't battery table" (2001)<br />
http://www.batteryuniversity.com/print-partone-21.htm<br />
186
Referências Bibliográficas<br />
[62] Graham Prophet, "SuperCaps for SuperCaches", EDN, 9 <strong>de</strong> Janeiro <strong>de</strong> 2003<br />
http://www.e-insite.net/ednmag/contents/images/268379.pdf<br />
[63] http://www.e-insite.net/ednmag/contents/images/268379f1.pdf<br />
[64] DaimlerChysler, "Energy for the Future - Fuel Cell Bus", DaimlerChysler High tech<br />
Report 2/2002<br />
[65] http://www.fuelcells.org<br />
[66] Michael Riezenman, "Energy Storage - Mighty Mites - Fuel Cell's First Big Market<br />
Success May be Alcohol Fed", IEEE Spectrum - Junho 2003<br />
[67] Alan Burns and Anfy Wellings, "Real Time Systems and Programming Languages",<br />
Pearson Education Limited (2001) 0 201 72988 1<br />
[68] Richard Dorf, Editor, "Electrical Engineering Handbook", CRC Press (1993)<br />
[69] John G. Webster (Editor), "The Measurement, Instrumentation and Sensors Handbook ",<br />
CRC Press & IEEE Press (1999)<br />
[70] "The Basics: Laser Ra<strong>da</strong>r – Li<strong>da</strong>r"<br />
https://peoiewswebinfo.monmouth.army.mil/JPSD/RTV/LIDAR_basics.pdf<br />
[71] Paulo Costa, Arman<strong>do</strong> Sousa, Paulo Marques, Pedro Costa, Susana Gaio, António<br />
Moreira, "5dpo Team Description", in RoboCup 2001: Robot Soccer World Cup<br />
V Editor: Andreas Birk, Silvia Cora<strong>de</strong>schi, Stoshi Ta<strong>do</strong>koro- Springer-Verlag<br />
Berlin/Hei<strong>de</strong>lberg New York 2002 (2001) ISBN: 3-540-43912-9<br />
[72] J. Almei<strong>da</strong>, A Martins, E. Silva, J. Baptista, A. Patacho, L. Lima, V. Serqueira, C.<br />
Almei<strong>da</strong>, R. Picas, "ISePorto Robotic Soccer Team for Robocup 2003", Proceedings<br />
of the RoboCup 2003, Pádua, Italy (2003)<br />
[73] G. De Micheli (editor), "Special Issue on Hardware/Software Co-<strong>de</strong>sign", Proceedings of<br />
IEEE, Vol 85, No. 3, Março 1997<br />
[74] Jean Clau<strong>de</strong> Latombe, "Robot Motion Planning", Kluer Aca<strong>de</strong>mic Publishers (1991)<br />
[75] J. Borenstein, H. Everett, L. Feng, D. Wehe, "Mobile Robot Positioning - Sensors and<br />
Techniques", Journal of Robotic Systems Vol 14, No. 4 Special issue on Mobile<br />
Robots 231-249 (1997)<br />
[76] Ronald Arkin, "Behaviour Based Robotics", The MIT Press, Lon<strong>do</strong>n, England<br />
(1998)<br />
[77] "EPFL Collective robotics - BIRG Group" http://lslwww.epfl.ch/birg/collective.shtml<br />
[78] L. Wald, "Definitions and Terms of Reference in Data Fusion", International Archives<br />
of Photogrammetry and Remote Sensing, Vol. 32, Part 7-4-3 W6, Valla<strong>do</strong>lid,<br />
Spain, 3-4 June, 1999 pp. 2-6. (1999) citeseer.nj.nec.com/wald99<strong>de</strong>finitions.html<br />
[79] Geert De Cubber, "Integration of sensors on a mobile robot", PhD Thesis - Free<br />
University of Brussels, Bélgica, 2001<br />
187
Referências Bibliográficas<br />
[80] Ian Reid," Applied Estimation Notes 2002"<br />
http://www.robots.ox.ac.uk/~ian/Teaching/Estimation/estimation2.pdf<br />
[81] J. Almei<strong>da</strong> Costa e A. Sampaio e Melo, "Dicionário <strong>de</strong> Língua Portuguesa - 7ª Edição",<br />
Porto Editora (1994) 972 0 05001 2<br />
[82] B. Barshan and H. F. Durrant-Whyte, "Inertial navigation systems for mobile robots",<br />
IEEE Transactions on Robotics and Automation, vol. 11, no. 3 328-342<br />
(1995)<br />
[83] Charles Cohen and Frank Koss, "A comprehensive study of three-object triangulation",<br />
In SPIE Mobile Robots VII, 1992<br />
[84] João Sena Esteves, Adriano Carvalho, Carlos Couto, "Generalized Geometric<br />
Triangulation Algorithm for Mobile Robot Absolute Self-Localization", Proceedings of<br />
the IEEE International Symposium on Industrial Electronics 2003, June 9-11,<br />
Rio Janeiro Brasil (2003)<br />
[85] M. Betke and K. Gurvits, "Mobile robot localization using landmarks", Proceedings of<br />
the IEEE International Conference on Robotics and Automation, volume 2,<br />
May 1994. pp. 135-142 (1994) citeseer.nj.nec.com/betke97mobile.html<br />
[86] "Trimble - All about GPS " http://www.trimble.com/gps<br />
[87] "Sick"Positioning at 240 m with millimetre accuracy<br />
[88] "Sick Product Information - LMS200 / LMS220 2001"<br />
http://www.sick.<strong>de</strong>/<strong>de</strong>/products/categories/auto/lasermeasurementsystemsin<strong>do</strong>or/lms200in<strong>do</strong>or/en<br />
.toolboxpar.0006.<strong>file</strong>.tmp/PILMS22E.pdf<br />
[89] Patric Jensfelt, "Approaches to Robot Localization in In<strong>do</strong>or Environments", Royal<br />
Institute of Technology, Estocolmo, Suécia (2001) 91-7583-135-9<br />
[90] Maria Isabel Ribeiro, João G. M. Gonçalves, "Natural Landmark based Localization of<br />
Mobile Robots Using Laser Range Data", Proceedings EUROBOT 1996<br />
[91] Artur Arsénio e M. Isabel Ribeiro, "Absolute Localization of Mobile Robots using<br />
Natural Landmarks", 5th IEEE International Conference on Electronics,<br />
Circuits and Systems (ICECS’98), Lisbon, September 7-10, 1998<br />
[92] João Gomes-Mota e Maria Isabel Ribeiro, "Mobile robot localization on reconstructed<br />
3D mo<strong>de</strong>ls", Journal of Robotics and Autonomous Systems 31 (1-2) pp. 17-30,<br />
Elsevier Science, Abril 2000<br />
[93] Michelle Marie Simi, "A Real Time Positoning System for Mobile Robots Based on Laser<br />
Triangulation", Msc. Thesis Northwestern University,Mechanical Engineering ,<br />
EUA (2000)<br />
[94] Danaher Motion Särö AB (formerly NDC) http://www.ndc.se/<br />
[95] http://www.lazerway.com/<br />
[96] "Lazer Way Equipment Buyers Gui<strong>de</strong>" http://www.ndc.se/products/pdf/buyers_gui<strong>de</strong>2003.pdf<br />
188
Referências Bibliográficas<br />
[97] R. Want, A. Hopper, V. Falcao, J. Gibbons, "The active badge location system", ACM<br />
Transactions on Information Systems - vol. 10, no. 1, Jan. 1992 91-102<br />
(1992) citeseer.nj.nec.com/want92active.html<br />
[98] N. Bulusu, J. Hei<strong>de</strong>mann, D. Estrin, "GPS-less Low Cost Out<strong>do</strong>or Localization For<br />
Very Small Devices", IEEE Personal Communications Magazine (2000)<br />
[99] "RFTechnologies – PinPoint"<br />
http://www.rftechnologies.com/pinpoint<br />
http://www.rftechnologies.com/pinpoint/systems.htm<br />
[100] Jeffrey Hightower, Gaetano Borriello and Roy Want, "SpotON: An In<strong>do</strong>or 3D<br />
Location Sensing Technology Based on RF Signal Strength", University of<br />
Washington CSE Technical Report 2000-02-02 (2000)<br />
[101] Andrew M. Ladd, Kostas E. Bekris, Guillaume Marceau, Algis Rudys, Dan S.<br />
Wallach and Lydia E. Kavraki, "Using Wireless Ethernet for Localization",<br />
Proceedings of the 2002 IEEE/RSJ International Conference on Intelligent<br />
Robots and Systems, Lausanne, Switzerland (2002)<br />
[102] Paramvir Bahl and Venkata N. Padmanabhan, "RADAR: An In-Building {RF}-<br />
Based User Location and Tracking System", IEEE Infocom'00, Tel Aviv The<br />
Conference on Computer Communications, Volume 2 775-784 (2000) 0-<br />
7803-5880-5<br />
http://citeseer.nj.nec.com/cache/papers/cs/11606/http:zSzzSzwww.research.microsoft.comzSz%<br />
7EpadmanabzSzpaperszSzinfocom2000.pdf/bahl00ra<strong>da</strong>r.pdf<br />
[103] Paramvir Bahl and Venkata N. Padmanabhan, "User Location and tracking in an in-<br />
Building Radio Network", Technical Report MSR-TR-99-12., Microsoft<br />
Research, Redmonton, WA, USA (1999)<br />
[104] "Comunica<strong>do</strong> <strong>do</strong> Governo Português: e-U (Campus Virtuais) é um sucesso a nível<br />
internacional" http://www.umic.pcm.gov.pt/UMIC/Media/Sala+<strong>de</strong>+Imprensa/eu_microsoft.htm<br />
[105] "e-U (universi<strong>da</strong><strong>de</strong> electrónica), Campus Virtual" http://www.e-u.pt<br />
[106] Grayham French, "Where You Are", IEEE Spectrum July 2003 pp. 21-25 (2003)<br />
[107] Fatima Toor, "Ultra-wi<strong>de</strong>band (UWB) Technology" http://cs.smith.edu/~ftoor/uwb.htm<br />
[108] Robert Fleming and Cherie Kushner, "Integrated Ultra-Wi<strong>de</strong>band Localizers", UWB<br />
Conference, 1999, Washington DC, EUA (1999)<br />
http://www.aetherwire.com/Aether_Wire/Integrated_Ultra-Wi<strong>de</strong>band_Localizers.pdf<br />
[109]" Aether Wire and Location" http://aetherwire.com/<br />
[110] Kai-Wei Chiang, Aboelmagd Noureldinn Naser El-Sheimy, "Multisensor integration<br />
using neuron computing for land-vehicle navigation", Springer-Verlag 2003 (2002)<br />
[111] Maury Wright, "Time, Position, Velocity? Ask Your GPS", EDN Europe, 3 <strong>de</strong><br />
Março 1997, pp. 50-66 (1997)<br />
[112] "Office of the Press Secretary" http://www.ostp.gov/html/0053_2.html<br />
[113] http://www.igeb.gov/sa/<br />
189
Referências Bibliográficas<br />
[114] Hydraulics Lab, Scripps Institution of Oceanography - Center for Coastal Studies,<br />
"GPS STUFF 2001" http://hydraulicslab.ucsd.edu/gps/garmin1.gif<br />
[115] Alfred Leick, "DGPS and WADPGS", ACSM Bulletin March/April (1995 )<br />
http://www.spatial.maine.edu/~leick/pub25.htm<br />
[116] "USNO NAVSTAR Global Positioning System" http://tycho.usno.navy.mil/gpsinfo.html<br />
[117] "Russion Minstry of Defense - Scientific Information Center"<br />
http://www.glonass-center.ru/int.html<br />
[118] "Ashtec GG24 GPS+Glonass Receiver"<br />
http://products.thalesnavigation.com/assets/techpapers/6_GPSGlonassTech_GG24.pdf<br />
[119] James G. Murphy, William V. Cottrell, " Airborne Testing of GPS+GLONASS<br />
Positioning"<br />
http://products.thalesnavigation.com/assets/techpapers/4_AirborneTestingofGPS.pdf<br />
[120] "A GPS GIS Systems Source GPS-GIS Newsletter"<br />
http://www.rlageosystems.com/gps_news.htm<br />
[121] J. Benedicto, S.E.Dinwiddy, G. Gatti, R. Lucas, M. Lugert, "GALILEO: Satellite<br />
System Design and Technology Developments", European Space Agency (2000)<br />
http://ravel.esrin.esa.it/<strong>do</strong>cs/galileo_world_paper_Dec_2000.pdf<br />
[122] http://www.mlit.go.jp/koku/ats/e/mtsat/role/01.html<br />
[123] Hugo Fruehauf, "WAAS, EGNOS, and WAAS, EGNOS, and MSAS for Telecom<br />
MSAS for Telecom Applications Applications", (2001)<br />
http://www.time-frequency.co.uk/appnotes/WAAS_Briefing_12-01.<strong>PDF</strong><br />
http://GPS.FAA.GOV/Programs/WAAS/waas.htm<br />
[124] Dan Cotta, "Lockheed Martin Selected For Japan Government's Global Navigation<br />
Satellite System Program" (1997)<br />
http://www.missionsystems.lockheedmartin.com/announce/releases/msas2.html<br />
http://gbnwww01.gbg.ms.lmco.com/internet/newscntr/releases/<br />
[125] Apostolia Karamali, Andrew Wilson, "Galileo: The European Programme for Global<br />
Navigation Services", European Space Agency Publications Division, ESTEC, PO<br />
Box 299, 2200 AG Noordwijk, The Netherlands (2003) ISBN 92-9092-730-<br />
5 ISSN 0250-1589 http://ravel.esrin.esa.it/<strong>do</strong>cs/GalileoBrochure.pdf<br />
[126] "ESA Pay-as-you-go motoring just around the corner", ESA portal - 9 <strong>de</strong> Setembro<br />
2003 http://www.esa.int/export/esaCP/SEMBC5ZO4HD_Benefits_0.html<br />
[127] "Galileo Presentation" http://europa.eu.int/comm/space/<strong>do</strong>c_pdf/galileo_presentation.pdf<br />
[128] Wolfgang Werner, Theo<strong>do</strong>r Zink, Erwin Löhnert, Jürgen Pielmeier, "Galileo<br />
Integrity Performance Acessment (GIPA)" ION GPS 2001, 11-14 September<br />
2001 1838-1850 (2001) http://www.ifen.com/publications/IONGPS2001_GIPA.pdf<br />
[129] Zheng <strong>da</strong> Wu and James Larkin, "Localization of mobile <strong>de</strong>vices", Class Notes -<br />
INFT13/73 - 336 Mobile Networks and Computing - Chpt 6 (2003)<br />
http://www.it.bond.edu.au/inft336/<br />
190
[130] "Fe<strong>de</strong>ral Communication Comission - Enhanced 911" (2003)<br />
http://www.fcc.gov/911/enhanced/<br />
Referências Bibliográficas<br />
[131] M. Drumheller, "Mobile Robot Localization Using Sonar", IEEE Transaction on<br />
Pattern Analisys and Machine Intelligence, vol 9, n.2 pp 352-332 (1987)<br />
[132] O. Vijk, P. Jensfelt and H. Chistensen, "Triangulation based Fusion of Ultrasonic<br />
Sensor Data", Proceedings of the IEEE International Conference on Robotics<br />
and Automation (ICRA-98), Leuven, Belgium, May 16-20, 1998. IEEE<br />
Computer Society, 1998, ISBN 0-7803-4301-8, Volume 4 3419-3424 (1998)<br />
[133] R.N. Aguilar, G.C.M. Meijer , "Low-Cost Ultrasonic Fusion Sensor for Angular<br />
Position", Proceedings of SeSens 2002, November 29, 2002 - Veldhoven, the<br />
Netherlands (2002) 90-73461-33-2 http://www.stw.nl/sesens/proc2000/aguilar.pdf<br />
[134] L. Girod, D. Estrin, "Robust Range Estimation Using Acoustic and Multimo<strong>da</strong>l<br />
Sensing", International Conference on Intelligent Robots and Systems (IROS<br />
2001)<br />
[135] Ching-Chih Tsai, "A localization System of a Mobile Robot by Fusing Dead-Reckoning<br />
and Ultrasonic Measurements", IEEE Instrumentation and Measurment<br />
Technology Conference, Minnesota, USA, 1998<br />
[136] O. Wijk and H.I. Christensen, "Localization and navigation of a mobile robot using<br />
natural point landmarks extracted from sonar <strong>da</strong>ta", Robotics and Autonomous<br />
Systems 31 (2000) pp. 31–42 (2000)<br />
[137] Figueroa, F., Mahajan, A, "A Robust Navigation System for Autonomous Vehicles using<br />
Ultrasonics", Control Engineering Practice, Vol. 2, No. 1, 1994. pp. 49–59<br />
(1994)<br />
[138] Andy Ward, Alan Jones, Andy Hopper, "A New Location Technique for the Active<br />
Office", IEEE Personnel Communications, Vol 4 N.5, October 1997 pp. 42--47<br />
(1997) http://citeseer.nj.nec.com/ward97new.html<br />
[139] Greg L. Reid, Evangelos Milios, "Active Stereo Sound Localization", Technical<br />
Report cs-1999-09, York University, Ontario, Cana<strong>da</strong>, 1999<br />
citeseer.nj.nec.com/reid99active.html<br />
[140] Gen’ichi Yasu<strong>da</strong> and Hiroyuki Takai, "Sensor-Based Path Planning and Intelligent<br />
Steering Control of Nonholonomic Mobile Robots", IECON'01: The 27th Annual<br />
Conference of the IEEE Industrial Electronics Society (2001)<br />
[141] Arman<strong>do</strong> Jorge Sousa, Paulo Gomes <strong>da</strong> Costa, António Paulo Moreira, "Variable<br />
Resolution System in Mobile Robotics", Proceedings of Controlo 2002, 5th<br />
Portuguese Conference on Automatic Control, 2002 pp.489-494 (2002)<br />
[142] Joseph A. Muratore,"Illumination for Machine Vision", Dolan-Jenner Industries<br />
http://www.pinnaclevision.co.uk/illum02.htm<br />
[143] Lars Stenberg, "The PSD School", SiTek Electro Optics http://www.sitek.se/section1.htm<br />
191
Referências Bibliográficas<br />
[144] Ana Cristina Paiva, Jorge A. Silva, Aurélio Campilho, "Aquisição <strong>de</strong> Informação<br />
Tridimensional com Luz Estrutura<strong>da</strong> Codifica<strong>da</strong>", Actas <strong>do</strong> 3º Encontro Nacional<br />
<strong>do</strong> Colégio <strong>de</strong> <strong>Engenharia</strong> Electrotécnica <strong>da</strong> Or<strong>de</strong>m <strong>do</strong>s Engenheiros pp. 139-<br />
146 (1997)<br />
[145] StockerYale,"What is Structured Light"<br />
http://www.stockeryale.com/i/lasers/structured_light.htm<br />
[146] N. Winters, J. Gaspar, G. Lacey, and J. Santos Victor, "Omni-directional vision for<br />
robot navigation", Proc. IEEE Workshop on Omnidirectional Vision, South<br />
Carolina, EUA, June 2000 http://citeseer.nj.nec.com/winters00omnidirectional.htm<br />
[147] C. Marques, P. Lima, "A Localization Method for a Soccer Robot Using a Vision-Based<br />
Omni-Directional Sensor", in: P. Stone, T. Balch, G Kraetzschmar (Eds.),<br />
RoboCup 2000-Robot Soccer World Cup IV, Springer Verlag, Berlin, D, 2001<br />
(2000)<br />
[148] Nuno Gonçalves and Hél<strong>de</strong>r Araújo, "Mirror shape recovery from image curves and<br />
intrinsic parameters: Rotationally symmetric and conic mirrors", Proceedings of the<br />
Omnivis 2003: Workshop on Omnidirectional Vision and Camera Networks<br />
(2003)<br />
[149] Pedro Lima, Andrea Bonarini, Carlos Macha<strong>do</strong>, Fabio Marchese, Carlos Marques,<br />
Fernan<strong>do</strong> Ribeiro, Domenico Sorrenti, "Omni-Directional Catadioptric Vision for<br />
Soccer Robots", Robotics and Autonomous Systems, vol. 36 n. 2--3 (2001) pp.<br />
87—102 (2001) citeseer.nj.nec.com/lima01omnidirectional.html<br />
[150] Pedro Lima, Andrea Bonarini, Carlos Macha<strong>do</strong>, Fabio Marchese, Carlos Marques,<br />
Fernan<strong>do</strong> Ribeiro, Domenico Sorrenti, "Omni-Directional Catadioptric Vision for<br />
Soccer Robots", Robotics and Autonomous Systems, vol. 36 n. 2--3 (2001) pp.<br />
87—102 (2001) http://citeseer.nj.nec.com/lima01omnidirectional.html<br />
[151] Joshua Gluckman, Member, IEEE Computer Society, and Shree K. Nayar, Senior<br />
Member, IEEE, "Rectified Catadioptric Stereo Sensors", IEEE Transactions On<br />
Pattern Analysis and Machine Intelligence, Vol. 24, No. 2, Fev 2002 pp. 224-<br />
236 (2002)<br />
[152] Giuseppina Gini, Francesco Amigoni, Andrea Bonarini, Vincenzo Caglioti, Marco<br />
Sornalvico, "Self Localization Of Mobile Robots In In<strong>do</strong>or Environment", In<br />
Taraglio, S.; Nanni, V. (editors); Enabling Technologies for the PRASSI<br />
Autonomous Robot, ENEA Robotics and Information Technology Division<br />
pp. 86-97 (2001) http://citeseer.nj.nec.com/548813.htm<br />
[153] Hans P. Moravec, "Robot Spatial Perception by Stereoscopic Vision and 3D Evi<strong>de</strong>nce<br />
Grids", CMU-RI-TR-96-34The Robotics Institute - Carnegie Mellon<br />
University, EUA - Setembro 1996<br />
[154] Shishir Shah, J. K. Aggarwal, "Mobile Robot Navigation and Scene Mo<strong>de</strong>ling using<br />
Stereo Fish-eye Lens System", Machine Vision and Applications (1997) Vol 10 -<br />
Springer - Verlag 1997 pp. 159-173 (1997)<br />
192
Referências Bibliográficas<br />
[155] Shmuel Peleg, Moshe Ben-Ezra e Yael Pritch, "Omnistereo: Panoramic Stereo<br />
Imaging", IEEE Transactions On Pattern Analysis And Machine Intelligence,<br />
Vol. 23, No. 3, Março 2001 pp. 279-290 (2001)<br />
[156] R. Bunschoten and B. Kröse, "Range estimation from a pair of omnidirectional<br />
images", Proc. IEEE Int. Conf. on Robotics and Automation, Seoul, Korea<br />
(2001) http://citeseer.nj.nec.com/bunschoten01range.html<br />
[157] Fabien Launay, Akihisa Ohya and Shin’ichi Yuta, "Vision-Based Navigation of<br />
Mobile Robot using Fluorescent Tubes", The 10th International Conference on<br />
Advanced Robotics (Aug. 2001)<br />
http://www.roboken.esys.tsukuba.ac.jp/~ohya/pdf/RSJ2000-FAB.pdf<br />
[158] Fabien Launay, Akihisa Ohya and Shin'ichi Yuta, "A Corri<strong>do</strong>rs Lights based<br />
Navigation System including Path Definition using a Topologically Corrected Map for<br />
In<strong>do</strong>or Mobile Robots", Proceedings 2002 IEEE International Conference on<br />
Robotics and Automation, pp.3918-3923 (May 2002)<br />
http://www.roboken.esys.tsukuba.ac.jp/~ohya/pdf/ICRA2002-FAB.pdf<br />
[159] S. Panzieri, F. Pascucci, R. Setola, G Ulivi, "A <strong>low</strong> cost vision based localization system<br />
for mobile robot", MEDSYMP 2001<br />
[160] Jon Howel and Keith Kotay, "Landmarks for absolute localization", Technical Report<br />
TR2000-364 - Department of Computer Science - Dartmouth College,<br />
Hanover, NH 03755-3510, EUA (2000) ftp://ftp.cs.<strong>da</strong>rtmouth.edu/TR/TR2000-364.pdf<br />
[161] Toyama, K., and Hager, G. D., "Tracker fusion for robustness in visualfeature tracking",<br />
SPIE Photonics East, Phila<strong>de</strong>lphia, PA, 2589 pp. 38-49 (1995)<br />
http://cs-www.cs.yale.edu/homes/toyama/<br />
[162] Sinisa Segvic and Slobo<strong>da</strong>n Ribaric, "Determining the Absolute Orientation in a<br />
Corri<strong>do</strong>r Using Projective Geometry and Active Vision", IEEE Transactions on<br />
Industrial Electronics, vol. 48, no. 3, june 2001<br />
[163] G. Jang, S. Kim, W. Lee, I. Kweon, "Color Landmark Based Self-Localisation for<br />
In<strong>do</strong>or Mobile Robots", Proc. of the 2002 IEEE International Conference on<br />
Robotics & Automation,Washington DC, EUA ,Maio 2002 pp. 1037-1042<br />
(2002)<br />
[164] Evgeni Kiriy, Martin Buehler, "Three-state Exten<strong>de</strong>d Kalman Filter for Mobile Robot<br />
Localisation", Tech. Report Centre for Intelligent Machines (CIM), McGill<br />
University, April 12, 2002<br />
[165] Prof. Lynne E. Parker William Duncan, "Localisation and Exploration", Class Notes<br />
Software for Intelligent Robotics - University of Tennessee - CS594<br />
http://www.cs.utk.edu/~parker/Courses/CS594-fall02/Lectures/Nov21.pdf<br />
[166] Hugh Durrant-Whyte, "Localization, Mapping and the Simultaneous Localisation and<br />
Mapping(SLAM) Problem", SLAM Summer School 2002<br />
193
Referências Bibliográficas<br />
[167] M. Dissanayake, Paul Newman, Steven Clark, Hugh F. Durrant-Whyte e M.<br />
Csorba, "A Solution to the Simultaneous Localisation and Map Building (SLAM)<br />
Problem", IEE Transactions on Robotics and Automation, vol. 17, no. 3, Junho<br />
2001<br />
[168] Paul Newman, "On the Structure and Solution of the Simultaneous Localisation and<br />
Map Building Problem", PhD Thesis, Australian Centre for Field Robotics, The<br />
University of Sydney, Austrália (1999)<br />
[169] Michael Csorba, "Simultaneous Localisation and Map Building", PhD Thesis<br />
University of Oxford, Inglaterra (1997)<br />
[170] Helga Kolb, Eduar<strong>do</strong> Fernan<strong>de</strong>z, Ralph Nelson, Bryan William Jones, "WebVision<br />
2003" http://webvision.med.utah.edu/in<strong>de</strong>x.html<br />
[171] Rafael Gonzalez and Richard Woods, "Digital Image Processing 2nd Ed.", Prentice<br />
Hall - Upper Saddle River NJ 07458 (2002) 0-20-118075-8<br />
[172] David Forsyth and Jean Ponce, "Computer Vision - A Mo<strong>de</strong>rn Approach", Prentice-<br />
Hall, New Jersey, EUA (2003) 0-13-085198-1<br />
[173] "Color Vision - Spectral Selectivity" http://www.photo.net/photo/edscott/vis00010.htm<br />
[174] A Gelb, J. Kasper, Raymond Nash, Charles Price, Arthur Sutherland, "Applied<br />
Optimal Estimation" (1989)<br />
0-262-57048-3<br />
[175] R. E. Kalman, "A New Approach to Linear Filtering and Prediction Problems",<br />
Transaction of the American Society of Mechanical Engineers —Journal of<br />
Basic Engineering, Março 1960 p. 3545 (1960)<br />
[176] Eric Wan and Alex Nelson, "Dual EKF Methods", Kalman Filtering and Neural<br />
Networks, Wiley Publishing, editors Simon Haykin, 2001 ISBN:0471369985<br />
citeseer.nj.nec.com/345859.html<br />
[177] Greg Welch and Gary Bishop, "An Introduction to the Kalman Filter", Technical<br />
Report 95-041 - Department of Computer Science University of North<br />
Carolina at Chapel Hill, EUA (2002)<br />
[178] Graham Goodwin and Robert Payne, "Dynamic System I<strong>de</strong>ntification: Experiment<br />
Design and Data Analysis", Aaca<strong>de</strong>mic Press, Inc (1997) 0-12-289750-1<br />
[179] Manuel Ferreira e Isabel Amaral, "Probabili<strong>da</strong><strong>de</strong>s e estatística - Formulário - 5a<br />
Edição", Edições Sílabo (2001) 972-618-251-4<br />
[180] R. Steven Rainwater,"Robot Competition FAQ 2002" http://robots.net/rcfaq.html<br />
[181] "The RoboCup Fe<strong>de</strong>ration" http://www.robocup.org/<br />
[182] H Kitano, M Asa<strong>da</strong>, Y. Kuniyoshi, I. No<strong>da</strong>, E. Osawa, "Robocup: The Robot World<br />
Cup Initiative", Proceedings of IJCAI’95 Workshop on Entertainment and<br />
AI/Alife, pp. 19-24, 1995<br />
194
Referências Bibliográficas<br />
[183] Pedro Lima, Tucker Balch, Masahiro Fujita, Raul Rojas, Manuela Veloso, Holly<br />
Yanco, "RoboCup 2001 - Report on Research Issues that surfaced during the<br />
competitions and the Conference", IEEE Robotics & Automation Magazine, Vol9,<br />
No 2 June 2002 20-30 (2002)<br />
[184] "History Timeline of Robotics" http://trueforce.com/Articles/Robot_History.htm 07-08-2002<br />
[185] "History of robotics and robots" http://www.geocities.com/Eureka/7331/hrorobot.htm<br />
[186] "A Brief History of Robotics" http://robotics.megagiant.com/history.html<br />
[187] Raymond Kurzweil, "The Age of Intelligent Machines: Chronology"<br />
http://www.kurzweilai.net/meme/frame.html?main=/articles/art0298.html<br />
[188] "BBC Timeline: Real robots 2001"<br />
http://news.bbc.co.uk/1/hi/in_<strong>de</strong>pth/sci_tech/2001/artificial_intelligence/1531432.stm<br />
[189] Robert Bartelds,"Real Time Vision Based Self-Localization" – Technical University of<br />
Delft, 4-4-2002<br />
195
Anexo 1<br />
196<br />
Acrónimos e Siglas<br />
• AGV – Automated Gui<strong>de</strong>d Vehicle<br />
• ASIC – Application Specific Integrated Circuit<br />
• CAD – Computer Ai<strong>de</strong>d Design<br />
• CAE – Computer Ai<strong>de</strong>d Engineering<br />
• CAM – Computer Ai<strong>de</strong>d Manufacturing<br />
• COTS – Components-Off-The-Shelf<br />
• DGPS – Differential GPS<br />
• DSP – Digital Signal Processor<br />
• EGNOS – European Geostationary Navigation Overlay Service<br />
• EKF – Exten<strong>de</strong>d Kalman Filter<br />
• FDP – Função Densi<strong>da</strong><strong>de</strong> <strong>de</strong> Probabili<strong>da</strong><strong>de</strong><br />
• FEUP – <strong>Facul<strong>da</strong><strong>de</strong></strong> <strong>de</strong> <strong>Engenharia</strong> <strong>da</strong> Universi<strong>da</strong><strong>de</strong> <strong>do</strong> Porto<br />
• GLONASS – Global'naya Navigationnaya Sputnikovaya Sistema – GLobal<br />
NAvigation Satellite System<br />
• GNSS - Global Navigation Satellite System
• GPS – Global Positioning System<br />
• IFF – I<strong>de</strong>ntify Friend or Foe<br />
• ILS – Instrument Landing System<br />
• IR - Infra Red<br />
• ISBN - International Stan<strong>da</strong>rd Book Number<br />
• ISM – Industrial, Scientific and Medical<br />
• KF – Kalman Filter - Filtro <strong>de</strong> Kalman<br />
• LIDAR – LIght Detection And Ranging<br />
• MCU – Micro-Controller Unit<br />
• MEMS – Micro Electromechanical Systems<br />
• MPU – Micro Processor Unit<br />
• MTTF – Mean time to Failure<br />
• MTTR – Mean Time to Repair<br />
• NAVSTAR(-GPS) - NAVigation System and Ranging<br />
• PAN – Personal Area Network<br />
• PSD – Position Sensitive Device<br />
• PWM – Pulse Width Modulation<br />
• RADAR - Radio Detection And Ranging<br />
• RF – Rádio Frequência<br />
• RT – Real Time<br />
• SA – Selected Availability<br />
• SLAM – Simultaneous Localization And Mapping<br />
• TWI – Two Wire Interface<br />
• UNII – Unlicensed National Information Infrastructure<br />
• UPS – Uninterruptible Power Supply<br />
• USB – Universal Serial Bus<br />
• UWB – Ultra Wi<strong>de</strong> Band<br />
• VHC – Very High Camera<br />
• VOR – VHF Omni-directional Radio Ranges<br />
• WADGPS – Wi<strong>de</strong> Area DGPS<br />
Referências Bibliográficas<br />
197
Anexo 2<br />
Marcos Históricos <strong>da</strong> Robótica<br />
Ainformação conti<strong>da</strong> neste anexo foi recolhi<strong>da</strong> apartir <strong>da</strong>s referências [184]<br />
[185], [186], [187], [188].<br />
198<br />
~ 400 AC - O filósofo e matemático Archytas constrói uma pomba em<br />
ma<strong>de</strong>ira que consegue bater as asas e voar.<br />
~332 AC - Aristóteles avança «Se uma ferramenta quan<strong>do</strong> or<strong>de</strong>na<strong>da</strong> ou<br />
mesmo por sua própria vonta<strong>de</strong> pu<strong>de</strong>sse fazer oseu trabalho... não<br />
seriam necessários aprendizes para os mestres nem escravos para os<br />
seus senhores...».<br />
1801 Joseph Jacquard inventa uma máquina têxtil coman<strong>da</strong><strong>da</strong> por cartões<br />
perfura<strong>do</strong>s – um tear programável.<br />
1921 Karel Čapek introduz apalavra “Robot” na novela “R.U.R. -Rossum's<br />
Universal Robots”. Apalavra vem <strong>de</strong> “robota”, que significa trabalho<br />
entediante na língua checa.<br />
1926 No filme "Metropolis", <strong>de</strong> Fritz Lang, "Maria", afêmea robot <strong>do</strong> filme,<br />
é o primeiro robot a ser projecta<strong>do</strong> na tela <strong>de</strong> cinema.<br />
1936 Alan Turing introduz o conceito <strong>de</strong> um computa<strong>do</strong>r teórico,<br />
<strong>de</strong>nomina<strong>do</strong> <strong>de</strong> Máquina <strong>de</strong> Turing. Além <strong>de</strong> ser um progresso
Referências Bibliográficas<br />
fun<strong>da</strong>mental na lógica <strong>do</strong> computa<strong>do</strong>r, leva também ao aparecimento<br />
<strong>de</strong> novas escolas <strong>de</strong>ntro <strong>da</strong> matemática.<br />
1938 O primeiro robot industrial <strong>de</strong> pintura é projecta<strong>do</strong> pelos Norte-<br />
Americanos Willard Pollard e Harold Roselund para a companhia<br />
DeVilbiss.<br />
1942 Isaac Asimov publica oseu livro “Runaround”, on<strong>de</strong> <strong>de</strong>fine as três leis<br />
fun<strong>da</strong>mentais <strong>da</strong> robótica.<br />
1946 Aparecimento <strong>do</strong> computa<strong>do</strong>r: George Devol regista apatente <strong>de</strong> uma<br />
máquina genérica que repete operações anteriores. Odispositivo <strong>de</strong><br />
controlo <strong>de</strong> funcionamento baseia-se em gravação magnética.<br />
1954 George Devol projecta o primeiro robot programável e introduz o<br />
termo “Universal Automation”, plantan<strong>do</strong> asemente <strong>do</strong> nome <strong>da</strong> sua<br />
futura companhia – Unimation.<br />
1968 SRI fabrica o Shakey, um robot móvel com capaci<strong>da</strong><strong>de</strong> visual,<br />
controla<strong>do</strong> por um computa<strong>do</strong>r <strong>do</strong> tamanho <strong>de</strong> um quarto.<br />
1997 Amissão <strong>da</strong> NASA ''Mars PathFin<strong>de</strong>r'' capta os olhos eimaginação <strong>do</strong><br />
mun<strong>do</strong> como PathFin<strong>de</strong>r <strong>da</strong> superfície <strong>de</strong> Marte eo robot Sojourner<br />
envia imagens <strong>da</strong>s viagens realiza<strong>da</strong>s no planeta distante.<br />
1997 A Hon<strong>da</strong> mostra oP3, que éooitavo protótipo <strong>de</strong> robot humanói<strong>de</strong><br />
num projecto inicia<strong>do</strong> em 1986.<br />
1997 Primeira conferência e jogos RoboCup em Nagoya, Japão<br />
1999 A Sony apresenta o animal <strong>do</strong>méstico robótico, <strong>de</strong>nomina<strong>do</strong> Aibo.<br />
199
Anexo 3<br />
Tabela <strong>de</strong> Algumas Sequências<br />
Unívocas<br />
* Nem to<strong>da</strong>s as sequências possíveis não aparecem no resulta<strong>do</strong><br />
Base Janela<br />
Dig.<br />
Reptd<br />
.<br />
Tamanho<br />
Tempo<br />
Process.<br />
Sequência unívoca<br />
6 2 6 37 0 ”0010203040511213141522324253343544550”<br />
6 3 6 218 0 ”0001002003004005011012013014015021022023024025031032033034035041042043044<br />
04505105205305405511121131141151221231241251321331341351421431441451521531<br />
541552...”<br />
6 4 6 1299 0.061 ”0000100020003000400050011001200130014001500210022002300240025003100320033<br />
00340035004100420043004400450051005200530054005501010201030104010501110112<br />
01130...”<br />
6 5 6 7780 0.04 ”0000010000200003000040000500011000120001300014000150002100022000230002400<br />
02500031000320003300034000350004100042000430004400045000510005200053000540<br />
005500...”<br />
6 6 6 46645<br />
*<br />
76.751 ”0000010000020000030000040000050000110000120000130000140000150000210000220<br />
00023000024000025000031000032000033000034000035000041000042000043000044000<br />
04500...”<br />
5 2 5 26 0 ”00102030411213142232433440”<br />
6 2 5 37 0.01 ”0010203040511213141522324253343544550”<br />
5 3 5 127 0 ”0001002003004011012013014021022023024031032033034041042043044111211311412<br />
212312413213313414214314422232242332342432443334344400”<br />
6 3 5 218 0 ”0001002003004005011012013014015021022023024025031032033034035041042043044<br />
04505105205305405511121131141151221231241251321331341351421431441451521531<br />
5415522...”<br />
5 4 5 628 0.01 ”0000100020003000400110012001300140021002200230024003100320033003400410042<br />
00430044010102010301040111011201130114012101220123012401310132013301340141<br />
0142014...”<br />
6 4 5 1299 0.01 ”0000100020003000400050011001200130014001500210022002300240025003100320033<br />
00340035004100420043004400450051005200530054005501010201030104010501110112<br />
0113011...”<br />
200
Base Janela<br />
Dig.<br />
Reptd<br />
.<br />
Tamanho<br />
Tempo<br />
Process.<br />
Sequência unívoca<br />
Referências Bibliográficas<br />
5 5 5 3124 5.397 ”0000100002000030000400011000120001300014000210002200023000240003100032000<br />
33000340004100042000430004400101001020010300104001110011200113001140012100<br />
1220012...”<br />
6 5 5 7774 7.52 ”0000100002000030000400005000110001200013000140001500021000220002300024000<br />
25000310003200033000340003500041000420004300044000450005100052000530005400<br />
0550010...”<br />
5 6 5 15440<br />
*<br />
6 6 5 46374<br />
*<br />
15.893 ”0000100001100002000012000021000030000130000220000310000400001400002300003<br />
20000410001010001110001210001310001410002010002110002210002310002400003300<br />
0042000...”<br />
79.274 ”0000100001100002000012000021000030000130000220000310000400001400002300003<br />
20000410000500001500002400003300004200005100010100011100012100013100014100<br />
015100...”<br />
4 2 4 17 0 ”00102031121322330”<br />
5 2 4 26 0 ”00102030411213142232433440”<br />
6 2 4 37 0.01 ”0010203040511213141522324253343544550”<br />
4 3 4 66 0.01 ”000100200301101201302102202303103203311121131221231321332223233300”<br />
5 3 4 127 0.01 ”0001002003004011012013014021022023024031032033034041042043044111211311412<br />
212312413213313414214314422232242332342432443334344400”<br />
6 3 4 218 0 ”0001002003004005011012013014015021022023024025031032033034035041042043044<br />
04505105205305405511121131141151221231241251321331341351421431441451521531<br />
54155222322422523323423524324424525325425533343353443...”<br />
4 4 4 244 * 3.585 ”0001000200030011001200130021002200230031003200330101020103011101120113012<br />
10122012301310132013302020302110212021302210222022302310232023303031103120<br />
3130321...”<br />
5 4 4 614 * 3.856 ”0001000200030004001100120013001400210022002300240031003200330034004100420<br />
04300440101020103010401110112011301140121012201230124013101320133013401410<br />
142014...”<br />
6 4 4 1282 * 4.146 ”0001000200030004000500110012001300140015002100220023002400250031003200330<br />
03400350041004200430044004500510052005300540055010102010301040105011101120<br />
11301...”<br />
4 5 4 940 * 4.366 ”0001000110002000120002100030001300022000310010100111001210013100201002110<br />
02210023000320010200112001220013200202002120022200231003010031100321003300<br />
103001...”<br />
5 5 4 2971 * 5.448 ”0001000110002000120002100030001300022000310004000140002300032000410010100<br />
11100121001310014100201002110022100231002400033000420010200112001220013200<br />
14200...”<br />
6 5 4 7550 * 7.321 ”0001000110002000120002100030001300022000310004000140002300032000410005000<br />
15000240003300042000510010100111001210013100141001510020100211002210023100<br />
24100250...”<br />
4 6 4 3700 * 6.369 ”0001000101000200010200020100030001030002020003010010011000110100120001110<br />
00210001201001300011200021100031000130100200100210100220001210002201002300<br />
012200...”<br />
5 6 4 14745<br />
*<br />
6 6 4 45001<br />
*<br />
3 2 3 10 0 ”0010211220”<br />
14.251 ”0001000101000200010200020100030001030002020003010004000104000203000302000<br />
40100100110001101001200011100021000120100130001120002110003100013010014000<br />
113000...”<br />
81.588 ”0001000101000200010200020100030001030002020003010004000104000203000302000<br />
40100050001050002040003030004020005010010011000110100120001110002100012010<br />
013000...”<br />
4 2 3 17 0.01 ”00102031121322330”<br />
5 2 3 26 0.01 ”00102030411213142232433440”<br />
6 2 3 37 0.01 ”0010203040511213141522324253343544550”<br />
3 3 3 26 1.813 ”00102212202112101201100200”<br />
4 3 3 58 * 2.994 ”0010020030110120130210220230310320331211311221323212313300”<br />
5 3 3 114 * 2.955 ”0010020030040110120130140210220230240310320330340410420430441121131141221<br />
23124132133134142143144232242233243424400”<br />
6 3 3 205 * 2.984 ”0010020030040050110120130140150210220230240250310320330340350410420430440<br />
45051052053054055112113114115122123124125132133134135142143144145152153154<br />
155223...”<br />
3 4 3 54 * 3.485 ”001001100200120021010112010201221102202022121021122011”<br />
4 4 3 189 * 3.555 ”0010011002001200210030013002200310101120102011301030121012201230032013102<br />
11013202021202210223013302030213023030311023103120313032103220232032311211<br />
221131...”<br />
5 4 3 515 * 3.746 ”0010011002001200210030013002200310040014002300320041010112010201130103011<br />
40104012101220123012400330042013101320141021101420202120221022302030213022<br />
40133013400430143023102320233024020402140234014402410...”<br />
6 4 3 1126 * 4.075 ”0010011002001200210030013002200310040014002300320041005001500240033004200<br />
51010112010201130103011401040115010501210122012301240125003400430052013101<br />
32014101420151021101520202120221022302030213022402040...”<br />
3 5 3 154 * 3.856 ”0010010100200102002010110011010120011200210012010210102200121002110022011<br />
02011210112200221012110122012020121201221020202102112112211021220221212212<br />
0220200”<br />
201
Referências Bibliográficas<br />
Base Janela<br />
Dig.<br />
Reptd<br />
.<br />
Tamanho<br />
Tempo<br />
Process.<br />
Sequência unívoca<br />
4 5 3 754 * 4.266 ”0010010100200102002010030010300202003010110011010120011200210012010130011<br />
30021100212003100130102101022001210022010230012200221003110032001310023010<br />
310103...”<br />
5 5 3 2515 * 5.188 ”0010010100200102002010030010300202003010040010400203003020040101100110101<br />
20011200210012010130011300211002120031001301014001140021300311003120041001<br />
40102...”<br />
6 5 3 6587 * 6.75 ”0010010100200102002010030010300202003010040010400203003020040100500105002<br />
04003030040200501011001101012001120021001201013001130021100212003100130101<br />
40011...”<br />
3 6 3 399 * 4.616 ”0010010020010100110010110020100120010200110100210010210020200120100220011<br />
20012100112100211001211002120020020110110120021010101120101020101201102002<br />
11200...”<br />
4 6 3 2772 * 5.859 ”0010010020010030010100110010110020100120010120020020110030100130010200110<br />
10021001021002020012010022001022002021003020013010023001030011020021010031<br />
001031...”<br />
5 6 3 11811<br />
*<br />
6 6 3 37958<br />
*<br />
2 2 2 3 0 “010”<br />
3 2 2 7 0 “0102120”<br />
4 2 2 13 0.01 “0103231302120”<br />
5 2 2 17 * 2.604 “01023204034131430”<br />
12.498 ”0010010020010030010040010100110010110020100120010120020020110030100130010<br />
13002003002012003011004010014001020011010021001021002020012010022001022002<br />
021003...”<br />
69.53 ”0010010020010030010040010050010100110010110020100120010120020020110030100<br />
13001013002003002012003011004010014001014002004002013003003012004011005010<br />
015001...”<br />
6 2 2 31 2.594 “0102030405121423532541524313450”<br />
2 3 2 4 0 “0101”<br />
3 3 2 14 0 “01012120210201”<br />
4 3 2 36 * 2.994 “010120130202312103203131021232132301”<br />
5 3 2 82 3.005 ““0101201301402021023024030310320340410420431212313141242142434132414323213<br />
423430401”<br />
6 3 2 146 * 3.024 “0101201301401502021023024025030310320340350404104204304505105205305412123<br />
1241313213414151251351421431451521531542323424252353253545243454352540501”<br />
2 4 2 5 0 “01010”<br />
3 4 2 27 0.03 “010102121202102020121012010”<br />
4 4 2 108 * 3.425 “0101020103012012101230130202030210212021303031013102302310312031312121313<br />
21231232320132303213202321032313010”<br />
5 4 2 316 * 3.625 “0101020103010401201210123012401301310132013401402020302040210212021302140<br />
30304031023023103120313031404041014102402320234024103203210340323032403410<br />
4120413...”<br />
6 4 2 753 3.605 “0101020103010401050120121012301240125013013101320134013501401410142014301<br />
45015020203020402050210212021302140215030304030503102302310312031303140315<br />
0404050...”<br />
2 5 2 6 0 “010101”<br />
3 5 2 52 3.796 “0101012010202121210210121201202102012101021202020101”<br />
4 5 2 328 3.896 “0101012010130102010210102301030120201203013020130302020210202302030210302<br />
30303101031020310303201032020320312012101212013101230121301231013120212023<br />
102121...”<br />
5 5 2 1279 * 4.356 “0101012010130101401020102101023010240103010310103201034010401202012030120<br />
40130201303013040140201403014040202021020230202402030203102032020340204021<br />
030210...”<br />
6 5 2 3746 * 5.778 “0101012010130101401015010201021010230102401025010301031010320103401035010<br />
40104101042010430104501050120201203012040120501302013030130401305014020140<br />
301404...”<br />
2 6 2 7 0 “0101010”<br />
3 6 2 89 * 4.256 “0101010201012010202010210101210102120120121020120210202101212021202012121<br />
0120202121201010”<br />
4 6 2 970 * 4.736 “0101010201010301012010121010123010130102020102030102101021201021301030201<br />
03030103101013101023010231010312010313012012013012102012020121030120210120<br />
2301203...”<br />
5 6 2 5111 * 6.549 “0101010201010301010401012010121010123010124010130101310101320101340101401<br />
02020102030102040102101021201021301021401030201030301030401031010230102310<br />
1031201...”<br />
202<br />
6 6 2 18729<br />
*<br />
2 2 1 5 0 ”00110”<br />
3 2 1 10 0.01 ”0010211220”<br />
4 2 1 17 0.01 ”00102031121322330”<br />
27.099 “0101010201010301010401010501012010121010123010124010125010130101310101320<br />
10134010135010140101410101420101430101450101501020201020301020401020501021<br />
010212...”
Base Janela<br />
Dig.<br />
Reptd<br />
.<br />
Tamanho<br />
Tempo<br />
Process.<br />
5 2 1 26 0.01 ”00102030411213142232433440”<br />
Sequência unívoca<br />
6 2 1 37 0 ”0010203040511213141522324253343544550”<br />
2 3 1 10 0.01 ”0001011100”<br />
3 3 1 29 0 ”00010020110120210221112122200”<br />
Referências Bibliográficas<br />
4 3 1 66 0 ”000100200301101201302102202303103203311121131221231321332223233300”<br />
5 3 1 127 0 ”0001002003004011012013014021022023024031032033034041042043044111211311412<br />
212312413213313414214314422232242332342432443334344400”<br />
6 3 1 218 0 ”0001002003004005011012013014015021022023024025031032033034035041042043044<br />
04505105205305405511121131141151221231241251321331341351421431441451521531<br />
5415522...”<br />
2 4 1 19 0 ”0000100110101111000”<br />
3 4 1 84 0 ”0000100020011001200210022010102011101120121012202021102120221022211112112<br />
21212222000”<br />
4 4 1 259 0.01 ”0000100020003001100120013002100220023003100320033010102010301110112011301<br />
21012201230131013201330202030211021202130221022202230231023202330303110312<br />
031303...”<br />
5 4 1 628 0 ”0000100020003000400110012001300140021002200230024003100320033003400410042<br />
00430044010102010301040111011201130114012101220123012401310132013301340141<br />
0142014301440202030204021102120213021402...”<br />
6 4 1 1299 0 ”0000100020003000400050011001200130014001500210022002300240025003100320033<br />
00340035004100420043004400450051005200530054005501010201030104010501110112<br />
01130114011501210122012301240125013101320...”<br />
2 5 1 36 0 ”000001000110010100111010110111110000”<br />
3 5 1 247 0 ”0000010000200011000120002100022001010010200111001120012100122002010020200<br />
21100212002210022201011010120102101022011020111101112011210112201202012110<br />
1212012...”<br />
4 5 1 1028 0 ”0000010000200003000110001200013000210002200023000310003200033001010010200<br />
10300111001120011300121001220012300131001320013300201002020020300211002120<br />
021300...”<br />
5 5 1 3129 0.02 ”0000010000200003000040001100012000130001400021000220002300024000310003200<br />
03300034000410004200043000440010100102001030010400111001120011300114001210<br />
0122001...”<br />
6 5 1 7780 0.03 ”0000010000200003000040000500011000120001300014000150002100022000230002400<br />
02500031000320003300034000350004100042000430004400045000510005200053000540<br />
0055001...”<br />
2 6 1 69 0 ”000000100001100010100011100100101100110100111101010111011011111100000”<br />
3 6 1 734 0.01 ”0000001000002000011000012000021000022000101000102000111000112000121000122<br />
00020100020200021100021200022100022200100100200101100101200102100102200110<br />
100110...”<br />
4 6 1 4101 0.03 ”0000001000002000003000011000012000013000021000022000023000031000032000033<br />
00010100010200010300011100011200011300012100012200012300013100013200013300<br />
0201000...”<br />
5 6 1 15630 0.07 ”0000001000002000003000004000011000012000013000014000021000022000023000024<br />
00003100003200003300003400004100004200004300004400010100010200010300010400<br />
0111000...”<br />
6 6 1 46661 0.251 ”0000001000002000003000004000005000011000012000013000014000015000021000022<br />
00002300002400002500003100003200003300003400003500004100004200004300004400<br />
0045000...”<br />
203
Anexo 4<br />
204<br />
Ficha Técnica<br />
Escrito em Open Office 1.0.3.1 sob Win<strong>do</strong>ws com sm641mi.dll corrigi<strong>da</strong><br />
Fontes: Arrus BT, Dauphin , Ver<strong>da</strong>na e Blue Highway<br />
Muitas figuras <strong>de</strong>senha<strong>da</strong>s utilizan<strong>do</strong> Corel Draw 10<br />
URL <strong>da</strong> página <strong>do</strong> Autor: http://www.fe.up.pt/~asousa<br />
URL <strong>da</strong> página <strong>da</strong> equipa <strong>de</strong> Futebol Robótico <strong>da</strong> FEUP: http://www.fe.up.pt/~robosoc<br />
Arman<strong>do</strong> Jorge Miran<strong>da</strong> <strong>de</strong> Sousa,<br />
1 Setembro 2003