13.04.2013 Views

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 ...

SHOW MORE
SHOW LESS

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 i1­x 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'=u­Ou⋅ Su<br />

v'=v­Ov⋅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 d­Ox⋅ Su ⋅ 1 kb⋅ rd 2 <br />

v' =v d­Oy⋅ 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 = [ zw­Zx p /z p ]<br />

zw­Z 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 Y­y 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 2­t 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 ­ x­2<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 n­E 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 />

yk­x 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 = xk­1Gu k­1<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 k­1<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 = xk­1Gu k­1wk­1<br />

yt = Hxkvk­1<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 = xk­1Gu k­1wk­1 (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 ­ = xk­1Bu k­1 (5.37)<br />

A associa<strong>da</strong> covariância:<br />

Pk ­ = Pk­1 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 k­H 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 k­H 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 ­ = xk­1Bu k­1<br />

Propagar a covariância:<br />

Pk ­ = Pk­1 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 yk­H 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 xk­1,uk,wk­1<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 xk­1,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 xk­1­xkWwk­1<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 xk­xk­1k<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 xk­1,uk,0<br />

A propagação <strong>da</strong> covariância:<br />

Pk ­ =Ak Pk­1 Ak T W kQk­1W 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 yk­hxk ­ ,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 k­1 ,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 k­t 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 xk­1,uk,0<br />

Propagar a Covariância:<br />

Pk ­ =<br />

Ak Pk­1 Ak T <br />

W k Q k­1W 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= yk­h 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,b­1] (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 ,⋯,sij­1 se 1≤i≤n­ j1<br />

si ,⋯,sn ,S1, ⋯,Sij­n­1 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 i­j1 para 0in­ j1 (6.4)<br />

On<strong>de</strong> n=b j j­1 .<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 m­y c , x m­x 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 />

= coszw­z VHCd VHC cos­sin 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 zw­zVHCd VHC cos­sin 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 w­z VHC2 sin 2 cos 2 usin 2 v sin dVHCcoscosusinv 2 +<br />

+ d VHC cos­sincosusinv2 cos 2 cos 2 usin 2 v sind VHCcoscosusin v 4 <br />

+<br />

sin 2<br />

z w­zVHC 2 sin 2 ucos 2 v sind VHCcoscosusinv 2 +<br />

sinu­cosv2cos 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 w­zVHC 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 cos­sin 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 u­cosv2cos 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, n­1] (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,q­1] ,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 />

q­1 q­1d q­1] q­1d]<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 = ywall­a 0sin 0wall­est { r =wall­est , se a 00 r =wall­est 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­ i­1 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­ i­1,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 i­1d 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'L­a (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 k­1B ut k­1<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 k­1<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 m­u 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!