1 Introduction

Manufacturing companies are transforming from mass production to mass customization since they are facing increasing product individualization, uncertainty in the market demand, and product and technology variety. This situation causes those manufacturing companies to become more and more flexible and adaptable to quickly respond to any changes in the market and launch new products frequently. In this context, Koren et al. [1] proposed a new manufacturing system concept, called reconfigurable manufacturing system (RMS). This concept is based on the reconfigurability of machines, equipment (hardware), and their control systems (software). In such manufacturing systems, all manufacturing components (hardware/software) are designed taking into account the characteristics [2]: modularity, integrability, scalability, customization, convertibility, and diagnosability. An RMS is defined as a manufacturing system where physical manufacturing components and process capabilities can be added, removed, or modified easily and efficiently to change the production capacity. Thereby, an RMS can create the functionality and capacity that are needed, when they are needed [3]. RMSs offer higher flexibility in production and can therefore meet the challenges resulting from today’s trends in production (e.g., individualized products, shorter product life cycles, higher quality demands) [4]. To be able to handle such flexibility a great amount of manual effort and expert knowledge is needed to plan the production processes. Especially in assembly, which causes most of the resulting costs of a product, the amount of time and expert knowledge required to consider the huge variety of possible assembly sequences and assembly plans is immense [5]. Therefore, automated planning approaches must be applied to handle this kind of flexibility efficiently. Besides planning assembly processes including the assignment of production devices and stations, the quality of the produced goods must be considered. This can be done by simultaneously planning process monitoring [6]. This paper addresses today’s challenges in production planning by generating and analyzing various assembly and monitoring plans offered by an RMS. We identify the different alternatives for assembling a new product in an existing production system and simultaneously consider the possibility of introducing process monitoring. The developed automated planning methodology includes the optimization of the solution space (assembly plans) concerning production criteria (e.g., necessary reconfigurations, monitoring efficiency). The rest of this paper is organized as follows: Section 2 presents an overview of the state of the art on which the methodology of this paper is based. Furthermore, existing automated planning processes, necessary semantic taxonomies, and existing optimization approaches are presented. In Sect. 3, we discuss the challenges that are addressed in this paper. Additionally, the vision which motivates our research in this field is introduced. Section 4 first describes an overview of the methodology before the individual modules of the decision aid system are introduced and explained. Validation is given in Sect. 5 by presenting two case studies that show the applicability and functionality of the proposed methodology. Section 6 gives a conclusion based on the results and some perspectives for future research.

2 Literature review

Industrial companies are faced with a high level of uncertainty, changes, fluctuations, and a lot of challenges and constraints corresponding to the market, product variety, and manufacturing technologies. In this context, manufacturing systems need to increase their flexibility, adaptability, and reconfigurability. For this reason, within the evolution of manufacturing systems, they have switched from dedicated manufacturing systems (DMS) to flexible manufacturing systems (FMS), and then to reconfigurable manufacturing systems (RMS). As mentioned, the concept of RMS is introduced by [1], which allows the company to manufacture a part family of products and react quickly and efficiently to any changes in the market. An RMS can be reconfigured by adding, removing, or changing the physical structure of the system or the manufacturing components. Thereby, an RMS can create the capacity and functionality that is needed when it is needed [3, 7,8,9]. Overall, an RMS combines the advantages of DMS and FMS in terms of higher throughput and customized flexibility [2]. In the following, the literature on RMS in general and automated planning in combination with skill-based approaches and optimization approaches for process planning to efficiently use the flexibility of RMS are reviewed. Last, approaches for feature-based identification of process requirements are presented. The combination of these approaches for the automated identification of resource capabilities and process requirements in an RMS and their matching represent an important cornerstone of the methodology presented here.

2.1 RMS literature review

The literature on RMS has considered several problems of operations management at different levels such as planning, design, and operation [10,11,12,13]. Since our study corresponds to the design of an RMS with process monitoring, this literature review focuses on this concept. With regard to the recent literature study of [11], little attention has been paid to diagnosability in the literature on the RMS. Diagnosability, which is an ability to quickly detect issues concerning the quality and reliability in a system, is one of the six characteristics of an RMS [3].

The development of sensor technology enables the monitoring of processes by measuring geometric, kinematic, and mechanical values, as well as fluid parameters and temperature [14]. Process monitoring and especially inline process monitoring have therefore become more relevant to address global trends such as production in small batch sizes while maintaining high production quality [15, 16]. Process monitoring is investigated as a feasible quality control method based on sensing and control technology [17]. Online signals, such as force and temperature, are collected to determine the states of manufacturing processes [18]. Planning process monitoring on the other hand is quite time and cost consuming and requires high expert knowledge so that in today’s production it is often only used for mass production. To enhance the diagnosability of RMS, automated planning of process monitoring is an essential aspect to consider.

In 2018, [2] went into details of the characteristics, principles, and architecture of the RMS. A key aspect is the performance improvement of RMS and the reduction of design effort by introducing cyber-physical manufacturing systems and new intelligent manufacturing technologies. This concept assists manufacturers and is fully applicable in practice. For this reason, the concept of a digital twin has been researched for the last several years. The term digital twin describes a digital image of a physical or immaterial object or process from the real world. Thus, the digital twin forms a simultaneous representation that exists throughout the entire life cycle of the depicted system [19,20,21]. The aim is to enable production to become an autonomous decision-making and control system by using simulations and sensor data in planning and operation [22]. To be able to benefit from RMS, the heterogeneous field device landscape must be handled efficiently. Therefore, a semantic description of devices and functionalities, as well as an automated analysis of the solution space, is necessary.

2.2 Automated process planning

Automated process planning represents a decisive research focus to use production systems efficiently in a flexible and targeted manner [23]. Skill-based approaches have become increasingly popular for automated process planning due to their flexibility. These approaches are also described as capability-based approaches [24, 25]. [26] present a capability-based approach for the evaluation of changes in the RMS. This approach has also been extended by integrating rules so that skills can be combined to determine the impact of changes in a production system by identifying different capability models and thus functionalities in a production system [27]. Due to different understanding and definition of capabilities, the focus of skill-based approaches varies. [28] focuses on planning and scheduling by using a skill-based approach to automatically generate production schedules. Furthermore, [29] combine taxonomies of different publications to build up a skill taxonomy that relies on norms and VDI guidelines (e.g., DIN 8580, VDI 2860). They focus on skills in assembly so that an existing production system is able to offer these skills for the assembly and thereby satisfy product requirements. [30] build upon this approach and defined skills that are relevant for monitoring processes in assembly. The results of these studies [29, 30] make it possible to generate a skill model of an existing assembly system by focusing on actorial and sensorial functionalities. The combination of skills has also been presented in these papers. Through this, functionalities of resources can be connected with each other in an existing assembly system to identify more skills than can be seen at first glance. This makes it possible to automatize the identification of skills in the existing assembly system by concerning actorial (e.g., assembly processes) and sensorial (e.g., monitoring processes) skills. The generation of assembly plans via skill-based approaches allows to use the flexibility of RMS. Hereby, multiple plans can be created automatically. Identifying which process plan to use hereby leads to an assembly line balancing problem in automated process planning [31]. Using optimization approaches and algorithms can be a favorable condition to identify the most suitable assembly plan based on certain criteria (e.g., number of reconfigurations, reconfiguration cost and time) [32]. This will be discussed in the following subsection.

2.3 Optimization approaches for assembly line balancing

Assembly line balancing (task assignment) and design (resource allocation) are crucial steps for the production planning [33]. These topics have been studied by many researchers [34,35,36,37]. The lack of a complete planning approach that covers configuration and reconfiguration of a line taking into account the assembly and monitoring processes can be seen in the literature [33]. In the literature on assembly lines, several objective functions are optimized using different optimization methods. Such optimization problems for assembly line balancing and production planning are usually modeled using mathematical programming [38,39,40,41], and solved by different solution approaches, either exact or approximate methods like (meta-)heuristic algorithms [42,43,44]. For instance, [38] build a linear programming model and constructive heuristics to solve a workforce minimization problem in a paced assembly line, motivated by an automotive industry case. The goal was to find a workforce assignment, which minimizes the maximal number of workers used in all production cycles. [45] describe a bi-level optimization approach to combine the selection and positioning of production resources into one single optimization problem. Hereby, a nested genetic algorithm has been developed which is capable of solving an assembly line balancing problem with resource selection and layouting. Moreover, the optimization approaches can be integrated to simulation techniques which is called simulation-based optimization approaches. These approaches have been adopted to manufacturing systems’ optimization, efficiently [46]. For example, [47] developed a simulation-based optimization approach using a discrete event simulation model and simulated annealing (SA) algorithm, to solve a production planning and resource allocation problem in reconfigurable manufacturing system.

2.4 Feature-based approaches for the identification of requirements

Products and processes place requirements on devices and skills. These requirements can be detected by identifying features in CAD models (computer-aided design) that store information about products, parts, or resources throughout the entire product life cycle [48]. Functions and requirements can thereby be assigned to specific products and parts. These can either be geometric information (e.g., topology) or describe functional information (e.g., product manufacturing information (PMI) [49]). Depending on the application domain, features are defined differently for computer-aided design, manufacturing (CAM), and process planning (CAPP) models [48, 50]. Especially in manufacturing planning, feature-based approaches are used to define product and process requirements [51]. [52] describe an approach to identify critical manufacturing features on metallic aerospace components. Hereby, a rule-based feature recognition method is used to identify features on different representations of solid models (i.e., curve solid geometry (CSG), boundary-representation (B-rep). In assembly, features have been considered just recently as relevant for process planning [53]. [54] summarizes several studies about assembly features and creates a structure of assembly features. The recognition of features varies among graph-based, hint-based, cell-based, rule-based, neuronal-network-based, and convex hull decomposition recognition approaches [52, 55]. These approaches are differently efficient depending on the required outcome and product complexity. For example, rule-based approaches have been shown to produce the best results for the identification of assembly features due to their scalability and transparency [52, 54].

2.5 Summary of the literature review

Up to now methodologies and decision support systems for process planning have not addressed the aspect of diagnosability in RMSs. As can be seen in Sect. 2.1, monitoring becomes more relevant in production and specifically in RMS. Unfortunately, there are few approaches to how to consider process monitoring in today’s (semi-)automatic production or assembly planning. Existing methods in assembly planning have not yet been adapted to process monitoring planning (Sect. 2.2). CAD feature recognition is a promising way to identify relevant data in CAD models (assembly and/or parts) as can be seen in Sect. 2.4. These methods and tools can be transferred and modified for monitoring planning (e.g., identification of relevant parameters/data on individual products and/or parts). Therefore, this paper provides an approach on how to plan monitoring processes alongside assembly planning. This approach enables a reduction in manual effort, which is needed to plan monitoring processes especially for complex products and production systems.

3 Problem description

The problem addressed in this study concerns the design of an RMS, with humans and robots as resources in the assembly line. Several product variants are assembled on an existing line. The CAD model of the new product variant and the simulation model of the assembly line, including their resources and tools, serve as inputs. These inputs are derived from the product design (new CAD model and process description due to a new product variant) and assembly line (digitized assembly system). In our problem description, only one robot or worker works at each station. Robots and workers are assigned to workstations. A set of automated and manual equipment pieces (i.e., tools) is considered in the resource library of the line (part of the digitized assembly system) which can be used to execute a task (i.e., process). Note that each piece of equipment may also be able to monitor an assembly process, which allows using it as a sensor for process monitoring at the station (e.g., torque sensor).

The CAD model ideally contains all information about the assembly sequence and, if possible, process information as well. Nevertheless, additional process data can be provided as input via supplementary documents. The assembly operations for each product must be performed according to the priority relationships between the tasks of the respective product. This information is contained in the CAD model and additional documents and must be obtained. Furthermore, additional information must be generated for each task to describe which combinations of resources and tools can be used for a process. Here, the processing time of each task depending on the combination of tool and resource, the reconfiguration costs of the tools in the line, and the efficiency of using each tool for process monitoring are needed to make a valid decision.

On the other hand, the skill model of the assembly line, which contains the current configuration of the resources and tools in the stations and additional tools from the resource library that can be used for any reconfigurations, is provided as input. The skill model contains semantic descriptions of the individual resources, tools, stations, and thereby assembly line. Hereby, algorithms are able to automatically analyze the assembly line configuration and match individual skills with product and process requirements (e.g., necessary torque). A structure is required to store these matches, which can be enriched using matchmaking algorithms to provide more detailed criteria (i.e., key performance indicators (KPI)). These are necessary to make critical decisions when selecting an assembly and process monitoring plan. Graph-based models have been proven to be a suitable structure for saving multiple matches or tasks (e.g., assembly precedence graph, and/or graph [56, 57]). Valuable information for such decisions in a production graph is the feasibility of the task, necessary reconfigurations (including the additional time and costs), process parameters (e.g., assembly paths, cycle times, efficiency of process monitoring), and task types (e.g., screwing — primary; handling — secondary).

As a result, there are several alternatives that require a multi-criteria selection approach or a user-centered optimization model. Based on any restriction from the user (the decision-maker) concerning the value of one or more criteria (e.g., cycle time, monitoring efficiency, number of reconfigurations, costs), the rest of the criteria are optimized. The feasibility of the optimal solution concerning collision freedom and reachability must be ensured through a simulation model of the individual assembly processes. This loop (optimization-simulation) continues until it finds a feasible and optimal process plan for the assembly line. The problem is further clarified with a small example given in Fig. 1.

The description of the assembly line and features of only one type of product are given in Fig. 1. We assume an assembly line arranged and equipped as it is shown in Fig. 1b. The line possesses two stations, one is manual and one is automated, which are equipped by a worker and a robot, respectively. Some manual and automated tools exist in the resource library. The current state of the line must be reconfigured for producing a new product with possible process plans. The new product requires a set of four tasks (I1, I2, I3, I4) as given by the precedence graph in Fig. 1a and Table 5 in Appendix 2 (e.g., task processing times, precedence graph, possible matches of resources, and tools to perform the tasks).

Fig. 1
figure 1

The information related to a simple example, assembling a single new item and the assembly line. The left side of the figure a) displays the product domain with the individual parts (A, B, C, D, E) and tasks required (I). The right side of the figure b) shows the assembly line domain with the stations (St) and tools (T)

According to the data provided by the product and production system (e.g., CAD models, process parameters, resource capabilities), a set of feasible processes can be generated. Table 5 in Appendix 2 describes an approach how to display the matches and which criteria are relevant. Each valid match between a tool (T) and a task (I) is described with a process time (Pt in seconds) and a monitoring efficiency (Mon. Eff. in percent) based on suitability of the resource and tool. The objective of the optimization model is to determine the optimal solution with regard to individual criteria (e.g., cycle time and monitoring efficiency) for an assembly plan including monitoring tasks in order to enable high process quality. Fig. 2a shows, as an example, the optimal process plan with reconfiguration costs of 290 € (reconfiguration costs for T1 and T2).

Fig. 2
figure 2

a The optimal solution from the optimization model, but an infeasible solution in the simulation model. b The optimal solution from the optimization model, and a feasible solution in the simulation model

This solution (shown in Fig. 2a) is not feasible according to the simulation model, since the second task (I2) cannot be performed by the first manual tool (T1) in the first station 1 due to a collision. Thereby, by implementing the simulation-optimization loop, the final feasible and optimal process plan is achieved with the same objective function value of 290 € for the reconfiguration cost (see Fig. 2b).

4 System overview

The system proposed in this paper analyzes digital products and production system data to generate multiple feasible assembly plans including the capability to monitor processes. Fig. 3 describes the 4 modules that result in an optimized assembly and inspection plan by analyzing a new product variant (i.e., CAD model) and existing digitized production system (i.e., layout, resource descriptions). Multiple alternative assembly and process monitoring plans are generated that increase the flexibility of an RMS. Continuous user interaction enables the demand-driven selection of an optimized plan depending on the defined criteria (i.e., number of necessary reconfigurations, the relevance of process monitoring in each individual process step). Each of the four modules of the system can be viewed individually and is connected to the next one via a text-based data format (i.e., XML and JSON). The following subsections will describe each module as well as its inputs and outputs.

Module (1) focuses on the generation of assembly plans through an assembly-by-disassembly approach as described in [58]. Assembly plans contain information about the assembly sequences, process types (e.g., joining), assembly path and process specific parameters (e.g., torque).

Module (2) displays a new approach for the planning and generation of alternatives to monitor assembly processes inline. This means that no additional and unnecessary monitoring processes are generated that increase the cycle time, but rather parallel monitoring processes are identified. A rule-based CAD feature recognition approach in combination with a general process requirement database identifies the monitoring requirements. Existing assembly plans are then used in module (2) to generate a variety of process monitoring alternatives that result in new assembly plans that include process monitoring.

Module (3) focuses on the optimization of these alternatives depending on user criteria (e.g., cycle time, production costs, number of reconfigurations). This results in one optimized assembly plan with a process monitoring plan.

The last module (4) validates the optimized assembly plan via a simulation in which the optimized assembly plan, including the monitoring processes, is checked for collision-free and visual reachability. If an assembly plan including its process monitoring alternative is not feasible, the optimization module identifies another optimal assembly plan taking into account process monitoring for the validation module. To keep the simulation effort low, the validation by means of simulation of the process plan has been placed after the optimization module. For complex assembly modules and a large number of possible process plans, the simulation effort can quickly become very high. Selecting the assembly plan with optimization before simulation reduces the number of simulation runs.

Fig. 3
figure 3

The overall methodology with all decision aid modules

4.1 Generation of assembly plans

To identify valid and collision-free assembly sequences, an assembly-by-disassembly approach is used to analyze CAD models of new product variants [57,58,59]. Each part of the CAD assembly group is virtually disassembled to generate assembly sequences and define assembly paths for each part of the product as described in Fig. 4. An assembly process graph, independent of the production system and its resources, is generated. Here, each vertex (node) in the process graph contains information about the necessary assembly process and its requirements (not yet of the production system and resources, i.e., devices). The requirements describe the necessary tasks semantically to allow broad applicability for a variety of products (e.g., screwing, joining).

The allocation of each requirement to each assembly process and part is executed automatically. Additional or missing information (e.g., torque, force) can be inserted afterward by the user as this module serves as an assistant for the identification of valid assembly sequences and processes. Standard parts and constraints between parts are identified automatically to define assembly processes such as screwing and joining. To identify the specific requirements of each assembly process, a semantic skill-based domain is used that can be applied to the product as well as resources and the assembly system. [29] describe a skill domain for actorial skills (e.g., joining, screwing). Regardless of the sensorial requirements, an assembly process graph can be created that includes the skills of each resource and possible combinations (e.g., robot + gripper).

The matchmaking between product requirements and assembly system skills generates different assembly plans through resource allocation. As a prerequisite, the existing assembly system, its resources (i.e., tools), and additional resources available for production (resource storage) must be digitized with their specific information models, including a semantical description of functionalities (e.g., joining). The digitized production system is described in Fig. 4 as the actorial skill model of the production system. The resource library describes relevant technical and economic device functionalities (e.g., velocity, investment cost) as well as skills.

Fig. 4
figure 4

Module (1) — generation of assembly plans through an assembly-by-disassembly and skill-based approach

The generation of the process graph, containing the assembly processes and possibly allocated resources to stations, is divided into two steps. The first step deals with the identification of tools and stations that are suitable for executing the production system-independent assembly plans. Each necessary product and process requirement (e.g., joining, screwing) is semantically matched with the corresponding skill (e.g., gripping, moving, screwing). Then, the alignment parameters are verified for their suitability in the second step (e.g., gripping-width, joining-force, torque). If existing resources at a station do not fit due to missing skills or unfitting parameters, a reconfiguration is taken into account. Resources in the library (i.e., storage) are considered for their suitability (station restrictions need to match, e.g., interfaces — manual station-worker, automatic station-robot, pneumatic, electrical interfaces). The process graph at the end contains several assembly processes, which in combination represent different assembly plans.

4.2 Generation of process monitoring alternatives for existing assembly plans

To date, there is no framework or system that addresses CAD models and assembly information and relates to the automatic determination of parameters for process monitoring. Therefore, the following section presents methods to determine process monitoring alternatives for existing assembly plans. As illustrated in Fig. 5, the product-specific identification of process monitoring requirements can be divided into three steps: templates for monitoring requirements, feature recognition, and parameter determination. These steps consist of importing data (e.g., CAD-model of the assembly, assembly plans), selection of monitoring requirement templates (i.e., solution neutral monitoring requirements for assembly processes), data extraction (i.e., rule-based feature recognition), and determination of monitoring requirements (i.e., filling the templates according to analyses). The output consists of several parameters. Each parameter has five characteristics: variables, values, priorities, units, and error ranges. The variables and units come from the templates stored in a parameter template subsystem (i.e., a database). The values, priorities, and error ranges of different parameters must be determined or entered by the user (e.g., engineer).

Fig. 5
figure 5

Module (2) — decision support module for the automated generation of process monitoring alternatives for existing assembly plans. The steps a) to d) display the individual domains of the submodules (e.g., a) monitoring requirements, b) monitoring skills)

The monitoring requirement templates contain product-neutral information about monitoring parameters relevant for individual assembly processes and are stored in a parameter template subsystem. These templates need to be filled through product-specific information. In the feature recognition step, features are automatically recognized using a hybrid geometric reasoning and rule-based approach (Fig. 5a). The CAD model including its parts is imported automatically. Afterward, the geometric and topological information can be extracted from the CAD models using an Open Cascade library (pythonocc). A unique ID is assigned to each feature. Hence, different features can be associated with each other through their IDs. Different topological entities are found, for example, solids and faces. Skill parameters [30], standard components (fasteners, such as DIN 912 for screws and DIN 934 for nuts), and standards related to connection (such as DIN 13-1 for ISO threads) are stored in the parameter template subsystem, describing requirements of processes (e.g., templates for assembly processes). According to the classification of joining processes from DIN 8593-0, each parameter template stores the specifications for a specific assembly process. Concrete assembly processes (such as screwing or point welding) are specified as tables in the databases.

While creating or managing a database, engineers need to extract and construct data from standards and specifications (i.e., DIN, VDI). These tables can be supplemented or changed manually by an expert if necessary when processes or relevant process requirements have changed (e.g., due to new technologies or quality requirements of processes).

Based on the features and the filled process monitoring templates, a set of parameters is selected and collected in the parameter determination step (Fig. 5a). During this step, the user can either confirm or deny parameters and values, priorities, units, and error ranges for monitoring. The sensorial skill model of the production system is set up automatically according to the assembly system layout (Fig. 5b). Therefore, a skill-based approach is used as described in [30] and [56].

The automated generation of process monitoring alternatives is executed by a comparison of product-specific monitoring features and assembly system-specific (i.e., resource-specific) monitoring skills [6, 56]. The semantical analysis focuses on the presence or absence of monitoring skills, i.e., skills related to measuring and checking physical process properties. After the semantical analysis, parameters are checked to ensure that the monitoring feature can be monitored efficiently by the aligned resource (i.e., characteristics matching in Fig. 5c). Different parameters, depending on the specific skill and monitoring feature, are analyzed and matches are determined (e.g., joining force, temperature). Once a matching pair of a monitoring feature and a monitoring skill of a resource is identified, the comparison of the feature and resource-specific parameters is initialized. If the criteria are not fulfilled for any monitoring resource in the production system (i.e., no reconfiguration possible), the feature is designated as invalid for monitoring and the matchmaking continuous for the next feature. Matching efficiency (i.e., monitoring efficiency) depends on the alignment of resources with monitoring requirements (e.g., sensorial skills) according to [56]. The weighting of the pairing depends on the relevance being defined by the user for each monitoring requirement in the monitoring requirement step (Fig. 5a).

The nominal value range of the monitoring feature of the assembly process defines the parameter comparison. To ensure suitability, the resource must be able to measure values across the range. As an example, a pyrometer that cannot detect temperatures below 300 \(^\circ\)C is not suitable for monitoring a hot gluing process performed at temperatures between 120 and 180 \(^\circ\)C. Likewise, a force-torque sensor must be able to monitor the exact force range in which the process takes place. The minimum and maximum values of the requirement (Rmin and Rmax) and the range in which the skill can be used by the resource (Smin and Smax) define the match and its suitability. If the range Rmin–Rmax is not contained entirely within the interval Smin–Smax, the resource is considered unsuitable, even though it has the appropriate skill.

The assessment of the measuring accuracy of the resource is a further criterion for the parameter comparison. This includes quality-critical or high-precision processes where a fraction of a deviation can affect the outcome of a process. The logic for the evaluation is based on a comparison of the required accuracy for the process and the accuracy of the resource for the skill (e.g., 0.1 N is represented with the accuracy value 10). If there is no resource at a station with sufficient accuracy to monitor a feature, it is assumed that reconfiguration is necessary for that feature.

Measuring speed expressed as the frequency with the unit Hertz is a parameter to be checked continuously. This ensures that the monitoring process does not add any additional time to the cycle time. The parameter comparison is used to identify unsuitable sensors that need to be replaced or adjusted. If a resource fulfills the qualitative and quantitative matchmaking to monitor a feature, the information is stored in a node (vertex) of the enhanced process monitoring graph (ePMG) (see Fig. 5d — enhanced process monitoring graph). If monitoring requirements cannot be matched with sensors (i.e., resources) a reconfiguration of the production system is necessary. Determining which resources can be used to cover the missing skills is done through further iterations via matchmaking. Matchmaking between monitoring characteristics and the resource library is integrated so that whenever a process is classified as not monitorable, a query for the relevant characteristics is started and a potential resource is searched in the resource library. The process monitoring efficiency (Mon. Eff. in percentage) depends on the resource inheriting the sensorial skill. This value is calculated from the match (best fit) of the sensorial skills with the individual monitoring requirement (parameter match and number of individual matches) and the accuracy of the sensor. Any monitoring efficiency between 0 and 100 \(\%\) represents a match, whereas 100 \(\%\) indicates the best possible match.

The result of the module (2) is a process graph and process monitoring graph containing valid assembly plans and process monitoring alternatives (i.e., allocated actorial and sensorial resources and stations). These alternatives are further analyzed in module (3) (optimization). Process times are approximated depending on manual and automatic assembly processes.

4.3 Optimization model

The next module aims to find the optimal process plan for the models taking into account all theoretically feasible process plans generated in the production graph. A generative design model for a user-optimization system is built. The goal is to propose an optimization model which incorporates users’ (decision-makers) opinions relating to the three criteria: minimization of the reconfiguration cost and the cycle time, and maximization of the minimum monitoring efficiency of all tasks. To be precise, a user-optimization framework is designed where the user can enter the value that he/she wants for each objective function, and get the optimal values for the rest. The rest of this section covers importing data from the production graph to the optimization model, the mathematical model, and the user-optimization loop.

The production graph contains the inputs of the optimization model, namely, the set of precedence A including pairs of tasks \((i, i')\) where task i must be performed before task \(i'\), the compatibility among tools, tasks, and resources through a binary matrix \(K_{i t}^{r}\) that shows the capabilities of tools to perform a set of tasks on the resources, the processing time \(Pt_{i r t}\) of task i if executed on resource r with tool t, and cycle time C. Note that the compatibility matrix \(K_{i t}^{r}\) provides two sets \(N_{t r}\) and \(N_{i r}\), which respectively contain the tasks that can be performed by tool t on resource r and the tools that can execute task i on resource r. Moreover, several tools are used for process monitoring, so-called sensors, which can monitor the quality of tasks executions. \(\alpha _{i r t}\) refers to the efficiency of using tool t (as a sensor) to monitor task i on resource r, and takes the value in range [0, 1]. \(c_{t r}\) denotes the set-up cost (per time unit) of tool t on resource r. Besides, \(a_{r}\) refers to the set-up cost of resource r for use.

Based on this data, the following mixed integer linear programming (MILP) is solved to find the assembly plan with minimum reconfiguration cost, minimum cycle time, and maximum level of monitoring efficiency. The model has three binary decision variables, namely, \(x_{i r t}\) is equal to 1 if task i is performed by tool t on resource r (0 otherwise), \(z_{r}\), is equal to 1 if resource r is opened (0 otherwise), and \(y_{r t}\) equals to 1 if tool t is assigned to resource r in the configuration associated to process task i (0 otherwise). Besides, two continuous variables \(q_i\) and Q are defined which respectively represent the monitoring efficiency of executing task i and the minimum monitoring efficiency of all tasks. For these decision variables, a quantification of the monitoring efficiency is required. This efficiency can be calculated from the ratio of the match between process monitoring requirements and the capabilities of the matched resource 4.2. The nomenclature with further details on the quantities, parameters, and variables considered is given in Appendix 1. The proposed MILP is given in Eq. (1)-(16), where \(\mathcal{I}\), \(\mathcal{T}\), and \(\mathcal{R}\) denote the sets of tasks, tools, and resources, respectively.

$$\begin{aligned} \min \quad \sum _{ r \in \mathcal{R}} \ \sum _{ t \in \mathcal{T}} \ c_{t r} y_{r t} + \sum _{ r \in \mathcal{R}} \ a_{r} z_{r}\end{aligned}$$
(1)
$$\begin{aligned} \min \quad C \end{aligned}$$
(2)
$$\begin{aligned} \max \quad Q \end{aligned}$$
(3)

s.t

$$\begin{aligned} Q \le \ q_{i} \qquad i \in \mathcal{I} \end{aligned}$$
(4)
$$\begin{aligned} q_{i} = \sum _{ r \in \mathcal{R}} \sum _{ t \in \mathcal{T}} \alpha _{i r t} x_{i r t} \qquad i \in \mathcal{I} \end{aligned}$$
(5)
$$\begin{aligned} \sum _{ r \in \mathcal{R}} \ \sum _{ t \in \mathcal{T}} \ x_{i r t} \ = \ 1& \qquad i \in \mathcal{I} \end{aligned}$$
(6)
$$\begin{aligned} \sum _{ i \in \mathcal{I}} \ x_{i r t} \ \le \ \arrowvert \mathcal{I} \arrowvert y_{r t}&\ \qquad t \in \mathcal{T}, \ r \in \mathcal{R} \end{aligned}$$
(7)
$$\begin{aligned} \sum _{ r \in \mathcal{R}} \ y_{r t} \ \le \ 1&\ \qquad t \in \mathcal{T} \end{aligned}$$
(8)
$$\begin{aligned} \sum _{ t \in \mathcal{T}} \ y_{r t} \ \le \ \arrowvert \mathcal{T} \arrowvert z_{r}&\ \qquad r \in \mathcal{R} \end{aligned}$$
(9)
$$\begin{aligned} \sum _{ t \in \mathcal{T}} \ \sum _{ i \in N_{t r}} \ Pt_{i r t} x_{i r t} \ \le \ C&\ \qquad r \in \mathcal{R} \end{aligned}$$
(10)
$$\sum _{ t \in \mathcal{T}} \ \sum _{ r \in \mathcal{R}} \ r x_{i r t} \ \le \ \sum _{ t' \in \mathcal{T}} \ \sum _{ r' \in \mathcal{R}} \ r' x_{i' r' t'} \qquad (i,i') \in A$$
(11)
$$\begin{aligned} x_{i r t} \in \{0, 1\}& \qquad i \in \mathcal{I}, \ t \in \mathcal{T}, \ r \in \mathcal{R} \end{aligned}$$
(12)
$$\begin{aligned} y_{r t} \in \{0, 1\}& \qquad t \in \mathcal{T}, \ r \in \mathcal{R} \end{aligned}$$
(13)
$$\begin{aligned} z_{r} \in \{0, 1\}& \qquad r \in \mathcal{R} \end{aligned}$$
(14)
$$\begin{aligned} q_{i} \in [0, 1]& \qquad i \in \mathcal{I} \end{aligned}$$
(15)
$$Q \in [0, 1]$$
(16)

The objective function Eq. (1) is to minimize the total cost, including the used resources activation cost and reconfiguration cost of the tools that have been used in the line, where sensors are counted as tools. The objective function (2) aims to minimize cycle time. The objective function Eq. (3) maximizes the minimum monitoring efficiency of all task execution monitored by sensors. Constraint Eq. (4) ensures that objective function Eq. (3) maximizes the minimum monitoring efficiency of all tasks, which is computed by constraints Eqs. (4) and (5). Constraint Eq. (6) states that each task must be processed by exactly one resource. Constraint (7) ensures that a tool is available on the resource to process each assigned task. Constraint (8) prevents assigning a tool to more than one resource. Constraint Eq. (9) opens a resource if at least one tool is located on that resource. Constraint Eq. (10) states that the total processing time on each resource cannot exceed the cycle time. Constraint Eq. (11) ensures the precedence relationships between the tasks. Constraints Eqs. (12), (13), (14), (15) and (16) give the domains of the variables.

In real case studies as well as in future researches, different variants of this model can be considered. For example, constraints Eqs. (7) and (9) could be written for each task and tool. As another example, the uncertain processing time for tasks can be considered in constraint Eq. (10). In addition, several constraints can be considered, such as area constraints that prevent or penalize the assignment of a set of tasks to the same station.

For the user-optimization loop, the user can give his/her opinion for the value of any objective functions Eqs. (2) and (3). Next, this value is taken into account by adding any constraint Eqs. (17), (18) and (19) to the model and removing the corresponding objective function from the model. In this context, the upper limit for the reconfiguration cost of each model and cycle time, and the lower limit for the monitoring efficiency of each model, proposed by the user, are shown as \(Cost_{user}\), \(Cycletime_{user}\), and \(Quality_{user}\), respectively. For example, if the user aims at cycle time \(Cycletime_{user} (second)\) and \(Quality_{user} (\%)\) quality for the process in the whole line, two constraints Eqs. (18) and (19) are added to the mathematical model, and it is tackled with only one objective function Eq. (2) to minimize the reconfiguration cost.

$$\begin{aligned} \sum _{ r \in \mathcal{R}} \ \sum _{ t \in \mathcal{T}} \ c_{t r} y_{r t} + \sum _{ r \in \mathcal{R}} \ \alpha _{r} z_{r} \ \le \ Cost_{user} \end{aligned}$$
(17)
$$\begin{aligned} C \ \le \ Cycletime_{user} \ \end{aligned}$$
(18)
$$\begin{aligned} Q \ \ge \ Quality_{user} \end{aligned}$$
(19)

To guide the user in the selection of relevant values for the target, the tool provides upper and lower bounds for each objective. Let o, \(o_1\), and \(o_2\) be three objective functions like the ones existing in the proposed MILP. Solving the model for objective o with no restriction on the other objectives yields a lower bound for o. To compute an upper bound for objective o, we solve the multi-objective model with the lexicographic approach. We consider any orders where o is the least important objective, and the maximum value for o is an upper bound. If the user sets infeasible targets, the tool may suggest a correction for the two objectives \(o_1\) and \(o_2\) where a target is set. To suggest a new value for \(o_1\) (resp. \(o_2\)), the model is optimized for \(o_1\) (resp. \(o_2\)) with the target on \(o_2\) (resp. \(o_1\)).

4.4 Feasibility testing through the simulation model

Module (3) generates an optimized assembly plan including resources that are available for monitoring. The last module of the methodology serves as a validation (Fig. 6). A global 3D simulation of the entire assembly line is executed to analyze the collision freedom and feasibility of the assembly plan. Hereby, each device involved in the individual assembly, feeding, and monitoring processes are checked for collision freedom and accessibility in a multi-body simulation. The multi-body simulation consists of rigid components such as assembly parts, stations, and resources, which are loaded as step files with the additional information (assembly and monitoring plan) via a standalone solution through an application programming interface (API). Kinematics (e.g., robots) are set in advance whereas the movements of assembly parts and resources (e.g., gripper and screwdriver) can either be calculated using the information of module (1) simulation and assembly-by-disassembly or set manually.

Fig. 6
figure 6

Modules (3) and (4) — optimization and simulation module for the identification of an optimal and feasible assembly and monitoring plan

Process Simulate (PS) has been chosen as a simulation software in this paper. During assembly and feeding execution, the device and assembly path are checked for any collisions. In the meantime, devices responsible for monitoring are checked for collision freedom and visual accessibility. Information about the individual resources and processes is provided by the assembly and monitoring plan identified by the optimizer. The simulation model to which the assembly and monitoring plan data is applied is an existing digitized production system. During the simulation of the assembly and monitoring processes, continuous collision and visibility checking evaluates if the entire plan is feasible or infeasible and needs to be tagged as “infeasible.” This information is played back to the optimization module as a set of constraints. A new iteration is executed to identify the optimal assembly and monitoring plan.

5 Computational experiments and results

This section serves to validate the methodology proposed in this study. First, two case studies, at two different levels of complexity, are presented with all associated data. The first case study shows a relatively simple product to be assembled, illustrating the flexibility available in creating an optimized assembly plan including a process monitoring alternative. The second case study considers a somewhat more complex product to be assembled with different types of assembly processes (i.e., “joining,” “screwing”). For case study (2), the same assembly system is used as in case study (1), which is an RMS. The computational results are presented for each case study in the following. The methodology is implemented on different computer systems and the individual modules are implemented in different programming and software environments (see Table 1).

The individual module numbers and descriptions correspond to the nomenclature from the methodology in this article. Table 1 also shows the programming and software environments used to implement the developed methods and the computer system on which they were carried out for both case studies. Software programs often interact with self-developed solutions, e.g., for CAD feature recognition (FreeCAD, PythonOCC, and C# implementation) or multi-body simulation (Process Simulate and C# implementation).

Table 1 Software and hardware used in the case studies — implementation of the methodology

5.1 Computational results of case study 1 — LEGO® product

The first case study displays a simple product that needs to be assembled on an existing assembly line (Fig. 7). The assembly and monitoring plan are generated automatically by using the methodology described in Sect. 4. The product, consisting of 4 parts (1 LEGO® plate (base part) and 3 LEGO® bricks), already displays the complexity which assembly and inspection planners are facing. The inherent flexibility resulting from the number of possible assembly sequences, stations, and resource allocation cannot be efficiently accounted for in manual processing. Various criteria have to be taken into account during the generation of assembly plans (e.g., fulfillment of process requirements, number of reconfigurations). Additionally, monitoring aspects have to be taken into account (e.g., monitoring alternatives and their monitoring accuracy).

Fig. 7
figure 7

Assembly process graph of the first case study (LEGO® product) automatically generated using assembly-by-disassembly

Therefore, the methodology presented in this paper serves as an assistant by automatically providing decision support during the planning phase. In the first module of the methodology, the LEGO® product is analyzed for its valid and collision-free assembly sequences (Fig. 7). Three sequences generated by the assembly-by-disassembly approach are displayed in Fig. 7. Figure 8 shows a hybrid assembly line of 5 stations. The first and the last three stations (1, 3, 4, 5) are manual stations equipped with supply tools, screwdrivers, screwdriver controllers, and a worker. The second station is an automatic station where a robot automatically executes processes with end effectors, in this case, grippers. Each resource (e.g., a robot, a worker) accompanied by a tool (e.g., screwdriver or gripper) has skills such as “screwing” or “joining.” Therefore, each combination of tools is designated for specific processes. The combination of the assembly line layout with each resource and the resource library with the skill taxonomy allows the automated generation of a skill model. Each station inherits its specific skills depending on the resources.

Fig. 8
figure 8

Existing assembly line with five stations to which resources (R) and tools (T) are assigned

The skill model of the production system can be displayed as a graph or matrix. In Fig. 8, the default configuration as well as resource storage of the assembly system are shown. Once the product requirements and assembly line skills are defined, the assignment of production resources to processes automatically creates assembly plans. This procedure has been described in Sect. 4.1 and partly in [58]. The comparison generates the assembly plans using semantical matchmaking and parameter matchmaking (quantitatively). Due to the fact that this methodology considers the planning of process monitoring alongside the assembly planning, the optimization and simulation-based validation are done after the allocation of resources/tools for monitoring. When assembly plans have been generated considering the necessary assembly processes, the module (2) identifies product requirements that are relevant for monitoring the assembly processes. The input is provided by the assembly plans, the CAD model of the product, the process monitoring database with tables and logical rules for the identification of geometries. The CAD model is analyzed automatically by using predefined geometrical rules in Python in combination with an Open Cascade library in Python (pythonocc). The recognition stage allows the identification of geometrical shapes and constraints. Therefore, contacts, chamfers, and their positions that are relevant for the success of the assembly process can be identified and fill the requirement table (template) for process monitoring. The table is derived through the fuzzy search algorithm (e.g., joining) from the database of the monitoring requirement stage (see Sect. 4.2). In this use case, the table already contains the relevant parameter templates (e.g., joining force in [Nm]) necessary to assemble the LEGO® bricks, and therefore the user does not have to create the template manually.

After the feature recognition and parameter determination define the monitoring requirements, the comparison of monitoring skills and monitoring requirements starts. Semantical matching allows the identification of a variety of different resources for monitoring. The comparison of sensorial skills and monitoring requirements, taking into account the ability to assemble the product at each station (from assembly plans), identifies different alternatives for process monitoring. These alternatives have not yet been validated due to their parameters. The second step allows a parameter comparison where efficiency, speed, and accuracy are taken into account. Multiple assembly plans and alternatives for process monitoring are automatically generated by combining individual assembly/monitoring matches or processes. The individual assembly and monitoring processes are displayed in Appendix 3 in Table 6. Possible combinations of resources are shown for each station (e.g., second station (automatic robot station 2) R2 (robot) + T4 (gripper) + T6 (supply device)). Hereby, resources (R) define the station type (e.g., manual or automatic station) and inherit the essential skill “move.” Tools (T) must always be connected to a resource. Depending on the process, process times (Pt in seconds) vary due to the assembly path of each LEGO® brick. As described in Sect. 4.2, the process monitoring efficiency (Mon. Eff. in percentage) depends on the resource inheriting the sensorial skill. This quantified value of monitoring efficiency can take values between 0 \(\%\) and 100 \(\%\) and represents a match, while 100 \(\%\) indicates the best possible match. Therefore, at station 2 the combination (Station 2: R2; T4, T5, T6) with a force-torque sensor (T5) has a higher monitoring efficiency than the combination without a force-torque sensor (Station 2: R2; T4, T6). Both combinations require a reconfiguration (Rec.) for the second process due to the required gripping width (here T19).

Each assembly plan contains different alternatives for process monitoring as a result of module 2 and the allocation of resources with sensorial skills. Due to the similar component geometry and process parameters of the individual LEGO® bricks, the requirements for process monitoring do not differ between the tasks (see tasks 1, 2, and 3 in Table 6 in Appendix 3). This leads to similar match results between monitoring requirements and resource skills. Therefore, the individual process monitoring alternatives do not differ between tasks at the same station with the same resources and combination of tools (e.g., monitoring efficiency of \(20 \%\) for tasks 1, 2, and 3 on station 1; Table 6). In a further step, assembly plans are optimized with various alternatives for process monitoring. Criteria for the optimization were explained in Sect. 4.3.

The obtained production information is used to solve the mathematical model for the first case study. As a result of the optimization, regarding the defined ranges for each pair of two criteria (see Sect. 4.3) by the user, we obtain several assembly plans with an alternative for process monitoring. Since the user defines several ranges for only two criteria, the mathematical model aims to optimize the third one at each run. The user must select only one of the obtained assembly plans (the best solution). Note that the assembly plan must be validated by a 3D multi-body simulation (Sect. 4.4). If collisions occur due to an infeasible assembly sequence or resource option and collisions or lack of visibility are detected, the assembly plan is considered infeasible. This leads to an iteration where the optimization model must take into account a set of new constraints on assignments of tasks and tools to resources (stations). The optimization model will determine another optimal assembly plan with process monitoring and provide another assembly plan. This plan also must be verified by the simulation model. The process ends if the solution of the optimization model is valid through the simulation model. Table 7 in Appendix 3 shows all optimal solutions concerning the optimization of each selected criterion from the user side. Precisely, at each level, the user defines a range for two criteria and optimizes the third one. The optimal objective function value is obtained and it is shown with the corresponding tool and tasks assignments to the stations. These solutions are given to the user, then he/she selects the proper one among others. The user is satisfied by forcing the total costs to less than 350 €, the cycle time to less than 20 (s), and obtaining 94 \(\%\) as the minimum monitoring efficiency level of the tasks. Table 2 shows that the feasibility of the final selected assembly plan cannot pass through the simulation model since T19 cannot be used to perform task 2 on the robot existing at the second station. Due to the gripper geometry of T19, the LEGO® brick “E” cannot be assembled after LEGO® brick “D” (see Fig. 7 and Table 2). A collision occurs in the multi-body simulation between the gripper and the already assembled LEGO® brick “D.” The constraints concerning the infeasibility of these assignments are added to the mathematical model which prevents the model from taking into account such assignments. The optimization model is solved considering new constraints generated by the simulation model and provides the new optimal solution. As it can be seen in Table 2, the new assembly plan is valid in the simulation model. Therefore, the final plan corresponds to performing tasks 1 and 3 using T4 and T6 on the robot at the second station (R2), and task 2 using T15 by the worker at the last station (R5). This solution respects the cost of 390 €and the cycle time of 17.5 (s) and provides 25 \(\%\) monitoring efficiency, which all satisfy the user.

Table 2 Final optimization results after validation via simulation (case study 1)

5.2 Computational results of case study 2 — toy car product

The second case study deals with a more complex product where two assembly types are considered joining and screwing. This product (toy car) contains 11 parts (1 base-part, 2 screws, and 8 parts for joining). One can easily see that the complexity of assembly plan generation increases due to multiple valid assembly sequences (generated via an assembly-by-disassembly analysis: Fig. 9 in Appendix 4). In combination with the existing production system in Fig. 8 the matchmaking module (Fig. 4) generates multiple assembly plans. Also, the identification of process monitoring features increases in this case study exponentially due to the number and geometries of assembly parts (e.g., geometrical: joining surface, alignment; process: force) and feature types (e.g., torque-screwing, force-joining). The matchmaking module in Sect. 4.2 identifies multiple process monitoring alternatives to each assembly plan as can be seen in Table 8 in Appendix 4. For the screwing processes, different screwdrivers and controllers necessary for the screwdrivers can be identified for the execution of the processes and also their monitoring. This enables the generation of multiple assembly plans including process monitoring alternatives. Consideration of process monitoring allows the optimization module to use various criteria for selecting the best assembly plan, taking into account quality aspects when planning production. Higher monitoring efficiency values indicate that the resources’ sensorial skills are more applicable for the monitoring features of the toycar in case study (2) than the LEGO® product of use case (1) (Table 8 in Appendix 4). Similar assembly parts and processes (e.g., axle front (AF) and axle back (AB)) lead to similar monitoring efficiencies. This is caused by the same input criteria for the CAD feature recognition and process type parameters for monitoring. The geometries of the wheels are the same, as well as the features (i.e., surface, chamfer) and the assembly process joining, which must be done with a certain force and coaxial to the axles (the same applies to the rear wheel (WB) and the chassis). Equivalent requirements for process monitoring lead to similar resource allocations (see monitoring efficiencies in Table 8 in Appendix 4). The consideration of different tools from other stations (e.g., T2) or the equipment and tool store (T18, T17) expands the solution space by making greater use of the flexibility of the assembly line. Multiple alternatives for process monitoring can be generated by identifying diverse combinations (e.g., tasks 8 and 9). These alternatives have been saved and transferred to the optimization module (Sect. 4.3) to identify the optimal assembly plan, including the process monitoring alternative. As with the first case study, the production graph is considered in the optimization model for the second case study (the toy car). Table 9 in Appendix 4 shows the best assembly plans obtained by the optimization module. Among all these plans, the user selects the best one which corresponds to a cycle time of 141 (s) and monitoring efficiency of 70 \(\%\), and the optimal cost of 640 €, where we perform tasks 1, 3, and 4 at the second station (R2) using tools T4 and T6, and the rest of tasks at the fourth station (R4) using corresponding proper tools T12, T10, and T11. Table 3 shows the results of the simulation model for the performance of the selected assembly plan. Because of a collision, simulation prevents us from performing tasks 9 and 10 using tools T10 and T11. Similar to the first case study, new constraints for preventing such assignments are generated and imported to the optimization model. Therefore, a reconfiguration is needed to remove the tool T10 and use tools T11 and T12 (which are already located at the station). However, this plan results in a bit higher cost (690 €compare to 640 €). This plan with a certain configuration of the route can be realized with the simulation model.

Table 3 Final optimization results after validation via simulation (case study 2)

5.3 Discussion

The results of the two case studies show how assembly plans, including alternatives for process monitoring, can be generated automatically. Even with a minimal increase in complexity, one can see how the number of possible assembly plans increases. In addition, planning process monitoring for an assembly plan further enhances complexity. Multiple alternatives for process monitoring can be identified for every single assembly plan. This methodology enables efficient and demand-driven planning of process monitoring alongside assembly planning. Due to multiple criteria (number of reconfigurations for assembly processes, number of reconfigurations for monitoring processes, monitoring accuracy and speed as monitoring efficiency, assembly and monitoring process costs, etc.) users can prioritize individual assembly and process monitoring plans. As shown in the results this can be achieved by connecting the information to an optimization module. Two observations can be derived from the case studies: First, the importance of the individual parameters defining the assembly system (e.g., resource and reconfiguration costs), and second, the consideration of investing in new resources and/or tools. The first observation concerns both case studies and the high activation costs of each station. This leads to more appropriate assembly on fewer stations to reduce assembly costs. When the activation costs decrease, other criteria such as monitoring efficiency come into play more in the optimization module. This allows the use of more stations in the line. A second remark is that both case studies consider occupied or not reconfigurable resources and/or tools, but investing in new resources/tools is not taken into account. The simulation makes it possible to give feedback if a resource/tool is available for reconfiguration (i.e., not occupied on other station). As an example of case study (2), if T2 is used in station 1, it cannot be used for reconfiguration in station 3 for the same assembly plan. Furthermore, scalability has not yet been tested. Increasing the complexity of the product to be assembled as well as the assembly system with its resources and tools has shown a direct relation to the data being generated (assembly plans and monitoring alternatives). It can be argued that individual modules can work more efficiently on a higher scale than others. For example, the generation of assembly plans due to assembly-by-disassembly is quite time-consuming for complex products due to the simulation effort. This can be seen in Table 4. The calculation times are approximate values determined from screen recordings. The time required for user interactions was not taken into account. The individual times assigned to the modules are therefore pure computing times (in seconds).

Table 4 Performance of individual modules

6 Conclusion

The proposed methodology represents an approach to integrating process monitoring planning into assembly planning in combination with optimization. Considering monitoring processes as a relevant aspect in process planning can result in higher quality in process execution and final products. An early consideration of monitoring processes enables a more targeted generation of suitable assembly plans based on individual decision criteria (e.g., number of reconfigurations vs. higher accuracy in process monitoring and thus process control). To handle the complexity of various product variants, assembly sequences, assembly and monitoring resources, and assembly and monitoring plans, the proposed methodology has been implemented with proper feasibility and efficiency. We showed that the developed support system is very useful in practice to link the product designer and the process planner. Automated analysis of product CAD files to identify assembly and monitoring processes, and resource matching through a skill-based approach in an existing production system, enables more efficient process planning and use of RMS. In particular the aspect of diagnosability through planning variable process monitoring alternatives has been addressed in this paper. The optimization module shows that additional criteria, by integrating process monitoring alternatives via a quality factor, can extend and improve the generation of assembly plans for RMS. This is the first conceptual attempt to show the performance of the proposed support system which has the potential to be extended considering following future research directions. In further research, the scalability of this methodology has to be tested by taking into account more complex products and production systems. Considering a large number of tasks leads to a combinatorial explosion in the number of possible assembly plans. Therefore, developing an appropriate optimization approach (e.g., a (meta-)heuristic) can be a useful future research contribution on the application of the proposed support system in large cases. Several extensions can be considered in the optimization model, as mentioned in this paper, such as adding area constraints for task assignment. Moreover, considering mobile robots and moving workers, as well as studying human-robot collaborative systems, opens interesting research avenues.