Unidade de Processamento e Sistema de Visão para um Robô Humanóide Mauro André Moreira Rodrigues Universidade de Aveiro Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resumo da Apresentação Objectivos Enquadramento Unidade de Processamento Ambiente de Desenvolvimento Sistema de Visão Resultados Conclusões Trabalho Futuro Mauro André Moreira Rodrigues 03-07-2008 2 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Objectivos Integração da Unidade Central de Processamento Autonomia Computacional Implementação de um Ambiente de Desenvolvimento Desenvolvimento do Sistema de Visão Mauro André Moreira Rodrigues 03-07-2008 3 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Enquadramento Robô Humanóide desenvolvido na Universidade de Aveiro. A ambição é a participação no RoboCup. Mauro André Moreira Rodrigues 03-07-2008 4 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Enquadramento A plataforma humanóide é constituída por 22 graus de liberdade: • 2 em cada pé (2x2); • 1 em cada joelho (1x2); • 3 em cada anca (3x2); • 2 no tronco (2x1); • 3 em cada braço (3x2); • 2 na cabeça (PTU) (2x1). Atinge os 70 cm de altura e uma massa total de 6,5 kg. Mauro André Moreira Rodrigues 03-07-2008 5 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Enquadramento Arquitectura de controlo distribuída Três tipo de unidades, formando uma rede de controladores. Interligação por barramento CAN em configuração Master/Multi-Salve. Mauro André Moreira Rodrigues 03-07-2008 6 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Unidade Central de Processamento Responsável pela gestão global dos procedimentos: Cálculo das configurações que as juntas devem adoptar com base em directivas de alto nível Processamento de Imagem e Controlo com Realimentação Visual Interacção com computador externo para monitorização, debug ou tele-operação Mauro André Moreira Rodrigues 03-07-2008 7 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Unidade Central de Processamento CPU standard PCI-104 AMD Geode LX-800 @ 500MHz 512Mb RAM SSD 1Gb Mauro André Moreira Rodrigues 03-07-2008 8 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Unidade Central de Processamento Captura de Sinal Vídeo Placa PCMCIA FireWire Módulo Dual PCMCIA p/ PC104 Mauro André Moreira Rodrigues 03-07-2008 9 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Unidade Central de Processamento Alterações à estrutura Mauro André Moreira Rodrigues 03-07-2008 10 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Ambiente de Desenvolvimento Sistema Operativo GNU/Linux Debian 40r0 i386 Net Install Versão mínima, ≈200Mb. Gestão de Memória Ciclos de escrita limitados no SSD Sem Área de Swap Utilização de Ramdisk Mauro André Moreira Rodrigues 03-07-2008 11 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Ambiente de Desenvolvimento Ferramentas de Sistema Xfce Coriander Ferramentas de Programação Bibliotecas OpenCV Mauro André Moreira Rodrigues 03-07-2008 Editor Vim Compilador GCC Make IDE Kdevelop 12 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Mauro André Moreira Rodrigues 03-07-2008 13 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Graus de Liberdade Unidade Pan&Tilt Inclinação do tronco Câmara UniBrain Fire-i @ 30fps (640x480) Mauro André Moreira Rodrigues 03-07-2008 14 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Aquisição Segmentação - Componentes H, S e V Pré-processamento Mauro André Moreira Rodrigues Máscara 03-07-2008 Localização do Objecto 15 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Região de Interesse (ROI) Dinâmica Mauro André Moreira Rodrigues 03-07-2008 16 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Região de Interesse (ROI) Dinâmica Sem ROI Mauro André Moreira Rodrigues Com ROI 03-07-2008 17 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Sistema de Visão Algoritmo baseado em Imagem Lei proporcional com ganhos fixos, q Ke q , é o vector de incrementos nas juntas K K p , Kt , matriz de ganhos constantes T e C , C , é o vector de erro definido pelo desvio da bola x y Lei proporcional com ganhos variáveis, K pC x K t C y q , sin qt cos qt Mauro André Moreira Rodrigues 03-07-2008 18 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resultados Unidade de Processamento Aquisição Aquisição pela biblioteca OpenCV: 68ms Recurso a biblioteca proprietária Aquisição directa a 160x120: 3ms Aquisição a 320x240 com pyr down: 14ms Tempos (ms) Processamento Sem ROI: 15ms Com ROI: 11ms Mauro André Moreira Rodrigues max min medio desvio aquisição 32,4020 11,8780 13,6820 2,0275 pyr down 25,9050 9,4730 9,8432 1,6330 segmentação 41,6030 9,3320 9,8456 2,4185 centro de massa 3,2550 0,3970 1,3079 0,4478 controlo 0,1590 0,0140 0,0154 0,0093 actuação 37,2460 2,1670 4,4850 2,6913 total 118,6600 35,9060 39,1520 7,1468 03-07-2008 19 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resultados Realimentação Visual Alinhamento com a bola Rápido (~1s) Erro em regime estacionário (~7 pixels) Mauro André Moreira Rodrigues 03-07-2008 20 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resultados Realimentação Visual Seguimento em Pan com ganhos fixos Erro aumenta na zona frontal ao robô Mauro André Moreira Rodrigues 03-07-2008 21 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resultados Realimentação Visual Ganhos Fixos Ganhos Variáveis Seguimento em Pan com ganhos variáveis Redução do erro na zona frontal Mauro André Moreira Rodrigues 03-07-2008 22 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Resultados Realimentação Visual Seguimento em Tilt com ganhos variáveis Erro similar ao obtido em pan Utilização do tronco aumenta o erro Mauro André Moreira Rodrigues 03-07-2008 23 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Conclusões Plataforma Humanóide autónoma computacionalmente. Controlador PC/104 baseado em Linux revelou-se um bom compromisso entre capacidade de processamento, versatilidade, consumo e tamanho. Ambiente de desenvolvimento versátil que permite desenvolvimento directo na plataforma ou remoto. A arquitectura implementada separa o processamento de visão alto-nível, do controlo baixo-nível, em malha fechada, dos actuadores. Taxa média de processamento de 25Hz, um número suficiente para permitir estímulos rápidos e outros tipos de entradas visuais com variação rápida. Região de Interesse garante uma maior imunidade ao ruído. Localização e alinhamento, com a bola em posição fixa, exibe valores de erro baixos, e rápida convergência. Erro no seguimento aponta para a necessidade de um controlo mais robusto. Mauro André Moreira Rodrigues 03-07-2008 24 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Trabalho Futuro Avançar para a detecção de forma para validar a detecção da bola Reconhecimento de outros elementos, por exemplo, os presentes no terreno de jogo da competição RoboCup Explorar a utilização do Jacobiano da imagem Testar o efeito de um controlador PI (ou outros mais robustos) no desempenho do sistema Estudar a influência do movimento do robô na informação visual e no desempenho do sistema de seguimento Mauro André Moreira Rodrigues 03-07-2008 25 Mestrado Integrado em Engenharia Electrónica e Telecomunicações Muito obrigado pela atenção Agradecimentos Aos meus orientadores À minha família À minha namorada Aos meus amigos A todos os colegas de trabalho A todos os companheiros de equipa A todos os presentes Mauro André Moreira Rodrigues 03-07-2008 26