Manufacturing system colored Petri net model building method and system based on PDDL language
By updating the PDDL language and designing the conversion rules of PDDL and non-ferrous Petri Net, the problem of difficulty in establishing and managing non-ferrous Petri Net models in complex manufacturing systems is solved, and a more efficient modeling process and better model readability is achieved.
Patent Information
- Application Number
- CN202510221171.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-27
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2045-02-27
AI Technical Summary
The prior art is difficult to effectively establish and manage non-ferrous Petri Net models in complex manufacturing systems, especially when the PDDL model is automatically converted into non-ferrous Petri Nets.
By updating the PDDL language, describing the resources and tasks of the manufacturing system, and designing the conversion rules of the PDDL language and non-ferrous Petri network, converting the objects, initials, goals, predicates, actions and types in the PDDL model into the library, change and directed arc of the non-ferrous Petri network, and generating the non-ferrous Petri network model of the manufacturing system.
It improves the readability and modeling efficiency of the Petri network model, simplifies the modeling process, reduces errors and ambiguity, and lays the foundation for subsequent scheduling of non-ferrous Petri networks.
Smart Images

Figure CN119718336A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the technical field of scheduling, and in particular to the establishment of a colored Petri net model of a manufacturing system based on a PDDL language. Background Art
[0002] Planning Domain Definition Language (PDDL) is a language model close to natural language. PDDL is used to establish a planning domain model for the manufacturing system and present it in text format, which is easier for people to understand. However, establishing a Petri net model for a complex system will make the network structure very large, reduce readability, and make it difficult to understand and manage. Li et al. [Li X, Luo J, Li J, et al. Parallel Petri Netsmodeling method of manufacturing system based on the improved PDDL[C]. 2022IEEE International Conference on Networking, Sensing and Control (ICNSC). Shanghai, China, 2022: 1-6.] extended the semantics of the planning domain definition language and designed a singleton type to simplify the structure of the Petri net. However, in complex manufacturing systems, the Petri net model automatically generated using this method is still very large.
[0003] In order to improve the readability of manufacturing system modeling, colored Petri nets are used to model the manufacturing system. The structure and behavior of the system are organized by color, which can help understand the operation and use of the manufacturing system. However, the method proposed by Li et al. to automatically convert the PDDL model into a Petri net is not applicable to the case of generating colored Petri nets. Summary of the invention
[0004] The purpose of the present invention is to solve the problems in the prior art.
[0005] The technical solution adopted by the present invention to solve the technical problem is: to provide a method for establishing a colored Petri net model of a manufacturing system based on the PDDL language, comprising the following steps:
[0006] Update the PDDL language, use the updated PDDL language to describe the resources and tasks of the manufacturing system, and generate the PDDL model of the manufacturing system;
[0007] Design the conversion rules between PDDL language and colored Petri net, convert the objects, initialization, target, predicate, action and type in PDDL model into the places, transitions and directed arcs of colored Petri net, and generate the colored Petri net model of manufacturing system;
[0008] Preferably, the updating of the PDDL language includes:
[0009] The type and state of an object are combined into the object's attributes. The type of the object is represented by int sort, and the state of the object is represented by int process or bool state. In particular, int process is used to indicate the processing state of the workpiece in the manufacturing system, and bool state is used to indicate the loaded and unloaded state of the automatic guided vehicle (AGV) in the manufacturing system. The collection of all attributes is called an object class, which is represented as ;
[0010] Add object classes to constrain the attributes of predicates in primitive actions;
[0011] The symbol < > is used to represent the attribute of the object class in the current primitive action. This symbol constrains the predicate of the premise or effect in the action.
[0012] Preferably, the conversion rules between the PDDL language and the colored Petri net include:
[0013] Convert the predicates of PDDL language into non-action places of colored Petri nets;
[0014] The actions of PDDL language are converted into the combination of action locations and transitions in colored Petri nets.
[0015] Preferably, the converting of the predicates of the PDDL language into non-action places of the colored Petri net comprises:
[0016] Given a primitive action, the color of the non-action places corresponding to all predicates in its premise is the object class attribute in the premise of the action;
[0017] Given a primitive action, the color of the non-action places corresponding to all predicates in its effects is the object class attribute in the action effects.
[0018] Preferably, the step of converting the actions in the PDDL language into a combination of action locations and transitions in a colored Petri net comprises:
[0019] Convert each primitive action into an action place, and define the premise and influence as input transition and output transition respectively; the meaning of input transition is the same as the premise in the primitive action, indicating the start of the current action; the meaning of output transition is the same as the influence in the middle of the primitive action, indicating the end of the current action;
[0020] The colors of the action library and input transitions are the attributes of the prerequisite object class, and the colors of the output transitions are the attributes of the affected object class.
[0021] Preferably, the conversion rules between the PDDL language and the colored Petri net also include:
[0022] In a primitive action, for the predicate in its premise, if the predicate is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the input transition of the primitive action; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the output transition of the primitive action.
[0023] In a primitive action, for the predicate in the influence, if it is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the output places of the input transition of the primitive action; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the output places of the output transition of the primitive action.
[0024] Preferably, the scheduling is realized based on the colored Petri net model of the manufacturing system, including:
[0025] The initial state information of the manufacturing system is obtained and described in the initialization of the problem file in PDDL. By setting the predicate to true, it is converted into the number of tokens in the corresponding Petri net library.
[0026] The sign of task completion of the manufacturing system is composed of multiple predicates. Only when all predicates are set to true, the task of the system is marked as completed, corresponding to the number of tokens in the corresponding library in the colored Petri net.
[0027] The present invention also provides a manufacturing system colored Petri net model building system based on PDDL language, comprising:
[0028] The PDDL model generation module updates the PDDL language, uses the updated PDDL language to describe the resources and tasks of the manufacturing system, and generates the PDDL model of the manufacturing system;
[0029] The colored Petri net model generation module designs the conversion rules between the PDDL language and the colored Petri net, converts the objects, initializations, targets, predicates, actions and types in the PDDL model into the places, transitions and directed arcs of the colored Petri net, and generates the colored Petri net model of the manufacturing system.
[0030] The present invention has the following beneficial effects:
[0031] (1) The present invention uses the PDDL model to describe the manufacturing system and designs conversion rules to generate a colored Petri net model to improve the readability of the Petri net. The advantage of using PDDL to establish a Petri net model compared to manual establishment is that the modeling process is simplified and the modeling efficiency is improved. The PDDL language provides a more intuitive and easy-to-understand description method, which helps to reduce errors and ambiguities in the modeling process.
[0032] (2) The present invention extends the PDDL syntax and designs conversion rules for automatically converting PDDL into colored Petri nets to improve modeling efficiency; the PDDL model is automatically converted into a colored Petri net through the designed conversion algorithm, laying the foundation for the subsequent scheduling of colored Petri nets.
[0033] The present invention is further described in detail below in conjunction with the accompanying drawings and embodiments, but the present invention is not limited to the embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A method step diagram of an embodiment of the present invention;
[0035] Figure 2 The machining Petri nets of two types of workpieces obtained by the prior art;
[0036] Figure 3 A schematic diagram of the conversion of a PDDL primitive action into an action library and input and output transitions according to an embodiment of the present invention;
[0037] Figure 4 A schematic diagram of converting a PDDL "move" primitive action into a Petri net subnet according to an embodiment of the present invention;
[0038] Figure 5 Colored Petri nets for machining two types of workpieces obtained in the embodiments of the present invention;
[0039] Figure 6 A robot manufacturing system according to an embodiment of the present invention;
[0040] Figure 7 A mobile road network of a robot manufacturing system according to an embodiment of the present invention;
[0041] Figure 8 The library and transition generation format of the robot manufacturing system of the embodiment of the present invention;
[0042] Fig. 9 A Petri net visualization diagram of a robot manufacturing system according to an embodiment of the present invention;
[0043] Fig.10 4 is a system structure diagram of an embodiment of the present invention. DETAILED DESCRIPTION
[0044] See also Figure 1 FIG. 1 is a diagram showing steps of a method according to an embodiment of the present invention, comprising the following steps:
[0045] S101, updating the PDDL language, using the updated PDDL language to describe the resources and tasks of the manufacturing system, and generating a PDDL model of the manufacturing system;
[0046] S102, designing the conversion rules between PDDL language and colored Petri net, converting objects, initialization, target, predicate, action and type in the PDDL model into places, transitions and directed arcs of colored Petri net, and generating a colored Petri net model of the manufacturing system.
[0047] Example 1: Taking a manufacturing system as an example, there are two different types of workpieces, workpiece1=1 and workpiece2=1, which need to be processed at a processing station. The Petri net model can be established through existing technology, such as Figure 2 As shown, the library and The token in the library represents the location of the artifact. and Indicates workpiece processing, library Represents a processing station. It can be observed that as the types of workpieces increase, the size of the Petri net also gradually increases, which eventually makes the network redundant and complex.
[0048] Therefore, the embodiment of the present invention further updates the PDDL syntax based on the above, and the specific update is as described in Definition 1.
[0049] Definition 1: Objects have different categories and states. These categories and states are combined into the attributes of the object. The set of all attributes is called an object category and state, which is expressed as , the type of the object is represented by "int sort", and the state of the object is represented by "int process" or "bool state", where "int process" is usually used to indicate the processing state of the workpiece in the manufacturing system, and "bool state" is usually used to indicate the loaded and unloaded states of the AGV in the manufacturing system. Adding an object class constrains the attributes of the predicates in the primitive action, and the syntax of the primitive action also changes accordingly. The symbol "< >" indicates the attributes of the object class in the current primitive action, which constrains the predicates of the premise or influence in the action.
[0050] Example 2: Based on the above rules, the PDDL syntax of a workpiece processing action is expressed as:
[0051]
[0052] The PDDL syntax (artifact type and status) of an object part is expressed as:
[0053]
[0054] In primitive actions, the object of the premise is part, where<?part.(sort = 1, process = 1)> It indicates that the workpiece is workpiece type 1 and has been processed for the first time. These attributes are assigned to the predicates in the premise, that is, (In ?partbuffer8), (is_free manchine2). Similarly, the same is true for assigning attributes to predicates in the effects of primitive actions.
[0055] Based on the updated PDDL language, the system resources and tasks are described, and then a set of conversion rules are designed to enable the PDDL model to be automatically converted into a Petri net model. The conversion rules include: (1) converting the predicates of the PDDL language into non-action places in the colored Petri net; (2) converting the actions of the PDDL language into a combination of action places and transitions in the colored Petri net.
[0056] (1) Predicates are converted to non-action places. Predicates in PDDL are divided into unary predicates and multiary predicates, where unary predicates (predicate ?obj) represent the state of object obj; binary predicates (predicate ?obj1 ?obj2) represent the relationship between object 1 and object 2. In Petri nets, it can be represented as a certain place, and when a certain state or a certain relationship is satisfied, the place has a token. Therefore, predicates can be converted into places in Petri nets, which are called non-action places. Each predicate can be converted into a non-action place, where the problem file and domain file of the PDDL model of the embodiment of the present invention have instantiated the objects in some predicates. The specific rules are described in definitions 2 to 3:
[0057] Definition 2: Given a primitive action, the color of the non-action places corresponding to all predicates in its premise is the object class attribute in the premise of the action.
[0058] Definition 3: Given a primitive action, the color of the non-action places corresponding to all predicates in its impact is the object class attribute in the action impact.
[0059] Example 3: According to the PDDL syntax of the processing action, for the predicate (In ?part buffer8), "buffer8" means buffer station 8; "?part" is the object class, indicating the type and state of the workpiece. The predicate in the premise of this primitive action is instantiated into two non-action places: (In ?part buffer8), the library is_free machine2. This primitive action has a constraint attribute of the "?part" object class.<?part.(sort = 1, process = 1)> ", the predicate of the premise is assigned the corresponding attribute, and according to Definition 2, the library With library The color assigned to part.sort1.process1. Similarly, according to Definition 3, the places instantiated by the affecting predicate will also be given the corresponding color.
[0060] (2) Actions are converted into a combination of action places and transitions. In the PDDL model, primitive actions are used to describe the behavior of the system, and their execution process takes a certain amount of time. The premise of an action specifies that the action can only be executed when a specific predicate condition is met, and the execution of the action will affect the value of the predicate. In Petri nets, the triggering of a transition will cause a change in the number of tokens in the place. Therefore, each primitive action is converted into an action place, and the premise and impact are defined as input and output transitions, such as Figure 3As shown in the figure, the meaning of input transition is the same as the premise meaning in the primitive action, that is, the current action starts to execute, and the meaning of output transition is the same as the impact meaning in the middle of the primitive action, that is, the end of the current action. The specific rules are described in Definition 4.
[0061] Definition 4: Given a primitive action, the action library contains the color of the input transition as the attribute of the premise object class, and the color of the output transition as the attribute of the affected object class.
[0062] In a primitive action, if the predicate in its premise is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the input transition of the primitive action; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the output transition of the primitive action. For the predicate in the effect, if it is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the output places of the input transition of the primitive action; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the output places of the output transition of the primitive action.
[0063] Example 4: The PDDL model (AVG "move" primitive action instance) of a physical system, an Automated Guided Vehicle (AGV), moving from station 0 to station 1, is represented as:
[0064]
[0065] By analyzing the above AVG "move" primitive action example, we can know that the input parameters of this action are stop0, stop1 and road0; the execution time of this action is 2s. The predicate of the premise in this action needs to meet the conditions. It means that the automatic guided vehicle (AGV) must be at stop0 before moving. Indicates that road0 must be unoccupied before moving. Indicates that stop0 must be the forward station of road0 before moving. Indicates that the end of the movement, stop1, must be the backward station of road0, and the attributes of the agv object class in the premise are: and , that is, the workpiece carried by the agv is type 2 and the processing state is 0 and the agv is in an empty state. The predicate value affected in this action is, It means that the automatic guided vehicle agv is at stop1 after finishing moving; It means that road0 is not occupied after the move is completed; It means stop1 is the backward station of road0; Indicates that stop0 is the forward station of road0; affects the attributes of the agv object class: and , that is, the workpiece carried by the AGV is type 2 and the processing status is 0 and the AGV is empty.
[0066] Therefore, the primitive actions are converted into action places, the predicates in the premise and the effect are converted into non-action places, and the places and transitions are given colors according to Definitions 2 to 4. The connection relationship between action places, non-action places and input and output transitions is established through the connection rules, and converted into Petri net subnets, such as Figure 4 shown.
[0067] For the manufacturing system in Example 1, after adding classes of object types and states to the PDDL model, the colored Petri net model of the manufacturing system is established by constraining the attributes of the predicates in the primitive actions and according to the rules of converting the PDDL model into colored Petri nets, as shown in Figure 5 As shown, the library The two colors of tokens represent two different types of artifacts, and the rest of the places and transitions have corresponding colors.
[0068] The initial state information of the system can be described in the initialization of the problem file in PDDL, and converted into the number of tokens in the corresponding Petri net library by setting the predicate to true. The sign of the completion of the system task is also composed of multiple predicates. Only when all predicates are set to true, the system task is marked as completed, which also corresponds to the number of tokens in the corresponding library in the Petri net.
[0069] The algorithm for converting the PDDL model into a colored Petri net in the embodiment of the present invention is shown in Algorithm 1.
[0070] Algorithm 1 PDDL model conversion colored Petri net:
[0071]
[0072] Algorithm 1 summarizes the process of converting the problem file and domain file in the PDDL model into a colored Petri net structure and initial identification. The algorithm constructs a colored Petri net structure by traversing predicates and primitive actions, and assigns tokens to the places in the colored Petri by traversing the initial state. Step 1 initializes the elements; Steps 2-5 traverse the predicates and create non-action places. , and then store the predicate and non-action places in the predicate-place table , so that the corresponding non-action library can be found through the predicate later; step 6-29 traverses the primitive actions and creates an action library and input-output transitions , According to Definition 4, the premise and influence of the primitive action are analyzed to assign colors to the action library and input-output transitions. The initial identification of the action library is Steps 11-19 traverse all predicates in the primitive action premise, analyze the object class attributes of the action premise according to Definition 2, and map them to the color set in the colored Petri net, and then Find the non-action place corresponding to the predicate in , set the color of the library to , and establish the connection relationship between the library and the transition according to the predicate of the premise modified by "at start" or "atend"; Steps 20-28 traverse all the affecting predicates of the primitive action, analyze the object class attributes affected by the action according to Definition 3, and map them to the color set of the colored Petri net, and then Find the non-action place corresponding to the predicate in , set the color of the library to , and then establish the connection relationship between the library and the transition according to the affected predicate modified by "at start" or "at end". Steps 30-32 are to traverse the predicates in the initial state. Find the non-action place corresponding to the predicate in , the initial identification is .
[0073] The following takes the robot manufacturing system as an example, describes it according to the PDDL writing rules, and generates a PDDL model. Then, the colored Petri net structure and initial identification of the system are constructed by Algorithm 1 to verify the feasibility of the present invention.
[0074] The robotic manufacturing system includes various equipment, automated guided vehicles (AGVs), sensors, actuators, manufacturing units, raw materials, and orders. In such a system, competition for resources is ubiquitous, including competition between equipment, competition for paths between AGVs, and competition for site resources. Different resource allocation methods will lead to different production completion times. Under the conditions of limited resources and process constraints, how to effectively arrange the order processing sequence, task allocation, and plan the AGV path to minimize the production completion time is a complex optimization scheduling problem. The robotic manufacturing system described is as follows: Figure 6As shown in the figure, it consists of four parts: feeding unit, moving unit, processing unit and finished product unit. These units are composed of corresponding resources. The resource set is represented by . The system consists of a feeding unit and a finished product unit, as well as four processing units and three mobile units (AGV). The feeding unit, the finished product unit and the processing unit are all equipped with a robotic arm for picking up workpieces. The feeding unit is equipped with a buffer station for storing different types of workpieces to be processed. The finished product unit is equipped with three buffer stations for storing different types of workpieces that have been processed. Each processing unit has a buffer station for workpieces to be processed and a buffer station for workpieces that have completed a certain process, totaling four buffer stations for workpieces to be processed and four buffer stations for workpieces that have completed a process. In addition, twelve stations constitute the moving path of the mobile unit, such as Figure 7 shown.
[0075] The production process of the flexible manufacturing system is as follows: AGV can only move in one direction and can only carry one workpiece at a time; the roads and stations in the road network only allow one AGV; each machine tool can only process one workpiece; each robotic arm is only allowed to pick up one workpiece; the cache station in the processing unit, as well as the feeding unit and the finished product unit can accommodate multiple workpieces; there is no priority between the workpiece and the AGV, and there is no preemption.
[0076] Take the robot manufacturing system as an example. The robot manufacturing system processes different types of workpieces according to specific production processes, and processes the workpieces in sequence according to the processing order of the workpieces. First, if a workpiece needs to be processed, any idle AGV will move the position of the workpiece, that is, the cache station or output station, and the robotic arm will grab the workpiece and load it into the AGV. Then, according to the processing flow of the workpiece, the AGV moves to the corresponding processing unit, and the workpiece is unloaded by the robotic arm and placed in the cache station to be processed. Secondly, the robotic arm grabs the workpiece in the cache station to be processed and sends it to the processing machine for processing. After the processing is completed, the robotic arm puts the workpiece into the processed cache station and waits for AGV transportation. After repeating the above process, the processing procedures of all workpieces are completed, and the AGV transports the workpiece to the finished product unit.
[0077] In the optimization scheduling problem studied, three types of orders are covered, which are marked as type I, type II and type III orders. Therefore, the flexible manufacturing system considered includes three production lines to complete the processing tasks of the above orders. The process steps of each production line are listed in Table 1. Specifically, Production line No. The processes are respectively denoted as , , or , representing loading operation, unloading operation, processing operation and handling operation respectively.
[0078] Table 1- Manufacturing system process operations:
[0079]
[0080] Among them, resources It represents the shortest transportation path between sites and is consistent with the site connection relationship in the manufacturing system. The time consumption of different process steps is set as follows: the time consumption of loading and unloading operations is 3 seconds; the machine , , and The single processing time is 20 seconds, 30 seconds, 35 seconds and 25 seconds respectively; the time taken for AGV to move between adjacent stations is 2 seconds for short distance and 3 seconds for long distance. , , , , , and , and the rest of the paths are short distance paths.
[0081] Create the problem file and domain file l of the PDDL according to the robot manufacturing system. In the domain file, the types are stop, road, buffer and manchine, among which the objects of the stop are: stop0, stop1, stop2, …, stop11, that is, the object stop1 is an object of the stop type. Table 2 gives the types and objects of the system.
[0082] Table 2-System types and objects:
[0083]
[0084] For the objects of the above types, there is no need to distinguish the type and state attributes, so they cannot be declared as object classes. However, in the operation of the system, AGV and workpieces (parts) have different types and states, and they will combine many types and state attributes, which need to be distinguished, so they need to be declared as object classes. In the object class of the workpiece, the attributes of the workpiece include: type, represented by "sort", the data type is integer, the value range is 0-2, which is used to distinguish the type of workpiece; state, represented by "process", the data type is integer, the value range is 0-2, which is used to distinguish the processing state of the workpiece, 0 means unprocessed, 1 means the first processing step has been completed, and 2 means the second processing step has been completed. In the object class of AGV, the attributes of AGV include: type, represented by "id", the data type is integer, the value range is 0-2, which is used to distinguish the type of AGV; state, represented by "agv_part" and "empty", where the data type of "agv_part" is the object class of the workpiece and the data type of "empty" is a Boolean variable, which is used to indicate whether the AGV is loaded or empty, and the loaded state of the AGV is related to the attributes of the workpiece. The object class is shown in Table 3.
[0085] Table 3 - Object class attribute table:
[0086]
[0087] The descriptions of unary predicates and binary predicates are shown in Table 4, where unary predicates describe the state of an object and binary predicates describe the correspondence between objects.
[0088] Table 4 - Table of predicates and their meanings:
[0089]
[0090] The predicates in the PDDL of the embodiment of the present invention have been instantiated. The description of the primitive action is composed of predicates, for example (due to limited space, only examples are given here without listing all primitive actions):
[0091] a action move0-1;
[0092] Meaning: The trolley moves from station 0 to station 1, either empty or loaded.
[0093] Parameters: stop: stop0, stop1, road: road0;
[0094] Execution time: 2s;
[0095] Prerequisite: (at start(In ?agv stop0)) (at start(is_empty road0)); (at start(Pre stop0 road0)) (at end(Post stop1 road0));<?agv.(agv_part.(sort = 2,process = 0))><?agv.(empty = true)> ;
[0096] Impact: (at end(In ?agv stop1)) (at end(is_empty road0)); (at end(Poststop1 road0)) (at start(Pre stop0 road0));<?agv.(agv_part.(sort = 2, process= 0))><?agv.(empty = true)> .
[0097] b action load-1;
[0098] Meaning: Type 2 workpiece in processing state 1 is loaded from cache station 1 onto the AGV;
[0099] Parameters: stop: stop1, buffer: buffer1;
[0100] Execution time: 3s;
[0101] Prerequisite: (at start(In ?agv stop1)) (at start(In ?part buffer1));<?agv.(empty = true)><?part.(sort = 2, process = 1)> ;
[0102] Impact: (at end(In ?agv stop1))<?agv.(agv_part.(srot = 2, process = 1))> .
[0103] c action: unload-1;
[0104] Meaning: Type 2 workpiece in processing state 0 is unloaded from the AGV to cache station 0;
[0105] Parameters: stop: stop1, buffer: buffer0;
[0106] Execution time: 3s;
[0107] Premise: (at start (In ?agv stop1))<?agv.(agv_part.(sort = 2, process =0))> ;
[0108] Effect: (at end(In ?agv stop1)) (at end(In ?part buffer0));<?agv.(empty= true)><?part.(sort = 2, process = 0)> .
[0109] d action: process-1;
[0110] Meaning: Type 2 workpiece with machining status 0 is processed on machine tool No. 3;
[0111] Parameters: buffer: buffer0 buffer1, manchine: manchine3;
[0112] Execution time: 25s;
[0113] Prerequisite: (at start(In ?part buffer0)) (at start(is_free manchine3));<?part.(sort = 2, process = 0)> ;
[0114] Impact: (at end(In ?part buffer1)) (at end(is_free manchine3));<?part.(sort = 2, process = 1)> .
[0115] At the same time, the initial state of the system is as follows:
[0116] 1)(In ?part buffer2) <1*part.(sort = 0, process = 0)> <1* part.(sort= 1, process = 0)> <1*part.(sort = 2, process = 0)> Where: indicates that the workpieces of type 0 with processing status 0, the workpieces of type 1 with processing status 0 and the workpieces of type 2 with processing status 0 are in buffer station 2, and the number of workpieces is 1;
[0117] 2)(In ?agv stop0)<agv.(empty = true)> Indicates that there is an unloaded AGV at station 0;
[0118] 3)(In ?agv stop1)<agv.(empty = true)> Indicates that there is an unloaded AGV at station 1;
[0119] 4)(In ?agv stop11)<agv.(empty = true)> Indicates that there is an unloaded AGV at station 11.
[0120] The target state of the system requires that all processed workpieces be at station 7, that is, (In ?partbuffer7) <1*part.(sort = 0 , process =2)> <1*part.(sort = 1 , process =2)> <1*part.(sort = 2 , process =2)>.
[0121] Put the problem file and domain file of the PDDL model of the robot manufacturing system into Algorithm 1, and output the Json file of the colored Petri net. The file includes the information of the library and the transition, as well as their connection relationship. Their generation format is as follows: Figure 8 As shown. The information of the place consists of "target", "delay", "capacity", "token", "pre_arcs" and "post_arcs". Among them, "target" refers to the information of the completion of the system task, that is, "target":{"sort0.process2.":1} means that when the place has an artifact with the attribute "sort0.process2." and the quantity is 1, the system task is completed. "delay" and "capacity" represent the delay of the place and the number of tokens that the place can accommodate. "colors" represents the color set of the place, that is, color is an artifact attribute. "token" represents the number of tokens at the beginning of the place, and the format is "artifact attribute: quantity". "pre_arcs" represents the pre-transition information of the place and the color correspondence between the place and the transition, that is, "t51": {"sort2.process0.": "sort2.process0."}, which means the place The preceding transition is , the first "sort2.process0." is the color of the place, and the second "sort2.process0." is the color of the transition. "post_arcs" indicates the post-transition information of the place and the color correspondence between the place and the transition, that is, "t60": {"sort2.process0.": "sort2.process0."}}, which indicates the place The post-transition is , the first "sort2.process0." is the color of the place, and the second "sort2.process0." is the color of the transition. Transition information consists of "colors", "pre_arcs" and "post_arcs". "colors" is the color set of the transition, that is, color is an artifact attribute. "pre_arcs" is the input place information of the transition and the color correspondence between the transition and the place, that is, "p10": {"empty.true.": "empty.true."}, which means the transition The input library is , the first "empty.true." is the color of the transition, and the second "empty.true." is the color of the place. "post_arcs" is the output place information of the transition and the color correspondence between the transition and the place, that is, "p24": {"empty.true.": "empty.true."}, which means the transition The output library is The first "empty.true." is the color of the transition, and the second "empty.true." is the color of the place.
[0122] The visualization result of Petri net generated by place and transition information is as follows: Fig. 9 As shown in the figure, we can see that the system has 3 AGVs in the warehouse. , and There are three artifacts in the library In , they are workpieces of type 0 processing state 0, type 1 processing state 0 and type 2 processing state 0, and their quantity is 1. By sorting out the meanings in the colored Petri net library, as shown in Table 5.
[0123] Table 5- Meaning of colored Petri net library of manufacturing system:
[0124]
[0125]
[0126]
[0127] For details, see Fig.10 FIG. 1 is a system structure diagram of an embodiment of the present invention, including:
[0128] A PDDL model generation module 1001 updates the PDDL language, uses the updated PDDL language to describe the resources and tasks of the manufacturing system, and generates a PDDL model of the manufacturing system;
[0129] The colored Petri net model generation module 1002 designs the conversion rules between the PDDL language and the colored Petri net, converts the elements of objects, initialization, target, predicate, action and type in the PDDL model into the library, transition and directed arc of the colored Petri net, and generates a colored Petri net model of the manufacturing system.
[0130] Colored Petri net models are widely used in modeling, analysis, optimization, simulation, etc. of manufacturing systems, and can effectively improve the design, operation and management level of the system; and colored Petri nets are more readable than ordinary Petri nets. The present invention improves the modeling efficiency of colored Petri net models by expanding the PDDL syntax and designing conversion rules for automatically converting PDDL into colored Petri nets; the PDDL model is automatically converted into a colored Petri net through the designed algorithm, laying the foundation for the subsequent scheduling of colored Petri nets. The advantage of using PDDL to establish a Petri net model in the present invention compared to manual establishment is that it simplifies the modeling process and improves modeling efficiency. The definition language provides a more intuitive and easy-to-understand description method, which helps to reduce errors and ambiguities in the modeling process.
[0131] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for establishing a colored Petri net model of a manufacturing system based on PDDL language, characterized in that: The following steps are involved: Update the PDDL language, use the updated PDDL language to describe the resources and tasks of the manufacturing system, and generate the PDDL model of the manufacturing system; Design the conversion rules between PDDL language and colored Petri net, convert the objects, initialization, target, predicate, action and type in PDDL model into the places, transitions and directed arcs of colored Petri net, and generate the colored Petri net model of manufacturing system; The updated PDDL language includes: The type and state of an object are combined into the object's attributes. The type of the object is represented by int sort, and the state of the object is represented by int process or bool state. In particular, int process is used to indicate the processing state of the workpiece in the manufacturing system, and bool state is used to indicate the loaded and unloaded state of the automatic guided vehicle (AGV) in the manufacturing system. The collection of all attributes is called an object class, which is represented as ; Add object classes to constrain the attributes of predicates in primitive actions; The symbol < > is used to represent the attribute of the object class in the current primitive action. This symbol constrains the predicate of the premise or effect in the action.
2. The method for establishing a colored Petri net model of a manufacturing system based on PDDL language according to claim 1, characterized in that: The conversion rules between the PDDL language and the colored Petri net include: Convert the predicates of PDDL language into non-action places of colored Petri nets; The actions of PDDL language are converted into the combination of action locations and transitions in colored Petri nets.
3. The method for establishing a colored Petri net model of a manufacturing system based on PDDL language according to claim 2, characterized in that: The method of converting the predicate of the PDDL language into a non-action place of a colored Petri net includes: Given a primitive action, the color of the non-action places corresponding to all predicates in its premise is the object class attribute in the premise of the action; Given a primitive action, the color of the non-action places corresponding to all predicates in its effects is the object class attribute in the action effects.
4. The method for establishing a colored Petri net model of a manufacturing system based on PDDL language according to claim 2, characterized in that: The step of converting the actions in the PDDL language into a combination of action locations and transitions in the colored Petri net includes: Convert each primitive action into an action place, and define the premise and influence as input transition and output transition respectively; the meaning of input transition is the same as the premise in the primitive action, indicating the start of the current action; the meaning of output transition is the same as the influence in the middle of the primitive action, indicating the end of the current action; The colors of the action library and input transitions are the attributes of the prerequisite object class, and the colors of the output transitions are the attributes of the affected object class.
5. The method for establishing a colored Petri net model of a manufacturing system based on PDDL language according to claim 4, characterized in that: The conversion rules between the PDDL language and the colored Petri net also include: In a primitive action, for the predicate in its premise, if the predicate is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the input transition of the primitive action; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the input transition of the primitive action, then these non-action places correspond to the input places of the output transition of the primitive action; In a primitive action, for the predicate in the influence, if it is modified by "at start", and the color of the non-action places corresponding to the predicate corresponds to the color of the primitive action input transition, then these non-action places correspond to the output places of the primitive action input transition; if the predicate is modified by "at end", and the color of the non-action places corresponding to the predicate corresponds to the color of the primitive action input transition, then these non-action places correspond to the output places of the primitive action output transition.
6. The method for establishing a colored Petri net model of a manufacturing system based on PDDL language according to claim 1, characterized in that: The colored Petri net model of the manufacturing system is used to implement the scheduling of the manufacturing system, and includes the following steps: The initial state information of the manufacturing system is obtained and described in the initialization of the problem file in PDDL. By setting the predicate to true, it is converted into the number of tokens in the corresponding Petri net library. The sign of task completion of the manufacturing system is composed of multiple predicates. Only when all predicates are set to true, the task of the system is marked as completed, corresponding to the number of tokens in the corresponding library in the colored Petri net.
7. A manufacturing system colored Petri net model building system based on PDDL language, characterized in that: include: The PDDL model generation module updates the PDDL language, uses the updated PDDL language to describe the resources and tasks of the manufacturing system, and generates the PDDL model of the manufacturing system; Colored Petri net model generation module, which designs the conversion rules between PDDL language and colored Petri net, converts the elements of object, initial, target, predicate, action and type in PDDL model into the library, transition and directed arc of colored Petri net, and generates the colored Petri net model of manufacturing system; The updated PDDL language includes: The type and state of an object are combined into the object's attributes. The type of the object is represented by int sort, and the state of the object is represented by int process or bool state. In particular, int process is used to indicate the processing state of the workpiece in the manufacturing system, and bool state is used to indicate the loaded and unloaded state of the automatic guided vehicle (AGV) in the manufacturing system. The collection of all attributes is called an object class, which is represented as ; Add object classes to constrain the attributes of predicates in primitive actions; The symbol < > is used to represent the attribute of the object class in the current primitive action. This symbol constrains the predicate of the premise or effect in the action.
Citation Information
Patent Citations
Model transformation method from Web service combination to colored Petri network
CN103902282A
Knowledge flow modeling method based on colored Petri network
CN113705029A
Job scenario verification method based on coloring network
CN114968193A
Class diagrams analyzing method using satisfiability modulo theories converting apparatus for class diagrams
KR1020110089548A
Validation and analysis of JDF workflows using colored Petri nets
US20060242002A1
Cited By
Flexible manufacturing workshop scheduling method and system of object Petri network based on JSON configuration
CN121900741A
Software development method based on natural language arrangement
CN122086372A