def __init__(self, *args, **kwargs): """ Constants: omega is always 0, and set a constant for background noise """ self.Om = np.array([[1,0,0],[0,1,0],[0,0,1]]) self.background = 2.0 #background noise """ Variables: These variables will be read along with the action: two_theta: detector's rotation about the z-axis -- assume elastic scattering, so omega is always 0 theta: the angle at which our neutrons strike the plane These variables are the two dimensions of our problem chi: outer ring's rotation about the x-axis phi: rotation of the eulerian cradle, varies between z- and y-axis rotation depending on how much chi rotated """ self.max_two_theta = 180 self.max_chi = 90 self.max_phi = 360 self.min_chi = -90 self.min_phi = 0 self.hit = 0 #Set up hkl and all actions super(UBEnv, self).__init__(self.model_path("UB.xml.mako"),*args, **kwargs) #Two independent bodies self.ring = find_body(self.world, "ring") #chi self.eu_cradle = find_body(self.world, "eu_cradle") #phi self.detector = find_body(self.world, "detector") #theta self.pivot = find_joint(self.world, "angular_axis") #pivot that enables angular movement Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, log_scale_limit=2.0, fix_params=False, rand_params=RAND_PARAMS, random_seed=None, fixed_goal=True, max_path_length=0, **kwargs): """ Half-Cheetah environment with randomized mujoco parameters :param log_scale_limit: lower / upper limit for uniform sampling in logspace of base 2 :param random_seed: random seed for sampling the mujoco model params :param fix_params: boolean indicating whether the mujoco parameters shall be fixed :param rand_params: mujoco model parameters to sample """ assert set(rand_params) <= set(self.RAND_PARAMS_EXTENDED), \ "rand_params must be a subset of " + str(self.RAND_PARAMS_EXTENDED) self.log_scale_limit = log_scale_limit self.random_seed = random_seed self.random_state = np.random.RandomState(random_seed) self.fix_params = fix_params # can be changed by calling the fix_mujoco_parameters method self.rand_params = rand_params self.fixed_goal = fixed_goal self.parameters_already_fixed = False self.n_steps = 0 self.reward_range = None self.metadata = {} if max_path_length is not None: self.max_path_length = max_path_length else: self.max_path_length = 10**8 #set to a large number args_all, kwargs_all = get_all_function_arguments(self.__init__, locals()) Serializable.__init__(*args_all, **kwargs_all)
def __init__(self, goal_vel=None, *args, **kwargs): self.goal_vel = goal_vel super(HalfCheetahEnvRandDirec, self).__init__(*args, **kwargs) self.goal_vel = goal_vel Serializable.__init__(self, *args, **kwargs) self.goal_vel = goal_vel self.reset(reset_args=goal_vel)
def __init__(self, xml_file=None, distractors=True, onehot=True, *args, **kwargs): utils.EzPickle.__init__(self) print("using xml_file", xml_file) if xml_file is None: xml_file = 'pusher.xml' self.__class__.FILE = xml_file self.include_distractors = distractors self.test_dir = "/home/kevin/rllab/pushing/test2_paired_push_demos_noimg/" self.train_dir = "/home/kevin/FaReLI_data/pushing/paired_push_demos_noimg/" self.xml_dir = "/home/kevin/gym/gym/envs/mujoco/assets/sim_push_xmls/" self.goal_num = 1 self.test = False self.onehot = onehot self.onehot_dim = 5 self.onehot_position = 0 super(PusherEnv, self).__init__(*args, **kwargs) # import pdb; pdb.set_trace() # self = mujoco_env.MujocoEnv(file_path=xml_file) # self.viewer_setup() # self.reset() # self.observation_space = self.observation_space # self.action_space = self.action_space # self.goal_num, self.test = self.sample_goals(num_goals=1, test=False)[0] Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, log_scale_limit=2.0, fix_params=False, fixed_goal=True, random_seed=None, **kwargs): self.sign = 1 self.first = True self.penalty_ctrl = 0.01 self.init_geom_size = None self.init_body_pos = None self.init_geom_pos = None args_all, kwargs_all = get_all_function_arguments( self.__init__, locals()) BaseEnvRandParams.__init__(self, log_scale_limit=log_scale_limit, fix_params=fix_params, rand_params=['geom_size'], fixed_goal=fixed_goal, random_seed=random_seed) MujocoEnv.__init__(self, *args, **kwargs) Serializable.__init__(*args_all, **kwargs_all)
def __init__(self, box_center=(0, 0), box_noise=0, frame_skip=5, scale=0.05, reward_delay=1, timestep=0.01, *args, **kwargs): FILE = osp.join(osp.abspath(osp.dirname(__file__)), 'assets/throw_pos.xml') self.box_center = box_center self.box_noise = box_noise self.relativeBoxPosition = np.zeros(3) self.init_block_goal_dist = 1.0 self.scale = scale self.reward_delay = reward_delay self.count = 0 self.low = np.array( [-0.65, -1.7, -1.4, -1.8, -2.6, -1.8, -0.26, -0.35, -0.24]) self.high = np.array([0.68, 1.5, 1, 1.8, 1.5, 1.8, 1.2, 1, 1]) super(ThrowerPosEnv, self).__init__(model_path=FILE, frame_skip=frame_skip, *args, **kwargs) self.sim.model.opt.timestep = timestep Serializable.__init__(self, box_center, box_noise, frame_skip, *args, **kwargs) self.init_qpos[:9] = np.array( [-0.07855885, -1.5, 0.6731897, 1.5, -2.83926611, 0, 0.9, 0.9, 0.9]) self.action_space = spaces.Box(low=-np.ones(9) * 5, high=np.ones(9) * 5, dtype=np.float32)
def __init__(self, box_center=(0,0), box_noise=0.4, frame_skip=5, *args, **kwargs): self.box_center = box_center self.box_noise = box_noise super(LobberEnv, self).__init__(frame_skip=frame_skip, *args, **kwargs) Serializable.__init__(self, box_center, box_noise, frame_skip, *args, **kwargs)
def __init__(self, xml_file=None, distance_metric_order=None, distractors=True, *args, **kwargs): self.goal = None if 'noise' in kwargs: noise = kwargs['noise'] else: noise = 0.0 self.include_distractors = distractors if self.include_distractors: self.shuffle_order = [[0, 1, 2], [1, 2, 0], [2, 0, 1]][2] # self.shuffle_order = rd.sample([[0,1,2],[1,2,0],[2,0,1]],1)[0] if xml_file is None: if not self.include_distractors: xml_file = '/home/kevin/maml_rl/vendor/mujoco_models/r7dof_versions/reacher_7dof.xml' else: xml_file = '/home/kevin/maml_rl/vendor/mujoco_models/r7dof_versions/reacher_7dof_2distr_%s%s%s.xml' % tuple( self.shuffle_order) print("xml file", xml_file) self.mujoco = mujoco_env.MujocoEnv(file_path=xml_file, action_noise=noise) self.action_space = self.mujoco.action_space self.get_viewer = self.mujoco.get_viewer self.log_diagnostics = self.mujoco.log_diagnostics Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal_args=('noisy', (.6, .2), .1), frame_skip=5, scale=0.05, reward_delay=1, timestep=0.01, *args, **kwargs): FILE = osp.join(osp.abspath(osp.dirname(__file__)), 'assets/picker_pos.xml') self.goal_args = goal_args self.numClose = 0 self.reward_delay = reward_delay self.count = 0 self.scale = scale self.low = np.array( [-0.65, -2, -1.4, -1.55, -2.6, -1.8, -0.26, -0.35, -0.24]) self.high = np.array([0.68, 0.86, 1, 1.75, 1.5, 1.8, 1.5, 1.5, 1.5]) super(PickerPosEnv, self).__init__(model_path=FILE, frame_skip=frame_skip, *args, **kwargs) self.init_qpos[:9] = np.array( [-0.07855885, -1.5, 0.6731897, 1.5, -2.83926611, 0, 0.2, 0.2, 0.2]) self.sim.model.opt.timestep = timestep Serializable.__init__(self, goal_args, frame_skip, *args, **kwargs)
def __init__(self, *args, **kwargs): self.n_arms = kwargs.get('n_arms') self.max_path_length = kwargs.get('max_path_length') self.arm_means = np.zeros((self.n_arms)) self.ts = 0 super(MABEnv, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, distance_metric_order=None, *args, **kwargs): self.goal = None self.shuffle_order = None self.objects = ["goal", "distract1", "distract2"] self.__class__.FILE = 'r7dof_versions/reacher_7dof_2distract.xml' seed = kwargs['envseed'] super().__init__(envseed=seed) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): super(PegEnv, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs) self.PR2_GAINS = np.array( [3.09, 1.08, 0.393, 0.674, 0.111, 0.152, 0.098]) self.t = 0 self.T = 100 self.init_body_pos = self.model.body_pos.copy()
def __init__(self, task={}, n_tasks=100, randomize_tasks=True, goal_radius=0.8, **kwargs): self.goal_radius = goal_radius Serializable.__init__(self) super(AntGoalEnvSparse, self).__init__(task, n_tasks, **kwargs)
def __init__(self, distance_metric_order=None, *args, **kwargs): self.goal = None self.__class__.FILE = 'r7dof_versions/reacher_7dof_sparse0.2.xml' if "envseed" in kwargs.keys(): seed = kwargs['envseed'] else: seed = 0 super().__init__(envseed=seed) Serializable.__init__(self, *args, **kwargs)
def __init__( self, start_pos=(.1,1.7), start_noise=0.2, frame_skip=2, *args, **kwargs): self.start_pos = start_pos self.start_noise = start_noise super(CatchEnv, self).__init__(frame_skip=frame_skip, *args, **kwargs) Serializable.__init__(self, start_pos, start_noise, frame_skip, *args, **kwargs)
def __init__(self, goal_args=('noisy', (.6, .2), .1), frame_skip=5, *args, **kwargs): self.goal_args = goal_args super(PickerEnv, self).__init__(frame_skip=frame_skip, *args, **kwargs) Serializable.__init__(self, goal_args, frame_skip, *args, **kwargs)
def __init__(self, *args, **kwargs): super(CartpoleSwingupEnvX, self).__init__( self.model_path("cartpole.xml.mako"), *args, **kwargs ) self.max_cart_pos = 3 self.max_reward_cart_pos = 3 self.cart = find_body(self.world, "cart") self.pole = find_body(self.world, "pole") Serializable.__init__(self, *args, **kwargs)
def __init__(self, option=default_reacher_env_option, *args, **kwargs): self.goal = None if 'noise' in kwargs: noise = kwargs['noise'] else: noise = 0.0 print("using env option", ENV_OPTIONS[option]) self.__class__.FILE = ENV_OPTIONS[option] super().__init__(action_noise=noise) # file_path=ENV_OPTIONS[option]) Serializable.__init__(self, *args, **kwargs)
def __init__(self, num_goals=40, train=True, *args, **kwargs): thetas = np.linspace(0, np.pi / 2, 40) self.goals = np.array([[2 * np.cos(theta), 2 * np.sin(theta)] for theta in thetas]) self.goal = None self.num_goals = num_goals self.sparse = False self.info_logKeys = ['goal_dist'] super(continious_test, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal=None, mode='local', *args, **kwargs): self._goal_idx = None #if mode == 'local': #self.goals = pickle.load(open("/home/russellm/iclr18/maml_rosen/rllab/envs/mujoco/ant_10Deg.pkl", "rb")) #self.goals = joblib.load('/home/russellm/iclr18/rosen_data/saved_expert_traj/Expert_trajs_dense_ant/goals_pool.pkl')['goals_pool'] self.goals = pickle.load( open("/home/russellm/mri_onPolicy/rllab/envs/mujoco/goals_ant.pkl", 'rb')) super(AntEnvRandGoalRing, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): #self.dt = .1 # refresh rate #self.on_goal = 0 super(ArmEnv, self).__init__(self.model_path("arm.xml.mako"), *args, **kwargs) self.arm1 = find_body(self.world, "arm1") self.arm2 = find_body(self.world, "arm2") self.point = find_body(self.world, "point") Serializable.__init__(self, *args, **kwargs)
def __init__(self, xml_file, *args, **kwargs): self.frame_skip = 5 self.__class__.FILE = xml_file if 'distractors' in kwargs: self.include_distractors = kwargs['distractors'] else: self.include_distractors = False #kwargs.pop('xml_file') super(PusherEnv, self).__init__(*args, **kwargs) self.frame_skip = 5 Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal= None, mode = 'local',*args, **kwargs): self._goal = None #if mode == 'local': self.goals = pickle.load(open("/home/russellm/iclr18/maml_rosen/rllab/envs/mujoco/ant_10Deg.pkl", "rb")) #elif mode == 'local_docker' or mode == 'ec2': #self.goals = pickle.load(open("/root/code/rllab/rllab/envs/mujoco/goals_ant.pkl", "rb")) # else: # raise AssertionError('Mode needs to be local, docker or ec2') super(AntEnvRandGoalRing, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, distance_metric_order=None, *args, **kwargs): self.goal = None self.shuffle_order = None self.objects = ["goal", "distract1", "distract2"] self.__class__.FILE = 'r7dof_versions/reacher_7dof_2distract.xml' # self.__class__.FILE = '/home/rosen/FaReLI_data/pushing/push_textures/sim_push_xmls/train_ensure_woodtable_distractor_pusher25.xml' if "envseed" in kwargs.keys(): seed = kwargs['envseed'] else: seed = 123456 super().__init__(envseed=seed) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): self.frame_skip = 5 if 'xml_file' in kwargs: self.__class__.FILE = kwargs['xml_file'] if 'distractors' in kwargs: self.include_distractors = kwargs['distractors'] else: self.include_distractors = False super(PusherEnv2D, self).__init__(*args, **kwargs) self.frame_skip = 5 self.dist = [] Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): self.max_pole_angle = .2 self.max_cart_pos = 2.4 self.max_cart_speed = 4. self.max_pole_speed = 4. super(CartpoleEnv, self).__init__( self.model_path("cartpole.xml.mako"), *args, **kwargs ) self.cart = find_body(self.world, "cart") self.pole = find_body(self.world, "pole") Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): # make sure mdp-level step is 100ms long kwargs["frame_skip"] = kwargs.get("frame_skip", 2) if kwargs.get("template_args", {}).get("noise", False): self.link_len = (np.random.rand()-0.5) + 1 else: self.link_len = 1 kwargs["template_args"] = kwargs.get("template_args", {}) kwargs["template_args"]["link_len"] = self.link_len super(DoublePendulumEnv, self).__init__( self.model_path("double_pendulum.xml.mako"), *args, **kwargs ) self.link1 = find_body(self.world, "link1") self.link2 = find_body(self.world, "link2") Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): Serializable.__init__(self, *args, **kwargs) self.random_start = kwargs.pop("random_start", True) self.random_start_range = kwargs.pop("random_start_range", 1.) super(CarParkingEnv, self).__init__( self.model_path("car_parking.xml"), *args, **kwargs ) self.goal = find_body(self.world, "goal") self.car = find_body(self.world, "car") self.wheels = [ body for body in self.world.bodies if "wheel" in _get_name(body)] self.front_wheels = [ body for body in self.wheels if "front" in _get_name(body)] self.max_deg = 30. self.goal_radius = 1. self.vel_thres = 1e-1 self.start_radius = 5.
def __init__(self, goal= None, *args, **kwargs): self._goal_vel = goal #if goal is not None: # self._goal_vel *= 100 super(AntEnvRand, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): super(AntEnvDirecOracle, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal=None, *args, **kwargs): self._goal_vel = goal super(HalfCheetahEnvRand, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): super(HalfCheetahEnvOracle, self).__init__(*args, **kwargs) self._goal_vel = None Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal=None, *args, **kwargs): self._goal_vel = goal super(AntEnvRandDirec, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, goal= None, *args, **kwargs): self._goal_pos = goal super(AntEnvRandGoal, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)
def __init__(self, *args, **kwargs): super(HalfCheetahEnvDirecOracle, self).__init__(*args, **kwargs) Serializable.__init__(self, *args, **kwargs)