Skip to content

turing-usp/AirHockeyRL

Repository files navigation

banner

AirHockeyRL

Ambiente de Air Hockey desenvolvido em Unity para treinamento de agentes com Reinforcement Learning utilizando ML-Agents (PPO), suportando execucao e treinamento diretamente no Unity.

Unity Python ML-Agents

Requisitos

Ferramenta Versao
Unity 6000.0.23f1
Python 3.10.x (recomendado 3.10.12)
Conda Anaconda ou Miniconda

Instalacao

Na raiz do repositorio, execute:

powershell -ExecutionPolicy Bypass -File .\scripts\setup_conda_mlagents.ps1 -EnvName ml_agents

Se o ambiente ja estiver ativado:

conda activate ml_agents
powershell -ExecutionPolicy Bypass -File .\scripts\setup_conda_mlagents.ps1 -EnvName ml_agents -UseActiveEnvironment

Treino

No Editor

  1. Abra unity/Assets/Scenes/SampleScene.unity no Unity.
  2. No terminal, rode:
python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --run-id AirHockey --time-scale 20 --resume
  1. Aperte Play no Unity.
  2. Acompanhe o progresso com TensorBoard:
tensorboard --logdir results

Menu de treino

Se quiser montar o treino interativamente:

python tools/train_menu.py

O menu permite escolher YAML, rewards, grid de mesas, run-id, build e opcionalmente treinar contra a IA deterministica que segue o puck.

Via Build

Gere a build de treino em builds/training/AirHockeyRL.exe pelo Unity e depois rode:

python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --env "builds/training/AirHockeyRL.exe" --run-id AirHockey --time-scale 20 --resume --no-graphics

Considere usar --no-graphics, que acelera bastante o treino em build.

Builds prontas

Build de jogo

Para jogar a build pronta:

.\builds\game\AirHockeyRL.exe

Uso rapido:

  • clique em JOGAR no menu
  • o jogador controla o pusher azul
  • o pusher laranja usa o agente/modelo configurado no projeto
  • o controle principal e pelo mouse sobre a mesa; existe fallback por teclado no projeto

Build de treino

A build de treino nao e para jogar manualmente. Ela deve ser usada pelo ML-Agents:

python -m mlagents.trainers.learn unity/Assets/ML-Agents/Configs/air_hockey.yaml --env "builds/training/AirHockeyRL.exe" --run-id AirHockey --time-scale 20 --resume --no-graphics

Se preferir, rode:

python tools/train_menu.py

e selecione a build de treino no menu.

Arquivos principais

  • scripts/setup_conda_mlagents.ps1
  • scripts/setup_conda_mlagents.sh
  • requirements-mlagents.txt
  • docs/GUIA_MLAGENTS_PROJETO.md
  • tools/train_menu.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors