• Nenhum resultado encontrado

Reengenharia de protótipo de condução autónoma

N/A
N/A
Protected

Academic year: 2021

Share "Reengenharia de protótipo de condução autónoma"

Copied!
116
0
0

Texto

(1)

F

ACULDADE DE

E

NGENHARIA DA

U

NIVERSIDADE DO

P

ORTO

Reengenharia de Protótipo de

Condução Autónoma

Rodolfo Almeida Marques

Mestrado Integrado em Engenharia Electrotécnica e de Computadores Orientador: Armando Jorge Miranda de Sousa (Prof. Doutor)

(2)
(3)
(4)
(5)

Resumo

Existem vários centros de desenvolvimento especializado a nível mundial na área da robótica, apoiados tanto por empresas conhecidas como por universidades conceituadas. Com o crescente desenvolvimento de tecnologias e produtos nesta área, o interesse da população é cada vez maior e cada vez existem mais núcleos pequenos que se dedicam ao desenvolvimento de robôs como forma de passatempo. Isto faz com que seja também cada vez mais importante encontrar soluções simples e ao alcance de qualquer orçamento.

Sendo estes sempre dos maiores focos no desenvolvimento de qualquer produto (simplicidade e baixo custo), uma das propostas deste projecto é precisamente a construção de um protótipo que seja constituído pelo menor número de componentes e materiais e tão simples quanto possível, nunca perdendo de vista a qualidade. Dado que em Portugal são poucas as oportunidades de demonstração ao público deste tipo de tecnologias, principalmente a nível nacional, escolheu-se a participação no Festival Nacional de Robótica como também um objectivo final.

Assim, reutilizou-se um protótipo de condução autónoma para fins demonstrativos como base para este projecto. Toda a percepção sensorial é realizada através de um sistema de visão baseado no sensor Kinect da Microsoft e num sistema de odometria para localização relativa. Existe um computador que realiza a aquisição e interpretação das informações sensoriais e decide qual a melhor forma de proceder.

O sistema de visão foi desenvolvido de forma modular para integração com um sistema de pacotes ROS e é capaz de detectar e identificar sinais e semáforos, identificar obstáculos na frente do protótipo e seguir as linhas laterais de uma estrada. Este é um sistema em tempo real e tem por objectivo o processamento de um stream de vídeo a cerca de trinta frames por segundo.

(6)
(7)

Abstract

There are several development centers all around the world that specialize in the field of robo-tics supported not only by big companies but also by known universities. With the ever increasing development of new products and technologies in this area the interest and knowledge of the ge-neral population is also steadily increasing and small groups of hobbyists appear every day. All this makes the development of simple and low budget solutions extremely important.

Since some of the main interests on the development of every new product are development simplicity and low production cost, one of the main objectives in this project is to develop a prototype with as simple and few components and materials possible without ever loosing sight of the quality of the solution. As it is rather difficult to show the final products of the research and development of these type of solutions in Portugal another main goal was the participation at the Festival Nacional de Robótica competition.

An autonomous driving prototype for showcase purposes was re-utilized as a basis for this project. All the sensory perception is acquired by a vision system based on the Kinect sensor by Microsoft and an odometry sensor system for relative localization. A laptop is used to acquire and process all the perception information and decide the best course of action for the prototype.

The vision system is completely modular and aimed at a real time image processing capability of video stream of approximately thirty frames per second. It is oriented for the integration with the ROS package system and is capable of detect and identify signals and semaphores, identify obstacles in the front of the prototype and follow lane lines in a road.

(8)
(9)

“Expect problems and eat them for breakfast.”

Alfred A. Montapert

(10)
(11)

Conteúdo

Resumo i Abstract iii Citação v Conteúdos vii Lista de Figuras ix Lista de Tabelas xi

Abreviaturas e Símbolos xiii

1 Introdução 1

Introdução 1

1.1 Motivação e Enquadramento . . . 2

1.2 Descrição do Problema . . . 3

1.3 Objectivos e Resultados Esperados . . . 3

1.4 Levantamento de Requisitos . . . 4

1.5 Estrutura do Documento . . . 5

2 Estado da Arte 7 Estado da Arte 7 2.1 Condução Autónoma – Perspectiva Histórica . . . 8

2.2 Competições de Condução Autónoma . . . 9

2.2.1 DARPA Grand Challenge . . . 9

2.2.2 DARPA Urban Challenge . . . 10

2.2.3 Festival Nacional de Robótica . . . 11

2.2.4 European Land Robot Trial - ELROB . . . 13

2.3 Trabalhos Relacionados . . . 15 2.3.1 CLEVER Robot . . . 15 2.3.2 FEUPCAR 2.0 . . . 15 2.3.3 Projecto Atlas . . . 16 2.3.4 Projecto ROTA . . . 17 2.3.5 Projecto VERSA . . . 18 2.3.6 Outros Projectos . . . 19 vii

(12)

3 Conceitos Teóricos 21

Conceitos Teóricos 21

3.1 Robótica e Robots Móveis . . . 22

3.1.1 Interacção e Percepção do Mundo . . . 23

3.1.2 Formas de Locomoção . . . 29

3.1.3 Autonomia e Baterias . . . 32

3.2 Análise e Processamento de Imagem . . . 36

3.2.1 Bibliotecas . . . 37

3.2.2 Filtros . . . 37

3.2.3 Thresholding e Espaços de Cores . . . 38

3.2.4 Realce de Orlas e Linhas . . . 40

3.2.5 Template Matching . . . 43

4 Estado Inicial do Protótipo 45 Estado Inicial do Protótipo 45 4.1 Estrutura Geral e Componentes Utilizados . . . 46

4.2 Electrónica e Circuito de Potência . . . 48

4.3 Arquitectura de Software . . . 50

4.3.1 Linguagens de Programação, Sistema Operativo e IDE’s . . . 50

4.3.2 Protocolos de Comunicação . . . 51

4.3.3 Sistema de Visão . . . 51

4.3.4 Sistema de Decisão . . . 54

4.3.5 Sistema de controlo e accionamento de motores . . . 55

5 Estado Final do Protótipo 59 Estado Final do Protótipo 59 5.1 Estrutura Geral e Componentes Utilizados . . . 60

5.2 Electrónica e Circuito de Potência . . . 65

5.3 Arquitectura de Software . . . 66

5.3.1 Sistema de Visão . . . 68

6 Conclusões e Trabalho Futuro 75 Conclusões e Trabalho Futuro 75 6.1 Conclusões . . . 76

6.2 Trabalho Futuro . . . 77

A Anexo A - Estado Inicial 79 A.1 Circuitos Eléctricos . . . 80

A.2 Mapeamento de Pin Out’s . . . 83

B Anexo B - Estado Final 85 B.1 Circuitos Eléctricos . . . 86

B.2 Mapeamento de Pin Out’s . . . 88

(13)

Lista de Figuras

2.1 Alguns exemplos de protótipos de veículos autónomos. . . 9

2.2 Duas imagens ilustrativas dos Challenges da DARPA. . . 10

2.3 Detalhe de uma prova da competição Robot@Factory. . . 11

2.4 Detalhe de um jogo de futebol robótico durante a competição. . . 12

2.5 Imagens ilustrativas do circuito da prova de condução autónoma. . . 12

2.6 Dois exemplos de projectos universitários no âmbito da Condução Autónoma. . . 16

2.7 O protótipo ROTA, na versão de 2006. . . 18

3.1 Karel Capek e a sua peça. . . 22

3.2 Exemplos das formas robóticas mais assustadoras. . . 23

3.3 Diferença entre código Gray e código binário natural. . . 24

3.4 Exemplos de discos ópticos para encoders. . . 25

3.5 Exemplos de sensores Laser Rangefinder. . . 25

3.6 Conjunto de câmaras RGB-D mais comuns. . . 26

3.7 Exemplo de um relé. . . 26

3.8 Classificação geral dos motores eléctricos. . . 27

3.9 Os dois tipos de motores DC. . . 28

3.10 Forma de locomoçao do tipo triciclo. . . 29

3.11 Forma de locomoçao do tipo Ackerman. . . 30

3.12 Forma de locomoçao do tipo diferencial. . . 31

3.13 Pirâmide de Processamento de Imagem. . . 36

3.14 Exemplo de uma másara para um filtro. . . 38

3.15 Exemplos de espaços de cores diferentes. . . 39

3.16 Exemplo de uma operação de thresholding numa imagem em escala de cinzentos. 40 3.17 Exemplo de uma operação de thresholding na cor laranja. . . 40

3.18 Máscaras utilizadas por alguns métodos de detecção de orlas. . . 41

3.19 Exemplo de máscaras para as direcções principais. . . 42

3.20 Imagem antes e depois da aplicação de um Filtro de Canny. . . 42

3.21 Imagem antes e depois da aplicação de uma Transformada de Hough. . . 42

3.22 Resultado de aplicação de uma operação de Template Matching. . . 43

4.1 Fotografias da estrutura inicial do protótipo. . . 46

4.2 CAD da estrutura inicial do protótipo. . . 47

4.3 Arquitectura genérica do protótipo. . . 48

4.4 Parte de potência do protótipo. . . 49

4.5 Conjunto dos diversos componentes utilizados. . . 50

4.6 Fluxograma do algoritmo de Detecção e Identificação de Sinais e Semáforos. . . 52

4.7 Fluxograma do algoritmo de Detecção de Obstáculos e Seguimento de Linha. . . 53 ix

(14)

4.8 Arquitectura do algoritmo do Sistema de Decisão. . . 54

4.9 Imagem ilustrativa da GUI do sistema de decisão. . . 55

4.10 Fluxograma do Sistema de Accionamento e Controlo dos Motores. . . 56

5.1 Fotografias da estrutura final do protótipo. . . 60

5.2 CAD da estrutura final do protótipo. . . 60

5.3 Zoom e comparação entre imagem captada com e sem a sua utilização. . . 61

5.4 Ilustração do FoV da Kinect com e sem zoom a cerca de oitenta centímetros do solo. 62 5.5 Arquitectura genérica do protótipo. . . 63

5.6 Resumo gráfico das modificações estruturais do protótipo. . . 64

5.7 Resumo gráfico das modificações eléctricas do protótipo. . . 65

5.8 Baterias finalizadas, ligadas as carregador e ao equalizador. . . 66

5.9 Conjunto dos diversos componentes utilizados. . . 66

5.10 Arquitectura de software. . . 67

5.11 GUI de controlo dos LED’s. . . 68

5.12 Conjunto de templates utilizado. . . 69

5.13 GUI do processo de calibração do algoritmo. . . 71

5.14 GUI do processo de calibração do algoritmo. . . 72

5.15 GUI do processo de calibração do algoritmo. . . 73

A.1 Circuito de ligação em série das duas células de chumbo ácido. . . 80

A.2 Circuito de alimentação da Kinect. . . 80

A.3 Circuito de distribuição de sinal dos encoders. . . 81

A.4 Circuito de distribuição dos 24V. . . 82

A.5 Configuração das ligações dos encoders. . . 83

A.6 Configuração das ligações do Arduino. . . 83

B.1 Circuito de ligação das baterias de lítio polímero. . . 86

B.2 Circuito de ligação de um dos LED’s. . . 86

B.3 PCB de distribuição da alimentação e controlo dos led’s. . . 87

(15)

Lista de Tabelas

2.1 Comparação entre as diferentes competições e seus objectivos. . . 14 3.1 Comparação entre diferentes tipos de baterias recarregáveis. . . 34 3.2 Diferentes métodos de carregamento para baterias recarregáveis. . . 35

(16)
(17)

Abreviaturas e Símbolos

Lista de abreviaturas (ordenadas por ordem alfabética)

API Application Programming Interface

CA Corrente Alternada

CAD Computer-Aided Design

CC Corrente Contínua

DARPA Defense Advanced Research Project Agency

DEEC Departamento de Engenharia Electrotécnica e de Computadores EUA Estados Unidos da América

FEUP Faculdade de Engenharia da Universidade do Porto FNR Festival Nacional de Robótica

FoV Field ofView

GPS Global Positioning System GUI Graphic User Interface HSV Hue-Saturation-Value

IDE Integrated Development Environment LED Light-Emitting Diode

MIEEC Mestrado Integrado em Engenharia Electrotécnica e de Computadores OpenCV Open-Source Computer Vision

PC Personal Computer

PCAFNR Prova de Condução Autónoma do Festival Nacional de Robótica PCB Printed Circuit Board

PCL Point Cloud Library PWM Pulse Width Modulation

RGB Red-Green-Blue

RGBD Red-Green-Blue–Depth ROS Robotic Operating System UDP User Data Protocol

Lista de símbolos (ordenados por ordem alfabética)

α Ângulo

ω Velocidade Angular θ Velocidade Angular

(18)
(19)

Capítulo 1

Introdução

Neste capítulo introdutório pretende-se contextualizar este trabalho e compreender a sua razão de existência.

Aqui será apresentada a motivação para o desenvolvimento deste projecto. É descrito o pro-blema bem como as metodologias utilizadas e são apresentados os resultados esperados. É ainda apresentada uma lista de levantamento de requisitos e define-se a estrutura geral deste documento.

(20)

1.1 Motivação e Enquadramento

Desde os tempos antigos que o homem tenta utilizar engenhos que facilitem o seu trabalho ou melhorem o seu conforto. Desde as ferramentas rudimentares de corte aos mais modernos aparelhos de controlo à distância, o homem tende a seguir essa tendência no seu percurso evolutivo. Desde tempos não tão antigos, outra das realizações que o ser humano tenta alcançar é a criação de uma réplica sua que seja tão ou mais eficiente em variadas tarefas. Da junção destas duas áreas de interesse e com um pouco de ajuda de mentes mais ficcionais acabou por surgir a disciplina da Robótica.

Esta disciplina pode resolver problemas em quase qualquer outra área de actuação humana. Desde a exploração mineira ou as ciências militares ao apoio a pessoas de mobilidade reduzida, facilmente qualquer pessoa pode pensar em variados sistemas robóticos que contribuem para o ac-tual funcionamento de uma destas ou qualquer outra área. Um dos segmentos onde esta disciplina tem tido um especial impacto actualmente tem sido a indústria automóvel. Neste momento o facto de os veículos que conduzimos estarem equipados de fábrica com todo o tipo de sistemas que facilitam ou tornam mais confortável e segura uma viagem é já um dado adquirido. No entanto, o que se tem verificado nos últimos anos como o próximo grande passo evolutivo nesta indústria é o equivalente ao piloto automático nos aviões: algo definido globalmente como “condução autó-noma”. Este conceito, como o próprio nome o sugere, indica que os veículos poderão passar a ser independentes, não havendo necessidade de um condutor. Isto pode sugerir uma segurança muito maior nas estradas a nível mundial, pois em situações onde o erro e fraco julgamento humano pre-valecem actualmente, a lógica e matemática computacional e a comunicação entre veículos podem solucionar mais eficazmente qualquer problema.

Um dos grandes problemas da Robótica moderna é a capacidade de um sistema conseguir per-cepcionar o ambiente que o envolve. Apesar de muitas formas de percepção terem sido propostas, uma que ganhou especial destaque foi a capacidade de o sistema simular a visão humana. Esta ca-pacidade é hoje em dia utilizada em muitas áreas e pode tornar-se inovadora em muitas outras. Por exemplo na área da Automação Industrial existem já sistemas de selecção de garrafas automáticos com câmaras ou sistemas de identificação de defeitos em circuitos integrados baseados em análise de imagens raio-X. Para além destas áreas, outros exemplos podem ser mencionados, como a uti-lização da reconstrução virtual de espaços para projectos de Arquitectura ou da Realidade Virtual; a capacidade de um robot “ver” o mundo como um qualquer ser humano na área da Robótica; a análise de imagens médicas automática para ajuda de especialistas na Medicina; a identificação de características individuais em cada humano na área da Segurança ou da Biometria; etc. To-dos estes exemplos demonstram o impacto que o desenvolvimento desta capacidade pode ter na sociedade futura desde o ambiente industrial e profissional ao ambiente caseiro e recreativo.

(21)

1.2 Descrição do Problema 3

1.2 Descrição do Problema

Neste trabalho de dissertação é proposta a reutilização do protótipo de um veículo orientado para a competição de Condução Autónoma do Festival Nacional de Robótica.

O protótipo já existe desde 2011, tendo participado nesta competição nesse ano e no seguinte. Propõe-se neste trabalho que o protótipo seja reconstruido, aproveitando e adaptando quando ne-cessário as partes que funcionavam correctamente e refazendo o restante. Dado que a construção existente (tanto a nível de hardware como de controlo e tratamento de dados) foi já estudada e testada em trabalhos anteriores, prevê-se que poucas alterações haja a fazer na estrutura mas que algumas revisões ou substituições de componentes possam ser necessárias.

Actualmente as técnicas de comunicação entre diferentes tipos de hardware desde o mais baixo ao mais alto nível encontram-se bastante desenvolvidas. As partes integrantes do protótipo pos-suem já um protocolo de comunicação amplamente testado e funcional, mas devido a avanços recentes prevê-se uma possível substituição de toda a arquitectura de software.

Uma das maiores problemáticas da disciplina da Robótica e, neste caso, da Condução Autó-noma é a capacidade de percepção do ambiente por parte do sistema. Vários sistemas têm vindo a ser testados mas a simulação da visão humana e a capacidade de correcta decisão do sistema por análise da informação obtida por essa capacidade são duas das mais complicadas e desafiadoras propostas. Os resultados obtidos neste tipo de sistema estão longe do óptimo e é um dos focos desta dissertação desenvolver um sistema simples, barato e eficiente que consiga dar respostas satisfatórias em tempo real.

1.3 Objectivos e Resultados Esperados

Pretende-se como objectivo final deste trabalho a criação de um protótipo capaz de superar os desafios propostos na competição de condução autónoma do Festival Nacional de Robótica.

Entre estes desafios podem enumerar-se a capacidade de o protótipo se manter numa faixa de rodagem, mudar deliberadamente de faixa, reconhecer obstáculos, reconhecer e identificar sinais de trânsito e semáforos e agir de acordo com a sinalização, operar com pouca visibilidade (dentro de um túnel), estacionar num local próprio para esse efeito ou reconhecer uma passadeira.

Assim, os seguintes objectivos específicos necessitam ser cumpridos:

• Reengenharia do protótipo existente, verificando a funcionalidade de todas as partes vitais;

• Projecto e desenvolvimento de sistema de percepção melhorado, capaz de produzir resulta-dos fiáveis e precisos em tempo real.

Pretende-se que o protótipo seja de baixo custo e mecânica simples, com algoritmos de con-trolo robustos, rápidos e tão genéricos quanto possível. Objectivos secundários serão a redução do hardware do sistema de visão para apenas um sensor e o melhoramento da electrónica do protótipo. Espera-se que durante este trabalho sejam aprendidos e utilizados novos e inovadores conceitos no campo da visão computacional e análise e processamento de imagem em tempo real, de forma

(22)

a produzir um algoritmo que possa servir de base para outros sistemas de condução autónoma ou aplicações semelhantes.

1.4 Levantamento de Requisitos

Este protótipo é principalmente orientado à prova de Condução Autónoma do Festival Nacio-nal de Robótica. Assim, os principais requisitos prendem-se com as exigências da regulamentação desta competição [1]. Assim, o protótipo deve respeitar o seguinte:

• Dimensões — o protótipo deve caber numa caixa paralelepipédica com 100x60x80 cm (comprimento, largura, altura);

• Autonomia — todas as decisões são feitas no próprio protótipo, as fontes de energia devem estar integradas na estrutura e nenhum tipo de comunicação é permitida com equipamentos externos;

• Segurança — o protótipo tem de possuir mecanismos adaptados a sua potência e forma de locomoção de modo a que se possa imobilizar imediatamente em situações de perigo para pessoas ou propriedade. Deve existir um conector que permita desligar os motores através de um relé controlado externamente, fornecido pelo júri da prova. Um espaço de 10x8x5 centímetros deve existir no protótipo com uma tira de velcro de 2x8 centímetros do tipo fêmea para colocar o dispositivo;

• Funcionalidades — reconhecimento de semáforos e sinais; localização num ambiente es-truturado; mobilidade semelhante a um veículo terrestre; detecção de obstáculos; planea-mento de trajectória; movimentação em espaços com pouca luminosidade;

• Sinalizações — devem existir 3 LED’s, um azul, um verde e um vermelho (ou alternativa-mente 1 LED Red-Green-Blue (RGB)) para sinalizar a detecção e identificação dos sinais de trânsito (o LED vermelho corresponde aos sinais de perigo, o azul aos de obrigação e o verde aos de informação). Dado que existem 2 sinais de cada, cada LED deve ser ligado durante 1 segundo para o primeiro sinal e ligado duas vezes para o segundo (1 segundo ON, 1 segundo OFF, 1 segundo ON). Os LED’s devem ser ligados entre 1,5 metros antes do sinal e 1,5 metros depois do sinal. Os LED’s devem ser visíveis a pelo menos 5 metros de distância;

• Interrupção de marcha — dado que a prova pode ser interrompida numa altura aleatória por decisão do árbitro, um sistema de memória de estado anterior e retoma desse estado deve ser considerado na arquitectura de software;

• Ângulo de visão — devido à configuração do início da prova, depreende-se que os sensores de detecção e identificação do semáforo devem estar posicionados de modo a que consigam percepcionar cerca de 1,20 metros de altura imediatamente à frente do protótipo.

Para além do exposto acima, existem ainda outros requisitos de caracter geral que se pretende respeitar:

(23)

1.5 Estrutura do Documento 5

• Cost-effective – não só o orçamento para este projecto é limitado, mas também é de todo o interesse tentar criar um protótipo com o melhor equipamento pelo custo mais reduzido possível;

• Utilização simples e intuitiva – pretende-se que tanto o software como o hardware do protótipo sejam simples e tão intuitivos quanto possível, facilitando não só o trabalho futuro como a reprodução;

• Software e hardware escalável e modular – em complemento do requisito anterior, soft-ware e hardsoft-ware modulares permitem trabalho futuro e reprodução facilitados e ainda a possibilidade de integração de cada módulo noutros projectos onde se entendam proveito-sos;

• Livre movimentação tanto em espaços estreitos como amplos – o protótipo deve ter uma mobilidade/forma de locomoção que lhe permita manobras controladas em qualquer tipo de ambiente;

• Versatilidade para ambientes semi-estruturados – apesar de o protótipo ser orientado ao FNR, é de todo o interesse que o seu controlo seja tão genérico quanto possível e tão livre de restrições de ambientes estruturados quanto possível, permitindo-lhe funcionar com bons resultados em qualquer ambiente.

1.5 Estrutura do Documento

Este documento apresentará em detalhe todo o trabalho realizado para esta dissertação. Depois deste capítulo introdutório, o capítulo 2 descreve o estado da arte no momento através de uma viagem histórica pelo desenvolvimento da condução autónoma e pela descrição de alguns eventos que continuam a potenciar o seu desenvolvimento.

O capítulo 3 introduz conceitos teóricos relevantes para o desenvolvimento deste projecto e melhor compreensão dos temas abordados neste documento. São abordados temas como sensores e actuadores, formas de locomoção para robots móveis, análise e processamento de imagem, etc.

No capítulo 4 é descrito o estado inicial do protótipo, em toda a sua arquitectura. Tenta-se abordar toda a sua estrutura física, componentes de hardware e suas interacções, algoritmos de softwaree formas de comunicação entre os vários sistemas.

O capítulo 5 apresenta-se com a mesma estrutura do capítulo 4, apresentando o estado final do protótipo e todo o trabalho realizado para o atingir. Descrevem-se os processos utilizados e as alterações realizadas e quais as vantagens ou desvantagens dos vários métodos ou soluções implementados.

No capítulo 6 são apresentadas as conclusões de todo o projecto bem como o trabalho futuro. O documento termina com secções de anexos e bibliografia/referências.

(24)
(25)

Capítulo 2

Estado da Arte

Neste capítulo pretende-se descrever o estado da arte no momento.

Será apresentada uma visão geral da evolução da condução autónoma desde os seus desenvol-vimentos iniciais até ao presente. Serão ainda referidas algumas competições que potenciaram o desenvolvimento e investigação nesta área, bem como alguns detalhes sobre projectos e protótipos de interesse relevantes para esta dissertação.

(26)

2.1 Condução Autónoma – Perspectiva Histórica

A condução autónoma de veículos tem apresentado evoluções notáveis. Devido à comple-xidade do tema, uma relação muito próxima e íntima entre hardware e software foi tida como imperativa desde o início. Nesse mesmo início, a tecnologia proporcionava apenas uma limitada gama de operações, não se conseguindo respostas e reacções rápidas o suficiente para obter bons resultados em qualquer tipo de ambiente, conhecido ou não. Com a evolução das tecnologias nas últimas décadas, novos desenvolvimentos tornaram possível a criação de sistemas fiáveis e robustos, provocando um grande impacto na condução autónoma.

O primeiro carro inteligente foi construído em 1977, no Japão, pelo Tsukuba Mechanical En-gineering Laboratory. Este veículo era capaz de seguir linhas brancas numa estrada própria e atingir 30 km/h. Nos Estados Unidos da América (EUA), a Defense Advanced Research Projects Agency (DARPA) desenvolveu, no início dos anos 1980, o protótipo Autonomous Land Vehicle (ALV) [2]. Este protótipo utilizava radares-laser e visão computacional para seguimento de estra-das e serviu de base para a primeira utilização de um sistema capaz de condução autónoma fora de estrada, em 1987 [3].

A Comissão Europeia interessou-se também por esta área (devido aos avanços de Dickemanns em 1980 e não só), fundando o projecto EUREKA Prometheus Project (EPP), que se manteve activo entre 1987 e 1995. Este era um programa de pesquisa e desenvolvimento dedicado a criar veículos autónomos [4]. Graças a este projecto, veículos como VaMP e VITA-2 (também desen-volvidos por Dickemanns e a sua equipa) eram, em 1994, já capazes de atingir 130 km/h numa auto-estrada de três faixas e com trânsito real, durante mais de mil quilómetros. Estes veículos usavam visão dinâmica e em tempo real para detectar e se desviar de mais de dez outros veículos em simultâneo [5].

Em 1995 a equipa de Dickemanns conseguiu ainda efectuar um percurso de ida e volta entre Munique e Copenhaga. O veículo utilizado atingiu os 177 km/h e possuía um sistema que se re-velou independente de operação humana em cerca de 95%. A maior revelação deste projecto foi a utilização de um sistema a quatro dimensões (incorporação de um modelo em três dimensões no tempo, usando recursivamente um filtro de Kalman adaptado [6]). Nesse mesmo ano mas nos EUA, um projecto da Universidade Carnegie Mellon realizou a viagem “No Hands Across Ame-rica” (literalmente, “Sem Mãos Através da AméAme-rica”), num total de quase cinco mil quilómetros. Este veículo diferia do de Dickemans no facto de, apesar de utilizar redes neuronais para o controlo da direcção, necessitar de controlo humano para a velocidade [7].

Uma das maiores comunidades de desenvolvimento de veículos autónomos que surgiu pos-teriormente foi o Artificial Vision and Intelligent Laboratory (VisLab), em Itália. Destacam-se protótipos como o ARGO entre 1997 e 2001 (este veiculo possuía duas câmaras a preto e branco e utilizava algoritmos de visão estereoscopia para seguir o trajecto proposto. Um dos principais ob-jectivos foi o de mostrar à comunidade cientifica que era possível criar um veiculo autónomo com hardware de baixo custo) [8] ou o TerraMax a partir de 2004 (que na versão de 2005 conseguiu acabar os DARPA Grand e Urban Challenges com total autonomia) [9]. Vários outros protótipos

(27)

2.2 Competições de Condução Autónoma 9

foram criados e desenvolvidos por esta comunidade e uma lista com detalhes de cada um pode ser encontrada em [10].

Vários exemplos de protótipos já desenvolvidos podem ser encontrados na Figura2.1.

(a) Protótipo ARGO. (b) Protótipo Terramax.

(c) Protótipo Stanley. (d) Protótipo Boss.

Figura 2.1: Alguns exemplos de protótipos de veículos autónomos (imagens retiradas dehttp: //www.google.com.

2.2 Competições de Condução Autónoma

Existem várias competições que ocorrem anualmente em Portugal e no estrangeiro relativa-mente à condução autónoma. Estas competições promovem a investigação nesta área, tanto a níveis mais básicos como mais avançados. Pretendem também criar interesse na população mais jovem para as novas tecnologias, possuindo tanto uma vertente pedagógica como de entreteni-mento. Seguidamente são descritas algumas das competições mais importantes da actualidade e apresenta-se ainda uma comparação sucinta dessas mesmas competições na Tabela2.1.

2.2.1 DARPA Grand Challenge

A DARPA é uma organização americana de investigação governamental, integrada no depar-tamento de defesa dos EUA. Sendo uma organização especialmente orientada para a criação e desenvolvimento de tecnologias com fins militares, tem por objectivo mecanizar as tarefas mais perigosas, de modo a proteger e preservar a vida humana.

(28)

O Grand Challenge foi uma competição organizada pela DARPA para incentivar a investiga-ção e desenvolvimento de veículos autónomos. Esta competiinvestiga-ção anual teve várias edições, sendo a primeira realizada em 2004 no deserto Mojave, EUA. Consistia em fazer um veículo percorrer um percurso de forma totalmente autónoma, atingindo o ponto de destino o mais rapidamente possível. Este percurso tinha duzentos e vinte e oito quilómetros e meio de comprimento e não existiam obstáculos na proximidade do trajecto.

A primeira edição oferecia uma recompensa de um milhão de dólares para o vencedor e ne-nhuma equipa conseguiu terminar a prova, tendo o melhor veículo percorrido uma distância de quase doze quilómetros. A segunda edição oferecia um prémio no valor de dois milhões de dóla-res e teve significativamente melhodóla-res dóla-resultados: cinco das equipas conseguiram terminar a prova com completo sucesso e dez efectuaram o percurso em menos de dez horas. Apenas uma das equipas concorrentes ficou aquém da pontuação obtida na edição anterior [11,12]. Um detalhe ilustrativo desta competição pode ver-se na Figura2.2a.

(a) Linha de chegada do Grand Challenge. (b) Detalhe de uma prova do Urban Challenge.

Figura 2.2: Duas imagens ilustrativas dos Challenges da DARPA (imagens retiradas de http: //www.google.com/.

2.2.2 DARPA Urban Challenge

Com o sucesso do Grand Challenge, a DARPA criou um novo evento em 2007, desta vez focando-se na condução citadina. Nesta competição, as equipas deveriam criar um veículo que se deslocasse em situações de bastante tráfego sem violar o código da estrada e efectuando manobras complicadas como estacionamentos ou ultrapassagens.

A prova consistia num trajecto de noventa e seis quilómetros dentro de uma zona urbana, com tráfego não controlado. Não existia um percurso predefinido, mas existia um mapeamento bastante preciso com cerca de três mil waypoints. Foram inscritas trinta e cinco equipas internacionais, das quais apenas seis terminaram a prova com sucesso a uma velocidade média de 20 km/h [13,14]. Uma detalhe ilustrativo desta competição pode ver-se na Figura2.2b.

(29)

2.2 Competições de Condução Autónoma 11 2.2.3 Festival Nacional de Robótica

Esta é uma competição totalmente portuguesa, iniciada em 2001, em Guimarães. Tem por objectivo a promoção da ciência e tecnologia em jovens de várias idades e níveis de educação, bem como no público em geral. É uma competição anual, que envolve um conselho científico nacional e internacional para demonstrar os últimos resultados das suas pesquisas e investigações. É composta por vários tipos de provas, entre as quais o Robot@Factory, o Futebol Robótico e a Condução Autónoma [15,16].

2.2.3.1 Robot@Factory

Esta competição tem por objectivo simular os desafios encontrados por um robot autónomo num ambiente industrial. O robot deverá ser capaz de transportar material entre máquinas e ar-mazéns. Recolher, transportar ou posicionar os materiais, localizar-se e manobrar-se no ambiente fornecido ou evitar choques com paredes, outros robots ou obstáculos de qualquer tipo são as ca-pacidades mínimas que qualquer participante deve demonstrar. Pode ver-se um momento desta prova na Figura2.3.

Figura 2.3: Detalhe de uma prova da competição Robot@Factory.

2.2.3.2 Futebol Robótico

Nesta prova existem duas ligas, a de robots médios (Medium Size League – MSL) e a de robots pequenos. Ambas são provas oficiais da RoboCup [17], uma iniciativa científica internacional que tem por objectivo a criação de uma equipa de robots capazes de vencer contra uma equipa humana num jogo de futebol. A competição baseia-se em duas equipas com cinco a seis robots completamente autónomos realizarem um jogo de futebol entre si, num campo semelhante ao de futebol de onze humano, mas mais pequeno. Os robots têm tamanhos máximos de oitenta centímetros de altura e cinquenta centímetros de diâmetro e podem pesar até quarenta quilogramas. Um detalhe de uma prova desta competição pode encontrar-se na Figura2.4.

(30)

Figura 2.4: Detalhe de um jogo de futebol robótico durante a competição.

(a) Topologia de todo o circuito com os

vá-rios obstáculos (retirado de [18]). (b) Detalhe de como a pista é na realidade.

Figura 2.5: Imagens ilustrativas do circuito da prova de condução autónoma.

2.2.3.3 Condução Autónoma

Esta prova visa a criação de um protótipo de veículo que seja capaz de navegar autonomamente num circuito fechado em tudo semelhante a uma estrada. A pista utilizada tenta reproduzir, em certa medida, um cenário real embora a competição decorra num ambiente estruturado. A pista, em formato de 8, simula uma estrada com duas vias à qual foram adicionados uma passadeira com um par de painéis semafóricos (um em cada sentido), um túnel, uma zona de obras, um obstáculo e uma área de estacionamento com dois lugares em que um deles está ocupado. A posição do obstáculo na pista, a localização exacta da área de estacionamento e a posição livre nessa área são dados desconhecidos para o protótipo no início da prova. Uma ilustração esquemática da pista

(31)

2.2 Competições de Condução Autónoma 13

bem como um detalhe durante a competição estão presentes na Figura2.5.

A prova consiste em três etapas, onde em todas elas o protótipo começa na passadeira, lendo o sinal “seguir em frente” do semáforo, e deve dar duas voltas ao circuito. Na primeira etapa o protótipo deve efectuar as duas voltas no mínimo tempo possível. Durante a segunda, deve reconhecer um de cinco sinais no semáforo e agir de acordo com esse sinal e deve ainda identificar um obstáculo na pista e desviar-se dele sem sair da estrada. Na terceira e última etapa tem de enfrentar um túnel que cobre parte do circuito e uma “zona de obras”, uma área não estruturada, marcada por cones sinalizadores unidos por fitas de plástico. Apesar de o circuito ser previamente conhecido (a topologia da pista mantém-se todos os anos), certos detalhes como a localização do obstáculo, do túnel ou da zona não estruturada só são conhecidos no decorrer da prova.

O conjunto integral da regulamentação mais recente (edição de 2013) encontra-se disponível para consulta em [1].

2.2.4 European Land Robot Trial - ELROB

Este é um importante evento europeu, organizado pela primeira vez em 2006 pela Federação das Forças Armadas Alemã. O objectivo era encorajar o desenvolvimento de veículos autónomos para aplicações militares. Este evento possui as vertentes militar (M-ELROB) e civil (C-ELROB), que alternam de ano em ano.

O cenário civil é sempre completamente desconhecido até ao início da corrida. A localização do percurso é fornecida através de pontos do tipo Global Positioning System (GPS) e existem vários marcos durante o percurso. Na tarefa de reconhecimento e vigilância os protótipos devem identificar e localizar correctamente estes marcos. Na tarefa de segurança de campo os protótipos devem guardar uma determinada área, existindo “intrusos” devidamente identificados que devem ser detectados e perseguidos.

A versão militar tem por objectivo simular missões militares comuns. Os cenários são muito próximos da realidade, com um nível de dificuldade semelhante ao de missões reais. Neste evento os robots têm de ter autonomia total, apesar de operações teleguiadas serem permitidas. Os re-sultados da primeira edição foram algo decepcionantes devido a muitos problemas de hardware e um uso extensivo de controlo remoto, mas em 2008 os protótipos já demonstraram que os veículos guiados não tripulados (Unmanned Guided Vehicles – UGV’s) estão prontos para desenvolvimento numa base semi-autónoma [19].

(32)

Tabela 2.1: Comparação entre as diferentes competições e seus objecti vos. Competição Objecti vo Geral Objecti vo Específico Estrutura da Pro va D ARP A Grand Challenge Desen volv er tecnologia que mantenha militares fora do campo de batalha e, consequentemente, fora de perigo. Desen volv er um robot capaz de na ve gar autonomamente num ambiente típico urbano, a média velocidade (até cerca de 50 km/h). Di visão em quatro etapas: submissão de um vídeo de demonstração do funcionamento; análise dos protótipos nas instalações de cada equipa; ronda de qualificação em ambiente semiestruturado; e ronda final em terreno “ of f-r oad ”. D ARP A Urban Challenge Desen volv er um robot autónomo capaz de se mo vimentar num terreno " of f-r oad "desconhecido, a média velocidade (até cerca de 50 km/h). Pro va única para todos os veículos, ganhando o mais rápido a completar todas as taref as. Os veículos partem com um interv alo de tempo entre si. C-ELR OB Não pretende ser uma competição aguerrida mas um encontro para demonstrar o que é possív el fazer -se com a robótica, de forma a desen volv er tecnologia na Europa e encontrar soluções para os desafios militares actuais. Demonstrar o estado actual da tecnologia de sistemas autónomos na Europa e av aliar a viabilidade comercial de produtos “ of f-the-shelf ” para uso militar em ambientes urbanos. V ariedade de cenários em vez de uma missão única. Os cenários podem ser diurnos ou nocturnos e podem incluir missões de reconhecimento e vigilância em estruturas urbanas, busca e salv amento, manipulação de químicos, na ve gação autónoma com recurso a GPS. M-ELR OB Demonstrar o estado actual da tecnologia de sistemas autónomos na Europa e av aliar a viabilidade comercial de produtos “ of f-the-shelf ” para uso militar em ambientes não-estruturados. V ariedade de cenários em vez de uma missão única. Os cenários podem ser diurnos ou nocturnos e podem incluir missões de se gurança, reconhecimento e transporte, etc. PCAFNR Promoção da Ciência e Tecnologia junto dos jo vens de todos os ciclos, in vestig adores, professores e do público em geral, atra vés de competições de robôs autónomos. Completar duas voltas a uma pista no menor tempo possív el. O protótipo não pode sair da pista, de ve respeitar sinalização e contornar obstáculos, de forma a evitar penalizações e obter a máxima pontuação possív el. Conjunto de três rondas em três dias consecuti vos. Cada ronda inclui uma corrida de teste para cada equipa, onde é possív el ex ecutar várias tentati vas. Apenas a tentati va com melhor pontuação será contabilizada.

(33)

2.3 Trabalhos Relacionados 15

2.3 Trabalhos Relacionados

Como se pode deduzir pelas secções anteriores, existem já imensos protótipos de veículos autónomos, uns com mais sucesso que outros. Em seguida apresentar-se-ão alguns exemplos e breves descrições do seu funcionamento.

2.3.1 CLEVER Robot

Ao contrário dos outros protótipos aqui referidos, este não tinha por objectivo participar numa competição de condução autónoma, mas ser uma plataforma móvel e autónoma de baixo custo para fins publicitários [20]. É pretendido que o sistema não necessite de re-calibrações quando muda de lugar.

O protótipo possui um sistema de locomoção diferencial com sensores de ultra-som para detec-ção de obstáculos, um sistema de odometria e um receptor de infravermelhos para detectar sinais provenientes de duas balizas equidistantes (para navegação numa área delimitada pelo alcance dessas balizas).

A posição do protótipo é determinada através do ângulo entre os segmentos que unem o robot às balizas e da distância a cada uma delas (triangulação). A distância é calculada indirectamente recorrendo à odometria. O ângulo é obtido numa baliza de cada vez, o que implica uma rotação de trezentos e sessenta graus sobre si próprio após o cálculo do primeiro ângulo para poder encontrar a segunda baliza e calcular o segundo ângulo.

Dada esta dependência do sistema de localização relativa, a calibração de todos os parâmetros tem de ser bastante robusta. De forma a atingir esse requerimento, o método UMBMark [21] foi introduzido com bons resultados. Este método reduz os erros sistemáticos ao longo de um determinado percurso. Para reduzir os erros derivados da odometria, introduziu-se um modelo estocástico para problemas não-sistemáticos (resvalamento das rodas em piso escorregadio ou ressaltos das rodas devido a desnivelamento do chão por exemplo).

2.3.2 FEUPCAR 2.0

Este projecto surgiu no contexto do FNR e foi um projecto de dissertação de um aluno da Faculdade de Engenharia da Universidade do Porto (FEUP). O protótipo possuía um sistema de locomoção do tipo Ackermann, um sistema de odometria e três câmaras (duas para linhas laterais da pista e a terceira para identificar a sinalização).

De modo a que o protótipo se possa orientar na pista, foi implementado um algoritmo de fusão de informação das duas câmaras. As duas imagens são analisadas para isolar as linhas da pista e dai determinar a distância relativa a cada uma delas. O processamento de imagem inicia-se com uma filtragem da imagem originada na fusão de informação para extrair a zona de importância (devido ao efeito de perspectiva as linhas tendem a convergir no horizonte mas apenas os pontos mais próximos do protótipo fornecem informação relevante e precisa). Seguidamente são separadas as

(34)

duas linhas delimitadoras das vias para determinar o vector director de cada uma. Com base nos vectores e na imagem filtrada é possível isolar a região com a linha tracejada central.

A detecção da passadeira é feita através de uma binarização com um threshold adaptativo. Seguidamente é realizada uma operação de aproximação para manter a forma convexa e depois é aplicado um filtro de erosão para eliminar ruído. O mesmo processo aplicado às linhas é então aplicado neste caso para serem detectados contornos e aproximações poligonais das formas da passadeira.

Dado que os sinais de trânsito são mostrados num ecrã TFT, existe alguma distorção aquando da aquisição pela câmara. Dado que as imagens obtidas estão no formato RGB, são separadas em três imagens diferentes, uma para cada plano de cor. Em cada plano é aplicado um threshold e um filtro de dilatação para eliminar descontinuidades. A seguir ocorre um processo de detecção de contornos que são aproximados por formas poligonais. É feita uma filtragem rigorosa consi-derando a área, o número de arestas e a convexidade do polígono a encontrar, reduzindo-se assim em grande parte a informação recebida. Finalmente é realizada uma operação de comparação com padrões guardados em memória e são comparados os coeficientes de semelhança [22].

Pode ver-se uma fotografia do FEUPCar na Figura2.6a.

(a) Fotografia do FEUPCar 2.0 (retirado de [22]).

(b) Fotografia do ATLAS (retirado de

http://www.google.com/).

Figura 2.6: Dois exemplos de projectos universitários no âmbito da Condução Autónoma.

2.3.3 Projecto Atlas

Este é um projecto português, realizado por uma equipa da Universidade de Aveiro. A sua pri-meira aparição foi em 2003 no contexto do FNR onde conseguiu o quarto lugar, sendo uma foto-grafia apresentada na Figura2.6b. O projecto foi melhorado e voltou a participar nas competições seguintes, atingindo o segundo lugar em 2005 e o primeiro em 2006 e 2007. Foi completamente reestruturado para a competição de 2008, passando a chamar-se AtlasMV nessa competição e na seguinte [23].

A primeira versão deste protótipo possuía uma arquitectura do tipo Ackermann e utilizava uma webcam com aquisição de imagens através de um espelho para obter uma visualização de

(35)

2.3 Trabalhos Relacionados 17

toda a pista. Em edições seguintes, o ATLAS passou a utilizar duas câmaras com maiores ân-gulos, recorrendo à fusão sensorial das duas imagens (intersectando-as numa única imagem). Os parâmetros de modelação das lentes e transformações de perspectiva não foram utilizados, sendo as calibrações feitas manualmente devido aos custos computacionais. Isto originou imagens sem consistência nem precisão geométrica, apesar de os resultados de navegação obtidos terem sido bastante razoáveis [24].

O AtlasMV foi desenhado para ser mais pequeno, leve e rápido que o seu predecessor e na sua segunda edição possuía uma arquitectura de software distribuída e um laser para detectar distâncias [18].

Nos protótipos mais recentes foi utilizada uma plataforma multi-câmara montada em duas unidades, uma vertical e outra horizontal, para uma percepção do mundo mais eficiente. Todas as câmaras são corrigidas com parâmetros de distorção pré-determinados. Cada ponto da imagem é mapeado num ponto do mundo real, tendo por base o modelo de cinemática da plataforma e a transformação da perspectiva da câmara [25].

Relativamente à percepção do mundo, desenvolveram-se dois algoritmos de segmentação da estrada. O primeiro tira partido da homogeneidade da estrada, onde uma linha horizontal virtual define a área permitida para navegação, o que facilita também a detecção da curvatura da estrada. O segundo tira partido da plataforma multi-câmara: é feita uma pesquisa por linhas, obtendo-se indicadores estatísticos que são posteriormente comparados com um modelo que infere a presença da linha [26]. Na detecção de obstáculos o primeiro protótipo teve uma abordagem por visão onde era assumido que os obstáculos faziam parte integrante da linha (na edição de 2006 os obstáculos eram brancos, assim como as linhas). Como a cor dos obstáculos foi alterada nas edições seguintes, a estratégia foi alterada para o uso de filtros de cor Hue-Saturation-Value (HSV).

A detecção dos sinais de trânsito é realizada pela cor e forma, convertendo a imagem em com-ponentes HSV. Posteriormente, avalia-se o objecto binário baseado na região do centro geométrico e num rectângulo envolvente.

Para a detecção da passadeira, é feita uma pesquisa por padrões similares restringida pelas linhas principais da pista. Com o sistema de câmaras inicial, a detecção baseava-se na análise binária de objectos e na computação de áreas ou perímetros, para inferir a presença da passadeira. Com o sistema multi-câmara é possível realizar uma operação de comparação da imagem obtida com um padrão pré-obtido. Para evitar as limitações desta operação, a imagem obtida é rodada de acordo com a posição do protótipo.

2.3.4 Projecto ROTA

O projecto ROTA, apresentado na Figura 2.7, apareceu pela primeira vez em 2006, tendo participado no FNR entre 2006 e 2008, obtendo o terceiro, segundo e sexto lugares em cada ano (por ordem cronológica).

(36)

A navegação era baseada no seguimento da linha delimitadora da via à direita do protótipo, com ajuste da direcção em relação à distância a essa linha. Para tal era necessário uma transfor-mação das coordenadas na imagem para as coordenadas no mundo real. Esta solução baseava-se num sistema principalmente reactivo [27].

Para leitura do semáforo foi utilizada, inicialmente, uma abordagem baseada em segmentação de cores, seguida de uma procura de simetria horizontal ou vertical. Este método foi reformulado para operações de comparação [28].

Relativamente à detecção de obstáculos, são detectadas grandes transformações radiais no plano de cores HSV, em particular na cor verde. Estas detecções são realizadas com um sistema de filtros Canny de detecção de orlas.

A passadeira é detectada através do sistema de odometria.

O projecto continuou a ser desenvolvido depois de 2008 apesar de não ter voltado a partici-par no FNR. A representação do mundo foi melhorada através de um sistema inteligente baseado em representações abstractas de conhecimento a-priori e a informação adquirida durante o movi-mento, recorrendo ao sistema de odometria [29]. O sistema de visão foi também alterado. O novo sistema baseava-se na remoção do efeito de perspectiva da imagem. Com este novo sistema de visão, desenvolveram-se também novos métodos de auto localização e planeamento inteligente.

Figura 2.7: O protótipo ROTA, na versão de 2006 (retirado dehttp://www.google.com/).

2.3.5 Projecto VERSA

O protótipo VERSA foi concebido por uma equipa da FEUP e participou no FNR em 2005. Possui uma configuração diferencial com sistema de odometria e o sistema de visão compõe-se de duas câmaras, uma para detectar linhas no solo e outra para a leitura dos semáforos e sinais de trânsito. Para a detecção de obstáculos foram distribuídos vários sensores de ultra-som na frente do protótipo.

(37)

2.3 Trabalhos Relacionados 19

A detecção de objectos pelo sistema de visão foi efectuada através de um algoritmo de proces-samento de imagem, onde após a binarização da imagem se analisa o histograma de luminosidade para determinar um ponto de threshold. Seguidamente é aplicado um filtro de detecção de transi-ções e os objectos são localizados. Dados de cada objecto são guardados num array multidimen-sional para se analisar a forma.

Para a leitura dos semáforos e sinais de trânsito são também utilizados algoritmos de análise de imagem. As características dos objectos detectados são comparadas com as dos sinais que se quer encontrar, determinando-se assim a taxa de correspondência. A passadeira é distinguida da faixa de rodagem devido ao facto de a linha da faixa ser perpendicular à linha da passadeira [30].

Combinando a informação do sistema de odometria com a medida da distância a uma das linhas da via a posição do protótipo é determinada.

A informação dos sensores de ultra-sons informa da presença de obstáculos e, em função dessa informação, o protótipo muda de faixa ou não. O regresso à faixa da direita é realizado com base na informação dos sensores laterais.

2.3.6 Outros Projectos

Dado o interesse que foi relevado na condução autónoma desde os seus primeiros desenvolvi-mentos, é fácil perceber a existência de vários protótipos a nível nacional e internacional.

Um protótipo que já foi referido e é uma espécie de predecessor de todos os outros é o ALV. Tendo sido construído no início dos anos 1980, utilizava já uma câmara RGB para percepcionar o mundo, construindo representações simbólicas da estrada e de obstáculos através de sensores de vídeo e de distância.

Outros protótipos mais recentes foram também mencionados: o ARGO, o TerraMax, o Stanley[31] ou o Boss[32]. Estes são maioritariamente projectos que foram desenvolvidos no âmbito do DARPA Grand/Urban Challenge e apareceram na primeira década de 2000. Mostraram grande eficiência ao nível da autonomia e da capacidade de lidar com os desafios propostos, o que os levou a todos a lugares de pódio.

Como também foi referido, a VisLab possui no seu website uma lista dos seus vários projectos. Veículos como o PORTER [33], o BRAIVE [34] ou o VCDL Grandeur [35] devem ser conside-rados com especial interesse. O BRAIVE é um veículo de teste onde foram implementados os vários sistemas desenvolvidos pela VisLab ao longo do tempo. O PORTER foi utilizado para uma viagem entre a Itália e a China completamente autónoma. O VCDL Grandeur foi um veículo que participou na Hyundai Autonomous Competition (HAC).

(38)
(39)

Capítulo 3

Conceitos Teóricos

Aqui serão introduzidos e explicados conceitos teóricos relevantes para as alterações realizadas no hardware/software do protótipo ou para os algoritmos desenvolvidos.

Focará principalmente alguns conceitos relacionados com electrónica e motores, calibração de câmaras e análise e processamento de imagem.

(40)

3.1 Robótica e Robots Móveis

Quando se fala em robótica é sempre extremamente importante clarificar a pergunta: “O que é um robot?”. Na generalidade, as pessoas tendem a imaginar algo semelhante a um humano, facto que é muito provável dever-se à origem da palavra robot. Esta palavra apareceu pela primeira vez em Praga, 1921 com a peça de teatro R.U.R. (Rossum’s Universal Robots, Figura 3.1) de Karel Capek. Nessa peça Capek criou uma raça de trabalhadores feitos de partes biológicas, inteligentes apenas o suficiente para substituir um humano em qualquer trabalho. A descrição robot para esta raça origina na palavra polaca robota que significa um trabalhador de baixa categoria. Isto implicava que a definição de robot na altura era uma “criatura artificial servil para libertar pessoas de qualquer tipo de trabalho, mas inferiores o suficiente para receber qualquer respeito” [36].

Figura 3.1: Karel Capek e a sua peça (retirado dehttp://www.google.com/).

Com a evolução da ficção-cientifica e com o aparecimento de vários filmes, a noção de que um robot era construído de partes biológicas alterou-se e foi sendo implantada a ideia de que os robots são originalmente mecânicos. Com o desenvolvimento e disseminação de computadores na indústria, o termo passou a ter conotações da automação industrial, como “falta de inteligência própria” e “bons apenas para tarefas repetitivas e bem definidas”. Estas noções complementaram o ponto de vista de Isaac Asimov e as suas estórias [37]. A mudança de forma dos robots de criaturas antropomórficas para qualquer forma orientada à sua tarefa deriva da realidade e da falta de necessidade de características humanas para certas tarefas. Assim, uma das noções de robot comummente aceite hoje em dia é a de que “um robot inteligente é uma criatura mecânica que consegue funcionar autonomamente”. Ser inteligente implica que o robot não executa acções sem pensar ou de forma repetitiva, podendo utilizar um computador como cérebro; é uma criatura me-cânica pois é construído de partes meme-cânicas e não de partes biológicas; funciona autonomamente pois pode operar dentro de condições razoáveis sem a necessidade de intervenção humana [38].

Assim, partindo da definição de robot apresentada, facilmente se entende o que um robot móvel é. Continua a ser um robot inteligente, mecânico e autónomo, mas que tem a capacidade de se mover no mundo em que está inserido [39,40]. Mais à frente serão apresentados alguns exemplos sobre as formas de locomoção de um robot.

(41)

3.1 Robótica e Robots Móveis 23

(a) Exterminador Implacável, na versão do filme “Terminator 3 - Rise of the Machines”.

(b) Dalek - robot vilão na série “Dr. Who”.

Figura 3.2: Exemplos das formas robóticas mais assustadoras: total autonomia (inteligência e energia) e elevadíssima adaptabilidade a mudanças internas e externas (retirados de http:// www.google.com/).

3.1.1 Interacção e Percepção do Mundo

Seja qual for a função do robot móvel, é necessário que este possua uma ou mais formas de interagir com o mundo e uma ou mais formas de perceber o que se passa no mundo à sua volta. Isto é conseguido através de sensores e actuadores [41].

Um sensor é um elemento de medida que detecta uma magnitude ou um parâmetro físico e o transforma num sinal eléctrico analógico ou digital. Os sensores envolvem sempre a aplicação de uma ou mais que uma lei ou fenómeno físico que relaciona a quantidade a ser medida com um evento mensurável pelo sistema de aquisição. Existem variados tipos de sensores que medem po-sição, distância, força, temperatura, vibração, aceleração, humidade, pressão, luminosidade, etc.. Um actuador é um dispositivo utilizado pelo robot que, através de uma força ou rotação, resulta numa aceleração ou movimento. Assim como nos sensores, existem variados tipos de actuadores: solenóides, motores eléctricos, motores rotativos, cilindros hidráulicos, cilindros pneumáticos, etc..

Aqui serão abordados os tipos de sensores e actuadores mais relevantes para este projecto. É de referir que existe uma quantidade infindável de sensores hoje em dia, devido não só à quantidade de fenómenos que é possível medir como também à grande variedade de tecnologias existentes para executar a mesma medição. Assim, os exemplos aqui apresentados são apenas uma quantidade muito reduzida das possibilidades do mercado actual.

(42)

3.1.1.1 Sensores de Posição

Um tipo de sensor bastante comum em robots móveis são os sensores de proximidade. Estes sensores mudam o seu estado ou sinal quando estão próximos de um qualquer objecto. Existem várias tecnologias já desenvolvidas para este tipo de sensores: magnetismo, infravermelhos, cor-rentes de Foucault, etc. Normalmente são utilizados em ambientes reduzidos e bem definidos, já que o robot facilmente se pode localizar se souber que está próximo de um determinado objecto que conhece.

Um outro exemplo é o encoder digital. Este tipo de sensor está sempre associado a um motor e conta um bit ou um conjunto de bits para indicar uma posição relativa ou uma posição absoluta através de um disco óptico e de um conjunto de sensores de Hall1. No encoder absoluto existe um conjunto de bits único para cada posição do motor. É composto por um disco óptico com N pistas e N sensores para produzir um conjunto de bits que distingue 2Nposições do motor. Quantas mais pistas o disco óptico possuir, maior será o número de combinações possíveis e, portanto, maior será a resolução conseguida. Estes discos são produzidos com base num de dois sistemas: binário natural [42] ou código Gray [43]. A maior diferença será a de que em binário natural é necessário procurar mudanças em qualquer das pistas do disco enquanto no código Gray apenas uma pista muda de uma combinação para outra.

(a) Codificação em código Gray. (b) Codificação em código Binário Natural.

Figura 3.3: Diferença entre código Gray e código binário natural (adaptado de [41]). O encoder relativo produz impulsos a intervalos regulares com a rotação do motor. Necessita assim apenas de um disco com duas faixas e de dois sensores.

Em ambos os casos os impulsos ocorrem a uma frequência proporcional à velocidade do motor e o desfasamento entre os dois impulsos indica a direcção de rotação do motor. Normalmente os dois impulsos estão desfasados cerca de um quarto de ciclo e são referidos como sinais de quadratura. É comum existir um terceiro sensor (Index) que fornece um impulso a cada rotação completa do motor. Esta combinação pode também ser obtida com um disco de uma só pista, desfasando os dois sensores.

1Um sensor de Hall é um transdutor que varia um sinal em tensão em resposta a uma variação de campo

(43)

3.1 Robótica e Robots Móveis 25

(a) Disco óptico de duas pistas. (b) Disco óptico em código Gray.

Figura 3.4: Exemplos de discos ópticos para encoders (adaptado de [41]).

3.1.1.2 Sensores Laser Rangefinder

Este tipo de sensores tem por objectivo medir distâncias no ambiente. Normalmente funcio-nam pela emissão de um impulso laser de luz ultravioleta, visível ou infravermelha e medindo o tempo que o impulso demora a ser reflectido e a retornar ao emissor (Figura3.5).

Em muitos casos existe uma forte associação em forma de scanner, ocorrendo um varrimento da área de alcance do sensor para extrair um mapeamento de distâncias [45]. Outras formas de utilização deste tipo de sensores é para localização. Uma das técnicas mais utilizadas é a combinação dos sensores laser com marcadores rectro-reflectores [46,47,48]. Outra abordagem é a utilização de marcadores naturais (janelas, portas, paredes, etc.) e após a sua identificação, comparação com o mapa já conhecido [49].

(a) Sensor Laser Rangefinder militar de longo alcance (cerca de 20km).

(b) Sensor Laser Rangefinder 2D.

(44)

3.1.1.3 Sensores RGBD

Este tipo de sensores são bastante recentes. Na verdade, estes sensores são um conjunto de outros sensores: uma câmara RGB e um sensor laser. Apesar de ser uma tecnologia bastante recente e ainda um pouco distante da precisão e fiabilidade dos sensores laser ou câmaras RGB in-dependentes rapidamente conseguiu uma grande aceitação por parte de investigadores e ambientes académicos.

Os exemplos mais conhecidos actualmente deste tipo de sensores são a Xtion Pro, da Asus [50], a Kinect, da Microsoft [51,52,53] e a Carmine 1.08, da PrimeSense [54] (Figura3.6).

Figura 3.6: Conjunto de câmaras RGB-D mais comuns. De cima para baixo: PSDK Reference, Microsoft Kinect e Asus Xtion Pro (retirado dehttp://pointclouds.org/).

Figura 3.7: Exemplo de um relé (retirado dehttp://www.google.com/).

3.1.1.4 Relés e Solenóides

Um solenóide é uma bobina com um núcleo de ferro movível e outro fixo. Quando a bobina é excitada com corrente eléctrica, o núcleo move-se para diminuir o intervalo de ar entre os dois núcleos e assim aumentar o fluxo electromagnético.

Um relé (Figura3.7) é um solenóide utilizado para criar ou interromper uma ligação mecânica entre dois contactos eléctricos. É em tudo semelhante a um transístor mas ganha em correntes mais

(45)

3.1 Robótica e Robots Móveis 27

elevadas e perde em tempos de comutação mais lentos. Pode ainda, ao contrário dos transístores, funcionar em circuitos CC ou CA. Outra vantagem dos relés face aos transístores é o isolamento eléctrico do circuito de entrada do circuito de saída, o que significa que ruído, tensões induzidas ou outras falhas que ocorram no circuito de saída terão um impacto mínimo ou inexistente no circuito de entrada.

3.1.1.5 Motores Eléctricos

Os motores eléctricos são dos actuadores mais utilizados não só no domínio da robótica mas também em quase qualquer sistema electromecânico. Os motores podem classificar-se ou pela sua função (torque, servo, motor de passo, . . . ) ou pelas suas características eléctricas, como ilustrado no esquema da Figura3.8.

Figura 3.8: Classificação geral dos motores eléctricos [41].

Dado que neste projecto não são utilizados motores CA apenas serão discutidos os motores CC.

Um motor é tipicamente constituído por um encapsulamento estático chamado estator e um núcleo rotativo chamado rotor. No estator estão colocados polos radiais magnéticos que podem ser ou bobinas ou ímanes permanentes para criar um campo magnético radial. No rotor encontram-se um eixo suportado por armaduras e um núcleo de ferro que intensifica o campo magnético. Existe ainda um espaço de ar entre o rotor e o estator. O binário do motor é produzido através da

(46)

interacção dos campos magnéticos do rotor e do estator ou dos campos magnéticos do estator e as correntes do rotor.

Muitos dos motores CC incluem ainda um comutador no rotor que controla a direcção da corrente nas armaduras. Estes motores contêm escovas (o termo mais comum é o inglês, brushes) que proporcionam um contacto estacionário com as partes condutoras do comutador. Num motor de dois polos como o esquematizado na Figura3.9a, ao ser aplicada uma corrente contínua na bobina (coil) por intermédio das escovas, pela Lei de Flemming [55], é gerada uma força motora no sentido ascendente de um lado da bobina e uma força descendente no outro. Isto causa um movimento de rotação na bobina até à posição vertical. Sempre que a bobina se aproxima da posição vertical (portanto duas vezes por cada ciclo de rotação completo) o comutador inverte o sentido da corrente, invertendo por consequência as forças ascendente e descendente, causando assim uma continuação da rotação e, portanto, um movimento de rotação contínua do rotor.

Os motores CC que não utilizam escovas possuem ímanes permanentes no rotor e um campo magnético rotativo no estator. Assim, as correntes no estator são alteradas consoante os valores de sensores de proximidade que são accionados pela rotação do rotor. Admitindo uma configuração como a da Figura3.9bquando é aplicada uma corrente nas bobinas A1 e A2 do estator, gera-se um campo magnético e um conjunto de polos positivo e negativo que atraem os polos negativo e positivo do íman no rotor. Assim que os sensores de proximidade são accionados é aplicada uma corrente nas bobinas B1 e B2 (para uma rotação no sentido dos ponteiros do relógio) e a passagem de corrente nas bobinas A1 e A2 é interrompida, gerando novos polos de atracção e repulsão e forçando o íman a continuar a rodar.

(a) Representação interna de um

mo-tor com escovas. (b) Representação interna de um mo-tor sem escovas.

Figura 3.9: Os dois tipos de motores DC (retirado dehttp://www.google.com/). Aquando da selecção do motor devem ter-se em conta vários factores e especificações como o intervalo de velocidades, variações torque-velocidade, se o motor é reversível ou não, o torque de arranque e a potencia necessária, tempo de aceleração e de arranque, que potencia é necessária para uma determinada carga, que fonte de energia está disponível, qual a inercia da carga, precisão do sistema de controlo de velocidade ou de posição, restrições de tamanho e/ou peso, entre outras.

(47)

3.1 Robótica e Robots Móveis 29 3.1.2 Formas de Locomoção

O sistema de locomoção de um robot móvel apresenta, hoje em dia, uma enormíssima varie-dade de possibilivarie-dades, dependendo do fim específico do robot e/ou do espaço em que este se deve deslocar [56,57].

Um dos tipos mais mediáticos na comunidade científica actualmente é a locomoção bio-mimética. Aqui integram-se todos os tipos de locomoção baseados na forma de deslocação de determinados seres. Entre os variados exemplos encontram-se os robots com pernas (imitando humanos [58,59], escorpiões [60], cães [61], gatos [62], hexapodes [63], etc.), os que se deslocam em rotação como as minhocas [64], os que se deslocam em “S” como as cobras e serpentes [65], robotssubaquáticos (imitando tubarões [66], lagostas [67], lampreias [68], raias [69], etc), entre muitos outros.

Um outro tipo de locomoção é a que se assemelha ao comportamento dos veículos actuais. Dentro destes, contam-se os Unmanned Aerial Vehicles (UAV’s) no ar [70], submarinos autóno-mos [71], ou veículos terrestres baseados num movimento com rodas [72] ou lagartas [73,74]. Dentro da categoria da locomoção com rodas podem salientar-se várias topologias: a topologia Ackerman [75]; a locomoção tipo triciclo [75]; a locomoção diferencial [75,76]; a topologia Syn-chronous Drive [75,77]; ou a topologia omnidireccional [78,79,80,81,82,83,84,85,86]. Dado que tanto as topologias Synchronous Drive e Omnidireccional sao bastante diferentes conceptu-almente e nao sao adequadas ao robot deste projecto, serão apenas abordadas a seguir as outras topologias.

3.1.2.1 Triciclo

A topologia do tipo triciclo consiste numa roda de tracção e duas rodas livres. É uma topologia bastante simples, que permite uma rotação do em torno do ponto C, como ilustrado na Figura3.10. Um dos problemas com esta configuração é a perda de tracção em superfícies inclinadas devido à distanciação do centro de gravidade face à roda traccionada.

(a) Exemplo de trajetória. (b) Topologia.

(48)

O modelo cinemático deste método de locomoção é bastante simples, já que apenas uma roda é motorizada. Isto implica que a velocidade linear do robot é igual à velocidade de rotação dessa roda. Facilmente se obtém a posição e orientação do robot num espaço a duas dimensões, sabendo-se apenas essa mesma velocidade linear e o ângulo que a roda faz em relação ao referencial utili-zado. O modelo é representado pelas seguintes equações:

v(t) = r ωm(t) (3.1) ω(t) = v(t) l sin(α(t)) (3.2) d dx    x(t) y(t) θ(t)   =    cos(θ (t)) 0 sin(θ (t)) 0 0 1    " v(t) ω(t) # (3.3)

Onde v(t) é a velocidade linear do robot, ωm(t) é a velocidade angular do motor, r é o raio da roda motorizada, ω(t) é a velocidade angular do robot, α(t) é o ângulo que a roda controlada faz com a linha recta imaginária central do robot em cada instante temporal, l é a distância entre a roda motorizada e o eixo imaginário que passa pelo centro das rodas livres e θ (t) é o ângulo que o robot faz com o referencial utilizado [88].

3.1.2.2 Ackerman

Esta forma de locomoção é a forma preferencialmente utilizada na indústria automóvel. Con-siste em duas rodas de tracção e duas rodas livres, existindo configurações em que a tracção é feita nas rodas dianteiras (ou, neste caso, de direcção) e outras em que é feita nas rodas traseiras (Figura3.11. É um caso mais genérico do triciclo em que duas rodas guiam a direcção do carro em vez de uma. Esta configuração é principalmente utilizada para que quando o robot efectua uma curva o escorregamento dos pneus seja minimizado ao máximo.

(a) Exemplo de trajetória.

(b) Topologia.

(49)

3.1 Robótica e Robots Móveis 31

Admitindo uma tracção nas rodas traseiras o modelo cinemático é representado pelas seguintes equações: d l = cot(α1(t)) − cot(α2(t)) (3.4) cot(α3(t)) = cot(α1(t)) +d l (3.5) v(t) = v1(t) + v2(t) 2 (3.6) ω(t) = v(t) l tan(α3(t)) (3.7) d dx    x(t) y(t) θ(t)   =    cos(θ (t)) 0 sin(θ (t)) 0 0 1    " v(t) ω(t) # (3.8)

Onde α1(t) e α2(t) representam a variação temporal do ângulo de orientação de cada uma das rodas dianteiras, l representa a distância entre as duas rodas traseiras, d representa a distância entre os eixos das rodas dianteiras e traseiras, α3(t) representa a variação temporal do ângulo de orientação da roda imaginaria central, v(t) representa a velocidade linear do robot, v1(t) e v2(t) representam as velocidades lineares de cada roda traccionada e ω(t) representa a velocidade angular do robot.

3.1.2.3 Diferencial

A topologia diferencial consiste em duas rodas independentes responsáveis pela tração do veículo e uma roda extra livre para apoio da estrutura. Este sistema permite solucionar variados problemas em ambientes mais ou menos obstruídos dado que permite facilmente a rotação sobre si próprio em torno do ponto C (na Figura3.12b) e um controlo independente das duas rodas de tracção.

(a) Exemplo de trajetória. (b) Topologia.

Referências

Documentos relacionados

Portanto, conclui-se que o princípio do centro da gravidade deve ser interpretado com cautela nas relações de trabalho marítimo, considerando a regra basilar de

A proposta do Plano de Ação Educacional indicou ações que poderão ser executadas, no sentido de favorecer as escolas inseridas na referida região através de um treinamento que

O Processo Seletivo Interno (PSI) mostra-se como uma das várias ações e medidas que vêm sendo implementadas pela atual gestão da Secretaria de Estado.. Importante

Finalizando a análise dos resultados desta pesquisa, os gestores apontaram quais fatores dificultam a apropriação e a utilização dos resultados do SADEAM pelos

O fortalecimento da escola pública requer a criação de uma cultura de participação para todos os seus segmentos, e a melhoria das condições efetivas para

[r]

Ressalta-se que mesmo que haja uma padronização (determinada por lei) e unidades com estrutura física ideal (física, material e humana), com base nos resultados da

de professores, contudo, os resultados encontrados dão conta de que este aspecto constitui-se em preocupação para gestores de escola e da sede da SEduc/AM, em