From a8aef52f0095f5d2c2bb8ce6ca10aeef65ee8c34 Mon Sep 17 00:00:00 2001 From: Paul Huliganga Date: Mon, 20 Apr 2026 16:36:00 -0400 Subject: [PATCH] fix: force scene reset before exp15 generated-track warm-start so sim actually loads generated_track --- agent/experiments/exp15_gentrack_from_mountain.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/agent/experiments/exp15_gentrack_from_mountain.py b/agent/experiments/exp15_gentrack_from_mountain.py index 7f12868..d606cd1 100644 --- a/agent/experiments/exp15_gentrack_from_mountain.py +++ b/agent/experiments/exp15_gentrack_from_mountain.py @@ -117,6 +117,20 @@ log(f' Reward: v4 (Exp 13 known-good generated setup)') log(f' Stop: eval every {EVAL_EVERY:,} steps, stop at {LAP_STOP} laps') log('='*60) +# Force the sim back to main menu before connecting to generated_track. +# gym.make() alone will NOT switch scenes if Unity is already running another track. +log('Switching sim to generated_track...') +_tmp = gym.make('donkey-mountain-track-v0', conf={'host': HOST, 'port': PORT}) +time.sleep(2) +try: + _tmp.unwrapped.viewer.exit_scene() + time.sleep(0.5) +except Exception as e: + log(f' exit_scene warning: {e}') +_tmp.close() +time.sleep(6) +log('Sim should now be at main menu. Connecting to generated_track...') + env = VecTransposeImage(DummyVecEnv([make_env()])) if os.path.exists(WARM_PATH): model = PPO.load(WARM_PATH, device='cpu')