Skip to content

Projeto desenvolvido para a competição de robótica móvel autônoma envolvendo mini robôs que lutam sumô

Notifications You must be signed in to change notification settings

Grupo-SEMEAR-USP/Mini-Sumo2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-Sumo 2021 (Espotinho)

Esse projeto foi desenvolvido para servir de base para a participação da competição Mini-Sumo 500g, representando a equipe Atena - USP (Grupo SEMEAR). Tal categoria de competição, consiste em robôs autônomos de no máximo 500g com o objetivo de empurrar o oponente para fora do Dohyo (arena).

Projeto   •   Organização   •   Como testar   •   Tecnologias

Projeto

Retomando os objetivos da competição de forma mais detalhada, ela é realizada num sistema de rodadas, nos quais os robôs são colocados em posições iniciais numa arena, como está exemplificado na figura abaixo, junto as dimensões do Dohyo. Vale ressaltar que a posição inicial do robô é escolhida pela equipe, assim como a estratégia que ele realizará na rodada.

Para criar uma base lógica para sua futura utilização na implementação do controle de um robô desenvolvido para competições dessa categoria foi desenvolvida um algoritmo com um conjunto de funções que foram julgadas bases para formação de qualquer estratégia, considerando um desenvolvimento de um robô com 2 rodas. Desse modo, foi pensando em como modularizar qualquer possível movimentação do robô em determinada estratégia. Para tanto, foi utilizado o framework Arduino para escrever o código na plataforma PlatformIO disponível como extensão do VSCode. Além disso, foi considerando a utilização de um microcontrolador também do tipo Arduino.

Com tais funções é possível executar o controle dos motores, verificar os sensores de linha e distância, fazer movimentações para todas direções e curvas. Para facilitar a construção dos algoritmos das estratégias foi criado duas funções derivadas dessas funções, denominadas, básicas:

  • return_battle: Executa uma rotação no eixo da roda para retirar o robô da linha externa do Dohyo (borda)
  • follow_enemy: Executa um método de busca que verifica os sensores de distância e realiza ajustes de sentido para ir em direção ao oponente

Por fim, foi adaptado tais códigos para o simulador Webots, junto a implementação de um CAD no ambiente para poder construir protótipos de estratégias e testá-las sem a necessidade da finalização da construção física do robô.

Organização

Para o projeto foi utilizado a seguinte árvore de arquivos:

  • assets: Arquivos adicionais
    • docs: Arquivos relacionados a competições
    • images: Imagens utilizadas
  • controller: Arquivos de implementação no microcontrolador
    • lib: Biblioteca desenvolvida com funções básicas
    • src: Algoritmo main
  • webots: Arquivos de implementação no simulador
    • libraries: Biblioteca desenvolvida com funções básicas
    • source: Algoritmo main

Como testar

Para testar os códigos no simulador, primeiramente se deve fazer o download do mesmo no seguinte link. Vale ressaltar que o simulador é gratuito e open source.

Com isso, se deve abrir o ambiente disponibilizado no simulador e acessar a pasta do mundo, adicionando os arquivos de controle presentes nesse repositório, incluindo o makefile. A seguir o comando no terminal necessário para baixar esse repositório:

$ git clone https://github.com/Grupo-SEMEAR-USP/Mini-Sumo2021.git

Tecnologias

Por fim, durante o desenvolvimento desse repositório foram utilizadas as seguintes tecnologias:

  • C/C++
  • Webots
  • Framework Arduino
  • PlatformIO

Desenvolvido por Francisco Affonso e Gianluca Capezzuto

About

Projeto desenvolvido para a competição de robótica móvel autônoma envolvendo mini robôs que lutam sumô

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published