Create myhandenv
Browse files
myhandenv
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gymnasium as gym
|
| 2 |
+
import gymnasium_robotics # registers Mujoco robotics envs into gym
|
| 3 |
+
from envhub.envs.core.base_env import EnvHubEnv
|
| 4 |
+
from envhub.registry import register_env
|
| 5 |
+
|
| 6 |
+
|
| 7 |
+
def load_env(reward_type="dense", max_episode_steps=50, **kwargs):
|
| 8 |
+
"""
|
| 9 |
+
Loader for MuJoCo FetchPickAndPlace environment.
|
| 10 |
+
Args:
|
| 11 |
+
reward_type: "dense" or "sparse"
|
| 12 |
+
max_episode_steps: truncation length
|
| 13 |
+
kwargs: passed to gym.make
|
| 14 |
+
"""
|
| 15 |
+
|
| 16 |
+
# Register robotics envs into Gymnasium
|
| 17 |
+
gym.register_envs(gymnasium_robotics)
|
| 18 |
+
|
| 19 |
+
env_id = "HandManipulateEgg-v1" if reward_type == "dense" else "HandManipulateEgg-v1"
|
| 20 |
+
env = gym.make(env_id, max_episode_steps=max_episode_steps, **kwargs)
|
| 21 |
+
|
| 22 |
+
return EnvHubEnv(
|
| 23 |
+
env=env,
|
| 24 |
+
name="mujoco/hand_manipulate_egg",
|
| 25 |
+
observation_space=env.observation_space,
|
| 26 |
+
action_space=env.action_space,
|
| 27 |
+
)
|
| 28 |
+
|