LESC Robotics: Descrição da Equipe para a Categoria IEEE SEK 2016 Lucas B. da Silva, Kristtopher Kayo Coelho, Edson Noboru Hamakami, Douglas da Cruz Pereira, José Augusto M. Nacif Universidade Federal de Viçosa, Campus Florestal Laboratório de Engenharia de Sistemas de Computação Florestal, MG, Brasil, 35690-000 Email: { lucas.braganca, kristtopher.coelho, edson.hamakami, douglas.c.pereira, jnacif }@ufv.br Resumo Este artigo descreve o desenvolvimento de dois robôs projetados para cumprir o desafio proposto pela Competição Brasileira de Robótica (CBR) 2015 na categoria Standard Educational Kits(SEK). O projeto foi elaborado pela equipe LESC Robotics da Universidade Federal de Viçosa campus Florestal. I. INTRODUÇÃO LESC Robotics é a equipe de robótica da Universidade Federal de Viçosa, campus Florestal formada por alunos do curso de Ciência da Computação. Desde 2012 a equipe tem tido bons resultados em suas participações na CBR. Neste ano iremos participar pela quarta vez consecutiva na categoria SEK (Standard Educational Kits Category) [1]. O desafio da CBR na categoria SEK não havia mudado nos três últimos anos, mas esse ano teremos um novo desafio. A equipe começou a pesquisar e estudar a melhor estratégia para cumprir o desafio assim que foi liberado o documento com as especificações e regras do desafio. Para o montagem dos robôs a equipe utilizou os Kits Lego Mindstorms NXT [2], que facilita na montagem por possuir uma grande variedade de peças e acessórios. Para a programação dos robôs foi escolhida a linguagem NXC (Not exactly C) [3] que é bem parecida com a linguagem C usada nas disciplinas de programação estudadas pelos participantes. O objetivo deste trabalho é descrever o desenvolvimento de dois robôs capazes de cumprir o desafio proposto pela CBR 2015, na categoria SEK. O desafio consiste em resgatar o maior números de habitantes do planeta DIRTO que teve problemas com a radiação lançada pelos seus dois sóis. O planeta DIRTO é habitado por três nações diferentes são elas: SIMU, ESITU e KIEFA. A nação KIEFA é nativa do planeta DIRTO, as outras são de planetas diferentes e possuem características de acordo com seus planetas natais. Os SIMUs são do planeta URGEY e possuem a pele negra e os ESITUs são de um planeta chamado de XODOS e possuem a pela branca. As três nações criaram áreas chamadas CLOCONS, que isolam a radiação dos sóis para a produção de alimentos, mas um aumento na radiação comprometeu essas áreas e os habitantes estão precisando de ajuda uma vez que eles são sensíveis a radiação. No entanto o planeta possui cavernas onde a radiação não será muito forte e os KIEFAs conseguiram sobreviver em estado de hibernação até que a radiação diminua, mas as outras nações precisam voltar para seus planetas de origem. O plano dos habitantes de DIRTO era simples, os SIMUs e os ESITUs iriam ajudar os KIEFAs a se esconderem nas cavernas e depois iriam para um área onde duas naves buscariam eles para serem levados ao seus planetas. O plano corria bem, mas após ajudarem os KIEFAs a se esconderem a energia do planeta acabou devido a alta radiação deixando os CLOCONS áreas isoladas do planeta no escuro e fazendo com que os SIMUs e os ESITUs adormecesse. O objetivo especifico é desenvolver dois robôs para resgatar os SIMUs e os ESITUs e levá-los para as áreas onde a naves de seus países iram pousar. Cada robô deve resgatar somente uma nação e levá-la para a área correspondente para não haver enganos. Para o desenvolvimento dos robôs a equipe LESC Robotics utilizou apenas peças do kit LEGO Mindstorms, incluindo sensores, motores e demais peças. Na Figura 1 é apresentada uma visão geral da arena onde os habitantes estão esperando por ajuda.
II. DESENVOLVIMENTO DOS ROBÔS Esta seção descreve o desenvolvimento dos robôs. Também será mostrado como o robô realiza o resgate, a seleção e o armazenamento dos habitantes. Sensores de cor. Os atuadores são responsáveis pela locomoção do robô na arena, movimentação da garra de captura e movimentação da esteira responsável pela seleção do local de armazenamento. As dimensões dos robôs são 40 cm de altura, 29.8 cm de comprimento e 29,5 cm de largura, dentro do limite máximo que é 30 cm de altura/largura.a Figura 2 mostra a visão lateral do robô. Figura 1. Visão da Arena. A. Descrição dos Robôs Os robôs projetados devem atender as seguintes regras: Os robôs devem medir no máximo 30cm 2, sendo a altura de tamanho indeterminado; Os robôs podem possuir quantos sensores ou atuadores forem necessários, desde que os sensores e atuadores façam parte de um mesmo kit educacional ou de empresas credenciadas; Os robôs devem possuir peças somente dos mesmos kits, ou seja não podem ter peças de fabricantes diferentes nos mesmo robô. 1) Composição Física do Robô: Cada robô projetado para a competição utilizaram 2 unidades de processamento (bricks), 6 sensores e 6 atuadores. Os sensores são dos tipos: Sensores de ultrassom; Sensores de toque; Sensores EOPD; Figura 2. Vista lateral do robô. B. Resgate dos habitantes Os habitantes serão capturados pela garra do robô, na garra estão presentes não só o sensor de distância, para medir a proximidade entre o robô e o habitante a ser resgatado, como também o sensor de cor, que identificará a cor do humanóide, com essa informação, as unidades de controle decidem se habitante será recolhido ou não pelo robô. Caso seja recolhido, a garra será fechada, e em seguida, levantada, fazendo com que o humanóide vá para uma esteira na parte superior do robô. A esteira o levará para a esquerda ou direita, onde há um local apropriado para que ele fique até que o robô volte para a área onde deverão ser colocados os resgatados. O robô terá capacidade para três humanóides, sendo um em cada lado do robô, e outro sobre a esteira. Após a coleta de 3 habitantes, o robô volta para a base. Após o retorno o robô deixará os
humanóides resgatados e reiniciará a tarefa de busca por mais habitantes. A Figura 3 mostra a visão frontal do robô e a garra responsável pela captura dos habitantes. C. Sistema de seleção dos habitantes Para selecionar quais humanóides serão capturados pelo robô, foi utlizado um sensor de cor,, caso o boneco seja da cor desejada, e os locais de armazenamento dos humanóides ainda não estiver cheio, a garra reservatório à esquerda, o segundo será colocado no reservatório à direita, enquanto o terceiro, ficará seguro pela garra. III. ESTRATÉGIA A estratégia adotada pela equipe para locomoção do robô na arena, é basicamente um seguidor de parede. O seguidor de parede é controlado pelo sensor EOPD que indica a distância do robô para a parede, se estiver muito longe, ele aproxima, se estiver perto de mais, ele afasta da parede. Com a habilidade de seguir parede, o robô tornase capaz de entrar nas portas, que divide uma área da outra na arena. Com isso, ao mudar de ambiente, o robô faz os resgates necessários até que ele esteja cheio de resgatados ou tempo de partida esteja acabando. Figura 3. Garra decaptura. fechará, prendendo o habitante, em seguida, a garra será levantada levando o boneco à esteira, a qual encaminhará o habitante para seu devido local de armazenamento. Caso os locais de armazenamento estiverem totalmente ocupados, a garra apenas prenderia o humanóide, e o robô se encaminharia para a área inicial, onde deverão ser deixados os humanóides resgatados. D. Armazenamento dos habitantes A Figura 4 mostra a parte superior traseira do robô, onde existem dois espaços, um à esquerda e outro à direita, esses espaços serão usados para guardar os humanóides resgatados durante a competição. Ao resgatar um humanóide, a garra o conduziria até a esteira, na esteira, o primeiro resgatado vai para o Figura 4. Armazenamento dos humanoides. IV. PROGRAMAÇÃO DOS ROBÔS Para participar da competição os robôs devem ser autônomos, ou seja, não devem receber comandos externos, para isso os robôs devem ser programados. O programas implementados são responsáveis por comandar os robôs de forma que eles possam cumprir a estratégia adotada pela equipe e realizar as funções do robô como: se locomover pela arena, pegar os
humanóides, e retornar com eles às devidas áreas de resgates. Foram implementados dois programas devido o uso de dois Bricks NXTs no mesmo robô, esses Bricks possuem um microprocessador responsável por executar os códigos e controlar os periféricos dos robôs. O programa possui uma lógica bem simples, os robôs percorrem todos os ambientes da arena apôs sair da base e segue a parede até que o sensor de cor posicionado no chão detecta uma faixa preta, indicando a ocorrência de uma porta no local e que o robô mudou de ambiente. Ao entrar em um novo ambiente, é verificado se há CLOCON, que são determinados por um círculo de cor preta no chão da arena. Caso o detector de cor (que estará apontado para o chão) identifique a ocorrência de um CLOCON, é feita uma busca dentro da mesma e todos os humanóides são analisados pela cor. Se o humanóide for da cor desejada, o sistema de locomoção do robô é interrompido, e ativase o mecanismo da garra de captura e armazenamento, o sistema de locomoção é restabelecido imediatamente após a garra retornar a posição inicial. Ao atingir o número de 3 habitantes recolhidos ou o tempo do resgate se aproximar do final o robô retornará para a sua base fazendo o caminho inverso.finalizando o processo de busca, caso haja tempo suficiente o robô poderá fazer nova rota de procura. A Figura 5 mostra o fluxo de execução do programa. Figura 5. Fluxograma dos códigos dos robôs. Os Bricks possuem comunicação um com outro por meio de um cabo serial ligado a uma das entradas de sensores. Os Bricks foram classificados como sendo um Master e um Slave, também foi desenvolvido um protocolo de comunicação simples para facilitar nas trocas de mensagens entres eles. Para o desenvolvimento do protocolo foi definido um padrão de mensagem onde a mensagem deve possuir dois bytes, sendo um byte para identificar o comando e outro byte com dado desse comando, alguns comandos não possuem dados assim a mensagem possuirá somente um byte. Os únicos comandos enviado do Master para o Slave são os comando para selecionar o local de armazenamento e a remoção dos habitantes ao fim da busca, após receber esse comando o Slave responderá
com uma mensagem de reconhecimento do comando e depois com outra mensagem informando que o comando foi executado. O Brick Slave deve enviar mensagens para o Master sempre que houver alterações no número de habitantes armazenados. V. RESULTADOS Os resultados foram atendidos dentro da expectativa da equipe. Foi possível aplicar e desenvolver vários conceitos utilizando desde robôs mais simples até robôs mais complexos. Houve um estudo para definir a tática mais eficiente para o resgate dos habitantes na arena, no qual foram feitas várias montagens e discussões. Devido a competição estar longe, pode ocorrer mudanças na estratégia utilizada, como aumentar o tamanho do robô para armazenar mais habitantes. VI. CONCLUSÃO A robótica permite uma grande interação entre todas as áreas, tornando-a uma área multi disciplinar. Foi necessário conceitos de física, matemática, arquitetura, mecânica e design, para o desenvolvimento dos robôs. Percebemos também o leque de possibilidades que o kit de desenvolvimento LEGO propicia, sendo uma excelente ferramenta de ampliação de conhecimento na área de robótica educacional. AGRADECIMENTOS Os autores do trabalho gostariam de agradecer a Fundação de Amparo à Pesquisa do estado de Minas Gerais (FAPEMIG) sob o processo APQ-02951-11 e o Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo Decreto n o 4.728 de 9 de junho de 2003 pelos apoios financeiros. REFERÊNCIAS [1] C. L. A. de Robótica. http://www.cbrobotica.org/?lang=pt, 2014. [2] Lego. http://www.lego.com/enus/mindstorms/?domainredir=mindst orms.lego.com, 2014. [3] B. C. Center. http://bricxcc.sourceforge.net/, 2014.