## 3 Materials and Methods
### The Generic Planning Problem (GPP) for the GIS and Its Instances in PDDL
#### 3.2.3 PDDL Problem for an Instance of the Generic Planning Problem (IGPP)  
Each planning problem formulated for a scenario contains, as well as the planning domain, the description of an initial state \(s_{0}\) and of a set of goals \(g\). Both the initial state and the set of goals represent a configuration of the GPP for a specific planning situation. They do not require any new modelling at the planning level. However, they require pieces of information specific to that IGIS. In this context, the initial states \(s_{0}\) and sets of goals \(g\) should be described not in the GPP but directly in an IGPP that corresponds to the selected IGIS. The sets \(s_{0}\) and \(g\) are encoded along with the objects of the planning problem in a second PDDL file, i.e., the PDDL problem file. The PDDL problem file for any IGPP contains three main sections. First, objects of types _robot_, _human_, _tool_, _item_, etc., are created. Afterwards, the initial state \(s_{0}\) from which the planning problem starts must be described. As part of our modelling approach, we divide the set of grounded predicates describing an initial state into three subsets:  
\[s_{0}=s_{0,const}\cup s_{0,scene}\cup s_{0,ps} \tag{1}\]  
Sub-set \(s_{0,const}\) contains grounded predicates that encode constants related to an IGIS. Such constants are, for example, the fixed relations between the _agentoses_ and the _thingoses_, the properties of the _things_ (e.g., _thing_for_agent_), or the configurations of the process steps. The second sub-set \(s_{0,scene}\) contains grounded predicates for the description of the scene. A scene of an IGIS represents one possible distribution of the movable _things_ and _agents_ in the environment (e.g., _at agent1 pose1_). Lastly, the sub-set \(s_{0,ps}\) contains grounded predicates describing the status of the process steps (which process steps are already finalized and which are still to be carried out). As well as the objects and initial state definition, the problem file of the IGPP also contains the description of the goals \(g\). In our modelling approach, the set \(g\) contains grounded predicates that define the process steps to be finalized. In the following, the PDDL problem file for an IGPP is analysed. As example, this subsection presents the PDDL problem formulation for an IGPP of a custom grippers scenario. PDDL problems of IGPPs for other IGISs can be formulated in a similar manner. The selected scenario occurs in an indoor environment, where the actions of one human and one robot are coordinated for the assembly processes of custom grippers (see Figure 5). The actors must transport the elements of the grippers from the storage areas to the workbenches. At these locations, the elements are processed with the corresponding tools. Figure 5: The custom grippers instance of the generic industrial scenario. Listing 8 presents some of the objects modelled in this PDDL problem file. First, agents with corresponding _thingposes_ are introduced (lines 1-3). Then, _agentposes_, also with corresponding _thingposes_, are defined in the environment (lines 4-7). Finally, the _tools_, _items_, _steps_, and _nothing_ elements are set up (lines 8-11). Excerpt from the PDDL problem file for the custom grippers IGPP with some of the defined objects. ```
1 robot1-robot
2 human1-human
3 robot1_thingpose1 human1_thingpose1-thingpose
4 workbench1 workbench12-agentpose
5 workbench1_thingpose1 workbench1_thingpose2...-thingpose
6 pallet1...-agentpose
7 pallet1_thingpose1 pallet1_thingpose2...-thingpose
8 tool_for_humantool_for_robot-tool
9 baseprofile_big1 profile_big2 corner1 corner2...-item
10 step1 step2 step3-step
11 nothing-no_thing
```  
Listing 8: Excerpt from the PDDL problem file for the custom grippers IGPP with some of the defined objects. The properties and states of the defined objects, along with their relations, are set in the initial state \(s_{0}\) of an IGPP, with the available PDDL predicates. A subset of \(s_{0,const}\) is presented in Listing 9 (lines 2-10).