Autonomous Robust Assembly Plan

The method of numerical optimization and closed-loop simulations autonomously tunes force control parameters for robotic assembly, addressing the inefficiencies of manual methods and limited simulation systems, enhancing the robustness and safety of robotic assembly operations.

JP7894311B2Active Publication Date: 2026-07-23FANUC LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2022-11-30
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing robotic assembly systems face challenges in adjusting force control parameters due to manual trial-and-error methods, which are time-consuming, costly, and risky, and current simulation systems are limited to specific tasks or require human expertise, making them unsuitable for general assembly operations.

Method used

A method using numerical optimization and closed-loop force control simulations to autonomously tune force control parameters in a simulation environment, accounting for random uncertainties, and applying the optimized parameters to real-world operations.

Benefits of technology

This approach enables faster, safer, and more effective tuning of force control parameters, improving the robustness of robotic assembly operations by reducing the need for physical testing and human intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007894311000021
    Figure 0007894311000021
  • Figure 0007894311000022
    Figure 0007894311000022
  • Figure 0007894311000023
    Figure 0007894311000023
Patent Text Reader

Abstract

To provide a method for tuning the force control parameters for a robotic assembly operation.SOLUTION: The method uses numerical optimization to evaluate different combinations of the parameters for a robot force controller in a simulation environment. This method performs autonomous tuning for assembly tasks based on closed loop force control simulation, where random samples from a distribution of force control parameter values are evaluated, and the optimization routine iteratively redefines the parameter distribution to find optimal values of the parameters. Each simulated assembly is evaluated using multiple simulations including random part positioning uncertainties. The performance of each simulated assembly is evaluated by the average of the simulation results, thus ensuring that the selected control parameters will perform well in most possible conditions.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] (Technical field) This disclosure relates, in general, to a method for tuning parameters used in force-controlled robot assembly operations, and more specifically, to a method for tuning force-controlled robot assembly parameters using a physical simulation of the assembly process, along with numerical optimization, to try various combinations of force-controlled parameters in a simulation that includes random attitude uncertainty, such that the optimization converges to the parameter set most robust to uncertainty.

[0002] (Explanation of related technologies) The use of industrial robots to repeatedly perform a wide range of manufacturing and assembly operations is well known. However, some types of assembly operations, such as mounting a car door with hinge pins onto a car body with hinge pin holes, are still performed manually, in which case the machine lifts the weight of the door and a human operator aligns the hinge pins with the holes and lowers the door into place. Other assembly operations, such as inserting an electrical connector into a mating connector, or any other assembly that tightly fits one component into another, also present challenges for robots. These types of operations are often still performed manually because it is difficult for robots to detect and correct complex misalignment that can occur in assembly tasks with tight tolerances. That is, due to slight deviations in the orientation of the parts caused by uncertainties in both gripping and fixing, the robot cannot simply move the parts to their nominal mounting position, but rather must "grope" to align and fit one part into the other.

[0003] To make assembly tasks robust against these unavoidable positioning uncertainties, robotic systems typically utilize force-control-based functions to compensate for undesirable deviations. The conventional method of setting up and adjusting robotic assembly tasks involves manual adjustments, where a human operator programs the actual robotic system for the assembly task, executes the program, and carefully adjusts force control parameters in a trial-and-error manner (e.g., with <10% changes each time). However, adjusting and setting these force control functions using physical testing is time-consuming and costly because it requires manual trial and error, and if adjustments are made on an actual system, redesign may be necessary if the actual system does not meet the requirements. Parameter adjustments on an actual physical testing system are also risky, as the robot is not compliant, and therefore unexpected contact between parts could damage the robot, parts, or surrounding fixtures or structures.

[0004] While systems exist for adjusting force control parameters for robot assembly in a simulation environment, these existing systems exhibit several limitations. Some of these systems are designed to simulate only one specific type of assembly task, such as peg-in-hole assembly or planar component mounting, and their techniques include pre-programmed motion strategies specific to that particular type of assembly task, making them unsuitable for general assembly tasks. Other existing systems for parameter adjustment in a simulation environment still require considerable human experience and expertise to guide the selection of force control parameters used in the simulation.

[0005] In light of the above situation, improved technology is needed for autonomously adjusting force control parameters related to general robot assembly operations. [Overview of the project]

[0006] The following disclosure describes a method for tuning force control parameters required for a typical robot assembly operation, which uses numerical optimization to evaluate various combinations of parameters for the robot force controller in a simulation environment built on a real-world robot setup. This method performs autonomous tuning for the assembly task based on closed-loop force control simulations, where random samples from a distribution of force control parameter values ​​are selected and evaluated, and an optimization routine iteratively redefines the parameter distribution to find optimal parameter values. To improve the transition of simulation results to real-world operation and make the planned results robust to uncertainty, each hypothetical assembly program is evaluated using multiple simulations where random uncertainty (e.g., stabilization error) is used for each simulation instance. The performance of each simulated assembly is evaluated by the average of the simulation results, ensuring that the selected control parameters function well under most possible conditions. Tuning parameters in simulation is faster, more cost-effective, and safer than tuning parameters in a physical test environment. Once the parameters are learned through simulation, they are applied to the actual robot to perform the actual assembly operation.

[0007] Further features of this disclosure will become apparent from the following description and the attached claims, in conjunction with the attached drawings. [Brief explanation of the drawing]

[0008] [Figure 1] This diagram illustrates a robot assembly operation performed on parts with tight tolerances, illustrating some of the causes of part positioning uncertainty that arise in robot assembly operations. [Figure 2]This diagram shows a robot-assembled part where the robot performs hole searching in a plane perpendicular to the insertion axis, and the part requires alignment. [Figure 3] This diagram shows a robot-assembled part that requires alignment, using a method where the robot performs a phase search to find the appropriate direction of rotation around the insertion axis. [Figure 4] This is a block diagram of a simulation system configured for feedback control simulation of robot assembly motion, including the ability to determine the effectiveness of a given force control parameter, according to one embodiment of the present disclosure. [Figure 5] This is a cross-sectional view of a robot assembly operation, showing the assembly steps and force control parameters used in the simulation system of Figure 4 according to one embodiment of the present disclosure. [Figure 6] Figure 5 is a cross-sectional view of a robot assembly operation according to one embodiment of the present disclosure, in which the operation is simulated multiple times using positional variations of a predetermined range of parts, and each simulation is evaluated using a cost function. [Figure 7] A cross-sectional view of the robot assembly operation shown in Figures 5 and 6, according to one embodiment of the present disclosure, in which several groups of simulations evaluate the positional variation of a part, similar to Figure 6, and each group uses different values ​​of force control parameters from a certain distribution, the distribution being updated in an optimization process to find the optimal values ​​of the parameters. [Figure 8] This is a conceptual diagram of parameter search and convergence in a two-dimensional space using numerical optimization, as is known in the relevant technical field. [Figure 9] This is a flowchart illustrating a method for autonomous parameter tuning of a general robot assembly operation using numerical optimization combined with physical simulation, according to one embodiment of the present disclosure. [Figure 10]FIG. 9 is a diagram of a system for autonomous parameter adjustment via the method of FIG. 9, where adjusted parameters are used by a robot controller in corresponding real-world robot assembly operations. DETAILED DESCRIPTION

[0009] The following discussion of embodiments of the present disclosure is directed to methods of adjusting parameters required for force-controlled robot assembly operations, using simulations with numerical optimization to evaluate various combinations of parameters and including part positioning uncertainty in those simulations. The following is merely exemplary in nature and is in no way intended to limit the disclosed technology or their application or use.

[0010] The use of industrial robots for a wide variety of manufacturing and assembly operations is well known. The present disclosure aims to overcome the problems encountered in many robot assembly operations.

[0011] FIG. 1 is a diagram of a robot assembly operation performed on parts with tight tolerances, showing some of the causes of part positioning uncertainty that create problems for robot assembly operations. A robot 100 having a gripper 102 grips a first part 110 that is to be assembled to a second part 120. In this example, the first part 110 is a peg part and the second part 120 is a hole structure. The peg part 110 is to be inserted into a hole within the hole structure 120. The tolerances of parts in peg-in-hole assembly are typically very tight so that the assembled body can operate without becoming overly loose after assembly. Some peg-in-hole assemblies have double coaxial pegs on one part, and these pegs must be inserted simultaneously into double holes on the other part, which makes the assembly operation even more difficult. The assembly of many other types of mating parts, such as electrical connectors, complex planar shapes, etc., exhibit similarly tight tolerances.

[0012] Detecting and correcting the complex alignment errors that can occur in precise tolerance assembly tasks is difficult for robots, so the above types of assembly operations are still often performed manually. That is, due to slight deviations in the posture of the parts, the robot cannot simply move the part to its nominal mounting position; rather, it has to "grope" to align and fit one part within the other. There are many possible causes for errors and uncertainties in the posture of parts. First, the exact position and orientation (collectively, "posture") of the peg part 110 when gripped within the gripper 102 may vary slightly from the expected posture. Similarly, the exact posture of the hole part 120 within its fixture may also vary from the expected posture. In systems that use a camera 130 to provide an image of the workspace scene for position determination, perceptual errors can also contribute to the uncertainty in the relative positioning of the parts. Furthermore, calibration errors in the placement of the robot 100 and the fixture holding the part 120 within the workspace, as well as slight variations in the joint positions of the robot, can all further contribute to the positioning uncertainty of the parts.

[0013] Figure 2 is a diagram of a part to be assembled by a robot that requires alignment, in a manner that causes the robot to perform hole probing in a plane perpendicular to the insertion axis. The gripper 202 grips the part 210 that must be inserted into the hole 220 in the same manner as shown in Figure 1. The distance 230, exaggerated for visual effect, represents the uncertainty in the lateral position of the part 210 with respect to the hole 220. To find the proper alignment between the part 210 and the hole 220, the robot may be required to perform hole probing, in which case the gripper 202 moves the part 210 back and forth in a zigzag pattern 240 within a plane perpendicular to the axis of the part 210.

[0014] Figure 3 shows a robot-assembled part where the part requires alignment, and the robot performs a phase search to find the appropriate direction of rotation around the insertion axis. The gripper 302 grasps the first part 310, which must be mated with the second part 320. In this case, the first part 310 and the second part 320 are gears with teeth that must be precisely aligned. In order to find the appropriate alignment of part 310 with part 320, the robot may be required to perform a phase search, in which case the gripper 302 attempts to lower part 310 to a predetermined position and engage it with part 320 while fine-tuning the rotational position of part 310 around its pivot axis.

[0015] Although the aforementioned hole search and phase search functions exist in robotic systems, they can be inefficient and often ineffective when the assembly of parts involves more complexities than simple hole alignment or rotational alignment.

[0016] To make assembly tasks robust against these unavoidable positional uncertainties, robotic systems typically utilize force-control-based functions to "grope" for the proper fit of parts. The conventional method for setting up robotic assembly tasks involves manual adjustments, where a human operator programs the actual robotic system for the assembly task, executes the program, and adjusts the force control parameters through trial and error. However, adjusting and setting these force control functions using physical testing is time-consuming and costly due to the manual trial and error that must be performed. Adjusting parameters on actual physical testing systems is also risky, as the robot is not compliant, and unexpected contact could damage the robot or surrounding fixtures or structures.

[0017] While systems exist for adjusting force control parameters for robot assembly in a simulation environment, these existing systems exhibit several limitations. Some of these systems, such as one shown in Figures 1-3, are designed to simulate only one specific type of assembly task, and their techniques include pre-programmed motion strategies specific to that particular type of assembly task, making them unsuitable for general assembly tasks. Other existing systems for parameter adjustment in a simulation environment still require considerable human experience and expertise to guide the selection of force control parameters used in the simulation.

[0018] This disclosure describes a method for autonomously tuning force control parameters for general robot assembly, overcoming the limitations of existing technologies. This method utilizes high-fidelity closed-loop force control simulations of the robot, including contact dynamics between the parts being assembled. The assembly task is segmented and parameterized, and an optimization routine evaluates the simulations to find the parameter values ​​that exhibit the best assembly performance. Each parameter set evaluated is simulated multiple times with randomly varying part pose uncertainties, and the parameter set that is most robust to those pose uncertainties is given the highest rating. This technique is discussed in detail below.

[0019] Figure 4 is a block diagram of a simulation system 400 configured for feedback control simulation of robot assembly motion, including the ability to determine the effectiveness of given force control parameters, according to one embodiment of the present disclosure. Computer 410 is configured to run a simulation system 420, which includes a robot definition model 430 and a physics engine 440. The simulation system 420 performs a closed-loop force control simulation of the assembly motion, including contact dynamics between the parts being assembled in the simulation. The simulated assembly motion behaves according to force control parameters defined as inputs to the robot definition model 430. By examining the results of each simulation (whether the parts were assembled completely and properly), it is possible to evaluate the effectiveness of various values ​​of the force control parameters.

[0020] The robot definition model 430 includes a force controller 432. Unlike robot controllers used for motion control applications such as spray painting, laser welding, or part placement on a conveyor (where contact between the robot's arm end tool and the environment is strictly avoided), the force controller 432 provides compliant motion for the robot based on the resistance encountered when it comes into contact with other objects. This is done using a form of admittance control.

[0021] Impedance control (or, admittance control) is an approach to dynamic control that relates force and position. This control is often used in applications where a manipulator interacts with its environment, and the relationship between force and position is important. Mechanical impedance is the ratio of force output to motion input. To define these relationships, a virtual mass-spring-damping system is employed. Controlling the impedance of a mechanism means controlling the resistance to external motion imposed by the environment. Mechanical admittance is the reciprocal of impedance and defines the motion resulting from a force input. The theory behind impedance / admittance control methods is to treat the environment as an admittance and the manipulator as an impedance.

[0022] The force controller 432 operates as described above and receives, as input, a target (or, "desired") force F d and provides, as output, a composite motion (velocity) V d The variables F d and V d are vectors that include all six degrees of freedom (three translations and three rotations) in Cartesian space. The force controller 432 uses the above-described admittance control calculations to calculate the composite motion V d based on the difference between the target force F d and the actual contact force F applied to the workpiece. The force / torque balance and motion calculations are typically performed about the center of gravity of the workpiece. The relationship between F d and V d and the adjustment of F d to achieve an efficient assembly are further discussed below.

[0023] As described above, the composite motion V d provided as the output of the force controller 432 is a Cartesian velocity vector that includes all six degrees of freedom of motion (three translational velocities and three rotational velocities) of the center of gravity of the part. The kinematic block 434 moves the center of gravity of the part to the arm end tool (gripper) at velocity V dThe corresponding robot joint velocity V required to move is calculated. The kinematics block 434 performs joint velocity calculations based on known robot kinematics using inverse kinematics calculations, as is known in the art. Target velocity V in Cartesian space d In addition to converting to V in joint space, the kinematics block 434 also includes a low-pass filter to ensure the smoothness and feasibility of the target velocity in joint space, which is output as V. The integration block 436 integrates the joint velocity V to obtain a joint position vector P that defines the robot's posture in the simulation, resulting in a defined gripper motion.

[0024] The known characteristics and capabilities of the robot controller 450 are used to simulate inverse kinematics calculations in the force controller 432, block 434, and integration in block 436. The known characteristics of a specific robot 460 (kinematics, motor torque / velocity characteristics) are also used to construct the robot definition model 430.

[0025] The physics engine 440 simulates the physical interactions of parts being assembled by the robot. Robot motion, defined by joint position vectors P, is provided in block 442 and used in contact dynamics model 444 to simulate contact between parts. Three different embodiments of part assembly are shown on the right side of Figure 4, illustrating the simulation embodiments that have been performed and successfully demonstrated the disclosed autonomous parameter tuning method.

[0026] In box 470, a complex planar component 472 is robotically inserted into a mating opening within a fixed component 474. In box 480, a two-peg component 482 is robotically inserted into a fixed mating two-hole component 484. In box 490, an electrical connector 492 (e.g., a male connector) is robotically inserted into a fixed mating electrical connector 494 (e.g., a female connector). These embodiments demonstrate assembly operations performed on entirely different types of components, all of which are sensitive to translational position alignment in both the lateral and vertical directions, and exhibit different sensitivities to rotational position (phase) and tilt position around the vertical axis. Therefore, each type of assembly is expected to be optimally performed using different force control parameters in the force controller 432. What is provided by the art of this disclosure is autonomous adjustment of force control parameters.

[0027] For any given part assembly operation to be simulated, CAD models of those parts are provided to the contact dynamics model 444. For example, to perform a simulation of the parts shown in box 480, a CAD model of a two-peg part 482 and a CAD model of a two-hole part 484 are provided. The two-peg part 482 is held in a robot gripper in a known orientation relative to the robot, and the two-hole part 484 is fixed in the 3D simulation space. The exact position and orientation of the fixed two-hole part 484 in the 3D simulation space will be modified from nominal values ​​to simulate the aforementioned real-world uncertainties.

[0028] The contact dynamics model 444 within the physics engine 440 simulates the movement of a part (e.g., part 482) within the robot gripper based on the robot motion from block 442. When the part (e.g., part 482) within the robot gripper comes into contact with a stationary part (e.g., part 484) in the simulation space, the resulting contact force and torque from the contact dynamics model 444 are provided to the force sensing block 446, which then provides them to the force controller 432 as a feedback force F. The feedback force F is then used to determine the target force F. d As shown, this is a 6x1 vector encompassing three forces and three torques, i.e., all six coordinate directions in the 3D simulation space. When the tuned force control parameters are used in real-world robot assembly operations (see Figure 9), the contact forces and torques are provided by force sensors fitted to the robot gripper.

[0029] The simulation system 400 in Figure 4 provides a realistic simulation of a force-controlled robot system performing the assembly operation of two geometrically defined parts. The success of the simulated assembly operation depends on force control parameters defined as inputs to the force controller 432. The simulation system 400 can then be used in a recursive optimization calculation to autonomously adjust the force control parameters for successful assembly, including randomly varying the positional uncertainty of the fixed parts in order to better simulate real-world conditions.

[0030] Figure 5 is a cross-sectional view of a robot assembly operation showing the assembly steps and force control parameters used in the simulation system of Figure 4 according to one embodiment of the present disclosure. The assembly program is parameterized to search for the best assembly program using numerical optimization. The parameterization can be designed by the user in any preferred manner. One way to perform parameterization is to divide the assembly program into a number of compliant control steps. In one exemplary embodiment, four steps are used: target or desired force F d For each assembly step, the robot gripper velocity (in Cartesian coordinates) is provided as an input to the force controller in the form of a 6x1 vector. d F d The force can be determined by F and D, in which case F is the feedback contact force (also a 6x1 vector) described above, and D is the gain matrix of the force controller. D is a 6x6 matrix, and in a preferred embodiment, it is a diagonal matrix. The velocity calculation is performed in the form of matrix multiplication (excluding matrix division), V d =inv(D)·(F d It can be written as -F).

[0031] In a preferred embodiment, the gain matrix D and execution time T of the force controller at each step are fixed as constants, and the target force vector F d However, these are the parameters that are optimized. In other embodiments, however, D and T can also be variable and optimized parameters. The target or desired force vector F is provided as input to the force controller for each step. d Based on this, the robot will set the speed V if the parts inside the robot gripper are not in contact with the environment. d =inv(D)·(F d ) will move, and if not, the robot will have a contact force F=F d This will maintain the status quo.

[0032] In the scenario shown in Figure 5, the peg 510 is inserted into an opening in the hole component 520. The hole component 520 is fixed in place, and the peg 510 is operated by a robot (not shown). As shown in the diagram in Figure 5, the assembly program is assumed to have four steps. For each step i, the target force vector

[0033]

number

[0034]

number

[0035]

number

[0036] Target force vector

[0037]

number

[0038]

number

[0039]

number

[0040]

number

[0041]

number

[0042] As mentioned above

[0043]

number

[0044]

number

[0045]

number

[0046]

number

[0047] The aforementioned discussion concerns the simulated assembly process in Figure 5 and how the target force vector is determined.

[0048]

number

[0049]

number

[0050] Figure 6 is a cross-sectional view of the robot assembly operation of Figure 5, according to one embodiment of the present disclosure, in which the operation is simulated multiple times using a predetermined range of part positioning variations, and each simulation is evaluated using a cost function. In 610, there is a fixed part, a part that is grasped by the robot and to be assembled to the fixed part, and a target force assembly path.

[0051]

number

[0052] In 630, each person follows the same goal-setting path.

[0053]

number

[0054] Each simulation in 630 ends with a final assembly orientation error after the final step. In the case of peg-hole assembly, the final orientation error can be the 3D distance between the bottom tip of the peg and the target location at the bottom of the hole. It is desirable that this distance, i.e., the final orientation error, be minimized. If the force controller successfully inserts the peg into the hole and lowers it, the final orientation error will be very small (less than 1 mm). However, if the force controller fails to insert the peg into the hole (e.g., the tip of the peg slides off the side of the hole part), the final orientation error will be large (20 mm). As shown in 640, a cost function is calculated for the final orientation error for each simulation in 630. The cost function value can simply be the final orientation error in units of physical distance, or it can be normalized to, for example, the size of the part. In either case, a low cost function value indicates a successful simulated assembly.

[0055] In box 650, the average cost function value is calculated for all simulations in box 630. For example, if five simulations are run, each using the same target force path θ and different random attitude errors, the average cost function for those five simulations is calculated in box 650. The average cost function is an indicator of how well the simulated assembly performs using the input target force path θ (including the parameterized target force values). This cost function value is then used in the optimization process to autonomously adjust the parameterized target force values.

[0056] Figure 7 is a cross-sectional view of the robot assembly operation of Figures 5 and 6, according to one embodiment of the present disclosure, in which several groups of simulations evaluate part positioning variations in the same manner as in Figure 6, and each group or set of simulations uses different values ​​of force control parameters from a certain distribution, the distribution being updated in an optimization process to find the optimal values ​​of the parameters. The initial target force path θ is defined at 710 in the manner described above with respect to Figure 5. For a perfectly aligned part (no attitude error whatsoever), the peg would descend directly into the hole, as shown at 710. However, due to the uncertainty of part positioning, perfect alignment between the robot-operated part and the fixed part is extremely unlikely, and therefore the force control parameters must be selected to be robust to the attitude error of the part.

[0057] A statistical distribution 720 is defined for the parameterized value of the target force path θ. In one embodiment, the statistical distribution 720 is a Gaussian distribution or a normal distribution. Other types of distributions can also be defined as needed. The value of the target force path θ is randomly selected from the statistical distribution 720, and a different target force path θ is used for each of the simulation sets 730, 732, ... 738. The number of simulation sets can be selected to suit the application, and in Figure 7, five are shown simply for illustrative purposes. For each of the simulation sets 730-738, multiple assembly simulations are performed, and each simulation uses a different attitude error 610 selected from a range of part positioning uncertainty, as described with respect to Figure 6. Each target force path θ has a 6 × 1 target force vector for each of the (e.g., four) steps.

[0058]

number

[0059] For example, consider simulation set 730. Simulation set 730 is randomly selected from statistical distribution 720, and the target force path θ 730 The simulation set 730 includes simulations 740, 742, and 744 (and possibly more, though not shown). Each of simulations 740, 742, and 744 uses the same target force assembly path θ. 730 Each simulation uses a different attitude error selected from the range of part positioning uncertainty. The average cost function value 750 is calculated for all simulations in the simulation set 730, as described above with respect to Figure 6. The average cost function value 750 is calculated for the target force path θ in the presence of part positioning uncertainty in the assembly operation. 730 This is an indicator of how well it works. Each of the other simulation sets 732-738 is evaluated in the same way, and each simulation set generates an average cost function value.

[0060] The best-performing simulation set (the one with the lowest cost function value) is selected and used in the optimization algorithm to define a new statistical distribution 760 for the target force path θ. In one non-restrictive embodiment, three best-performing simulation sets are selected, shown as simulation sets 730, 734, and 736 in Figure 7. The best-performing target force assembly path (θ) 730 ,θ 734 ,θ 736 The value of ) is used to define a new statistical distribution 760. If statistical distribution 760 does not meet the convergence criterion for the quality of the assembled results, at arrow 770, the new statistical distribution 760 is used to replace statistical distribution 720, and a new simulation set is defined. This process continues recursively at arrow 780 until the convergence criterion is met. Final mean of statistical distribution 760

[0061]

number

[0062] Figure 8 is a conceptual diagram of parameter search and convergence in a two-dimensional space using numerical optimization, as is known in the art. By using numerical optimization algorithms to automatically tune the parameters, the best results can be achieved. One embodiment is a covariance matrix adaptive evolutionary strategy (CMA-ES), in which a set of parameters is sampled from a distribution (e.g., a Gaussian distribution), and each of these parameters is evaluated (using simulation). The Gaussian distribution is then updated in a directional optimization manner to increase the probability of sampling parameters with good performance.

[0063] Box 810 shows the initial (first generation) set of individual parameter samples from the 2D distribution 812, where each sample is represented by a dot. It should be understood that the directional optimization technique shown in Figure 8 is applicable in multiple dimensions, and this approach is shown in two dimensions for visual clarity. Each sample from distribution 812 is used in a simulation to produce performance metrics (such as the cost function values ​​mentioned above). The sample contained within region 814 had the best performance among all the samples in distribution 812. Based on this, a second generation of parameter samples with distribution 822 is created in box 820. Distribution 822 is expanded and stretched in the direction of the best-performing sample by the CMA-ES algorithm. Samples from distribution 822 are used in a simulation, resulting in performance metrics for each. The sample contained within region 824 had the best performance among all the samples in distribution 822.

[0064] In box 830, a third generation of parameter samples with distribution 832 is created. Distribution 832 is further expanded and stretched in the direction of the best-performing sample from region 824. Samples from distribution 832 are used in simulation, and it is found that the sample within region 834 has the best performance. This directional optimization process continues to the fourth generation in box 840, in which case distribution 842 is smaller and essentially concentric with distribution 832 because the best-performing region 834 was essentially located in the center within distribution 832. In other words, distribution 842 has almost the same mean as distribution 832 but a smaller standard deviation. The fifth generation of samples in box 850 has distribution 852, which has almost the same mean and an even smaller standard deviation compared to the fourth generation. The sixth generation of samples in box 860 has a distribution 862 with nearly the same mean and an even smaller standard deviation compared to the fifth generation, and this distribution 862 is considered to meet the convergence criteria.

[0065] The directional optimization process shown in Figure 8 involves an optimization algorithm that considers the target force vector at each step.

[0066]

number

[0067] Figure 9 is a flowchart 900 of a method for autonomous parameter tuning for a general robot assembly operation using numerical optimization combined with physical simulation, according to one embodiment of the present disclosure. In box 910, a simulation model of a robot with a force controller and a solid model of the parts to be assembled are provided. This step was described in detail in the discussion of Figure 4. In box 920, a statistical distribution of force control parameters, including nominal values ​​and standard deviations, is provided. This represents a 6 × 1 target force vector for each step in the assembly simulation, as previously described with respect to Figures 5 to 7.

[0068]

number

[0069] In box 940, a set of simulations is performed for each of the selected samples, in which case each set of simulations includes a second set of simulations. Each simulation in the set of simulations uses a sample of the same selected force control parameters and different randomly assigned part attitude error values. In one embodiment, the second set of simulations ranges from 5 to 10 simulations. Thus, one set of simulations includes 5 to 10 simulations, each using a sample of the same selected force control parameters and each using different part attitude errors. In box 950, the cost function value for each simulation is calculated along with the average cost function value for each set of simulations. The cost function value for each simulation is calculated based on the distance error between the final part position after the simulation and the target position.

[0070] In box 960, the statistical distribution of force control parameters is redefined based on the quantity of several simulation sets that have the lowest average cost function value. In one embodiment, three best-performing sets of simulations (out of 5 to 10 sets) are selected, and the distribution is redefined based on the force control parameters used in those three sets. This redefinition of the parameter distribution is controlled by an optimization algorithm. In the decision rhombus 970, it is determined whether the convergence criterion is met. The convergence criterion may be based on the amount of change from one distribution to the next, or it may be based on the success rate of the assembly simulation.

[0071] If the convergence criterion is not met in the judgment rhombus 970, the directional optimization algorithm returns to box 930, randomly selects a sample from the redefined distribution, runs a set of simulations, and then redefines the distribution again until the convergence criterion is met. Once the convergence criterion is met, the mean of the final distribution is used as the optimal value for the force control parameter. The optimal value for the force control parameter is provided to the actual robot controller for use in real-world robot assembly operations corresponding to the simulated assembly performed.

[0072] Figure 10 is a diagram of System 1000 relating to autonomous parameter tuning via the method of Figure 9, according to one embodiment of the present disclosure, in which the tuned parameters are used by a robot controller in a corresponding real-world robot assembly operation. Computer 1010 has a processor and memory comprising an algorithm for performing the autonomous parameter tuning method of Figure 9. Box 1020 shows that Computer 1010 performs the simulation and optimization calculations of Figure 7, including the simulation of robot assembly described with respect to Figures 4 to 6. This includes using an optimization solver to find values ​​for force control parameters that provide optimal part assembly performance in the presence of part positioning uncertainty.

[0073] After the parameter optimization simulation converges, the optimal values ​​for the force control parameters are provided from the computer 1010 to the robot controller 1030. The controller 1030 controls the robot 1040, which is tasked with performing the assembly operation simulated and optimized on the computer 1010. In the illustrated embodiment, the robot 1040 includes a gripper 1050 for gripping a peg part 1060, which will be inserted into a hole part 1070. In a typical embodiment, the robot 1040 is a 6-axis articulated robot. A force / torque sensor 1080 is coupled between the outer arm of the robot 1040 and the gripper 1050. The force / torque sensor 1080 provides feedback force / torque signals to the controller 1030, thereby enabling force controller calculations to be performed, as discussed with respect to Figure 4.

[0074] Robot 1040 operates within a workspace with a fixed coordinate frame. Controller 1030 constantly monitors the position and orientation of gripper 1050 and the gripped part 1060 based on robot kinematics and joint state data. Hole part 1070 is fixed and held within a jig or fixture and has a known position and orientation within the fixed coordinate frame, within a certain range of accuracy. As described above, after simulation on computer 1010, controller 1030 is configured with force control parameters optimized to enable robust assembly of parts 1060 / 1070 by robot 1040, even in the presence of variations in the fixed posture of part 1070 and variations in the gripping posture of part 1060.

[0075] The techniques described above were tested using three part assembly simulations, as shown in Figure 4: insertion of a planar part with a complex shape, insertion of a double peg hole, and insertion of an electrical connector. In all cases, the assembly success rate with adjusted parameters (using the disclosed techniques) was higher than the success rate without adjustment, and in many cases the improvement was dramatic (success rate with adjusted parameters >90% compared to <20% without adjustment). Two of the part assembly operations (double peg hole insertion and electrical connector insertion) were also tested using a real robot and parts, with the robot controller configured with adjusted force control parameters. These real-world experiments verified the ability of the controller and robot to efficiently assemble parts even in the presence of part positioning uncertainty.

[0076] The autonomous parameter tuning techniques disclosed above offer several advantages over existing methods. Unlike parameter optimization techniques that use real-world experiments, simulations can be performed much faster on a computer. Another advantage is that simulations are easy to reset after each trial, whereas in real-world experiments, resetting the robot and controller is time-consuming, especially if a previous trial fails. Furthermore, running a robot to repeatedly perform contact-heavy tasks can damage the workpiece, especially with poorly tuned parameters. Workpieces also wear down easily during contact, which can lead to model discrepancies between early and subsequent trials during parameter learning. In contrast, in a simulated environment, simulation trials do not cause any damage to the workpiece or the robot. Parameter tuning using simulations also eliminates all safety concerns regarding human operators.

[0077] Furthermore, the disclosed technology operates autonomously, requiring only models of the controller and robot, as well as solid models of the parts being assembled. Experts are not needed to "guide" the simulation to find the appropriate solution. Rather, if part positioning uncertainty is involved in the selection of force control parameters, the combination of simulation and optimization automatically finds the optimal parameter values ​​based on the contact dynamics of the actual part assembly. For example, the assembly of a two-peg part will autonomously converge to translational and rotational gains of the force controller that are significantly different from those selected for the assembly operation of an electrical connector.

[0078] It should be noted that for specific parts assembly applications, more or different parameters can be evaluated and optimized. While all of the parameters mentioned above relate to the input target force values ​​used in the assembly process, this is merely one preferred embodiment. The same type of optimization routine can be used with the same physical simulation model to optimize the values ​​of other parameters, such as the stiffness and damping values ​​used in contact dynamics, or other parameters used in compliance controllers.

[0079] Throughout the aforementioned discussion, various computers and controllers are described and implied. It should be understood that the software applications and modules of these computers and controllers run on one or more computing devices having processors and memory modules. In particular, this computing device includes a processor in a robot controller 1030 that controls a robot 1040 that performs robot assembly tasks as shown in Figure 10, and computers 410 (Figure 4) and 1010 (Figure 10) having one or more processors and configured to perform autonomous parameter tuning methods for robot assembly operations using numerical optimization combined with the physical simulations described above.

[0080] The aforementioned discussions merely disclose and describe exemplary embodiments of the present disclosure. Those skilled in the art will readily recognize from such discussions, as well as from the accompanying drawings and claims, that various changes, modifications, and variations can be made to those exemplary embodiments without departing from the spirit and scope of the present disclosure as defined in the following claims.

Claims

1. A method for autonomously adjusting controller parameters related to a robot assembly operation in which a robot manipulates a first part to an assembly position with a second part, Initializing the distribution of the controller parameters to be adjusted, To provide a plurality of random samples of the controller parameters from the distribution, Running a set of simulations of the assembly operation for each of the plurality of samples on a computer having a processor and memory, wherein the simulation includes a compliance controller model of a robot performing the assembly operation, and each set of simulations includes a plurality of simulations each using different fixed posture deviations of the second part, To calculate the cost function value for each of the aforementioned simulations, and the average cost function value for each of the sets of aforementioned simulations, The system includes performing numerical optimization to optimize the value of the controller parameter, Performing the aforementioned numerical optimization means Redefining the distribution of the controller parameters based on the amount of the set of simulations having the lowest average cost function value, If the numerical optimization does not converge, return to providing the first plurality of random samples of the controller parameters from the redefined distribution, A method comprising using the mean of the distribution of the controller parameters as the final adjusted parameter when the numerical optimization has converged.

2. The method according to claim 1, wherein initializing the distribution of the controller parameters includes defining a normal distribution having a mean and a standard deviation for each of the parameters.

3. The method according to claim 1, wherein the controller parameters to be adjusted include input target force vectors to the compliance controller model with six degrees of freedom for each step in the multi-step assembly path.

4. The aforementioned simulation includes a compliance controller model, The method according to claim 1, wherein the compliance controller model calculates robot motion based on the difference between the input target force vector and the feedback contact force vector.

5. The simulation includes contact dynamics between the first part and the second part, using a solid model of the part. The method according to claim 4, wherein the feedback contact force vector is calculated from the contact dynamics.

6. The fixed attitude deviation of the second component is randomly selected from a predetermined range of attitude deviations. The method according to claim 1, wherein the fixed posture deviation includes a combination of three orthogonal positional deviations and three orthogonal directional deviations.

7. The aforementioned cost function value is calculated based on the error in the final assembly position after each simulation. The method according to claim 1, wherein a lower cost function value indicates a smaller final assembly position error.

8. The method according to claim 1, wherein the numerical optimization converges when the proportion of simulations that satisfy the criteria for the maximum cost function value exceeds a predetermined threshold.

9. The method according to claim 1, wherein performing the numerical optimization includes using covariance matrix adaptive evolutionary strategy (CMA-ES) optimization, particle swarm optimization, or Bayesian optimization.

10. Redefining the distribution of the controller parameters means Selecting the set of simulations that has the lowest average cost function value, The method according to claim 1, comprising defining a new mean and a new standard deviation for each of the controller parameters based on the controller parameters in the selected set of quantities.

11. The aforementioned robot assembly operation is, To fit a non-axially symmetric planar part into a fitting opening, Assembling the two-peg component into the two-hole component, or The method according to claim 1, comprising inserting an electrical connector into a mating connector.

12. The method according to claim 1, further comprising using the final adjusted parameters in a robot controller, which is configured with a compliance controller, to perform real-world assembly operations.

13. A computer-executable method for autonomously adjusting controller parameters related to robot assembly operations, The system includes using a numerical optimization algorithm to optimize the value of the controller parameter, Select multiple random samples from the distribution of the controller parameters, The set of simulations of the assembly operation described above is performed for each of the multiple samples, Each of the aforementioned sets of simulations includes multiple simulations, each using different attitude deviations of the fixed parts. A method for redefining the distribution of the controller parameters based on a subset of the simulations that have the best assembly performance until a convergence criterion is met.

14. The controller parameters to be adjusted include input target force vectors to the compliance controller model with six degrees of freedom for each step in the multi-step assembly path. The aforementioned simulation is The compliance controller model calculates robot motion based on the difference between the input target force vector and the feedback contact force vector, Using a solid model of the parts, the contact dynamics between the assembled parts are included, The method according to claim 13, wherein the feedback contact force vector is calculated from the contact dynamics.

15. A system for performing robotic assembly operations between a first part and a second part, A computer having a processor and memory, Equipped with a robot controller for controlling the robot, The computer is configured to autonomously adjust the controller parameters related to the robot assembly operation. The robot assembly operation includes using a numerical optimization algorithm to optimize the values ​​of the controller parameters, Multiple random samples are selected from the distribution of the controller parameters. The set of simulations of the assembly operation is performed for each of the multiple samples. Each of the aforementioned set of simulations includes a plurality of simulations, each using different fixed attitude deviations of the second part, The distribution of the controller parameters is redefined based on a subset of the simulations that have the best assembly performance until the convergence criteria are met. The controller consists of a compliance controller for executing the robot assembly operation. The compliance controller uses the optimized values ​​of the controller parameters from the computer in the system.

16. The system according to claim 15, wherein the simulation includes a compliance controller model for a robot that performs the assembly operation.

17. The system according to claim 16, wherein the controller parameters to be adjusted include input target force vectors to the compliance controller model with six degrees of freedom for each step in the multi-step assembly path.

18. The compliance controller model calculates robot motion based on the difference between the input target force vector and the feedback contact force vector, according to claim 17.

19. The simulation includes contact dynamics between the first part and the second part, using a solid model of the part. The system according to claim 18, wherein the feedback contact force vector is calculated from the contact dynamics.

20. The fixed orientation deviation of the second component is Randomly selected from a predetermined range of posture deviations, The system according to claim 15, comprising a combination of three orthogonal positional deviations and three orthogonal directional deviations.

21. The subset of the simulation set having the best assembly performance is determined by the cost function value, The aforementioned cost function value is calculated based on the error in the final assembly position after each simulation. The system according to claim 15, wherein a lower cost function value indicates a smaller error.

22. The system according to claim 15, wherein the convergence criterion is met when the proportion of simulations that satisfy the criterion for the maximum cost function value exceeds a predetermined threshold.

23. The system according to claim 15, wherein the use of a numerical optimization algorithm includes using covariance matrix adaptive evolutionary strategy (CMA-ES) optimization.

24. The distribution of the controller parameters is Selecting the set of simulations that has the lowest average cost function value, Based on the controller parameters in the selected set of quantities, a new mean and a new standard deviation are defined for each of the controller parameters, The system according to claim 15, as redefined by.

25. The aforementioned robot assembly operation is, To fit a non-axisymmetric planar component into a mating opening, Assembling the two-peg component into the two-hole component, Inserting an electrical connector into the other connector, The system according to claim 15, comprising one of the following.