Portal CERES - [UDESC]
Portal CERES - [UDESC]
Portal CERES - [UDESC]
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
I Congresso de Iniciação Científica e Pós-Graduação –Florianópolis (SC) –setembro 2010<br />
LINGUAGEM PARA PROGRAMAÇÃO DE ROBÔS: MODULARIZAÇÃO E<br />
TRAJETÓRIAS 1<br />
Linguagem para Programação de Robôs: Modularização e Trajetórias<br />
Marcelo da Silva Hounsell 2 , Gabriel Balestrin 3<br />
Palavras-chave: Linguagem de Programação, Modularização, Trajetórias.<br />
Uma linguagem de programação permite o programador ter uma maior produtividade e garante<br />
expressar as suas intenções mais facilmente. As linguagens de programação padronizam atividades ou<br />
rotinas que expressam instruções para um computador. Com objetivo de dar continuidade no<br />
desenvolvimento de uma linguagem de programação para um robô virtual, no intuito de, modularizar o<br />
código que é criado pelo programador utilizando subrotinas e controlar as trajetórias que o robô<br />
executa. Uma linguagem existente baseada em comandos chamada de SCORBASE foi utilizada como<br />
modelo para criação dos novos comandos, pois se trata da mesma linguagem de programação do robô<br />
real. Com base nas ideias do SCORBASE, um compilador nomeado VirBASE foi feito usando o<br />
gerador de compiladores JavaCC. Ele toma como entrada a descrição de uma linguagem e transformaa<br />
num programa capaz de analisar um arquivo e dizer se satisfaz ou não as regras especificadas por<br />
essa linguagem. O VirBASE estrutura os comandos em uma sequencia de instruções que são<br />
executadas uma por vez, e cada instrução ao ser executada desempenha uma atividade específica.<br />
Quatro instruções controlam as trajetórias do robô, GP envia até a posição desejada interpolando os<br />
eixos do robô, GL move em linha reta, GC faz um movimento curvilíneo passando por um ponto<br />
específico e GS faz o robô se mover suavemente passando por varias posições; três instruções para<br />
modularização do código, CS executa uma subrotina, SS define o início de uma subrotina e RS o fim<br />
de uma subrotina; três para posicionamento e manipulação da garra do robô, PH altera a posição<br />
inicial do robô, OG abre a garra e CG fecha a garra do robô; e mais quatro para entrada e saída EI<br />
permite que interrupções mudem a execução do código, DI desabilita interrupções, ON ativa um<br />
sinalizador e OF desativa o sinalizador. Também, duas interfaces gráficas foram criadas, uma para<br />
criar e editar o código programado; e outra para simular a entrada e saída das interrupções e exibir os<br />
sinalizadores. A linguagem com os novos comandos pode “agora” produzir vários programas para<br />
solucionar uma quantidade maior de tarefas que antes e, mais próximo aos recursos do próprio robô<br />
real. Assim, além de se aproximar das funcionalidades do equipamento real, a linguagem<br />
implementada executa comandos que vão além dos recursos existentes na linguagem original.<br />
1 Projeto de Pesquisa - N o 1116/2008 – CCT-<strong>UDESC</strong><br />
2 Orientador, Professor do Departamento de Ciência da Computação CCT-<strong>UDESC</strong> –<br />
marcelo@joinville.udesc.br.<br />
3 Acadêmico (a) do Curso de Ciência da Computação CCT-<strong>UDESC</strong>, bolsista de iniciação científica<br />
PIBIC/CNPq.