diff --git a/rl_game/demo/play.py b/rl_game/demo/play.py deleted file mode 100644 index d07f8ad..0000000 --- a/rl_game/demo/play.py +++ /dev/null @@ -1,57 +0,0 @@ -import sys -import os -# 确保当前目录 (demo) 在 sys.path 中 -sys.path.append(os.path.dirname(os.path.abspath(__file__))) -import argparse -from isaaclab.app import AppLauncher - -# 启动参数,默认关闭 headless 模式以便观察 -parser = argparse.ArgumentParser(description="Play trained T1 policy.") -parser.add_argument("--checkpoint", type=str, help="Path to the trained model checkpoint.") -AppLauncher.add_app_launcher_args(parser) -args_cli = parser.parse_args() - -app_launcher = AppLauncher(args_cli) -simulation_app = app_launcher.app - -import torch -import gymnasium as gym -from isaaclab_rl.rl_games import RlGamesVecEnvWrapper -from rl_games.torch_runner import Runner -import yaml -import os - -from rl_game.demo.config.t1_env_cfg import T1EnvCfg - -gym.register( - id="Isaac-T1-Walking-v0", - entry_point="isaaclab.envs:ManagerBasedRLEnv", # Isaac Lab 统一的强化学习环境入口 - kwargs={ - "cfg": T1EnvCfg(), - }, -) - - -def main(): - # 1. 创建环境 (只给 1 个机器人看演示) - env = gym.make("Isaac-T1-Walking-v0", num_envs=1, render_mode="rgb_array") - wrapped_env = RlGamesVecEnvWrapper(env) - - # 2. 加载配置并推理 - config_path = os.path.join(os.path.dirname(__file__), "config", "ppo_cfg.yaml") - with open(config_path, "r") as f: - rl_config = yaml.safe_load(f) - - # 注入 checkpoint 路径 - rl_config['params']['config']['checkpoint'] = args_cli.checkpoint - - runner = Runner() - runner.load(rl_config) - # 运行推理模式 - runner.run({"vecenv": wrapped_env, "train": False}) - - simulation_app.close() - - -if __name__ == "__main__": - main() \ No newline at end of file