## 3 Modeling and Precomputation  
Before we can use automatic planning tools, we have to make some considerations how to model the process, and how to extract information from the plybook and the cell layout. All the steps described in this section are based on an XML export from CATIA, which contains all information needed, in particular the shape of the plies on the picking table and the final position of the plies in the form. Moreover, this XML export contains also the material the plies are made of. An impression of this XML export is given in Figure 4. The Part entry (which is not opened here for reasons of better readability) contains, among other things, information about the material and coordinate systems. A PliesGroup entry consists of several Sequence entries with the associated Ply entries which, in turn, contain information about the ply's geometry (in Contour2D and Contour3D) and correspondences between points on the table and in the form (by means of Mesh2D and Mesh3D). One basic step in our modeling is the assignment of grippers to plies, i.e., to determine which gripper or which gripper teams (in our case, each robot is equipped with one gripper so a team of two grippers involves also two robots; see also Figure 3) can be used to pick and place a ply under consideration. In order to assign grippers or gripper teams to plies, we have to determine some geometric characteristics of a ply-like shape, curvature, and size, as well as the ply's material. Conversely, grippers are classified by geometric attributes  
Figure 3: The cell layout. like width, height, and deformability, indicating whether they can be used for picking and placing plies of given shape and goal curvature. Other attributes of a gripper are its picking method, i.e., whether it uses vacuum gripping, volume flow, or needles, its weight (which is important for the distribution of grippers to robots) and its load capacity (which is rarely of importance in the field of CFRP production). The gripping method is associated with the material; so, an air permeable ply cannot be handled by a vacuum gripper. In our setup, the present grippers can deal with the material from the plybook; however, our approach is expected to also deal with plybooks with varying materials, since the derived actions abstract from these conditions. Rectangular plies with the longer side parallel to the cylindrical longitudinal axis below a given threshold size, depending on the gripper's width, can be handled by one single gripper; in our scenario, every gripper can handle such a ply. In order to position the gripper on the ply, we compute the smallest enclosing rectangle and position the gripper parallel to this rectangle's sides in the middle of the ply. For greater simply curved plies, we use two such grippers, positioned at the rims of the sides of the smallest enclosing rectangle, parallel to the longitudinal axis of the form. If the goal position of the ply is doubly curved, we have to use other grippers which can be positioned using already existing scripts; see, e.g., [21] for this topic. However, in the use case described here, there are no doubly curved plies due to the nature of the chosen form. Another important point concerns the order in which the plies have to be placed in the form. Traditionally, the plies are placed in the form in the same top-down linear order in which they appear in the plybook, as performed, e.g., in [4; 5]. However, this order may be random, and not justified by geometric or process reasons. For example, two symmetrical non-overlapping plies can be placed in any order which, in each case, results in a permissible process. We express this by the computation of a so-called dependency matrix, a two-dimensional Boolean matrix in which the entry at position [i][j] indicates whether the i-th ply has to be placed before the j-th ply. The entry at position [i][j] is true if the following two conditions hold:  
* The i-th and th j-th ply overlap in the form, and
* the j-th ply lies above the i-th ply in the form.