UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ Curso de Bacharelado em Ciência da Computação UNIOESTE - Campus de Cascavel MODELO PARA ELABORAÇÃO DE PROJETOS DE TRABALHO DE CONCLUSÃO DE CURSO 1. IDENTIFICAÇÃO DA DISCIPLINA 1.1. Colegiado: Ciência da Computação 1.2. Nome da disciplina: Trabalho de Conclusão de Curso 1.3. Ano de realização: 2014 2. IDENTIFICAÇÃO DO ALUNO 2.1. Nome: Remi Pietsch Junior 2.2. Nº de matrícula: 196707 2.3. Professor orientador: Adriana Postal 2.4. Co-Orientador: Josué Pereira de Castro 3. PROJETO 3.1. Título: Implementação de um módulo simulador de robôs baseado em Unity3D para o SimBot - Simulador de Robôs para Lego NXT. 3.2. Introdução: Durante as aulas ministradas na matéria de Robótica do curso de Ciência da Computação campus UNIOESTE de Cascavel no ano de 2011, houve problemas nas aulas práticas devido à falta de materiais para realizá-las. Esses problemas foram a pequena quantidade de kits Lego disponíveis para as aulas práticas de Robótica e o alto valor que seria gasto para a aquisição de novos kits. Após discussões com os professores da matéria, surgiu a ideia de desenvolver o SimBot - Simulador de Robôs para Lego NXT (LEGO, 2014), uma ferramenta que possibilitasse a realização das aulas práticas sem que houvesse a necessidade do uso dos kits Lego. O SimBot tem como objetivo permitir a modelagem de protótipos de robôs que utilizem as peças do Lego NXT e a simulação deste protótipo em um ambiente virtual que tenha as mesmas características do mundo real. Poderá ser atribuído aos robôs criados um código que será executado durante a experiência. O SimBot foi dividido em três partes: o Editor/Tradutor de Código NXC, o Modelador de Robôs e o Módulo do Simulador. Esta divisão pode ser vista na Figura 1. 1
Figura 1. Imagem do sistema SimBot. Neste trabalho será desenvolvido o Modelador de Robôs, que será responsável pela criação de protótipos de robôs e pela interpretação de códigos enviados para os mesmos. O trabalho consiste em criar uma biblioteca para o Unity 3D que conterá todas as peças que pertencem ao kit Lego NXT, mostradas na Figura 2. Figura 2. Imagem das peças pertencentes ao kit Lego NXT. 2
Nessa biblioteca estarão contidas peças para construção da estrutura do protótipo, peças elétricas como motores, sensores e brick, também responsável por alimentar as outras peças elétricas, e cabos para fazer a ligação entre o brick e as peças elétricas do protótipo. As peças elétricas contidas na biblioteca levarão consigo um script onde estarão contidas todas as suas funcionalidades. No caso do brick, estará contido um tradutor para comandar as outras peças contidas no protótipo de maneira correta. O motor terá uma movimentação extra em relação às outras peças, pois ao acioná-lo, apenas o seu eixo deve rodar, onde este movimento será transferido às outras peças que estejam conectadas a ele, provocando movimentos no protótipo que está sendo modelado. 3.3. Objetivos: - Geral. Desenvolver um módulo para a criação de robôs. - Específicos. Criar uma biblioteca com as peças já modeladas do kit Lego NXT utilizado para a montagem dos robôs. Estudar as ferramentas que serão utilizadas no desenvolvimento do módulo. Estudar os movimentos que as peças podem realizar decorrentes do movimento do eixo do motor. Atribuir aos motores a movimentação apenas do seu eixo. Atribuir códigos a peças como sensores, motores e brick para que possam desempenhar suas funções corretamente. Atribuir às peças efeitos físicos, tais como atrito e resistência mecânica, para que se mantenham juntas quando encaixarem e para que simule de modo mais fiel uma peça real. Criar uma interface que possibilite a criação dos robôs, utilizando as peças presentes na biblioteca criada. 3.4. Metodologia: Para que possa ser realizado o desenvolvimento do deste módulo, os programas Unity 3D (UNITY TECHNOLOGIES, 2014), Maya (AUTODESK, 2014), 3DS MAX (AUTODESK, 2014) e Blender (BLENDER FOUNDATION, 2014) serão estudados. O objetivo deste estudo é identificar ferramentas que auxiliem na criação dos protótipos, na atribuição dos efeitos necessários em cada uma das peças e na criação final do protótipo do robô. Também será estudado a movimentação das peças que estiverem conectadas nos motores, para que possa ser reproduzido da melhor forma os movimentos de juntas ligadas ao eixo do motor. Através do programa Unity 3D será criada uma biblioteca que conterá todas as peças modeladas que estão presentes no kit Lego NXT. Na Figura 3 estão mostradas algumas das peças que estarão contidas na biblioteca que será criada. 3
Figura 3. Exemplo de peças que estarão contidas na biblioteca. Após a criação dessa biblioteca, será atribuída aos motores a movimentação apenas do seu eixo, para que seja possível a sua utilização no programa. Esse movimento será inserido no motor com o auxílio de programas como o Maya e o 3DS MAX. Durante a modelagem dos motores, sensores e brick (controlador), eles devem ser capazes de desempenhar suas funções corretamente. Para isso será adicionado, após a sua modelagem, um script que conterá as suas funcionalidades, isto é, estará descrito neste script o que a peça deverá fazer quando receberem um comando específico. Para que a criação do protótipo do robô mantenha-se unida, será atribuído a cada peça efeitos para simular a fixação das peças por atrito e pressão, ou seja, peças que sejam colocadas próximas serão encaixadas automaticamente, isso possibilitará uma melhor união entre as peças, evitando que elas fiquem mal posicionadas ou sobrepostas ao finalizar a modelagem. Caso não sejam atribuídos esses efeitos às peças, o protótipo do robô ficaria mal encaixado e isso poderia prejudicar os dados apresentados na hora da simulação ou não atender a todas as necessidades requisitadas para a atividade realizada em sala. Após finalizar a criação da biblioteca, o próximo passo é desenvolver um ambiente que possibilite a criação do protótipo do robô. Para a criação desse protótipo será desenvolvido uma interface onde estará disponível uma lista que conterá todas as peças do kit. Também conterá uma área de trabalho onde o utilizador montará o robô. As peças serão apresentadas nessa tela à medida a mesma seja selecionada na lista. 3.5. Cronograma de Atividades: ETAPAS Elaboração da proposta Referencial bibliográfico Desenvolvimento da biblioteca de peças Criação do movimento do eixo Ano: 2014 Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez 4
do motor Criação dos scripts para as peças Aplicar efeitos físicas nas peças Preparação texto prévia Desenvolvimento da interface Testes com o módulo Preparação do texto final Correções no texto 3.6. Referências Bibliográficas: AUTODESK (Usa). 3D Animation Software, Computer Animation Software Maya Autodesk. Disponível em: <http://www.autodesk.com/products/autodesk-maya>. Acesso em: 12 mar. 2014. AUTODESK (Usa). Software de modelagem 3D e renderização 3ds Max Autodesk. Disponível em: <http://www.autodesk.com.br/products/autodesk-3ds-max>. Acesso em: 12 mar. 2014. BLENDER FOUNDATION (Amsterdam). Blender.org - Home of the Blender project - Free and Open 3D Creation Software. Disponível em: <http://www.blender.org/>. Acesso em: 17 mar. 2014. LEGO (Usa). Lego.com Mindstorms. Disponível em: <http://mindstorms.lego.com>. Acesso em: 10 mar. 2014. UNITY TECHNOLOGIES (Usa). Unity - Game Engine. Disponível em: <http://unity3d.com/pt/>. Acesso em: 10 mar. 2014. 5
4. COMPOSIÇÃO DA BANCA Membro 1: Josué Pereira de Castro Membro 2: Pedro Luiz de Paula Filho, UTFPR-Medianeira 5. ASSINATURAS Assinatura do Aluno Assinatura do Professor Orientador 6. PARECERES/SUGESTÕES DA BANCA: (Composta por 3 professores do Curso, sendo 1 deles o próprio Professor-Orientador) 6