| 26 | |
| 27 | |
| 28 | def load_mujoco(): |
| 29 | import mujoco |
| 30 | import mujoco.viewer |
| 31 | humanoid_xml = "./src/unitree_mujoco/unitree_robots/g1/scene_29dof.xml" |
| 32 | mj_model = mujoco.MjModel.from_xml_path(humanoid_xml) |
| 33 | mj_data = mujoco.MjData(mj_model) |
| 34 | mj_model.opt.timestep = 1/30 # 或根据你的数据频率设置 |
| 35 | |
| 36 | viewer = mujoco.viewer.launch_passive(mj_model, mj_data) |
| 37 | viewer.cam.lookat[:] = np.array([0,0,0.7]) |
| 38 | viewer.cam.distance = 3.0 |
| 39 | viewer.cam.azimuth = 180 |
| 40 | viewer.cam.elevation = -30 # 负值表示从上往下看viewer |
| 41 | return (mujoco,mj_model,mj_data,viewer) |
| 42 | |
| 43 | def step_mujoco(mjc,q,pos,quat): |
| 44 | |