A Real-Time Framework for the Vision Subsystem in Autonomous Mobile Robots

Documentos relacionados
Frederico Miguel Santos

Propostas de dissertações em Robótica Móvel e Inteligente

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente

DESENVOLVIMENTO DO SISTEMA DE VISÃO PARA A PLATAFORMA MÓVEL UTOPIA

Concursos Micro-Rato. Ciber-Rato

Laboratório de Sistemas Embutidos. Área: suporte tempo-real em sistemas operativos de uso geral

VIRTUAL SENSORS FOR AUTONOMOUS MOBILE ROBOTS THROUGH THE USE OF IMAGE PROCESSING TOOLS

Robótica 2002/2003 Introdução à Robótica. Estrutura da Apresentação

FUTEBOL UTEBOL ROBÓTICO

Sistema de Reconhecimento de Robôs da categoria Small Size de Futebol de Robôs da FEI RoboFEI

Sistemas de Tempo-Real

Construção de um protótipo de interface para microcomputador tipo PC para interligar duas placas mãe

PROJECTOS EM DESENVOLVIMENTO?

Variância dos Tempos de Resposta

Processo Seletivo da Equipe USPDroids

Especificação, Modelação e Projecto de Sistemas Embutidos

Desempenho dos Computadores

António Costa. Paulo Roma Cavalcanti

Predição de Utilização de Recursos Computacionais Usando Séries Temporais

Aula 8. Escalonamento de tarefas aperiódicas. Sistemas de Tempo-Real

Arquiteturas de Computadores. Programa de Pós-Graduação em Ciência da Computação. Plano da aula

Competições Robóticas

Inteligência Artificial Aplicada a Robôs Reais

Fundamentos de Telecomunicações

Sistemas de Tempo Real

Arquitectura interna de um computador. Organização de um computador. Organização de um computador. Organização de um computador

+ - Projecto REIVE R E V E. Desenvolvimento de subsistema de monitorização e gestão de carga em baterias de Iões-Lítio

Aula 9 Outros aspetos do escalonamento de tempo-real

S.Ha.R.K OS. (Soft Hard Real-time Kernel) Tiago Varum Ruben Gonçalves 35736

Tecnologias de Informação e Comunicação. Conceitos Básicos

Jules Verne Leagues Under the Sea. Tópicos


Gossip Protocol utilizando GEMS. Alunos: João Batista, Lucas Eugênio, Vinícius Coelho

SISTEMAS ROBÓTICOS AUTÓNOMOS

Formatos de Áudio e Vídeo Digital Introdução ao Vídeo

Professores: Bruno Fontana da Silva e Maria Cláudia de Almeida Castro Data: 22/08/2014

Unidade 1: Tecnologias da Informação e Comunicação Conceitos Introdutórios. Tecnologias da Informação e Comunicação

parte da teoria Engº Luis Paulo Reis parte da teoria + aulas práticas Sítio Web:

Plano de pesquisa de mestrado em ciência da computação. Márcio G. Morais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

PROPOSTA DE TRABALHO NR. 1

Automatização do processo de calibração de cor

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

CURSO TÉCNICO EM REDES DE COMPUTADORES

1. Conceitos Básicos de Computação

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

Sistemas Operacionais. Introdução a Sistemas Operacionais

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL

Barramentos de Entrada/Saída

Memória Principal. Tiago Alves de Oliveira

UNIVERSIDADE DE AVEIRO

Concentrar esforços de aprendizagem sobre o funcionamento dos S.O. Resumo e Revisão do conceito de Sistema Operativo INSTRUÇÃO

AULA 2. Prof.: Jadiel Mestre. Introdução à Informática. Introdução à Informática Componentes de um Sistema de Informação

Estimativa de Posição 3D de Obstáculos para VANTs

Sistema Operativo: o que é?

Programação Robótica e Visão por Computador Trabalhos Práticos. Trabalhos Práticos

Introdução à Computação

Imagens digitais. Armando J. Pinho. Introdução à Análise e Processamento de Sinal Universidade de Aveiro.

Microcontroladores e Interfaces

Módulo 6 Compressão Vídeo Sistemas Multimédia

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Aquisição/Codificação de Vídeo

Desenvolvido por: Prof. Dr. Fernando Osório* Farlei Heinen* (Mestrando em Computação Aplicada - PIP/CA)

Introdução ao LabVIEW para Robótica

O Simulador Ciber-Rato. e o. ƒ Concurso Ciber-Rato. Estrutura da Apresentação

Desenvolvimento de Estratégia para Programação do Futebol de Robôs

Introdução aos Sistemas Operacionais. Ricardo Ramos de Oliveira

6 Resultados Análise de Desempenho

Sistemas de Entrada e Saídas

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Barramentos. Alberto Felipe Friderichs Barros

SIST706 Sistemas Distribuídos

Informática básica. Professor: Francisco Ary

IDENTIFICAÇÃO E RASTREAMENTO EM TEMPO REAL DE MÚLTIPLOS AGENTES AUTÔNOMOS

Hardware e Manutenção de Micros

LA C Laboratory for Advanced Collaboration

Curso: Redes de Computadores

INFORMÁTICA. Professor: Venicio Paulo Mourão Saldanha Site:

Sistemas Operacionais

Simulação de Futebol de Robôs

Design and Evaluation of a Support Service for Mobile, Wireles. Applications

Programador/a de Informática

Bússola Visual para futebol de robôs

Organização de Computadores I

1º Teste de Agentes Autónomos e Sistemas Multi-Agente. Mestado em Engª Informática e Computadores- MEIC-T 30 de Março de 2011 Duração: 1h30m

Sniffer: Um Robot Baseado em Arbitragem de Comportamentos Autónomos e Reactivos

PLACA MÃE COMPONENTES BÁSICOS BIOS

Fábio Amado João Maio 33306

Introdução ao NI LabVIEW. ni.com/portugal

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Dispositivos de Entrada e Saída

Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition

Rede Local - Instalação. Formador: David Casimiro

Método da Investigação Operacional

Sistemas Embarcados. Prof. Dr. Fábio Rodrigues de la Rocha. (Apresentação) 1 / 45

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Transcrição:

Sistemas de Tempo Real 2009/2010 Universidade de Aveiro A Real-Time Framework for the Vision Subsystem in Autonomous Mobile Robots Fábio Amado 33637 fmna@ua.pt João Maio 33306 jpsmaio@ua.pt

Índice 1. Introdução 2. A arquitectura de computação CAMBADA 3. O subsistema de visão CAMBADA 4. Arquitectura modular para o processamento de imagem 5. Resultados experimentais 6. Conclusões Índice 2

1. Introdução

Contexto Interesse crescente em agentes móveis autónomos Necessária adaptação ao meio Tempos de processamento de difícil previsão Tarefas : Diferentes níveis de importância 1. Introdução 4

2. A arquitectura de computação CAMBADA

CAMBADA Acrónimo de Cooperative Autonomous Mobile robots with Advanced Distributed Architecture Robots desenvolvidos na UA que competem na RoboCup Têm tido excelentes classificações na competição 2. A arquitectura de computação CAMBADA 6

CAMBADA Coordenar agentes robóticos autónomos para um objectivo comum (futebol) Exemplo de interacção com o meio Reconhecimento do meio por visão 2. A arquitectura de computação CAMBADA 7

CAMBADA RTAI kernel Low-level sensing/actuating system Rede comunicação de tempo real (CAN) Acesso ao meio determinístico Eficiente uso de largura de banda 2. A arquitectura de computação CAMBADA 8

CAMBADA Fig. 1 - Arquitectura dos robots cambada 2. A arquitectura de computação CAMBADA 9

3. O subsistema de visão CAMBADA

Hardware Duas câmaras Direccional - Aponta para a frente (média distância) Omnidireccional - Aponta para o chão (curta distância) Wide-angle lens (106º) 80 cm de altura 3. O subsistema de visão CAMBADA 11

Hardware 320x240, 640x480 @ 10,15,20FPS Interface USB Detecção do meio através da cor Codificação YUV 3. O subsistema de visão CAMBADA 12

YUV Espaço de codificação do RGB Y - Luma (luminosidade) U - Diferença no plano azul V - Dif. no plano vermelho Exemplo para Y=0.5 Sub-espaço YMP (Luma, Module, Phase) Fig. 2 - Espaço YUV 3. O subsistema de visão CAMBADA 13

Processing loop Inicialização Sleep Pesquisa de objectos Update Real Time Database (RTDB) Processar eventos do teclado Um processo por câmara Fig. 3 - Flowchart do processo da câmara direccional 3. O subsistema de visão CAMBADA 14

Front and Omnivision Frame pesquisado sequencialmente: Obstáculos (outros robots p. ex.) Bola Balizas Linhas de campo Postes demarcadores de campo 3. O subsistema de visão CAMBADA 15

Arquitectura monolítica Pesquisa dos objectos: Sequencial e independente A partir da última posição conhecida Ou a partir do centro do frame 3. O subsistema de visão CAMBADA 16

Arquitectura monolítica Neste método (actual), em relação ao tempo de processamento: Difícil de prever Esperada elevada variação 3. O subsistema de visão CAMBADA 17

Arquitectura monolítica 76.1% - menor que 5ms Tempo máximo de 13.9% - entre 25 e 35ms ~39ms, ~78% do tempo entre frames Fig. 4 - Histograma do tempo de pesquisa da bola 3. O subsistema de visão CAMBADA 18

Arquitectura monolítica Um processo por câmara Pesquisa sequencial Tempos com elevada variação Worst-case scenario : centenas de ms Frame skipping Performance pobre (blackout) 3. O subsistema de visão CAMBADA 19

Solução? Aumentar o poder de processamento? Co-processadores específicos? Robots operados por baterias... Não é claramente a solução! 3. O subsistema de visão CAMBADA 20

4. Uma arquitectura modular para processamento de imagem Porquê e como?

Técnicas de tempo real A latência limita a velocidade máxima do robot (evitar obstáculos) Obstáculos mais prioritários que posição Métodos de predição + Odometria Tarefas menos prioritárias não podem bloquear as mais prioritárias! 4. Uma arquitectura modular para processamento de imagem 22

Arquitectura modular Fig. 5 - Arquitecura modular do sub-sistema de visão CAMBADA 4. Uma arquitectura modular para processamento de imagem 23

Process Manager Tabela com informação relativa aos processos (prioridades, deadlines, estado actual, etc) Guarda informação estatística 4. Uma arquitectura modular para processamento de imagem 24

Shared Data Buffer Permite acesso assíncrono e não bloqueante aos frames Responsável por coerência da informação 4. Uma arquitectura modular para processamento de imagem 25

QoS Manager Meio difícil de prever em pre-runtime Permite reconfiguração dinâmica 4. Uma arquitectura modular para processamento de imagem 26

5. Resultados Experimentais

Computador Utilizado Intel Pentium 3 550Mhz 256MB Ram Linux 2.4.27 Kernel RTAI 3.0r4 2x Logitech Quickcam - 320x240 @ 20FPS 5. Resultados Experimentais 28

Arquitectura monolítica (I) Fig. 6 - Histogramas dos processos FrontVision(esquerda) e OmniVision(direita) Fig. 7 - Tabela com tempos de inter-activação dos processos FrontVision e OmniVision 5. Resultados Experimentais 29

Arquitectura monolítica (II) Entre activações: Jitter elevado Valores entre 17 e 200ms (OmniVision) Valores entre 29 e 143ms (FrontVision) 50ms entre frames Performance pobre (blackout) 5. Resultados Experimentais 30

Arquitectura modular (I) Fig. 8 - Histogramas da detecção de obstáculos na câmara frontal(esquerda) e omnidireccional(direita) Pesquisa de obstáculos: Tempo de execução menor que 5 ms! Evita obstáculos com eficácia 5. Resultados Experimentais 31

Arquitectura modular (II) Fig. 9 - Histogramas da detecção da bola na câmara omnidireccional(esquerda) e frontal(direita) Pesquisa da bola: Tempo de execução menor que 10 ms (omnidireccional) 5. Resultados Experimentais 32

Arquitectura modular (III) Fig. 10 - Histogramas da detecção das linhas de campo(esquerda) e yellow post(direita) Pesquisa de linhas e poste amarelo: Não é tão importante 5. Resultados Experimentais 33

Arquitectura modular (IV) Fig. 11 - Tabela com tempos de inter-activação e respectivas variâncias de cada processo Um frame a cada 50ms - Os 4 primeiros processos executam uma vez por frame Não houve frame skipping 5. Resultados Experimentais 34

Adaptação dinâmica de QoS (I) Ganho de posse de bola - Troca de função de um robot Alteração do que é mais importante Desprezar a procura da bola Melhorar a informação àcerca da própria localização 5. Resultados Experimentais 35

Adaptação dinâmica de QoS (II) Fig. 12 - Histogramas da detecção de obstáculos na câmara omnidireccional(esquerda) e frontal(direita) com QoS dinâmico Picos de activação QoS Update 5. Resultados Experimentais 36

Adaptação dinâmica de QoS (III) 100ms 400ms 50ms 50ms Fig. 13 - Histogramas da detecção da bola(esquerda) e detecção de linha(direita) na câmara frontal com QoS dinâmico QoS Update aos ~40000ms Redução da importância da procura da bola, aumento da procura de linha 5. Resultados Experimentais 37

6. Conclusões

Conclusões Maior parte dos sistemas vision-based não se baseiam em técnicas de tempo real Pobre performance Nova arquitectura modular permite resolver muitos dos problemas A arquitectura proposta permite ainda dynamic QoS 5. Resultados Experimentais 39

Referências Figura do slide inicial Figuras 1,3,4,5,6,7,8,9,10,11,12,13 A Real-Time Framework for the Vision Subsystem in Autonomous Mobile Robots (Paulo Pedreiras, Filipe Teixeira, Nelson Ferreira, Luís Almeida, Armando Pinho e Frederico Santos UA DETI) Figura 2 http://en.wikipedia.org/wiki/yuv 40

Bibliografia http://intechweb.org/downloadpdf.php? id=347&phpsessid=kbh9474qqmasbgbvko gee13js6 - paper base da apresentação http://en.wikipedia.org/wiki/ {robocup,yuv,ycbcr,odometry} www.robocup.org http://www.ieeta.pt/atri/cambada/index.htm 41

Questões 42