def cluster_labels(num_clusters=3): from sklearn.cluster import KMeans object_labels = get_baseline_labels() object_key_to_array_index = {} X = [] object_group_name = 'g3db_instances_non_test_version7' for object_name in get_grasping_object_name_list(object_group_name): sum_value = sum(object_labels[object_name]) object_labels[object_name] = [ x / sum_value for x in object_labels[object_name] ] object_key_to_array_index[object_name] = len(X) X.append(object_labels[object_name]) kmeans = KMeans(n_clusters=num_clusters, random_state=0).fit(X) transormed_X = kmeans.transform(X) for object_name in get_grasping_object_name_list(object_group_name): print repr(kmeans.labels_[object_key_to_array_index[object_name]] ) + ':' + object_name + ':' + repr( transormed_X[object_key_to_array_index[object_name]]) baseline_result_dir = 'data_low_friction_table_exp_ver6' grasping_ros_mico_path = get_grasping_ros_mico_path() label_file_name = grasping_ros_mico_path + "/" + baseline_result_dir + "/baseline_results/kmeans_object_labels_g3db_instances_trial.csv" with open(label_file_name, 'w') as f: for object_name in get_grasping_object_name_list(object_group_name): f.write( object_name + "," + repr(kmeans.labels_[object_key_to_array_index[object_name]]) + '\n') return kmeans
def generate_cylinder_g3db_mixed_belief_ver5_commands_old( type='1001-84_weighted'): object_list = get_grasping_object_name_list('coffee_yogurt_cup') object_list = object_list + ['9cm', '8cm'] belief_type = 'UNIFORM_WITH_STATE_IN' dir_prefix = './results/despot_logs/low_friction_table/multiObjectType/' if type in ['cylinder', 'cylinder_regression']: config_file_name = 'Ver5MultiCylinderObject' config_file_prefix = 'cylinder' dir_name = './results/despot_logs/low_friction_table/multiObjectType/belief_uniform_cylinder_7_8_9_reward100_penalty10' belief_name = 'cylinder_7_8_9' object_list = [ '9cm', '8cm', '7cm', '75mm', '85mm', 'G3DB84_yogurtcup_final' ] if type == 'cylinder_1001': config_file_name = 'Ver5MultiCylinder-1001' config_file_prefix = 'cylinderCup' dir_name = './results/despot_logs/low_friction_table/multiObjectType/belief_uniform_cylinder_8_9_1001_reward100_penalty10' belief_name = 'cylinder_8_9_1001' if type in ['1001-84_weighted', '1001-84']: config_file_name = 'Ver5Multi1001-84' config_file_prefix = 'yoghurtCup' dir_name = dir_prefix + 'belief_uniform_g3db_1_84_reward100_penalty10' belief_name = '1001-84' object_list = get_grasping_object_name_list('coffee_yogurt_cup') if 'regression' in type: config_file_prefix = config_file_prefix + "/use_regression" dir_name = dir_name + "/use_regression" if 'weighted' in type: config_file_prefix = config_file_prefix + "/weighted_belief" dir_name = dir_name + "/icp_score_weighted" belief_name = belief_name + "/weighted_belief" generate_grasping_params_file(object_list, config_file_name, dir_name, belief_type, belief_name, config_file_prefix)
def generate_g3db_belief_despot_commands(ver="", belief='Multi'): object_list = get_grasping_object_name_list('coffee_yogurt_cup') for filetype in ['']: for interface_type in [ "vrep_model", "data_model", "vrep_model_fixed_distribution", "data_model_fixed_distribution" ]: #generate_params_file(interface_type + "_9cm_low_friction" + filetype + ".yaml", 'despot_without_display') if ver == 'Ver5': interface_type = interface_type + "_ver5" interface_type_ = "" if 'vrep' in interface_type else "Data" dir_extenstion = "/simulator" if 'vrep' in interface_type else "" for object_type in object_list: ans = get_default_params() if belief == 'Multi': ans['output_dir'] = './results/despot_logs/low_friction_table/multiObjectType/belief_uniform_g3db_1_84_reward100_penalty10' + dir_extenstion else: ans['output_dir'] = './results/despot_logs/low_friction_table/multiObjectType/belief_uniform_g3db_single_reward100_penalty10' + dir_extenstion ans['file_name_prefix'] = 'Table_scene_' + object_type ans['config_file'] = 'config_files/' + "Vrep" + interface_type_ + "Interface" + ver + belief + "1001-84Test" + object_type + "_low_friction_table.yaml" ans['additional_params'] = '--number=-2 -l CAP' ans['belief_type'] = 'UNIFORM_WITH_STATE_IN' if belief == 'Multi': file_name = interface_type + "_multi_object_coffee_yogurt_" + object_type + "_low_friction" + filetype + ".yaml" else: file_name = interface_type + "_single_object_coffee_yogurt_" + object_type + "_low_friction" + filetype + ".yaml" if 'fixed_distribution' in file_name: ans['additional_params'] = '-l CAP --number=' ans['output_dir'] = ans[ 'output_dir'] + "/fixed_distribution" output = yaml.dump(ans, Dumper=Dumper) f = open(file_name, 'w') f.write(output)
def get_object_filenames(self, object_file_name): ans = [] self.pure_shape = False if (object_file_name == 'all_cylinders'): self.pure_shape = True ans = get_grasping_object_name_list(object_file_name) else: if (os.path.isdir(object_file_name)): files = [ os.path.join(object_file_name, f) for f in os.listdir(object_file_name) if '.obj' in f ] for file in files: ans.append(file) elif (not os.path.exists(object_file_name)): obj_dir_name = os.path.dirname(object_file_name) file_prefix = os.path.basename(object_file_name) files = [ os.path.join(obj_dir_name, f) for f in os.listdir(obj_dir_name) if f.startswith(file_prefix) ] for file in files: if '.obj' in file: ans.append(file) else: ans = [object_file_name] return ans
def get_object_list(object_group_name): if type(object_group_name) is str: object_list = get_grasping_object_name_list(object_group_name) object_list = [x + '.yaml' for x in object_list] else: #object_list = [get_object_name(x) for x in object_group_name] object_list = [x + '.yaml' for x in object_group_name] return object_list
def generate_fixed_distribution_commands(type = 'G3DB'): object_list = ['7cm', '8cm', '9cm', '75mm', '85mm'] if type == 'G3DB': object_list = get_grasping_object_name_list() for filetype in ['_baseline', '_combined_4']: #['', '_learning', '_combined_0', '_combined_1', '_combined_2', '_combined_0-15', '_combined_0-20', '_combined_3-50', '_combined_4']: for interface_type in ["vrep_model_fixed_distribution", "data_model_fixed_distribution"]: generate_params_file(interface_type + "_9cm_low_friction" + filetype + ".yaml", 'despot_without_display') for object_type in object_list: generate_params_file(interface_type + "_multi_object_" + object_type + "_low_friction" + filetype + ".yaml", 'despot_without_display')
def get_object_name(object_file): object_file_parts = object_file.split('_') for object_file_part in object_file_parts: if 'cm' in object_file_part: object_number = int(filter(str.isdigit, object_file_part)) if object_number < 10: return "Cylinder" + repr(object_number) + 'cm' elif object_number < 100: return "Cylinder" + repr(object_number) + 'mm' elif object_number > 1000: g3db_objects = get_grasping_object_name_list('all_g3db') g3dbPattern = 'G3DB' + repr(object_number - 1000) + '_' for g3db_object in g3db_objects: if g3dbPattern in g3db_object: return g3db_object
def generate_sample_input_command(dir, error_files): #object_list = ['7cm', '8cm', '9cm', '75mm', '85mm'] object_list = get_grasping_object_name_list('coffee_yogurt_cup') command = 'data' if 'simulator' in dir: command = 'vrep' command = command + '_model_fixed_distribution' + '_ver5' if 'singleObjectType' in dir: command = command + "_9cm" else: command = command + "_multi_object_" + "coffee_yogurt_" + "pattern" command = command + '_low_friction' ans = [] for error_file in error_files: o = '' for object_type in object_list: if object_type in error_file: o = object_type trial_no = int(error_file.split('.')[0].split('_')[-1]) m = re.search('t([0-9]+)_', dir) learning_version = 'None' if m: t = m.groups(0)[0] else: t = '1' learning_version = 'empty' m = re.search('_n([0-9]+)', dir) if m: n = m.groups(0)[0] else: n = '1' combined_version = 'None' m = re.search('combined_([0-9]+)', dir) if m: combined_version = m.groups(0)[0] m = re.search('combined_[0-9]+-([0-9]+)', dir) if m: combined_version = combined_version + '-' + m.groups(0)[0] if o: ans.append(' '.join([ o, command, t, n, learning_version, combined_version, repr(trial_no), repr(trial_no + 1), '1' ])) #print ans return ans
def main(): base_dir = '/home/neha/WORK_FOLDER/unicorn_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/vrep_scene_ver6/multiObjectType/' dir_list = [] for i in range(0, 7): dir_list.append('belief_uniform_baseline_' + repr(i) + '_reward100_penalty10/simulator/fixed_distribution/') dir_list.append( 'belief_uniform_cylinder_7_8_9_reward100_penalty10/use_discretized_data/simulator/fixed_distribution/t5_n40' ) dir_list.append( 'belief_uniform_cylinder_7_8_9_reward100_penalty10/use_discretized_data/simulator/fixed_distribution/learning/version14' ) patterns = get_grasping_object_name_list('cylinder_and_g3db_instances') for pattern in patterns: print '#############################' print pattern diff_values = get_diff_values(pattern) print diff_values for dir_name in dir_list: correct_pick_values(os.path.join(base_dir, dir_name), pattern, diff_values)
def parse(fileName, belief_type='', isTraining=False): seqs = [] if fileName == 'test': for i in range(0, 100): #logfileName = '/home/neha/WORK_FOLDER/neha_github/apc/rosmake_ws/despot_vrep_glue/results/despot_logs/VrepData_gaussian_belief_with_state_in_belief_t5_n10_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/ncl_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/separate_close_reward/singleObjectType/cylinder_9cm_reward100_penalty10/t1_n320_withoutLCAP/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t1_n320_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/ncl_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n80/Table_scene_low_friction_9cm_cylinder_belief_gaussian_with_state_in_t5_n80_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/unicorn_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n20/Table_scene_low_friction_7cm_cylinder_belief_gaussian_with_state_in_t5_n20_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/ncl_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n160/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n160_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/unicorn_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/simulator/learning/version8/Table_scene_low_friction_7cm_cylinder_v8_trial_' + repr(i) +'.log' #logfileName = '/home/neha/WORK_FOLDER/unicorn_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/simulator/fixed_distribution/learning/version8/Table_scene_low_friction_7cm_cylinder_v8_trial_' + repr(i) +'.log' t = '5' scenario = '80' #object = '84_yogurtcup_final-13-Nov-2015-10-32-33_instance0' object = 'Cylinder_7' #object='G3DB84_yogurtcup_final' #object = 'G3DB1_Coffeecup_final-20-dec-2015' #object = '9cm' logfileName = '/home/neha/WORK_FOLDER/ncl_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/vrep_scene_ver7/multiObjectType/' #logfileName = logfileName + 'belief_uniform_g3db_single_reward100_penalty10/simulator/fixed_distribution/t' + t + '_n' + scenario + '/Table_scene_'+ object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr(i) +'.log' logfileName = logfileName + 'belief_uniform_cylinder_7_8_9_reward100_penalty10/use_discretized_data/' #logfileName = logfileName + 'belief_uniform_g3db_instances_train1_reward100_penalty10/use_discretized_data/use_weighted_belief/fixed_distribution/horizon90/' logfileName = logfileName + 't' + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #logfileName = logfileName + 'belief_uniform_g3db_1_84_reward100_penalty10/icp_score_weighted/simulator/fixed_distribution/learning/version13/' #logfileName = logfileName + 'Table_scene_' + object + '_trial_' + repr(i) +'.log' #object='8cm' #logfileName = '/home/neha/WORK_FOLDER/ncl_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_uniform_cylinder_7_8_9_reward100_penalty100/fixed_distribution/t' + t + '_n' + scenario + '/Table_scene_low_friction_'+ object + '_cylinder_belief_uniform_t' + t + '_n' + scenario + '_trial_' + repr(i) +'.log' #print i #seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') #logfileName = '/home/neha/WORK_FOLDER/unicorn_dir_mount/neha_github/autonomousGrasping/grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/simulator/fixed_distribution/t1_n40/Table_scene_low_friction_7cm_cylinder_belief_gaussian_with_state_in_t1_n40_trial_' + repr(i) +'.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7') #logfileName = '../../grasping_ros_mico/results/despot_logs/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n20/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n20_trial_' + repr(i) +'.log' #print i #seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') #logfileName = '../../grasping_ros_mico/results/despot_logs/singleObjectType/cylinder_9cm_reward100_penalty10/t1_n20/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t1_n20_trial_' + repr(i) +'.log' #print i #seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName == 'toy/version1': for i in range(0, 2000): for t in ['5']: for scenario in ['10', '20']: logfileName = '../../graspingV4/results/despot_logs/t' + t + "_n" + scenario + "/Toy_train_belief_default_t" + t + "_n" + scenario + "_trial_" + repr( i) + ".log" seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'toy') elif fileName in ['vrep/version25']: object_class_names = [ 'g3db_instances_train3_version7_label_3_class_0', 'g3db_instances_train3_version7_label_3_class_1', 'g3db_instances_train3_version7_label_3_class_2', 'g3db_instances_train3_version7_label_3_class_3', 'g3db_instances_train3_version7_label_3_class_4' ] object_class_samples_mapping = {} object_class_samples_mapping[ 'g3db_instances_train3_version7_label_3_class_0'] = 2000 object_class_samples_mapping[ 'g3db_instances_train3_version7_label_3_class_1'] = 500 object_class_samples_mapping[ 'g3db_instances_train3_version7_label_3_class_2'] = 4000 object_class_samples_mapping[ 'g3db_instances_train3_version7_label_3_class_3'] = 3000 object_class_samples_mapping[ 'g3db_instances_train3_version7_label_3_class_4'] = 4000 for object_class_name in object_class_names: object_list = get_grasping_object_name_list(object_class_name) for i in range(0, object_class_samples_mapping[object_class_name]): for t in ['5']: for scenario in ['160']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train3_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_binary_touch' logfileName = logfileName + '/use_wider_workspace/use_probabilistic_neighbour_step' logfileName = logfileName + '/use_discrete_observation_in_update/' logfileName = logfileName + 'use_discrete_observation_in_step/' logfileName = logfileName + 'use_weighted_belief/' logfileName = logfileName + 'use_classifier/kmeans-extra-data_label_3_20180419-123116/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7/weighted_5') elif fileName in ['vrep/version24']: object_class_names = [ 'g3db_instances_train2_version7_label_3_class_0', 'g3db_instances_train2_version7_label_3_class_1', 'g3db_instances_train2_version7_label_3_class_2', 'g3db_instances_train2_version7_label_3_class_3', 'g3db_instances_train2_version7_label_3_class_4' ] object_class_samples_mapping = {} object_class_samples_mapping[ 'g3db_instances_train2_version7_label_3_class_0'] = 2000 object_class_samples_mapping[ 'g3db_instances_train2_version7_label_3_class_1'] = 500 object_class_samples_mapping[ 'g3db_instances_train2_version7_label_3_class_2'] = 4000 object_class_samples_mapping[ 'g3db_instances_train2_version7_label_3_class_3'] = 3000 object_class_samples_mapping[ 'g3db_instances_train2_version7_label_3_class_4'] = 4000 for object_class_name in object_class_names: object_list = get_grasping_object_name_list(object_class_name) for i in range(0, object_class_samples_mapping[object_class_name]): for t in ['5']: for scenario in ['160']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train2_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_binary_touch' logfileName = logfileName + '/use_wider_workspace/use_probabilistic_neighbour_step' logfileName = logfileName + '/use_discrete_observation_in_update/' logfileName = logfileName + 'use_discrete_observation_in_step/' logfileName = logfileName + 'use_weighted_belief/' logfileName = logfileName + 'use_classifier/kmeans-extra-data_label_3_20180419-123116/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7/weighted_5') elif fileName in ['vrep/version23']: object_list = get_grasping_object_name_list('cylinders_train') for i in range(0, 4000): for t in ['5']: for scenario in ['320']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_cylinder_7_8_9_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_binary_touch/' logfileName = logfileName + 'use_probabilistic_neighbour_step/' logfileName = logfileName + 'use_discrete_observation_in_update/' logfileName = logfileName + 'use_discrete_observation_in_step/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7') elif fileName in ['vrep/version22']: object_list = get_grasping_object_name_list( 'g3db_instances_train2_version7') for i in range(0, 500): for t in ['5']: for scenario in ['160']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train2_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_binary_touch' logfileName = logfileName + '/use_wider_workspace/use_probabilistic_neighbour_step_temperature_bug' logfileName = logfileName + '/use_discrete_observation_in_update/' logfileName = logfileName + 'use_discrete_observation_in_step/' logfileName = logfileName + 'use_weighted_belief/' logfileName = logfileName + 'use_classifier/kmeans-extra-data_label_4_20180504-200455/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7/weighted_4') elif fileName in ['vrep/version21']: object_list = get_grasping_object_name_list( 'g3db_instances_train2_version7') for i in range(0, 500): for t in ['5']: for scenario in ['80']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train2_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_binary_touch' logfileName = logfileName + '/use_wider_workspace/use_probabilistic_neighbour_step_temperature_bug' logfileName = logfileName + '/use_discrete_observation_in_update/' logfileName = logfileName + 'use_discrete_observation_in_step/' logfileName = logfileName + 'use_weighted_belief/' logfileName = logfileName + 'use_classifier/kmeans-extra-data_label_3_20180419-123116/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7/weighted_5') elif fileName in ['vrep/version20']: object_list = get_grasping_object_name_list( 'g3db_instances_train1_version7') for i in range(0, 500): for t in ['5']: for scenario in ['160']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train1_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_weighted_belief/' logfileName = logfileName + 'use_classifier/kmeans_20180215-115011/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7/weighted_3') elif fileName in ['vrep/version19']: object_list = get_grasping_object_name_list( 'g3db_instances_train1_version7') for i in range(0, 243): for t in ['5']: for scenario in ['160']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train1_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/fixed_distribution/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7') elif fileName in ['vrep/version18']: object_list = get_grasping_object_name_list('cylinders_train') for i in range(0, 4000): for t in ['5']: for scenario in ['80']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver7/multiObjectType/' logfileName = logfileName + 'belief_uniform_cylinder_7_8_9_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver7') elif fileName in ['vrep/version17']: #data with number of objects = 10 bug object_list = get_grasping_object_name_list('g3db_instances_train1') for i in range(0, 1000): for t in ['5']: for scenario in ['40']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver6/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train1_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_weighted_belief/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver5/weighted_15') elif fileName in ['vrep/version16']: #Had point cloud bug object_list = get_grasping_object_name_list('g3db_instances_train1') for i in range(0, 2000): for t in ['5']: for scenario in ['320']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver6/multiObjectType/' logfileName = logfileName + 'belief_uniform_g3db_instances_train1_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/use_weighted_belief/horizon90/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver5/weighted_15') elif fileName in ['vrep/version14', 'vrep/version15']: #version 14 and 15 differ only in training params object_list = get_grasping_object_name_list('cylinders_train') for i in range(0, 4000): for t in ['5']: for scenario in ['40']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/' logfileName = logfileName + 'vrep_scene_ver6/multiObjectType/' logfileName = logfileName + 'belief_uniform_cylinder_7_8_9_reward100_penalty10/' logfileName = logfileName + 'use_discretized_data/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver5') elif fileName == 'vrep/version13': object_list = get_grasping_object_name_list('coffee_yogurt_cup') for i in range(0, 4000): for t in ['5']: for scenario in ['80']: for object in object_list: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_uniform_g3db_1_84_reward100_penalty10/icp_score_weighted/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver5/weighted_2') elif fileName == 'vrep/version12': for i in range(0, 4000): for t in ['5']: for scenario in ['320']: for object in ['7cm', '8cm', '9cm']: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_uniform_cylinder_7_8_9_reward100_penalty10/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep/ver5') elif fileName == 'vrep/version11': for i in range(0, 4000): for t in ['5']: for scenario in ['320']: for object in ['7cm', '8cm', '9cm']: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_uniform_cylinder_7_8_9_reward100_penalty10/t' logfileName = logfileName + t + '_n' + scenario + '/Table_scene_' + object + '_belief_uniform_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName in ['vrep/version9', 'vrep/version10']: for i in range(0, 500): for t in ['5']: for scenario in ['40', '80', '160']: for object in ['7cm', '8cm', '9cm']: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty100/t' + t + '_n' + scenario + '/Table_scene_low_friction_' + object + '_cylinder_belief_gaussian_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName == 'vrep/version8': for i in range(0, 500): for t in ['5']: for scenario in ['40', '80', '160']: for object in ['7cm', '8cm', '9cm']: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t' + t + '_n' + scenario + '/Table_scene_low_friction_' + object + '_cylinder_belief_gaussian_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName == 'vrep/version8_pick_bug': for i in range(0, 500): for t in ['5']: for scenario in ['40', '80', '160']: for object in ['7cm', '8cm', '9cm']: logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t' + t + '_n' + scenario + '/Table_scene_low_friction_' + object + '_cylinder_belief_gaussian_with_state_in_t' + t + '_n' + scenario + '_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName == 'vrep/version7': for i in range(0, 1000): logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n40/Table_scene_low_friction_9cm_cylinder_belief_gaussian_with_state_in_t5_n40_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n80/Table_scene_low_friction_9cm_cylinder_belief_gaussian_with_state_in_t5_n80_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n160/Table_scene_low_friction_9cm_cylinder_belief_gaussian_with_state_in_t5_n160_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n320/Table_scene_low_friction_9cm_cylinder_belief_gaussian_with_state_in_t5_n320_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') elif fileName == 'vrep/version6': for i in range(0, 500): #logfileName = '/home/neha/WORK_FOLDER/neha_github/apc/rosmake_ws/despot_vrep_glue/results/despot_logs/VrepData_gaussian_belief_with_state_in_belief_t5_n10_trial_' + repr(i) +'.log' ################################################### v6 begins################################################# logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n160/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n160_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n160/TableScene_cylinder_8cm_gaussian_belief_with_state_in_belief_t5_n160_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n160/TableScene_cylinder_7cm_gaussian_belief_with_state_in_belief_t5_n160_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n320/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n320_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n320/TableScene_cylinder_8cm_gaussian_belief_with_state_in_belief_t5_n320_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n320/TableScene_cylinder_7cm_gaussian_belief_with_state_in_belief_t5_n320_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n640/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n640_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n640/TableScene_cylinder_8cm_gaussian_belief_with_state_in_belief_t5_n640_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/multiObjectType/belief_cylinder_7_8_9_reward100_penalty10/t5_n640/TableScene_cylinder_7cm_gaussian_belief_with_state_in_belief_t5_n640_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') ##############################################################v6 ends########################################################################## elif fileName in ['vrep/verion4', 'vrep/version5']: for i in range(0, 1000): #####################v4 begins#################################################################### logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n80/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n80_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n40/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n40_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t5_n20/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t5_n20_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') logfileName = '../../grasping_ros_mico/results/despot_logs/high_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/t1_n20/TableScene_cylinder_9cm_gaussian_belief_with_state_in_belief_t1_n20_trial_' + repr( i) + '.log' #print i seqs = seqs + parse_file(logfileName, belief_type, True, 0, 'vrep') ####################v4 ends################################################################# #for i in range(0,400): # for round_no in range(0,4): # logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2/4_objects_obs_prob_change_particles_as_state/graspingV4_state_' + repr(i) + '_multi_runs_t10_n10_obs_prob_change_particles_as_state_4objects.log' # seqs = seqs + parse_file(logfileName, belief_type, True, round_no, 'toy') #logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2-server-version/4_objects_obs_prob_change_particles_as_state/graspingV3_state_' + repr(i) + '_t20_obs_prob_change_particles_as_state_4objects.log' #logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2/4_objects_obs_prob_change_particles_as_state/graspingV4_state_' + repr(i) + '_t10_n10_obs_prob_change_particles_as_state_4objects.log' #seqs = seqs + parse_file(logfileName, True, True) #logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2-server-version/4_objects_obs_prob_change_particles_as_state/deepLearning_same_objects/version6/state_' + repr(i) + '.log' #seqs = seqs + parse_file(logfileName, False, True) #logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2-server-version/4_objects_obs_prob_change_particles_as_state/deepLearning_same_objects/version7/dagger_data/graspingV4_state_' + repr(i) + '_t10_n10_obs_prob_change_particles_as_state_4objects.log' #seqs = seqs + parse_file(logfileName, False, True) #logfileName = '/home/neha/WORK_FOLDER/phd2013/phdTopic/despot/despot-0.2-server-version/4_objects_obs_prob_change_particles_as_state/deepLearning_same_objects/version7/dagger_data/graspingV4_state_' + repr(i) + '_t1_n10_obs_prob_change_particles_as_state_4objects.log' #seqs = seqs + parse_file(logfileName, False, True) else: # seqs = seqs + parse_file(fileName, '', isTraining, -1, 'toy') seqs = seqs + parse_file(fileName, '', isTraining, -1, 'vrep') #print seqs return seqs
def make_object_dirs(dir_name, object_group): object_list = get_grasping_object_name_list(object_group) for object in object_list: os.mkdir(dir_name + "/" + object)
def generate_commands_file(file_name, problem_type, work_folder_dir, starting_screen_counter = 1, tensorflow_path_input = '', separate_ros_vrep_port = False, command_list_file = None): f = open(file_name, 'w') global initial_ros_port global max_ros_port global vrep_scene_version global generic_scene global unicorn_eagle global unicorn_eagle_without_gpu global current_ros_port global num_gpus starting_ros_port = initial_ros_port vrep_ros_port = current_ros_port + 1 tensorflow_path = tensorflow_path_input #Assumed location of tensorflow dir source_tensorflow = tensorflow_path != '' vrep_dir = work_folder_dir + '/V-REP_PRO_EDU_V3_3_2_64_Linux' problem_dir = work_folder_dir + "/neha_github/autonomousGrasping/" + problem_type if problem_type == 'despot_without_display': problem_dir = work_folder_dir + "/neha_github/autonomousGrasping/" + "/grasping_ros_mico" if problem_type.startswith('despot_bt'): problem_dir = work_folder_dir + "/neha_github/despot_bt/build/examples/cpp_models/" problem_dir = problem_dir + problem_type.split('_')[-1] if problem_type == 'grasping_with_vision': problem_dir = work_folder_dir + "/AdaCompNUS/HyP-Despot-LargeObservation-clone-neha-laptop/src/HyP_examples/grasping_ros_mico" if 'grasping_with_vision_table' in problem_type: problem_dir = work_folder_dir + "/AdaCompNUS/HyP-Despot-LargeObservation-WithGrasping-Table/src/HyP_examples/grasping_ros_mico" if command_list_file is not None: with open(command_list_file, 'r') as ff: a = ff.readlines() inputs = a[0].split(' ') if command_list_file is None: input_pattern = raw_input("Pattern type: all or file identifier?") else: input_pattern = inputs[0] pattern = input_pattern #pattern_list = [pattern] if pattern == 'all': pattern_list = ['7cm', '8cm', '9cm', '75mm', '85mm'] elif pattern == 'grasp_objects': pattern_list = get_grasping_object_name_list() else: pattern_list = get_grasping_object_name_list(pattern) if command_list_file is None: command_prefix = raw_input("Command prefix?") else: command_prefix = inputs[1] time_steps = ['1','5'] sampled_scenarios = ['5', '10', '20', '40', '80', '160', '320', '640', '1280'] learning_versions = ['8'] combined_policy_versions = ['0', '1', '2'] begin_index = 0 end_index = 1000 if command_list_file is None: time_steps = get_list_input(time_steps, "Planning times") sampled_scenarios = get_list_input(sampled_scenarios, "Sampled scenarios") learning_versions = get_list_input(learning_versions, "Learning versions") combined_policy_versions = get_list_input(combined_policy_versions, "Combined policy versions") begin_index_input = raw_input("Begin index (default 0):") end_index_input = raw_input("End index (default 1000):") else: time_steps = inputs[2].split(',') sampled_scenarios = inputs[3].split(',') learning_versions = inputs[4].split(',') combined_policy_versions = inputs[5].split(',') begin_index_input = inputs[6] end_index_input = inputs[7] if begin_index_input: begin_index = int(begin_index_input) if end_index_input: end_index = int(end_index_input) index_step = end_index if command_list_file is None: index_step_input = raw_input("Index step (default " + repr(index_step) + " ):") else: index_step_input = inputs[8] if index_step_input: index_step = int(index_step_input) for l in learning_versions: for c in combined_policy_versions: for t in time_steps: for n in sampled_scenarios: for p in pattern_list: for b_index in range(begin_index, end_index, index_step): gpu_count = (starting_screen_counter) % num_gpus actual_command = 'cd ' + problem_dir + ';' + generate_despot_command(t, n, l, c, problem_type, p, b_index, b_index + index_step, command_prefix,gpu_count) gpu_screen_name = '' if problem_type == 'grasping_with_vision': gpu_screen_name = repr(gpu_count) + '_' despot_screen_name = repr(starting_screen_counter)+ '_' +gpu_screen_name + problem_type if separate_ros_vrep_port and not unicorn_eagle: starting_ros_port = vrep_ros_port despot_screen_name = repr(starting_screen_counter)+ '_' + problem_type + '_' + repr(starting_ros_port) roscore_screen_name = repr(starting_screen_counter)+ '_roscore_' + repr(starting_ros_port) f.write('screen -S ' + despot_screen_name + ' -d -m \n') script_start_command = 'script ' + despot_screen_name f.write("screen -S " + despot_screen_name + " -X stuff '" + script_start_command + " ^M' \n") if unicorn_eagle or unicorn_eagle_without_gpu: ros_master_uri_command = 'export ROS_MASTER_URI=http://node_name:gpu_port_name' f.write("screen -S " + despot_screen_name + " -X stuff '" + ros_master_uri_command + " ^M' \n") if separate_ros_vrep_port and not unicorn_eagle and not unicorn_eagle_without_gpu: ros_master_uri_command = 'export ROS_MASTER_URI=http://localhost:' + repr(starting_ros_port) roscore_command = 'roscore -p ' + repr(starting_ros_port) f.write('screen -S ' + roscore_screen_name + ' -d -m \n') f.write("screen -S " + roscore_screen_name + " -X stuff '" + ros_master_uri_command + " ^M' \n") f.write("screen -S " + roscore_screen_name + " -X stuff '" + roscore_command + " ^M' \n") f.write("sleep 1 \n") f.write("screen -S " + despot_screen_name + " -X stuff '" + ros_master_uri_command + " ^M' \n") vrep_command = 'until rostopic list ; do sleep 1; done ; cd ' vrep_command = vrep_command + vrep_dir vrep_command = vrep_command + '; xvfb-run --auto-servernum --server-num=1 -s "-screen 0 640x480x24" ./vrep.sh -h ' vrep_command = vrep_command + '../vrep_scenes/micoWithSensorsMutliObjectTrialWithDespotIKVer' + vrep_scene_version if generic_scene: vrep_command = vrep_command + 'G3DB_generic.ttt' else: if 'G3DB' not in p: vrep_command = vrep_command + 'Cylinder' vrep_command = vrep_command + p + '.ttt' vrep_screen_name = repr(starting_screen_counter)+ '_vrep_' + repr(starting_ros_port) f.write('screen -S ' + vrep_screen_name + ' -d -m \n') f.write("screen -S " + vrep_screen_name + " -X stuff '" + ros_master_uri_command + " ^M' \n") f.write("screen -S " + vrep_screen_name + " -X stuff '" + vrep_command + " ^M' \n") f.write("sleep 1 \n") actual_command = "until rostopic list | grep vrep ; do sleep 1; done ; " + actual_command vrep_ros_port = vrep_ros_port + 1 if vrep_ros_port > max_ros_port: vrep_ros_port = initial_ros_port + 1 if source_tensorflow: tensorflow_command = 'source ' + tensorflow_path + '/bin/activate' f.write("screen -S " + despot_screen_name + " -X stuff '" + tensorflow_command + " ^M'\n") f.write("screen -S " + despot_screen_name + " -X stuff '" + actual_command + " ^M^D' \n") if problem_type.startswith('despot_bt'): f.write("sleep 1 \n") #Required because sometimes same seeds are generated starting_screen_counter = starting_screen_counter + 1 return starting_screen_counter
def generate_params_file(file_name, problem_type): ans = {} ans['solver'] = 'DESPOT' ans['planning_time'] = 1 ans['number_scenarios'] = 5 ans['horizon'] = 50 ans['begin_index'] = 0 ans['end_index'] = 1000 ans['file_name_prefix'] = '' ans['config_file'] = 'config_files/' + file_name.replace( 'learning', 'combined_0').replace('despot', 'combined_0') if problem_type == 'despot_without_display': #ans['config_file'] = 'config_files/VrepDataInterface.yaml' ans['belief_type'] = 'GAUSSIAN_WITH_STATE_IN' ans['additional_params'] = '--number=-1 -l CAP' if problem_type == 'graspingV4': ans['belief_type'] = 'DEFAULT' ans['additional_params'] = '--number=' ans['output_dir'] = './results/despot_logs' ans['end_index'] = 400 ans['horizon'] = 90 for filetype in ['train', 'test']: if filetype in file_name: ans['file_name_prefix'] = 'Toy_' + filetype if problem_type == 'pocman': #ans['config_file'] = 'config_files/' + file_name.replace('learning', 'combined_0') ans['belief_type'] = 'DEFAULT' ans['additional_params'] = '' ans['output_dir'] = './results' ans['horizon'] = 90 ans['file_name_prefix'] = 'full_pocman_' ans = modify_params_file_for_learning(file_name, problem_type, ans) object_list = ['7cm', '8cm', '9cm', '75mm', '85mm'] for filetype in [ 'combined_0', 'combined_1', 'combined_2', 'combined_0-15', 'combined_0-20', 'combined_3-50', 'combined_4' ]: for interface_type in ["vrep_model", "data_model"]: file_prefix = interface_type + "_9cm_low_friction_" if file_name == file_prefix + filetype + ".yaml": ans = get_default_params(file_prefix + "learning.yaml") ans['output_dir'] = ans['output_dir'] + "/" + filetype ans['config_file'] = (ans['config_file'].split('.') )[0] + '_' + filetype + ".yaml" for object_type in object_list: file_prefix = interface_type + "_multi_object_" + object_type + "_low_friction_" if file_name == file_prefix + filetype + '.yaml': ans = get_default_params(file_prefix + 'learning.yaml') ans['output_dir'] = ans['output_dir'] + "/" + filetype ans['config_file'] = (ans['config_file'].split('.') )[0] + '_' + filetype + ".yaml" if 'uniform_belief' in file_name: new_file_name = file_name if 'G3DB' in file_name: object_list = get_grasping_object_name_list() for object_type in object_list: if object_type in file_name: G3DB_object_type = object_type new_file_name = file_name.replace(G3DB_object_type, '75mm') ans = get_default_params(new_file_name.replace('_uniform_belief', '')) ans['belief_type'] = 'UNIFORM' ans['output_dir'] = ans['output_dir'].replace( 'belief_cylinder', 'belief_uniform_cylinder') if 'G3DB' in file_name: ans['config_file'] = ans['config_file'].replace( '75mm', G3DB_object_type) ans['file_name_prefix'] = ans['file_name_prefix'].replace( '75mm', G3DB_object_type) elif 'penalty_100' in file_name: new_file_name = file_name if 'G3DB' in file_name: object_list = get_grasping_object_name_list() for object_type in object_list: if object_type in file_name: G3DB_object_type = object_type new_file_name = file_name.replace(G3DB_object_type, '75mm') if 'v8' in file_name: ans = get_default_params( new_file_name.replace('_penalty_100_v8', '')) ans['output_dir'] = ans['output_dir'].replace( "penalty10", "penalty100") #ans['output_dir'] = ans['output_dir'].replace("version8","version9") ans['config_file'] = ans['config_file'].replace( 'Vrep', 'VrepPenalty100V8') elif 'v10' in file_name: ans = get_default_params( new_file_name.replace('_penalty_100_v10', '')) ans['output_dir'] = ans['output_dir'].replace( "penalty10", "penalty100") ans['output_dir'] = ans['output_dir'].replace( "version8", "version10") ans['config_file'] = ans['config_file'].replace( 'Vrep', 'VrepPenalty100V10') else: ans = get_default_params(new_file_name.replace('_penalty_100', '')) ans['output_dir'] = ans['output_dir'].replace( "penalty10", "penalty100") ans['output_dir'] = ans['output_dir'].replace( "version8", "version9") ans['config_file'] = ans['config_file'].replace( 'Vrep', 'VrepPenalty100') if 'G3DB' in file_name: ans['config_file'] = ans['config_file'].replace( '75mm', G3DB_object_type) ans['file_name_prefix'] = ans['file_name_prefix'].replace( '75mm', G3DB_object_type) elif 'fixed_distribution' in file_name: new_file_name = file_name if 'G3DB' in file_name: object_list = get_grasping_object_name_list() for object_type in object_list: if object_type in file_name: G3DB_object_type = object_type new_file_name = file_name.replace(G3DB_object_type, '75mm') ans = get_default_params( new_file_name.replace('_fixed_distribution', '')) ans['additional_params'] = '-l CAP --number=' if ('simulator' in ans['output_dir']): ans['output_dir'] = ans['output_dir'].replace( "simulator", "simulator/fixed_distribution") else: if 'penalty100' in ans['output_dir']: ans['output_dir'] = ans['output_dir'].replace( "penalty100", "penalty100/fixed_distribution") else: ans['output_dir'] = ans['output_dir'].replace( "penalty10", "penalty10/fixed_distribution") ans['end_index'] = 245 if 'G3DB' in file_name: ans['config_file'] = ans['config_file'].replace( '75mm', G3DB_object_type) ans['file_name_prefix'] = ans['file_name_prefix'].replace( '75mm', G3DB_object_type) if 'combined' in file_name: ans['solver'] = 'LEARNINGPLANNING' if 'combined_4' in file_name: ans['solver'] = 'DESPOTWITHLEARNEDPOLICY' #m = re.search('combined_[0-9]+', file_name) #switching_version = int(m.group().split('_')[-1]) #if switching_version > 2: # ans['additional_params'] = '--max-policy-simlen=10 ' + ans['additional_params'] if 'learning' in file_name: ans['solver'] = 'DEEPLEARNING' if 'baseline' in file_name: ans = get_default_params(file_name.replace('_baseline', '')) ans['output_dir'] = ans['output_dir'] + "/baseline" ans['solver'] = 'USERDEFINED' if file_name == 'data_model_9cm_combined_automatic.yaml': ans['config_file'] = 'config_files/VrepDataInterface_v4_automatic.yaml' ans['file_name_prefix'] = 'Table_scene_9cm_cylinder_v4_automatic' ans['output_dir'] = './results/despot_logs/high_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10/learning/version4/combined_1' if file_name == 'data_model_9cm_low_friction.yaml': ans['config_file'] = 'config_files/VrepDataInterface_low_friction.yaml' ans['file_name_prefix'] = 'Table_scene_9cm_cylinder' ans['output_dir'] = './results/despot_logs/low_friction_table/singleObjectType/cylinder_9cm_reward100_penalty10' output = yaml.dump(ans, Dumper=Dumper) f = open(file_name, 'w') f.write(output)
def get_grasping_object_name_list(type='used'): return grasping_object_list.get_grasping_object_name_list(type)