Saltar al contenido principal

Entornos de robots

Gymnasium trae un catálogo de robots ya montados sobre MuJoCo, listos para entrenar. Van de lo más simple a lo más complejo, y es el orden ideal para aprender.

De menos a más articulaciones

EntornoRobotAccionesReto
InvertedPendulum-v5Un carro con un palo1Mantener el palo vertical
Hopper-v5Una pata que salta3Avanzar a saltos sin caer
Walker2d-v5Un bípedo plano6Caminar hacia delante
HalfCheetah-v5Un cuadrúpedo plano6Correr lo más rápido posible
Humanoid-v5Un humanoide completo17Andar sin desplomarse

Cuantas más articulaciones, más difícil el problema: el humanoide, con 17, es de los más exigentes.

Los cinco robots de Gymnasium renderizados en MuJoCo: péndulo invertido, Hopper, Walker2d, HalfCheetah y Humanoid

Los cinco entornos, del más simple (1 acción) al más complejo (17). Renders hechos con MuJoCo.

Probar cualquiera de ellos

Cambiar de robot es cambiar una sola cadena de texto. Este código sirve para todos:

import gymnasium as gym

ENV_ID = "Walker2d-v5" # prueba también "Hopper-v5" o "Humanoid-v5"

env = gym.make(ENV_ID, render_mode="human")
obs, _ = env.reset()
done = False
while not done:
action = env.action_space.sample()
obs, reward, terminated, truncated, _ = env.step(action)
done = terminated or truncated
env.close()

Con acciones aleatorias, todos fracasan de forma cómica. Darles inteligencia es el trabajo del agente de RL.

Empezar por el péndulo

Antes de pelearte con el humanoide, conviene empezar por InvertedPendulum-v5: una sola acción, entrena en segundos y es facilísimo de entender. Es justo el que usaremos para tu primer agente.

tip

La regla al aprender RL: valida tu código con el entorno más simple que puedas. Si tu agente aprende el péndulo, el mismo código (con más paciencia) aprenderá el humanoide.