from gym.envs.mujoco.half_cheetah import HalfCheetahEnv
from gym_extensions.continuous.mujoco.perturbed_bodypart_env import ModifiedSizeEnvFactory

import os
import gym

HalfCheetahWallEnv = lambda *args, **kwargs: WallEnvFactory(
    ModifiedHalfCheetahEnv)(model_path=os.path.dirname(
        gym.envs.mujoco.__file__) + "/assets/half_cheetah.xml",
                            ori_ind=-1,
                            *args,
                            **kwargs)

HalfCheetahGravityEnv = lambda *args, **kwargs: GravityEnvFactory(
    ModifiedHalfCheetahEnv)(model_path=os.path.dirname(
        gym.envs.mujoco.__file__) + "/assets/half_cheetah.xml",
                            *args,
                            **kwargs)

HalfCheetahModifiedBodyPartSizeEnv = lambda *args, **kwargs: ModifiedSizeEnvFactory(
    ModifiedHalfCheetahEnv)(model_path=os.path.dirname(
        gym.envs.mujoco.__file__) + "/assets/half_cheetah.xml",
                            *args,
                            **kwargs)


class ModifiedHalfCheetahEnv(HalfCheetahEnv, utils.EzPickle):
    """
    Simply allows changing of XML file, probably not necessary if we pull request the xml name as a kwarg in openai gym
    """
    def __init__(self, **kwargs):
Ejemplo n.º 2
0
from gym import utils
from gym.envs.mujoco import mujoco_env
import os.path as osp
from gym_extensions.continuous.mujoco.wall_envs import MazeFactory
from gym_extensions.continuous.mujoco.gravity_envs import GravityEnvFactory
from gym_extensions.continuous.mujoco.perturbed_bodypart_env import ModifiedSizeEnvFactory
from gym_extensions.continuous.mujoco.wall_envs import ProgressiveWallEnvFactory


from gym.envs.mujoco.ant import AntEnv

import os
import gym


AntGravityEnv = lambda *args, **kwargs : GravityEnvFactory(ModifiedAntEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) + "/assets/ant.xml", *args, **kwargs)


AntMaze = lambda *args, **kwargs : MazeFactory(ModifiedAntEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) + "/assets/ant.xml", ori_ind=0, *args, **kwargs)

AntWallEnv = lambda *args, **kwargs : ProgressiveWallEnvFactory(ModifiedAntEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) + "/assets/ant.xml", ori_ind=-1, *args, **kwargs)


class ModifiedAntEnv(AntEnv, utils.EzPickle):
    """
    Simply allows changing of XML file, probably not necessary if we pull request the xml name as a kwarg in openai gym
    """
    def __init__(self, **kwargs):
        mujoco_env.MujocoEnv.__init__(self, kwargs["model_path"], 4)
        utils.EzPickle.__init__(self)
from gym.envs.mujoco.walker2d import Walker2dEnv
from gym_extensions.continuous.mujoco.perturbed_bodypart_env import ModifiedSizeEnvFactory

import os
import gym

Walker2dWallEnv = lambda *args, **kwargs: WallEnvFactory(
    ModifiedWalker2dEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) +
                         "/assets/walker2d.xml",
                         ori_ind=-1,
                         *args,
                         **kwargs)

Walker2dGravityEnv = lambda *args, **kwargs: GravityEnvFactory(
    ModifiedWalker2dEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) +
                         "/assets/walker2d.xml",
                         *args,
                         **kwargs)

Walker2dModifiedBodyPartSizeEnv = lambda *args, **kwargs: ModifiedSizeEnvFactory(
    ModifiedWalker2dEnv)(model_path=os.path.dirname(gym.envs.mujoco.__file__) +
                         "/assets/walker2d.xml",
                         *args,
                         **kwargs)


class ModifiedWalker2dEnv(Walker2dEnv, utils.EzPickle):
    """
    Simply allows changing of XML file, probably not necessary if we pull request the xml name as a kwarg in openai gym
    """
    def __init__(self, **kwargs):