1 Scientific and Industrial Motivations

Manufacturing systems need fast reconfigurations to cope with changing customer needs (e.g. new models, model variants, and materials), new technologies, and also unexpected external and internal events. This problem has been identified as the need to tackle the co-evolution, i.e., the joint evolution of products, processes and the production systems [1]. The proper management of the co-evolution asks for production systems that are able to implement modifications of their usage or configuration [2]. A production system that is able to evolve can be associated with different basic flexibility levels (i.e. 1—Flexibility, 2—Reconfigurability and 3—Changeability), depending on the magnitude of actions that are needed to change its capability [3].

A Flexible Manufacturing System (FMS) is a production system consisting of CNC machining centres connected by automated transport systems, moving pallets with clamped workpieces, under the supervision of a centralised control system [4]. An FMS is typically endowed with both Flexibility and Reconfigurability. Flexibility consists in the ability to execute a wide range of operations thanks to general purpose machining centres that are equipped with tool magazines; furthermore, different routings, process plans and part mixes can be realized, while respecting the overall production capacity of the system. Reconfigurability in an FMS is given by the possibility of making changes to its equipment, such as: (1) addition/replacement of tools to execute new machining operations; (2) addition/reallocation of fixtures composing the pallets to process new part types or increase the throughput of existing part types; (3) acquisition of further machining centres to increase the overall throughput of the system.

The level of flexibility of FMSs has significantly increased and machining centres are typically programmable and equipped with automatic systems to quickly change tools and parts inside the working area defining their capability. However, important limitations to their flexibility still exist and the attention has now shifted from the machine/robot to the interface between the system and the workpieces. Moreover, a market demand characterized by small lot sizes and a high number of product variants entails a consistent increase in the number and type of fixtures and pallets needed by an FMS. In this case, an FMS can provide actual Flexibility only if the whole set of usable fixtures and pallets is concurrently available, so that the production plans can be optimised without further resource constraints. However, this solution leads to high investment costs in production resources and is not adopted by manufacturing companies. Therefore, changes in the configuration of the pallets usually require significant reconfiguration times (both for hardware modifications and validation of the setup), thus hindering the Flexibility of an FMS, since it is needed to move to the higher level of Reconfigurability. This limitation can be tackled only if it is possible to reduce the overall pallet reconfiguration time.

The adoption of zero-point clamping systems [5] is a solution with high potential for the reduction of pallet reconfiguration time. A zero-point clamping system is designed by assembling standard baseplates with fixtures and provides a reference zero point without needing to realign the modular fixture and the pallet, therefore rapid and safe changes of the fixtures can be operated. If different baseplates are available, then the pallet can be effectively reconfigured in a short time. Moreover, if the pallet consists of a tombstone with multiple housings, then the pallet configuration depends on both the type and position of the baseplates. However, the higher flexibility offered by zero-point clamping systems comes with a higher complexity both at system design and system management level.

The use of modular fixtures and reconfigurable pallets requires a different way of dealing with pallet configuration and process planning. The modularity and reconfigurability of the pallets give the opportunity of frequently changing the type, position and number of parts and, therefore, the associated process plan must be updated accordingly. This can be achieved through a modular structure of the machining process (i.e. part program) that enables to shift some decisions from the process plan definition (planning level) to the process plan execution (shop floor level). Thus, the flexibility offered by modular process plans must be paired with methods that are able to generate and validate the overall process plan that is fitting the actual pallet configuration.

In addition, even in modern FMSs, loading/unloading activities still remain mostly manual and, thus, prone to errors with the risk of potentially destructive crashes during high speed machining. As the variety of tasks to be executed by workers increases, the risk of errors becomes higher, hence, inspection devices and tools are needed to control the actual pallet configuration (e.g. state of the clamping, position, orientation and geometric dimensions of the parts).

Finally, the possibility of frequent and quick reconfiguration of pallets gives additional options for production planning, through more complex loading and management policies.

After presenting an overview of the state of the art (Sect. 3.2), this work proposes an approach to cope with design and management problems associated with the use of zero-point clamping systems in an FMS (Sect. 3.3). Given the different methodologies and tools integrated in the approach (Sect. 3.4), there is a need of structuring the involved heterogeneous data. Therefore, a reference data model is defined to enable the sharing of data and knowledge as well as to enhance the interoperability of the software tools. The proposed approach has been tested thanks to a hardware and software prototype (Sect. 3.5) that was realized to represent a realistic industrial case. Finally, conclusions are drawn in Sect. 3.6.

2 State of the Art

This section gives an overview of the state of the art for the scientific and industrial areas described in the previous section, i.e. (1) selection of modular fixtures, (2) design of pallet configurations and process planning, (3) inspection of objects in industrial environments, (4) production planning and (5) data modelling for pallets and fixtures.

Modern machine tools and systems are generally provided with reconfigurability options and flexibility degrees designed to meet production requirements. However, the focus is usually on machine tools, handling devices and tools, while the fixtures for clamping the parts have to be manufactured or significantly altered for each specific part. Hence, several researchers focused on fixture devices to enable quick reconfiguration and adaptation to customer demands. Ghandhi and Thompson [6] proposed an automated approach for the design of modular fixtures for flexible manufacturing systems, Perremans [7] used a feature-based description of modular fixturing elements, and Hunter et al. [8] presented an approach to formalize the fixture design process under consideration of functional requirements and their associated constraints. Other researches have addressed the configuration of flexible and modular fixtures. For instance, Wu et al. [9] presented an automated fixture configuration design approach taking as input fixturing surfaces and points to select and arrange proper modular fixture components while satisfying assembly constraints. Nevertheless, most of the approaches in the literature are focused on a static set of parts without the capability of managing both the initial design and the reconfiguration steps in a single approach. The evolving requirements can be tackled if the design of single pieces of fixture is integrated with the definition of pallet configurations by specifying the number and position of the workpieces on the pallet. The goal of pallet configuration is to guarantee the machinability of the workpieces on the pallet as well as their accessibility for loading, unloading and re-clamping. The machinability depends on the number and type of the machine tool controlled axes, as well as on the setup (i.e. orientation) and pattern (i.e. location) of the workpieces. Setup planning and pallet configuration have been simultaneously solved by exploiting a unique mathematical model considering one part type per pallet and one workpiece setup per pallet face [10]. Such limitations regarding the pallet configuration can be properly addressed only by jointly tackling also the process planning in a modular way, e.g. by defining the machining process as a Network Part Program (NPP) [11] that is a process plan (and then a part program) defined in terms of a Directed Acyclic Graph (DAG). An approach for pallet configuration based on NPP to deal with the simultaneous machining of different workpieces on the same pallet has been recently proposed [12].

Object inspection is largely employed in the manufacturing industry to guarantee that the produced parts are satisfying the required quality. Contact measurement systems (e.g. coordinate measuring machines or CMM) are the most commonly employed in the industrial practice [13]. However, they are sub-optimal due to several limitations in terms of low reconfigurability and customizability levels, high costs and the time required for the inspection. On the other hand, commercially available contactless inspection systems generally require manual intervention for the registration process of the scanned data to the ideal shape and are thus not usable to automatically detect deviations through pallet inspection as required in FMS scenarios [13, 14]. Various three-dimensional (3D) scanning technologies are available to provide a digital description of the 3D scanned object in terms of 3D meshes. Research has been carried out about mesh analysis and segmentation according to different perspectives [15, 16]. Moreover, different methodologies have been proposed for shape comparison enabling the identification of similar subparts [17].

The assignment of the machining operations to the available resources in an FMS is typically addressed by machine/resource loading approaches [18]. The FMS loading problem has been formulated in various variants, taking into consideration the different objectives, e.g. minimisation of the movements across the system, balancing of the machine workload, and maximisation of the job priorities [19]. The throughput of an FMS (but also a larger variety of its performance indicators) depends on the capacity of the machines, but also on the number of available fixtures; nevertheless, only a limited subset of the literature explicitly considers availability of pallets and fixtures [20].

Several works have addressed the problem of modelling pallets and fixtures in the context of manufacturing systems. Bugtai and Young [21] proposed an object-oriented approach to model the manufacturing information related to fixture elements and processes including a specific extension related to the fixturing. The FIXON ontology [22] applied the Description Logic (DL) language to fixtures and related components to support seamless information exchange. FixOnt [23] was proposed as domain ontology to classify workholding fixtures and fixture components while supporting automated fixture design in reconfigurable manufacturing systems. FixOnt reused and adapted the FIXON ontology [22], including several extensions to address specific requirements of the reconfigurable vise-type fixture not included in FIXON. Pellegrinelli et al. [24] proposed an ontology-based data model that integrates various knowledge domains relevant to the problem of design and management of an FMS. The ontology proposed in this paper is loosely based on the earlier work by Terkaj et al. [25] and integrates the FixOnt ontology [23], the ifcOWL ontology [26] and an ontology version of the STEP-NC standard [27].

3 Problem Formalization

This section presents a formalization of the addressed industrial problem by representing the workflow of activities related to the whole lifecycle of a flexible production system, as shown in Fig. 3.1 adopting the IDEF0 formalism. Based on the requirements to be met and the set of selectable resources, the activity Design System (A1 in Fig. 3.1) takes care of designing the whole flexible production system in terms of hardware configuration, process plans, specific fixtures and inspection systems. The activity Construct, Install & Maintain System (A2 in Fig. 3.1) implements the decisions taken during the (re)design phase and continuously updates the state of the system based on monitoring information. The activity Execute & Monitor System (A3 in Fig. 3.1) receives as input the orders and the current system configuration and plans the manufacturing execution tasks that must be properly monitored. Herein, the attention will be focused on the activities Design System and Execute & Monitor System because they are relevant for the design and management of modular reconfigurable pallets in an FMS.

Fig. 3.1
figure 1

IDEF0 diagram representing Design and Manage Flexible Production System activity

The activity Design System can be further detailed as shown in Fig. 3.2.

Fig. 3.2
figure 2

IDEF0 diagram representing Design System activity

The activity Design System Configuration (A11 in Fig. 3.2) consists of selecting the production resources and planning the layout of the system. Beyond the typical production resources, the design of the pallet inspection system is also included because it plays a crucial role to cope with the additional flexibility given by the adoption of zero-point clamping fixtures. Indeed, pallets are typically configured and verified before their utilization in traditional FMS systems. Once they are introduced in the FMS, the verification activities are limited and in charge of the workers that have to manage a restricted range of possible situations while loading and unloading the parts. On the contrary, when the reconfiguration of the pallet occurs more often and can be quickly executed, the risk of errors in the loading of the right parts on the right fixture increases and it is necessary to provide a fast and reliable verification method. Possible errors can be related to loading the wrong part type variant, or loading the right part type in the wrong process phase. The pallet inspection system will be reasonably installed in the load/unload station.

The activity Plan Processes (A12 in Fig. 3.2) defines the process plans, i.e. the set of machining operations needed to transform the raw parts/materials into finished products. The operations are defined based on the available technologies and production resources (e.g. machine tools, types of fixtures), while considering manufacturing goals and constraints.

The activity Configure Pallets & Fixtures (A13 in Fig. 3.2) aims at providing a solution for the allocation of parts (and consequently fixtures) on pallets to guarantee the feasibility of the machining. Therefore, it takes into consideration the characteristics of the parts and the associated process plan, the definition of the setups together with the process parameters. The fixture/pallet configuration activity is constrained by the available machine tools in terms of the number of axes, the dimension and the characteristics of the working envelope, the performance in terms of maximum spindle speed, available cutting power, quality characteristics like repeatability and accuracy, energy consumption, etc. When considering the additional degrees of freedom and, hence, of flexibility provided by the adoption of zero-clamping fixtures, the fixture/pallet configuration phase has to take into account the available modular fixtures and provide a reduced set of possible configurations in terms of different ways to assemble the available baseplates onto the pallet tombstone and the feasibility of the machining operations in the different pallet configurations. Hence, it provides a set of possible pallet reconfiguration options exploitable during the execution phase.

Once the possible fixture/pallet configurations are generated, the activity Set up Pallet Inspection (A14 in Fig. 3.2) delivers the reference pallet inspection setups (e.g. master geometries) that will be used to validate the actual configured pallet during manufacturing execution.

The activity Execute & Monitor System (Fig. 3.3) starts with the Load & Optimize (A31 in Fig. 3.3), i.e. the assignment of the operations to the production resources based on management policies taking into consideration and exploiting the benefits provided by zero-point clamping systems. Basically, management policies are responsible of selecting the best pallet configurations among the possible ones and define how the machines have to process the parts to optimize the use of the FMS. Management policies consider the part types to be produced together with their evolution within the considered planning horizon, the possible pallet configurations, the availability of pallets and fixtures in terms of tombstones and baseplates as well as the machinability of the operations in the different pallet configurations and the availability of the tools. The assessment of the quality of the loading policies can be done considering the dynamic behaviour of the system via performance evaluation methods that are used to calculate the typical performance of the system, e.g., the throughput, the utilization of the resources, the number of pallets in the queues, etc.

Fig. 3.3
figure 3

IDEF0 diagram representing Execute & Monitor System activity

The activity Make Pallet Inspection (A32 in Fig. 3.3) deals with methods and tools to verify the actual configuration of the pallets as well as the correct loading of parts by obtaining a 3D model of the real pallet (slave) to be checked against the ideal pallet configuration (master). The pallet check phase provides warnings or alarms when the final configuration of the pallet does not match the expected layout.

If the pallet check is successful, then the digital representation of the pallet is used to feed the activity Generate & Validate machining process (A33 in Fig. 3.3) that tackles the generation of the part program of the complete pallet (i.e. the sequence of commands to be executed by a CNC machining centre). If the part program for the current pallet configuration has not yet been validated, then it is possible to run a process simulation to identify possible errors, e.g. collisions between a cutting tool and the fixtures, before finally moving to the activity Execute machining process (A34 in Fig. 3.3).

4 Pallet Design and Management Approach

This section presents the proposed approach to support the design and management of modular reconfigurable pallets. The approach is based on the work by Urgo et al. [28] and consists of a set of methods and tools supporting most of the activities described in the previous section. Herein, the activities Construct, Install & Maintain System (A2) and Execute machining process (A34) are considered as out of scope. Furthermore, the assumption is made that the following activities have already been carried out: Design System Configuration (A11), Plan Processes (A12). Therefore, it is already known which are the selected production resources (i.e. machine tools, transporters, physical pallets, modular fixtures, etc.) and the set of machining operations to execute for each part type.

The following sub-sections will delve into methods and tools composing the proposed approach that is shown in Fig. 3.4. The approach resembles a star network because the need of interaction and data exchange between the tool is operated through a shared factory model based on a common Factory Data Model (component 1 in Fig. 3.4) presented in Sect. 3.4.1. The methods and tools (components 26 in Fig. 3.4) are described in Sects.

Fig. 3.4
figure 4

Model-based integration of methods and tools to support the proposed Pallet Design and Management approach

4.1 Factory Data Model

The data model is a key element to support interoperability between different digital tools, providing the capability to retrieve, store and share information. Therefore, a suitable data model must be able to cover and integrate heterogeneous knowledge domains, while guaranteeing extensibility.

Semantic Web technologies and in particular ontologies can be employed to meet these requirements [29, 30]. Herein, a modular ontology-based Factory Data Model is proposed to formalize the information that is in particular relevant to the design and management of modular reconfigurable pallets. The OWL 2 ontology language [31] is adopted and the work of Pellegrinelli et al. [24] is taken as the basis of the proposed Factory Data Model that aims at representing a detailed pallet structure and its fixture elements, workpiece setup, pallet inspection systems, and the evolution of the state of the factory objects. The architecture of the data model is shown in Fig. 3.5 and consists of the following ontology modules:

Fig. 3.5
figure 5

Ontology modules of the Factory Data Model linked by import relations as shown by Protégé software tool [39]

  • list, an ontology defining the set of entities used to describe the OWL list pattern [32].

  • express, ontology mapping the concepts of EXPRESS [33] language to OWL [32].

  • IFC_ADD1, the ifcOWL ontology that is converted from the IFC standard defined in EXPRESS language [26, 32].

  • IFC_ADD1_rules, an enhancement of the ifcOWL ontology with axioms derived from WHERE rules in the original IFC EXPRESS schema [34, 35].

  • fsm, an ontology defining the concepts required for modelling finite state machines [36].

  • sosa, the Sensor, Observation, Sample, and Actuator (SOSA) Core Ontology [37].

  • ssn, the Semantic Sensor Network Ontology [37].

  • statistics, an ontology that defines probability distributions and descriptive statistics concepts [38].

  • expression, an ontology modelling algebraic and logical expressions [38].

  • osph, an ontology modelling Object States and Performance History, while integrating the ontology modules fsm, statistics, ssn, sosa, expression [38]

  • IFC_ADD1_extension, an ontology module integrating osph and IFC_ADD1_rules modules, while adding general purpose extensions to IFC_ADD1.

  • ISO14649-10, based on the STEP-NC standard [27] converted from EXPRESS schema into OWL ontology according to the pattern defined in [32].

  • factory, a specialization of IFC_ADD1 with definitions related to production processes, part types, manufacturing systems and machine tools.

  • inspection, an ontology defining the concepts of object inspection and 3D scanner system for data acquisition (e.g. laser scanner and its components).

  • FO1.3: a fragment of the FixOnt ontology presented in [23].

  • dmanufacturing, ontology module integrating four modules (ISO14649-10, factory, inspection, FO1.3), while adding specializations for the discrete manufacturing domain.

The modules IFC4_ADD1_extension, factory, inspection, and dmanufacturing represent an evolution of the modules IFC4_ADD1_extension, FactoryDomain, VisualInspectionDomain, and DiscreteManufacturingDomain, respectively, presented in [24].

The Factory Data Model can be instantiated to generate libraries of objects such as part types, operations, fixtures, and pallet components that can be later exploited to define specific pallet configurations, as discussed in the following subsections.

4.2 Pallet Configuration

Optimizing the pallet configuration means to identify the best location of the workpiece on the baseplates and their positioning on a given structure, taking into account the setups necessary for machining the workpiece as well as its operations (Fig. 3.6). The proposed method for pallet configuration is able to manage zero-point clamping systems with two sequential steps: accessibility analysis and workpiece allocation, thus supporting activity A13 in Fig. 3.2.

Fig. 3.6
figure 6

Example of pallet configuration

Accessibility analysis requires as input the identification of the baseplates that can be mounted on the pallet, the dimensions of each baseplate, the setups for each considered workpiece in terms of operation tool access directions and the number of axes of the machine tool. For each workpiece setup and for each baseplate, the admissible patterns (i.e. number of rows and columns of workpieces) are listed. The pattern admissibility depends on the spatial dimensions of the workpiece on the zone, the tool access directions that have to be respected for all the workpieces of the pattern as well as on the position of the face with respect to the position of the zone in the physical face of the pallet.

Workpiece allocation defines the configuration of the pallet by identifying the position and numbers of the workpieces on the baseplates and, consequently, on the pallet. Specifically, the best combination of admissible baseplates on the pallet is selected among all the possible combinations. A mixed integer mathematical model (MIP) is optimised by maximising the number of finished produced parts while meeting the constraints related to pallet balancing (the number of workpieces in each work piece setup has to be equal for each part type) and the consistency between the baseplates, the physical pallet face and the workpiece setups. The model can be re-run multiple times to generate different solutions in terms of pallet balancing and/or placement of the workpieces. More details about the pallet configuration method can be found in [12].

4.3 Design and Setup of the Pallet Scanner

The proposed approach performs the inspection of the pallet configuration at the shop floor level by means of a 3D laser scanner that acquires the pallet data as a point cloud. The laser scan technology is promising as a versatile and low cost solution capable to operate under difficult shop floor conditions in term of light sources and dust.

The design of the pallet scanner (i.e. part of activity A11 in Fig. 3.2) aims at supporting the complete acquisition of the pallet while considering the characteristics and size fixtures that can be used to generate pallet configurations. The following activities are carried out to design the scanner configuration and distance from the inspected object (i.e. pallet) [13, 40]: selection of the camera with optics guaranteeing the appropriate resolution; selection of laser type and optics with fan angle and positioning to cover the required volume; identification of step motors for the selection of the number of laser edges.

The point cloud generated when the scanner inspects a pallet must be elaborated and compared with the desired pallet configuration, i.e. the master geometry associated with the correct positions and shapes of all the elements composing the pallet configuration. The generation of the needed master geometries is part of activity A14 in Fig. 3.2. Two possible ways of generating the master geometries can be foreseen:

  1. 1.

    Empirical generation. The possible and relevant pallet configurations are implemented and each face of the pallet is acquired by the laser scanner. The resulting point clouds are elaborated and the master geometries of the various pallet faces (with fixtures and workpieces) are stored in a database for future use. This solution can be managed if the number of possible pallet configurations (or at least the number of different pallet faces) is not too high; otherwise the workload of the setup phase becomes excessive.

  2. 2.

    Model-based generation. The master geometry is calculated by exploiting the 3D CAD models of the pallet together with the topological configuration of the laser scanner. The following comparison with the scanned point cloud can be made easier by computing the area of the master geometry corresponding only to the portion of the pallet that is actually visible and acquired by the laser scanner. Therefore, it is necessary to identify all the mesh elements of the 3D CAD models that are simultaneously visible by the camera and the laser of the scanner [12]. These two sets are obtained by considering the scanner camera and the laser positions to determine the viewing frustum as in 3D computer graphics. Furthermore, critical elements that are almost parallel to the view direction can be removed to reduce the noise during the comparison elaborations.

The proposed approach is able to deal with both ways of generating the master geometries, therefore it is not necessary to impose restrictions.

4.4 Loading and Optimization

As anticipated in the introduction, the use of zero-point fixture systems can actually increase the flexibility of an FMS. In particular, the possibility to change the fixtures mounted on a pallet in a short time can lead to:

  • Lower number of pallets and fixtures needed to satisfy the same demand mix.

  • Better workload optimization for all the involved resources (machine tools, pallets and fixtures).

  • Shorter makespan to accomplish the overall required production.

These options open new ways for production planning policies never considered in literature because not applicable with traditional clamping technologies. Therefore, herein the aim is to support activity A31 (see Fig. 3.3) by optimizing the reconfiguration of physical pallets (i.e. changing the assignment of the available baseplates to the tombstones) and the assignments of machining operations to machine tools. The set of machining operations associated with a pallet configuration can be assigned to more than one machine tool thanks to the non-linear formulation of the part program [41, 42], thus increasing the complexity of the loading problem.

The proposed Loading and Optimization method jointly tackles the fixture assignment and loading problem by sequentially solving two sub-models (see Fig. 3.7) to reduce the computational complexity while introducing a certain degree of approximation:

Fig. 3.7
figure 7

Structure of the Loading and Optimization method

  1. 1.

    Model 1 assigns the fixtures (i.e. baseplates) to the pallets over the planning horizon, thus determining the needed pallet reconfigurations. The goal is to minimize both the required number of baseplates and the makespan.

  2. 2.

    Model 2, given the outcome of the first model, assigns the machining operations of the baseplates to the available machines (or groups of machines), thus determining the routing of the pallets in the system. The goal is to minimize the makespan while taking into consideration a higher level of details with respect to Model 1.

The proposed method has been tested on 10 production problem instances described in Table 3.1. The results of the proposed method have been compared with the results that can be obtained without zero-point clamping technology, i.e. using traditional pallets. The same number of physical pallets has been considered in both cases, therefore the cost for the pallets and fixturing equipment is equivalent, except the additional cost for the baseplates endowed with zero-point clamping technology.

Table 3.1 Production problem instances

The experiments showed a saving of about 10% on average in terms of makespan thanks to the use of zero-point clamping technology compared with the use of traditional pallets. This means that, if the benefit linked to this time saving is higher than the cost of adopting the zero-point clamping technology, then it is advised to opt for it.

4.5 Pallet Inspection

The activity Make Pallet Inspection (A32 in Fig. 3.3) is carried out by scanning the actual pallet configuration that must be processed by the machining centres. The pallet scanning returns a point cloud that must be further elaborated to check if the pallet configuration is correct. This check is performed through the evaluation of the difference between the scanned point cloud (i.e. slave geometry) and the master geometry (Fig. 3.8) generated during the setup of the scanner (see Sect. 3.4.3).

Fig. 3.8
figure 8

Example of master geometry

Each point of the slave geometry is analysed and the three closest points in the master geometry are selected to calculate a plane equation. Then, the distance between the point of the slave and the plane is computed. Finally, the minimum square error based on all the computed distances is calculated. After the elaboration, the method returns statistics in terms of maximum, mean, and minimum errors with respect to the reference pallet configuration [12]. These results can be used to support a decision system identifying significant deviations as a symptom of possible errors in the mounting of the parts or be presented to the operator who decides if any intervention is needed.

4.6 Machining Process Simulation

The activity Generate & Validate machining process (A33 in Fig. 3.3) consumes the results of the pallet inspection together with the information related to the machining operations and the fixture and pallet configuration. The part program associated with the whole pallet can be automatically generated while adopting the Network Part Program method mentioned in Sect. 3.2. The part program is defined in terms of a partially ordered set of operations exploiting the STEP-NC [27] structure through machining working steps (MWs). A set of MWs is associated with each baseplate, whose toolpaths are referred to the coordinates of the baseplate itself. Once the baseplates are located onto the tombstone and recognized through the pallet inspection, the coordinates of the baseplates are updated accordingly and the actual paths for the tool are derived automatically. Specific algorithms are used to generate the rapid movements between the baseplates taking into consideration their placement as well as the geometry of the fixture, in order to avoid collisions. Advanced algorithms can be employed to optimize the process for the whole system, i.e., clustering operations sharing the same tool to minimize the tool changes.

The commercial software tool VericutFootnote 1 has been adopted to simulate the part program and validate the CNC machining while considering the static and dynamic properties of the machine tools. This process simulation is able to check if the machine tool can perform the required machining operations without collisions.

5 Prototype and Testing

The proposed approach has been tested thanks to a hardware and software prototype, named Pro2ReFix (see Sect. 3.5.1), using the information related to a part type derived from an industrial case (see Sect. 3.5.2).

5.1 Pro2ReFix Prototype

The Pro2ReFix prototype is a portable frame demonstrating fast pallet reconfiguration through zero-point clamping systems and the configuration check by using a laser scanner. The prototype consists of various components as shown in Fig. 3.9:

Fig. 3.9
figure 9

Hardware components of the Pro2ReFix prototype

  1. (a)

    Structural frame hosting the functional components.

  2. (b)

    Rotating base integrated in the frame to hold the tombstone and enabling the rotation.

  3. (c)

    Pallet tombstone with zero-point clamping system.

  4. (d)

    Zero-point baseplates with predefined fixtures configuration hosting different parts.

  5. (e)

    Laser scanner to acquire the data for the identification and verification of the pallet.

The laser scanner consists of a camera FPGA 4Mpx (2048 dot acquired in each edge) 1 kHz and a laser (Class 3R) emitters with nominal power 100 mW characterized by low speckle. In addition, the design of the laser scanner has taken into consideration requirements like protection level (IP68), safety issues, low device footprint, electric shock. The laser scanner can capture object placed at a distance between 500 and 1500 mm with an average accuracy of 0.1 mm.

The prototype also entails a set of software components that operate the hardware elements and make elaborations, including:

  1. (a)

    Laser scanner controller. The controller takes care of the setup (Sect. 3.4.3), data acquisition and elaboration (Sect. 3.4.5) to provide as final output the detected pallet configuration by identifying the type of baseplates currently present in the configuration and their position on the tombstone. The scanned pallet (slave) is compared against a predefined set of 3D models of the available baseplates (master). The program was developed in Python language on a Unix operating system and can be directly accessed via monitor and keyboard, or remotely via Ethernet connection.

  2. (b)

    Generator of digital pallet configuration. The results of the laser scanning and the following elaboration are taken as input to obtain a digital model of the pallet as it is currently configured. A dedicated C++ program executes this elaboration by accessing ontology modules to generate OWL individuals representing the pallet configuration. The pallet configuration is defined in terms of a structured assembly of part types, fixtures, baseplates and tombstone. Once the digital pallet configuration is available, this information can be elaborated by other digital tools, e.g. for visualization purposes.

  3. (c)

    Generator of pallet part program. Another C++ program automatically generates the complete machining process by taking as input the current pallet configuration and the part program blocks associated with the machining of the single baseplates. The part program blocks are assembled and integrated with the proper rapid movements. The machining process is generated adopting the G-Code language.

  4. (d)

    Validation of the machining process. Taking as input the digital pallet configuration and the pallet part program, another C++ program was developed to automatically generate a simulation model of the pallet. This model is serialized as an XML file that can be loaded by the commercial software tool Vericut. This tool enables to run a detailed process simulation by executing the part program, so that the process can be validated and possible errors (e.g. collisions) can be detected before loading the part program on a real machine tool (Sect. 3.4.6).

The formalization of the information related to the prototype is based on the ontology described in Sect. 3.4.1 that facilitates the data exchange between the various software components. The elements characterizing the Pro2ReFix prototype are modelled as OWL individuals, i.e. instances of the ontology.

5.2 Experiments

The capabilities of the Pro2ReFix prototype and the zero-point clamping technologies have been tested with a reference part type wp (Fig. 3.10) whose process plan consists of three setups (Setup01, Setup02, Setup03). Therefore, based on the production stage, the part type can be in four different phases (wp_raw, wp_wip1, wp_wip2, wp_finished). Table 3.2 reports which is the input and output part type for each setup.

Fig. 3.10
figure 10

Reference part type wp

Table 3.2 Setup, input/output part type and baseplates

A different baseplate with zero-point clamping devices and appropriate fixtures have been designed and realized for each setup, as shown in Fig. 3.11 and indicated in Table 3.2. An example of pallet configured with different baseplates is shown in Fig. 3.12.

Fig. 3.11
figure 11

Baseplates, fixtures and input part type in a Setup01, b Setup02, c Setup03

Fig. 3.12
figure 12

An example of the designed reconfigurable pallet mounting three baseplates

A set of experiments has been carried out to test the laser scanner on various physical pallet configurations including baseplates and part types. Four different configurations of tombstone faces have been considered and the corresponding master geometries have been acquired and stored (see Table 3.3). The master geometry Master0 represents an empty face of the tombstone where no baseplate has been mounted. The other master geometries correspond to the baseplates associated with the three setups. Figure 3.13 shows the point clouds of Master1 and Master3.

Table 3.3 Master geometries
Fig. 3.13
figure 13

Point cloud of a Master1 and b Master3

After the definition of the master geometries, various physical pallet configurations were realized and the laser scanner acquired the point cloud for each of their faces. Table 3.4 reports the configuration of three tombstone faces together with results provided by the Laser scanner controller, i.e. the number of points identified in the slave and the comparison with all available master geometries. This comparison returns the number of points of the slave that are matched/not matched on the master, together with information about the error (maximum, mean, minimum, and standard deviation). These statistics are further elaborated by a matching algorithm to identify the best fit among the master geometry, i.e. Master1, Master2, Master3 for the three experiments in Table 3.4.

Table 3.4 Results of the experiments

The digital model of the physical pallet can be obtained as soon as all its faces are identified. Then, the part program of the whole pallet can be automatically generated and tested using the simulation software Vericut (Fig. 3.14) to identify possible interferences between the tools (and the machine) and the fixture, thus providing a verification for the pallet configuration under study. The simulation was successful for experiments shown in Table 3.4. An interference between the tool and the baseplates was correctly identified for another set of experiments where the baseplates were rotated by 90°, thus labelling the configuration as infeasible.

Fig. 3.14
figure 14

CNC simulation of the new pallet configuration in Vericut©

6 Conclusions and Future Research

This chapter presented an integrated approach with methods and tools to support the configuration, planning and execution activities in flexible manufacturing systems, while exploiting zero-point fixtures to support fast pallet (re)configuration.

The interoperability and knowledge integration issues have been addressed with a Factory Data Model based on semantic web technologies. The proposed inspection system consists of a laser scanner and verifies the correctness of the mounted pallet in the shop floor by comparing the scanned elements with the information included in the semantic model. Finally, non-linear process plan technologies have been exploited to support the generation of modular process plans and management policies have been used to take advantage of the degrees of freedom given by zero-point fixtures.

More details about the developed methods and tools have already been presented in conference papers [24, 43, 44] and contributions in journals and books [12, 26, 28, 32, 34, 35]. The methodologies and the developed prototypes have been tested on realistic industrial cases, thus demonstrating the feasibility and potential of the approach. The Pro2ReFix prototype (Sect. 3.5.1) was presented at BI-MU 2016 exhibition in Milan and attracted interest from various machine tool and system producers. The acquired knowledge and developed tools form the basis to expand the partner capabilities to start new industrial and research collaborations.

Future developments aim at reducing the limitations of the proposed methods and tools. Regarding pallet inspection, possible variations of the ideal geometry (e.g. due to allowable differences in part shape and positioning) should be considered. In addition, a broader analysis of the geometric and functional characteristics of the various elements in relations to the potential mounting errors should be performed to provide more precise information to the operator (e.g. wrong part mounted, no part mounted, fixture not in correct position). Based on the new functionalities provided by the software tools, also extensions to the current version of the Factory Data Model will be needed to properly support interoperability.