コード例 #1
0
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
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
 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
コード例 #5
0
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
コード例 #6
0
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')
コード例 #7
0
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
コード例 #8
0
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
コード例 #9
0
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)
コード例 #10
0
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
コード例 #11
0
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)
コード例 #12
0
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
コード例 #13
0
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)