1. Introduction
Today’s machines have come a long way evolving from the mechanization era to replace human labor, to the automation era to replace human operation, and now entering a new era called autonomization to replace human thinking. The trend is to autonomize machines by using advanced technologies such as embedded computers, smart sensors and intelligent controls, so that eventually machines will be able to operate on their own without human intervention. Modular Reconfigurable Machines (MRMs) represent the highest level of these intelligent machines because they are capable of changing their structures to adapt promptly to new circumstances, perform new tasks, and even recover from damage [
1]. Apart from these functional advantages, MRMs are economically advantageous over conventional machines. Built based on modules that can be mass-produced, overall MRM cost is lower. In addition, the recurring cost and lead-time is minimized because the need for re-investment of completely new machines is eliminated [
1].
Although a number of MRMs have been developed around the world, they are still mainly based on the methods for traditional machines, with some modifications to MRMs on a case-by-case basis. Therefore, a new theory must be developed in order to deal with the varying topological nature of MRMs. Research into MRMs is an emerging field with research activities taking place in two areas: robotics and manufacturing. In the robotics area, a number of interesting modular reconfigurable robots (MRRs) have been put forward. Though these MRRs were proposed on an ad hoc basis, they may be broadly classified into three categories:
self-assembly,
self-configuring and
manual-configuring. Self-assembly robots have the highest level of reconfigurability because they can automatically assemble and disassemble from their own modules or even grow by themselves [
2]. Self-configuring robots, though not self-assembly, can perform self-reconfiguration after a robot system is assembled with some form of manual assistance [
3]. Manual-configuring robots are the lowest level of reconfigurable robots, and they can only be reconfigured with manual assistance [
4]. In terms of industrial applications, however, the last type is the most economical and robust due to its structure simplicity.
In the manufacturing area, primary efforts have been spent on the development of reconfigurable machine tools (RMTs) [
5]. Kota [
6] developed a methodology for synthesis of reconfigurable machine tools (RMT) using the screw theory for kinematics analysis and graph theory for machine structural synthesis. Tilbury and Kota [
7] further developed a methodology for the systematic design of reconfigurable machine tools and the associated control systems. Moon and Kota [
8] introduced a new screw representation for kinematic modeling of RMT. In their work, module selection was accomplished through decomposition of the required machining operations into a set of task matrices, which were then mapped to the machine modules. However, there is no clear guideline available for task matrix determination. As the number of machining operations increases, it becomes rather difficult, if not possible, to determine a minimum yet sufficient set of task matrices.
Modular design of machine tools has been studied for several decades. Shinno and Ito [
9] proposed a methodology for generating the structural configuration of machine tools. They decomposed machine tool structures into simple geometric forms, such as plates, beams, and boxes. Their research contributed to the design of machine tools for Flexible Manufacturing Systems (FMS). An overview of machine tool modular design was provided by Garro and Martin [
10]. Later on, Ouyang et al. [
11] adapted Ito’s method for modular machine tool synthesis and developed a method for enumerating machine tool modules. Zatarain et al. [
12] proposed a new method of modular machine tool synthesis using predetermined component information. Two major benefits of adopting modular structures are standardization of components and reconfigurability of devices. In particular, the advantages of modular design can be summarized as: (1) device reconfigurability; (2) speedy introduction of new devices; (3) maintainability and serviceability of devices; and (4) design information reuse [
13]. Though the traditional machine tool design was documented in [
14] and modular design was documented in [
15], these methods were not discussed in the context of reconfigurable machine tools.
To overcome these problems, a method is presented here for the systematic design of modular reconfigurable machine tools (MRMTs). This method consists of three steps: module identification, module determination, and layout synthesis. In the first step, the module components are collected from a family of general-purpose machines to establish a module library.
In the second step, for a given family of parts to be machined, a set of the needed modules are selected from the module library to construct a desired reconfigurable machine tool. In the third step, a final machine layout is decided through evaluation by considering a number of performance indices. Based on this method, a software package has been developed that can design an MRMT for a given part family.
3. Module Identification and Selection
The theory for module identification and selection was reported in our previous paper [
16]. For the completeness of the paper, a brief review is provided and then applied to MRMTs. The purpose of module identification is to establish two libraries and create a mapping between the two. The first library is called module component library, and the second one is called machining feature library. A mapping is created between the two libraries based on tool motion requirement.
3.1. Module Component Library
This library serves as a machine module database. It is established by considering all of the general-purpose machine tools including vertical and horizontal lathes as well as vertical and horizontal milling machines as shown in the first block of
Figure 2. This consideration provides comprehensive module coverage for modular reconfigurable machine tool design. In our design system, function taxonomy is created for each machine in terms of two core functions: motion and support. Motion modules include rotary and linear motion systems; support modules include machine bed and column. In
Figure 2, these modules are illustrated in the second block, their design attributes in the third block and motion requirement in the last block. A similar taxonomy structure can be created for actuators and controller based on machine tool control systems summarized in [
17].
3.2. Machining Feature Library
This library serves as a machining feature library. A machining feature identifies a volume of material that must be removed to obtain the final part geometry from the initial stock as well as the motion required to drive a tool to perform machining, commonly called tool approach direction (TAD). The machining process of a machined part can be represented by a set of machining features. The international standard STEP (Exchange of Product Model Data) [
18] is used for this purpose. STEP AP 224 “Mechanical Product Definition for Process Planning Using Machining Features” defines a list of common machining features. Our machining feature library is built based on STEP. For machining features not included in STEP, feature recognition methods [
19,
20,
21,
22] can be applied to update our library.
3.3. Module Selection
For a given family of parts as shown in the first block of
Figure 3, the associated machining features for each part will be extracted as shown in the second block and compared with the machining feature library shown in the third block to find the desired motion modules shown in the fourth block through motion matching, i.e., between TAD and machine motion module. Different parts will lead to different sets of modules shown in the fifth block.
As an illustrative example for an industrial application of mold making,
Table 1 enlists the machining features that are extracted according to STEP for a family of four given parts. Part 1 includes five machining features: (i) two general pockets; (ii) 10 bosses within a pocket—cylindrical; (iii) two slots—rectangular profile;(iv) two blind holes—counter-bored; and (v) seven blind holes—cylindrical. Both parts 2 and 3 contain six machining features, respectively, and part 4 four machining features. All of these features can be lumped into seven machining features (MF) as noted in
Table 2: MF1—“General Pocket”; MF2—“Boss within a Pocket—Cylindrical”; MF3—“Slot—Rectangular Profile”; MF4—“Blind Hole—Counter-Bored”; MF5—“Blind Hole—Cylindrical”; MF6—“Boss—General Profile”; MF7—“Step”; MF8—“Revolved Feature—Volume Removal”.
Table 2 demonstrates how these machining features are related to the corresponding motion requirements, i.e., TAD. For example, MF1 (general pocket) is machined by mounting the spindle in
z-axis and moving it in
x-,
y- and
z-axis. For MF2 to MF8, their motion requirements are detailed in
Table 2.
After analyzing the motion requirements, these machining features can be clustered into three machine configurations, as summarized in
Table 3. Here, letter A represents an
x-axis slide, B a
y-axis slide, C a
z-axis slide, D an
x-axis rotation table, E
z-axis spindle, and F a
y-axis spindle. Configuration 1 is composed of three translations with the spindle along Z direction, i.e., (A, B, C, E). This is a three axis vertical milling machine configuration that can be used to machine MF1, 2, 3, 4, 6 and 7 for the case under study. Configuration 2 consists of one translation with the spindle along the
y-direction, i.e., (C, F), i.e., a one-axis turning machine configuration that can be used to machine MF8. Configuration 3 is made up of two translations and one rotation with the spindle along
z-direction, i.e., (A, C, D, E). This is a two axis milling machine configuration with a turning table that can be used to machine MF5.
In our previous paper [
16], the theory for module classification was provided to include common, similar, and singular module components. The common module components appear in all machine configurations. The similar module components appear only in some machine configurations. The singular module components appear in only one machine configuration. As shown in
Figure 4, based on this theory, (C) is deemed a common module because it appears in all three configurations; (A, E) were deemed similar modules because they appear in configuration 1 and 3; (B, D, F) were deemed singular modules because each of them only appears in the respective configuration.
The basic idea of a reconfigurable machine tool design is to retain all of the common modules as a base, while trying to reduce the number of singular and/or similar modules that will be required for different tasks. One may argue that by simply combining all six modules, the resulting machine tool will be able to machine all the features without reconfiguration. However, this is the conventional design approach of multifunction machines at the cost of extra machine tool axes that may not be needed when machining each part within the part family. The essence of a reconfigurable machine tool design is to find a minimum number of machine tool axes that can machine all the features of a part family. Back to the case under study, if by reconfiguring singular module E (z-axis spindle) to F (y-axis spindle), the total number of modules will be reduced to five. However, the other two singular modules (B, D) cannot be simply replaced through reconfiguration. Hence, (A, B, C, D, E) represents a minimal set of modules for designing this MRMT. To summarize, common modules serve as a base, similar modules are used for reconfiguration design, and singular modules generally cannot be designed for reconfiguration due to their single usages.
4. Layout Synthesis
4.1. Layout Generation
After modules are selected, layout will be generated to form a desired reconfigurable machine tool. For this purpose, tree graph enumeration algorithms are adopted and the interested reader can refer to [
23,
24,
25,
26,
27,
28] for details. Steps are provided here: the first step is to enumerate all the generalized layouts by defining enumeration constraints, performing enumeration, and checking isomorphism. The enumeration constraints for generalized layout generation are: (1) number of vertices; (2) number of pendant vertices; and (3) maximum number of solutions. The number of vertices is set equal to the number of selected module components. The number of pendant vertices is set according to machining requirements.
The layout enumeration algorithm adopted is a growing algorithm for generating rooted-tree type layouts [
28]. The algorithm is initialized by assigning vertex numbers, initial values for variables, and constraint constants, such as number of vertices, number of pendant vertices, and maximum number of solutions. At this point, there is only one vertex (the root vertex) in the tree graph. Then, a new vertex is loaded into the tree graph and solutions are generated by connecting the new vertex with the existing vertices. For example, when the second vertex is loaded into the tree graph, one solution can be created by connecting the second vertex with the root vertex. Loading vertices continue until all the possible solutions are generated or the number of solutions exceeds the maximum value.
When a new layout is generated, it is possible that the layout is isomorphic to one of the existing layouts. Therefore, isomorphism detection is performed during solution generation. There are several methods proposed in the literature for isomorphism detection [
23,
24,
25,
26,
27,
28]. The isomorphism detection algorithm presented in this paper is based on the tree method [
23], which requires examining if the tree is rooted or not first. If the tree is not rooted, the center of the tree is determined and is taken as rooted. One way to find the center of a tree is to repeatedly remove all the vertices with connectivity 1 until either a single vertex or two vertices connected by an edge are left. A vertex is the center of the tree if it is the only one left. If there are two vertices left, there will be two separate centers. Once the trees are rooted, the isomorphism detection algorithm is applied. Either Breadth-First Search (BFS) or Depth-First Search (DFS) methods can be used for this purpose [
26].
For the given example, there are five selected module components; hence, the number of vertices is 5, and two pendant module components are required, i.e., one for the spindle (E) and the other for the module component that holds the part to be machined, which can be any one of (A, B, C, D). Hence, the number of pendant vertices is 2. The result of enumeration is shown in
Table 4.
4.2. Module Assignment
After the generalized layouts are created, the next step is to convert generalized layouts into specialized layouts by replacing the vertices in the generalized layouts with the module components. First, the module components are simplified for the purpose of illustration. As shown in
Table 5, for example, the module component “
x slide” can be simplified into a box. The function of this module component is “
x-Translation”. There are two connecting ports on this module component. One of them is a prismatic port and the other is a fixed port. In this work, there are three different types of connecting ports considered: prismatic port, revolute port, and fixed port. Prismatic port refers to a connecting port whose coordinate system is able to move along its own
z-axis for a distance with a specific range. Revolute port refers to a connecting port whose coordinate system is able to rotate about its own
z-axis for an angle with a specific range. Fixed port refers to a connecting port whose coordinate system is fixed.
After the module components of the new machine tool are idealized and the key attributes of the module components are collected, the next step is to define module assignment constraints. As mentioned early, the module generation method proposed in this paper is based on enumeration. There may be some layout solutions that are not feasible according to the machining functional requirements or computational efforts. Therefore, proper constraints need to be set so as to reduce or eliminate the infeasible solutions. Listed below are some typical constraints for module assignment:
Specify the modules that should be assigned to the pendant vertices;
Specify a module that should be assigned to the root vertex;
Specify some module components that should be connected with each other directly;
Specify allowed port connecting patterns, such as Prismatic-Fixed (P-F), Revolute-Fixed (R-F), and Fixed-Fixed (F-F);
Specify mobility requirements;
Specify maximum number of module assignment solutions.
For the given example, the module assignment constraints are set as follows. The spindle module “spindle” is assigned to a pendant vertex. The module component “y-slide” is assigned to the root vertex. The module components “spindle” and “z-slide” are connected together directly. Only three port connecting patterns are allowed: P-F, R-F, and F-F. Other connecting patterns like P-P and R-R are not considered as they will result in mobility loss. The degree of freedom between the two pendant vertices is four. The maximum number of module assignment solutions is 100.
To generate specialized layouts, a module assignment procedure is developed that consists of two steps: (1) enumerate sequences of the module components (Module Component Sequences Enumeration); and (2) enumerate port combinations between each pair of module components (Port Combinations Enumeration), as shown in
Figure 5. The first step is to enumerate the connecting sequences of the target module components. The module components can be classified into groups according to some of the constraints to reduce the complexity of the problem. In this case, the module components are classified into: pendant module components, module components within the same module, and other module components. After module component classification, module sequence solutions are generated by applying sorting algorithms. There are many sorting algorithms available. In this paper, we use the sorting function provided in MATLAB. The second step is to enumerate the port combinations between each pair of the neighboring module components. Changing the port combination may result in mobility loss. Therefore, mobility check is performed to screen out those infeasible solutions. The module assignment produces a total of 15 solutions as listed in
Table 6.
4.3. Layout Evaluation
Layout evaluation is to find a best solution from the aforementioned 15 solutions. Three indices are used for this purpose.
4.3.1. Reconfigurability Analysis
First, reconfigurability analysis is to measure how easily a machine layout can be reconfigured. The reconfigurability index is put forward as follows:
where
Nb is the number of steps required to change from configuration 1 to configuration
b;
d is the total number of configurations required; and
k means the
kth layout solution. We choose the first layout solution as an example.
Figure 6 demonstrates the calculation of the reconfigurability index for the first layout solution. A total of five adding/removing steps are required to change from the initial configuration to the last configuration. Therefore, the reconfigurability index is 1/5 = 0.2. The complete result of reconfigurability analysis is listed in
Table 7 for all 15 solutions.
4.3.2. Structural Stiffness Analysis
Second, structural stiffness analysis is to measure how strong a layout can be for the generated MRMT. The stiffness matrix is expressed as
where
is the local stiffness matrix of the module, and
J is Jacobian. Since there are translational and revolute modules, each layout has a workspace. In order to measure the stiffness of the layout over the workspace, the following stiffness index is introduced
where
N represents the total number of sampling points, and
tr() indicates the matrix trace opreation. The index
measures the average stiffness of a layout over the workspace. By assuming that all the local compliance indices are equal to 10
5, and picking five sampling points in the workspace, the result of structural stiffness analysis is listed in
Table 8 for all 15 solutions. A similar idea was presented in [
29] for multitasking machines. Generally, the system stiffness should fall under the standard value of machine tools, i.e., >0.1N/nm, depending on the required accuracy. It can be seen from
Table 8 that solution 5 has the highest stiffness.
4.3.3. Error Sensitivity Analysis
The purpose of error sensitivity analysis is to assess the effect of the module error to the tool tip error. The relationship between two errors is given as
In the above equation,
,
, and
represent the angular displacements of the tool tip in terms of Bryan angle;
is the transformation matrix between the angular displacements in the global coordinate system and the Bryan angular displacements;
represents a 3 by 3 identity matrix; and
represents the
ith module error. The linear and angular errors of the tip can be calculated by
In this context, two evaluation indices,
Sp and
So, are introduced for position error sensitivity and orientation error sensitivity, respectively, as follows:
where
c represents module error. For the given example,
c is set 0.1 and the total number of sampling points as 5. The result of error sensitivity analysis is listed in
Table 9 for all 15 solutions. It can be seen that solution 5 has the least position error sensitivity, and is in the 2nd least category of the orientation error.
4.4. Layout Selection
A final layout is decided by considering all the afore-mentioned four indices, based on which a combined index is proposed
In the above equation, r, s, and e represent reconfigurability, structural stiffness, and error sensitivity, respectively; k refers to the kth layout solution; , , and are the importance weights of the three criteria; and are the importance weights of position error sensitivity and orientation error sensitivity, respectively; and , , and are the normalized reconfigurability index, structural stiffness index, position error sensitivity index, and orientation error sensitivity index, respectively.
In this example, we assume that the three criteria are of equal importance and thus their importance weights can be assigned as: [
,
,
] = [0.3333, 0.3333, 0.3333]. We also assume that the position error sensitivity and the orientation error sensitivity are of equal importance: [
,
] = [0.5, 0.5]. The overall indices of all the layout solutions are listed in
Table 10. The layout solutions with a higher index value are considered as more suitable for the target machine tool design. In view of
Table 10, layout #5 is selected as the final design because this layout has the highest combined index value, with a very high structural stiffness, low error sensitivity and average reconfigurability.