ROBOK VERY SMALL SIZE TDP

Documentos relacionados
DESENVOLVIMENTO DE ROBÔS MÓVEIS PARA IMPLANTAÇÃO DE UM TIME DE FUTEBOL DE ROBÔS DO IFSULDEMINAS RESUMO

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

Viabilizando projetos. Jorge Augusto Lopes Gonçalves

Placa Eletrônica para Robôs Móveis

Inteligência Artificial Aplicada a Robôs Reais

TDP do time RECIFE SOCCER Futebol SPL

ANÁLISE DE UM MANIPULADOR ROBÓTICO MÓVEL 1

Multi-Layered Control Applied to Autonomous Robot Soccer

Simulação de Futebol de Robôs

Sistema Experimental. Figura 40: Robô original de onde foram aproveitadas a base da estrutura de alumínio, motores, rodas e eletrônica de potência.

DESENVOLVIMENTO DE UM SISTEMA DE OBTENÇÃO DE DADOS PARA CALIBRAÇÃO DE CENTRAIS INERCIAIS

1 RESUMO. Palavras-chave: Controle, encoders, motor CC. 2 INTRODUÇÃO

CONSTRUÇÃO DE UM ROBÔ MÓVEL COMO RECURSO DIDÁTICO NOS CURSOS DE ENGENHARIA

Arquiteturas de Software

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Introdução à robótica

GarrinchaBot: Uma proposta de robô para Robocup Small size League

Implementação de um Time para a categoria RoboCup Soccer Simulation 3D

DESENVOLVIMENTO DE UM ROBÔ AUTÔNOMO PARA PARTICIPAÇÃO EM COMPETIÇÃO DE SUMÔ RESUMO

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

PIBIC/PIBITI/IC Jr Relatório das Atividades de Pesquisa 23ª SEMIC

Kit didático para controle de velocidade e posição de um motor de corrente contínua

PROPOSTA DE ARQUITETURA DE ROBO PARA AMBIENTE DE COMPETIÇÃO

Desenvolvimento de um robô jogador da categoria IEEE Very Small Size Soccer controlado remotamente via Bluetooth

Microcontroladores e Robótica

Projeto e Controle de um Sistema Robótico Quadrúpede

Controle a Distância de um Barco com Arduino+Bluetooth

hardware software software computador microcontrolador hardware sensores sistema de controle de malha fechada.

Construção de Robôs Jogadores de Futebol

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão

RECONHECIMENTO DE TRAJETÓRIA COM REDES NEURAIS

RESUMO EXPANDIDO DESENVOLVIMENTO DA ESTRUTURAÇÃO E PROGRAMAÇÃO DE UM ROBÔ AUTÔNOMO PARA FINS SOCIAIS, TECNOLÓGICOS E COMPETITIVOS

Montagem do Robô. Especificações. domingo, 28 de agosto de 11

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

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

Time de Futebol de Robôs Y04 do Centro Universitário da FEI

Implementação de controlador PID fuzzy para otimização do controle de posição de um servomotor DC

TDP da Equipe de Futebol de Robôs Red Dragons UFSCar Categoria IEEE Very Small Size

Sistema de Controle Um sistema de controle é realizado por meio de hardware e software. Este sistema processa os sinais de entrada e converte estes

TÍTULO: TESTE DE CONTROLADOR PARA UM ROBÔ DE EQUILÍBRIO DINÂMICO CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA. SUBÁREA: Engenharias

SISTEMA CNC APLICADO À CARACTERIZAÇÃO DE ACOPLAMENTO INDUTIVO

Introdução à Plataforma ARDUINO

O TIME POTI DE FUTEBOL DE ROBÔS DA UFRN-2015

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

DESENVOLVIMENTO DE PLATAFORMA DE INSTRUMENTAÇÃO UTILIZANDO ARDUÍNO

Arduino. Aula 3 motores

Arduino Básico: As versatilidades desta plataforma na prática

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

a) A intensidade do campo elétrico no meio externo, na membrana e no interior da célula.

SENSOR ULTRASSÔNICO DE PEQUENO PORTE APLICADO A BATIMETRIA MARIANO 3

TÍTULO: AUTOMAÇÃO COM ELETRÔNICA EMBARCA APLICADA A ACESSIBILIDADE PARA CADEIRANTES

Curso Tecnólogo em Mecatrônica Industrial GUILHERME K. POGAN HELENA F. DITTERT. Gerador Eólico

Desenvolvimento de um Robô Autônomo com Arduino

CLP. Curso de Formação Profissional Técnico em Eletroeletrônica Módulo III Senai Arcos-MG

DESENVOLVIMENTO DE UM TIME DE FUTEBOL DE ROBÔS NA CATEGORIA VERY SMALL SIZE

Minicurso de Arduino. Laboratório de Inovação em Sistemas em chip npiti - UFRN

TÍTULO: FUZZY TAKAGI-SUGENO PARA IDENTIFICAÇÃO E CONTROLE INERCIAL DE UM ROBÔ MÓVEL

ESTUDO DA TRANSFERÊNCIA AUTOMÁTICA DE DADOS PARA UM ROBÔ MÓVEL NA PLATAFORMA LEGO MINDSTORMS

Sensores que fazem uso de ultrassons encontram uma grande gama de

TECNOLOGIA EDUCACIONAL

Desenvolvimento de um time de futebol robótico para o RoboCup 2D

SISTEMA DE CONTROLE DE TEMPERATURA RESULTADOS PRÁTICOS

2 Fundamentos teóricos

Arquitetura do Microcontrolador Atmega 328

DESENVOLVIMENTO DE UM ROBÔ EXPLORADOR PARA AMBIENTES INDOOR

PROJETO EM SISTEMAS MECÂNICOS, MECATRÔNICA E ROBÓTICA 1. Everton Luís Jahnel 2, Luiz Antonio Rasia 3.

Lista 12: Rotação de corpos rígidos

Laboratório de controle 2018/1. Professores: Adolfo Bauchspiess ENE/UnB Lélio R. Soares Júnior ENE/UnB

MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PIAUÍ - IFPI CAMPUS FLORIANO

Protótipo Open Source de Sensoriamento Remoto em Ambiente Agrícola

AULA 9 ATUADORES ELÉTRICOS

Circuito Eletrônico. Entendendo o circuito eletrônico na robótica. domingo, 28 de agosto de 11

APLICAÇÃO DE TESTES UTILIZANDO LÓGICA CLÁSSICA NA PROGRAMAÇÃO DE PLATAFORMA ROBÓTICA MÓVEL

PROJECTOS EM DESENVOLVIMENTO?

Robô segue luz. Vanderlei Alves S. da Silva. Introdução

Prof. Dr. Paulo Eigi Miyagi, Coordenador Prof. Dr. José Reinaldo Silva Prof. Dr. Fabrício Junqueira Prof. Dr. Marcos Ribeiro Pereira Barretto

Prof. Daniel Hasse. Robótica Industrial

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

Transcrição:

ROBOK VERY SMALL SIZE TDP Pedro Senna de Campos, Luiz Ricardo Veloso Antunes, Thiago Souza de Oliveira, Vanessa Ayumi Maegima, Luís Paulo Manfré Ribeiro, Iago Benjamin Daniel Santana, Caio Pinheiro Santana, Paula Carvalho Mendonça, Rafael Guimarães Avila, Pedro Andrade de Oliveira, João Pedro Porto Teixeira, Kleber Roberto da Silva Santos Universidade Federal de Itajubá - UNIFEI Campus prof. José Rodrigues Seabra, Itajubá, Minas Gerais, Brasil Emails: pedrosennapsc@unifei.edu.br, luiz_antunests@yahoo.com.br, thiagos.oliveira@outlook.com, vanessa.maegima@outlook.com, luispaulomr@gmail.com, iagobendas@yahoo.com.br, caiosantana_06@outlook.com, paulacaarvalho@hotmail.com, rafaelavila@outlook.com, P_andrade100@hotmail.com, jp.teixeira@outlook.com, santoskr@unifei.edu.br Abstract This paper presents the Robok s Very Small soccer team from Federal University of Itajubá. The team consists of graduate students from various courses and is divided into mechanics, electronics, software and management sub-teams. Keywords very small size, ROBOK, robotic soccer. Resumo Este artigo apresenta a categoria Very Small de futebol de robôs da Equipe Robok, da Universidade Federal de Itajubá. A equipe é formada por alunos da graduaçao de diferentes cursos e é dividida nas área de mecânica, eletrônica, software e gestão. Keywords very small size, ROBOK, futebol de robôs. 1 Introdução O time da categoria Very Small Size de futebol de robôs é formado por 3 robôs de medidas 7,5x7,5x7,5cm controlados por um computador sem a intervenção humana. O computador processa as imagens enviadas por uma câmera, localizada suspensa sobre o campo, decidindo quais ações serão tomadas através de um algoritmo desenvolvido pelas equipes previamente, enviando os comandos necessários aos jogadores da estratégia de jogo, que então os executarão. 2 Mecânica O chassi do robô foi usinada em alumínio, compondo um único bloco que concentra a massa do robô próxima ao chão, com 19 milímetros de altura e suspenso a aproximadamente 1 milímetro do chão. Tendo sido projetado e usinado pela equipe. A imagem 7 mostra o chassi do robô. Os atuadores utilizados são os micro motores DC, da marca Pololu, compactos e que já possuem uma redução própria, de 30:1, garantindo uma ótima aceleração e tamanho reduzido. As rodas possuem diâmetro de 42 milímetros, seu aro, com 12 dentes internos formam um disco que é utilizado para leitura dos encoders, também da marca Pololu. Para o equilíbrio do robô é utilizado uma esfera deslizante, na região traseira do chassi, que minimiza a inclinação durante as acelerações e o atrito durante o movimento. A bateria é posicionada abaixo dos motores, sendo superdimensionada para evitar constantes trocas, man- Figura 1: Imagem do lado do robô. tendo a maior parte da massa do robô abaixo dos 30 milímetros em relação ao chão, isso garante estabilidade ao robô, principalmente nas curvas ou durante as acelerações[1]. A lateral foi feita em acrilíco, com 4 mm de espessura, permite a visualização do interior do robô. A foto 1 mostra o lado do rôbo. A placa eletrônica foi posicionada na parte superior, exigindo que muitos fios cruzassem o interior do robô, dificultando a manutenção do dispositivo. Apesar dos resultados satisfatórios obtidos com o conjunto, pretendemos em projetos futuros a construção de um robô mais baixo e com melhor disposição da placa eletrônica, reduzindo seu

tamanho e melhorando a disposição dos fios internamente ao robô. 3 Eletrônica Figura 3: Desenho do conjunto roda, encoder e motor. Figura 2: equipe. Imagem da placa confeccionada pela Responsável pela interface entre computador/robô e o controle de movimentação, a eletrônica da categoria Very Small é baseada na plataforma de desenvolvimento Arduino Nano, que utiliza o ATmega328 como microcontrolador. A facilidade de programação, a compatibilidade com o circuito de comunicação ZigBee, as suas especificações (16Mhz de clock e 32Kb de memória flash) e o tamanho reduzido fez com que o grupo escolhesse esta placa. O firmware utilizado foi feito em C/C++, e Assembly para a otimização de algumas funções críticas, como a leitura dos sensores de rotatividade. Os encoders usados são da Pololu e, programados, geram 48 pulsos por rotação, a imagem 3 mostra um desenho do conjunto roda/encoder/motor utilizados. O controle de velocidade das rodas é baseado em um algoritmo de controle PID implementado em software. A potência para controlar os dois motores DC do robô vem do L293D, um CI que possui duas pontes-h e uma corrente de 0.6mA por canal. Uma placa de circuito impresso foi confeccionada para agregar todos os componentes eletrônicos, a fim de mantê-los dentro das dimensões adequadas do robô. A Imagem 2 mostra a placa confeccionada pela equipe. As baterias são do tipo LiPo, com duas células que juntas fornecem 7.4V e 500mAh. As dimensões da bateria de 55x33x13 mm são adequadas ao porte do robô, a imagem 4 mostra o compartimento da bateria na parte inferior do robô. Para a comunicação, após pesquisas sobre os melhores componentes para o robô, optou-se por um shield do arduino que corresponde as pretensões da equipe, que utiliza comunicação ZigBee, o Xbee. O circuito de comunicação é responsavel pelo recebimento sem fio de comandos do computador. Para a próxima competição pretende-se utilizar outro microcontrolador, uma vez que o Arduino utilizado é limitado quanto ao processamento. Além disso, os novos motores possibilitariam um controle mais preciso da movimentação. Figura 4: Visão inferior do robô. 4 Software O projeto do software foi dividido em duas categorias: Inteligência Artificial e Visão. Todo o sistema foi desenvolvido utilizando o sistema operacional Linux pela facilidade de integração com a biblioteca OpenCV e pela estabilidade do sistema. Todo o sistema foi desenvolvido utilizando a linguagem C/C++ e assembly, e focado para uso de multithreads. Os módulos se comunicam usando o protocolo UDP. A imagem 5 mostra um

diagrama do software da equipe. serão seguidas pelos robôs. Nossa estratégia divide o time em três classes de jogadores: goleiro, atacante e zagueiro. Suas estratégias para cada uma dos jogadores estão abaixo: Goleiro: Responssável por defender o gol, ele deve ficar no centro do gol virado para a bola, caso a bola esteja próxima do nosso gol, ele deve sair para afastar a bola. Zagueiro: Deve impedir que a bola se aproxime da nossa área, ele fica a aproximadamente 28 cm de distância do nosso fundo de campo e deve ficar alinhado com a bola para evitar que ela passe por ele. Figura 5: Diagrama em alto nível do software. 4.1 Visão A visão computacional é responsável por realizar a identificação e classificação dos objetos do jogo. Para isso usamos uma webcam Logitech C270 que possui taxa de captura de 30 quadros por segundo e resolução de 1280 x 720 pixels. Por motivo de desempenho, as imagens utilizadas foram reduzidas para a resolução de 640 x 480. Para a aquisição da imagem pela câmera e pré-processamentos foi utilizada a biblioteca OpenCV. Para se ter um algoritmo mais robusto às nossas necessidades, a parte de identificação e rastreio dos robôs e bola foram implementados pela equipe. O algoritimo de identificação trata cada cor individualmente. É utilizado a biblioteca OpenCV para capturar a imagem, operaçoões de suavizaçao e threshold. Depois as imagens são varridas em busca de pixels que pertençam a cor calibrada. Quando um pixel com a cor desejada é encontrada, é utilizada uma busca em largura considerando os pixels acima e abaixo dele como vizinhos. Com essa busca determina-se o centro e o tamanho da concentarção de pixels. As concentrações encontradas são ordenadas utilizando como critério seu tamanho. São retornadas as n maiores concentrações, onde n é a quantidade de objetos com essa cor que existem no campo. Essa informação é utilizada para calcular a posição dos robôs e da bola e a direção dos roboôs. Essas informações são enviadas para o módulo de estratégia para determinar as ações dos robôs. 4.2 Inteligência artificial A Inteligência Artificial é responsável por definir as estratégias de jogo e planejar as trajetórias que Atacante: Deve sempre levar a bola para mais próximo do gol adverssário, ele se posiciona em uma região que proxima a linha da bola com o gol e vai em direção a bola para colocala sempre mais próxima do gol adverssário. Esse ano não utilizaremos estratégias para driblar o goleiro adversário. Os jogadores podem trocar de posição dinamicamente no jogo. Quem define a posição do jogador é o software, que analisa a situação do jogo e calcula quem esta mais bem posicionado para realizar as tarefas. Depois de diversas pesquisas[2][3] escolhemos utilizar como base para a determinação do caminho até o objetivo o algoritmo de campos potênciais, devido aos seus resultados nos nossos testes e na bibliografia. O método de campos potencias é utilizado para gerar forças repulsivas e atrativas sobre o robô. As forças repulsivas referem-se aos obstáculos e têm como objetivo permitir que os robôs se afastem e, consequentemente, desviem dos mesmos, chegando até a meta, ou seja, a bola. Esta, por sua vez, exerce forças de atração, levando os robôs a movimentarem-se em sua direção. Além da bola e dos robôs adversários, outros objetos do campo também exercem forças sobres os robôs, para evitar que ele não fique preso na parede e faça gol contra. No início do desenvolvimento, devido a falta de robôs, foi utilizado o simulador disponibilizado pela equipe USPdroids em 2008, a imagem 6. 5 Conclusões Obtivemos melhores resultados com o conjunto em relação ao ano passado, uma mecânica e eletrônica mais organizada facilitou os reparos e tornou o robô menos sujeito a falhas. A utilização de rodas com o disco do encoder embutido forneceu melhores dados, uma bateria melhor dimensionada possibilitou a eletrônica interna maior e a utilização do Arduino Nano (em 2012 foi utilizado a plataforma Arduino Mega) poupou muito espaço, permitindo a utilização de rodas mais robustas

[1] Arkin, R. C. (1989). Motor schema-based mobile robot navigation. The International Journal of Robotics Research, 4(8), 92 to 112. [2] Khatib, O. (1985). Real-time obstacle avoidance for manipulators and mobile robots. In IEEE International Conference on Robotics and Automation (pp. 500 to 505). St. Louis, Missouri. [3] Kitano, H., Kuniyoshi, Y., Noda, I., Asada, M., Mat- subara, H., & Osawa, H. (1997). Robocup: A challenge problem for ai. AI Magazine, 1(18), 73 to 85. Figura 6: Simulador utilizado no início do desenvolvimento. que melhoraram a tração, um chassi maciço substituindo as chapas de aço utilizadas no projeto anterior, e uma placa unificando os componentes eletrônicos. O conjunto permite avanços sem grandes esforços, principalmente pelo espaço excedente e ao controlador Arduino, que permite fácil alteração do código. Ainda esperamos obter mais dados do robô, principalmente do controle de motores DC através do PID antes de alterarmos o hardware. Um gargalo encontrado foi a quantidade de pulsos gerados pelas rodas quando em altas rotações. Solucionamos este problema limitando a velocidade dos motores pelo software. Outra solução possível, e mais atrativa, seria a alteração da relação da redução mecânica, atualmente em 30:1, mas por razões financeiras, mantivemos esta estrutura. O software da equipe apresentou resultados melhores em testes comparado ao utilizado no ano anterior. Nossa visão ficou mais robusta e consegue identificar os uniformes dos robôs independente do formato e mesmo com o robô em movimento. Devido às limitações motoras do robô, levamos um bom tempo buscando métodos que tivessem bons resultados. Esse ano decidimos usar como estratégia o campo potêncial, que apresentou bom resultado em testes, mas para o ano seguinte pretendemos colocar capacidade de aprendizado e adaptação para que nossa estratégia se adeque ao adversário no decorrer da partida. bibliografia

Figura 7: Chassi do robô.