A definição de uma linguagem para a programação do comportamento de robôs dentro do contexto da RoboCup
Resumo
A RoboCup Soccer é uma das ligas da Copa Mundial de Robôs, a RoboCup. Nela testa-se
a capacidade de robôs humanóides autônomos jogarem futebol. No ano de 2015 a Taura Bots,
equipe de futebol de robôs da Universidade Federal de Santa Maria, participou pela primeira
vez da competição. Assim, surgiu a necessidade de criação de uma linguagem para a programação
do comportamento dos robôs. Existem vários problemas que envolvem a programação das
técnicas do comportamento. Entre eles está o pouco conhecimento da sintaxe das linguagens
usadas no momento, C++ e Python, a falta de linguagens de mais alto nível e o pouco entendimento
de como funciona uma partida de futebol com regras oficiais. Esses problemas motivam
a criação de uma linguagem de domínio específico que ofereça aos usuários um alto nível de
abstração, portabilidade e uma sintaxe simples e intuitiva. Para a criação de uma linguagem é
necessária a definição de sua sintaxe através da construção de uma gramática. Nessa última,
determina-se o conjunto de regras de produção que irão definir as condições de geração das
palavras da linguagem. Para criação e validação da gramática é necessária a construção de um
parser. Além disso, é preciso construir um tradutor para a tradução entre a linguagem criada
e Python. O objetivo do trabalho foi realizar todos os passos citados anteriormente, chegando
ao resultado final de uma linguagem que programasse as táticas do comportamento de robôs
que jogam futebol. O resultado alcançado foi satisfatório, levando em conta que a TauraLang,
linguagem construída neste trabalho, já pode ser usada na programação de comportamentos
simples e alguns já rodam no simulador. A linguagem ainda apresenta problemas na questão
de portabilidade, pois tanto o robô real quanto o simulador não identificam alguns conceitos
já expressos na gramática criada. Acredita-se que com atualizações na sintaxe para adaptação
ao presente nível da equipe e com adaptações no simulador e no robô real a transferência do
código entre os dois últimos torne-se possível.
Coleções
Os arquivos de licença a seguir estão associados a este item: