From 0af5bc7479433fd2f72d2297a707e8566ce2ae2f Mon Sep 17 00:00:00 2001 From: Bernhard Wally Date: Fri, 1 May 2020 16:05:08 +0200 Subject: [PATCH] Added example files for the move-shuttle process segment, as well as the complete set of files for the CIIRC case study. --- README.MD | 19 +- iec62264/CIIRC-Testbed-TASE-1.iec62264 | 1592 +++++++++++++++++++ iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264 | 47 + move-shuttle/move-shuttle.iec62264 | 29 + move-shuttle/move-shuttle.pddl | 58 + pddl/domain-CIIRC-Testbed-TASE-1.pddl | 316 ++++ pddl/plan-CIIRC-Testbed-TASE-1.pddl | 26 + pddl/problem-CIIRC-Testbed-TASE-1.pddl | 295 ++++ 8 files changed, 2380 insertions(+), 2 deletions(-) create mode 100644 iec62264/CIIRC-Testbed-TASE-1.iec62264 create mode 100644 iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264 create mode 100644 move-shuttle/move-shuttle.iec62264 create mode 100644 move-shuttle/move-shuttle.pddl create mode 100644 pddl/domain-CIIRC-Testbed-TASE-1.pddl create mode 100644 pddl/plan-CIIRC-Testbed-TASE-1.pddl create mode 100644 pddl/problem-CIIRC-Testbed-TASE-1.pddl diff --git a/README.MD b/README.MD index 97846d0..4bc30b8 100644 --- a/README.MD +++ b/README.MD @@ -1,2 +1,17 @@ -Contribution to T-ASE -======= +# Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems +This repository contains supplemental resources for the T-ASE paper "Leveraging Iterative Plan Refinement for Reactive Smart Manufacturing Systems". Specifically, it provides detailed information about the mapping from IEC 62264 to PDDL: +* A small example with model fragments to [show how PDDL actions are created from IEC 62264 process segments](#creating-pddl-actions-from-iec-62264-process-segments). +* A [complete set of IEC 62264 input models](#iec-62264-models). +* A [complete set of PDDL output files](#pddl-files). + +## Creating PDDL actions from IEC 62264 process segments +Excerpts from an IEC 62264 model that are relevant to generate a PDDL action from an IEC 62264 process segment. The example files are provided in the sub-folder [move-shuttle](move-shuttle). + +## IEC 62264 Models +Full IEC 62264 model of the production system, as it is used in the paper, for the test-run with *one* product to be manufactured. The core IEC 62264 model that is used to generate the PDDL domain description as well as most parts of the PDDL problem file is provided in [iec62264/CIIRC-Testbed-TASE-1.iec62264](iec62264/CIIRC-Testbed-TASE-1.iec62264). The IEC 62264 model that describes the envisioned goal state of the production system and is used to generate the goal clause of the PDDL problem file is given in [iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264](iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264). + +## PDDL Files +The generated PDDL files are provided in sub-folder [pddl](pddl). The [domain](pddl/domain-CIIRC-Testbed-TASE-1.pddl) file is used together with the [problem](pddl/problem-CIIRC-Testbed-TASE-1.pddl) description to compute a [plan](pddl/plan-CIIRC-Testbed-TASE-1.pddl). The plan file itself is already a computed artifact returned from the PDDL solver, which in this use case was [FastDownward](http://www.fast-downward.org/). The following call can be used to re-create the plan file (potentially with a different sequence of actions). +``` +fast-downward.py --plan-file plan-CIIRC-Testbed-TASE-1.pddl domain-CIIRC-Testbed-TASE.pddl problem-CIIRC-Testbed-TASE-1.pddl --evaluator h1=ff --search eager_greedy([g,goalcount,cg,h1],[h1]) +``` diff --git a/iec62264/CIIRC-Testbed-TASE-1.iec62264 b/iec62264/CIIRC-Testbed-TASE-1.iec62264 new file mode 100644 index 0000000..f903771 --- /dev/null +++ b/iec62264/CIIRC-Testbed-TASE-1.iec62264 @@ -0,0 +1,1592 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264 b/iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264 new file mode 100644 index 0000000..8849828 --- /dev/null +++ b/iec62264/CIIRC-Testbed-TASE-Goal-1.iec62264 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/move-shuttle/move-shuttle.iec62264 b/move-shuttle/move-shuttle.iec62264 new file mode 100644 index 0000000..f65d7c1 --- /dev/null +++ b/move-shuttle/move-shuttle.iec62264 @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/move-shuttle/move-shuttle.pddl b/move-shuttle/move-shuttle.pddl new file mode 100644 index 0000000..67b50c6 --- /dev/null +++ b/move-shuttle/move-shuttle.pddl @@ -0,0 +1,58 @@ +(:types EquipmentClass Equipment) + +(:constants + EC_PositioningUnit - EquipmentClass + EC_TransportationNode - EquipmentClass + EC_Shuttle - EquipmentClass +) + +(:predicates + (EquipmentClassed ?E - Equipment ?C - EquipmentClass) + (TransportationNodeOccupied ?E - Equipment) + (PositioningUnitLocked ?E - Equipment) + (TransportationNodeConnection ?F ?T - Equipment) + (EquipmentLocation ?E ?R - Equipment) +) + +(:functions + (total-cost) + (shuttle-time ?FROM ?TO - Equipment) +) + +(:action MoveShuttle + :parameters (?SHUTTLE ?FROM ?TO - Equipment) + :precondition + (and + (EquipmentClassed ?SHUTTLE EC_Shuttle) + (or + (EquipmentClassed ?FROM EC_PositioningUnit) + (EquipmentClassed ?FROM EC_TransportationNode) + ) + (imply (EquipmentClassed ?FROM EC_PositioningUnit) + (not (PositioningUnitLocked ?FROM)) + ) + (imply (EquipmentClassed ?FROM EC_TransportationNode) (TransportationNodeOccupied ?FROM) + ) + (or + (EquipmentClassed ?TO EC_PositioningUnit) + (EquipmentClassed ?TO EC_TransportationNode) + ) + (imply (EquipmentClassed ?TO EC_PositioningUnit) + (not (PositioningUnitLocked ?TO)) + ) + (imply (EquipmentClassed ?TO EC_TransportationNode) + (not (TransportationNodeOccupied ?TO)) + ) + (TransportationNodeConnection ?FROM ?TO) + (EquipmentLocation ?SHUTTLE ?FROM) + (not (EquipmentLocation ?SHUTTLE ?TO)) + ) + :effect + (and + (not (TransportationNodeOccupied ?FROM)) + (TransportationNodeOccupied ?TO) + (increase (total-cost) (shuttle-time ?FROM ?TO)) + (not (EquipmentLocation ?SHUTTLE ?FROM)) + (EquipmentLocation ?SHUTTLE ?TO) + ) +) diff --git a/pddl/domain-CIIRC-Testbed-TASE-1.pddl b/pddl/domain-CIIRC-Testbed-TASE-1.pddl new file mode 100644 index 0000000..99d0f9a --- /dev/null +++ b/pddl/domain-CIIRC-Testbed-TASE-1.pddl @@ -0,0 +1,316 @@ +(define (domain CIIRC-Testbed-TASE) + + (:requirements :action-costs :typing :negative-preconditions :disjunctive-preconditions :equality) + + (:types PersonnelClass Person EquipmentClass Equipment MaterialClass MaterialDefinition MaterialLot) + + (:constants + PC_MaintenanceEngineer - PersonnelClass + EC_Shuttle - EquipmentClass + EC_Robot - EquipmentClass + EC_BaseplateCarrier - EquipmentClass + EC_PositioningUnit - EquipmentClass + EC_TransportationNode - EquipmentClass + MC_Body - MaterialClass + MC_Truck - MaterialClass + MC_Pickable - MaterialClass + MC_Baseplate - MaterialClass + MC_TruckComponent - MaterialClass + MC_Chassis - MaterialClass + MC_Cabin - MaterialClass + MD_StakeBed-White-White-White - MaterialDefinition + MD_Cabin-Silver - MaterialDefinition + MD_StakeBed-Black-Blue-White - MaterialDefinition + MD_Body-Dumper-Yellow - MaterialDefinition + MD_Dumper-White-Transparent-Yellow - MaterialDefinition + MD_Tank-Black-White-Black - MaterialDefinition + MD_Body-OpenTop-Blue - MaterialDefinition + MD_TruckBaseplate - MaterialDefinition + MD_Chassis-Black - MaterialDefinition + MD_Cabin-Yellow - MaterialDefinition + MD_Body-Tank-Black - MaterialDefinition + MD_Cabin-Blue - MaterialDefinition + MD_OpenTop-Black-Yellow-Blue - MaterialDefinition + MD_Dumper-White-Silver-Silver - MaterialDefinition + MD_Body-Dumper-Silver - MaterialDefinition + MD_Chassis-White - MaterialDefinition + MD_Cabin-Transparent - MaterialDefinition + MD_Body-StakeBed-White - MaterialDefinition + MD_Tank-Black-Blue-Silver - MaterialDefinition + MD_Cabin-White - MaterialDefinition + MD_Body-Tank-Silver - MaterialDefinition + EC_Table - EquipmentClass + ) + + (:predicates + (PersonClassed ?P - Person ?C - PersonnelClass) + (EquipmentClassed ?E - Equipment ?C - EquipmentClass) + (MaterialClassed ?D - MaterialDefinition ?C - MaterialClass) + (MaterialDefined ?L - MaterialLot ?D - MaterialDefinition) + (MaterialLotClassed ?L - MaterialLot ?C - MaterialClass) + (RobotOccupied ?E - Equipment) + (TransportationNodeOccupied ?E - Equipment) + (PositioningUnitLocked ?E - Equipment) + (RobotEnabled ?E - Equipment) + (TransportationNodeConnection ?F ?T - Equipment) + (EquipmentLocation ?E ?R - Equipment) + (ReachesTo ?R ?E - Equipment) + (MaterialLocation ?M - MaterialLot ?E - Equipment) + (MaterialRaw ?M - MaterialLot) + (DefinitionMountable ?M ?B - MaterialDefinition) + (ClassMountable ?M ?B - MaterialClass) + (Mounted ?M ?B - MaterialLot) + (MaterialLotAssembly ?W ?P - MaterialLot) + (MaterialDefinitionAssembly ?W ?P - MaterialDefinition) + ) + + (:functions + (total-cost) + (shuttle-time ?FROM ?TO - Equipment) + ) + + (:action LockPositioningUnit + :parameters (?E - Equipment) + :precondition + (and + (EquipmentClassed ?E EC_PositioningUnit) + (not (PositioningUnitLocked ?E)) + ) + :effect + (and + (increase (total-cost) 1) + (PositioningUnitLocked ?E) + ) + ) + + (:action UnlockPositioningUnit + :parameters (?E - Equipment) + :precondition + (and + (EquipmentClassed ?E EC_PositioningUnit) + (PositioningUnitLocked ?E) + ) + :effect + (and + (increase (total-cost) 1) + (not (PositioningUnitLocked ?E)) + ) + ) + + (:action MoveShuttle + :parameters (?SHUTTLE ?FROM ?TO - Equipment) + :precondition + (and + (EquipmentClassed ?SHUTTLE EC_Shuttle) + (or + (EquipmentClassed ?FROM EC_PositioningUnit) + (EquipmentClassed ?FROM EC_TransportationNode) + ) + (imply (EquipmentClassed ?FROM EC_PositioningUnit) + (not (PositioningUnitLocked ?FROM)) + ) + (imply (EquipmentClassed ?FROM EC_TransportationNode) (TransportationNodeOccupied ?FROM) + ) + (or + (EquipmentClassed ?TO EC_PositioningUnit) + (EquipmentClassed ?TO EC_TransportationNode) + ) + (imply (EquipmentClassed ?TO EC_PositioningUnit) + (not (PositioningUnitLocked ?TO)) + ) + (imply (EquipmentClassed ?TO EC_TransportationNode) + (not (TransportationNodeOccupied ?TO)) + ) + (TransportationNodeConnection ?FROM ?TO) + (EquipmentLocation ?SHUTTLE ?FROM) + (not (EquipmentLocation ?SHUTTLE ?TO)) + ) + :effect + (and + (not (TransportationNodeOccupied ?FROM)) + (TransportationNodeOccupied ?TO) + (increase (total-cost) (shuttle-time ?FROM ?TO)) + (not (EquipmentLocation ?SHUTTLE ?FROM)) + (EquipmentLocation ?SHUTTLE ?TO) + ) + ) + + (:action Pick + :parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment) + :precondition + (and + (EquipmentClassed ?ROBOT EC_Robot) + (not (RobotOccupied ?ROBOT)) + (RobotEnabled ?ROBOT) + (EquipmentClassed ?CARRIER EC_BaseplateCarrier) + (MaterialLotClassed ?PICKABLE MC_Pickable) + (MaterialLotClassed ?BASEPLATE MC_Baseplate) + (MaterialRaw ?PICKABLE) + (MaterialLocation ?BASEPLATE ?CARRIER) + (Mounted ?PICKABLE ?BASEPLATE) + (not (MaterialLocation ?PICKABLE ?ROBOT)) + (imply (EquipmentClassed ?CARRIER EC_Table) + (and + (ReachesTo ?ROBOT ?CARRIER) + (= ?CARRIER ?SUBCARRIER) + ) + ) + (imply (EquipmentClassed ?CARRIER EC_Shuttle) + (and + (EquipmentClassed ?SUBCARRIER EC_PositioningUnit) + (EquipmentLocation ?CARRIER ?SUBCARRIER) + (ReachesTo ?ROBOT ?SUBCARRIER) + (PositioningUnitLocked ?SUBCARRIER) + ) + ) + ) + :effect + (and + (RobotOccupied ?ROBOT) + (increase (total-cost) 5) + (not (Mounted ?PICKABLE ?BASEPLATE)) + (MaterialLocation ?PICKABLE ?ROBOT) + ) + ) + + (:action Place + :parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment) + :precondition + (and + (EquipmentClassed ?ROBOT EC_Robot) + (RobotOccupied ?ROBOT) + (RobotEnabled ?ROBOT) + (EquipmentClassed ?CARRIER EC_BaseplateCarrier) + (MaterialLotClassed ?PICKABLE MC_Pickable) + (MaterialLotClassed ?BASEPLATE MC_Baseplate) + (MaterialRaw ?PICKABLE) + (MaterialLocation ?BASEPLATE ?CARRIER) + (not (Mounted ?PICKABLE ?BASEPLATE)) + (MaterialLocation ?PICKABLE ?ROBOT) + (imply (EquipmentClassed ?CARRIER EC_Table) + (and + (ReachesTo ?ROBOT ?CARRIER) + (= ?CARRIER ?SUBCARRIER) + ) + ) + (imply (EquipmentClassed ?CARRIER EC_Shuttle) + (and + (EquipmentClassed ?SUBCARRIER EC_PositioningUnit) + (EquipmentLocation ?CARRIER ?SUBCARRIER) + (ReachesTo ?ROBOT ?SUBCARRIER) + (PositioningUnitLocked ?SUBCARRIER) + ) + ) + ) + :effect + (and + (not (RobotOccupied ?ROBOT)) + (increase (total-cost) 5) + (Mounted ?PICKABLE ?BASEPLATE) + (not (MaterialLocation ?PICKABLE ?ROBOT)) + ) + ) + + (:action Assemble + :parameters (?ROBOT ?CARRIER - Equipment ?PICKABLE ?BASE ?ASSEMBLY ?BASEPLATE - MaterialLot ?SUBCARRIER - Equipment) + :precondition + (and + (EquipmentClassed ?ROBOT EC_Robot) + (RobotOccupied ?ROBOT) + (RobotEnabled ?ROBOT) + (EquipmentClassed ?CARRIER EC_BaseplateCarrier) + (MaterialLotClassed ?PICKABLE MC_Pickable) + (MaterialLotClassed ?BASE MC_TruckComponent) + (MaterialLotClassed ?ASSEMBLY MC_Truck) + (MaterialLotClassed ?BASEPLATE MC_Baseplate) + (MaterialRaw ?PICKABLE) + (MaterialLocation ?BASEPLATE ?CARRIER) + (Mounted ?BASE ?BASEPLATE) + (or + (exists ( ?AMD - MaterialDefinition ?PMD - MaterialDefinition ?BMD - MaterialDefinition) + (and + (MaterialDefined ?ASSEMBLY ?AMD) + (MaterialDefined ?PICKABLE ?PMD) + (MaterialDefined ?BASE ?BMD) + (MaterialDefinitionAssembly ?AMD ?PMD) + (MaterialDefinitionAssembly ?AMD ?BMD) + (DefinitionMountable ?PMD ?BMD) + ) + ) + (exists ( ?PMC - MaterialClass ?BMC - MaterialClass ?AMD - MaterialDefinition ?PMD - MaterialDefinition ?BMD - MaterialDefinition) + (and + (MaterialDefined ?ASSEMBLY ?AMD) + (MaterialDefined ?PICKABLE ?PMD) + (MaterialDefined ?BASE ?BMD) + (MaterialClassed ?BMD ?BMC) + (MaterialClassed ?PMD ?PMC) + (MaterialDefinitionAssembly ?AMD ?PMD) + (MaterialDefinitionAssembly ?AMD ?BMD) + (ClassMountable ?PMC ?BMC) + ) + ) + ) + (not (exists (?A - MaterialLot) + (and + (not (= ?A ?ASSEMBLY) + ) + (MaterialLotAssembly ?A ?BASE) + ) + ) + ) + (not (exists (?BP - MaterialLot) + (and + (not (= ?BP ?BASEPLATE) + ) + (Mounted ?ASSEMBLY ?BP) + ) + ) + ) + (not (Mounted ?PICKABLE ?BASEPLATE)) + (MaterialLocation ?PICKABLE ?ROBOT) + (imply (EquipmentClassed ?CARRIER EC_Table) + (and + (ReachesTo ?ROBOT ?CARRIER) + (= ?CARRIER ?SUBCARRIER) + ) + ) + (imply (EquipmentClassed ?CARRIER EC_Shuttle) + (and + (EquipmentClassed ?SUBCARRIER EC_PositioningUnit) + (EquipmentLocation ?CARRIER ?SUBCARRIER) + (ReachesTo ?ROBOT ?SUBCARRIER) + (PositioningUnitLocked ?SUBCARRIER) + ) + ) + ) + :effect + (and + (not (RobotOccupied ?ROBOT)) + (increase (total-cost) 5) + (Mounted ?PICKABLE ?BASE) + (not (MaterialRaw ?PICKABLE)) + (not (MaterialRaw ?BASE)) + (MaterialLotAssembly ?ASSEMBLY ?PICKABLE) + (MaterialLotAssembly ?ASSEMBLY ?BASE) + (Mounted ?ASSEMBLY ?BASEPLATE) + (MaterialLocation ?ASSEMBLY ?CARRIER) + (MaterialLocation ?PICKABLE ?CARRIER) + (not (MaterialLocation ?PICKABLE ?ROBOT)) + ) + ) + + (:action RepairRobot + :parameters (?ENGINEER - Person ?ROBOT - Equipment) + :precondition + (and + (PersonClassed ?ENGINEER PC_MaintenanceEngineer) + (EquipmentClassed ?ROBOT EC_Robot) + (not (RobotEnabled ?ROBOT)) + ) + :effect + (and + (RobotEnabled ?ROBOT) + (increase (total-cost) 99) + ) + ) +) diff --git a/pddl/plan-CIIRC-Testbed-TASE-1.pddl b/pddl/plan-CIIRC-Testbed-TASE-1.pddl new file mode 100644 index 0000000..10e0856 --- /dev/null +++ b/pddl/plan-CIIRC-Testbed-TASE-1.pddl @@ -0,0 +1,26 @@ +(pick e_robot-2 e_table-2 ml_body-opentop-blue-1 ml_truckbaseplate-table-2 e_table-2) +(moveshuttle e_shuttle-1 e_positioningunit-io-1 e_positioningunit-machiningcenter-1) +(pick e_robot-3 e_table-3 ml_chassis-black-1 ml_truckbaseplate-table-3 e_table-3) +(pick e_robot-1 e_table-1 ml_cabin-yellow-1 ml_truckbaseplate-table-1 e_table-1) +(lockpositioningunit e_positioningunit-machiningcenter-1) +(place e_robot-1 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(pick e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(moveshuttle e_shuttle-2 e_positioningunit-io-2 e_positioningunit-machiningcenter-3) +(lockpositioningunit e_positioningunit-machiningcenter-3) +(place e_robot-3 e_shuttle-2 ml_chassis-black-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-3) +(unlockpositioningunit e_positioningunit-machiningcenter-3) +(moveshuttle e_shuttle-2 e_positioningunit-machiningcenter-3 e_positioningunit-machiningcenter-2) +(lockpositioningunit e_positioningunit-machiningcenter-2) +(pick e_robot-1 e_shuttle-2 ml_chassis-black-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2) +(place e_robot-1 e_shuttle-1 ml_chassis-black-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(place e_robot-2 e_shuttle-2 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2) +(pick e_robot-1 e_shuttle-2 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-2 e_positioningunit-machiningcenter-2) +(place e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(pick e_robot-10 e_shuttle-1 ml_chassis-black-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(place e_robot-10 e_table-10 ml_chassis-black-1 ml_truckbaseplate-table-10 e_table-10) +(pick e_robot-10 e_shuttle-1 ml_cabin-yellow-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(assemble e_robot-10 e_table-10 ml_cabin-yellow-1 ml_chassis-black-1 ml_opentop-black-yellow-blue-1 ml_truckbaseplate-table-10 e_table-10) +(place e_robot-1 e_shuttle-1 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(pick e_robot-10 e_shuttle-1 ml_body-opentop-blue-1 ml_truckbaseplate-shuttle-1 e_positioningunit-machiningcenter-1) +(assemble e_robot-10 e_table-10 ml_body-opentop-blue-1 ml_chassis-black-1 ml_opentop-black-yellow-blue-1 ml_truckbaseplate-table-10 e_table-10) +; cost = 198 (general cost) diff --git a/pddl/problem-CIIRC-Testbed-TASE-1.pddl b/pddl/problem-CIIRC-Testbed-TASE-1.pddl new file mode 100644 index 0000000..7599270 --- /dev/null +++ b/pddl/problem-CIIRC-Testbed-TASE-1.pddl @@ -0,0 +1,295 @@ +(define (problem CIIRC-Testbed-TASE-1) + + (:domain CIIRC-Testbed-TASE) + + (:objects + P_MaintenanceEngineer-1 - Person + E_PositioningUnit-MachiningCenter-3 - Equipment + E_Shuttle-3 - Equipment + E_Table-2 - Equipment + E_PositioningUnit-MachiningCenter-2 - Equipment + E_PositioningUnit-Buffer - Equipment + E_Shuttle-2 - Equipment + E_PositioningUnit-IO-1 - Equipment + E_Robot-1 - Equipment + E_Robot-10 - Equipment + E_Table-10 - Equipment + E_Table-1 - Equipment + E_Shuttle-1 - Equipment + E_Table-3 - Equipment + E_Robot-3 - Equipment + E_PositioningUnit-MachiningCenter-1 - Equipment + E_PositioningUnit-IO-2 - Equipment + E_Robot-2 - Equipment + ML_TruckBaseplate-Table-2 - MaterialLot + ML_TruckBaseplate-Shuttle-2 - MaterialLot + ML_Cabin-Yellow-1 - MaterialLot + ML_Body-OpenTop-Blue-1 - MaterialLot + ML_TruckBaseplate-Table-1 - MaterialLot + ML_TruckBaseplate-Shuttle-1 - MaterialLot + ML_TruckBaseplate-Table-10 - MaterialLot + ML_Chassis-Black-1 - MaterialLot + ML_OpenTop-Black-Yellow-Blue-1 - MaterialLot + ML_TruckBaseplate-Table-3 - MaterialLot + ML_TruckBaseplate-Shuttle-3 - MaterialLot + ) + + (:init + (= (total-cost) 0) + (MaterialClassed MD_StakeBed-White-White-White MC_Truck) + (MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Body-StakeBed-White) + (MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Cabin-White) + (MaterialDefinitionAssembly MD_StakeBed-White-White-White MD_Chassis-White) + (MaterialClassed MD_Cabin-Silver MC_Pickable) + (MaterialClassed MD_Cabin-Silver MC_TruckComponent) + (MaterialClassed MD_Cabin-Silver MC_Cabin) + (MaterialClassed MD_StakeBed-Black-Blue-White MC_Truck) + (MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Chassis-Black) + (MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Cabin-Blue) + (MaterialDefinitionAssembly MD_StakeBed-Black-Blue-White MD_Body-StakeBed-White) + (MaterialClassed MD_Body-Dumper-Yellow MC_Pickable) + (MaterialClassed MD_Body-Dumper-Yellow MC_TruckComponent) + (MaterialClassed MD_Body-Dumper-Yellow MC_Body) + (MaterialClassed MD_Dumper-White-Transparent-Yellow MC_Truck) + (MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Chassis-White) + (MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Cabin-Transparent) + (MaterialDefinitionAssembly MD_Dumper-White-Transparent-Yellow MD_Body-Dumper-Yellow) + (MaterialClassed MD_Tank-Black-White-Black MC_Truck) + (MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Chassis-Black) + (MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Cabin-White) + (MaterialDefinitionAssembly MD_Tank-Black-White-Black MD_Body-Tank-Black) + (MaterialClassed MD_Body-OpenTop-Blue MC_Pickable) + (MaterialClassed MD_Body-OpenTop-Blue MC_TruckComponent) + (MaterialClassed MD_Body-OpenTop-Blue MC_Body) + (MaterialClassed MD_TruckBaseplate MC_Baseplate) + (MaterialClassed MD_TruckBaseplate MC_TruckComponent) + (MaterialClassed MD_Chassis-Black MC_Pickable) + (MaterialClassed MD_Chassis-Black MC_TruckComponent) + (MaterialClassed MD_Chassis-Black MC_Chassis) + (MaterialClassed MD_Cabin-Yellow MC_Pickable) + (MaterialClassed MD_Cabin-Yellow MC_TruckComponent) + (MaterialClassed MD_Cabin-Yellow MC_Cabin) + (MaterialClassed MD_Body-Tank-Black MC_Pickable) + (MaterialClassed MD_Body-Tank-Black MC_TruckComponent) + (MaterialClassed MD_Body-Tank-Black MC_Body) + (MaterialClassed MD_Cabin-Blue MC_Pickable) + (MaterialClassed MD_Cabin-Blue MC_TruckComponent) + (MaterialClassed MD_Cabin-Blue MC_Cabin) + (MaterialClassed MD_OpenTop-Black-Yellow-Blue MC_Truck) + (MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Chassis-Black) + (MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Cabin-Yellow) + (MaterialDefinitionAssembly MD_OpenTop-Black-Yellow-Blue MD_Body-OpenTop-Blue) + (MaterialClassed MD_Dumper-White-Silver-Silver MC_Truck) + (MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Chassis-White) + (MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Cabin-Silver) + (MaterialDefinitionAssembly MD_Dumper-White-Silver-Silver MD_Body-Dumper-Silver) + (MaterialClassed MD_Body-Dumper-Silver MC_Pickable) + (MaterialClassed MD_Body-Dumper-Silver MC_TruckComponent) + (MaterialClassed MD_Body-Dumper-Silver MC_Body) + (MaterialClassed MD_Chassis-White MC_Pickable) + (MaterialClassed MD_Chassis-White MC_TruckComponent) + (MaterialClassed MD_Chassis-White MC_Chassis) + (MaterialClassed MD_Cabin-Transparent MC_Pickable) + (MaterialClassed MD_Cabin-Transparent MC_TruckComponent) + (MaterialClassed MD_Cabin-Transparent MC_Cabin) + (MaterialClassed MD_Body-StakeBed-White MC_Pickable) + (MaterialClassed MD_Body-StakeBed-White MC_TruckComponent) + (MaterialClassed MD_Body-StakeBed-White MC_Body) + (MaterialClassed MD_Tank-Black-Blue-Silver MC_Truck) + (MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Chassis-Black) + (MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Cabin-Blue) + (MaterialDefinitionAssembly MD_Tank-Black-Blue-Silver MD_Body-Tank-Silver) + (MaterialClassed MD_Cabin-White MC_Pickable) + (MaterialClassed MD_Cabin-White MC_TruckComponent) + (MaterialClassed MD_Cabin-White MC_Cabin) + (MaterialClassed MD_Body-Tank-Silver MC_Pickable) + (MaterialClassed MD_Body-Tank-Silver MC_TruckComponent) + (MaterialClassed MD_Body-Tank-Silver MC_Body) + (PersonClassed P_MaintenanceEngineer-1 PC_MaintenanceEngineer) + (EquipmentClassed E_PositioningUnit-MachiningCenter-3 EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-MachiningCenter-3 EC_TransportationNode) + (EquipmentClassed E_Shuttle-3 EC_Shuttle) + (EquipmentClassed E_Shuttle-3 EC_BaseplateCarrier) + (EquipmentClassed E_Table-2 EC_Table) + (EquipmentClassed E_Table-2 EC_BaseplateCarrier) + (EquipmentClassed E_PositioningUnit-MachiningCenter-2 EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-MachiningCenter-2 EC_TransportationNode) + (EquipmentClassed E_PositioningUnit-Buffer EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-Buffer EC_TransportationNode) + (EquipmentClassed E_Shuttle-2 EC_Shuttle) + (EquipmentClassed E_Shuttle-2 EC_BaseplateCarrier) + (EquipmentClassed E_PositioningUnit-IO-1 EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-IO-1 EC_TransportationNode) + (EquipmentClassed E_Robot-1 EC_Robot) + (EquipmentClassed E_Robot-10 EC_Robot) + (EquipmentClassed E_Table-10 EC_Table) + (EquipmentClassed E_Table-10 EC_BaseplateCarrier) + (EquipmentClassed E_Table-1 EC_Table) + (EquipmentClassed E_Table-1 EC_BaseplateCarrier) + (EquipmentClassed E_Shuttle-1 EC_Shuttle) + (EquipmentClassed E_Shuttle-1 EC_BaseplateCarrier) + (EquipmentClassed E_Table-3 EC_Table) + (EquipmentClassed E_Table-3 EC_BaseplateCarrier) + (EquipmentClassed E_Robot-3 EC_Robot) + (EquipmentClassed E_PositioningUnit-MachiningCenter-1 EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-MachiningCenter-1 EC_TransportationNode) + (EquipmentClassed E_PositioningUnit-IO-2 EC_PositioningUnit) + (EquipmentClassed E_PositioningUnit-IO-2 EC_TransportationNode) + (EquipmentClassed E_Robot-2 EC_Robot) + (MaterialDefined ML_TruckBaseplate-Table-2 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Table-2) + (MaterialLotClassed ML_TruckBaseplate-Table-2 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Table-2 MC_TruckComponent) + (MaterialDefined ML_TruckBaseplate-Shuttle-2 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Shuttle-2) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-2 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-2 MC_TruckComponent) + (MaterialDefined ML_Cabin-Yellow-1 MD_Cabin-Yellow) + (MaterialRaw ML_Cabin-Yellow-1) + (MaterialLotClassed ML_Cabin-Yellow-1 MC_Pickable) + (MaterialLotClassed ML_Cabin-Yellow-1 MC_TruckComponent) + (MaterialLotClassed ML_Cabin-Yellow-1 MC_Cabin) + (MaterialDefined ML_Body-OpenTop-Blue-1 MD_Body-OpenTop-Blue) + (MaterialRaw ML_Body-OpenTop-Blue-1) + (MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_Pickable) + (MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_TruckComponent) + (MaterialLotClassed ML_Body-OpenTop-Blue-1 MC_Body) + (MaterialDefined ML_TruckBaseplate-Table-1 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Table-1) + (MaterialLotClassed ML_TruckBaseplate-Table-1 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Table-1 MC_TruckComponent) + (MaterialDefined ML_TruckBaseplate-Shuttle-1 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Shuttle-1) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-1 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-1 MC_TruckComponent) + (MaterialDefined ML_TruckBaseplate-Table-10 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Table-10) + (MaterialLotClassed ML_TruckBaseplate-Table-10 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Table-10 MC_TruckComponent) + (MaterialDefined ML_Chassis-Black-1 MD_Chassis-Black) + (MaterialRaw ML_Chassis-Black-1) + (MaterialLotClassed ML_Chassis-Black-1 MC_Pickable) + (MaterialLotClassed ML_Chassis-Black-1 MC_TruckComponent) + (MaterialLotClassed ML_Chassis-Black-1 MC_Chassis) + (MaterialDefined ML_OpenTop-Black-Yellow-Blue-1 MD_OpenTop-Black-Yellow-Blue) + (MaterialRaw ML_OpenTop-Black-Yellow-Blue-1) + (MaterialLotClassed ML_OpenTop-Black-Yellow-Blue-1 MC_Truck) + (MaterialDefined ML_TruckBaseplate-Table-3 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Table-3) + (MaterialLotClassed ML_TruckBaseplate-Table-3 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Table-3 MC_TruckComponent) + (MaterialDefined ML_TruckBaseplate-Shuttle-3 MD_TruckBaseplate) + (MaterialRaw ML_TruckBaseplate-Shuttle-3) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-3 MC_Baseplate) + (MaterialLotClassed ML_TruckBaseplate-Shuttle-3 MC_TruckComponent) + (TransportationNodeOccupied E_PositioningUnit-Buffer) + (TransportationNodeOccupied E_PositioningUnit-IO-1) + (TransportationNodeOccupied E_PositioningUnit-IO-2) + (RobotEnabled E_Robot-1) + (RobotEnabled E_Robot-10) + (RobotEnabled E_Robot-3) + (RobotEnabled E_Robot-2) + (ClassMountable MC_Cabin MC_Chassis) + (ClassMountable MC_Body MC_Chassis) + (ClassMountable MC_Cabin MC_Baseplate) + (ClassMountable MC_Body MC_Baseplate) + (ClassMountable MC_Chassis MC_Baseplate) + (ReachesTo E_Robot-1 E_Table-1) + (ReachesTo E_Robot-1 E_PositioningUnit-MachiningCenter-1) + (ReachesTo E_Robot-1 E_PositioningUnit-MachiningCenter-2) + (ReachesTo E_Robot-2 E_Table-2) + (ReachesTo E_Robot-2 E_PositioningUnit-MachiningCenter-2) + (ReachesTo E_Robot-2 E_PositioningUnit-MachiningCenter-3) + (ReachesTo E_Robot-3 E_Table-3) + (ReachesTo E_Robot-3 E_PositioningUnit-MachiningCenter-3) + (ReachesTo E_Robot-10 E_Table-10) + (ReachesTo E_Robot-10 E_PositioningUnit-MachiningCenter-1) + (MaterialLocation ML_TruckBaseplate-Table-1 E_Table-1) + (MaterialLocation ML_TruckBaseplate-Table-2 E_Table-2) + (MaterialLocation ML_TruckBaseplate-Table-3 E_Table-3) + (MaterialLocation ML_TruckBaseplate-Table-10 E_Table-10) + (MaterialLocation ML_TruckBaseplate-Shuttle-1 E_Shuttle-1) + (MaterialLocation ML_TruckBaseplate-Shuttle-2 E_Shuttle-2) + (MaterialLocation ML_TruckBaseplate-Shuttle-3 E_Shuttle-3) + (Mounted ML_Chassis-Black-1 ML_TruckBaseplate-Table-3) + (Mounted ML_Body-OpenTop-Blue-1 ML_TruckBaseplate-Table-2) + (Mounted ML_Cabin-Yellow-1 ML_TruckBaseplate-Table-1) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-2) + (= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-2) 25) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-1) + (= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-MachiningCenter-1) 30) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-Buffer) + (= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-Buffer) 54) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-1) + (= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-1) 78) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-2) + (= (shuttle-time E_PositioningUnit-MachiningCenter-3 E_PositioningUnit-IO-2) 37) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-3) + (= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-3) 25) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-1) + (= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-MachiningCenter-1) 35) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-Buffer) + (= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-Buffer) 59) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-1) + (= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-1) 83) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-2) + (= (shuttle-time E_PositioningUnit-MachiningCenter-2 E_PositioningUnit-IO-2) 42) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-3) + (= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-3) 28) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-2) + (= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-MachiningCenter-2) 33) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-Buffer) + (= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-Buffer) 62) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-1) + (= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-1) 86) + (TransportationNodeConnection E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-2) + (= (shuttle-time E_PositioningUnit-MachiningCenter-1 E_PositioningUnit-IO-2) 45) + (TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-3) + (= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-3) 30) + (TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-2) + (= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-2) 35) + (TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-1) + (= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-MachiningCenter-1) 40) + (TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-IO-1) + (= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-IO-1) 26) + (TransportationNodeConnection E_PositioningUnit-Buffer E_PositioningUnit-IO-2) + (= (shuttle-time E_PositioningUnit-Buffer E_PositioningUnit-IO-2) 47) + (TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-3) + (= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-3) 18) + (TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-2) + (= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-2) 23) + (TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-1) + (= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-MachiningCenter-1) 28) + (TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-Buffer) + (= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-Buffer) 52) + (TransportationNodeConnection E_PositioningUnit-IO-1 E_PositioningUnit-IO-2) + (= (shuttle-time E_PositioningUnit-IO-1 E_PositioningUnit-IO-2) 36) + (TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-3) + (= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-3) 51) + (TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-2) + (= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-2) 56) + (TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-1) + (= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-MachiningCenter-1) 61) + (TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-Buffer) + (= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-Buffer) 22) + (TransportationNodeConnection E_PositioningUnit-IO-2 E_PositioningUnit-IO-1) + (= (shuttle-time E_PositioningUnit-IO-2 E_PositioningUnit-IO-1) 47) + (EquipmentLocation E_Shuttle-2 E_PositioningUnit-IO-2) + (TransportationNodeOccupied E_PositioningUnit-IO-2) + (EquipmentLocation E_Shuttle-3 E_PositioningUnit-Buffer) + (TransportationNodeOccupied E_PositioningUnit-Buffer) + (EquipmentLocation E_Shuttle-1 E_PositioningUnit-IO-1) + (TransportationNodeOccupied E_PositioningUnit-IO-1) + ) + + (:goal + (and + (Mounted ML_OpenTop-Black-Yellow-Blue-1 ML_TruckBaseplate-Table-10) + (MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Body-OpenTop-Blue-1) + (MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Cabin-Yellow-1) + (MaterialLotAssembly ML_OpenTop-Black-Yellow-Blue-1 ML_Chassis-Black-1) + ) + ) + + (:metric minimize (total-cost)) +)