fix: force scene reset before exp15 generated-track warm-start so sim actually loads generated_track

This commit is contained in:
Paul Huliganga 2026-04-20 16:36:00 -04:00
parent 84061c01b2
commit a8aef52f00
1 changed files with 14 additions and 0 deletions

View File

@ -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(f' Stop: eval every {EVAL_EVERY:,} steps, stop at {LAP_STOP} laps')
log('='*60) 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()])) env = VecTransposeImage(DummyVecEnv([make_env()]))
if os.path.exists(WARM_PATH): if os.path.exists(WARM_PATH):
model = PPO.load(WARM_PATH, device='cpu') model = PPO.load(WARM_PATH, device='cpu')