US20230173673A1 - Autonomous robust assembly planning - Google Patents
Autonomous robust assembly planning Download PDFInfo
- Publication number
- US20230173673A1 US20230173673A1 US17/457,753 US202117457753A US2023173673A1 US 20230173673 A1 US20230173673 A1 US 20230173673A1 US 202117457753 A US202117457753 A US 202117457753A US 2023173673 A1 US2023173673 A1 US 2023173673A1
- Authority
- US
- United States
- Prior art keywords
- simulations
- controller
- parameters
- distribution
- controller parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 claims abstract description 153
- 238000009826 distribution Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000005457 optimization Methods 0.000 claims abstract description 51
- 239000013598 vector Substances 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 33
- 230000033001 locomotion Effects 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000013011 mating Effects 0.000 claims description 9
- 239000007787 solid Substances 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims description 4
- 239000002245 particle Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013031 physical testing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007592 spray painting technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P21/00—Machines for assembling a multiplicity of different parts to compose units, with or without preceding or subsequent working of such parts, e.g. with programme control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J15/00—Gripping heads and other end effectors
- B25J15/08—Gripping heads and other end effectors having finger members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
Definitions
- the present disclosure relates generally to a method for tuning the parameters that are used in a force control robotic assembly operation and, more particularly, to a method for tuning force control robotic assembly parameters that uses a physical simulation of the assembly process along with numerical optimization to try different combinations of the force control parameters in simulations which include random pose uncertainties, and the optimization converges to a parameter set which is most robust to the uncertainties.
- robotic systems In order to make assembly tasks robust to these inevitable positioning uncertainties, robotic systems typically utilize force control based functions to compensate for undesired deviations.
- a traditional way to set up and tune for robotic assembly tasks is by manual tuning, where a human operator programs a real robotic system for the assembly task, runs the program, and adjusts force control parameters carefully (e.g. ⁇ 10% change each time) in a trial and error fashion.
- tuning and set up of these force control functions using physical testing is time consuming and expensive, since manual trial and error has to be performed, and also, when tuning is performed on real systems, re-design may be required if the real system does not meet requirements.
- Parameter tuning on real physical test systems is also dangerous, since robots are not compliant, and unexpected contact between parts may therefore damage the robot, the parts, or surrounding fixtures or structures.
- the following disclosure describes a method for tuning the force control parameters that are necessary for a general robotic assembly operation, where the method uses numerical optimization to evaluate different combinations of the parameters for a robot force controller in a simulation environment that is built based on a real-world robotic setup.
- 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 selected and evaluated, and the optimization routine iteratively redefines the parameter distribution to find optimal values of the parameters.
- each hypothetical assembly program is evaluated using multiple simulations, in which random uncertainties (e.g. fixture pose error) are used for each simulation instance.
- 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. Tuning the parameters in simulation is faster, more cost-effective and safer than tuning the parameters in a physical test environment. Once the parameters have been learned by the simulation, they are applied to real robots to perform the actual assembly operation.
- FIG. 1 is an illustration of a robotic assembly operation being performed on tight-tolerance parts, illustrating several sources of part positioning uncertainty which create challenges for robotic assembly operations;
- FIG. 2 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a hole search in a plane perpendicular to the insertion axis;
- FIG. 3 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a phase search to find a proper rotational orientation about the insertion axis;
- FIG. 4 is a block diagram illustration of a simulation system configured for feedback control simulation of a robotic assembly operation, including the ability to determine the effectiveness of given force control parameters, according to an embodiment of the present disclosure
- FIG. 5 is a cross-sectional illustration of a robotic assembly operation which depicts the assembly steps and force control parameters used in the simulation system of FIG. 4 , according to an embodiment of the present disclosure
- FIG. 6 is a cross-sectional illustration of the robotic assembly operation of FIG. 5 , where the operation is simulated multiple times using a range of part positioning variation, and each simulation is evaluated using a cost function, according to an embodiment of the present disclosure
- FIG. 7 is a cross-sectional illustration of the robotic assembly operation of FIGS. 5 and 6 , where several groups of simulations evaluate part positioning variation as in FIG. 6 , each of the groups uses different values of force control parameters from a distribution, and the distribution is updated in an optimization process to find optimal values of the parameters, according to an embodiment of the present disclosure;
- FIG. 8 is a conceptual illustration of parameter searching and convergence in a two-dimensional space using numerical optimization, as known in the art
- FIG. 9 is a flowchart diagram of a method for autonomous parameter tuning for a general robotic assembly operation using numerical optimization combined with physical simulation, according to an embodiment of the present disclosure.
- FIG. 10 is an illustration of a system for autonomous parameter tuning via the method of FIG. 9 , where the tuned parameters are used by a robot controller in a corresponding real world robotic assembly operation, according to an embodiment of the present disclosure.
- FIG. 1 is an illustration of a robotic assembly operation being performed on tight-tolerance parts, illustrating several sources of part positioning uncertainty which create challenges for robotic assembly operations.
- a robot 100 having a gripper 102 grasps a first part 110 which is to be assembled with a second part 120 .
- the first part 110 is a peg part
- the second part 120 is a hole structure.
- the peg part 110 is to be inserted into a hole in the hole structure 120 .
- the tolerances of the parts in a peg-in-hole assembly are typically quite tight, so that the assembly can operate without excessive looseness after assembled.
- Some peg-in-hole assemblies have dual coaxial pegs on one part which must be simultaneously inserted into dual holes on the other part, which makes the assembly operation even more difficult.
- Many other types of mating part assemblies such as electrical connectors, complex planar shapes, etc. -exhibit similarly tight tolerances.
- perception error can also contribute to the uncertainty of relative part positioning.
- calibration errors in placement of the robot 100 and the fixture holding the part 120 in the workspace, and minor robot joint position variations, can all further contribute to part positioning uncertainty.
- FIG. 2 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a hole search in a plane perpendicular to the insertion axis.
- a gripper 202 grasps a part 210 which must be inserted into a hole 220 in the same manner as shown in FIG. 1 .
- a distance 230 exaggerated for visual effect, represents the uncertainty in the lateral position of the part 210 relative to the hole 220 .
- the robot may be required to perform a hole search, where the gripper 202 moves the part 210 back and forth in a zig-zag pattern 240 in a plane which is perpendicular to the axis of the part 210 .
- FIG. 3 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a phase search to find a proper rotational orientation about the insertion axis.
- a gripper 302 grasps a first part 310 which must be mated with a second part 320 .
- the first and second parts 310 / 320 are gears having teeth which must be precisely aligned.
- the robot may be required to perform a phase search, where the gripper 302 finely adjusts the rotational position of the part 310 about its pivot axis while attempting to lower the part 310 into position and engagement with the part 320 .
- robotic systems In order to make assembly tasks robust to these inevitable positional uncertainties, robotic systems typically utilize force control based functions to “feel” for the proper part fit.
- a traditional way to set up for robotic assembly tasks is by manual tuning, where a human operator programs a real robotic system for the assembly task, runs the program, and adjusts force control parameters in a trial and error fashion.
- tuning and set up of these force control functions using physical testing is time consuming and expensive due to the manual trial and error which has to be performed. Parameter tuning on real physical test systems is also dangerous, since robots are not compliant, and unexpected contact may damage robots or surrounding fixtures or structures.
- the present disclosure describes a method for autonomously tuning the force control parameters for a generic robotic assembly which overcomes the limitations of existing techniques.
- the method uses a high-fidelity closed loop force control simulation of the robot with 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 which exhibit the best assembly performance.
- Each evaluated parameter set is simulated multiple times with randomly varying part pose uncertainty, and the parameter sets which are most robust to the pose uncertainty are rated the highest.
- the technique is discussed in detail below.
- FIG. 4 is a block diagram illustration of a simulation system 400 configured for feedback control simulation of a robotic assembly operation, including the ability to determine the effectiveness of given force control parameters, according to an embodiment of the present disclosure.
- a computer 410 is configured to run a simulation system 420 including a robot definition model 430 and a physics engine 440 .
- the simulation system 420 performs a closed-loop force control simulation of an assembly operation, including contact dynamics between the parts being assembled in the simulation.
- the simulated assembly operation behaves in accordance with force control parameters which are defined as inputs to the robot definition model 430 . Examination of the results of each simulation (were the parts fully and properly assembled?) enables the evaluation of the effectiveness of different values of the force control parameters.
- the robot definition model 430 includes a force controller 432 .
- the force controller 432 Unlike robot controllers which are used for motion control applications such as spray painting, laser welding, or part placement on a conveyor (where contact between the robot end-of-arm tool and the environment is rigorously avoided), the force controller 432 provides compliant motion of the robot based on resistance encountered when contacting other objects. This is done using a form of admittance control.
- Impedance control is an approach to dynamic control relating force and position. It is often used in applications where a manipulator interacts with its environment and the force-position relation is of concern. Mechanical impedance is the ratio of force output to motion input. A virtual mass-spring-damping system is employed to define these relationships. Controlling the impedance of a mechanism means controlling the force of resistance to external motions that are imposed by the environment. Mechanical admittance is the inverse of impedance — it defines the motions that result from a force input. The theory behind the impedance/admittance control method is to treat the environment as an admittance and the manipulator as an impedance.
- the force controller 432 operates as described above, and receives as input a target (or “desired”) force F d and provides as output a resultant motion (velocity) V d .
- the variables F d and V d are vectors including all six degrees of freedom (three translational and three rotational) in Cartesian space.
- the force controller 432 computes the resultant motion V d using the admittance control calculations described above, based on the difference between the target force F d and an actual contact force F applied to the workpiece.
- the force/torque balance and motion calculations are typically performed about the workpiece center of gravity. The relationship between F d and V d and the tuning of F d to achieve efficient assembly are discussed further below.
- the resultant motion V d provided as output of the force controller 432 is a Cartesian velocity vector including all six degrees of freedom of motion (three translational velocities and three rotational velocities) of the part center of gravity.
- a kinematics block 434 computes corresponding robot joint velocities V needed to cause the end-of-arm tool (gripper) to move the part center of gravity with the velocity V d .
- the kinematics block 434 performs the joint velocity calculations based on known robot kinematics, using an inverse kinematic calculation, as known in the art.
- the kinematics block 434 In addition to converting the target velocity V d in Cartesian space to V in joint space, the kinematics block 434 also includes a low pass filter to ensure smoothness and feasibility of the target velocity in joint space output as V.
- An integral block 436 integrates joint velocity V to obtain a joint position vector P, which defines a robot pose in simulation, resulting in a defined gripper motion.
- Known characteristics and capabilities of a robot controller 450 are used to simulate the force controller 432 , the inverse kinematics computations in the block 434 and the integration in the block 436 .
- Known characteristics of a specific robot 460 are also used to build the robot definition model 430 .
- the physics engine 440 simulates the physical interaction of the parts which are being robotically assembled.
- the robot motions defined by the joint position vector P are provided at block 442 , and are used in a contact dynamics model 444 to simulated the contact between the parts.
- Three different part assembly examples are shown to the right of FIG. 4 , illustrating examples of simulations which have been run and successfully demonstrated the disclosed autonomous parameter tuning method.
- a complex planar part 472 is robotically inserted into a mating aperture in a fixed part 474 .
- a two-peg part 482 is robotically inserted into a mating two-hole fixed part 484 .
- an electrical connector 492 e.g., male connector
- a mating fixed electrical connector 494 e.g., female connector
- CAD models of the parts are provided to the contact dynamics model 444 .
- a CAD model of the two-peg part 482 and a CAD model of the two-hole part 484 are provided.
- the two-peg part 482 is grasped in the robot gripper in a known pose 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 varied from nominal in order to simulate the real world uncertainties discussed earlier.
- the contact dynamics model 444 in the physics engine 440 simulates the movement of the part in the robot gripper (e.g., the part 482 ) based on the robot motion from the block 442 .
- the part in the robot gripper e.g., the part 482
- the fixed part e.g., the part 484
- the feedback force F like the target force F d , is a 6x1 vector including three forces and three torques - that is, all six coordinate directions of the 3D simulation space.
- the contact forces and torques are provided by a force sensor which is fitted to the robot gripper.
- the simulation system 400 of FIG. 4 provides realistic simulation of a force controller robotic system performing an assembly operation of two geometrically-defined parts. The success of the simulated assembly operation depends on the force control parameters defined as input to the force controller 432 .
- the simulation system 400 can then be used in a recursive optimization computation to autonomously tune the force control parameters for successful assembly, including randomly varying the positional uncertainty of the fixed part to better simulate real world conditions.
- FIG. 5 is a cross-sectional illustration of a robotic assembly operation which depicts the assembly steps and force control parameters used in the simulation system of FIG. 4 , according to an embodiment of the present disclosure.
- the assembly program is parameterized.
- the parameterization can be designed in any suitable manner by the user.
- One way to perform parameterization is to divide the assembly program into multiple steps of compliant control. In one exemplary embodiment, four steps are used.
- the target or desired force F d is provided as input to the force controller in the form of a 6x1 vector for each of the assembly steps.
- the robot gripper velocity (in Cartesian coordinates) can be determined by V d , F d , F, D where F is the feedback contact force (also a 6x1 vector) described above, and D is a force controller gain matrix. D is a 6x6 matrix, and in a preferred embodiment is a diagonal matrix.
- the force controller gain matrix D and execution time T of each step are fixed as constants, and the target force vector F d is the parameter which is optimized.
- D and T could be parameters which are variable and are optimized.
- a peg 510 is to be inserted into an aperture in a hole part 520 .
- the hole part 520 is fixed in position, and the peg 510 is manipulated by a robot (not shown).
- a robot not shown.
- the target force vector For each step i, the target force vector
- the target force vector is maintained for a time duration T while the robot attempts to move the peg 510 into its assembled position.
- the target force vector is maintained for a time duration T while the robot attempts to move the peg 510 into its assembled position.
- step i + 1 is provided for the step i + 1, and this repeats for all four steps, with each step running for the time duration T.
- stepDist the travel distance of each step (stepDist) is determined by dividing the initial peg-hole distance by four (for four steps), and adding a small value (such as 2%). Then the target velocity vector of each step i is calculated as
- V d i 0 , 0 , ⁇ s t e p D i s t T , 0 , 0 , 0 T .
- the target velocity vector is vertically downward (in the negative z direction), with no x, y or rotational components.
- the target force for step i is then calculated, using the equation described above, as
- the assembly path ⁇ , along with the time step duration T, are the inputs to the robot force controller.
- Optimization is then used over many simulated assembly operations to tune the target force vector parameters to achieve robust assembly success in the presence of random pose errors.
- FIG. 6 is a cross-sectional illustration of the robotic assembly operation of FIG. 5 , where the operation is simulated multiple times using a range of part positioning variation, and each simulation is evaluated using a cost function, according to an embodiment of the present disclosure.
- an assembly process is defined as discussed above with respect to FIG. 5 -including a fixed part, a part grasped by a robot and to be assembled with the fixed part, and a target force assembly path
- a range of pose errors 620 are then defined, to account for part positioning variations of the types discussed with respect to FIG. 1 .
- the part positioning uncertainty may be defined as +/- 3 mm
- the part orientation uncertainty may be defined as +/- 2°. Higher or lower values may of course be used, as appropriate.
- the pose errors 620 are applied to the position of the fixed part relative to its nominal position in the workspace coordinate frame.
- the pose errors 620 may be defined as “delta” values in all six degrees of freedom, such as ⁇ x, ⁇ y, ⁇ z, ⁇ W, ⁇ P, ⁇ R ⁇ , where W, P and R are yaw, pitch and roll, respectively. In this way, multiple simulations are performed.
- a second simulation 634 uses the same target force path ⁇ and a different set of random pose errors chosen from the part positioning uncertainty ranges (such as ⁇ -1.5,-0.6, 1.1,0.6,1.2,-0.7 ⁇ ).
- a third simulation 636 uses the same target force path ⁇ and yet another set of random pose errors, and so forth.
- the number of simulations using the same target force path and different random pose errors may be chosen to suit the application. In one non-limiting example, the number of simulations at 630 is in a range of five to ten. Only three pose error simulations are shown in FIG. 6 simply for the sake of clarity.
- each of the simulations at 630 ends with a final assembly pose error after the last step.
- the final pose error could be the 3D distance between the bottom tip of the peg and the target location at the bottom of the hole. It is desirable for this distance, the final pose error, to be minimized. If the force controller successfully inserts the peg in the hole and lowers the peg, the final pose error will be very small (such as less than one mm). However, if the force controller fails to insert the peg into the hole (for example, sliding the tip of the peg off the side of the hole part), then the final pose error will be large (such as 20 mm).
- a cost function is computed for the final pose error for each of the simulations at 630 .
- the cost function value may be simply the final pose error in physical distance units, or may be normalized to a part size, for example. In any case, a low cost function value indicates a successful simulated assembly.
- an average cost function value is computed for all of the simulations at 630 . For example, if five simulations are run, each using the same target force path ⁇ and different values of the random pose errors, then the average cost function for the five simulations is computed at the 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 later used in an optimization process to autonomously tune the parameterized target force values.
- FIG. 7 is a cross-sectional illustration of the robotic assembly operation of FIGS. 5 and 6 , where several groups of simulations evaluate part positioning variation as in FIG. 6 , each of the simulation groups or sets uses different values of force control parameters from a distribution, and the distribution is updated in an optimization process to find optimal values of the parameters, according to an embodiment of the present disclosure.
- An initial target force path ⁇ is defined at 710 , in the manner described above with respect to FIG. 5 .
- the peg would descend directly into the hole as shown at 710 .
- the perfect alignment of the robotically-manipulated part with the fixed part is extremely unlikely, and the force control parameters must therefore be selected to be robust to part pose errors.
- a statistical distribution 720 is defined for the parameterized values in the target force path ⁇ .
- the statistical distribution 720 is a Gaussian or normal distribution. Other types of distributions may be defined as appropriate. Values of the target force path ⁇ are selected at random from the statistical distribution 720 , and a different target force path ⁇ is used for each of a simulation set 730 , 732 , ... 738 . The number of simulation sets may be chosen to suit the application; five are shown in FIG. 7 merely for illustrative purposes. For each of the simulation sets 730 - 738 , multiple assembly simulations are performed, each simulation using different pose errors 610 chosen from the part positioning uncertainty ranges as described with respect to FIG. 6 . Each target force path ⁇ is comprised of a 6x1 target force vector
- the simulation set 730 uses a target force path ⁇ 730 which is selected at random from the statistical distribution 720 .
- the simulation set 730 includes simulations 740 , 742 and 744 (and probably more, not shown).
- Each of the simulations 740 , 742 and 744 uses the same target force assembly path ⁇ 730 , and each simulation uses different pose errors chosen from the part positioning uncertainty ranges.
- An average cost function value 750 is computed for all of the simulations in the simulation set 730 , as discussed above with respect to FIG. 6 .
- the average cost function value 750 is an indicator of how well the assembly operation performs, in the presence of part positioning uncertainty, using the target force path ⁇ 730 .
- Each of the other simulation sets 732 - 738 is evaluated in the same manner, where each simulation set produces an average cost function value.
- the best performing simulation sets are selected and used in an optimization algorithm to define a new statistical distribution 760 for the target force path ⁇ .
- the three best simulation sets are selected - shown as the simulation sets 730 , 734 and 736 in FIG. 7 .
- the values of the best-performing target force assembly paths are used to define the new statistical distribution 760 . If the statistical distribution 760 does not meet a convergence criteria relative to quality of the assembly results, then at arrow 770 the new statistical distribution 760 is used to replace the statistical distribution 720 , and new simulation sets are defined. This process continues recursively until the convergence criteria are met at arrow 780 .
- FIG. 8 is a conceptual illustration of parameter searching and convergence in a two-dimensional space using numerical optimization, as known in the art.
- a numerical optimization algorithm can be used to automatically tune parameters to achieve best results.
- One example is Covariance Matrix Adaptation Evolution Strategy (CMA-ES), for which a set of parameters are sampled from a distribution (e.g., Gaussian), and each of them are evaluated (using simulation). The Gaussian distribution is then updated in a directional optimization fashion to increase the probability to sample well-performing parameters.
- CMA-ES Covariance Matrix Adaptation Evolution Strategy
- Box 810 shows an initial (first generation) set of individual parameter samples from a 2D distribution 812 , where each sample is represented by a dot. It is to be understood that the directional optimization technique depicted in FIG. 8 is applicable to multiple dimensions; the approach is shown in two dimensions for visual clarity.
- Each of the samples from the distribution 812 is used in a simulation which results in a performance metric (such as the cost function value described above).
- the samples contained in a region 814 had the best performance of all of the samples in the distribution 812 .
- a second generation of parameter samples is created at box 820 , having a distribution 822 .
- the distribution 822 is enlarged and elongated in the direction of the best performing samples by the CMA-ES algorithm.
- the samples from the distribution 822 are used in simulations, which results in a performance metric for each.
- the samples contained in a region 824 had the best performance of all of the samples in the distribution 822 .
- a third generation of parameter samples is created, having a distribution 832 .
- the distribution 832 is further enlarged and elongated in the direction of the best performing samples from the region 824 .
- the samples from the distribution 832 are used in simulations, and the samples in a region 834 are found to have the best performance.
- the directional optimization process continues for a fourth generation at a box 840 , where a distribution 842 is smaller and essentially concentric with the distribution 832 , because the best performing region 834 was essentially centered within the distribution 832 .
- the distribution 842 has about the same mean values as the distribution 832 , but a smaller standard deviation.
- a fifth generation of samples at box 850 has a distribution 852 with about the same mean and an even smaller standard deviation in comparison to the fourth generation.
- a sixth generation of samples at box 860 has a distribution 862 with about the same mean and an even smaller standard deviation in comparison to the fifth generation, and the distribution 862 is deemed to have met the convergence criteria.
- the directional optimization process shown in FIG. 8 clearly illustrates how the optimization algorithm is applied to the simulations of FIG. 7 - defining an initial parameter distribution (for the target path ⁇ including values for the target force vector
- CMA-ES Covariance Matrix Adaptation Evolution Strategy
- FIG. 9 is a flowchart diagram 900 of a method for autonomous parameter tuning for a general robotic assembly operation using numerical optimization combined with physical simulation, according to an embodiment of the present disclosure.
- a simulation model of a robot with a force controller, and solid models of parts being assembled are provided. This step was described in detail in the discussion of FIG. 4 .
- a statistical distribution of force control parameters is provided, including nominal values and standard deviations. This includes the 6x1 target force vector
- a first plurality of samples from the distribution is randomly selected.
- the first plurality is in a range of five to ten samples.
- each set of simulations for each of the selected samples is run, where each set of simulations includes a second plurality of simulations.
- Each simulation in a set of simulations uses the same selected sample of force control parameters, and different randomly assigned values of part pose error.
- the second plurality is in a range of five to ten simulations.
- one set of simulations includes five to ten simulations, each simulation using the same selected sample of force control parameters, and each simulation using a different part pose error.
- a cost function value is computed for each of the simulations, along with an average cost function value for each set of simulations. The cost function value for each simulation is computed based on a distance error between a final part position after simulation and a target position.
- the statistical distribution of force control parameters is redefined based on a quantity of the sets of simulations having lowest values of the average cost function value.
- the three sets of simulations having the best performance are selected, and the distribution is redefined based on the force control parameters used in those three sets.
- the redefinition of the parameter distribution is controlled by the optimization algorithm.
- the directional optimization algorithm returns to the box 930 to randomly select samples from the redefined distribution, followed by running the sets of simulations and again redefining the distribution until the convergence criteria is met.
- mean values of a final distribution are used as optimal values of the force control parameters.
- the optimal values of the force control parameters are provided to a real robot controller to be used in real world robotic assembly operations corresponding to the simulated assemblies which were performed.
- FIG. 10 is an illustration of a system 1000 for autonomous parameter tuning via the method of FIG. 9 , where the tuned parameters are used by a robot controller in a corresponding real world robotic assembly operation, according to an embodiment of the present disclosure.
- a computer 1010 has a processor and memory configured with an algorithm to perform the autonomous parameter tuning method of FIG. 9 .
- Box 1020 illustrates that the computer 1010 runs the simulation and optimization computations of FIG. 7 , including the simulation of robotic assembly described with respect to FIGS. 4 - 6 . This includes using an optimization solver to find values of force control parameters which provide optimal part assembly performance in the presence of part positioning uncertainty.
- the optimal values of the force control parameters are provided from the computer 1010 to a robot controller 1030 .
- the controller 1030 controls a robot 1040 which is tasked with performing the assembly operation which was simulated and optimized on the computer 1010 .
- the robot 1040 includes a gripper 1050 which grasps a peg part 1060 , where the peg part 1060 is to be inserted into a hole part 1070 .
- the robot 1040 is a six-axis articulated robot.
- a force/torque sensor 1080 is coupled between an outer arm of the robot 1040 and the gripper 1050 .
- the force/torque sensor 1080 provides a feedback force/torque signal to the controller 1030 , so that the force controller calculations can be carried out as discussed with respect to FIG. 4 .
- the robot 1040 operates in a workspace having a fixed coordinate frame.
- the controller 1030 knows the position and orientation of the gripper 1050 and the grasped part 1060 at all times based on robot kinematics and joint state data.
- the hole part 1070 is held fixed in a jig or fixture, and has a position and orientation in the fixed coordinate frame which are known within a certain degree of precision.
- the controller 1030 is configured with force control parameters which are optimized to enable robust assembly of the parts 1060 / 1070 by the robot 1040 , even in the presence of variation of the fixtured pose of the part 1070 , variation of the grasped pose of the part 1060 , etc.
- the autonomous parameter tuning technique disclosed above offers several advantages over existing methods. Unlike parameter optimization techniques which use real-world experiments, simulation can be done much faster on computers. Another benefit is that simulation is easy to reset for every trial, whereas in real-world experiments it is time-consuming to reset the robot and controller, especially when the previous trial fails. Furthermore, executing robots to do contact-rich tasks repeatedly could damage the workpieces, especially with parameters which are not well-tuned. Also, workpieces are easily worn during contact, which could introduce model differences between beginning trials and later trials during parameter learning. In contrast, in the simulated environment, simulation trials won’t cause any damage to workpieces or robots. Parameter tuning using simulation also doesn’t create any safety issues for human workers.
- the disclosed techniques operate autonomously, requiring only a model of the controller and robot, and solids models of the parts being assembled. No expert person is required to “guide” the simulations to find the proper solution. Rather, the combination of simulation and optimization, with part positioning uncertainty included in the selection of force control parameters, automatically finds optimal values of the parameters based on the actual part assembly contact dynamics. For example, the two-peg part assembly will autonomously converge on force controller translational and rotational gains which are much different than those which are selected for the electrical connector assembly operation.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
Description
- The present disclosure relates generally to a method for tuning the parameters that are used in a force control robotic assembly operation and, more particularly, to a method for tuning force control robotic assembly parameters that uses a physical simulation of the assembly process along with numerical optimization to try different combinations of the force control parameters in simulations which include random pose uncertainties, and the optimization converges to a parameter set which is most robust to the uncertainties.
- 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 installing a car door with hinge pins onto a car body with hinge pin holes, are still performed manually, where a 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 are also problematic for robots - such as plugging an electrical connector into a mating connector, or any other assembly of one tightly-fitting component into another. These types of operation are still often performed manually because robots have difficulty detecting and correcting the complex misalignments that may arise in tight-tolerance assembly tasks. That is, because of minor deviations in part poses due to both grasping and fixturing uncertainty, the robot cannot simply move a part to its nominal installed position, but rather must “feel” the alignment and fit of one piece into the other.
- In order to make assembly tasks robust to these inevitable positioning uncertainties, robotic systems typically utilize force control based functions to compensate for undesired deviations. A traditional way to set up and tune for robotic assembly tasks is by manual tuning, where a human operator programs a real robotic system for the assembly task, runs the program, and adjusts force control parameters carefully (e.g. <10% change each time) in a trial and error fashion. However tuning and set up of these force control functions using physical testing is time consuming and expensive, since manual trial and error has to be performed, and also, when tuning is performed on real systems, re-design may be required if the real system does not meet requirements. Parameter tuning on real physical test systems is also dangerous, since robots are not compliant, and unexpected contact between parts may therefore damage the robot, the parts, or surrounding fixtures or structures.
- Systems exist for tuning force control parameters for robotic assembly in a simulation environment, but 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 part installation — and cannot be applied to general assembly tasks because the techniques include preprogrammed motion strategies which are specific to the particular type of assembly task. Other existing systems for parameter tuning in a simulation environment still require significant human experience and expertise for guiding the selection of force control parameters used in the simulations.
- In view of the circumstances described above, an improved technique for autonomously tuning force control parameters for general robotic assembly operations is needed.
- The following disclosure describes a method for tuning the force control parameters that are necessary for a general robotic assembly operation, where the method uses numerical optimization to evaluate different combinations of the parameters for a robot force controller in a simulation environment that is built based on a real-world robotic setup. 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 selected and evaluated, and the optimization routine iteratively redefines the parameter distribution to find optimal values of the parameters. In order to improve the transfer of simulation results to real world operation, and make the planning result robust to uncertainties, each hypothetical assembly program is evaluated using multiple simulations, in which random uncertainties (e.g. fixture pose error) are used for each simulation instance. 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. Tuning the parameters in simulation is faster, more cost-effective and safer than tuning the parameters in a physical test environment. Once the parameters have been learned by the simulation, they are applied to real robots to perform the actual assembly operation.
- Additional features of the present disclosure will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings.
-
FIG. 1 is an illustration of a robotic assembly operation being performed on tight-tolerance parts, illustrating several sources of part positioning uncertainty which create challenges for robotic assembly operations; -
FIG. 2 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a hole search in a plane perpendicular to the insertion axis; -
FIG. 3 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a phase search to find a proper rotational orientation about the insertion axis; -
FIG. 4 is a block diagram illustration of a simulation system configured for feedback control simulation of a robotic assembly operation, including the ability to determine the effectiveness of given force control parameters, according to an embodiment of the present disclosure; -
FIG. 5 is a cross-sectional illustration of a robotic assembly operation which depicts the assembly steps and force control parameters used in the simulation system ofFIG. 4 , according to an embodiment of the present disclosure; -
FIG. 6 is a cross-sectional illustration of the robotic assembly operation ofFIG. 5 , where the operation is simulated multiple times using a range of part positioning variation, and each simulation is evaluated using a cost function, according to an embodiment of the present disclosure; -
FIG. 7 is a cross-sectional illustration of the robotic assembly operation ofFIGS. 5 and 6 , where several groups of simulations evaluate part positioning variation as inFIG. 6 , each of the groups uses different values of force control parameters from a distribution, and the distribution is updated in an optimization process to find optimal values of the parameters, according to an embodiment of the present disclosure; -
FIG. 8 is a conceptual illustration of parameter searching and convergence in a two-dimensional space using numerical optimization, as known in the art; -
FIG. 9 is a flowchart diagram of a method for autonomous parameter tuning for a general robotic assembly operation using numerical optimization combined with physical simulation, according to an embodiment of the present disclosure; and -
FIG. 10 is an illustration of a system for autonomous parameter tuning via the method ofFIG. 9 , where the tuned parameters are used by a robot controller in a corresponding real world robotic assembly operation, according to an embodiment of the present disclosure. - The following discussion of the embodiments of the disclosure directed to a method for tuning the parameters that are necessary for a force control robotic assembly operation that uses simulation with numerical optimization to evaluate different combinations of the parameters and includes part positioning uncertainty in the simulations is merely exemplary in nature, and is in no way intended to limit the disclosed techniques or their applications or uses.
- The use of industrial robots for a wide variety of manufacturing and assembly operations is well known. The present disclosure is directed to overcoming the challenges encountered in many robotic assembly operations.
-
FIG. 1 is an illustration of a robotic assembly operation being performed on tight-tolerance parts, illustrating several sources of part positioning uncertainty which create challenges for robotic assembly operations. Arobot 100 having agripper 102 grasps afirst part 110 which is to be assembled with asecond part 120. In this example, thefirst part 110 is a peg part, and thesecond part 120 is a hole structure. Thepeg part 110 is to be inserted into a hole in thehole structure 120. The tolerances of the parts in a peg-in-hole assembly are typically quite tight, so that the assembly can operate without excessive looseness after assembled. Some peg-in-hole assemblies have dual coaxial pegs on one part which must be simultaneously inserted into dual holes on the other part, which makes the assembly operation even more difficult. Many other types of mating part assemblies - such as electrical connectors, complex planar shapes, etc. -exhibit similarly tight tolerances. - The types of assembly operations described above are still often performed manually because robots have difficulty detecting and correcting the complex misalignments that may arise in tight-tolerance assembly tasks. That is, because of minor deviations in part poses, the robot cannot simply move a part to its nominal installed position, but rather must “feel” the alignment and fit of one piece into the other. There are many possible sources of errors and uncertainty in part poses. First, the exact position and orientation (collectively, “pose”) of the
peg part 110 as grasped in thegripper 102 may vary by a small amount from the expected pose. Similarly, the exact pose of thehole part 120 in its fixture may also vary from the expected pose. In systems where acamera 130 is used to provide images of the workspace scene for location identification, perception error can also contribute to the uncertainty of relative part positioning. In addition, calibration errors in placement of therobot 100 and the fixture holding thepart 120 in the workspace, and minor robot joint position variations, can all further contribute to part positioning uncertainty. -
FIG. 2 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a hole search in a plane perpendicular to the insertion axis. Agripper 202 grasps apart 210 which must be inserted into ahole 220 in the same manner as shown inFIG. 1 . Adistance 230, exaggerated for visual effect, represents the uncertainty in the lateral position of thepart 210 relative to thehole 220. In order to find the proper alignment of thepart 210 with thehole 220, the robot may be required to perform a hole search, where thegripper 202 moves thepart 210 back and forth in a zig-zag pattern 240 in a plane which is perpendicular to the axis of thepart 210. -
FIG. 3 is an illustration of parts being robotically assembled, where the parts require alignment in a manner which causes the robot to perform a phase search to find a proper rotational orientation about the insertion axis. Agripper 302 grasps afirst part 310 which must be mated with asecond part 320. In this case, the first andsecond parts 310/320 are gears having teeth which must be precisely aligned. In order to find the proper alignment of thepart 310 with respect to thepart 320, the robot may be required to perform a phase search, where thegripper 302 finely adjusts the rotational position of thepart 310 about its pivot axis while attempting to lower thepart 310 into position and engagement with thepart 320. - Although the hole search and phase search capabilities described above exist in robotic systems, they can be inefficient, and they are often ineffective when the part assembly involves anything more complex than a simple hole alignment or rotational alignment.
- In order to make assembly tasks robust to these inevitable positional uncertainties, robotic systems typically utilize force control based functions to “feel” for the proper part fit. A traditional way to set up for robotic assembly tasks is by manual tuning, where a human operator programs a real robotic system for the assembly task, runs the program, and adjusts force control parameters in a trial and error fashion. However, tuning and set up of these force control functions using physical testing is time consuming and expensive due to the manual trial and error which has to be performed. Parameter tuning on real physical test systems is also dangerous, since robots are not compliant, and unexpected contact may damage robots or surrounding fixtures or structures.
- Systems exist for tuning force control parameters for robotic assembly in a simulation environment, but these existing systems exhibit several limitations. Some of these systems are designed to simulate only one specific type of assembly task — such as one of those shown in
FIGS. 1-3 — and cannot be applied to general assembly tasks because the techniques include preprogrammed motion strategies which are specific to the particular type of assembly task. Other existing systems for parameter tuning in a simulation environment still require significant human experience and expertise for guiding the selection of force control parameters used in the simulations. - The present disclosure describes a method for autonomously tuning the force control parameters for a generic robotic assembly which overcomes the limitations of existing techniques. The method uses a high-fidelity closed loop force control simulation of the robot with 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 which exhibit the best assembly performance. Each evaluated parameter set is simulated multiple times with randomly varying part pose uncertainty, and the parameter sets which are most robust to the pose uncertainty are rated the highest. The technique is discussed in detail below.
-
FIG. 4 is a block diagram illustration of asimulation system 400 configured for feedback control simulation of a robotic assembly operation, including the ability to determine the effectiveness of given force control parameters, according to an embodiment of the present disclosure. Acomputer 410 is configured to run asimulation system 420 including arobot definition model 430 and aphysics engine 440. Thesimulation system 420 performs a closed-loop force control simulation of an assembly operation, including contact dynamics between the parts being assembled in the simulation. The simulated assembly operation behaves in accordance with force control parameters which are defined as inputs to therobot definition model 430. Examination of the results of each simulation (were the parts fully and properly assembled?) enables the evaluation of the effectiveness of different values of the force control parameters. - The
robot definition model 430 includes aforce controller 432. Unlike robot controllers which are used for motion control applications such as spray painting, laser welding, or part placement on a conveyor (where contact between the robot end-of-arm tool and the environment is rigorously avoided), theforce controller 432 provides compliant motion of the robot based on resistance encountered when contacting other objects. This is done using a form of admittance control. - Impedance control (or admittance control) is an approach to dynamic control relating force and position. It is often used in applications where a manipulator interacts with its environment and the force-position relation is of concern. Mechanical impedance is the ratio of force output to motion input. A virtual mass-spring-damping system is employed to define these relationships. Controlling the impedance of a mechanism means controlling the force of resistance to external motions that are imposed by the environment. Mechanical admittance is the inverse of impedance — it defines the motions that result from a force input. The theory behind the impedance/admittance control method is to treat the environment as an admittance and the manipulator as an impedance.
- The
force controller 432 operates as described above, and receives as input a target (or “desired”) force Fd and provides as output a resultant motion (velocity) Vd. The variables Fd and Vd are vectors including all six degrees of freedom (three translational and three rotational) in Cartesian space. Theforce controller 432 computes the resultant motion Vd using the admittance control calculations described above, based on the difference between the target force Fd and an actual contact force F applied to the workpiece. The force/torque balance and motion calculations are typically performed about the workpiece center of gravity. The relationship between Fd and Vd and the tuning of Fd to achieve efficient assembly are discussed further below. - As stated above, the resultant motion Vd provided as output of the
force controller 432 is a Cartesian velocity vector including all six degrees of freedom of motion (three translational velocities and three rotational velocities) of the part center of gravity. Akinematics block 434 computes corresponding robot joint velocities V needed to cause the end-of-arm tool (gripper) to move the part center of gravity with the velocity Vd. The kinematics block 434 performs the joint velocity calculations based on known robot kinematics, using an inverse kinematic calculation, as known in the art. In addition to converting the target velocity Vd in Cartesian space to V in joint space, the kinematics block 434 also includes a low pass filter to ensure smoothness and feasibility of the target velocity in joint space output as V. Anintegral block 436 integrates joint velocity V to obtain a joint position vector P, which defines a robot pose in simulation, resulting in a defined gripper motion. - Known characteristics and capabilities of a
robot controller 450 are used to simulate theforce controller 432, the inverse kinematics computations in theblock 434 and the integration in theblock 436. Known characteristics of a specific robot 460 (kinematics, motor torque/speed characteristics) are also used to build therobot definition model 430. - The
physics engine 440 simulates the physical interaction of the parts which are being robotically assembled. The robot motions defined by the joint position vector P are provided atblock 442, and are used in acontact dynamics model 444 to simulated the contact between the parts. Three different part assembly examples are shown to the right ofFIG. 4 , illustrating examples of simulations which have been run and successfully demonstrated the disclosed autonomous parameter tuning method. - In
box 470, a complexplanar part 472 is robotically inserted into a mating aperture in afixed part 474. Inbox 480, a two-peg part 482 is robotically inserted into a mating two-holefixed part 484. Inbox 490, an electrical connector 492 (e.g., male connector) is robotically inserted into a mating fixed electrical connector 494 (e.g., female connector). These examples demonstrate assembly operations performed on very different types of parts, where all of the examples are sensitive to translational position alignment in both lateral directions, and the examples exhibit different sensitivities to rotational position about a vertical axis (phase) and tilt position of the vertical axis. Thus, each type of assembly will be expected to perform optimally using different force control parameters in theforce controller 432. It is the autonomous tuning of the force control parameters that is provided by the techniques of the present disclosure. - For any given part assembly operation being simulated, CAD models of the parts are provided to the
contact dynamics model 444. For example, to run simulations of the parts shown in thebox 480, a CAD model of the two-peg part 482 and a CAD model of the two-hole part 484 are provided. The two-peg part 482 is grasped in the robot gripper in a known pose 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 varied from nominal in order to simulate the real world uncertainties discussed earlier. - The
contact dynamics model 444 in thephysics engine 440 simulates the movement of the part in the robot gripper (e.g., the part 482) based on the robot motion from theblock 442. When the part in the robot gripper (e.g., the part 482) contacts the fixed part (e.g., the part 484) in simulation space, the resulting contact forces and torques from thecontact dynamics model 444 are provided to aforce sensing block 446, where they are in turn provided as feedback force F to theforce controller 432. The feedback force F, like the target force Fd, is a 6x1 vector including three forces and three torques - that is, all six coordinate directions of the 3D simulation space. When the tuned force control parameters are used in a real world robotic assembly operation (seeFIG. 9 ), the contact forces and torques are provided by a force sensor which is fitted to the robot gripper. - The
simulation system 400 ofFIG. 4 provides realistic simulation of a force controller robotic system performing an assembly operation of two geometrically-defined parts. The success of the simulated assembly operation depends on the force control parameters defined as input to theforce controller 432. Thesimulation system 400 can then be used in a recursive optimization computation to autonomously tune the force control parameters for successful assembly, including randomly varying the positional uncertainty of the fixed part to better simulate real world conditions. -
FIG. 5 is a cross-sectional illustration of a robotic assembly operation which depicts the assembly steps and force control parameters used in the simulation system ofFIG. 4 , according to an embodiment of the present disclosure. In order to search for the best assembly program using numerical optimization, the assembly program is parameterized. The parameterization can be designed in any suitable manner by the user. One way to perform parameterization is to divide the assembly program into multiple steps of compliant control. In one exemplary embodiment, four steps are used. The target or desired force Fd is provided as input to the force controller in the form of a 6x1 vector for each of the assembly steps. For each step, the robot gripper velocity (in Cartesian coordinates) can be determined by Vd, Fd, F, D where F is the feedback contact force (also a 6x1 vector) described above, and D is a force controller gain matrix. D is a 6x6 matrix, and in a preferred embodiment is a diagonal matrix. The velocity calculation can be written in matrix multiplication form (eliminating matrix division) as Vd = inv(D) · (Fd - F). - In a preferred embodiment, the force controller gain matrix D and execution time T of each step are fixed as constants, and the target force vector Fd is the parameter which is optimized. However, in other embodiments, D and T could be parameters which are variable and are optimized. Based on the target or desired force vector Fd which is provided as input to the force controller for each step, the robot will move with velocity Vd = inv(D) · (Fd) if the part in the robot gripper is not contacting the environment; otherwise the robot will maintain contact force F = Fd.
- In the scenario of
FIG. 5 , apeg 510 is to be inserted into an aperture in ahole part 520. Thehole part 520 is fixed in position, and thepeg 510 is manipulated by a robot (not shown). Suppose there are four steps in the assembly program, as shown in the illustration ofFIG. 5 . For each step i, the target force vector -
- is provided as input, and that target force vector
-
- is maintained for a time duration T while the robot attempts to move the
peg 510 into its assembled position. At the end of the step (after the time duration T), the target force vector -
- is provided for the step i + 1, and this repeats for all four steps, with each step running for the time duration T.
- The initial values to use in the target force vector
-
- (to initiate the optimization, which will then tune
-
- for best results) can be selected as follows. Consider a case where the
peg 510 is nominally directly above the aperture in thehole part 520, where the positive z axis of the workspace coordinate frame is directed upward. In this case, the travel distance of each step (stepDist) is determined by dividing the initial peg-hole distance by four (for four steps), and adding a small value (such as 2%). Then the target velocity vector of each step i is calculated as -
- That is, the target velocity vector is vertically downward (in the negative z direction), with no x, y or rotational components. The target force for step i is then calculated, using the equation described above, as
-
- As discussed earlier,
-
- and
-
- are both 6x1 vectors (force and velocity in all six Cartesian DOF). When
-
- is provided for a number of assembly steps N (such as N = 4), the assembly path becomes
-
- where each of the vectors
-
- is computed as described above. The assembly path θ, along with the time step duration T, are the inputs to the robot force controller.
- The preceding discussion describes how the target force vector
-
- is initially defined for the simulated assembly process of
FIG. 5 . A statistical distribution (variance) is also defined for the values of the target force vector -
- Optimization is then used over many simulated assembly operations to tune the target force vector parameters to achieve robust assembly success in the presence of random pose errors.
-
FIG. 6 is a cross-sectional illustration of the robotic assembly operation ofFIG. 5 , where the operation is simulated multiple times using a range of part positioning variation, and each simulation is evaluated using a cost function, according to an embodiment of the present disclosure. At 610, an assembly process is defined as discussed above with respect toFIG. 5 -including a fixed part, a part grasped by a robot and to be assembled with the fixed part, and a target force assembly path -
- A range of
pose errors 620 are then defined, to account for part positioning variations of the types discussed with respect toFIG. 1 . For example, in one application, the part positioning uncertainty may be defined as +/- 3 mm, and the part orientation uncertainty may be defined as +/- 2°. Higher or lower values may of course be used, as appropriate. - At 630, multiple assembly simulations are performed, each using the same target force assembly path
-
- and each simulation using
different pose errors 620 chosen from the part positioning uncertainty ranges. Thepose errors 620 are applied to the position of the fixed part relative to its nominal position in the workspace coordinate frame. Thepose errors 620 may be defined as “delta” values in all six degrees of freedom, such as {Δx, Δy, Δz, ΔW, ΔP, ΔR}, where W, P and R are yaw, pitch and roll, respectively. In this way, multiple simulations are performed. Asimulation 632 uses the target force path θ and one set of pose errors chosen from the uncertainty ranges (such as {Δx = 0.5, Δy = -1.3, Δz = 1.7, ΔW = -0.9, ΔP = 1.9, ΔR = 0.1}). Asecond simulation 634 uses the same target force path θ and a different set of random pose errors chosen from the part positioning uncertainty ranges (such as {-1.5,-0.6, 1.1,0.6,1.2,-0.7}). Athird simulation 636 uses the same target force path θ and yet another set of random pose errors, and so forth. The number of simulations using the same target force path and different random pose errors may be chosen to suit the application. In one non-limiting example, the number of simulations at 630 is in a range of five to ten. Only three pose error simulations are shown inFIG. 6 simply for the sake of clarity. - Each of the simulations at 630 ends with a final assembly pose error after the last step. In the case of a peg and hole assembly, the final pose error could be the 3D distance between the bottom tip of the peg and the target location at the bottom of the hole. It is desirable for this distance, the final pose error, to be minimized. If the force controller successfully inserts the peg in the hole and lowers the peg, the final pose error will be very small (such as less than one mm). However, if the force controller fails to insert the peg into the hole (for example, sliding the tip of the peg off the side of the hole part), then the final pose error will be large (such as 20 mm). Shown at 640, a cost function is computed for the final pose error for each of the simulations at 630. The cost function value may be simply the final pose error in physical distance units, or may be normalized to a part size, for example. In any case, a low cost function value indicates a successful simulated assembly.
- At
box 650, an average cost function value is computed for all of the simulations at 630. For example, if five simulations are run, each using the same target force path θ and different values of the random pose errors, then the average cost function for the five simulations is computed at thebox 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 later used in an optimization process to autonomously tune the parameterized target force values. -
FIG. 7 is a cross-sectional illustration of the robotic assembly operation ofFIGS. 5 and 6 , where several groups of simulations evaluate part positioning variation as inFIG. 6 , each of the simulation groups or sets uses different values of force control parameters from a distribution, and the distribution is updated in an optimization process to find optimal values of the parameters, according to an embodiment of the present disclosure. An initial target force path θ is defined at 710, in the manner described above with respect toFIG. 5 . In the case of perfectly aligned parts (absence of any pose errors), the peg would descend directly into the hole as shown at 710. However, because of part positioning uncertainties, the perfect alignment of the robotically-manipulated part with the fixed part is extremely unlikely, and the force control parameters must therefore be selected to be robust to part pose errors. - A
statistical distribution 720 is defined for the parameterized values in the target force path θ. In one example, thestatistical distribution 720 is a Gaussian or normal distribution. Other types of distributions may be defined as appropriate. Values of the target force path θ are selected at random from thestatistical distribution 720, and a different target force path θ is used for each of asimulation set FIG. 7 merely for illustrative purposes. For each of the simulation sets 730-738, multiple assembly simulations are performed, each simulation usingdifferent pose errors 610 chosen from the part positioning uncertainty ranges as described with respect toFIG. 6 . Each target force path θ is comprised of a 6x1 target force vector -
- for each of the steps (e.g., four).
- Consider for example the
simulation set 730. The simulation set 730 uses a target force path θ730 which is selected at random from thestatistical distribution 720. The simulation set 730 includessimulations simulations cost function value 750 is computed for all of the simulations in the simulation set 730, as discussed above with respect toFIG. 6 . The averagecost function value 750 is an indicator of how well the assembly operation performs, in the presence of part positioning uncertainty, using the target force path θ730. Each of the other simulation sets 732-738 is evaluated in the same manner, where each simulation set produces an average cost function value. - The best performing simulation sets (those with the lowest cost function value) are selected and used in an optimization algorithm to define a new
statistical distribution 760 for the target force path θ. In one non-limiting example, the three best simulation sets are selected - shown as the simulation sets 730, 734 and 736 inFIG. 7 . The values of the best-performing target force assembly paths (θ730, θ734, θ736) are used to define the newstatistical distribution 760. If thestatistical distribution 760 does not meet a convergence criteria relative to quality of the assembly results, then atarrow 770 the newstatistical distribution 760 is used to replace thestatistical distribution 720, and new simulation sets are defined. This process continues recursively until the convergence criteria are met atarrow 780. The final mean values -
- of the
statistical distribution 760 are output at 790, and these force control parameters θfinal are known to provide robust robotic assembly of the parts in the presence of part positioning uncertainty. -
FIG. 8 is a conceptual illustration of parameter searching and convergence in a two-dimensional space using numerical optimization, as known in the art. A numerical optimization algorithm can be used to automatically tune parameters to achieve best results. One example is Covariance Matrix Adaptation Evolution Strategy (CMA-ES), for which a set of parameters are sampled from a distribution (e.g., Gaussian), and each of them are evaluated (using simulation). The Gaussian distribution is then updated in a directional optimization fashion to increase the probability to sample well-performing parameters. -
Box 810 shows an initial (first generation) set of individual parameter samples from a2D distribution 812, where each sample is represented by a dot. It is to be understood that the directional optimization technique depicted inFIG. 8 is applicable to multiple dimensions; the approach is shown in two dimensions for visual clarity. Each of the samples from thedistribution 812 is used in a simulation which results in a performance metric (such as the cost function value described above). The samples contained in aregion 814 had the best performance of all of the samples in thedistribution 812. Based on this, a second generation of parameter samples is created atbox 820, having adistribution 822. Thedistribution 822 is enlarged and elongated in the direction of the best performing samples by the CMA-ES algorithm. The samples from thedistribution 822 are used in simulations, which results in a performance metric for each. The samples contained in aregion 824 had the best performance of all of the samples in thedistribution 822. - At
box 830, a third generation of parameter samples is created, having adistribution 832. Thedistribution 832 is further enlarged and elongated in the direction of the best performing samples from theregion 824. The samples from thedistribution 832 are used in simulations, and the samples in aregion 834 are found to have the best performance. The directional optimization process continues for a fourth generation at abox 840, where adistribution 842 is smaller and essentially concentric with thedistribution 832, because thebest performing region 834 was essentially centered within thedistribution 832. In other words, thedistribution 842 has about the same mean values as thedistribution 832, but a smaller standard deviation. A fifth generation of samples atbox 850 has adistribution 852 with about the same mean and an even smaller standard deviation in comparison to the fourth generation. A sixth generation of samples atbox 860 has adistribution 862 with about the same mean and an even smaller standard deviation in comparison to the fifth generation, and thedistribution 862 is deemed to have met the convergence criteria. - The directional optimization process shown in
FIG. 8 clearly illustrates how the optimization algorithm is applied to the simulations ofFIG. 7 - defining an initial parameter distribution (for the target path θ including values for the target force vector -
- at each step), running a plurality of simulation sets, selecting the simulation sets having the best performance to define a new parameter distribution, and continuing this process until the convergence criteria are met. Covariance Matrix Adaptation Evolution Strategy (CMA-ES) is one preferred optimization technique, and was used in the development of the presently disclosed methods. However, other optimization solutions could also be employed, including Particle Swarm Optimization, and Bayesian Optimization.
-
FIG. 9 is a flowchart diagram 900 of a method for autonomous parameter tuning for a general robotic assembly operation using numerical optimization combined with physical simulation, according to an embodiment of the present disclosure. Atbox 910, a simulation model of a robot with a force controller, and solid models of parts being assembled, are provided. This step was described in detail in the discussion ofFIG. 4 . Atbox 920, a statistical distribution of force control parameters is provided, including nominal values and standard deviations. This includes the 6x1 target force vector -
- for each step in the assembly simulation - as discussed earlier with respect to
FIGS. 5-7 . Atbox 930, a first plurality of samples from the distribution is randomly selected. In one embodiment, the first plurality is in a range of five to ten samples. - At
box 940, a set of simulations for each of the selected samples is run, where each set of simulations includes a second plurality of simulations. Each simulation in a set of simulations uses the same selected sample of force control parameters, and different randomly assigned values of part pose error. In one embodiment, the second plurality is in a range of five to ten simulations. Thus, one set of simulations includes five to ten simulations, each simulation using the same selected sample of force control parameters, and each simulation using a different part pose error. Atbox 950, a cost function value is computed for each of the simulations, along with an average cost function value for each set of simulations. The cost function value for each simulation is computed based on a distance error between a final part position after simulation and a target position. - At
box 960, the statistical distribution of force control parameters is redefined based on a quantity of the sets of simulations having lowest values of the average cost function value. In one embodiment the three sets of simulations having the best performance (of the five to ten sets) are selected, and the distribution is redefined based on the force control parameters used in those three sets. The redefinition of the parameter distribution is controlled by the optimization algorithm. Atdecision diamond 970, it is determined whether a convergence criteria has been met. The convergence criteria could be based on the amount of change from one distribution to the next, or the criteria could be based on the rate of successful assembly simulations. - When the convergence criteria is not met at the
decision diamond 970, the directional optimization algorithm returns to thebox 930 to randomly select samples from the redefined distribution, followed by running the sets of simulations and again redefining the distribution until the convergence criteria is met. When the convergence criteria is met, mean values of a final distribution are used as optimal values of the force control parameters. The optimal values of the force control parameters are provided to a real robot controller to be used in real world robotic assembly operations corresponding to the simulated assemblies which were performed. -
FIG. 10 is an illustration of asystem 1000 for autonomous parameter tuning via the method ofFIG. 9 , where the tuned parameters are used by a robot controller in a corresponding real world robotic assembly operation, according to an embodiment of the present disclosure. Acomputer 1010 has a processor and memory configured with an algorithm to perform the autonomous parameter tuning method ofFIG. 9 .Box 1020 illustrates that thecomputer 1010 runs the simulation and optimization computations ofFIG. 7 , including the simulation of robotic assembly described with respect toFIGS. 4-6 . This includes using an optimization solver to find values of force control parameters which provide optimal part assembly performance in the presence of part positioning uncertainty. - After the parameter optimization simulations have converged, the optimal values of the force control parameters are provided from the
computer 1010 to arobot controller 1030. Thecontroller 1030 controls arobot 1040 which is tasked with performing the assembly operation which was simulated and optimized on thecomputer 1010. In the example shown, therobot 1040 includes agripper 1050 which grasps apeg part 1060, where thepeg part 1060 is to be inserted into ahole part 1070. In one common embodiment, therobot 1040 is a six-axis articulated robot. A force/torque sensor 1080 is coupled between an outer arm of therobot 1040 and thegripper 1050. The force/torque sensor 1080 provides a feedback force/torque signal to thecontroller 1030, so that the force controller calculations can be carried out as discussed with respect toFIG. 4 . - The
robot 1040 operates in a workspace having a fixed coordinate frame. Thecontroller 1030 knows the position and orientation of thegripper 1050 and the graspedpart 1060 at all times based on robot kinematics and joint state data. Thehole part 1070 is held fixed in a jig or fixture, and has a position and orientation in the fixed coordinate frame which are known within a certain degree of precision. As discussed above, after the simulations on thecomputer 1010, thecontroller 1030 is configured with force control parameters which are optimized to enable robust assembly of theparts 1060/1070 by therobot 1040, even in the presence of variation of the fixtured pose of thepart 1070, variation of the grasped pose of thepart 1060, etc. - The techniques described above have been tested using three part assembly simulations as shown in
FIG. 4 : complex shaped planar part insertion, dual peg-hole insertion, and electrical connector insertion. In each case, the assembly success rate with tuned parameters (using the disclosed techniques) exceeded the success rate without tuning, and in many cases the improvement was dramatic (> 90% success with parameter tuning vs. < 20% without tuning). Two of the part assembly operations (dual peg-hole insertion, and electrical connector insertion) were also tested using real robots and parts, where the robot controllers were configured with the tuned force control parameters. These real-world experiments verified the ability of the controller and robot to efficiently assemble the parts, even in the presence of part positioning uncertainty. - The autonomous parameter tuning technique disclosed above offers several advantages over existing methods. Unlike parameter optimization techniques which use real-world experiments, simulation can be done much faster on computers. Another benefit is that simulation is easy to reset for every trial, whereas in real-world experiments it is time-consuming to reset the robot and controller, especially when the previous trial fails. Furthermore, executing robots to do contact-rich tasks repeatedly could damage the workpieces, especially with parameters which are not well-tuned. Also, workpieces are easily worn during contact, which could introduce model differences between beginning trials and later trials during parameter learning. In contrast, in the simulated environment, simulation trials won’t cause any damage to workpieces or robots. Parameter tuning using simulation also doesn’t create any safety issues for human workers.
- In addition, the disclosed techniques operate autonomously, requiring only a model of the controller and robot, and solids models of the parts being assembled. No expert person is required to “guide” the simulations to find the proper solution. Rather, the combination of simulation and optimization, with part positioning uncertainty included in the selection of force control parameters, automatically finds optimal values of the parameters based on the actual part assembly contact dynamics. For example, the two-peg part assembly will autonomously converge on force controller translational and rotational gains which are much different than those which are selected for the electrical connector assembly operation.
- It is noted that more or different parameters may be evaluated and optimized for certain part assembly applications. The parameters discussed above - which are all related to the input target force values used in the assembly process - are simply one preferred embodiment. The same type of optimization routine could be used with the same physical simulation model to optimize values of other parameters, such as stiffness and damping values used in contact dynamics, or other parameters used in the compliance controller.
- Throughout the preceding discussion, various computers and controllers are described and implied. It is to be understood that the software applications and modules of these computers and controllers are executed on one or more computing devices having a processor and a memory module. In particular, this includes a processor in the
robot controller 1030 which controls therobot 1040 performing the robotic assembly task as shown inFIG. 10 , and the computer 410 (FIG. 4 ) and the computer 1010 (FIG. 10 ) with one or more processors configured to run the autonomous parameter tuning method for a robotic assembly operations using numerical optimization combined with physical simulation as discussed above. - The foregoing discussion discloses and describes merely exemplary embodiments of the present disclosure. One skilled in the art will readily recognize from such discussion and from the accompanying drawings and claims that various changes, modifications and variations can be made therein without departing from the spirit and scope of the disclosure as defined in the following claims.
Claims (25)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/457,753 US11938633B2 (en) | 2021-12-06 | 2021-12-06 | Autonomous robust assembly planning |
DE102022130318.7A DE102022130318A1 (en) | 2021-12-06 | 2022-11-16 | AUTONOMOUS ROBUST ASSEMBLY PLANNING |
JP2022191187A JP2023084107A (en) | 2021-12-06 | 2022-11-30 | Autonomous robust assembly planning |
CN202211550753.0A CN116214498A (en) | 2021-12-06 | 2022-12-05 | Autonomous robust assembly planning |
US18/594,139 US20240208053A1 (en) | 2021-12-06 | 2024-03-04 | Autonomous robust assembly planning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/457,753 US11938633B2 (en) | 2021-12-06 | 2021-12-06 | Autonomous robust assembly planning |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/594,139 Continuation US20240208053A1 (en) | 2021-12-06 | 2024-03-04 | Autonomous robust assembly planning |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230173673A1 true US20230173673A1 (en) | 2023-06-08 |
US11938633B2 US11938633B2 (en) | 2024-03-26 |
Family
ID=86382323
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/457,753 Active 2042-11-09 US11938633B2 (en) | 2021-12-06 | 2021-12-06 | Autonomous robust assembly planning |
US18/594,139 Pending US20240208053A1 (en) | 2021-12-06 | 2024-03-04 | Autonomous robust assembly planning |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/594,139 Pending US20240208053A1 (en) | 2021-12-06 | 2024-03-04 | Autonomous robust assembly planning |
Country Status (4)
Country | Link |
---|---|
US (2) | US11938633B2 (en) |
JP (1) | JP2023084107A (en) |
CN (1) | CN116214498A (en) |
DE (1) | DE102022130318A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210299872A1 (en) * | 2018-08-06 | 2021-09-30 | Omron Corporation | Control system and control device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349990B (en) * | 2023-12-05 | 2024-02-13 | 武汉科技大学 | Method and system for rapidly calibrating robot |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8805581B2 (en) * | 2012-02-21 | 2014-08-12 | GM Global Technology Operations LLC | Procedural memory learning and robot control |
US20210387301A1 (en) * | 2020-06-12 | 2021-12-16 | Hexagon Metrology, Inc. | Robotic Alignment Method for Workpiece Measuring Systems |
US20220118618A1 (en) * | 2020-10-16 | 2022-04-21 | Mark Oleynik | Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning |
US11565406B2 (en) * | 2020-11-23 | 2023-01-31 | Mitsubishi Electric Research Laboratories, Inc. | Multi-tentacular soft robotic grippers |
-
2021
- 2021-12-06 US US17/457,753 patent/US11938633B2/en active Active
-
2022
- 2022-11-16 DE DE102022130318.7A patent/DE102022130318A1/en active Pending
- 2022-11-30 JP JP2022191187A patent/JP2023084107A/en active Pending
- 2022-12-05 CN CN202211550753.0A patent/CN116214498A/en active Pending
-
2024
- 2024-03-04 US US18/594,139 patent/US20240208053A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8805581B2 (en) * | 2012-02-21 | 2014-08-12 | GM Global Technology Operations LLC | Procedural memory learning and robot control |
US20210387301A1 (en) * | 2020-06-12 | 2021-12-16 | Hexagon Metrology, Inc. | Robotic Alignment Method for Workpiece Measuring Systems |
US11524410B2 (en) * | 2020-06-12 | 2022-12-13 | Hexagon Metrology, Inc. | Robotic alignment method for workpiece measuring systems |
US20220118618A1 (en) * | 2020-10-16 | 2022-04-21 | Mark Oleynik | Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning |
US11565406B2 (en) * | 2020-11-23 | 2023-01-31 | Mitsubishi Electric Research Laboratories, Inc. | Multi-tentacular soft robotic grippers |
Non-Patent Citations (4)
Title |
---|
Hebecker et al., Towards Real-World Force-Sensitive Robotic Assembly through Deep Reinforcement Learning in Simulations, 2021, IEEE, pg. 1045-1051 (Year: 2021) * |
Racca et al., Interactive Tuning of Robot Program Parameters via Expected Divergence Maximization, 2020, IEEE, pg. 629-638 (Year: 2020) * |
Wei et al., Improving robotic assembly performance through autonomous exploration, 2002, IEEE, pg. 3303-3308 (Year: 2002) * |
Wirnshofer et al., Robust, Compliant Assembly with Elastic Parts and Model Uncertainty, 2019, IEEE, pg. 6044-6051 (Year: 2019) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210299872A1 (en) * | 2018-08-06 | 2021-09-30 | Omron Corporation | Control system and control device |
Also Published As
Publication number | Publication date |
---|---|
US11938633B2 (en) | 2024-03-26 |
JP2023084107A (en) | 2023-06-16 |
DE102022130318A1 (en) | 2023-06-07 |
US20240208053A1 (en) | 2024-06-27 |
CN116214498A (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240208053A1 (en) | Autonomous robust assembly planning | |
Goldenberg et al. | A generalized solution to the inverse kinematics of robotic manipulators | |
US10919149B2 (en) | Controller for robot and inverse transforming method for robot | |
Liu et al. | Learning peg-in-hole assembly using Cartesian DMPs with feedback mechanism | |
Wirnshofer et al. | Robust, compliant assembly via optimal belief space planning | |
Jiang et al. | Multi-hierarchy interaction control of a redundant robot using impedance learning | |
Giglio et al. | Selective compliance control for an unmanned aerial vehicle with a robotic arm | |
CN115401699B (en) | Industrial robot precision reliability analysis method, device, equipment and storage medium | |
Wirnshofer et al. | State estimation in contact-rich manipulation | |
Scheurer et al. | Industrial implementation of a multi-task redundancy resolution at velocity level for highly redundant mobile manipulators | |
Kebria et al. | Experimental comparison study on joint and cartesian space control schemes for a teleoperation system under time-varying delay | |
Malhan et al. | Integrating impedance control and learning based search scheme for robotic assemblies under uncertainty | |
Vochten et al. | Shape-preserving and reactive adaptation of robot end-effector trajectories | |
Tavora et al. | Equilibrium-based force and torque control for an aerial manipulator to interact with a vertical surface | |
Mobedi et al. | An adaptive control approach to robotic assembly with uncertainties in vision and dynamics | |
Kuan et al. | Reinforcement learning and robust control for robot compliance tasks | |
CN111546035B (en) | Online rapid gear assembly method based on learning and prediction | |
Nagata et al. | Neural network-based inverse kinematics for an industrial robot and its learning method | |
García et al. | Visual servoing and impedance control in robotic manipulators for on-orbit servicing | |
Huang et al. | Compliant motion adaptation with dynamical system during robot-environment interaction | |
Hejrati et al. | Decentralized nonlinear control of redundant upper limb exoskeleton with natural adaptation law | |
Lee et al. | Operational space control under actuator bandwidth limitation | |
Suh Chin et al. | Force‐guided robot in automated assembly of mobile phone | |
Ying et al. | Motion Generation for Shaping Deformable Linear Objects with Contact Avoidance Using Differentiable Simulation | |
Chen et al. | A Composable Framework for Policy Design, Learning, and Transfer Toward Safe and Efficient Industrial Insertion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FANUC CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHAO, YU;KATO, TETSUAKI;SIGNING DATES FROM 20211117 TO 20211122;REEL/FRAME:058307/0681 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |