Autonomous performance optimization in robotic assembly process
10228680 ยท 2019-03-12
Assignee
Inventors
Cpc classification
Y02P90/30
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B19/4155
PHYSICS
G06Q10/04
PHYSICS
International classification
G05B19/4155
PHYSICS
Abstract
A method for process parameter optimization in a robotic manufacturing process includes identifying, in two or more successive iterations, a system model for the robotic manufacturing process. Manufacturing process parameters are optimized based on the model identified. The process may be a robotic assembly process.
Claims
1. A method for process parameter optimization in a robotic manufacturing process, comprising: identifying, by a computational device, in two or more successive iterations during the robotic manufacturing process, a system model for the robotic manufacturing process; and optimizing one or more manufacturing process parameters based on the model identified wherein, for at least one of the iterations, the model is identified through a Gaussian process regressionsurrogated Bayesian optimization algorithm, and wherein, for at least one other of the iterations, optimization is performed and applied to the manufacturing process on-line based on the model identified through the Gaussian process regressionsurrogated Bayesian optimization algorithm while the manufacturing process is being performed, wherein online parameter optimization through the Gaussian process regressionsurrogated Bayesian optimization algorithm comprises adding a random variation factor to a lower confidence bound acquisition function.
2. The method of claim 1, wherein, for at least one of the iterations, optimization is performed and applied to the manufacturing process while the manufacturing process is being performed on-line and without interruption of the manufacturing line.
3. The method of claim 1, wherein the manufacturing process comprises at least one assembly process, wherein optimizing on or more manufacturing process parameters comprises optimization of at least one process parameter for an assembly process.
4. The method of claim 1, further comprising evaluating the manufacturing process, wherein evaluating the manufacturing process comprises performing the robotic manufacturing process using candidate process parameters.
5. The method of claim 4, wherein, for at least one the candidate process parameters the robotic manufacturing process uses for the evaluation of the manufacturing process are generated from the identified model.
6. The method of claim 4, wherein, for at least one the candidate process parameters the robotic manufacturing process uses for the evaluation of the manufacturing process are initial process parameters.
7. The method of claim 4, wherein the robotic manufacturing process is terminated after a pre-determined cut-off time.
8. The method of claim 1, wherein, for at least one of the iterations, identifying the model comprises balancing exploration of a model and exploitation of an identified model.
9. The method of claim 1, further comprising, for at least one of the iterations, determining whether to optimize one of the process parameters or update the model.
10. The method of claim 1, applying a switching criterion to determine whether to optimize one of the process parameters or update the model.
11. The method of claim 1, further comprising, for at least one of the iterations: determining a balance factor; and using the balance factor to determine whether to optimize one of the process parameters or update the model.
12. The method of claim 1, further comprising restarting optimization if there is a disturbance in the manufacturing process.
13. The method of claim 1, further comprising restarting optimization in response to variations in the characteristics of parts being assembled by the robotic manufacturing process.
14. A system, comprising: a processor; a memory coupled to the processor, wherein the memory comprises program instructions executable by the processor to implement: identifying, by a computer system, in two or more successive iterations during a robotic manufacturing process, a system model for the robotic manufacturing process; and optimizing one or more manufacturing process parameters based on the model identified, wherein, for at least one of the iterations, the model is identified through a Gaussian process regressionsurrogated Bayesian optimization algorithm, wherein online parameter optimization through the Gaussian process regressionsurrogated Bayesian optimization algorithm comprises adding a random variation factor to a lower confidence bound acquisition function; and wherein, for at least one other of the iterations, optimization is performed and applied to the manufacturing process on-line based on the model identified through the Gaussian process regressionsurrogated Bayesian optimization algorithm while the manufacturing process is being performed.
15. A non-transitory, computer-readable storage medium comprising program instructions stored thereon, wherein the program instructions are configured to implement: identifying, by a computer system, in two or more successive iterations during a robotic manufacturing process, a system model for the robotic manufacturing process; and optimizing one or more manufacturing process parameters based on the model identified in the iterations; wherein, for at least one of the iterations, the model is identified through a Gaussian process regressionsurrogated Bayesian optimization algorithm, wherein online parameter optimization through the Gaussian process regressionsurrogated Bayesian optimization algorithm comprises adding a random variation factor to a lower confidence bound acquisition function; and wherein, for at least one other of the iterations, optimization is performed and applied to the manufacturing process on-line based on the model identified through the Gaussian process regressionsurrogated Bayesian optimization algorithm while the manufacturing process is being performed.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14) While the invention is described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the invention is not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word may is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words include, including, and includes mean including, but not limited to.
DETAILED DESCRIPTION OF EMBODIMENTS
(15) In some embodiments, a system iteratively identifies system model using the Gaussian regression process and optimizes the assembly parameters based on the identified model. The assembly process parameters may be re-optimized when there are system disturbances and/or part variations. In some embodiments, a system performs an online parameter optimization without using any physical model and/or without human involvement.
(16) In some embodiments, a system identifies a model for robotic assembly process, and optimizes parameters of the process to improve the performance such as the cycle time and First Time Through (FTT) rate without stopping a production line. A model is constructed using the assembly data (which may be real-time assembly data) and updated step by step. The updated model is used to generate a new set of parameters to perform the assembly process. The process may be continued until a set of optimal parameters is obtained. The set of parameters is used to perform the assembly process. Once there is disturbance in the process, the cycle time and FTT rate may change. At this point, the optimization process may be started again to optimize the parameters.
(17) In certain embodiments, a Gaussian Process Regression surrogated Bayesian Optimization Algorithm (GPRBOA) iteratively models a complex system and optimize the system performance. In some embodiments, GPRBOA is used to model an assembly process and optimize the process parameters online. Candidate parameters are applied online without stopping an assembly line to perform experiments for parameter optimization. A Gaussian Process Regression (GPR) may address noisy observations and system uncertainties.
(18) In certain embodiments, a GPRBOA algorithm employing random variation is applied perform a parameter optimization online in a robotic assembly process. The process parameters may be optimized by way of GPRBOA to reduce the cycle time by balancing exploration and exploitation processes.
(19) In some embodiments, a robotic assembly includes a force sensor, a robot tool holding a part and a workpiece on a fixture. A high precision robotic assembly requires a robot to perform assemblies in which the assembly clearance is close to or better than the robots' repeatability.
(20)
(21)
(22)
(23)
(24) Where (X,y) are a data set; X* is the desired data set; f* is the latent function; K(X,X) is the covariance matrix.
(25) After the system model is updated, new parameter candidate has to be determined. As used herein, the acquisition function is the function used to generate new sample from the updated model. When it is assumed that the objective function f(x) is sampled from a GPR, a combination of the posterior predictive mean and variance may be used to construct acquisition function, which may be used to determine where to sample next.
(26) For this parameter learning algorithm (which may be referred to herein as a GPRBOA parameter learning algorithm), one new sample added into the sample set because the assembly process is performed one by one. Therefore, if the prior information is not accurate enough (i.e., little information is available about the initial value of the hyperparameters), the GPR may not able to generate an accurate model and thus cannot output enough information for the later Bayesian optimizing process. This is quite different from the general purpose GPR modeling problem where enough sample data have been provided and the hyperparameters can be optimized with high accuracy. Therefore, the acquisition function should balance the optimization and the model generation problem. The algorithm may rely heavily on the underlying GPR model. In some embodiments, a parameter is introduced to control the purpose of the next sample point. The acquisition function is:
(27)
where d(xx) is a metric characterizing the distance between two points x and x. During each iteration, a random number Rand(1)(0<Rand(1)<1) is generated. If Rand(1)>, the next point is selected to optimizing the target function, otherwise, it is selected to improve the model. The variable c can be changed according to the changes of hyper-parameters and system performance. Once the model is mature, is close to 0, which means all the sample points are devoted to optimize the target function.
(28) The optimization process may be restarted once there is a disturbance. The following criteria may be used to initiate the optimization process:
(29)
where .sub.k is the hyperparameter of GPR in iteration k. When the model converges, the hyperparameter changes little and thus, w is close to 0. Furthermore, we denote the system performance as Ct, there are
(30)
where k.sub.u, k.sub.l are two constants controlling the termination condition and restart condition. Here the variable is the same one as the one in the UCBVR acquisition function. It is used to control the next sample point: whether it is computed using the model based optimization or it is obtained randomly. When the model has great uncertainty, e.g. w>1, is set to 1 which enables the program to sample randomly. When the termination conditions are satisfied, is set to 0 and the program will generate a set of optimal parameters and stop updating the GPR model. When the restart condition is satisfied, is set to 0.5 to restart the optimization process.
(31) Some techniques for optimization that may be used in certain embodiments include Conjuncted Gradient Algorithm, evolutionary algorithms, or Nelder-Mead (Simplex) method. In certain embodiments, a Bayesian Optimization Algorithm (BOA) estimates a probability distribution of promising solutions using Bayesian Network (BN) in order to generate new candidate solutions. The BN model may be updated at each iteration using new samples. In some case, the BOA may achieve a good balance between the modeling difficulty and parameter optimization efficiency.
(32) In some embodiments, a GPR surrogated BOA (GPRBOA) is implemented. The algorithm may iteratively model a complex system and optimize the system performance. In each iteration, new samples may be added into the existing data set and used to update the GPR model. The new GPR model may be used to search for the optimal solutions by maximizing a performance index s(x) (also known as the acquisition function) over the input domain. Because the acquisition function controls the new sample points, it directly affects the quality of the built model and the optimal solution. Typically the acquisition function defined using (x) and (x) is deployed to acquire a new candidate using different techniques such as Probability of Improvement, Expected Improvement and Lower Confidence Bound (LCB). With LCB, lower confidence bounds (upper, when considering maximization) may be exploited to increase the optimization efficiency. LCB may have the form:
LCB(x)(x).Math.(x)(9)
where is a scaling factor. Instead of only sampling the points with minimum mean (x) or maximum variance (x) predicted using the current model to improve the model uncertainty, LCB may reduce the search space by combining the mean with variance, which can ignore points that has no possibility of being optimal.
(33) In some embodiments, a GPRBOA algorithm with random variation is implemented to optimize system parameters.
(34) In various embodiments, deploying GPRBOA online may address difficulties from the following two aspects: the variations of the assembly process and computational burden of GPR.
(35) 1) Variations of the Assembly Process: GPRBOA performs online modeling and optimization simultaneously using the exploration and exploitation processes. If the exploration and exploitation processes are not properly balanced, the optimization process can be trapped in local minima. The LCB method can explore a system by sampling x with large (x) and exploit the model by sampling x with large (x). Hence it requires prior information about the variance of cycle time. However, for different batches or assembly processes, such prior information is not available. To deal with such a problem, a method, such as described in
(36)
where is the performance index which is updated online according to the hyperparameters and system performance as shown in equation (12); VR(x)(Variation Random) is a random acquisition function used to explore the unsampled area to improve the model quality by investigating the farthest unsampled points:
(37)
where d(xx) is the distance between two sets of parameters x and x. At each iteration, if rand(1)>, the new candidate is optimized by exploiting the current model; otherwise, it is calculated by exploring the unsampled parameter space. Hence the exploitation process optimizes the process parameters according to the constructed GPR model while the exploration process refines the model according to random variation.
(38) 2) Computational Complexity of GPR: The computational complexity of GPR is proportional to O(N.sup.3) where N is the number of samples. When N becomes bigger, the computational complexity will increase greatly. Therefore, the optimization process should be terminated once the model becomes stable and the optimal parameters are identified. Meanwhile, if the assembly performance decreases, the optimization process should be restarted to re-optimize the assembly process parameters. Hence a new switching method is proposed to control the parameter optimization process:
(39)
where k.sub.u, k.sub.l are two constants controlling the optimization process; k.sub. is the threshold to determine if a model is converged; C.sub.t is the current cycle time and C*.sub.t is the best cycle time so far; =|.sub.k.sub.k-1||.sub.k.sub.0| is the normalized change of hyperparameters, where .sub.k is the hyperparameters at iteration k. When a model is converged, .fwdarw.0. When >1, is set to 1 to encourage exploring the unknown parameter space; When both and the cycle time satisfy the given conditions, is set to 0 to exploit the model to optimize the parameters and the GPR modeling process stops; When the performance degrades (the cycle time increases), is set to 0.5 to restart the optimization process; Otherwise is set to to balance the exploration and exploitation processes.
EXPERIMENTAL RESULTS
Experiment 1
(40) Experimental Setup
(41) Experiments were performed using a high precision valve body assembly process. The experimental system included an ABB IRB140 robot with an IRC5 controller, a force sensor mounted on the robot end effector and a vacuum suction tool used to pick up the valve. The experimental apparatus is shown in
(42) A computer was used for offline and online parameter optimization. The computer was connected to the robot controller via Ethernet. An ABB force control package was used to perform the assembly process.
(43) The assembly process included force guided spiral search and force controlled insertion. The following three parameters are considered: Search Speed (SS), Search Force (SF) and Insertion Force (IF). As listed in Table I, three groups of experiments were performed for comparison, where 3P3V refers to three parameters and each parameter has three values; 3PFV refers to three parameters and each parameter has more than three values. In Table I, the experimental system parameters were defined using the format (Minimum Value: Interval: Maximum Value). Hence for the Design-of-Experiment (DOE) 3P3V configuration, the search force parameter has 3 possible values: 250, 300, 350; while for the GPRBOA 3PFV configuration, the search force parameter has 11 possible values from 250 to 350 with step size 10.
(44) TABLE-US-00001 TABLE I PARAMETER CONFIGURATIONS, SS, SF AND IF REPRESENT SEARCH SPEED, SEARCH FORCE AND INSERTION FORCE RESPECTIVELY. EXPERIMENTS SS SF IF x y .sub.x() .sub.y() REPEAT TIMES DOE 3P3V 250:50:350 5:15:35 50:25:100 9 1 1 0.6 0.2 10 GPRBOA-VR 3P3V 250:50:350 5:15:35 50:25:100 9 1 1 0.6 0.2 2 GPRBOA-VR 3PFV 250:10:350 5:0.5:35 50:5:100 9 1 1 0.6 0.2 2
(45) The parameters in the algorithm are chosen as k.sub.=0.05, k.sub.u=0.95, k.sub.l=0.75. From equation (12), we know that the model is converged if k.sub. is close to 0 and the variation of the cycle time is close to (k.sub.u=0:95) the current best cycle time. If the variation of the cycle time is larger than one-third of the current best cycle time (k.sub.l=0.75), the process parameter optimization should be restarted.
(46) DOE Results
(47) The DOE experiments were performed offline. For the 3P3V configuration, there are 33=27 sets of parameters. Because the cycle time is affected by several random factors, the performance of each set of parameters has to be statistically calculated. Therefore, experiments were performed 10 times for each set of parameters, i.e., totally 270 experiments were conducted. For the robotic assembly process, it is desired that the cycle time and its variance are small. Using the DOE method, the mean cycle time is 2.3 s and variance is 0.09 s.
(48) GPRBOA Results
(49) The GPRBOA experiments were performed online. Each GPRBOA configuration was repeated twice which are denoted as 3P3V #1, 3P3V #2, 3PFV #1 and 3PFV #2 in short. 3P3V #1 and 3P3V #2 have different initial sample points ([350,5,100] and [250,35,50]). After about 10 iterations, the model converged and a set of optimal parameters [350,20,50] were identified.
(50) Compared to the 3P3V configuration, 3PFV GPRBOA splits each parameter more precisely. Thus the underlying relationship between the parameters and the cycle time can be described more accurately. Due to the variation of the assembly process, the derived GPR models in each experiment are not all the same. That is why 3PFV #1 and #2 experiments converged to two sets of parameters [350,24,50] and [350,23.5,50]. However, because the derived models are similar, the optimal parameters are very close.
(51) The four GPRBOA experiments are plotted in
(52) Discussion
(53) 1) Efficiency: The DOE method chooses several values for each parameter, tests the parameter combinations by experiments and finds the optimal one among them. Thus the result is not globally optimal. To overcome the variations of the assembly process and obtain stable result, each parameter set has to be tested several times. As the number of parameters and the number of values of each parameter increase, the number of experiments to be performed grows rapidly.
(54) For the GPRBOA method, the number of parameters and the number of values of each parameter do not increase the complexity of the optimization process. From the experimental results shown in
(55) By comparing the DOE results to the GPRBOA 3P3V results, it is noted that the GPRBOA method achieves same optimal parameters using 8 experiments instead of 270 experiments using the DOE method. Therefore, in this experiment, the GPRBOA is more efficient than the DOE method.
(56) The optimal parameters, the cycle time (mean and variance) and the corresponding experimental time are listed in Table II. The experimental time is obtained by accumulating the cycle time of each experiment (The data processing time for the DOE method is not considered because it is done offline).
(57) TABLE-US-00002 TABLE II COMPARISON OF EXPERIMENTAL RESULTS. Number of Total Methods Optimal C.sub.i (s) C.sub.i (s) Experiments Time (s) DOE [350, 20, 50] 2.32 0.09 270 1254 3P3V #1 [350, 20, 50] 2.39 0.13 8 36.61 3P3V #2 [350, 20, 50] 2.44 0.14 13 53.7 3PFV #1 [350, 24, 50] 2.31 0.14 13 54.26 3PFV #2 [350, 23, 5, 50] 2.23 0.1 13 52.05
(58) From Table II, similar optimal parameters and cycle time are obtained; however, the parameter optimization time is greatly reduced using the GPRBOA method.
(59) 2) Accuracy: From Table II the mean cycle time obtained using GPRBOA 3PFV in this experiment was better than that using DOE method. This is because more values of each parameter can be explored.
(60) The model is updated during each step with more and more data sets considered. From
(61)
Experiment 2
(62) A second experiment was conducted including varying parameter spans. The apparatus and procedure were generally similar to that of Experiment 1. Table III summarizes the variations.
(63) TABLE-US-00003 TABLE III Parameter Large Span Medium Span Small Span Fi 50-200 50-200 100-150 Fs 5-50 10-40 10-20 Vs 150-450 200-350 250-350 Rs 1-3 1-3 1.5-2.5
(64) Methods as described herein may be implemented on one or more computational devices. In some embodiments, the computational device is a computer system.
(65) Computer systems may include a memory medium on which computer programs according to various embodiments may be stored. The term memory medium is intended to include an installation medium, e.g., Compact Disc Read Only Memories (CD-ROMs), a computer system memory such as Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), Extended Data Out Random Access Memory (EDO RAM), Double Data Rate Random Access Memory (DDR RAM), Rambus Random Access Memory (RAM), etc., or a non-volatile memory such as a magnetic media, e.g., a hard drive or optical storage. The memory medium may also include other types of memory or combinations thereof. In addition, the memory medium may be located in a first computer, which executes the programs or may be located in a second different computer, which connects to the first computer over a network. In the latter instance, the second computer may provide the program instructions to the first computer for execution. A computer system may take various forms such as a personal computer system, mainframe computer system, workstation, network appliance, Internet appliance, personal digital assistant (PDA), television system or other device. In general, the term computer system may refer to any device having a processor that executes instructions from a memory medium.
(66) The memory medium may store a software program or programs operable to implement embodiments as described herein. The software program(s) may be implemented in various ways, including, but not limited to, procedure-based techniques, component-based techniques, and/or object-oriented techniques, among others. For example, the software programs may be implemented using ActiveX controls, C++ objects, JavaBeans, Microsoft Foundation Classes (MFC), browser-based applications (e.g., Java applets), traditional programs, or other technologies or methodologies, as desired. A CPU executing code and data from the memory medium may include a means for creating and executing the software program or programs according to the embodiments described herein.
(67) Various embodiments may also include receiving or storing instructions and/or data implemented in accordance with the foregoing description upon a carrier medium. Suitable carrier media may include storage media or memory media such as magnetic or optical media, e.g., disk or CD-ROM, as well as signals such as electrical, electromagnetic, or digital signals, may be conveyed via a communication medium such as a network and/or a wireless link.
(68) As used herein, manufacture includes assemble, welding, fabrication, production, or forming of a part or combination of parts.
(69) Further modifications and alternative embodiments of various aspects of the invention may be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the general manner of carrying out the invention. It is to be understood that the forms of the invention shown and described herein are to be taken as embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the invention may be utilized independently, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. Methods may be implemented manually, in software, in hardware, or a combination thereof. The order of any method may be changed, and various elements may be added, reordered, combined, omitted, modified, etc. Changes may be made in the elements described herein without departing from the spirit and scope of the invention as described in the following claims.