Exemple #1
0
def main():
    env = ttenv.make(
        args.env,
        render=args.render,
        record=args.record,
        ros=args.ros,
        map_name=args.map,
        directory=args.log_dir,
        num_targets=args.nb_targets,
        is_training=False,
        im_size=args.im_size,
    )

    np.random.seed(args.seed)
    for _ in range(args.repeat):
        nlogdetcov = []
        obs, done = env.reset(), False
        while (not done):
            if args.render:
                env.render()
            obs, rew, done, info = env.step(env.action_space.sample())
            nlogdetcov.append(info['mean_nlogdetcov'])

        print(
            "Sum of negative logdet of the target belief covariances : %.2f" %
            np.sum(nlogdetcov))
Exemple #2
0
def make(env_name, type, render=False, record=False, directory='', **kwargs):
    """
    env_name : str
        name of an environment. (e.g. 'Cartpole-v0')
    type : str
        type of an environment. One of ['atari', 'classic_control',
        'classic_mdp','target_tracking']
    """
    if type == 'atari':
        from baselines0.common.atari_wrappers import make_atari
        from baselines0.common.atari_wrappers import wrap_deepmind
        from baselines0 import bench, logger

        env = make_atari(env_name)
        env = bench.Monitor(env, logger.get_dir())
        env = wrap_deepmind(env, frame_stack=True, scale=True)
        if record:
            env = Monitor(env, directory=directory)

    elif type == 'classic_control':
        env = gym.make(env_name)
        if record:
            env = Monitor(env, directory=directory)

    elif type == 'classic_mdp':
        from envs import classic_mdp
        env = classic_mdp.model_assign(env_name)

    elif type == 'target_tracking':
        import ttenv
        env = ttenv.make(env_name,
                         render=render,
                         record=record,
                         directory=directory,
                         **kwargs)
    elif type == 'ma_target_tracking':
        import maTTenv
        env = maTTenv.make(env_name,
                           render=render,
                           record=record,
                           directory=directory,
                           **kwargs)
    else:
        raise ValueError('Designate the right type of the environment.')

    return env
        '_'.join([args.env,
                  datetime.datetime.now().strftime("%m%d%H%M")]))
    if not os.path.exists(logdir):
        os.makedirs(logdir)
    else:
        ValueError("The directory already exists...", logdir)
    json.dump(vars(args), open(os.path.join(logdir, 'test_prop.json'), 'w'))

    planner = InfoPlanner(n_controls=args.n_controls)

    for eval_id in range(args.eval_id_max):
        print("\nEvaluating for EVAL ID %d" % eval_id)
        env = ttenv.make(args.env,
                         render=bool(args.render),
                         record=bool(args.record),
                         ros=bool(args.ros),
                         directory=logdir,
                         map_name=args.map,
                         num_targets=args.nb_targets,
                         is_training=False)

        env_core = env
        while (not hasattr(env_core, '_elapsed_steps')):
            env_core = env_core.env
        env_core = env_core.env

        num_target_dep_vars = env_core.num_target_dep_vars

        init_params = {}
        given_init_pose, test_init_pose = [], []
        nb_test_episodes = args.repeat