ATLAS 2 Robot Autónomo para Competição no Robótica 2004 Autores: Miguel Neta Miguel Oliveira...
Transcript of ATLAS 2 Robot Autónomo para Competição no Robótica 2004 Autores: Miguel Neta Miguel Oliveira...
ATLAS 2
Robot Autónomo para Competição no Robótica 2004
Autores: Miguel Neta Miguel
Oliveira
Orientador: Prof. Dr. Vítor Santos
Objectivos
• Participação no Festival Robótica 2004 – Classe CA (Condução Autónoma)
• Consiste em percorrer autonomamente uma pista de trajecto conhecido
• Desenvolver Robot Autónomo
• Projecto é uma evolução da versão do ano passado
Porquê repetir?
. Roda dianteira de direcção
. Duas rodas traseiras de tracção
• Sistema operativo . Windows
• Plataforma de programação. MatLab
• Carta de aquisição. Carta limitava o sistema operativo a usar
• Utilização de uma câmara apenas e do sistema de espelhos . Sistema pouco eficaz para seguimento de linha.
• Em conclusão .Controlo estava bastante limitado por vários factores
• Filosofia de abordagem do problema
Manutenção da solução anterior
Alteração para Linux
Linguagem C
Duas câmaras - redundância
microcontroladores
Software e hardware(pc, placas, pic, câmaras) reformulados
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 da zona de obras. Consiste num trajecto alternativo demarcado por pinos.
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 dereconhecimento dos símbolos
Memorização do percurso aefectuar a partir de um ponto dereferencia
Configuração do Robot
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
PIC 16F876
.É 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
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
Algoritmo de Navegação – estudo em curso
• Uma imagem pode ser interpretada como uma matriz (normalmente tridimensional) em que cada elemento desta tem um valor associado à cor de cada pixel.
• Binarizar a imagem é converter aqueles valores, inicialmente numa escala de 256 níveis de cor, em apenas dois níveis, 0 e 1 ou preto e branco.
• Esta técnica permite separar os elementos realmente importantes de uma dada imagem – no presente caso permite isolar as linhas da pista de tudo o resto.
Algoritmo de Navegação – duas abordagens
• Procura pixel branco numa linha predefinida
• Calcula distância do pixel branco ao eixo longitudinal do robot (previamente relacionada com o CCD da câmara)
• Corrige trajectória de forma a manter uma distância específica que corresponde ao robot no centro da pista
• Procura pixel branco em várias linhas predefinidas
• Calcula ângulos de inclinação entre os pontos encontrados (executa a média das inclinações)
• Corrige trajectória para um ângulo igual ao calculado (tendo em conta o desfasamento existente)
Algoritmos de Navegação – Comparação
• Sistema reactivo – o alcance do sistema de visão é limitado
• Dado o carácter imediato da análise, será necessário um maior número de ciclos por segundo para uma mesma velocidade
• Um sistema predictivo será potencialmente mais eficaz e logo poderá comportar velocidades mais elevadas.
• Sistema “semi” predictivo – o algoritmo tenta avaliar o trajecto da pista. Existência de planeamento.
Problemática da Robótica Autónoma e Móvel• Necessidade de decidir em tempo real.
• Em visão, uma decisão bem fundamentada exige muito tempo de processamento.
• Várias operações relacionadas com tratamento de imagem não poderão ser utilizadas devido à sua morosidade.
• Poderá ser necessário optimizar o algoritmo concebido.
Existem situações que deverão ser de difícil interpretação para o algoritmo de navegação tais como bifurcações da pista.
Calendarização de tarefas
Agradecimentos
• Prof. Dr. Vítor Santos• Prof. Dr. José Paulo Santos• Eng. António Festas• Eng. André Quintã• Eng. Camilo Christo• A todos os nossos colegas, em
especial aos nossos antecessores José Luis Silva e José Miguel Gomes
FIM