def argsparser(): """ Returns argument parser for furniture assembly environment. """ parser = argparse.ArgumentParser("Demo for IKEA Furniture Assembly Environment") parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) import config.furniture as furniture_config furniture_config.add_argument(parser) args = parser.parse_args() return args
def argsparser(): parser = argparse.ArgumentParser("Demo for furniture assembly with Baxter") parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) parser.add_argument('--record_video', type=str2bool, default=False) parser.add_argument('--video_name', type=str, default='FurnitureBaxterAssemblyEnv_test.mp4') parser.add_argument('--verbose', type=str2bool, default=True) parser.add_argument('--visualize_samples', type=str2bool, default=False) parser.add_argument('--mirror', type=str2bool, default=False) import config.furniture as furniture_config furniture_config.add_argument(parser) args = parser.parse_args() return args
def main(): import argparse import config.furniture as furniture_config from util import str2bool parser = argparse.ArgumentParser() furniture_config.add_argument(parser) # change default config for Baxter parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) parser.set_defaults(render=True) config, unparsed = parser.parse_known_args() # create an environment and run manual control of Baxter environment env = FurnitureBaxterAssemblyEnv(config) env.plan_controller_compositions(config)
def main(): import argparse import config.furniture as furniture_config from util import str2bool parser = argparse.ArgumentParser() furniture_config.add_argument(parser) # change default config for Cursors parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) parser.set_defaults(render=True) config, unparsed = parser.parse_known_args() # create an environment and run manual control of Cursor environment env = FurnitureCursorEnv(config) env.run_manual(config)
def argsparser(): """ Returns argument parser for furniture assembly environment. """ import argparse from util import str2bool parser = argparse.ArgumentParser("Demo for IKEA Furniture Assembly Environment") parser.add_argument('--env_id', type=str, default='furniture-baxter-v0') parser.add_argument('--num_env', type=int, default=1) parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) import config.furniture as furniture_config furniture_config.add_argument(parser) parser.set_defaults(visual_ob=True) args = parser.parse_args() return args
def main(): import argparse import config.furniture as furniture_config from util import str2bool parser = argparse.ArgumentParser() furniture_config.add_argument(parser) # change default config for Baxter parser.add_argument('--seed', type=int, default=123) parser.add_argument('--debug', type=str2bool, default=False) parser.set_defaults(render=True) parser.set_defaults(debug=True) # fix the initialization of furniture parts parser.set_defaults(fix_init=True) config, unparsed = parser.parse_known_args() # create an environment and run manual control of Baxter environment env = FurnitureBaxterEnv(config) env.run_manual(config)
def argparser(): parser = argparse.ArgumentParser( 'IKEA Furniture Assembly Environment', formatter_class=argparse.ArgumentDefaultsHelpFormatter) # environment parser.add_argument('--env', type=str, default='FurnitureBaxterEnv', choices=[ 'FurnitureBaxterEnv', 'FurnitureSawyerEnv', 'FurnitureCursorEnv', 'FurnitureBaxterBlockEnv' ], help='Environment name') parser.add_argument('--env_args', type=str, default=None) # furniture import config.furniture as furniture_config furniture_config.add_argument(parser) # training algorithm parser.add_argument('--algo', type=str, default='sac', choices=['sac', 'ppo']) parser.add_argument('--policy', type=str, default='mlp', choices=['mlp', 'manual']) # vanilla rl parser.add_argument('--rl_hid_size', type=int, default=64) parser.add_argument('--rl_activation', type=str, default='relu', choices=['relu', 'elu', 'tanh']) parser.add_argument('--tanh_policy', type=str2bool, default=True) # observation normalization parser.add_argument('--ob_norm', type=str2bool, default=True) parser.add_argument('--max_ob_norm_step', type=int, default=int(1e7)) parser.add_argument('--clip_obs', type=float, default=200, help='the clip range of observation') parser.add_argument( '--clip_range', type=float, default=5, help='the clip range after normalization of observation') # off-policy rl parser.add_argument('--buffer_size', type=int, default=int(1e3), help='the size of the buffer') parser.add_argument('--discount_factor', type=float, default=0.99, help='the discount factor') parser.add_argument('--lr_actor', type=float, default=3e-4, help='the learning rate of the actor') parser.add_argument('--lr_critic', type=float, default=3e-4, help='the learning rate of the critic') parser.add_argument('--polyak', type=float, default=0.995, help='the average coefficient') # training parser.add_argument('--is_train', type=str2bool, default=True) parser.add_argument('--num_batches', type=int, default=50, help='the times to update the network per epoch') parser.add_argument('--batch_size', type=int, default=256, help='the sample batch size') parser.add_argument('--max_grad_norm', type=float, default=100) parser.add_argument('--max_global_step', type=int, default=int(2e6)) parser.add_argument('--gpu', type=int, default=None) # sac parser.add_argument('--reward_scale', type=float, default=1.0, help='reward scale') # ppo parser.add_argument('--clip_param', type=float, default=0.2) parser.add_argument('--value_loss_coeff', type=float, default=0.5) parser.add_argument('--action_loss_coeff', type=float, default=1.0) parser.add_argument('--entropy_loss_coeff', type=float, default=1e-4) parser.add_argument('--rollout_length', type=int, default=1000) parser.add_argument('--gae_lambda', type=float, default=0.95) # log parser.add_argument('--log_interval', type=int, default=1) parser.add_argument('--evaluate_interval', type=int, default=10) parser.add_argument('--ckpt_interval', type=int, default=200) parser.add_argument('--log_root_dir', type=str, default='log') parser.add_argument('--wandb', type=str2bool, default=False, help='set it True if you want to use wandb') # evaluation parser.add_argument('--ckpt_num', type=int, default=None) parser.add_argument('--num_eval', type=int, default=10) parser.add_argument('--save_rollout', type=str2bool, default=False, help='save rollout information during evaluation') parser.add_argument('--record', type=str2bool, default=True, help='enable video recording') parser.add_argument('--record_caption', type=str2bool, default=True) parser.add_argument('--num_record_samples', type=int, default=1, help='number of trajectories to collect during eval') parser.add_argument( '--save_qpos', type=str2bool, default=False, help= 'save entire qpos history of success rollouts to file (for idle primitive training)' ) parser.add_argument( '--save_success_qpos', type=str2bool, default=True, help= 'save later segment of success rollouts to file (for moving and placing primitie trainings)' ) # misc parser.add_argument('--prefix', type=str, default='test') parser.add_argument('--notes', type=str, default='') parser.add_argument('--seed', type=int, default=123, help='Random seed') parser.add_argument('--debug', type=str2bool, default=False) args, unparsed = parser.parse_known_args() args.env_args_str = args.env_args return args, unparsed