3 2 1 Projecto Atlas II Festival Robótica 2004 Engenharia Mecânica DEMUA Universidade de Aveiro...

Post on 28-Apr-2015

112 views 3 download

Transcript of 3 2 1 Projecto Atlas II Festival Robótica 2004 Engenharia Mecânica DEMUA Universidade de Aveiro...

321

Projecto Atlas II

Festival Robótica 2004

Engenharia Mecânica

DEMUA

Universidade de Aveiro

Robot Autónomo para Competição no Robótica 2004

Autores: Miguel Oliveira

Miguel Neta

Orientador: Prof. Dr. Vítor Santos

Objectivos

• Participação no Festival Robótica 2004 – Classe CA (Condução Autónoma)

• Percorrer autonomamente uma pista de trajecto conhecido

• Desenvolver Robot Autónomo e Móvel

• Remodelação e actualização da versão do ano passado

Apresentação do problema

• Pista e Obstáculos

Túnel

Painel Sinalético

Passadeira

Parque

Zona de Obras

As três rondas • Primeira – Percorrer a pista duas vezes sem qualquer

obstáculo. O Robot deve imobilizar-se no final do percurso• Segunda – Presença do painel sinalético. O robot deve fazer

reconhecimento por visão daquele e obedecer às ordens dadas

• Terceira – Presença de mais dois obstáculos, zona de obras (consiste num trajecto alternativo demarcado por pinos) e túnel.

Plano de Intervenção

• Sistema Operativo:

• Ambiente de Programação:

• Microcontrolador:

• Seguimento de Pista:

• Painel Sinalético:

Windows LINUX

Matlab Linguagem C

Sensores Terceira Webcam

Webcam 2 Webcams

Carta Aquisição Sinais PIC (16F786)

Percepção dos obstáculos

Túnel

Painel Sinalético

Passadeira

Parque

Zona de Obras

Visão – Câmaras USB fornecem a imagem que será analisada pelo algoritmo de navegação

Linhas da pista

Retroreflector deinfravermelhos

Sensor de Infravermelhosanalógico

Visão – Algoritmos de identificação de cor

Memorização do percurso aefectuar a partir de um ponto dereferencia

Configuração do RobotCâmara Direita

Botão de emergência

Fonte de Alimentação

Potenciómetro

Placa Electrónica

da Direccão

Placa Electrónica

da Tracção / PIC

Suporte para Câmara

dos Semáforos

Motherboard

Fusível de Protecção

Servo Amplificador da

Tracção

Botões de ON/OFF,

RESET, PIC RESET,

START

Câmara Esquerda

Dissipador do Circuito de Direcção

Baterias Tracção

Baterias

Direcção / PC

Régua de Sensores

Infravermelhos

Estrutura de Alumínio

Esquema Funcional

Imagem dacâmara da Esquerda

Imagem dacâmara daDireita

Motherboard – CPU Central • Analisa imagem das câmaras e informações vindas dos sensores

• Algoritmo de navegação toma uma decisão no que respeita à velocidade e direcção desejadas

• Envia decisões tomadas para o PIC

Ordem develocidade

Ordem dedirecção

Sensoresdos pinos

Sensor dapassadeira

MicroControlador PIC16F876• Interpreta as ordens vindas do Algoritmo de

Navegação e envia os sinais eléctricos necessários aos motores

• Recolhe informações de todos os sensores do robot• Envia para o algoritmo de navegação as informações

dos sensores de distância e da passadeira

Comunicação entreCPU e PIC viaRS232

.É um microcontrolador – trata-se de um controlador lógico programável de tamanho muito reduzido.

.É muito utilizado hoje em dia – são a nova geração de microcontroladores aplicado na indústria de electrodomésticos devido à sua facilidade de programação (são facilmente reprogramados por porta RS232)

.Consegue ler valores analógicos ou digitais de tensão, gerar PWM e são totalmente programáveis, podendo inclusivamente alterar a função dos pinos (por exemplo de entrada para saída) em tempo real.

Será responsável pelo controlo de baixo nível, o que permitirá simplificar o algoritmo principal de navegação

• O que é?

.Pode ser comparado a um computador em ponto pequeno

• Para que serve?

• Função no Atlas

Programação Baixo Nível I Introdução ao PIC16F876

Programação Baixo Nível I Protocolo de comunicação desenvolvido.

PC PICOrdem para alterar estado dos

motores (1 byte).

Identificador

SentidoQuantidade

• Permite saber qual a ordem que se quer dar bem como caracterizá-la num único byte.

Informa o estado de todos os sensores e botões (20 bytes).

• Início de trama.• Sensores de túnel / zona de obras.• Sensor de passadeira.• Estado dos botões.• Final de trama.

Aplicação do PIC no Robot

PWM

PWMSentido de Rotação

tensão correspondente à direcção

Controlo malha fechada do motor passo a passoControlo em malha fechada para o motor DC

Programação Alto Nível I Colocação das câmaras

Proposta inicial

• Longo alcance.

• Robots vencedores utilizam esta configuração.

• Difícil interpretação das imagens obtidas.

Proposta Intermédia

• Médio alcance.

• Diminui risco de perda de linha.

• Fácil encontrar uma configuração do robot em que se perca a linha.

• Difícil interpretação das imagens.

• Solução inovadora.

Solução Final

• Pouco alcance.

• Fácil interpretação das imagens.

• Solução inovadora.

• Risco reduzido de perda de linha.

• Aumenta a necessidade de rapidez de processamento.

Programação Alto Nível II Busca de Linha

• Dada a seguinte imagem:

• Importa decidir um limite de binarização adequado.

• Busca de linha horizontal

• Busca de linha vertical

• Ponto de linha encontrado (Busca Vertical)

• Ponto de linha encontrado (Busca Horizontal)

Programação Alto Nível III Busca da Postura Ideal

• Localização defeituosa • Câmara da direita

• Desfasamento em relação à linha ideal. Valores de linha dos pixeis encontrados (azul) muito elevados.

• Compensação do desfasamento virando para a esquerda.

• Compensação é função do desfasamento.

Programação Alto Nível IV Busca da Postura Ideal

• Orientação defeituosa • Câmara da Esquerda

• Construção da linha virtual.

• Cálculo do desfasamento virtual.

• Compensação do desfasamento. Virar para a esquerda.

• Cálculo do ângulo da linha.

• As falhas de orientação pesam mais do que as de localização.

Programação Alto Nível V Parâmetros de Validação

• Situação Problemática I • Câmara da Esquerda

• Ângulos consecutivos muito dispares.

• Desvio padrão dos ângulos consecutivos.• Busca de linha tem em conta a sua espessura.

• Cálculo dos ângulos entre pontos consecutivos.

Outros Parâmetros:

• A imagem deve ser invalidada e…Deve ser a câmara direita a ditar a

direcção a tomar.

Programação Alto Nível VI reconhecimento dos símbolos do sinalizador.

• Como reconhecer os símbolos? Reconhecimento de Forma

Identificação de Cor

• É suficiente para reconhecer todos os símbolos?

Programação Alto Nível VII Modelos de cor

• Modelos de Cor: Modelos matemáticos para representar a cor de cada pixel.

RGB

• É dos mais utilizados.

• Fácil de obter, com base na informação vinda da câmara.

HSV

• A informação da cor está contida apenas numa variável.

Programação Alto Nível VIII RGB vs HSV

RGB HSV

Participação no robótica 2004

Primeira MangaSegunda MangaTerceira MangaData: 23-04-2004

Local: Porto

Duração da Prova: 0:01:00

Classificação Parcial:

Data: 24-04-2004

Local: Porto

Duração da Prova: 0:02:05

Classificação Parcial:

Data: 25-04-2004

Local: Porto

Duração da Prova: 0:01:03

Classificação Parcial:

Classificação Final:

ConclusõesSolução Mecânica de Mobilidade•Já utilizada pelos nossos colegas no ano passado,•Facilita a escolha da direcção de forma rápida e eficaz,•Persistem ainda alguns problemas no controlo da direcção.

Alteração do sistema operativo / Programação em c•Linux dispõe de muito mais potencial para aplicações robóticas, •Ficheiros compilados de execução muito mais rápida,•Aprendizagem difícil do Linux e C,•Fazem aumentar imenso o potencial do robot.

Utilização do microcontrolador•É possível efectuar o pré-processamento dos dados obtidos,•Possibilita uma cisão entre o software e o firmware,•No futuro, talvez se deva utilizar um microcontrolador superior.

Duas câmaras para seguimento de pista•Concede redundância ao sistema,•Opção, sem dúvida acertada.

Câmara para interpretação do semáforo•Apesar de não estar a funcionar aquando do festival, é a única opção possível,•Faltou a implementação da heurística que analisa os histogramas HSV.

Configuração das câmaras•O pouco alcance implica malha aberta na aproximação à passadeira.•Foi uma solução adequada ao tempo disponível.

Calendarização de tarefas

Agradecimentos

• Prof. Dr. Vítor Santos

• Eng. Camilo Christo

• Eng. António Festas

• Eng. André Quintã

• Luís Clara Gomes

• A todos os nossos colegas, em especial aos nossos antecessores José Luís Silva e José Miguel Gomes

FIM