Otto Bonilla: RL Playground

Experimento de aprendizaje

RL Playground: un entorno de baloncesto reutilizable para Gymnasium

Una biblioteca de entornos con física de baloncesto, viento, juego manual y un controlador balístico, separada de los estudios de entrenamiento.

El entorno y el agente que aprende en él resuelven problemas distintos. RL Playground separa un mundo simulado reutilizable de los estudios que lo importan, comenzando con un lanzador de baloncesto.

Explorar la física antes de entrenar

La persona elige ángulo y potencia mientras consulta el viento. La gravedad, los bordes del aro y los rebotes del tablero afectan la trayectoria. El viento cambia entre intentos y permanece constante durante cada tiro.

El juego manual, el controlador balístico fijo y los ejemplos neuronales exploran el mismo mundo. La demostración resuelve ecuaciones de proyectiles: es una referencia programada, sin aprendizaje.

Convertir el entorno en una dependencia

La biblioteca registra BasketballLauncher-v0 en Gymnasium. Otros proyectos pueden crearlo mediante reset, step y close. La visualización humana, imágenes RGB y ejecución sin ventana admiten usos diferentes.

Física, puntuación, configuración, visualización y ejemplos viven en el módulo de baloncesto. El entorno no necesita PyTorch; el extra de entrenamiento aporta las políticas de ejemplo y herramientas de gráficos.

Un solo entorno con simplificaciones

Basketball Launcher es el primer entorno implementado. La estructura permite añadir otros, pero el repositorio todavía no ofrece un catálogo de mundos adicionales.

El viento se modela como aceleración horizontal, sin simular el flujo del aire. La simplificación hace la tarea controlable e inspeccionable, sin convertirla en una simulación deportiva validada experimentalmente.

Reutilizar el mundo en otro estudio

Basketball Shot importa la biblioteca en lugar de copiar su entorno. Leer ambos proyectos muestra dónde termina diseñar el mundo y dónde empiezan la política, el entrenamiento y la evaluación.

Fuentes y lecturas relacionadas

Basado en la documentación enlazada, revisada el 2 de noviembre de 2026. Las funciones y los límites corresponden a esa versión documentada.

Ver repositorio