Sistema principal da UnBall que agrega as áreas de estratégia, comunicação e controle.
Desenvolvido em Python3, pode ser executado em sistemas Linux.
Precisa ser executado com a visão desenvolvida para a VSSS chamada de vsss-vision e com o juiz virtual VSSSReferee [colocar links]
- LARC 2023
Primeiro, é necessário instalar as bibliotecas necessárias para executar o sistema. Antes, recomendamos a configuração de um ambiente virtual tal como se segue:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get install python3.8 python3.8-dev python3.8-venv
sudo apt-get install python3.8 python3-dev python3-venv
#Cria o ambiente virutal
python3.8 -m venv env
# Entra no ambiente virtual
source env/bin/activate
#install requirements into it
pip3 install -r requirements.txt
Depois de ativar o ambiente virtual, podemos instalar as dependências nele com o pip3
pip3 install -r requirements.txt
Dentro do ambiente virtual, precisamos compilar os arquivos proto para comunicar com o VSSSReferee e vsss-vision:
cd src/client/protobuf
./protobuf.sh
Antes de realizar a execução, cuidados sobre o serial atualize o chmod com seu password sudo e por fim execute o comando bash abaixo:
sudo adduser $USER dialout
E atualize o sudo chmod em
Por fim, podemos executar o sistema como segue:
python3 src/main.py --team-color blue --team-side left
Podemos usar python3 src/main.py --help
para saber mais sobre os argumentos que podemos
passar pelo terminal, mas os principais são
- cor do time `--team-color`` que pode ser yellow ou blue
- lado aliado do campo `--team-side`` que pode ser right ou left, sendo que left é o padrão
Esses são os dois argumentos obrigatórios quando for executar o sistema.
Caso precise executar sem o referee, basta colar no terminal o seguinte comando
python3 src/main.py --team-color blue --team-side left --immediate-start
A falha ao abrir serial pode ser bem comum principalmente em sistemas Linux. Para resolver esse problema, primeiro, confira se o transmissor está conectado ao seu computador por um cabo USB. Depois, você precisa autorizar a escrita e leitura da porta serial antes de executar. Para isso, basta digitar no terminal
sudo chmod a+rw /dev/ttyUSB0
Caso não ele não encontre a porta /dev/ttyUSB0, basta procurar a porta na qual o transmissor está conectada no seu sistema operacional. Nesse caso, pode usar o comando
ls /dev/ttyUSB*
E ele irá listar as portas ttyUSB*
que estão sendo usadas. Basta copiar a que aparecer e substituir no comando de autorizar a porta.