317 lines
9.3 KiB
Text
317 lines
9.3 KiB
Text
|
(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)
|
||
|
)
|
||
|
)
|
||
|
)
|