Research on robotic disassembly sequence planning based on genetic programming

. In the context of green recycling and remanufacturing, in order to achieve economic and environmental benefits, the problem of robotic disassembly sequence planning (RDSP) has received more and more attention from researchers. Considering the structure and kinematic characteristics of industrial robots, this paper uses spatial interference matrix to describe the physical constraint relationship between End-of-Life (EoL) product parts, and a multi-objective robot disassembly sequence planning model with the goal of minimizing the switching time of disassembly tools and maximizing the disassembly profit is created. Meanwhile, a multi-objective robot disassembly sequence planning algorithm based on genetic programming (GP) algorithm is proposed to solve the mathematical model. Finally, a case studies based on a gear pump verify the effectiveness of proposed method.


Introduction
Disassembly is the first and most difficult step of remanufacturing [1] .Robot automatic disassembly overcomes the shortcomings of traditional disassembly design and researchers have proposed a robot-driven real-time disassembly unit, which can generate the optimal disassembly sequence for EoL products [2] .
Robot disassembly sequence planning is a combination of disassembly sequence planning and robot disassembly, the total disassembly time of the robot and the disassembly profit of the robot disassembly sequence planning are two important optimization goals.The moving time of the robot between different disassembly points has some degree of Influence on the above two goals, and it is a part that cannot be ignored.Liu et al. considered the moving path of the robot end effector around the product contour into the total disassembly time [3] .At the same time, many researchers use genetic algorithm RDSP problems, but rarely use genetic programming to solve RDSP problems.In this paper, the improved spatial interference matrix is used to represent the constraint relationship between the various parts of the EoL product to be disassembled.The genetic programming algorithm is used to solve the multi-objective robot disassembly sequence planning problem, and the optimal disassembly sequence is generated.

Problem statement
Multi-objective disassembly sequence planning based on industrial robots is a problem of how to find and select the optimal disassembly scheme with specific optimization goals before the disassembly unit of the industrial robot performs the disassembly task.

Product disassembly constraint model
This paper adopts a matrix-based method to describe the physical constraint relationship between the various parts of the product: obtain the corresponding spatial interference matrix according to the physical constraint relationship between the parts of the product [3] , and then use the feasibility analysis method to analyze the feasibility of the spatial interference matrix, and finally obtain a feasible disassembly sequence.

Mathematical model
Based on the above description, the multi-objective industrial robot disassembly sequence planning problem model studied in this paper is to maximize the profit of robot disassembly and minimize the total switching time of the industrial robot disassembly tool.The mathematical expressions of these two objective functions are as follows: In the formula，x i means the i-th component is in the disassembly sequence; p means the operating cost of the industrial robot during the disassembly operation of parts per unit time; R i means recycling/reuse value of component i, which is constant; bt(x i ) means basic disassembly time of component x i ; dt(x i , x i+1 ) means the switching time of the disassembly direction of the industrial robot from component x i to component x i+1 ;tt(x i , x i+1 ) means the switching time of the industrial robot disassembly tool from component x i to component x i+1 ;mt(x i , x i+1 ) means the moving time of the robot's obstacle avoidance when disassembling components x i and x i+1 .

Solution method
RDSP problem is a multi-objective optimization problem.This paper uses the GP algorithm based on non-dominated sorting to optimize the multi-objective robot disassembly sequence.The corresponding coding method and the genetic selection method are given, the fitness function is defined, the crossover and mutation operator are designed.

Genetic programming algorithm based on non-dominated sorting
GP algorithm is a kind of evolutionary algorithm (EA), which inherits the basic idea of genetic algorithm (GA) to select and breed children from parents.According to the actual disassembly requirements, this paper combines the NSGA-II algorithm with the GP algorithm, and proposes the NSGA-II-GP algorithm to search for the optimal disassembly sequence.The main steps of GP are summarized as follows: Table 1.NSGA-II-GP algorithm.

Algorithm1 : NSGA-II-GP
Step 1: Set the number of population to npop, the maximum number of iterations is maxIt, set the function set F and the termination set T, the crossover probability is pCrossover, the mutation probability is pMutation, the initial population generates npop feasible solutions, and the initial population is recorded as popu.
Step 2: Non-dominated quicksort and crowding degree calculation for initialized population.
Step 3 According to the results obtained in Step2, the competition is selected in the population, and n parents suitable for breeding are obtained.
Step 4 Randomly select pCrossover * n individuals from the n parents selected in Step3 for pairwise crossover operation to obtain the child population popc.
Step 5: Randomly select pMutation * n individuals from the n parents selected in Step3 for mutation operation, and obtain the child population popm.
Step 6: The descendant populations popc and popm are merged into the population popu for nondominated quick sorting and crowding degree calculation, and the truncate operation is performed on popu to keep the population number as npop.
Step 7: If the number of iterations reaches the set maximum number of iterations maxIt, the algorithm terminates and outputs the best solution, otherwise returns to Step3.

Genetic programming coding
The GP algorithm used in this paper is different from the traditional encoding (fixed-length gene) of GA, the individual of GP is a computer program with various forms of expression, and this paper adopts the tree-based genetic programming which is the earliest form and mainstream method of genetic programming.
In the GP algorithm in this paper, as shown in Figure 1, the program is represented in the form of a syntax tree.
In this paper, taking a simple model as an example, a EoL product has six parts, corresponding to the terminator x which is set in the GP algorithm.The function set is set to F, as shown in Figure 2, the algorithm randomly generates a syntax tree through the terminator and function set and converts it to an expression of string type: (x).*exp ((x).*sin(x)), and substitute the value of x into the calculation to get the result matrix r = [2.23,12.33, 4.58, 0.19, 0.04, 1.12].Finally, the matrix r is arranged in descending order to obtain the corresponding index matrix, that is, the disassembly sequence corresponding to the EoL product: 2-3-1-6-4-5, thus, the correspondence and conversion from the syntax tree to the disassembly sequence is realized.At the same time, when generating the disassembly sequence, the generation and feasibility analysis of the disassembly direction will be completed according to the spatial interference matrix.If the resulting sequence is infeasible, repair or regenerate a new syntax tree (as do the crossover and mutation operations below).

Crossover
The crossover operation includes single-point crossover and two-point crossover.The commonly used crossover is single-point crossover, and the crossover operation used in this paper is also single-point crossover.Since the terminal in this article has only one matrix x, ITM Web of Conferences 47, 02031 (2022) CCCAR2022 https://doi.org/10.1051/itmconf/20224702031 the cross point is selected in the function node.The process of the crossover operation is shown in Figure 3.

Mutation
The mutation operation used in this paper is the subtree mutation commonly used in the GP algorithm, the process of mutation operation is shown in Figure 4.The mutation point is randomly selected in the parent syntax tree, and then the randomly generated subtree or node to replace the node and generate a new syntax tree, the expression is (x).*exp((x).^sin(x)).

Experimental settings
In this study, we verify the algorithm based on the calculation example of gear pump.At the same time, we choose the NSGA-II and MOABC algorithms to compare with our proposed NSGA-II-GP algorithm, and use the two indicators of IGD and HV to measure the effectiveness of the algorithm.There are many public parameters involved in the operation of the above algorithm, including population number, evolutionary algebra, crossover probability and mutation probability.How to set appropriate public parameters to make the algorithm achieve the best running state is a problem worth considering.We generate nine different parameter settings through the taguchi orthogonal table.For each parameter setting, we will run the three algorithms ten times to obtain their respective mean IGD (MIGD) and mean HV (MHV), smaller IGD means that the obtained solution set is closer to the true Pareto front, and larger HV means that the solution set has better performance in terms of convergence and uniformity.We can observe in table 2 that NSGA-II-GP performs best most of the time, MOABC performs best with the third and ninth parameter configuration, and NSGA-II performs the best with the sixth parameter configuration.We speculate that the number of iterations has the greatest impact on the solving ability of the algorithm.However, the MHV index of NSGA-II-GP in table 3 is average, we speculate that it may be related to the coding structure, and the coding associated with the tree is not prominent enough in the diversity of generated solutions.In the future, we will continue to study the GP algorithm, and further improve the performance of the algorithm by optimizing the selection of function sets, terminatal sets and the coding structure.

Conclusion
In this paper, a mathematical model of robotic disassembly is created with the goal of maximizing the profit of robotic disassembly and minimizing the total switching time of industrial robotic disassembly tools.Furthermore, this study is the first application of a genetic programming algorithm to solve RDSP.The experimental results show that the genetic programming algorithm is feasible and effective in solving the RDSP problem.
When using GP to solve RDSP problems, the settings of GP's function set, terminatal set and the coding structure have an impact on the performance of the algorithm.Therefore, how to set appropriate function set, terminatal set and the coding structure for different problems to further improve the problem-solving efficiency of the GP algorithm is our future work.

Table 2 .
Comparison of MIGD values of three algorithms with different parameters.

Table 3 .
Comparison of MHV values of three algorithms with different parameters.