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))
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