本地4090代码提交
This commit is contained in:
73
test_sence.py
Normal file
73
test_sence.py
Normal file
@@ -0,0 +1,73 @@
|
||||
from isaaclab.app import AppLauncher
|
||||
import argparse
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 1. 启动 Isaac Sim
|
||||
# -----------------------------------------------------------------------------
|
||||
parser = argparse.ArgumentParser()
|
||||
AppLauncher.add_app_launcher_args(parser)
|
||||
args = parser.parse_args()
|
||||
|
||||
app_launcher = AppLauncher(args)
|
||||
simulation_app = app_launcher.app
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 2. 必须先创建 SimulationContext(PhysX 在这里初始化)
|
||||
# -----------------------------------------------------------------------------
|
||||
import isaaclab.sim as sim_utils
|
||||
|
||||
sim_cfg = sim_utils.SimulationCfg(
|
||||
dt=1 / 120,
|
||||
device=args.device,
|
||||
)
|
||||
sim = sim_utils.SimulationContext(sim_cfg)
|
||||
|
||||
# (可选)设置相机
|
||||
sim.set_camera_view(
|
||||
eye=[3.0, 0.0, 2.0],
|
||||
target=[0.0, 0.0, 0.5],
|
||||
)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 3. 再 play timeline(这一步非常关键)
|
||||
# -----------------------------------------------------------------------------
|
||||
import omni.timeline
|
||||
|
||||
timeline = omni.timeline.get_timeline_interface()
|
||||
timeline.play()
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 4. 现在才可以安全创建 Env
|
||||
# -----------------------------------------------------------------------------
|
||||
import torch
|
||||
from isaaclab.envs import ManagerBasedRLEnv
|
||||
from mindbot.tasks.manager_based.pull.pull_env_cfg import PullEnvCfg
|
||||
|
||||
|
||||
def main():
|
||||
env_cfg = PullEnvCfg()
|
||||
env_cfg.scene.num_envs = 1
|
||||
|
||||
env = ManagerBasedRLEnv(cfg=env_cfg)
|
||||
|
||||
obs, _ = env.reset()
|
||||
print("[OK] Env reset")
|
||||
|
||||
for step in range(100000):
|
||||
actions = torch.zeros(
|
||||
env.num_envs,
|
||||
env.action_manager.total_action_dim,
|
||||
device=env.device,
|
||||
)
|
||||
obs, rew, done, trunc, info = env.step(actions)
|
||||
|
||||
if step % 100 == 0:
|
||||
root_pos = env.scene["Mindbot"].data.root_pos_w[0]
|
||||
print(f"step {step}, root z = {root_pos[2].item():.3f}")
|
||||
|
||||
print("[DONE]")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
simulation_app.close()
|
||||
Reference in New Issue
Block a user