chrisjcc commited on
Commit
294badc
·
verified ·
1 Parent(s): ee20eb5

Access attributes programmatically using the MuJoCo Python API

Browse files
Files changed (1) hide show
  1. tray_sim.py +7 -4
tray_sim.py CHANGED
@@ -44,6 +44,7 @@ def run_tray_simulation(
44
  if mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_BODY, name) == -1:
45
  raise ValueError(f"Body '{name}' not found in model")
46
 
 
47
  # Resolve joint offsets
48
  joint_qpos_addrs = []
49
  joint_qvel_addrs = []
@@ -59,6 +60,12 @@ def run_tray_simulation(
59
  joint_qpos_addrs.append(model.jnt_qposadr[joint_addr])
60
  joint_qvel_addrs.append(model.jnt_dofadr[joint_addr])
61
 
 
 
 
 
 
 
62
  #tray_id = mujoco.mj_name2id(
63
  # model,
64
  # mujoco.mjtObj.mjOBJ_BODY,
@@ -72,10 +79,6 @@ def run_tray_simulation(
72
  # Compute DOF offsets
73
 
74
  # Set initial position and orientation for the puck
75
- puck_pos = np.array([0.0, 0.0, 0.05])
76
- puck_quat = [1, 0, 0, 0]
77
- puck_vel_idx = joint_qvel_addrs[0]
78
-
79
  data.qpos[joint_qpos_addrs[0]:joint_qpos_addrs[0]+3] = puck_pos
80
  data.qpos[joint_qpos_addrs[0]+3:joint_qpos_addrs[0]+7] = puck_quat
81
 
 
44
  if mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_BODY, name) == -1:
45
  raise ValueError(f"Body '{name}' not found in model")
46
 
47
+ # Validate all objects exist and get joint addresses
48
  # Resolve joint offsets
49
  joint_qpos_addrs = []
50
  joint_qvel_addrs = []
 
60
  joint_qpos_addrs.append(model.jnt_qposadr[joint_addr])
61
  joint_qvel_addrs.append(model.jnt_dofadr[joint_addr])
62
 
63
+ # Extract puck's initial position and quaternion from the model
64
+ puck_body_id = mujoco.mj_name2id(model, mujoco.mjtObj.mjOBJ_BODY, "puck")
65
+ puck_pos = model.body_pos[puck_body_id].copy() # Extract initial position
66
+ puck_quat = model.body_quat[puck_body_id].copy() # Extract initial quaternion
67
+ puck_vel_idx = joint_qvel_addrs[0]
68
+
69
  #tray_id = mujoco.mj_name2id(
70
  # model,
71
  # mujoco.mjtObj.mjOBJ_BODY,
 
79
  # Compute DOF offsets
80
 
81
  # Set initial position and orientation for the puck
 
 
 
 
82
  data.qpos[joint_qpos_addrs[0]:joint_qpos_addrs[0]+3] = puck_pos
83
  data.qpos[joint_qpos_addrs[0]+3:joint_qpos_addrs[0]+7] = puck_quat
84