Download scripts/yam_probe.py from yqi19/mp_yam_code: direct link, hf CLI and curl.
- Browser
- Download file 1.79 kB
-
https://huggingface.co/yqi19/mp_yam_code/resolve/main/scripts/yam_probe.py
- Command line
-
hf download hf://yqi19/mp_yam_code/scripts/yam_probe.py
-
curl -L -o yam_probe.py https://huggingface.co/yqi19/mp_yam_code/resolve/main/scripts/yam_probe.py
1.79 kB
| """Probe the YAM bimanual env: load, reset, report action space + robot/object poses.""" | |
| import argparse, sys, os | |
| from isaaclab.app import AppLauncher | |
| parser = argparse.ArgumentParser() | |
| AppLauncher.add_app_launcher_args(parser) | |
| args = parser.parse_args() | |
| args.headless = True; args.enable_cameras = True | |
| app = AppLauncher(args).app | |
| import numpy as np, torch, gymnasium as gym | |
| REPO = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| sys.path.insert(0, os.path.join(REPO, "source")) | |
| import bimanual.tasks.manager_based.yam # noqa: F401 (registers Template-YAM-Play-v0) | |
| from isaaclab_tasks.utils import parse_env_cfg | |
| TASK = "Template-YAM-Play-v0" | |
| cfg = parse_env_cfg(TASK, device="cuda:0", num_envs=1) | |
| print("[yam] making env ...", flush=True) | |
| env = gym.make(TASK, cfg=cfg) | |
| u = env.unwrapped | |
| obs, _ = env.reset() | |
| print("[yam] action_space:", env.action_space, flush=True) | |
| print("[yam] scene keys:", list(u.scene.keys()), flush=True) | |
| origin = u.scene.env_origins[0].detach().cpu().numpy() | |
| for name in ["left_robot", "right_robot"]: | |
| if name in u.scene.articulations: | |
| a = u.scene.articulations[name] | |
| p = a.data.root_pos_w[0].detach().cpu().numpy() - origin | |
| bns = list(a.data.body_names) | |
| print(f"[yam] {name} base(env-local)={np.round(p,3)} bodies={bns}", flush=True) | |
| print(f"[yam] joints={list(a.data.joint_names)}", flush=True) | |
| for name in ["apple", "grape", "cart"]: | |
| if name in u.scene.rigid_objects: | |
| p = u.scene.rigid_objects[name].data.root_pos_w[0].detach().cpu().numpy() - origin | |
| print(f"[yam] {name}(env-local)={np.round(p,3)}", flush=True) | |
| # step a couple zero actions | |
| adim = env.action_space.shape[-1] | |
| print("[yam] action_dim:", adim, flush=True) | |
| env.close(); app.close(); print("YAM_PROBE_OK", flush=True) | |