Ejemplo n.º 1
0
 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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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)
Ejemplo n.º 9
0
 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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 12
0
 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()
Ejemplo n.º 13
0
 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)
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
    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)
Ejemplo n.º 16
0
    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)
Ejemplo n.º 17
0
 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)
Ejemplo n.º 18
0
 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)
Ejemplo n.º 19
0
 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)
Ejemplo n.º 20
0
    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)
Ejemplo n.º 21
0
    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)
Ejemplo n.º 22
0
 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)
Ejemplo n.º 23
0
 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)
Ejemplo n.º 24
0
 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)
Ejemplo n.º 25
0
 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)
Ejemplo n.º 26
0
 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)
Ejemplo n.º 27
0
 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)
Ejemplo n.º 28
0
 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.
Ejemplo n.º 29
0
 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)
Ejemplo n.º 30
0
 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)
Ejemplo n.º 33
0
 def __init__(self, goal=None, *args, **kwargs):
     self._goal_vel = goal
     super(AntEnvRandDirec, self).__init__(*args, **kwargs)
     Serializable.__init__(self, *args, **kwargs)
Ejemplo n.º 34
0
 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)