The intelligent 3D fixture design method of the present invention has a flow chart as shown in
In these steps, the generation number is checked to determinate whether the predetermined generations have all been executed; if they have, an individual with the best fitness value is displayed, and the program terminated.
If the predetermined generation number is not finished, the program returns back to the selection operation, crossing operation, and mutation operation, to generate new offspring. The fitness value order of the parent and the new offspring operated by the mutation operation is calculated, and individuals with better fitness values are selected to form a subsequent new group until the predetermined generation number have finished.
The special interference algorithm makes use of two vectors {right arrow over (T)}1 and {right arrow over (T)}2 that are not located on the same side of a plane as a sufficient and necessary condition, as follows: sign({right arrow over (n)}·{right arrow over (T)}1−C)≠sign({right arrow over (n)}·{right arrow over (T)}2−C)
Where, {right arrow over (n)} is the plane normal vector; and
c is a constant for the plane.
It is assumed that the fixture module, fixture movement path, or tools are located in a space surrounded by six planes; wherein the six normal vector of the six planes are {right arrow over (n)}1, {right arrow over (n)}2 . . . {right arrow over (n)}6, with six corresponding calculation constants c1, c2, . . . , c6; each calculation constant is the sum of one vector {right arrow over (T)}1 on the plane and its normal vector {right arrow over (n)} (C={right arrow over (n)}·{right arrow over (T)}); {right arrow over (T)}1 is a vector surrounded by the six planes, {right arrow over (T)}2 is an interference calculating point vector; and a determination method is provided as follows:
The genetic algorithm considers every individual of a gene as a parameter and determines the individual of a gene via coding. Assuming the fixture system includes N fixture modules, and the fixture module has T types, the workpiece with its fixing points can be cut into S cross-sections according to fixing directions for the fixture module, and P points are set from the fixing point to the edge of workpiece on every cross-section as positions for fixture module design parameters p2, pdn2. According to the above-mentioned problem, the fixture system in total has N fixture modules; every fixture module needs to select a type for the fixture module (T types), a fixing direction (S cross-sections ) and individual position for the parameter p2 and pdn2 (P points). Therefore, each fixture module has four parameters, and the entire fixture system has 4×N parameters. In the other words, this individual includes 4×N genes, and its genes are shown in
The limitation condition may be provided as ψ=(ψ1, ψ2, ψ3, ψ4, ψ5), which is explained as follows:
The evaluation index C(N) for fitness values takes the lowest total cost of all fixture modules as an optimal value according to the cost of the fixture module type and its cylinder stroke and cylinder diameter, as shown in
The present invention utilizes integer and symbolic coding to indicate every gene value, and then generates chromosome and initial individual groups. The following steps show how to generate M initial individual groups, wherein one set of the vectors (x1, x2, . . . xi, . . . , xN) presents a set of N parameters that need to be determined.
Step 1: randomly generating a random number β, wherein β belongs to [0, 1].
Step 2: make xi=li+β(ui−li), xi is rounded to be integer, wherein li and ui is in the range of xi.
Step 3: repeating the above steps N times to generate one set of vectors (x1, x2, . . . , xi, . . . , xN).
Step 4: repeating the above steps 1 to 3 M times to generate M initial groups; as shown in
Better parents are selected for a subsequent crossover operation, and a roulette wheel is utilized for the selection. The selection operation selects individuals with higher probabilities in the entire group.
For example: for individual k, its fitness value is fk, its probability in the entire group is pk, and
Therefore, an accumulated probability qk of each set of chromosome in the entire group is:
where, M is the number of individuals in the group.
During the selection operation, the roulette wheel is turned M×Pe times, where Pe is a selection rate, and a member from the parent is selected to become a new member of the group according to each obtained probability. The following steps show how to generate M×Pe new group members.
The crossover operation combines single point crossover and linear interpolation with convex set theory to randomly select four crossover points, exchanges the upper and lower two parents on the crossover point, uses linear interpolation to simultaneously calculate two gene values on the crossover points, and then generates two new offspring. For example, two different parents are x=(x1, x2, . . . , xN) and y=(y1, y2, . . . , yN); assuming point k is a randomly selected crossover point, the crossover method and the new daughters x′ and y′ are shown in
x′=(x1, x2, . . . , x′k, yk+2, . . . , yN),
y′=(y1, y2, . . . , y′k, xk+2, . . . , xN), (1.3)
where, x′k=xk+β(yk−xk), y′k=lk+β(uk−lk), lk and uk is the range of yk, and β is a random number belonging to [0, 1]. Furthermore, x′ and y′ are rounded to be integers. This mixing crossover method and the new xk′ and yk′ generation method can generate various offspring and avoid premature.
The mutation operation uses linear interpolation with convex set theory as a basic concept, which randomly selects two points from the same group in one chromosome and performs linear interpolation to complete the mutation. This mutation method may also be viewed as performing a fine tuning in the space.
For example: the parent is x=(x1, x2, . . . , xi, xj, xk, . . . , xN); xi and xk are randomly selected for mutation; wherein, xi and xk need to be in the same range, or otherwise need to be normalized. The mutation method and new daughter x′ are explained in the following:
x=(x1, x2, . . . , xk′, xj, xi′, . . . , xN) (1.4)
where, x′1=(1−β)x1+βxk, x′k=βxi+(1−β)xk, and β is a random number belonging to [0,1], and xi′, xk′ are rounded to be integers, as shown in
Please refer to
In step 101, after the genetic algorithm coding, the first generation group is randomly generated, as follows: the selection operation in step 102, the crossover algorithm in step 103, the mutation operation in step 104, generation of new offspring in step 105, connecting point A in steps 106 to step 200 to decode the integer code, reading fixture system design conditions in step 201, calculating cylinder stroke of the fixture module in step 202, calculating fixing force of the fixture module in step 203, calculating the interference between the movement track of the fixture module and the workpiece in step 204, calculating the amount of interference between the fixture module and its neighboring fixture module in step 205, calculating the amount of interference between the fixture module and the tools in step 206; obtaining the type, the cylinder diameter, the cylinder stroke and the fixing force of the fixture module in step 207; calculating fitness value of the fixture system in step 208; connecting point B in step 107 to step 108 for calculating and sequencing the fitness values of the parents and the offspring after the mutation algorithm, and selecting the individuals with better fitness values as the next new generation group in step 109.
In step 110, all predetermined sets are checked to determine if they have been executed; if all have been executed, step 111 is performed to display the individual with an optimal fitness value, and then step 112 is performed to end the process.
If not all of the predetermined generations have been executed, the process goes back to the selection operation in step 102, the crossover operation in step 103, the mutation operation in step 104, the generation of new offspring in step 105, step 106, . . . , step 109 until all of the predetermined generations have been executed.
The following description shows how an embodiment of the present invention may be utilized for car door panel welding fixture system optimized design.
The car door panel fixture system has 12 fixture modules. Each fixture module has its fixing point which had 7 cross-section directions; each cross-section is divided into 30 points from the clamping point to the edge of the car door panel, to be the position points of the fixture module design parameter p2 and pdn2. Therefore, the car doorpanel welding fixture system has 12 fixture modules, with each fixture module having 4 parameters, so that the entire fixture module has 48 parameters. There are 12 types of fixture modules, 7 fixing cross-section directions and 30 position points for the fixture module design parameters p2 and pdn2; therefore, the range of the entire fixture module selection space is about (12×7×30×30)12.
The intelligent 3D fixture design method may be used to find an optimal 3D fixture module and related specification and layout as follows:
GA Algorithm Settings
Parents: 100, offspring: 80 generations: 400 selection rate: 0.8 mutation rate: 0.2
Genetic Code:
Total fitness value: 238400
The total fitness value is the lowest fixture system cost, which is 238400, as shown in
The type of the fixture module and its specifications and position parameters (as shown in
Result Comparisons:
Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.