Assembly sequence planning method considering characteristics of flexible components

By designing an assembly stress matrix and using a BP neural network to accelerate matrix element extraction, combined with an improved flower pollination algorithm, the problem of low assembly efficiency of flexible components was solved, achieving more efficient assembly sequence planning and improving the company's production efficiency and product quality.

CN116738837BActive Publication Date: 2026-07-21UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
UNIV OF ELECTRONICS SCI & TECH OF CHINA
Filing Date
2023-06-06
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing assembly sequence planning methods fail to effectively consider the characteristics of flexible components, resulting in difficulty in improving assembly efficiency and quality, and an inability to quickly respond to users' personalized needs.

Method used

The assembly stress matrix was designed, and a BP neural network was used to accelerate the extraction of matrix elements. A mathematical model for assembly sequence planning considering the characteristics of flexible components was established, and an improved discretized flower pollination algorithm was used to solve the problem.

Benefits of technology

It improves assembly efficiency, saves costs, enhances the company's market competitiveness, and better adapts to the assembly requirements of flexible components.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116738837B_ABST
    Figure CN116738837B_ABST
Patent Text Reader

Abstract

The application discloses a kind of assembly sequence planning methods considering the characteristics of flexible components, first design is used to store the maximum stress information of flexible component in assembly process assembly stress matrix, use the BP neural network after training input data to accelerate the matrix element extraction speed of assembly stress matrix, then establish the assembly sequence planning mathematical model considering the characteristics of flexible components, the influence of flexible component to assembly process is in the form of constraint condition and evaluation index into mathematical model, finally use the improved discrete flower pollination algorithm to solve mathematical model.The method of the application deeply studies and analyzes the constraint influence and efficiency influence of flexible component on product assembly, establishes a mathematical model more in line with the assembly requirements of products containing flexible components, and designs a feasible and optimized optimization algorithm for the model, which is beneficial to guide enterprise production, improve assembly efficiency, save assembly cost and improve enterprise product market competitiveness.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of assembly sequence planning technology, and specifically relates to an assembly sequence planning method that takes into account the characteristics of flexible components. Background Technology

[0002] In today's market, product assembly typically occurs at the end of the production cycle, and the manufacturing cost and final quality of a product are closely related to this stage. For a given product, assembly work generally accounts for 40% to 50% of the total workload, and assembly time represents more than half of the total production time in manufacturing. Simultaneously, the labor required for assembly accounts for about one-third to one-half of labor costs. Therefore, improving the efficiency and quality of product assembly has become a critical issue that enterprises urgently need to address. Furthermore, the overall production model in modern manufacturing is trending towards flexibility and automation, with companies prioritizing rapid response to user needs. This places higher demands on the efficiency of assembly solution design. Companies that can quickly develop industrial product production solutions that match personalized user requirements often gain a first-mover advantage in the market.

[0003] This is why more and more scholars are now involved in the research of assembly sequence planning. Most products manufactured today, ranging from ordinary household appliances to complex high-tech products at various levels, have some flexible components, which have a significant impact on the final product quality. Flexible components have different physical properties than rigid components; therefore, traditional assembly rules for rigid components may not be applicable to flexible components, necessitating the design of specific priority assembly schemes for flexible components. For products where the impact of flexible components is relatively high, an assembly sequence planning scheme that considers the assembly characteristics of flexible components and better reflects actual assembly conditions is needed. However, current research in this area is limited and lacks depth. Summary of the Invention

[0004] To address the aforementioned technical problems, this invention proposes an assembly sequence planning method that considers the characteristics of flexible components. It analyzes the differences in physical properties between flexible components and traditional rigid components during assembly, as well as the influencing factors of flexible components on the assembly process. It summarizes the relevant characteristics of flexible components during assembly, and, combined with the actual production situation of products containing flexible components, provides an assembly sequence planning model that considers the characteristics of flexible components. A suitable optimization algorithm is configured to help enterprises develop more scientific, reasonable, and suitable assembly sequence planning schemes.

[0005] The technical solution adopted in this invention is: an assembly sequence planning method considering the characteristics of flexible components, the specific steps of which are as follows:

[0006] S1. An assembly stress matrix designed to store information on the maximum stress experienced by flexible components during assembly.

[0007] S2. Use the BP neural network trained with the input data to accelerate the extraction speed of matrix elements of the assembly stress matrix;

[0008] S3. Establish a mathematical model for assembly sequence planning that considers the characteristics of flexible components, and incorporate the influence of flexible components on the assembly process into the mathematical model in the form of constraints and evaluation indicators;

[0009] S4. Solve the mathematical model using an improved discretized flower pollination algorithm.

[0010] Furthermore, step S1 is specifically as follows:

[0011] S11. Obtain relevant information about each component of the product, including external dimensions and material information;

[0012] S12. Establish a three-dimensional MBD model of the product. Perform assembly simulation tests on each component in pairs in the simulation software. Record the maximum stress value that the flexible component bears during the assembly process from the assembly start position to the target position by translation.

[0013] S13. Based on the number of product parts and the proportion of flexible parts, establish an assembly stress matrix of corresponding specifications, denoted as StrM. Group the matrix according to the assembly direction of the flexible parts and whether the flexible parts are actively assembled parts.

[0014] Given a product containing n parts, of which m are flexible components, and six possible assembly directions for the parts: +x, -x, +y, -y, +z, and -z, the specifications of the complete assembly stress matrix for the product are as follows:

[0015] (1) When the flexible component is the currently actively assembled part: m×n×6, the matrix is ​​denoted as StrM. a ;

[0016] (2) When the flexible component is not the currently actively assembled part: n×m×6, the matrix in this case is denoted as StrM p .

[0017] S14. Clarify the meaning of the numerical values ​​of different matrix elements;

[0018] Let the assembly direction be designated as k, where k is an integer, 1≤k≤6, corresponding to the six assembly directions in turn;

[0019] When the flexible component is used as the assembly stress matrix of the currently actively assembled parts, the matrix element str in the i-th row and j-th column is... ijkThe definition of (1≤i≤m, 1≤j≤n, 1≤k≤6, where i, j, and k are all integers) is as follows:

[0020] (1) If str ijk A value of 0 indicates that component i and component j will not come into contact during assembly along the k direction;

[0021] (2) If str ijk A positive real number indicates that when component i and component j are assembled along the k direction, they will come into contact, but this will not have a functional impact on the assembled component. The value of a positive real number represents the maximum stress value that the flexible component will bear during this process.

[0022] (3) If str ijk A value of -1 indicates that contact will occur between component i and component j during assembly along direction k, which will have a functional impact on the assembled components. This can be considered as interference. When the stress experienced by the flexible component during assembly exceeds its yield stress, str ijk =-1.

[0023] When the flexible component is a currently passively assembled part, str ijk The meaning remains unchanged.

[0024] S15. Fill in the numerical values ​​of each element of the assembly stress matrix based on the stress values ​​recorded in step S12.

[0025] Furthermore, in step S12, the assembly simulation test process of the product in the simulation software is as follows:

[0026] S121. Import the product's 3D model;

[0027] S122. Select the materials of the two parts to be simulated. If not, manually set the relevant information parameters.

[0028] Interference analysis of flexible components includes: material density, elastic modulus, and Poisson's ratio.

[0029] S123. Set the contact relationship between the active and passive components;

[0030] S124. Perform mesh generation.

[0031] S125. After dividing the mesh into units, add displacement to the active component, set the direction and distance of the displacement, and add fixed constraints to the passive component.

[0032] S126. Set the simulation substeps;

[0033] S127. Run the simulation program and check the results after the simulation is completed.

[0034] Furthermore, step S2 is specifically as follows:

[0035] S21. Collect and organize product component information data required for BP neural network training;

[0036] S22. Set the number of hidden layers and the number of nodes in each layer of the BP neural network;

[0037] The number of nodes in the hidden layer is set as follows:

[0038] Number of hidden layer nodes = 2 × number of input layer nodes + 1

[0039] S23. Input data to train the BP neural network and verify its accuracy.

[0040] Furthermore, step S23 is specifically as follows:

[0041] S231. Construct a single-layer hidden-layer BP neural network, and let the f1-dimensional input vector of the BP neural network be... f2 represents the output vector of the prediction result. Suppose the hidden layer has h nodes, and its output x′=(x0′,x1′,...,x h-1 ′) T ,x′∈R h ;

[0042] in,(·) T This represents the transpose operation, R represents the number field, and ω represents the weights from the input layer to the hidden layer. ij The threshold for each node in the hidden layer is θ. j The weights from the hidden layer to the output layer are ω′ jl The threshold for each node in the output layer is θ′ l .

[0043] The output vectors of the hidden layer nodes and the output layer nodes are as follows:

[0044]

[0045] Where f(x) represents the activation function, responsible for mapping the neuron's input to its output:

[0046]

[0047] S232. Set the target result vector of the actual data in f2 dimensions as... The target result vector has a total of P sets of data;

[0048] The sum of the squared errors of each output node is as follows:

[0049]

[0050] in, This represents the target result vector in the l-th dimension for the p-th actual data individual. Let E represent the output vector of the prediction result of the p-th actual data individual in the l-th dimension, and let E represent the loss function. The closer E is to 0, the better the training effect of the network.

[0051] The minimum gradient method is used to adjust the weights ω and thresholds θ of each layer of the neural network to make E smaller, as shown in the following expression:

[0052]

[0053] Where Δλ represents the correction values ​​of ω and θ for each layer, and η represents the learning rate of the model, which can be regarded as a constant and takes a value between (0, 1).

[0054] S233. The specific correction values ​​of ω and θ for each layer obtained from the derivation are as follows:

[0055] (1) Threshold correction value for the output layer:

[0056] Δθ′=-η(dy)y(1-y)

[0057] (2) Weight correction values ​​from hidden layer to output layer:

[0058] Δω′=η(dy)y(1-y)x′

[0059] (3) Threshold correction value for hidden layer:

[0060] Δθ=-η(dy)y(1-y)ω′x′(1-x′)

[0061] Where ω′ represents the weights from the hidden layer to the output layer.

[0062] (4) Weight adjustment values ​​from the input layer to the hidden layer:

[0063] Δω=η(dy)y(1-y)ω′x′(1-x′)x

[0064] After each iteration, the model's output vector y gets closer to the actual result vector d, and the value of E gets closer to 0. When the accuracy of E is sufficient to meet the actual requirements, the BP neural network model training is complete.

[0065] Furthermore, step S3 is specifically as follows:

[0066] S31. Set the basic assumptions for the mathematical model;

[0067] (1) Each step of the assembly sequence assembles only one component, that is, multiple components are not assembled at the same time;

[0068] (2) When assembling parts, only the six basic assembly directions along the standard coordinate axes are considered: +x, -x, +y, -y, +z, -z. Changes in assembly direction are not considered during the assembly process.

[0069] (3) The impact of the overall spatial layout of the assembly line is not considered;

[0070] (4) The impact of workers' rest time arrangements is not taken into account.

[0071] S32. Provide the constraints of the mathematical model;

[0072] (1) For interference constraints corresponding to rigid components, when a rigid component is assembled along a certain direction, the assembly interference matrix is ​​consulted. If contact or collision occurs with other components during the process, i.e., the matrix element corresponding to the assembly interference matrix is ​​1, then interference is considered to have occurred. The formula corresponding to this constraint is as follows:

[0073]

[0074] Where i represents the sequence number of the currently assembled component in the assembly scheme, and its corresponding component number is part1; while j from 1 to i-1 represents the sequence number of all components assembled before component i, and its corresponding component number is part2. The meanings of i, j, part1, and part2 in the subsequent constraint formulas are the same; im represents the matrix element of the assembly interference matrix, and its value corresponds to the assembly interference information of the two components at the following subscripts:

[0075]

[0076] (2) Regarding the stress constraint for flexible components, when a flexible component is assembled along a certain direction, the assembly stress matrix is ​​consulted. If, during the process, it comes into contact with or collides with other components and the maximum stress experienced by the flexible component during assembly exceeds the yield limit of the component (i.e., the matrix element corresponding to the assembly stress matrix is ​​-1), then an interference phenomenon is considered to have occurred, indicating that the flexible component cannot be assembled along this direction. The formula corresponding to this constraint is shown below:

[0077]

[0078] In this case, at least one of the components corresponding to part1 and part2 is a flexible component. The decision to consult StrM depends on whether the flexible component is an active component. a Or StrM p str represents a matrix element of the assembly stress matrix, and its numerical meaning is explained in step S14.

[0079] (3) Regarding the priority constraints for all components, when selecting a component for assembly, the assembly priority matrix is ​​consulted. If there is a component with a higher assembly priority than the current component (i.e., the component in the row containing the element with a value of 1 in the column of the current component in the assembly priority matrix that has not yet been assembled), then the current component cannot be assembled temporarily. The corresponding formula for this constraint is shown below:

[0080]

[0081] Where 'a' represents a matrix element of the assembly priority matrix, and its value represents the assembly priority information of two parts, as detailed below:

[0082] i. If a ij =1, which means that component i must be assembled before component j;

[0083] ii. If a ij =0, which means that component i does not need to be assembled before component j;

[0084] iii. In the matrix a ii The value of is always 0, so it has no meaning.

[0085] (4) Regarding the connection constraints for all components, when selecting a component for assembly, the assembly connection matrix is ​​consulted. If no component is connected to the current component, then the current component cannot be assembled temporarily. The corresponding formula for this constraint is shown below:

[0086]

[0087] Where 'c' represents a matrix element of the assembly connection matrix, and its value represents the assembly connection information of two parts, as detailed below:

[0088] i. If c ij =0 indicates that there is no connection between part i and part j;

[0089] ii. If c ij =1 indicates that part i and part j have a contact connection;

[0090] iii. If c ij =2 indicates that there is a stable connection between part i and part j;

[0091] iv. In the matrix c ii The value of is always 0, so it has no meaning.

[0092] S33. Provide evaluation metrics for the mathematical model;

[0093] (1) The sum of the maximum stress values ​​accumulated during the assembly process of the flexible component, T1, is calculated by consulting the StrM matrix;

[0094] (2) The number of times the flexible component and the rigid component are switched is T2. Each time the currently assembled component is different from the previously assembled component in terms of rigidity and flexibility, the number of times is increased by 1.

[0095] (3) Number of times the assembly direction changes T3, the number is increased by 1 when the assembly directions of adjacent parts in the assembly sequence are not the same; (4) Number of times the assembly tool changes T4, the number is increased by 1 when the assembly tools used by adjacent parts in the assembly sequence are not the same.

[0096] (5) The unstable connection degree T5 of the assembled parts: If there are no assembled parts that maintain a stable connection with the currently assembled parts after the parts reach their assembly position, then this value is increased by 1.

[0097] (6) The unstable support degree T6 of the assembly is increased by 1 if there is no assembled component that provides stable support for the current component after it reaches its assembly position.

[0098] S34. Calculate the weight values ​​of the six evaluation indicators using the fuzzy hierarchical analysis method, and record them as W1 to W6 respectively.

[0099] S35. Give a mathematical model for assembly sequence planning that considers the characteristics of flexible components;

[0100] Fitness function:

[0101] Min F(x)=W1·T1(x)+W2·T2(x)+W3·T3(x)+W4·T4(x)+W5·T5(x)+W6·T6(x)

[0102] Constraints:

[0103]

[0104]

[0105]

[0106]

[0107] Furthermore, step S4 is specifically as follows:

[0108] S41. Input relevant parameters, including the population size of the flowers, the number of iterations, and the specific values ​​of various probabilities;

[0109] S42. Enter the relevant assembly relationship matrix information of the product;

[0110] S43. Initialize the population and randomly generate the first batch of initial feasible solutions;

[0111] Let flower group X have N individual flower vectors. After a total of Total pollination iterations, the flower group after the t-th iteration will look like this:

[0112]

[0113] in, This represents the performance of the Nth individual of the flower after t iterations, where N represents the total number of parts.

[0114] S44. Perform the first fitness value calculation on the initial population. The calculation data is based on the assembly relationship matrix in step S42. Based on the assembly sequence planning problem optimization model constructed in step S3, find the optimal flower individual in the current population.

[0115] S45. Pollinate each individual in the flower population in turn, and calculate according to the specified global or local optimization rules to generate the corresponding new individuals.

[0116] S46. Perform numerical corrections on the new individual to make it conform to the requirements of a feasible assembly sequence;

[0117] S47. Determine whether the new individual has undergone self-mutation. If it has, the result needs to be numerically corrected again; otherwise, proceed to the next step.

[0118] S48. Calculate the fitness value of all new individuals and find the optimal flower individual in the population in the new round of iteration;

[0119] If the fitness meets the requirements or the number of iterations reaches the upper limit, the optimal solution is output and converted into the corresponding assembly sequence information; otherwise, the process jumps to step S45 for the next round of iteration.

[0120] Furthermore, step S45 is specifically as follows:

[0121] S451. The optimization method for individual flowers is adjusted by the pollination mode switching probability pswitch∈[0,1] and the random value rand generated by each individual in each iteration. If rand<pswitch, the individual is updated using the global optimization method; otherwise, the individual is updated using the local optimization method.

[0122] The pollination mode switching probability pswitch value changes with the number of iterations. The formula for calculating pswitch is as follows:

[0123]

[0124] in, pswitch represents the probability of the pollination mode switching of the i-th individual in the t-th iteration of the population. min and PSWitch max These represent the minimum and maximum values ​​of pswitch during the entire optimization process, and can be set according to the specific problem.

[0125] S452. For the global optimization process, we have:

[0126]

[0127] in, This represents the performance of flower individual i in the (t+1)th iteration. This represents the performance of individual flower i in the previous iteration; γ represents the best-performing flower in the flower group in the previous round, which can be regarded as the current optimal solution; γ represents the factor that controls the proportion of the biological media's movement step size, which is a constant; L(λ) represents the step size based on the Levy flight, and its specific value is randomly obtained by the Levy flight. Both represent two different individuals randomly selected from the population after t iterations of the flower group, and τ represents a random number that satisfies a uniform distribution in [0,1].

[0128] Regarding Levi's flight, we have:

[0129]

[0130] Where Γ(λ) represents the standard gamma function, λ is typically taken as 1.5, corresponding to a gamma function value of 0.88; s represents the step size generated using the Mantegna algorithm.

[0131]

[0132] Where μ and ν both follow a normal distribution, and μ ~ N(0,1) is the standard normal distribution, and ν ~ N(0,σ) 2 The corresponding variance σ 2 The calculation formula is as follows:

[0133]

[0134] S453. For the local optimization process, an improved strategy of elite mutation is adopted, and a probability P is also set in the local search. E Then, for each individual flower undergoing local optimization, a random number rand that satisfies a uniform distribution in the range [0,1] needs to be generated. e ,have:

[0135]

[0136] in, Let represent six distinct individuals randomly selected from the population after t iterations; ε1, ε2, and ε represent numbers that follow a Gaussian random distribution with a mean of 0.5 and a standard deviation of 0.1.

[0137] For P E Its value is:

[0138]

[0139] After a new individual is generated, a random number p uniformly distributed between [0,1] is generated for it. v At the same time, a mutation probability P for individual flowers is set. vr If there is p v <P vr If the information points on the individual's vector are randomly swapped 4 times, it is considered that the individual has mutated; otherwise, no operation is performed.

[0140] Furthermore, step S46 is specifically as follows:

[0141] S461. Count the missing parts to be assembled in the current individual sequence and store them in the candidate set;

[0142] S462. For a new individual whose current number exceeds the total number of product parts, search in the candidate set for a part number that is greater than the part number corresponding to the original sequence position of the individual.

[0143] If an item exists, randomly select one to replace the current number; if not, select the maximum value from the set to replace it; after the operation is complete, remove the replacement part number from the candidate set.

[0144] S463. For negative numbers, also search the candidate set for a component number that is less than the corresponding sorting position of the individual's original sequence.

[0145] If a negative number exists, randomly select one from the list to replace the current negative number; if not, select the minimum value from the candidate set to replace it; after the operation is complete, remove the replacement part number from the candidate set.

[0146] S464. For zero, find whether there is a component number in the candidate set whose number is the same as the sort position of the original sequence of the individual;

[0147] If a part number exists, it will be used to replace the original part number; otherwise, a part number will be randomly selected from the set to replace it. After the operation is completed, the replacement part number will be removed from the candidate set.

[0148] S465. For duplicate component numbers in the vector, replace the remaining duplicate numbers except the first one with the remaining component numbers in the candidate set in sequence.

[0149] S466. Based on steps S461-S465, the component numbers in the new individual sequence now meet the requirements. Finally, using the assembly priority matrix, the component numbers in the vector are adjusted according to the order of product component assembly priority to meet the requirements of a feasible assembly sequence. At this point, all processing is complete, and a new flower individual is generated.

[0150] The beneficial effects of this invention are as follows: First, the method of this invention designs an assembly stress matrix to store the maximum stress information borne by flexible components during assembly. Then, a BP neural network trained with input data is used to accelerate the extraction of matrix elements from the assembly stress matrix. Next, an assembly sequence planning mathematical model considering the characteristics of flexible components is established, incorporating the influence of flexible components on the assembly process into the mathematical model in the form of constraints and evaluation indicators. Finally, an improved discretized flower pollination algorithm is used to solve the mathematical model. This invention's method deeply studies and analyzes the constraint and efficiency effects of flexible components on product assembly, establishes a mathematical model that better meets the assembly requirements of products containing flexible components, and designs a feasible and effective optimization algorithm for the model. This is beneficial for guiding enterprise production, improving assembly efficiency, saving assembly costs, and enhancing the market competitiveness of enterprise products. Attached Figure Description

[0151] Figure 1 This is a flowchart of an assembly sequence planning method that takes into account the characteristics of flexible components according to the present invention.

[0152] Figure 2 This is a flowchart of the improved flower pollination algorithm in an embodiment of the present invention.

[0153] Figure 3 This is a schematic diagram of the model and component numbers of an example product in an embodiment of the present invention.

[0154] Figure 4 This is a priority diagram of the assembly relationship of the product in an embodiment of the present invention.

[0155] Figure 5 This is the assembly priority matrix for each component of the product in this embodiment of the invention.

[0156] Figure 6 This is the assembly stress matrix of each component of the product along the +x direction in the embodiment of the present invention.

[0157] Figure 7 This is the assembly stress matrix of each component of the product along the -x direction in the embodiment of the present invention.

[0158] Figure 8 This is the assembly stress matrix of each component of the product along the +y direction in the embodiment of the present invention.

[0159] Figure 9 This is the assembly stress matrix of each component of the product along the -y direction in the embodiment of the present invention.

[0160] Figure 10 This is the assembly stress matrix of each component of the product along the +z direction in the embodiment of the present invention.

[0161] Figure 11 This is the assembly stress matrix of each component of the product along the -z direction in the embodiment of the present invention.

[0162] Figure 12 This is the assembly and connection matrix of the various components of the product in this embodiment of the invention.

[0163] Figure 13 This is the assembly support matrix for each component of the product in this embodiment of the invention. Detailed Implementation

[0164] The technical solution of the present invention will be further described below with reference to the accompanying drawings.

[0165] like Figure 1 The flowchart shown is a method for planning assembly sequences considering the characteristics of flexible components according to the present invention. The specific steps are as follows:

[0166] S1. An assembly stress matrix designed to store information on the maximum stress experienced by flexible components during assembly.

[0167] S2. Use the BP neural network trained with the input data to accelerate the extraction speed of matrix elements of the assembly stress matrix;

[0168] S3. Establish a mathematical model for assembly sequence planning that considers the characteristics of flexible components, and incorporate the influence of flexible components on the assembly process into the mathematical model in the form of constraints and evaluation indicators;

[0169] S4. Solve the mathematical model using an improved discretized flower pollination algorithm.

[0170] In this embodiment, step S1 is specifically as follows:

[0171] S11. Obtain relevant information about each component of the product, including external dimensions and material information;

[0172] S12. Establish a three-dimensional MBD model of the product. Perform assembly simulation tests on each component in pairs in the simulation software. Record the maximum stress value that the flexible component bears during the assembly process from the assembly start position (usually set to infinity) to the target position by translation.

[0173] S13. Based on the number of product parts and the proportion of flexible parts, establish an assembly stress matrix of corresponding specifications, denoted as StrM. Group the matrix according to the assembly direction of the flexible parts and whether the flexible parts are actively assembled parts.

[0174] Given a product containing n parts, of which m are flexible components, and six possible assembly directions for the parts: +x, -x, +y, -y, +z, and -z, the specifications of the complete assembly stress matrix for the product are as follows:

[0175] (1) When the flexible component is the currently actively assembled part: m×n×6, the matrix is ​​denoted as StrM. a ;

[0176] (2) When the flexible component is not the currently actively assembled part: n×m×6, the matrix in this case is denoted as StrM p .

[0177] S14. Clarify the meaning of the numerical values ​​of different matrix elements;

[0178] Let the assembly direction be denoted by k (1≤k≤6, k is an integer, corresponding to the six assembly directions in turn). When the flexible component is used as the assembly stress matrix of the currently actively assembled parts, the matrix element str in the i-th row and j-th column is... ijk The definition of (1≤i≤m, 1≤j≤n, 1≤k≤6, where i, j, and k are all integers) is as follows:

[0179] (1) If str ijk A value of 0 indicates that component i and component j will not come into contact during assembly along the k direction;

[0180] (2) If str ijk A positive real number indicates that when component i and component j are assembled along the k direction, they will come into contact, but this will not have a functional impact on the assembled component. The value of a positive real number represents the maximum stress value that the flexible component will bear during this process.

[0181] (3) If str ijk A value of -1 indicates that contact will occur between component i and component j during assembly along direction k, affecting the functionality of the assembled parts; this can be considered as interference. Generally, when the stress experienced by a flexible component during assembly exceeds its yield stress, str will occur. ijk =-1.

[0182] When the flexible component is a currently passively assembled part, str ijk The meaning remains the same; the only difference is whether the flexible component is an actively moving component.

[0183] S15. Fill in the numerical values ​​of each element of the assembly stress matrix based on the stress values ​​recorded in step S12.

[0184] In this embodiment, step S12 is specifically as follows:

[0185] The assembly simulation test process of the product was carried out using ANSYS simulation software, and the specific details are as follows:

[0186] S121. Open ANSYS Workbench, select the Geometry toolbox, and import the 3D model of the product parts.

[0187] S122. Select the Static Structural toolbox on the left and connect the Geometry toolbox to the Geometry section of this toolbox;

[0188] S123. In the Engineering Data section of the Static Structural toolbox, select the materials of the two components. If not, you need to set them manually. Among them, the most important for interference analysis of flexible components are: material density, material elastic modulus, and material Poisson's ratio.

[0189] S124. Double-click the Model section of the Static Structural toolbox to open the Mechanical module of ANSYS.

[0190] S125. In the Mechanical module, first pair the parts and materials in the Geometry block, and then set the contact relationship between the active and passive parts in the Connection block (that is, add contact pairs to the area where "interference" may occur). The contact analysis algorithm uses the Augmented Lagrange algorithm, and the normal stiffness is set according to the actual situation.

[0191] S126. Select the Mesh block in the Mechanical module. Choose the type and size of the mesh cells according to the actual situation. Choose hexahedral mesh cells if possible. If you want more accurate interference analysis, you can choose a smaller cell length, but the simulation time will increase accordingly. One optimization method is to right-click on Mesh, select Insert, and then select FaceMeshing. This allows you to specify the mesh cell properties for a specific area. Therefore, you can set the cell length of the potential "interference" area to be smaller, while the mesh cells of other areas can be sparser. This shortens the simulation time while ensuring the accuracy of the simulation in the key areas.

[0192] S127. After dividing the mesh into elements, add displacements for the active components in the Static Structural block, and set the direction and distance of the displacements; add fixed constraints for the passive components.

[0193] S128. In the Analysis Setting under Static Structural block, set Define by to Substeps. The corresponding initial substep, minimum substep, and maximum substep should be adjusted according to actual needs.

[0194] S129. Click the Solve button in the Solution block to start the simulation. After the program finishes running, you can view the corresponding results. If you need to view the stress, right-click the Solution block, select Insert, and then select Stress.

[0195] In this embodiment, step S2 is specifically as follows:

[0196] S21. Collect and organize product component information data required for BP neural network training;

[0197] S22. Set the number of hidden layers and the number of nodes in each layer of the BP neural network. The number of nodes in the hidden layers is set as follows:

[0198] Number of hidden layer nodes = 2 × number of input layer nodes + 1

[0199] S23. Input data to train the BP neural network and verify its accuracy;

[0200] In this embodiment, step S23 is specifically as follows:

[0201] S231. Construct a single-layer hidden-layer BP neural network, and let the f1-dimensional input vector of the BP neural network be... f2 represents the output vector of the prediction result. Suppose the hidden layer has h nodes, and its output x′=(x0′,x1′,...,x h-1 ′) T ,x′∈R h ;

[0202] in,(·) T This represents the transpose operation, R represents the number field, and ω represents the weights from the input layer to the hidden layer. ij The threshold for each node in the hidden layer is θ. j The weights from the hidden layer to the output layer are ω′ jl The threshold for each node in the output layer is θ′ l The output vectors of the hidden layer nodes and the output layer nodes are then as follows:

[0203]

[0204] Where f(x) represents the activation function, responsible for mapping the neuron's input to its output:

[0205]

[0206] S232. Set the target result vector of the actual data in f2 dimensions as... The target result vector has a total of P sets of data;

[0207] The task of a BP neural network is to continuously adjust the weights and thresholds of each layer so that the final output vector y of each data set is sufficiently close to d. The learning process of a BP neural network consists of two processes: forward propagation of the signal and backward propagation of the error. In the backward propagation process, the error signal propagates layer by layer from the output layer to the input layer, and the weights are adjusted through error feedback. Here, the error is the minimum mean square error, which is the sum of the squared errors of each output node.

[0208]

[0209] in, This represents the target result vector in the l-th dimension for the p-th actual data individual. E represents the output vector of the prediction result of the l-th dimension of the o-th actual data individual. E also represents the loss function. The closer E is to 0, the better the training effect of the network.

[0210] The minimum gradient method is used to adjust the weights ω and thresholds θ of each layer of the neural network to make E smaller, as shown in the following expression:

[0211]

[0212] Where Δλ represents the correction values ​​of ω and θ for each layer, and η represents the learning rate of the model, which can be regarded as a constant and generally takes a value between (0, 1).

[0213] S233. The specific correction values ​​of ω and θ for each layer obtained from the derivation are as follows:

[0214] (1) Threshold correction value for the output layer:

[0215] Δθ′=-η(dy)y(1-y)

[0216] (2) Weight correction values ​​from hidden layer to output layer:

[0217] Δω′=η(dy)y(1-y)x′

[0218] (3) Threshold correction value for hidden layer:

[0219] Δθ=-η(dy)y(1-y)ω′x′(1-x′)

[0220] Where ω′ represents the weights from the hidden layer to the output layer.

[0221] (4) Weight adjustment values ​​from the input layer to the hidden layer:

[0222] Δω=η(dy)y(1-y)ω′x′(1-x′)x

[0223] After each iteration, the model's output vector y will get closer to the actual result vector d, and the value of E will get closer to 0. When the accuracy of E is sufficient to meet the actual requirements, the BP neural network model training is complete.

[0224] In this embodiment, step S3 is specifically as follows:

[0225] S31. Set the basic assumptions for the mathematical model;

[0226] (1) Each step of the assembly sequence assembles only one component, that is, multiple components are not assembled at the same time;

[0227] (2) When assembling parts, only the six basic assembly directions along the standard coordinate axes are considered: +x, -x, +y, -y, +z, -z; changes in assembly direction are not considered during the assembly process.

[0228] (3) The impact of the overall spatial layout of the assembly line is not considered;

[0229] (4) The impact of workers' rest time arrangements is not taken into account.

[0230] S32. Give the constraints of the mathematical model:

[0231] (1) For interference constraints corresponding to rigid components, when a rigid component is assembled along a certain direction, the assembly interference matrix is ​​consulted. If contact or collision occurs with other components during the process, i.e., the matrix element corresponding to the assembly interference matrix is ​​1, then interference is considered to have occurred. The formula corresponding to this constraint is shown below:

[0232]

[0233] Where i represents the sequence number of the currently assembled component in the assembly scheme, and its corresponding component number is part1; while j from 1 to i-1 represents the sequence number of all components assembled before component i, and its corresponding component number is part2. The meanings of i, j, part1, and part2 in the subsequent constraint formulas are the same; im represents the matrix element of the assembly interference matrix, and its value corresponds to the assembly interference information of the two components at the following subscripts:

[0234]

[0235] (2) Regarding the stress constraint corresponding to the flexible component, when the flexible component is assembled along a certain direction, the assembly stress matrix is ​​consulted. If, during the process, it comes into contact with or collides with other components and the maximum stress experienced by the flexible component during assembly exceeds the yield limit of the component (i.e., the matrix element corresponding to the assembly stress matrix is ​​-1), then an interference phenomenon is considered to have occurred, indicating that the flexible component cannot be assembled along this direction. The formula corresponding to this constraint is shown below:

[0236]

[0237] In this case, at least one of the components corresponding to part1 and part2 is a flexible component. The decision to consult StrM depends on whether the flexible component is an active component. a Or StrM p str represents a matrix element of the assembly stress matrix, and its numerical meaning is explained in step S14.

[0238] (3) Regarding the priority constraints for all components, when selecting a component for assembly, the assembly priority matrix is ​​consulted. If a component with a higher assembly priority than the current component (i.e., the component in the row corresponding to the element with a value of 1 in the column of the current component in the assembly priority matrix) has not yet been assembled, then the current component cannot be assembled temporarily. The formula corresponding to this constraint is shown below:

[0239]

[0240] Where 'a' represents a matrix element of the assembly priority matrix, and its value represents the assembly priority information of two parts as follows:

[0241] i. If a ij =1, which means that component i must be assembled before component j;

[0242] ii. If a ij =0, which means that component i does not need to be assembled before component j;

[0243] iii. In the matrix a ii The value of is always 0, so it has no meaning.

[0244] (4) Regarding the connection constraints for all components, when selecting a component for assembly, the assembly connection matrix is ​​consulted. If no component is connected to the current component, then the current component cannot be assembled temporarily. The corresponding formula for this constraint is shown below:

[0245]

[0246] Where c represents a matrix element of the assembly connection matrix, and its value represents the assembly connection information of two parts as follows:

[0247] i. If c ij =0 indicates that there is no connection between part i and part j;

[0248] ii. If c ij =1 indicates that part i and part j have a contact connection;

[0249] iii. If c ij =2 indicates that there is a stable connection between part i and part j;

[0250] iv. In the matrix c ii The value of is always 0, so it has no meaning.

[0251] S33. Provide evaluation metrics for the mathematical model:

[0252] (1) The sum of the maximum stress values ​​accumulated by the flexible components during the assembly process, T1. The smaller this value, the less effort is required to assemble the flexible components, and the better the flexible components maintain their original shape and function after assembly. The specific value of T1 is calculated by consulting the StrM matrix.

[0253] (2) The number of times the flexible and rigid components are switched during assembly, T2, is incremented by 1 each time the currently assembled component differs from the previously assembled component in terms of rigidity and flexibility. Considering that flexible and rigid components are often assembled in different workshops, the smaller this value is, the higher the concentration of flexible components during assembly, and the better it can explain the time and logistics costs of the product during the assembly process.

[0254] (3) Assembly direction change count T3: The count is incremented by 1 when the assembly directions of adjacent parts in the assembly sequence are different. The fewer the assembly direction changes, the less spatial posture adjustment is required for the assembly at the current stage in actual production. This is because the position of assembly tools such as robotic arms is often fixed, and if the assembly direction needs to be changed, the assembly itself often needs to change its posture to achieve the same effect. Frequent changes in assembly direction will consume more assembly posture adjustment time.

[0255] (4) Assembly tool change number T4, the number increases by 1 when the assembly tools used by adjacent parts in the assembly sequence are different. When the assembly tool needs to be changed, if the new tool is not in the current workshop, the assembly needs to be transported to the new workshop. Even if the new tool is in the same workshop, the tool often needs to be disassembled and replaced or the operation settings need to be changed, which will consume more assembly time.

[0256] (5) The unstable connection degree T5 of the assembled parts: If the currently assembled part does not have an existing part that maintains a stable connection with it after it reaches its assembly position, this value is increased by 1. When the unstable connection degree is high, the stability of the parts is not high during the assembly process, and auxiliary tools may be needed to fix them, which consumes more resources.

[0257] (6) The instability support degree T6 of the assembly is increased by 1 if there are no assembled parts that provide stable support for the current component after it reaches its assembly position. Similar to the previous point, a higher support instability degree requires more auxiliary tools to assist in the assembly process.

[0258] S34. Calculate the weight values ​​of the six evaluation indicators using the fuzzy hierarchical analysis method, and record them as W1 to W6 respectively.

[0259] S35. Give a mathematical model for assembly sequence planning that considers the characteristics of flexible components;

[0260] Fitness function:

[0261] Min F(x)=W1·T1(x)+W2·T2(x)+W3·T3(x)+W4·T4(x)+W5·T5(x)+W6·T6(x)

[0262] Constraints:

[0263]

[0264]

[0265]

[0266]

[0267] like Figure 2 The flowchart of the improved flower pollination algorithm is shown below.

[0268] In this embodiment, step S4 is specifically as follows:

[0269] S41. Input relevant parameters, including the population size of the flowers, the number of iterations, and the specific values ​​of various probabilities;

[0270] S42. Enter the relevant assembly relationship matrix information of the product;

[0271] S43. Initialize the population and randomly generate the first batch of initial feasible solutions;

[0272] Let flower group X have N individual flower vectors. After a total of Total pollination iterations, the flower group after the t-th iteration will look like this:

[0273]

[0274] in, This represents the performance of the Nth individual of the flower after t iterations, where N represents the total number of parts.

[0275] S44. Perform the first fitness value calculation on the initial population. The calculation data is based on the assembly relationship matrix in step S42. Based on the assembly sequence planning problem optimization model constructed in step S3, find the optimal flower individual in the current population.

[0276] S45. Pollinate each individual in the flower population in turn, and calculate according to the specified global or local optimization rules to generate the corresponding new individuals.

[0277] S46. The updated flower individuals may not necessarily meet the requirements of a feasible assembly sequence. First, the sequence may contain meaningless zeros or negative numbers. Second, the sequence may contain part numbers that exceed the total number of product parts. Third, the order of the parts may not meet the requirements. Therefore, the new individuals need to be numerically corrected to meet the requirements of a feasible assembly sequence.

[0278] S47. Determine whether the new individual has undergone self-mutation. If it has, the result needs to be numerically corrected again; otherwise, proceed to the next step.

[0279] S48. Calculate the fitness value of all new individuals and find the optimal flower individual in the population in the new round of iteration;

[0280] If the fitness meets the requirements or the number of iterations reaches the upper limit, the optimal solution is output and converted into the corresponding assembly sequence information; otherwise, the process jumps to step S45 for the next round of iteration.

[0281] In this embodiment, step S45 is specifically as follows:

[0282] S451. The optimization method for individual flowers is adjusted by the pollination mode switching probability pswitch∈[0,1] and the random value rand generated by each individual in each iteration. If rand<pswitch, the individual is updated using the global optimization method; otherwise, the individual is updated using the local optimization method.

[0283] The pollination mode switching probability pswitch is dynamic, and its value changes with the number of iterations. The formula for calculating pswitch is as follows:

[0284]

[0285] in, pswitch represents the probability of the pollination mode switching of the i-th individual in the t-th iteration of the population. min and PSWitch max These represent the minimum and maximum values ​​of pswitch during the entire optimization process, and can be set according to the specific problem.

[0286] S452. For the global optimization process, we have:

[0287]

[0288] in, This represents the performance of flower individual i in the (t+1)th iteration. This represents the performance of individual flower i in the previous iteration; γ represents the best-performing flower in the flower group in the previous round, which can be regarded as the current optimal solution; γ represents the factor that controls the proportion of the biological media's movement step size, which is a constant; L(λ) represents the step size based on the Levy flight, and its specific value is randomly obtained by the Levy flight. Both represent two different individuals randomly selected from the population after t iterations of the flower group, and τ represents a random number that satisfies a uniform distribution in [0,1].

[0289] Regarding Levi's flight, we have:

[0290]

[0291] Where Γ(λ) represents the standard gamma function, λ is typically taken as 1.5, corresponding to a gamma function value of 0.88; s represents the step size generated using the Mantegna algorithm.

[0292]

[0293] Where μ and ν both follow a normal distribution, and μ ~ N(0,1) is the standard normal distribution, and ν ~ N(0,σ) 2 The corresponding variance σ 2 The calculation formula is as follows:

[0294]

[0295] S453. For the local optimization process, an improved strategy of elite mutation is adopted, and a probability P is also set in the local search. E Then, for each individual flower undergoing local optimization, a random number rand that satisfies a uniform distribution in the range [0,1] needs to be generated. e ,have:

[0296]

[0297] in, Let represent six distinct individuals randomly selected from the population after t iterations; ε1, ε2, and ε represent numbers that follow a Gaussian random distribution with a mean of 0.5 and a standard deviation of 0.1.

[0298] For P E Its value is:

[0299]

[0300] After a new individual is generated, a random number p uniformly distributed between [0,1] is generated for it. v At the same time, a mutation probability P for individual flowers is set. vr If there is p v <P vr If the information points on the individual's vector are randomly swapped 4 times, it is considered that the individual has mutated; otherwise, no operation is performed.

[0301] In this embodiment, step S46 is specifically as follows:

[0302] S461. Count the missing parts to be assembled in the current individual sequence and store them in the candidate set;

[0303] S462. For a new individual whose current number exceeds the total number of product parts, search in the candidate set for a part number that is greater than the part number corresponding to the original sequence position of the individual.

[0304] If an item exists, randomly select one to replace the current number; if not, select the maximum value from the set to replace it; after the operation is complete, remove the replacement part number from the candidate set.

[0305] S463. For negative numbers, also search the candidate set for a component number that is less than the corresponding sorting position of the individual's original sequence.

[0306] If a negative number exists, randomly select one from the list to replace the current negative number; otherwise, select the minimum value from the candidate set to replace it. After the operation is complete, remove the replacement part number from the candidate set.

[0307] S464. For zero, find whether there is a component number in the candidate set whose number is the same as the sort position of the original sequence of the individual;

[0308] If a part number exists, it will be used to replace the original part number; otherwise, a part number will be randomly selected from the set to replace it. After the operation is completed, the replacement part number will be removed from the candidate set.

[0309] S465. For duplicate component numbers in the vector, replace the remaining duplicate numbers except the first one with the remaining component numbers in the candidate set in sequence.

[0310] S466. Based on steps S461-S465, the component numbers in the new individual sequence now meet the requirements. Finally, using the assembly priority matrix, the component numbers in the vector are adjusted according to the order of product component assembly priority to meet the requirements of a feasible assembly sequence. All processing is now complete, and a new flower individual is generated.

[0311] like Figure 3 As shown in the diagram, this embodiment illustrates the model and component numbers of the example product. Figure 4 The diagram shows the assembly priority relationship. In this embodiment, the product containing flexible components includes 24 parts. Among them, parts 2, 3, 4, 5, 16, 17, 18, 19, and 24 are flexible parts that can withstand certain deformations, totaling 9 parts, accounting for 25% of the total number of parts. The assembly tool types used for each part are numbered as shown in Table 1.

[0312] Table 1

[0313] 1 Tool1 2 Tool2 3 Tool2 4 Tool2 5 Tool2 6 Tool3 7 Tool3 8 Tool3 9 Tool3 10 Tool4 11 Tool4 12 Tool1 13 Tool1 14 Tool1 15 Tool1 16 Tool2 17 Tool2 18 Tool2 19 Tool2 20 Tool3 21 Tool3 22 Tool3 23 Tool3 24 Tool2

[0314] In this embodiment, all flexible components are made of PVC material with a yield strength of approximately 90 MPa. For rigid components 6 and 8, when the assembly direction is +y, the maximum stress borne by their paired flexible components 2 and 4 is 85.305 MPa; when the assembly direction is -z, the maximum stress borne by flexible components 2 and 4 is 59.396 MPa. Similarly, when rigid components 7 and 9 are assembled along the +y direction, the maximum stress borne by their paired flexible components 3 and 5 is 85.305 MPa; when assembled along the +z direction, the maximum stress borne by flexible components 3 and 5 is 59.396 MPa. For rigid components 20 and 21, their paired flexible components are 16, 17, 18, and 19, respectively. After simulation testing, the only feasible assembly direction is along the -x direction. The maximum stress value borne by flexible components 16, 17, 18, and 19 in this process is 34.252 MPa. For flexible component 24, when the assembly direction is +x, the stress value it bears is 57.638 MPa, and when the assembly direction is ±y or ±z, the stress value it bears is 22.874 MPa.

[0315] In this embodiment, the assembly priority matrix for each component of the product is shown in [reference needed]. Figure 5 The assembly stress matrices along the +x, -x, +y, -y, +z, and -z directions are shown in the following figures. Figure 6 , 7 8, 9, 10, 11, see assembly connection matrix. Figure 12 The assembly support matrix is ​​shown below. Figure 13 .

[0316] The weight values ​​of each indicator were calculated using fuzzy hierarchical analysis. The judgment matrix (with the horizontal axis from left to right and the vertical axis from top to bottom representing evaluation indicators T1 to T6) after evaluation by multiple experts and averaging is shown in Table 2.

[0317] Table 2

[0318] <![CDATA[T1]]> 0.500 0.610 0.720 0.660 0.880 0.780 <![CDATA[T2]]> 0.390 0.500 0.580 0.530 0.790 0.710 <![CDATA[T3]]> 0.280 0.420 0.500 0.450 0.710 0.640 <![CDATA[T4]]> 0.340 0.470 0.550 0.500 0.770 0.700 <![CDATA[T5]]> 0.120 0.210 0.290 0.230 0.500 0.600 <![CDATA[T6]]> 0.220 0.290 0.360 0.300 0.400 0.500

[0319] The specific process for obtaining weight values ​​using the fuzzy hierarchical analysis method is as follows:

[0320] Convert Table 2 into a 6×6 matrix, and denote the matrix element in the i-th row and j-th column as jm. ij First, calculate the sum r of each row of the judgment matrix. i :

[0321]

[0322] Next, transform the values ​​of each element in the matrix according to the following calculation formula:

[0323]

[0324] The final weight value W of the i-th evaluation index i The calculation formula is as follows:

[0325]

[0326] in:

[0327]

[0328] After subsequent calculations using fuzzy hierarchical analysis, the weight values ​​corresponding to the sum of the maximum cumulative stress values ​​of the flexible components during assembly were obtained as follows: W1 = 0.213 (due to the large variation in stress values, W1 was divided by 20 after multiple tests and adjustments, resulting in a final W1 = 0.01065); W2 = 0.186 for the number of times the flexible and rigid components were switched during assembly; W3 = 0.166 for the number of times the assembly direction was changed; W4 = 0.180 for the number of times the assembly tools were changed; W5 = 0.125 for the degree of unstable connection of the assembled parts; and W6 = 0.130 for the degree of instability of the assembly support.

[0329] Based on the obtained data, the parameters of the improved flower pollination algorithm were adjusted appropriately. The number of flower populations was grouped into 1000 groups, and the maximum number of iterations was set to 300. max The PSWitch has a rating of 0.9.min P is 0.2 var With a value of 0.1, after multiple tests, the optimal assembly sequence scheme searched by the flower pollination algorithm is:

[0330] Step 1: Assemble component 1 along the +x direction;

[0331] Step 2: Assemble component 22 along the +x direction;

[0332] Step 3: Assemble component 23 along the +x direction;

[0333] Step 4: Assemble component 24 along the +x direction;

[0334] Step 5: Assemble component 18 along the +y direction;

[0335] Step 6: Assemble component 3 along the +y direction;

[0336] Step 7: Assemble component 2 along the +y direction;

[0337] Step 8: Assemble component 17 along the -x direction;

[0338] Step 9: Assemble component 16 along the -x direction;

[0339] Step 10: Assemble component 5 along the +y direction;

[0340] Step 11: Assemble component 4 along the +y direction;

[0341] Step 12: Assemble component 19 along the +y direction;

[0342] Step 13: Assemble component 20 along the -x direction;

[0343] Step 14: Assemble component 21 along the -x direction;

[0344] Step 15: Assemble component 8 along the -z direction;

[0345] Step 16: Assemble component 6 along the -z direction;

[0346] Step 17: Assemble component 7 along the +z direction;

[0347] Step 18: Assemble component 9 along the +z direction;

[0348] Step 19: Assemble component 11 along the +z direction;

[0349] Step 20: Assemble component 10 along the +z direction;

[0350] Step 21: Assemble component 13 along the +z direction;

[0351] Step 22: Assemble component 15 along the +z direction;

[0352] Step 23: Assemble component 12 along the -z direction;

[0353] Step 24: Assemble component 14 along the -z direction.

[0354] The objective function value of this scheme is 9.87768. The maximum cumulative stress value borne by each flexible component during the assembly process is 363.726 MPa. The number of times the flexible component and rigid component are switched during assembly is 2. The assembly direction is changed 7 times. The assembly tool is changed 5 times. The unstable connection degree of the assembled parts is 14. The unstable degree of the assembly support is 14.

[0355] In summary, the method of this invention, taking into account specific production conditions, analyzes the differences in physical properties between flexible components and traditional rigid components during assembly, as well as the influencing factors of flexible components on the assembly process. Based on the physical characteristics of flexible components, a collision interference judgment standard different from that of rigid components is established for flexible components. At the same time, the method considers the impact of the maximum stress borne by the flexible component during assembly on the assembly difficulty, the service life of the components, and the impact of the different workshops typically used for assembling flexible and rigid components. The generated assembly sequence can better meet the actual assembly requirements of products containing flexible components, better optimize the corresponding assembly sequence planning of industrial products containing flexible components, and ultimately provide a scientific and efficient production solution.

[0356] Those skilled in the art will recognize that the embodiments described herein are intended to help the reader understand the principles of the invention, and should be understood that the scope of protection of the invention is not limited to such specific statements and embodiments. Those skilled in the art can make various other specific modifications and combinations based on the technical teachings disclosed in this invention without departing from the spirit of the invention, and these modifications and combinations are still within the scope of protection of this invention.

Claims

1. An assembly sequence planning method considering the characteristics of flexible components, the specific steps of which are as follows: S1. An assembly stress matrix designed to store information on the maximum stress experienced by flexible components during assembly. S11. Obtain relevant information about each component of the product, including external dimensions and material information; S12. Establish a three-dimensional MBD model of the product. Perform assembly simulation tests on each component in pairs in the simulation software. Record the maximum stress value that the flexible component bears during the assembly process from the assembly start position to the target position by translation. S13. Based on the number of product parts and the proportion of flexible parts, establish an assembly stress matrix of corresponding specifications, denoted as StrM. Group the matrix according to the assembly direction of the flexible parts and whether the flexible parts are actively assembled parts. Given a product containing n parts, of which m are flexible components, and six possible assembly directions for the parts: +x, -x, +y, -y, +z, and -z, the specifications of the complete assembly stress matrix for the product are as follows: (1) When the flexible component is the currently actively assembled part: m×n×6, the matrix is ​​denoted as StrM. a ; (2) When the flexible component is not the currently actively assembled part: n×m×6, the matrix at this time is denoted as StrM p ; S14. Clarify the meaning of the numerical values ​​of different matrix elements; Let the assembly direction be designated as k, where k is an integer, 1≤k≤6, corresponding to the six assembly directions in turn; When the flexible component is used as the assembly stress matrix of the currently actively assembled parts, the first element in the matrix... Line 1 Column matrix elements ,1≤ ≤m, 1≤ ≤n, , All are integers, and their specific definitions are as follows: (1) If A value of 0 indicates a component. and components There will be no contact when they are assembled along the k direction; (2) If A positive real number represents a component. and components When the components are assembled along the k direction, they will come into contact, but this will not affect the functionality of the assembled components. The value of a positive real number represents the maximum stress value that the flexible component will bear during this process. (3) If -1 indicates a component and components When the components are assembled along the k-direction, contact will occur, which will have a functional impact on the assembled parts, and this can be considered as interference. When the stress experienced by the flexible component during assembly exceeds its yield stress, =-1; When the flexible component is a currently passively assembled part. The meaning remains unchanged; S15. Fill in the numerical values ​​of each element of the assembly stress matrix based on the stress values ​​recorded in step S12. S2. Use the BP neural network trained with the input data to accelerate the extraction speed of matrix elements of the assembly stress matrix; S3. Establish a mathematical model for assembly sequence planning that considers the characteristics of flexible components, and incorporate the influence of flexible components on the assembly process into the mathematical model in the form of constraints and evaluation indicators; S4. Solve the mathematical model using an improved discretized flower pollination algorithm.

2. The assembly sequence planning method considering the characteristics of flexible components according to claim 1, characterized in that, In step S12, the assembly simulation test process of the product in the simulation software is as follows: S121. Import the product's 3D model; S122. Select the materials of the two parts to be simulated. If not, manually set the relevant information parameters. Interference analysis of flexible components includes: material density, elastic modulus, and Poisson's ratio. S123. Set the contact relationship between the active and passive components; S124. Perform mesh generation. S125. After dividing the mesh into units, add displacement to the active component, set the direction and distance of the displacement, and add fixed constraints to the passive component. S126. Set the simulation substeps; S127. Run the simulation program and check the results after the simulation is completed.

3. The assembly sequence planning method considering the characteristics of flexible components according to claim 1, characterized in that, Step S2 is as follows: S21. Collect and organize product component information data required for BP neural network training; S22. Set the number of hidden layers and the number of nodes in each layer of the BP neural network; The number of nodes in the hidden layer is set as follows: ; S23. Input data to train the BP neural network and verify its accuracy.

4. The assembly sequence planning method considering the characteristics of flexible components according to claim 3, characterized in that, Step S23 is as follows: S231. Construct a single-layer hidden-layer BP neural network, and let the f1-dimensional input vector of the BP neural network be... f2 dimension represents the output vector of the prediction result. Assume there is a hidden layer. Each node has an output. ; in, This indicates the transpose operation. Representing a number field, the weights from the input layer to the hidden layer are: The threshold values ​​for each node in the hidden layer are The weights from the hidden layer to the output layer are The threshold values ​​for each node in the output layer are ; The output vectors of the hidden layer nodes and the output layer nodes are as follows: ; in, This represents the activation function, responsible for mapping the neuron's input to its output: ; S232. Set the target result vector of the actual data in f2 dimensions as... The target result vector has a total of Group data; The sum of the squared errors of each output node is as follows: ; in, This represents the target result vector in the l-th dimension for the p-th actual data individual. Let E represent the output vector of the prediction result of the p-th actual data individual in the l-th dimension, and let E represent the loss function. The closer E is to 0, the better the training effect of the network. Using the minimum gradient method to calculate the weights of each layer of a neural network and threshold Adjustments are made to make E smaller, as shown in the following expression: ; in, Indicate each layer and The correction value, The learning rate of the model is a constant and its value is between (0,1). S233, Calculation and derivation of each layer and The specific correction values ​​are as follows: (1) Threshold correction value of the output layer: ; (2) Weight correction values ​​from hidden layer to output layer: ; (3) Threshold correction value for hidden layer: ; in, This represents the weights from the hidden layer to the output layer; (4) Weight adjustment values ​​from the input layer to the hidden layer: ; After each iteration, the model's output vector A more realistic result vector The value of E approaches 0. When the accuracy of E is sufficient to meet the actual requirements, the BP neural network model training is complete.

5. The assembly sequence planning method considering the characteristics of flexible components according to claim 1, characterized in that, Step S3 is as follows: S31. Set the basic assumptions for the mathematical model; (1) Each step of the assembly sequence assembles only one component, that is, multiple components are not assembled at the same time; (2) When assembling parts, only the six basic assembly directions along the standard coordinate axes are considered: +x, -x, +y, -y, +z, -z. Changes in assembly direction are not considered during the assembly process. (3) The impact of the overall spatial layout of the assembly line is not considered; (4) The impact of workers' rest time arrangements is not considered; S32. Provide the constraints of the mathematical model; (1) For interference constraints corresponding to rigid components, when a rigid component is assembled along a certain direction, consult the assembly interference matrix. If it comes into contact with other components during the process, i.e., the matrix element corresponding to the assembly interference matrix is ​​1, then it is considered that an interference phenomenon has occurred. The formula corresponding to this constraint is as follows: ; Where i represents the sequence number of the currently assembled component in the assembly scheme, and its corresponding component number is part1; while j from 1 to i-1 represents the sequence number of all components assembled before component i, and its corresponding component number is part2. The meanings of i, j, part1, and part2 in the subsequent constraint formulas are the same; im represents the matrix element of the assembly interference matrix, and its value corresponds to the assembly interference information of the two components at the following subscripts: ; (2) Regarding the stress constraint of the flexible component, when the flexible component is assembled along a certain direction, consult the assembly stress matrix. If it comes into contact with other components during the process and the maximum stress borne by the flexible component during the assembly process exceeds the yield limit of the component, that is, the matrix element corresponding to the assembly stress matrix is ​​-1, then it is considered that an interference phenomenon has occurred, indicating that the flexible component cannot be assembled along this direction; the formula corresponding to this constraint is as follows: ; In this case, at least one of the components corresponding to part1 and part2 is a flexible component. The decision to consult StrM depends on whether the flexible component is an active component. a Or StrM p str represents a matrix element of the assembly stress matrix, and its numerical meaning is explained in step S14. (3) Corresponding to the priority constraints of all components, when you want to select a component for assembly, consult the assembly priority matrix. If there is a component with a higher assembly priority than the current component, that is, the corresponding component in the row of the column where the current component is located has a value of 1, and has not yet been assembled, then the current component cannot be assembled temporarily; the formula corresponding to this constraint is as follows: ; Where 'a' represents a matrix element of the assembly priority matrix, and its value represents the assembly priority information of two parts, as detailed below: i. If a ij =1, which means that component i must be assembled before component j; ii. If a ij =0, which means that component i does not need to be assembled before component j; iii. In the matrix a ii The value of is always 0, so it has no meaning. (4) Corresponding to the connection relationship constraints of all components, when you want to select a component for assembly, check the assembly connection matrix. If there is no connection relationship between the current component and any other component, then the current component cannot be assembled temporarily. The corresponding formula for this constraint is as follows: ; Where 'c' represents a matrix element of the assembly connection matrix, and its value represents the assembly connection information of two parts, as detailed below: i. If c ij =0 indicates that there is no connection between part i and part j; ii. If c ij =1 indicates that part i and part j have a contact connection relationship; iii. If c ij =2 indicates that there is a stable connection between part i and part j; iv. In the matrix c ii The value of is always 0, so it has no meaning. S33. Provide evaluation metrics for the mathematical model; (1) The sum of the maximum stress values ​​accumulated during the assembly process of the flexible components, T1, is calculated by consulting the StrM matrix; (2) The number of times the flexible component and the rigid component are switched is T2. Each time the currently assembled component is different from the previously assembled component in terms of rigidity and flexibility, the number of times is increased by 1. (3) Number of times the assembly direction changes, T3, is increased by 1 when the assembly directions of adjacent parts in the assembly sequence are not the same; (4) Number of times the assembly tool changes, T4, is increased by 1 when the assembly tools used by adjacent parts in the assembly sequence are not the same. (5) The unstable connection degree T5 of the assembled parts: If there are no assembled parts that maintain a stable connection with the currently assembled parts after the parts reach their assembly position, then this value is increased by 1. (6) The unstable support degree T6 of the assembly is increased by 1 if there is no assembled component that provides stable support for the current component after it reaches its assembly position. S34. Calculate the weight values ​​of the six evaluation indicators using the fuzzy hierarchical analysis method, and record them as W1 to W6 respectively. S35. Give a mathematical model for assembly sequence planning that considers the characteristics of flexible components; Fitness function: ; Constraints: 。 6. The assembly sequence planning method considering the characteristics of flexible components according to claim 1, characterized in that, Step S4 is as follows: S41. Input relevant parameters, including the population size of the flowers, the number of iterations, and the specific values ​​of various probabilities; S42. Enter the relevant assembly relationship matrix information of the product; S43. Initialize the population and randomly generate the first batch of initial feasible solutions; Let flower group X have N individual flower vectors. After a total of Total pollination iterations, the flower group after the t-th iteration will look like this: ; in, This represents the performance of the Nth individual of the flower after t iterations, where N represents the total number of parts; S44. Perform the first fitness value calculation on the initial population. The calculation data is based on the assembly relationship matrix in step S42. Based on the assembly sequence planning problem optimization model constructed in step S3, find the optimal flower individual in the current population. S45. Pollinate each individual in the flower population in turn, and calculate according to the specified global or local optimization rules to generate the corresponding new individuals. S46. Perform numerical corrections on the new individual to make it conform to the requirements of a feasible assembly sequence; S47. Determine whether the new individual has undergone self-mutation. If it has, the result needs to be numerically corrected again; otherwise, proceed to the next step. S48. Calculate the fitness value of all new individuals and find the optimal flower individual in the population in the new round of iteration; If the fitness meets the requirements or the number of iterations reaches the upper limit, the optimal solution is output and converted into the corresponding assembly sequence information; otherwise, the process jumps to step S45 for the next round of iteration.

7. The assembly sequence planning method considering the characteristics of flexible components according to claim 6, characterized in that, Step S45 is as follows: S451. The optimization method for individual flowers is adjusted by the pollination mode switching probability pswitch∈[0,1] and the random value rand generated by each individual in each iteration. If rand<pswitch, the individual is updated using the global optimization method; otherwise, the individual is updated using the local optimization method. The pollination mode switching probability pswitch value changes with the number of iterations. The formula for calculating pswitch is as follows: ; in, pswitch represents the probability of the pollination mode switching of the i-th individual in the t-th iteration of the population. min and PSWitch max These represent the minimum and maximum values ​​of pswitch during the entire optimization process, and can be set according to the specific problem. S452. For the global optimization process, we have: ; in, This represents the performance of flower individual i in the (t+1)th iteration. This represents the performance of individual flower i in the previous iteration; This refers to the flower that performed best in the previous round, and is considered the current optimal solution. The factor representing the proportion of the movement step size of the biological vector is a constant; This indicates the step size based on the Levy flight, the specific value of which is randomly derived from the Levy flight. , Both represent two distinct individuals randomly selected from the population after t iterations from the flower group. This represents a random number that satisfies a uniform distribution in the range [0,1]. Regarding Levi's flight, we have: ; in, Represents the standard gamma function. The value of is 1.5, and the corresponding gamma function value is 0.88; This represents the step size generated using the Mantegna algorithm: ; in, and All follow a normal distribution, and That is, the standard normal distribution. The corresponding variance The calculation formula is as follows: ; S453. For the local optimization process, an improved strategy of elite mutation is adopted, and a probability is also set in the local search. Then, for each individual flower undergoing local optimization, a random number that satisfies a uniform distribution in the range [0,1] needs to be generated. ,have: ; in, , , , , , Indicates that the flower cluster has passed Six distinct individuals were randomly selected from the population after the next iteration; , , This indicates that the numbers follow a Gaussian random distribution with a mean of 0.5 and a standard deviation of 0.

1. for Its value is: ; After a new individual is generated, a random number uniformly distributed between [0,1] is generated for it. At the same time, a mutation probability for individual flowers is set. If < If the information points on the individual's vector are randomly swapped 4 times, it is considered that the individual has mutated; otherwise, no operation is performed.

8. The assembly sequence planning method considering the characteristics of flexible components according to claim 6, characterized in that, Step S46 is as follows: S461. Count the missing parts to be assembled in the current individual sequence and store them in the candidate set; S462. For a new individual whose current number exceeds the total number of product parts, search in the candidate set for a part number that is greater than the part number corresponding to the original sequence position of the individual. If an item exists, randomly select one from the set to replace the current number; if not, select the maximum value from the set to replace it; after the operation is complete, remove the replacement part number from the candidate set. S463. For negative numbers, also search the candidate set for a component number that is less than the corresponding sorting position of the individual's original sequence. If one exists, randomly select one to replace the current negative number; If no such value is found, the minimum value is selected from the candidate set to replace it; after the operation is completed, the replacement part number is removed from the candidate set. S464. For zero, find whether there is a component number in the candidate set whose number is the same as the sort position of the original sequence of the individual; If a part number exists, it will be used to replace the original part number; otherwise, a part number will be randomly selected from the set to replace it. After the operation is completed, the replacement part number will be removed from the candidate set. S465. For duplicate component numbers in the vector, replace the remaining duplicate numbers except the first one with the remaining component numbers in the candidate set in sequence. S466. Based on steps S461-S465, the component numbers in the new individual sequence now meet the requirements. Finally, using the assembly priority matrix, the component numbers in the vector are adjusted according to the order of product component assembly priority to meet the requirements of a feasible assembly sequence. At this point, all processing is complete, and a new flower individual is generated.