From 5621cc78e875494495a3f903abe7c7d21fdf3694 Mon Sep 17 00:00:00 2001 From: Mark Voltov Date: Tue, 29 Aug 2023 13:13:37 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=D1=81=D0=BB=D0=BE=D0=B2=D0=BD=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B8=D0=B9=20=D0=B3=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D1=80=D0=B0=D1=82=D0=BE=D1=80=20=D0=B4=D0=BE=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=20(=D0=B1=D0=B5=D0=B7=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cg/freecad/Frames/pddl/MillingMachine.FCStd | Bin 128653 -> 128817 bytes .../Frames/pddl/PartDesignExample.FCStd | Bin 90865 -> 127692 bytes cg/freecad/Frames/pddl/domain.pddl | 35 +---- cg/freecad/Frames/pddl/path2pddl.py | 133 ++++++++++++------ 4 files changed, 96 insertions(+), 72 deletions(-) diff --git a/cg/freecad/Frames/pddl/MillingMachine.FCStd b/cg/freecad/Frames/pddl/MillingMachine.FCStd index c324eef4350485774196d1c6045939929423c206..60be8023a647440fec6a86f511fefe002ba11bf6 100644 GIT binary patch delta 18204 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 delta 18286 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 diff --git a/cg/freecad/Frames/pddl/PartDesignExample.FCStd b/cg/freecad/Frames/pddl/PartDesignExample.FCStd index 09f22c4c6df209861d99b259e96941f02cc497cb..ad0adc06ec4a024f8a8962629c9cc1ee889ae903 100644 GIT binary patch delta 43402 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 z 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 bsJ_L>Ai&^Ol$z@7=%V0~pIn-onpXk<%aXX> delta 21728 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 diff --git a/cg/freecad/Frames/pddl/domain.pddl b/cg/freecad/Frames/pddl/domain.pddl index 2131814..a2b1478 100644 --- a/cg/freecad/Frames/pddl/domain.pddl +++ b/cg/freecad/Frames/pddl/domain.pddl @@ -29,7 +29,7 @@ (endmill_is_ready) ) ) -(:durative-action PartDesignExample_TC: Default Tool +(:durative-action PartDesignExample_Profile_TC: Default Tool :parameters ( ) :duration ( = ?duration 157) :condition (and @@ -38,7 +38,7 @@ :effect (and ) ) -(:durative-action PartDesignExample_TC: Default Tool +(:durative-action PartDesignExample_Pocket3D_TC: Default Tool :parameters ( ) :duration ( = ?duration 170) :condition (and @@ -47,36 +47,9 @@ :effect (and ) ) -(:durative-action PartDesignExample_TC: Default Tool +(:durative-action PartDesignExample_MillFace_TC: Default Tool :parameters ( ) - :duration ( = ?duration 78) - :condition (and - (endmill_is_ready) - ) - :effect (and -) - ) -(:durative-action PartDesignExample_TC: Default Tool - :parameters ( ) - :duration ( = ?duration 157) - :condition (and - (endmill_is_ready) - ) - :effect (and -) - ) -(:durative-action PartDesignExample_TC: Default Tool - :parameters ( ) - :duration ( = ?duration 170) - :condition (and - (endmill_is_ready) - ) - :effect (and -) - ) -(:durative-action PartDesignExample_TC: Default Tool - :parameters ( ) - :duration ( = ?duration 78) + :duration ( = ?duration 79) :condition (and (endmill_is_ready) ) diff --git a/cg/freecad/Frames/pddl/path2pddl.py b/cg/freecad/Frames/pddl/path2pddl.py index ae8d3b8..11d6421 100644 --- a/cg/freecad/Frames/pddl/path2pddl.py +++ b/cg/freecad/Frames/pddl/path2pddl.py @@ -4,8 +4,7 @@ import FreeCADGui as Gui import json #1. Экспорт фрикадовских операций -doc = App.ActiveDocument -file_path = doc.FileName + printer = '/home/mark-voltov/GitProjects/framework/cg/freecad/Frames/pddl/Printer.FCStd' endmill = '/home/mark-voltov/GitProjects/framework/cg/freecad/Frames/pddl/MillingMachine.FCStd' @@ -26,7 +25,7 @@ def pathCheck(part): checker = True return checker -print(pathCheck(part)) + operations_data = [] @@ -62,20 +61,12 @@ def operationsInfoCollecting(part): print('Операции не были обнаружены') return operations_data -operations_data = operationsInfoCollecting(part) -print(operations_data) - - - - # Словарь для группировки операций по станкам machines_operations = {} - - def toolOperationCollector(tool): @@ -92,29 +83,31 @@ def toolOperationCollector(tool): }) return tool_operations -print(toolOperationCollector(tool)) def operationGenerator(tool, operations_data): tool_operations = toolOperationCollector(tool) + #отсеиваем все действия pddl_actions = [] for part_operation in operations_data: for tool_operation in tool_operations: if tool_operation['Label'] == part_operation['Tool']: - pddl_actions.append({'Label': part_operation['Part_label'] + '_' + tool_operation['Label'], + pddl_actions.append({'Label': part_operation['Part_label'] + '_' + part_operation['Operation_name'] + '_' + tool_operation['Label'], 'Partname': part_operation['Part_label'], 'Conditions': tool_operation['Conditions'], 'Duration': part_operation['Duration'], 'Effects': tool_operation['Effects'], 'Parameters': tool_operation['Parameters'], - 'Type': tool_operation['Type']}) + 'Type': tool_operation['Type'], + 'Tool': tool_operation['Label'] + }) #здесь у нас появился список операций применительно к одному станку #выполнив эту функцию для каждого станка, получим кучу операций для всего return pddl_actions -print(operationGenerator(tool, operations_data)) + @@ -162,12 +155,12 @@ def time_in_sec(time_str): #основной документ здесь - станок. Нужно поместить файл домена в папку с оборудованием -def export_to_file(tool, pddl_entities_list): - # filename = App.ActiveDocument.Name +def domain_export(tool, pddl_entities_list): + file_path = endmill.rsplit("/", 1)[0] + '/domain.pddl' - # file_path = tool.FileName.rsplit("/", 1)[0] + 'domain.pddl' + filename = 'fabrication' - # doc = App.ActiveDocument + with open(file_path, 'w') as f: f.write('(define (domain '+ filename +')\n \n') @@ -176,8 +169,7 @@ def export_to_file(tool, pddl_entities_list): # Типы обьектов #выбираем словари, которые соответствуют типу types types_list = [d for d in pddl_entities_list if d.get("Type") == 'Types'] - print('типы') - print(types_list) + f.write('(:types \n') @@ -192,8 +184,7 @@ def export_to_file(tool, pddl_entities_list): #выбираем словари, соответствующие предикатам f.write(' (:predicates\n') predicates_list = [d for d in pddl_entities_list if d.get("Type") == 'Predicate'] - print('преды') - print(predicates_list) + for obj in predicates_list: f.write(' ('+ obj['Label']) @@ -210,8 +201,7 @@ def export_to_file(tool, pddl_entities_list): #выбираем словари, соответствующие действиям actions_list = [d for d in pddl_entities_list if d.get("Type") == 'Action'] - print('акции') - print(actions_list) + for obj in actions_list: @@ -231,7 +221,7 @@ def export_to_file(tool, pddl_entities_list): for effect in obj['Effects']: f.write(' (' + effect + ') \n') - # f.write(' ') + f.write(')\n') f.write(' )\n') @@ -240,8 +230,7 @@ def export_to_file(tool, pddl_entities_list): #выбираем словари, соответствующие действиям durative_actions_list = [d for d in pddl_entities_list if d.get("Type") == 'DurativeAction'] - print('дакции') - print(durative_actions_list) + for obj in durative_actions_list: f.write('(:durative-action ' + obj['Label'] + '\n') f.write(' :parameters (') @@ -253,15 +242,13 @@ def export_to_file(tool, pddl_entities_list): for condition in obj['Conditions']: f.write(' (' + condition + ') \n') - # f.write(') ') - # f.write(')\n') + f.write(' )\n') f.write(' :effect (and \n') for effect in obj['Effects']: f.write(' (' + effect + ') \n') - # f.write(' ') f.write(')\n') f.write(' )\n') @@ -271,22 +258,86 @@ def export_to_file(tool, pddl_entities_list): f.write(' )\n') tool_non_operations = [] -tool_operations = [] + operations_data = operationsInfoCollecting(part) -# tool = App.open(toolslist[1]) pddl_actions = operationGenerator(tool, operations_data) -tool_non_actions = collectingNonActions(tool) -print(tool_non_actions) -# tool_operations = pddl_actions #вот здесь должны быть уже обработанные данные, а не полуфабрикаты, как сейчас +pddl_non_actions = collectingNonActions(tool) -pddl_entities_list = tool_non_actions + pddl_actions -print('все сущности') -print(pddl_entities_list) +pddl_entities_list = pddl_non_actions + pddl_actions -print(export_to_file(tool, pddl_entities_list)) -# print(export_to_file(pddl_entities_list)) \ No newline at end of file +domain_export(tool, pddl_entities_list) + +def problem_export(partlist): + pass + + +def predicate_generator(): + #как определять операции? по тегам, означающим действие и/или подготовку + #нужно выделить порядок + #как выделить порядок операций для детали? + #операции импортируются по порядку сверху вниз. + #можно создавать переходы по следующим признакам: + #операция создает условие "operation_name_done", следующая операция требует условия "operation_name_n-1_done" + #операция при начале делает условие "not operation_name_done" + #если операция требует изменения инструмента, то должна выполняться операция по замене инструмента + # + for n in range(pddl_actions): + if pddl_actions[n+1]['Tool'] == pddl_actions[n]['Tool']: + #замена инструмента не требуется + pddl_actions[n+1]['Conditions'].append(pddl_actions[n]["Label"] + '_done') + + else: + #включается операция по замене инструмента + pddl_actions[n+1]['Conditions'].append( pddl_actions[n]["Label"] + '_done') + pddl_actions[n+1]['Conditions'].append('change_' + pddl_actions[n]['Tool'] + 'to' + pddl_actions[n+1]['Tool'] + '_done' ) #сюда нужно воткнуть операцию по замене + #нужно создать операцию, которая произведет эту замену. + +aux_pddl_actions = [] + +def auxActionsGenerator(pddl_action_1, pddl_action_2): + aux_pddl_actions.append({{'Label': 'change_tool' + pddl_action_1['Tool'] + 'to' + pddl_action_2['Tool'], + 'Partname': part_operation['Part_label'], + 'Conditions': tool_operation['Conditions'], + 'Duration': part_operation['Duration'], + 'Effects': tool_operation['Effects'], + 'Parameters': tool_operation['Parameters'], + 'Type': tool_operation['Type'], + 'Tool': tool_operation['Label'] + } + + }) + + +#генерируется pddl-домен относительно нормально +#нужно увязать последовательность операций с пред и пост условиями, создавая предикаты автоматически +#problem можно создавать на основе операции сборки. Генератор последовательности сборки выдает основную информацию +#для сборки нужно, чтобы все операции подготовки детали были выполнены + + + +# какие могут быть ситуации? + +# ряд последовательных операций + +# если станок один: +# если операции на одном виде инструментов: +# то операция1 имеет пред "операция0 готова" +# создает пред "операция1 готова" +# операция2 имеет пред "операция1 готова" +# создает пред "операция2 готова" +# если операция на разных видах инструментов: +# то операция1 имеет пред "операция0 готова" +# создает пред "операция1 готова" +# создает пред "смена инструмента не готова" +# операция смены имеет пред "операция1 готова" +# имеет пред "смена инструмента не готова" +# создает пред "смена инструмента готова" +# операция2 имеет пред "операция1 готова" +# имеет пред "смена инструмента готова" + +# остальное аналогично