Semana de Computação da Universidade Estadual do Sudoeste da Bahia Revista de Computação – ISSN: 2446-7812 Desenvolvimento de Uma Biblioteca de Controle Para o Robô Móvel do Laboratório Remoto em AVA Utilizando a Metodologia Codesign. Gustavo L. de Oliveira¹, Iago P. Gomes², Raphael C. dos S. Oliveira², Pablo S. da Silva², Jenifer de J. Jang², Cássio M. Silva², Roque M. P. Trindade³, Alzira F. Silva³, Maísa S. dos S. Lopes³ 1. Discente do Curso de Ciência da Computação da UESB; *g.cdcomp@gmail.com 2. Discente do Curso de Ciência da Computação da UESB; 3. Professor do Depto.de Ciências Exatas e Tecnológica da UESB; Palavras Chave: Biblioteca de controle, robô móvel, codesign. Resumo A robótica tem sido usada com sucesso para atrair e motivar o estudo de programação de computadores. O objetivo deste trabalho, é descrever a arquitetura e modelagem de uma biblioteca de controle para o robô móvel seguidor de linha e desvio de obstáculos L1R2 (LARA Remote Robot), componente do laboratório remoto LARA, que é uma proposta de ferramenta para facilitar o ensino/aprendizagem de programação. Sendo o L1R2 um sistema heterogêneo, composto por hardware e software, fez-se necessário o uso de uma metodologia que permitisse o desenvolvimento dessas partes de forma concorrente, para tanto, a metodologia codesign se mostrou eficiente, explorando os conflitos existentes entre as partes. Por fim, a pequena quantidade de erros que ocorreram durante o uso da biblioteca em conjunto com a plataforma completa, mostraram a eficiência da interface. Introdução Os problemas encontrados na compreensão de conceitos abstratos de programação, encontra sua raiz ainda durante a formação básica (SANTOS e COSTA, 2006), como consequência, há um alto índice de desistência em cursos de graduação nas áreas de computação e informática logo nos primeiros semestres. Tendo como base esse problema, o LARA - Laboratório Remoto em AVA (Ambiente Virtual de Aprendizagem), situado na Universidade Estadual do Sudoeste da Bahia - UESB, propõe o uso de experimentos robóticos, disponibilizados pela internet, para auxiliar no processo de ensino/aprendizagem de programação (Lopes et al., 2016). O L1R2 - Lara Remote Robot, experimento do LARA, é um robô móvel para seguir linha e desviar de obstáculos, baseado nas normas da competição RoboCup Junior Rescue A e a Olimpíada Brasileira de Robótica na categoria de carros seguidores de linha e resgate. Ele possui sensores, atuadores e uma biblioteca de controle, tornando possível aos usuários do AVA a abstração de conceitos inerentes ao hardware do robô, voltando o foco do experimento para a programação. Essa abordagem permite que o ambiente seja utilizado por alunos de nível iniciante até usuários mais avançados, já aptos a criarem suas próprias funções e entender os conceitos de sistemas embarcados e robóticos. O objetivo do presente trabalho é apresentar a biblioteca de programação do L1R2 e sua modelagem, iniciando pela análise de funções, estrutura física do robô, modelagem, implementação e testes de integração ao laboratório. Metodologia O L1R2,é composto por uma parte de hardware e outra de software (NIKU, 2013). Para diminuir as dificuldades no desenvolvimento advindas dessa composição, foi utilizada uma metodologia concorrente, chamada codesign, que permite trabalhar com ambas as partes, analisando e resolvendo os conflitos existentes ( Thomas, Adams e Schimit, 1993). A primeira fase da metodologia adotada consistiu no levantamento das funções do experimento, depois disso, analisou-se cada uma destas, dividindo-as em componentes de hardware e software, de tal modo que fosse possível analisá-los para então implementá-los no sistema. Para cada novo dispositivo acrescido ao robô, um estudo sobre sua utilização era realizado, bem como, testes de unidades, que objetivaram identificar as necessidades de software para o controle deste. Na primeira fase foram definidas as seguintes funções: F01, Os alunos poderão praticar durante os experimentos todos os conceitos abordados na disciplina de Algoritmos e Programação I, do curso de Ciência da Computação - UESB. F02: O experimento deve ficar online 24 horas por dia, todos os dias da semana; F03: O robô deve seguir as regras da Olimpíada Brasileira de Robótica, no que diz respeito à seguir linha e desviar obstáculos; F04: O robô deve voltar ao ponto inicial da arena sempre que for solicitado; F05: O aluno pode programar o robô utilizando funções de alto nível ou implementar suas próprias funções; F06: O robô deve se comunicar com o servidor de laboratório; F07: O robô deve executar suas manobras (frente, direita, esquerda, ré) corretamente.