fancy_gym/alr_envs/mujoco/ball_in_a_cup/utils.py

107 lines
3.5 KiB
Python
Raw Normal View History

2021-02-15 16:31:34 +01:00
from alr_envs.utils.detpmp_env_wrapper import DetPMPEnvWrapper
2021-02-11 16:19:57 +01:00
from alr_envs.mujoco.ball_in_a_cup.ball_in_a_cup import ALRBallInACupEnv
from alr_envs.mujoco.ball_in_a_cup.ball_in_a_cup_simple import ALRBallInACupEnv as ALRBallInACupEnvSimple
2021-02-24 15:37:54 +01:00
def make_contextual_env(rank, seed=0):
2021-02-16 15:47:32 +01:00
"""
Utility function for multiprocessed env.
:param env_id: (str) the environment ID
:param num_env: (int) the number of environments you wish to have in subprocesses
:param seed: (int) the initial seed for RNG
:param rank: (int) index of the subprocess
:returns a function that generates an environment
"""
def _init():
env = ALRBallInACupEnv()
env = DetPMPEnvWrapper(env,
num_dof=7,
num_basis=5,
width=0.005,
policy_type="motor",
start_pos=env.start_pos,
duration=3.5,
post_traj_time=4.5,
dt=env.dt,
2021-02-24 15:37:54 +01:00
weights_scale=0.5,
zero_start=True,
zero_goal=True
)
env.seed(seed + rank)
return env
return _init
def make_env(rank, seed=0):
"""
Utility function for multiprocessed env.
:param env_id: (str) the environment ID
:param num_env: (int) the number of environments you wish to have in subprocesses
:param seed: (int) the initial seed for RNG
:param rank: (int) index of the subprocess
:returns a function that generates an environment
"""
def _init():
env = ALRBallInACupEnvSimple()
env = DetPMPEnvWrapper(env,
num_dof=7,
num_basis=5,
width=0.005,
policy_type="motor",
start_pos=env.start_pos,
duration=3.5,
post_traj_time=4.5,
dt=env.dt,
2021-03-29 14:52:44 +02:00
weights_scale=0.2,
2021-02-16 15:47:32 +01:00
zero_start=True,
2021-02-17 18:50:55 +01:00
zero_goal=True
2021-02-16 15:47:32 +01:00
)
env.seed(seed + rank)
return env
return _init
2021-02-11 16:19:57 +01:00
def make_simple_env(rank, seed=0):
"""
Utility function for multiprocessed env.
:param env_id: (str) the environment ID
:param num_env: (int) the number of environments you wish to have in subprocesses
:param seed: (int) the initial seed for RNG
:param rank: (int) index of the subprocess
:returns a function that generates an environment
"""
def _init():
env = ALRBallInACupEnvSimple()
2021-02-15 16:31:34 +01:00
env = DetPMPEnvWrapper(env,
num_dof=3,
num_basis=5,
2021-04-08 19:00:48 +02:00
width=0.005,
off=-0.1,
2021-02-15 16:31:34 +01:00
policy_type="motor",
start_pos=env.start_pos[1::2],
duration=3.5,
post_traj_time=4.5,
dt=env.dt,
2021-04-08 19:00:48 +02:00
weights_scale=0.25,
2021-02-16 15:47:32 +01:00
zero_start=True,
zero_goal=True
2021-02-15 16:31:34 +01:00
)
2021-02-11 16:19:57 +01:00
env.seed(seed + rank)
return env
return _init