Repositório oficial da equipe UTBots para a competição RoboCup SSL-EL. Este projeto implementa os módulos de comunicação e estratégia entre o software da equipe e o simulador grSim, bem como o Game Controller e o SSL-Vision.
- Python 3.8+
protoc(Protocol Buffers Compiler) ≥ 3.21- Biblioteca Python
protobuf
sudo apt update
sudo apt install python3-venv protobuf-compiler# Crie o ambiente virtual
python3 -m venv venv
# Ative o ambiente
source venv/bin/activate
# Instale as dependências
pip install protobufSe preferir, instale a partir de um requirements.txt (se estiver no repositório):
pip install -r requirements.txtUTBots-SSL-EL-Strategy/
├── communication/
│ ├── command_builder.py # Monta pacotes de comando para robôs
│ ├── command_sender.py # Envia comandos via UDP
│ ├── receiver.py # Base para recepção UDP
│ ├── vision_receiver.py # Recebe pacotes do SSL-Vision
│ ├── generated/ # Arquivos *.pb2.py gerados pelo protoc
│ └── protobuf/
│ └── proto/ # Arquivos .proto (definição das mensagens)
├── test_sender.py # Script de teste para envio de comandos
├── build_and_fix_protos.py # Recompila os arquivos .proto e corrige imports
└── README.md # Este arquivo
Todos os arquivos .proto estão localizados em:
communication/protobuf/proto/
Para compilar os arquivos .proto e gerar os equivalentes .pb2.py, rode:
python3 build_and_fix_protos.pyEste script:
- Recompila todos os arquivos
.proto - Gera os arquivos
.pb2.pydentro decommunication/generated/ - Corrige automaticamente os
importpara funcionar com o pacote Pythoncommunication.generated
Nunca edite arquivos .pb2.py manualmente.
Com o grSim rodando, você pode testar o envio de comandos com:
python3 test_sender.pyO robô de ID 0 deve se mover para frente. Ajuste os parâmetros dentro do script para testar outras velocidades ou robôs.
- Fork o repositório
- Crie uma branch com sua feature:
git checkout -b minha-feature - Commit suas alterações:
git commit -m 'feat: minha feature' - Push para a branch remota:
git push origin minha-feature - Abra um Pull Request
- Sempre ative seu ambiente virtual antes de rodar os scripts:
source venv/bin/activate-
Se der erro de import de
ssl_vision_detection_pb2, verifique se você recompilou os.protocorretamente com o script. -
Adicione a pasta
venv/ao.gitignore. Não envie ambientes virtuais para o repositório!
Para importar corretamente os arquivos, escreva no terminal:
nano ~/.bashrc
Vai abrir um editor de texto. Role até a última linha e adicione:
export PYTHONPATH=$PYTHONPATH:/home/futebol_de_robos/FutebolDeRobos/UTBots-SSL-EL-Strategy
Para salvar as alterações, use:
Ctrl + O → isso salva o arquivo
Pressione Enter para confirmar
Ctrl + X → isso fecha o nano
Por fim, aplique as alterações.
source ~/.bashrc
Feito por 🦊 UTBots.