Method and device for adjusting motion parameters of a robot
By repeatedly detecting and updating the candidate values of action parameters in the robot system, the problem of long learning of the action allowable range in the prior art is solved, and more efficient action parameter adjustment is achieved.
Patent Information
- Application Number
- CN202210751277.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-02
- Filing Date
- 2022-06-29
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-06-29
AI Technical Summary
The prior art requires a lot of time to learn in the allowable range of robotic movements, and learning relies on all pre-formed movements, resulting in inefficiency.
By repeating the detection process and the action parameter update process, a robot is used to perform multiple adjustment actions, obtain detection values, and update the action parameter candidate values through optimization processing, and finally determine the action parameters used.
The time required to adjust the action parameters of the robot system is shortened, learning efficiency is improved, and actions that deviate from the allowable requirements are avoided.
Smart Images

Figure CN115625701B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a motion parameter adjustment method and a motion parameter adjustment device for adjusting motion parameters of a robot. Background Art
[0002] Conventionally, there has been a technique for automatically learning motion control of a machine. In Patent Document 1, based on the analysis result of the learning content performed in the initial learning stage, a task is divided into a plurality of scenarios, and local motions performed in each scenario are specified. Moreover, the motion allowable range is learned for each local motion. After that, based on combining the local motions classified for each scenario and learned, learning is performed to optimally perform the motion from the start to the end. By pre-learning the motion allowable range, it is possible to avoid performing motions that deviate from the allowable requirements and perform learning thereafter. As a result, learning can be effectively performed.
[0003] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2018-200539
[0004] However, in the technique of Patent Document 1, in the learning of the motion allowable range, all the motions specified in advance are performed. In addition, in the learning from the start to the end of the motion, all the motions within the motion allowable range are also performed. Therefore, learning still requires a lot of time. Summary of the Invention
[0005] According to one aspect of the present disclosure, there is provided a motion parameter adjustment method for adjusting motion parameters of a robot system including a robot and a detection unit that detects vibration of the robot. The motion parameter adjustment method includes: a detection step of causing the robot to execute a plurality of adjustment motions using candidate values of the motion parameters and obtaining detection values of the detection unit; a motion parameter update step of performing an optimization process of the motion parameters by using the obtained detection values to obtain new candidate values of the motion parameters; a repetition step of repeating the motion parameter update step and the detection step using the new candidate values obtained in the motion parameter update step; and a motion parameter determination step of determining the motion parameters to be used in the robot system based on one or more candidate values of the motion parameters obtained through the repetition step. The detection step includes: an abort determination step of continuing or aborting the detection step based on a comparison result between the detection values of a part of the plurality of adjustment motions and a reference value in a state where the detection values are obtained for the part of the adjustment motions. Brief Description of the Drawings
[0006] Figure 1 is a perspective view showing the robot system 1 in the embodiment.
[0007] Figure 2 It is a block diagram showing the configuration of the setting device 600.
[0008] Figure 3 It is a diagram showing the force control parameter 226 used in the control program of the robot 100.
[0009] Figure 4 It is a flowchart showing a method for adjusting the force control parameter.
[0010] Figure 5 It is a diagram showing Figure 4 the process of step S400.
[0011] Figure 6 It is a diagram showing Figure 4 the user interface I820 displayed on the display 602 of the setting device 600 in step S800.
[0012] Figure 7 It is a diagram showing the user interface I820 displayed on the display 602 of the setting device 600 after being operated by the operator.
[0013] Figure 8 It is a diagram showing the probability that the predicted value of the iterative average action speed exceeds v at the moment before the measurement of the first evaluation action. * of.
[0014] Figure 9 It is a diagram showing the probability that the predicted value of the average action speed of the first iteration exceeds v. * of.
[0015] Figure 10 It is a diagram showing the probability that the predicted value of the average action speed of the second iteration exceeds v. * of.
[0016] Figure 11 It is a diagram showing the probability that the predicted value of the average action speed of the nth iteration exceeds v. * of.
[0017] Figure 12 It is a diagram showing the probability that the predicted value of the average action speed of the Ith iteration exceeds v. * of.
[0018] Figure 13 It is a diagram showing the improvement probability that the average action speed exceeds the best action speed up to that point when the fourth to seventh evaluation actions are executed and measured at the moment when the third measurement is completed.
[0019] Figure 14 It is a diagram showing Figure 4Table of examples of indicators for determining the execution order of evaluation actions in the process of step S800.
[0020] Figure 15 shows Figure 14 Among the four methods shown, the table of indicators that should be emphasized when determining the execution order of evaluation actions in the process of Figure 4 S800.
[0021] Figure 16 shows Figure 14 Table of benchmarks for comparing indicators among the four methods shown.
[0022] Explanation of reference numerals:
[0023] 1: Robot system; 50: Workbench; 100: Robot; 110: Arm; 120: Arm flange; 130: Force detector; 140: End effector; 160: Position sensor; 200: Robot control device; 210: Processor; 220: Memory; 224: Control program; 226: Force control parameter; 600: Setting device; 602: Display; 604: Keyboard; 605: Mouse; 610: Processor; 611: Detection processing unit; 612: Parameter update unit; 613: Processing unit; 614: Parameter unit; 615: Compensation unit; 630: RAM; 631: Initial condition; 632: Candidate value of force control parameter; 640: ROM; A - D: Embodiment; H2: Fitting hole; I820: User interface; I821: Check box; I822: Check box; I823: Button; I824: Display of name; I825: Influence degree; I826: Area; I827: Area; I828: Action update button; I829: Highlight display; J1 - J6: Joint; M1 - M4: Evaluation action; P: Probability density distribution; WK1: Workpiece; WK2: Workpiece; μ: Mean value; μ 0 : Mean value of probability density distribution; μ 1 : Mean value of probability density distribution; μ 2 : Mean value of probability density distribution; μ n : Mean value of probability density distribution; μ N : Mean value of probability density distribution; σ: Standard deviation; σ 0 : Deviation value of probability density distribution; σ 1 : Deviation value of probability density distribution; σ 2 : Deviation value of probability density distribution; σ n : Deviation value of probability density distribution; σ N : Deviation value of probability density distribution. Detailed implementation mode
[0024] A. First embodiment:
[0025] A1. Composition of the robot system:
[0026] Figure 1 FIG. 1 is a perspective view showing a robot system 1 in an embodiment. The robot system 1 includes a robot 100, a force detector 130, an end effector 140, a robot control device 200, and a setting device 600. The robot 100, the robot control device 200, and the setting device 600 are communicably connected via a cable or wireless communication.
[0027] The robot 100 is a single-arm robot that is used by installing various end effectors on an arm flange 120 at the front end of an arm 110 (refer to the upper right part of Figure 1 ).
[0028] The arm 110 has six joints J1 to J6. The joints J2, J3, and J5 are bending joints, and the joints J1, J4, and J6 are twisting joints. A servo motor and a position sensor are provided at each joint. The servo motor generates a rotational output for driving each joint. The position sensor 160 detects the angular position of the output shaft of the servo motor. In addition, for ease of understanding the technology, in Figure 1 , the servo motor and the position sensor 160 are not shown.
[0029] Various end effectors for performing operations such as gripping and processing an object are installed on the arm flange 120 at the front end of the joint J6. In this specification, the object processed by the robot 100 is also referred to as a "workpiece".
[0030] The position near the front end of the arm 110 can be set as a tool center point. Hereinafter, the tool center point is referred to as "TCP". The TCP is a position used as a reference for the position of the end effector 140. For example, a predetermined position on the rotation axis of the joint J6 can be set as the TCP.
[0031] The robot 100 can configure the end effector at an arbitrary position and in an arbitrary posture within the movable range of the arm 110. A force detector 130 and an end effector 140 are provided on the arm flange 120. The end effector 140 is a gripper in this embodiment.
[0032] The force detector 130 is provided on the robot 100 and can measure an external force applied to the robot 100. Specifically, the force detector 130 is a six-axis sensor. The force detector 130 can detect the magnitudes of forces parallel to the x-axis, y-axis, and z-axis that are orthogonal to each other in a sensor coordinate system as an inherent coordinate system, and the magnitudes of torques about the three axes.
[0033] The coordinate system that defines the space where the robot 100 is located is called the "robot coordinate system". The robot coordinate system is a three-dimensional orthogonal coordinate system defined by the x-axis and y-axis that are orthogonal to each other on a horizontal plane, and the z-axis with the positive direction being vertically upward. Figure 1 The coordinate system shown in Figure 1 is the robot coordinate system. Let Rx represent the rotation angle around the x-axis, Ry represent the rotation angle around the y-axis, and Rz represent the rotation angle around the z-axis. Any position in three-dimensional space can be expressed by the positions in the x, y, and z-axis directions, and any orientation in three-dimensional space can be expressed by the rotation angles in the x, y, and z-axis directions. In this specification, when marked as "position", it can also mean position and orientation. In addition, in this specification, when marked as "force", it can also mean force and torque.
[0034] The workpiece WK2, which is one of the work objects of the robot 100, is placed on the workbench 50. A fitting hole H2 is formed on the upper surface of the workpiece WK2. The fitting hole H2 is a hole with a circular cross-section, extending from the opening on the upper surface of the workpiece WK2 in the negative z-axis direction and having a bottom.
[0035] The end effector 140 is provided on the robot 100 and can hold the workpiece WK1. The workpiece WK1 is a cylindrical component. The outer diameter of the workpiece WK1 is slightly smaller than the inner diameter of the fitting hole H2. The end effector 140 can perform the operation of fitting the workpiece WK1 held by the end effector 140 into the fitting hole H2 of the workpiece WK2.
[0036] The robot control device 200 controls the arm 110 and the end effector 140 (refer to the lower right part of Figure 1 . The robot control device 200 includes a processor 210 and a memory 220. The memory 220 includes a volatile memory and a non-volatile memory. The processor 210 realizes various functions by executing a program pre-stored in the memory 220.
[0037] The robot control device 200 can make the robot 100 perform a contour following motion. Generally speaking, the contour following motion is a motion that follows an external force. In this contour following motion, the robot control device 200 performs force control of the robot 100 based on the measured value of the external force by the force detector 130. The functions of the robot control device 200 are realized by a computer with a processor and a memory executing a computer program.
[0038] The setting device 600 receives instructions from the teacher and generates a control program (refer to Figure 1the lower right part). Further, the setting device 600 adjusts the force control parameters used in the force control. The control program and the force control parameter 226 generated by the setting device 600 are transmitted to the robot control device 200 and stored in the memory 220 of the robot control device 200.
[0039] Figure 2 is a block diagram showing the configuration of the setting device 600. The setting device 600 generates an operation program that defines the operation of the robot 100. The setting device 600 is a computer including a display 602 that functions as an output device, a keyboard 604 and a mouse 605 that function as input devices. The setting device 600 further includes a processor 610 as a CPU (Central Processing Unit), a RAM 630, and a ROM 640. The processor 610 realizes various functions including the adjustment of the force control parameter by loading a computer program stored in a storage medium into the RAM 630 and executing it. The setting device 600 is connected to the force detector 130 of the robot 100 and the robot control device 200 via an interface.
[0040] Figure 3 is a diagram showing the force control parameter 226 used in the control program of the robot 100. The force control parameter 226 is a parameter related to the force control of the robot 100. The force control parameter 226 is used during the force control performed according to the control program 224.
[0041] The force control parameter 226 includes parameters representing the "starting point" and "ending point" in each operation (refer to Figure 3 the upper part). In the present embodiment, the "starting point" and "ending point" of the control point of the robot 100 as the control object are defined by the robot coordinate system. The translational position and rotational position of each axis with respect to the robot coordinate system are defined. In addition, the starting point and the ending point can be defined by various coordinate systems. Further, in the force control, at least one of the starting point and the ending point may not be defined in one operation.
[0042] The force control parameter 226 includes the "acceleration / deceleration characteristics" of the TCP in a plurality of operations (refer to Figure 3 the middle part). According to the acceleration / deceleration characteristics, the speed of the TCP of the robot 100 at each moment when the TCP moves from the starting point to the ending point of each operation is specified. In the present embodiment, the speed described according to the acceleration / deceleration characteristics is the speed of the TCP of the robot 100 as the control object. In the present embodiment, the speed of the TCP is defined by the robot coordinate system. That is, for each axis of the robot coordinate system, the translational speed and the rotational speed, i.e., the angular velocity, are defined. In addition, the acceleration / deceleration characteristics can also be defined by various coordinate systems.
[0043] The force control parameter 226 includes information on a coordinate system, that is, a force control coordinate system, which defines the origin as the point of action with the target force in force control and one axis facing the direction of the target force, as a parameter (refer to the middle section of Figure 3 ). This parameter can be defined in various ways. For example, the parameter for specifying the force control coordinate system can be defined by data representing the relationship between the force control coordinate system and other coordinate systems (such as the robot coordinate system).
[0044] The force control parameter 226 includes a "target force" (refer to the lower section of Figure 3 ). The target force is the force taught as the force that should act on an arbitrary point in various operations and is defined by the force control coordinate system. The target force vector representing the target force is defined as the starting point of the target force vector and the six-axis components starting from the starting point, that is, the three-axis translational force and the three-axis torque, and is expressed by the force control coordinate system. In addition, if the relationship between the force control coordinate system and other coordinate systems is used, this target force can be converted into a vector in an arbitrary coordinate system, such as the robot coordinate system.
[0045] The force control parameter 226 includes "impedance parameters" (refer to the lower section of Figure 3 ). Impedance control is a control method that realizes virtual mechanical impedance through the driving force of the motors of each joint. In impedance control, the mass virtually possessed by the TCP is defined as the virtual mass coefficient m. The viscous resistance virtually received by the TCP is defined as the virtual viscous coefficient d. The spring constant of the elastic force virtually received by the TCP is defined as the virtual viscous coefficient k. The impedance parameters are these coefficients m, d, and k. The impedance parameters are defined for the translation and rotation of each axis with respect to the robot coordinate system.
[0046] A2. Production of control program and adjustment of parameters:
[0047] Figure 4 is a flowchart showing a method for adjusting the force control parameter. Through the processing of Figure 4 , an action parameter adjustment method for adjusting the force control parameter 226 of the robot system 1 is realized. Through the processor 610 of the setting device 600, the processing of Figure 4 is realized.
[0048] In step S100, the processor 610 of the setting device 600 determines the initial conditions in the adjustment of the force control parameter. More specifically, it determines the initial candidate values of the force control parameter, N (N is an integer of 2 or more) evaluation actions used for evaluating the force control parameter, the sequence numbers of the N evaluation movements executed in step S400, and the exploration conditions. The determined initial conditions 631 are stored in the RAM 630.
[0049] The exploration conditions include the following.
[0050] (i) Objective function
[0051] The objective function is a function for calculating the evaluation value of the force control parameter. In the present embodiment, the objective function is the average motion speed of the control points in each evaluation action. The average motion speed is defined as the value obtained by dividing the moving distance of the control point in the evaluation action by the motion time. In this specification, the average motion speed is also referred to as the "motion speed".
[0052] (ii) Constraint function
[0053] The constraint function is a function for prescribing the conditions that the force control parameter should satisfy. In the exploration of the force control parameter, the constraint threshold is set as the constraint condition for the value obtained by the constraint function. In the present embodiment, the constraint function is the maximum value of the overshoot in the evaluation action. In addition, the "overshoot" is the amount by which the control quantity exceeds the target value. In the present embodiment, the overshoot refers to the amount by which the detected value of the force detector 130 exceeds the target force of the force control parameter.
[0054] (iii) Exploration range of the force control parameter
[0055] In the adjustment of the force control parameter, it is the range of the force control parameter that can be explored.
[0056] (iv) Abort threshold for determining the abort of the process
[0057] When the possibility of obtaining a preferable evaluation value for the force control parameter under evaluation is low, the exploration of the force control parameter is aborted. The abort threshold is a threshold for making this abort determination. The abort threshold is used in the process of step S440 later.
[0058] In Figure 4 step S200, the processor 610 of the setting device 600 starts the adjustment of the force control parameter.
[0059] In step S300, the processor 610 of the setting device 600 starts the i-th iteration, that is, the i-th process in the processes of S300 to S700 that are repeatedly performed multiple times. i is an integer from 1 to Ifin. Ifin is an integer of 2 or more. In one iteration, a set of candidate values of the force control parameter is evaluated.
[0060] In step S300, a set of candidate values of the force control parameter to be evaluated is determined. In Figure 4 the process, in the first-executed step S300, the initial candidate value of the force control parameter pre-stored in the ROM 640 of the setting device 600 is determined as the evaluation object.
[0061] In Figure 4In the process of , in step S300 executed after the second time, by using the detection value obtained in step S400 executed previously, an optimization process of the force control parameter is performed to obtain a new candidate value of the force control parameter. Specifically, the optimization algorithm used in this embodiment is the Covariance Matrix Adaptation Evolution Strategy (CMA-ES). The obtained candidate value 632 of the force control parameter is stored in the RAM 630. The process of step S300 is also referred to as the "action parameter update process". As the "parameter update unit 612", in Figure 2 shows the functional unit of the processor 610 of the setting device 600 that executes the process of step S300.
[0062] In Figure 4 In step S400 of , the processor 610 of the setting device 600 performs a detection process. Based on the influence degree calculated in the subsequent step S700, the process of step S400 executed after the second time is performed.
[0063] In the detection process, for a set of candidate values of the force control parameter as the evaluation object, N evaluation actions determined in step S100 are executed, and detection values such as overshoot and action time are detected. Among them, in step S400, sometimes only a part of the N evaluation actions are executed, and the other parts are not executed. For the candidate value of the force control parameter 226 that is found to have a detection value exceeding a certain degree and is not preferred in the detection process of step S400, sometimes the execution of the evaluation action and the detection of the action time, etc. are not performed afterwards. The detection process executed in step S400 will be described in detail later.
[0064] The process of step S400 is referred to as the "detection process". As the "detection process unit 611", in Figure 2 shows the functional unit of the processor 610 of the setting device 600 that executes the process of step S400.
[0065] In Figure 4 In step S500 of , the processor 610 of the setting device 600 calculates a compensation for a set of candidate values of the force control parameter as the evaluation object. In this embodiment, the compensation is the amount that acts in the direction of the evaluation decrease of the candidate value of the force control parameter when determining the evaluation value of the candidate value of the force control parameter. The number of unexecuted evaluation actions among the N evaluation actions in the detection process of step S400 is multiplied by a predetermined coefficient to calculate the compensation.
[0066] In step S600, the processor 610 of the setting device 600 calculates an evaluation value using the value of the objective function and compensation for a set of candidate values of the force control parameters to be evaluated. In the present embodiment, the objective function is the average operation speed. In the present embodiment, the evaluation value is calculated in the following manner.
[0067] [Evaluation value] = [Average operation speed] - [Compensation]
[0068] As a result of the above processing, compensation is given to the evaluation value of the candidate value of the action parameter that was aborted in the detection process in step S400. By performing such processing, for the candidate value of the force control parameter 226 that is found to have a detection value exceeding a certain level and is not preferable in the detection process in step S400, in the subsequent action parameter determination process based on the evaluation value, it is possible to make it less likely to determine the force control parameter 226 to be used in the robot system.
[0069] The processing in steps S500 and S600 is also referred to as "compensation processing". As the "compensation unit 615", the functional unit of the processor 610 of the setting device 600 that executes the processing in steps S500 and S600 is shown in Figure 2
[0070] In Figure 4 In step S700, the processor 610 of the setting device 600 calculates the predicted value of the index used for speeding up the detection process for one or more evaluation actions to be evaluated. Based on the detection value obtained in the detection process in step S400, this index is calculated. In the subsequent step S800, the predicted value of this index is used as the influence degree in the determination of the selection and execution order of the evaluation actions.
[0071] In the present embodiment, specifically, the predicted value of the index is the predicted value of overshoot in this evaluation action. In step S700, based on the overshoot value obtained in the detection process in step S400 up to that point, the predicted value of overshoot is calculated for a plurality of evaluation actions. The processing executed in step S700 will be described in detail later.
[0072] In step S800, the processor 610 of the setting device 600 performs the following processing based on the influence degree calculated in step S700 and the input from the operator. That is, the processor 610 determines the evaluation actions that are not to be executed in the next detection process in step S400 among the multiple evaluation actions executed in the previous detection process in step S400. In addition, the processor 610 of the setting device 600 determines the execution order numbers of the multiple evaluation actions to be executed in the next detection process in step S400. The processing executed in step S800 will be described in detail later.
[0073] In the above processing, in the case where it is not newly determined that the evaluation action is not to be executed in the detection processing of step S400 to be performed next, the processing proceeds to step S900.
[0074] In the above processing, in the case where it is newly determined that the evaluation action is not to be executed in the detection processing of step S400 to be performed next, the processing returns to step S200. At this time, in the processing up to this point, for the candidate values of the force control parameters for which the compensation, evaluation value, and prediction value are calculated in steps S500 to S700, the compensation, evaluation value, and prediction value that do not consider the detection value that has become the evaluation action not to be executed are recalculated. After that, the processing returns to step S200. In the optimization processing of step S300 executed after that, the exploration is restarted from the promising area explored in the previous processing of step S300.
[0075] In step S900, the processor 610 of the setting device 600 determines whether the end condition is satisfied. The end condition is the case where any of the following is satisfied.
[0076] (i) The processing of steps S300 to S800 has been executed Ifin times.
[0077] (ii) The amount of improvement in the evaluation value of step S600 that is lower than the previously set improvement threshold from the evaluation value of step S600 executed before the evaluation value obtained in step S600 continues for more than the previously set number threshold.
[0078] (iii) From the start Figure 4 of the processing, a previously set threshold time has elapsed.
[0079] In step S900, in the case where the end condition is not satisfied, the processing returns to step S300. In step S900, in the case where the end condition is satisfied, the processing proceeds to step S1000.
[0080] Through the processing of steps S800 and S900, the action parameter update processing of step S300 and the detection processing of step S400 using the new candidate values obtained in the action parameter update processing are repeatedly performed. The processing of repeatedly performing the action parameter update processing of step S300 and the detection processing of step S400 using the new candidate values obtained in the action parameter update processing is also referred to as "repetitive processing". In the repetitive processing, the influence degree determination processing of step S700 is also repeatedly executed together with the action parameter update processing and the detection processing. As the "repetitive processing unit 613", in Figure 2 the function unit of the processor 610 of the setting device 600 that executes the repetitive processing is shown.
[0081] InFigure 4 In step S1000, the processor 610 of the setting device 600 determines the force control parameter to be used in the robot system based on one or more candidate values 632 of the force control parameter obtained by repeating steps S200 to S900. More specifically, based on the value of the objective function of each evaluation value of one or more candidate values of the force control parameter, the force control parameter to be used in the robot system is determined. Further specifically, the candidate value of the force control parameter with the best value of the objective function among the candidate values of the force control parameter obtained so far is determined as the force control parameter to be used in the robot system. The candidate of the force control parameter with the highest average action speed as the objective function and without aborting the detection process in step S400 is determined as the force control parameter to be used in the robot system.
[0082] The determined force control parameter 226 is sent from the setting device 600 to the robot control device 200 and stored in the memory 220 of the robot control device 200. The process of step S1000 is also referred to as "action parameter determination process". As the "parameter determination unit 614", in Figure 2 The functional unit of the processor 610 of the setting device 600 that executes the process of step S1000 is shown.
[0083] Figure 5 is a flowchart showing Figure 4 the detection process of step S400. In step S410, the processor 610 of the setting device 600 uses the candidate value of the force control parameter determined in Figure 4 step S300 to cause the robot 100 to perform the nth evaluation action. n is an integer from 1 to M. M is an integer less than or equal to N. In Figure 4 the process when step S400 is first executed, M = N. In step S400, step S410 is repeatedly executed so that the robot 100 performs M evaluation actions using the candidate value of the force control parameter determined in Figure 4 step S300.
[0084] In Figure 4 step S800, the M evaluation actions executed in step S410 that are repeatedly performed in step S400 are formulated. In Figure 4 step S800, the serial numbers of the M evaluation actions executed in step S410 are also formulated. In Figure 4 the process when step S400 is first executed, according to the pre-formulated serial numbers of N evaluation actions, they are executed in step S410.
[0085] In Figure 5In step S420, the processor 610 of the setting device 600 acquires the detection values of the position sensor 160 and the force detector 130 obtained during the execution of the evaluation action. As a result, the action time and overshoot value of the evaluation action are obtained. Substantially, the process of step S420 is performed in parallel with the process of step S410.
[0086] In step S430, the processor 610 of the setting device 600 determines whether the processes of steps S410 and S420 have been executed for all the evaluation actions formulated in the previous step S800. If the processes of steps S410 and S420 have been executed for all the evaluation actions, the Figure 5 process ends. If the processes of steps S410 and S420 have not been completed for all the evaluation actions, the process proceeds to step S440. That is, the process of step S440 is performed in a state where detection values have been obtained for some of the multiple evaluation actions.
[0087] In step S440, the processor 610 of the setting device 600 makes a determination to continue or abort the Figure 5 process based on the comparison result between the detection value of the evaluation action obtained and the abort threshold. More specifically, if the maximum overshoot value obtained in step S420 exceeds the previously formulated constraint threshold, the Figure 5 process ends. If the maximum overshoot value obtained in step S420 does not exceed the constraint threshold, the process returns to step S410. In step S410, the next evaluation action is executed according to the sequence number formulated in Figure 4 step S800. The process of step S800 will be described later.
[0088] By performing such a process, in the adjustment of the force control parameter 226 of the robot system, for the candidate values of the force control parameter for which it is determined that the overshoot value obtained in the detection process exceeds the constraint threshold, some of the multiple evaluation actions are not executed. As a result, compared with the method of executing all the evaluation actions for each candidate value of the force control parameter, the time required for adjusting the force control parameter 226 of the robot system 1 can be shortened. The process of step S440 is also referred to as the "abort determination process".
[0089] In Figure 4 step S700, the processor 610 of the setting device 600 calculates the predicted overshoot value for multiple evaluation actions based on the overshoot value obtained in the detection process in step S400 up to that point. In the state where the I-th iteration is completed, the predicted overshoot value c os (n) of the n-th evaluation action is calculated in the following manner.
[0090] When OS(i, n) is set as the overshoot of the n-th evaluation action in the i-th iteration, the average value μ of the overshoot of the n-th evaluation action up to the I-th iteration is obtained by Equation (1). os (n).
[0091]
[0092] The standard deviation σ of the overshoot of the n-th evaluation action up to the I-th iteration is obtained by Equation (2). os (n).
[0093]
[0094] As a result, in the state where the I-th iteration is completed, the predicted value c of the overshoot of the n-th evaluation action can be calculated by (3). os (n).
[0095] c OS (n) = μ OS (n) ± kσ OS (n) ··· (3)
[0096] k is a positive coefficient
[0097] n is from 1 to N.
[0098] Among them, in this embodiment, cos(n) is the predicted value of the overshoot, and the smaller it is, the higher the evaluation. Therefore, in the state where the I-th iteration is completed, the predicted value c of the overshoot of the n-th evaluation action is calculated by the following Equation (4). os (n).
[0099] c OS (n) = μ OS (n) + kσ OS (n) ··· (4)
[0100] k is a positive coefficient
[0101] n is from 1 to N
[0102] In addition, when c os (n) is a value with a higher evaluation as it gets larger, in the state where the I-th iteration is completed, the predicted value c of the overshoot of the n-th evaluation action is calculated by the following Equation (5). os (n).
[0103] C OS (n) = μ OS (n) - kσ OS (n) ··· (5)
[0104] k is a positive coefficient
[0105] n is from 1 to N.
[0106] In addition, in the case where, in the 1st to Nth iterations, an iteration in which an overshoot has not been detected in the evaluation action including the evaluation action in which an overshoot has been detected in other iterations is present, for that iteration, in the calculation on the right side of the above formulas (1) to (3), it is removed from the object.
[0107] Figure 6 is a diagram showing Figure 4 the user interface I820 displayed on the display 602 of the setting device 600 in step S800. From Figure 6 the left end of Figure 6 in the sixth column, a display I824 showing the names M1 to M4 of the evaluation actions is shown. In Figure 6 the area I826 in the right part of
[0108] in Figure 6 the left end column, a "non-deletable" check box I821 for the operator to specify an evaluation action that cannot be removed from the object in step S400 is shown. In Figure 6 the example of
[0109] from Figure 6 the left end of Figure 6 in the second column, a "valid" check box I822 for the operator to specify an evaluation action to be set as the object in step S400 is shown. In
[0110] from Figure 6 the left end of Figure 6 in the third column, the serial number executed in step S400 for the evaluation action is shown. From
[0111] from Figure 6 the left end of
[0112] in Figure 6In the lower left part of the following, an emphasized display I829 surrounded by a dotted line is shown for the evaluation action M4 whose influence degree is lower than a pre-established influence degree threshold. The emphasized display I829 is an emphasized display for reminding the operator to remove the "valid" check box I822 for this evaluation action.
[0113] By Figure 6 displaying the area I826, it can be known that there are detected values of overshoot exceeding the constraint threshold in the evaluation actions M2 and M3. On the other hand, it can be known that for the evaluation action M4, the detected values of overshoot obtained through four iterations are all significantly smaller than the constraint threshold. The influence degree of the evaluation action M4, that is, the predicted value of overshoot, is 0.1 (refer to Equation (4)). That is, for any candidate value of the force control parameter, it can be expected that the evaluation action M4 will not exceed the constraint threshold. Therefore, it can be known that even if the execution and measurement of the detected value are not performed in the detection process of step S400, the evaluation action M4 will basically not affect the selection of the candidate value of the force control parameter.
[0114] In Figure 4 step S800 of Figure 6 the operator of the user interface I820 of
[0115] operates the "non-deletable" check box I821, the "valid" check box I822, and the button I823 for changing the serial number executed in step S400.
[0115] For example, in Figure 6 the example of
[0116] Figure 7 the operator removes the check box of "valid" for the evaluation action M4 and excludes it from the evaluation actions targeted in step S400. When the operator operates either the "non-deletable" check box I821 or the "valid" check box I822, the processor 610 of the setting device 600 sorts the evaluation actions with the "valid" check box checked and the evaluation actions with the "non-deletable" check box checked in descending order of influence degree.
[0116] Figure 7 is a diagram of the user interface I820 displayed on the display 602 of the setting device 600 after the operator operates the user interface I820. In Figure 7 the example of Figure 4 the serial numbers executed in step S400 are set in the order of evaluation actions M3, M2, and M1. In this state, when the action update button I828 is pressed, the evaluation actions M1 to M3 are determined as the evaluation actions to be executed in Figure 4 step S400 of Figure 4In the detection process of step S400, the processor 610 of the setting device 600 causes the robot 100 to perform a plurality of evaluation actions in descending order of influence degree.
[0117] In addition, the operator can operate the "undeletable" check box I821, the "valid" check box I822, and the button I823 in the Figure 7 state to change the evaluation actions and their sequence.
[0118] In addition, when initially performing the process of step S800, the process of changing the above execution order is not performed.
[0119] In the present embodiment, an emphasized display I829 surrounded by a dotted line is shown for the evaluation action M4 whose influence degree is lower than the pre-established influence degree threshold, reminding to remove the "valid" check box I822. Based on the emphasized display I829, the operator removes the "valid" check box I822 for the evaluation action M4. As a result, in the Figure 4 detection process of step S400, the evaluation actions with an influence degree smaller than the pre-established reference are not executed by the robot 100. Therefore, the time required for adjusting the force control parameters can be shortened.
[0120] As a result of the process of step S800 in the present embodiment, in step S400, the evaluation actions with higher influence degrees are executed earlier (refer to Figure 11 I825). In the present embodiment, the evaluation actions with high influence degrees are the evaluation actions that are considered to be likely to exceed the constraint threshold due to overshoot in the present embodiment (refer to Equation (4)). Therefore, in the Figure 5 early stage of the repetitive process of steps S410 to S440, based on the overshoot value of the evaluation action with high influence degree, the abort determination process of step S440 for continuing or aborting the detection process can be executed. Therefore, it is highly likely that the processing load in adjusting the force control parameter 226 of the robot system can be further reduced.
[0121] In addition, in the present embodiment, in the repetitive process, the selection of the evaluation actions to be targeted and the execution order of the evaluation actions are always determined based on the predicted overshoot value calculated through the process of the latest step S700 (refer to Figure 4 steps S700 and S800). Therefore, it is possible to effectively make a judgment on aborting the process in Figure 5 step S440.
[0122] The force control parameter 226 in the present embodiment is also referred to as an "action parameter". The force detector 130 is also referred to as a "detection unit". The action time and the overshoot value are also referred to as "detection values". The abort threshold is also referred to as a "reference value".
[0123] The process of step S300 in this embodiment is also referred to as the "action parameter update process". The process of step S400 is also referred to as the "detection process". The process of repeatedly performing steps S300 and S400 is also referred to as the "repetition process". The process of step S1000 is also referred to as the "action parameter determination process". The process of step S440 is also referred to as the "abort determination process". Figure 4 The process of step S300 in Figure 4 is also referred to as the "action parameter update process". The process of step S400 is also referred to as the "detection process". The process of repeatedly performing steps S300 and S400 is also referred to as the "repetition process". The process of step S1000 is also referred to as the "action parameter determination process". The process of step S440 is also referred to as the "abort determination process".
[0124] B. Second Embodiment:
[0125] In step S440 of the first embodiment, based on the maximum value of the overshoot as a constraint function, the termination of the process of step S400 is determined. In the second embodiment, an index related to the average action speed as an objective function is used to determine the termination of the process of step S400. Among them, in the stage where all the processes of steps S200 to S900 in Figure 4 are not completed, the index related to the average action speed used for the determination of the termination of the process can be calculated by various means. Other aspects of the second embodiment are the same as those of the first embodiment. Figure 4 In step S440 of the second embodiment, based on the predicted value of the average action speed in the I-th iteration, the termination of the process of step S400 is determined. Among them, in the stage where all the processes of steps S200 to S900 in Figure 4 are not completed, the index related to the average action speed used for the determination of the termination of the process can be calculated by various means. Other aspects of the second embodiment are the same as those of the first embodiment. Figure 4 In step S440 of the second embodiment, based on the predicted value of the average action speed in the I-th iteration, the termination of the process of step S400 is determined. Among them, in the stage where all the processes of steps S200 to S900 in Figure 4 are not completed, the index related to the average action speed used for the determination of the termination of the process can be calculated by various means. Other aspects of the second embodiment are the same as those of the first embodiment.
[0126] B1. Mode 1 of the Second Embodiment:
[0127] In step S440 of mode 1 of the second embodiment, based on the predicted value of the average action speed in the I-th iteration, the termination of the process of step S400 is determined.
[0128] Let v(i,n) be the action speed of the n-th evaluation action in the i-th iteration. Let v * (I,n) be the best value of the action speed of the n-th evaluation action up to the I-th iteration. Then, in the state where the measurement of the n-th evaluation action is completed in the I-th iteration, the predicted value of the average action speed of the evaluation action in the I-th iteration is calculated by the following formula (6).
[0129]
[0130] The predicted value of the average action speed of the evaluation action in the I-th iteration is synthesized from the actual measured values of the action speeds of the 1st to n-th up to the I-th iteration and the best values of the action speeds of the (n + 1)-th and subsequent evaluation actions in the 1st to (I - 1)-th iterations.
[0131] In mode 1 of the second embodiment, in Figure 5 step S440, when the following formula (7) is satisfied, the process of Figure 5 ends. When formula (7) is not satisfied, the process returns to step S410. In addition, v *(I) is the optimal value of the average action speed of the evaluation actions up to the I-th iteration.
[0132]
[0133] In such a manner, in the adjustment of the force control parameter 226 of the robot system, for a candidate value of the force control parameter (refer to Equation (7)) that is determined to be somewhat suboptimal in terms of the predicted value of the average action speed with respect to the previous optimal value v * (I), a part of the evaluation actions among the multiple evaluation actions is not executed. As a result, compared with the method of executing all the evaluation actions for each candidate value of the force control parameter, the time required for the adjustment of the force control parameter 226 of the robot system can be shortened.
[0134] B2. Method 2 of the second embodiment:
[0135] In step S440 of method 2 of the second embodiment, based on the probability that the average action speed exceeds the previous optimal action speed in the case of the unmeasured evaluation actions after the (n + 1)-th evaluation action at the moment when the measurement of the n-th evaluation action has been executed and measured, the termination of the process in step S400 is determined. In addition, in step S800 of the first embodiment, based on the predicted value of the overshoot as the influence degree, the serial number of the evaluation action executed in step S400 is set (refer to Figure 7 ). In contrast, in step S800 of method 2 of the second embodiment, based on the standard deviation of the predicted value of the action speed, the serial number of the evaluation action executed in step S400 is set. Other aspects of method 2 of the second embodiment are the same as those of the first embodiment.
[0136] Assume that the action speed v of the unmeasured n-th evaluation action n follows a normal distribution.
[0137]
[0138] Among them, let
[0139]
[0140]
[0141] Let v * be the optimal value of the average action speed up to the I-th iteration. Let the predicted value of the average action speed of the I-th iteration at the moment when the measurement of the n-th evaluation action is completed exceed v * , that is, satisfy Equation (11)
[0142]
[0143] is set to the probability of
[0144]
[0145] By the additivity of the normal distribution, the predicted value of the average action speed at the I-th iteration at the moment when the measurement of the n-th evaluation action is completed
[0146]
[0147] The probability density distribution P is expressed as follows. In addition, for the evaluation actions up to the 1st to nth that have been measured, the average values μ 1 ~μ n are regarded as the measured values v 1 ~v n respectively, and have a probability density distribution with a standard deviation of zero.
[0148]
[0149]
[0150]
[0151] In Mode 2 of the second embodiment, in Figure 5 step S440, when the probability (refer to the above formula (12)) that the predicted value of the average action speed at the I-th iteration at the moment when the measurement of the n-th evaluation action is completed exceeds the best value v * up to that point is lower than a predetermined termination threshold, the Figure 5 processing is terminated. When the probability (refer to the above formula (12)) that the predicted value of the average action speed at the I-th iteration at the moment when the measurement of the n-th evaluation action is completed exceeds v * is equal to or higher than the termination threshold, the process returns to step S410.
[0152] Figures 8 - 12 is a graph showing the probability (refer to the above formula (12)) that the predicted value v of the average action speed at the I-th iteration exceeds v * Figure 8 The graph shown represents the probability density distribution of the predicted value v of the average action speed at the I-th iteration at the moment before the measurement of the first evaluation action. Figure 9 The graph shown represents the probability density distribution of the predicted value v of the average action speed at the I-th iteration at the moment after the measurement of the first evaluation action. Figure 10 The graph shown represents the probability density distribution of the predicted value v of the average action speed at the I-th iteration at the moment after the measurement of the second evaluation action. Figure 11 The figure shown represents the probability density distribution of the predicted value v of the average action speed at the time after measurement of the nth evaluation action for the Ith iteration. Figure 12 The figure shown represents the probability density distribution of the predicted value v of the average action speed at the time after measurement of all evaluation actions that are the object for the Ith iteration. It is assumed that each probability density distribution is a normal distribution. In Figures 8 - 12 it, μ 0 、μ 1 、μ 2 、μ n 、μ N represents the average value of the probability density distribution. σ 0 、σ 1 、σ 2 、σ n 、σ N represents the standard deviation of the probability density distribution.
[0153] In Figures 8 - 12 ,the area of the region marked with the shaded line represents the probability that the predicted value v of the average action speed for the Ith iteration exceeds v * (refer to the above formula (12)). As the measurement of the evaluation action is carried out, in order to reduce uncertain factors, the standard deviation of the probability density distribution approaches zero and the probability density distribution becomes narrower.
[0154] In Mode 2 of the second embodiment, in Figure 4 step S800, the greater the dispersion of the predicted value v of the action speed (refer to the above formula (16)), the earlier the mode number is set for the evaluation action to be executed in step S400.
[0155] By performing such processing, in the early stage of the repeated processing of steps S200 to S800, it is possible to expect a reduction in the dispersion of the predicted value v of the action speed (refer to the above formula (16)), in other words, a reduction in uncertainty. As a result, in the early stage of the repeated processing of steps S200 to S800, it is possible to more accurately perform Figure 5 the determination of termination in step S440.
[0156] B3. Mode 3 of the second embodiment:
[0157] In Mode 3 of the second embodiment, the processing of steps S410 to S420 of Figure 5 is sequentially performed R times (R is an integer of 2 or more). Therefore, Figure 5The end condition in step S430 and the determination condition for suspension in step S440 are different from those in Mode 2 of the second embodiment. Other aspects of Mode 3 of the second embodiment are the same as those of Mode 2 of the second embodiment. For example, as in the case of force control, this mode is applicable to the situation where the value of the objective function is prone to deviation and multiple evaluations are effective.
[0158] In Figure 5 step S430 of, the processor 610 of the setting device 600 determines whether the processes of steps S410 and S420 have been executed R times successively for all the evaluation actions formulated in the previous step S800. Specifically, R is 3. When the processes of steps S410 and S420 have been executed R times successively for all the evaluation actions, the Figure 5 processing ends. When the processes of steps S410 and S420 have not been completed R times successively for all the evaluation actions, the processing proceeds to step S440.
[0159] In Figure 5 step S440 of, as for all the evaluation actions that are the objects at this moment, when the (j + 1)-th to R-th evaluation actions have been executed and measured at the moment when the j-th (j is an integer greater than or equal to 1 and less than R) measurement is completed, based on the improvement probability that is the probability that the average action speed exceeds the best action speed up to now, the Figure 5 determination of continuation or suspension of the processing is performed.
[0160] Figure 13 is a graph showing the improvement probability that the average action speed exceeds the best action speed up to now when the second to third evaluation actions have been executed and measured at the moment when the measurement in the first step S420 is completed in the (I + 1)-th iteration. Figure 13 The graph shown is the probability density distribution of the average action speed when the second to third evaluation actions have been executed and measured at the moment when the first measurement is completed. It is assumed that the probability density distribution is a normal distribution. In the probability density distribution, the average is set to the average action speed of the first time. The standard deviation is set to the average of the standard deviations of the respective action speeds in the first to I-th iterations. In Figure 13 the rectangle shown in the upper right part, the action speeds in the first to third processes from the first to the I-th iterations are shown as circles. Figure 13 The arrow pointing to the right in the rectangle shown in the upper right part is the evaluation axis of the action speed. In Figure 13 , the area of the region marked with the shaded line represents the improvement probability that the average action speed exceeds the best action speed up to now when the second to third evaluation actions have been executed and measured at the moment when the first measurement is completed.
[0161] In addition, in the case of iterations including undetected overshoots and action speeds in the 1st to Ith iterations, for such iterations, in the calculation of the average value of the above standard deviation, they are excluded from the objects.
[0162] In Figure 5 step S440 of Figure 5 if the improvement probability is smaller than a pre-established abort threshold, the
[0163] processing ends. If not, the processing returns to step S410.
[0164] C. Third Embodiment:
[0165] In the third embodiment, Figure 4 the calculation method of the predicted value in step S700 of
[0166] is different from that of the first embodiment. Other aspects of the third embodiment are the same as those of the first embodiment. os (n).
[0167] When OS(i,n) is the overshoot of the nth evaluation action in the ith iteration, the average value μ os (n) of the overshoots of the nth evaluation action from the (I - m + 1)th iteration to the Ith iteration is obtained by Equation (17).
[0168]
[0169] The standard deviation σ os (n) of the overshoots of the nth evaluation action from the (I - m + 1)th iteration to the Ith iteration is obtained by Equation (18).
[0170]
[0171] As a result, in the state where the I-th iteration is completed, the predicted value c of the overshoot of the n-th evaluation action can be calculated by the following formula (19). os (n).
[0172]
[0173] Among them, in this embodiment, c os (n) is the predicted value of the overshoot, and the smaller it is, the higher the evaluation. Therefore, in the state where the I-th iteration is completed, as the predicted value c of the overshoot of the n-th evaluation action os (n), the formula using the + in the ± on the right side in formula (19) is adopted.
[0174] In addition, when c os (n) is a value with a higher evaluation as it is larger, in the state where the I-th iteration is completed, as the predicted value c of the overshoot of the n-th evaluation action os (n), the formula using the - in the ± on the right side in formula (19) is adopted.
[0175] In addition, in the case of the iteration including the evaluation action that has not detected the overshoot detected in other iterations among the 1st to I-th iterations, for this iteration, it is removed from the object in the calculations of the above formulas (17) to (19).
[0176] In the third embodiment, by the above method, based on the overshoots of the latest m detection processes, the predicted value of the overshoot as the influence degree is calculated. As such a method, in step S800, the evaluation actions are also appropriately selected and sorted. As a result, the time required for adjusting the force control parameters can be shortened.
[0177] D. Other Embodiments:
[0178] D1. Other Embodiment 1:
[0179] (1) In the above first embodiment, in Figure 4 step S700, as the influence degree, the predicted value of the overshoot is calculated (refer to the above formula (4)). Among them, the influence degree can also be calculated by other methods. For example, based on the weighted sum of the average value of the overshoot and the standard deviation of the average speed, the influence degree can be calculated according to the following formula (20).
[0180]
[0181] In Figure 4 step S800, for the evaluation actions with the checkboxes of "valid" checked and the evaluation actions with the checkboxes of "non-deletable" checked, they are sorted in descending order of the values obtained by the above formula (20) (refer toFigure 11 of M1 to M3).
[0182] In such a manner, an evaluation action with a high influence degree is an evaluation action that is considered to be prone to overshoot exceeding the constraint threshold (refer to Equation (4)), and is an evaluation action with a high uncertainty in the predicted value of the action speed. As such a manner, it is also possible to, based on the overshoot value of the evaluation action with a high influence degree, at Figure 5 the early stage of the repetitive processing of steps S410 to S440, perform the abort determination processing of step S440 for continuing or aborting the detection processing. Therefore, it is highly likely that the processing load in the adjustment of the force control parameter 226 of the robot system can be further reduced.
[0183] In addition, it is also possible to perform Figure 5 the abort determination processing of step S440 based on the comparison between the value obtained by the above Equation (20) and the threshold value.
[0184] (2) In the above first embodiment, in Figure 4 step S700, a single predicted value is calculated for one evaluation action (refer to the above Equation (4)). Among them, in the case where one evaluation action is composed of multiple actions, it is also possible to calculate predicted values for each of the multiple actions constituting one evaluation action, and based on these predicted values of the multiple actions, perform the processing of step S800.
[0185] (3) In the above first embodiment, based on the maximum value of the overshoot as the constraint function, the abort of the processing in step S400 is determined (refer to Figure 5 step S440). In the second embodiment, based on the average value of the action speed as the objective function, the abort of the processing in step S400 is determined (refer to Equation (6)). Among them, it is possible to determine the abort of the detection processing based on various indicators.
[0186] Figure 14 is a table showing examples of indicators when determining the influence degree, that is, the execution order of evaluation actions, in the processing of step S800 (refer to Figure 4 I825). It is possible to set the indicator when determining the execution order of evaluation actions to the maximum value or the minimum value of the value derived from the detection value in step S400 (refer to Figure 7 columns A and B). It is possible to set the indicator when determining the execution order of evaluation actions to the average value of the value derived from the detection value in step S400 (refer to Figure 14 columns C and D in the lower part). It is also possible to make the indicator when determining the execution order of evaluation actions consistent with the objective function (refer to Figure 14 columns A and C). It is also possible to make the indicator when determining the execution order of evaluation actions consistent with the constraint function (refer to Figure 14 columns A and C). Also, it is possible to make the indicator when determining the execution order of evaluation actions consistent with the constraint function (refer toFigure 14 columns B and D). The above-described first embodiment corresponds to the method of column B. The above-described second embodiment corresponds to the method of column C.
[0187] Figure 15 is a table showing the quantities that are emphasized when determining the execution order of evaluation actions in the process of step S800 shown in Figure 14 among the four methods shown in Figure 4 In the method of estimating the maximum or minimum value of the value derived from the detection value from the detection values obtained so far, the average value and the standard deviation are used to calculate these values (refer to the above formulas (3) to (5) and formula (19)). Therefore, when adopting the maximum or minimum value of the value derived from the detection value as an index, both the average value μ and the standard deviation σ of the detection values obtained so far are emphasized when determining the execution order of the evaluation actions (refer to Figure 14 the upper part of Figure 15 the upper part of).
[0188] The possibility that the average value of the value derived from the detection value changes according to the measurement results after that is expressed as the standard deviation of the value derived from the detection values obtained so far. Therefore, when adopting the average value of the value derived from the detection value as an index, the standard deviation σ of the value derived from the detection values obtained so far is emphasized when determining the execution order of the evaluation actions.
[0189] Figure 16 is a table showing the reference values compared with the index among the four methods shown in Figure 14 When the index in determining the execution order of the evaluation action is the maximum value, minimum value, or average value of the objective function (refer to Figure 14 the left part of), it is preferable that the reference compared with the index is the past best value. When the index in determining the execution order of the evaluation action is the maximum value, minimum value, or average value of the constraint function (refer to Figure 14 the right part of), it is preferable that the reference compared with the index is the constraint threshold.
[0190] (4) In the above embodiment, the robot 100 is a vertically articulated six-axis robot having six joints J1 to J6 (refer to Figure 1 ). However, the object to which the technology of the present disclosure is applicable may also be a robot having other joint mechanisms such as a horizontally articulated type or an orthogonal coordinate type.
[0191] (5) In the above embodiment, the force detector 130 is provided on the arm flange 120 at the front end of the arm 110 (refer to Figure 1 ). However, the force detector may also be provided at other parts such as a joint other than the joint at the most front end side in the robot arm or the base of the robot arm.
[0192] (6) In the above-described embodiment, the force detector 130 can detect the magnitudes of the forces parallel to the three detection axes of the x-axis, y-axis, and z-axis that are orthogonal to each other in the sensor coordinate system, which is an inherent coordinate system, and the magnitudes of the torques about the three detection axes (see Figure 1 ). However, the force detector may also detect only the force that controls the direction of the force and the torque about the axis in that direction. In addition, the force detector can also be configured in such a way that it does not directly detect the force and torque, but instead detects, for example, the torque of the joint of the robot based on the measured value of the current of the servo motor. That is, the force detector only needs to be able to detect the force and torque in the direction of controlling the control point.
[0193] (7) In the above-described embodiment, the force control parameters are adjusted by the setting device 600 that is connected to the robot control device 200 by wire or wirelessly (see Figure 2 ). However, the force control parameters can also be adjusted in the robot control device 200 that causes the robot 100 to operate through feedback control.
[0194] (8) In the above-described third embodiment, the processes of steps S300 to S800 are executed at most three times Figure 4 . However, the number of executions and measurements of each evaluation action using the candidate of the action parameters can also be other numbers such as one, two, eight, ten, etc.
[0195] (9) In the above-described embodiment, in step S300, an optimization process using CMA-ES is performed (see Figure 4 and Figure 7 ). However, the optimization process can also be performed by other means such as Bayesian optimization, grid search, random search, the Nelder-Mead method, etc.
[0196] (10) In the above-described embodiment, overshoot and average motion speed are used as the Figure 5 indicators used for the determination in step S440. However, the indicators used for the determination of the end condition of the process can also be other indicators such as values obtained based on the motion time and force measurement values.
[0197] (11) In step S500 of the above-described first embodiment, the number of unexecuted evaluation actions among the N evaluation actions in the detection process of step S400 is multiplied by a predetermined coefficient to calculate the compensation. However, the compensation can also be calculated by other methods. For example, the difference between the overshoot that exceeds the constraint threshold in the detection process of step S400 and the constraint threshold can be multiplied by a predetermined coefficient to calculate the compensation.
[0198] (12) In step S600 of the above first embodiment, the objective function is the average movement speed, and the evaluation value is calculated in the following manner.
[0199] [Evaluation value] = [Average movement speed] - [Compensation]
[0200] However, for example, in the case of a function where the smaller one in terms of action time, etc., of the objective function is preferred, it is preferable to add compensation.
[0201] (13) In the process of step S800 of the above first embodiment, an emphasized display I829 (refer to Figure 6 ) surrounded by a dashed line is shown for the evaluation action M4 whose influence degree ratio is lower than the pre-established influence degree threshold. Moreover, for the evaluation action M4, the operator removes the check box of "valid", and excludes it from the evaluation actions targeted in step S400. After that, the processor 610 of the setting device 600 sorts the evaluation actions with the check box of "valid" checked and the evaluation actions with the check box of "non-deletable" checked in descending order of influence degree (refer to Figure 7 ).
[0202] However, the process of excluding the evaluation actions whose influence degree ratio is lower than the pre-established influence degree threshold from the targets can also be automatically performed by the processor of the setting device. In addition, the sorting of the execution order of the evaluation actions can also be automatically performed by the processor of the setting device without the operator's operation.
[0203] D2. Other Embodiment 2:
[0204] In the above embodiment, in Figure 4 step S500, compensation is calculated for a set of candidate values of the force control parameters to be evaluated. Moreover, in step S600, the evaluation value is calculated for a set of candidate values of the force control parameters to be evaluated using the objective function and the compensation. However, it can also be set in the following manner: instead of calculating compensation for the candidate values of the force control parameters for which there are unexecuted evaluation actions, they are excluded from the candidates in the determination of the force control parameters in step S1000.
[0205] D3. Other Embodiment 3:
[0206] In the above first embodiment, in Figure 4 step S700, the predicted value of overshoot is calculated as the influence degree. Moreover, in the process of step S800, the execution sequence numbers of the multiple evaluation actions to be executed in step S400 are determined (refer to Figure 6 and Figure 7)。However, it can also be set in the following manner: without calculating the influence degree and determining the sequence number for executing the evaluation actions based on the influence degree, multiple evaluation actions are not executed based on the influence degree during the detection process.
[0207] D4. Other Embodiment 4:
[0208] In the above-mentioned first embodiment, during the detection process of step S400 to be executed next, Figure 4 the processor 610 of the setting device 600 causes the robot 100 to execute multiple evaluation actions in descending order of the influence degree. Among them, multiple evaluation actions can also be executed in the sequence number formulated based on other elements or the pre-formulated sequence number during the detection process.
[0209] D5. Other Embodiment 5:
[0210] In the above-mentioned first embodiment, Figure 4 As a result of the process of step S800, during the detection process of step S400, for the evaluation actions with an influence degree smaller than the pre-formulated benchmark, they are not executed by the robot 100 (refer to Figure 7 ). Among them, during the detection process of step S400, for the evaluation actions with an influence degree smaller than the pre-formulated benchmark, for example, they can be executed by the robot 100 through the designation of the operator.
[0211] D6. Other Embodiment 6:
[0212] In the above-mentioned first embodiment, a force control parameter is used as an example of the motion parameter. However, it is not limited thereto, and a position control parameter can also be used as the motion parameter.
[0213] In addition, as the detection unit for detecting the vibration of the robot 100, instead of using the force detection unit 130, an acceleration sensor or a current sensor for detecting the current of the motor can also be used. In the method of using the acceleration sensor, the vibration of the robot 100 is calculated from the detected acceleration. In the method of using the current sensor, the motor torque is calculated from the detected motor current, and the vibration of the robot 100 is calculated from the calculated motor torque.
[0214] E. Other Methods:
[0215] The present disclosure is not limited to the above-described embodiments, examples, and modification examples, and can be implemented by various configurations without departing from its gist. For example, in order to solve part or all of the above problems, or to achieve part or all of the above effects, the technical features in the embodiments, examples, and modification examples corresponding to the technical features in each mode described in the summary of the invention can be appropriately replaced and combined. In addition, if the technical feature is not described as essential in this specification, it can be appropriately deleted.
[0216] (1) According to one aspect of the present disclosure, there is provided a method for adjusting operation parameters of a robot system including a robot and a detection unit that detects vibration of the robot. The method for adjusting operation parameters includes: a detection step of causing the robot to execute a plurality of adjustment operations using candidate values of the operation parameters and obtaining detection values of the detection unit; an operation parameter update step of performing an optimization process of the operation parameters by using the obtained detection values to obtain new candidate values of the operation parameters; a repetition step of repeating the operation parameter update step and the detection step using the new candidate values obtained in the operation parameter update step; and an operation parameter determination step of determining the operation parameters to be used in the robot system based on one or more candidate values of the operation parameters obtained through the repetition step. The detection step includes: an interruption determination step of, for some of the plurality of adjustment operations, based on a comparison result between the detection value of the some adjustment operations obtained and a reference value in a state where the detection value is obtained, continuing or interrupting the detection step.
[0217] In such a manner, in the adjustment of the operation parameters of the robot system, for candidate values of the operation parameters that are found to have detection values obtained in the detection step exceeding a certain degree with respect to the reference value and are not preferable, some of the plurality of adjustment operations are not executed. As a result, compared with a method of executing all adjustment operations for each candidate value of the operation parameters, the time required for adjusting the operation parameters of the robot system can be shortened.
[0218] (2) In the adjustment method of the above aspect, it can also be configured as follows: the operation parameter determination step is a step of determining the operation parameters to be used in the robot system based on respective evaluation values for one or more candidate values of the operation parameters, and the method for adjusting operation parameters includes: a compensation step of applying compensation to the evaluation values of the candidate values of the operation parameters for which the detection step has been interrupted in the interruption determination step.
[0219] In such a mode, the candidate values of the motion parameters for which it is determined that the detection value acquired in the detection process is not preferable due to exceeding a certain level and the detection process is interrupted can be easily determined as motion parameters used in the robot system in the motion parameter determination process.
[0220] (3) In the adjustment method of the above-mentioned manner, it can also be set as follows: the action parameter determination process is a process for determining the action parameter used in the robot system based on the respective evaluation values of one or more candidate values of the action parameter, and the repetitive process is based on the detection value obtained before, for one or more of the multiple adjustment actions, the process of repeatedly executing the influence determination process for determining the influence on the evaluation value together with the action parameter updating process and the detection process, and the detection process is executed based on the influence.
[0221] In such a method, the detection process is executed based on the influence of the adjustment operation. Therefore, the detection process and the suspension of the detection process can be determined by considering the influence on the determination of the operation parameters.
[0222] (4) In the adjustment method of the above aspect, the detection step may be a step of causing the robot to execute a plurality of adjustment operations in descending order of the degree of influence.
[0223] In this manner, the more influential the adjustment action is, the earlier it is executed. Therefore, based on the detection value of the adjustment action with a high degree of influence, the termination determination process of continuing the detection process or transferring to the action parameter update process can be executed at an early stage. Therefore, it is highly possible to further reduce the processing load in adjusting the action parameters of the robot system.
[0224] (5) In the adjustment method of the above aspect, the detection step may be a step of not causing the robot to perform an adjustment operation for the influence level being smaller than a predetermined reference.
[0225] In such a mode, the adjustment operation with low influence is not executed. Therefore, the influence on the determination of the motion parameters in the motion parameter determination process is suppressed, and the time required for adjusting the motion parameters of the robot system can be shortened.
[0226] (6)According to another aspect of the present disclosure, there is provided an operation parameter adjustment device that adjusts operation parameters of a robot system including a robot and a detection unit that detects vibrations of the robot. The operation parameter adjustment device includes: a detection processing unit that performs detection processing, which is to use candidate values of the operation parameters, cause the robot to execute a plurality of adjustment operations, and obtain detection values of the detection unit; an operation parameter update unit that performs operation parameter update processing, which is to perform optimization processing of the operation parameters by using the obtained detection values to obtain new candidate values of the operation parameters; a repetition processing unit that performs repetition processing, which is to repeatedly perform the operation parameter update processing and the detection processing using the new candidate values obtained in the operation parameter update processing; and an operation parameter determination unit that performs operation parameter determination processing, which is to determine the operation parameters to be used in the robot system based on one or more candidate values of the operation parameters obtained through the repetition processing. The detection processing unit executes an abort determination processing, which is to, for some of the plurality of adjustment operations, based on a comparison result between the detection values of the some of the adjustment operations obtained and a reference value in a state where the detection values are obtained, continue or abort the detection processing.
[0227] (7)In the adjustment device of the above aspect, it can also be set to the following aspect: the operation parameter determination processing is a process of determining the operation parameters to be used in the robot system based on respective evaluation values for one or more candidate values of the operation parameters, and the operation parameter adjustment device includes: a compensation unit that performs compensation processing, which is to apply compensation to the evaluation values of the candidate values of the operation parameters for which the detection processing has been aborted in the abort determination processing.
[0228] (8)In the adjustment device of the above aspect, it can also be set to the following aspect: the operation parameter determination processing is a process of determining the operation parameters to be used in the robot system based on respective evaluation values for one or more candidate values of the operation parameters, and the repetition processing is a process of repeatedly executing, together with the operation parameter update processing and the detection processing, an influence degree determination processing for determining an influence degree on the evaluation values for one or more of the plurality of adjustment operations based on the detection values obtained so far, and performing the detection processing based on the influence degree.
[0229] (9)In the adjustment device of the above aspect, it can also be set to the following aspect: the detection processing is a process of causing the robot to execute a plurality of adjustment operations in descending order of the influence degree.
[0230] (10) In the adjustment device of the above-described manner, it is also possible to adopt the following manner: the detection process is a process in which the robot does not execute an adjustment action for an influence degree smaller than a preset reference.
[0231] The present disclosure can also be implemented by various means other than the force control parameter adjustment method and the force control parameter adjustment device. For example, it can be implemented by means such as a robot setting method, a robot control method, a computer program for implementing these methods, and a non-temporary recording medium recording the computer program.
Claims
1. A method for adjusting motion parameters, characterized in that, the method for adjusting motion parameters adjusts the motion parameters of a robot system, and the robot system includes: a robot; and a detection unit that detects vibrations of the robot, the method for adjusting motion parameters includes: a detection process, using candidate values of the motion parameters, causing the robot to perform a plurality of adjustment motions, and obtaining detection values of the detection unit; a motion parameter update process, performing an optimization process of the motion parameters by using the obtained detection values to obtain new candidate values of the motion parameters; a repetition process, repeatedly performing the motion parameter update process and the detection process, and the detection process uses the new candidate values obtained in the motion parameter update process; and a motion parameter determination process, determining the motion parameters used in the robot system based on one or more candidate values of the motion parameters obtained through the repetition process, the detection process includes: an interruption determination process, for a part of the adjustment motions among the plurality of adjustment motions, based on a comparison result between the detection values of the part of the adjustment motions obtained and a reference value, continuing or interrupting the detection process.
2. The method for adjusting motion parameters according to claim 1, characterized in that, the motion parameter determination process is a process of determining the motion parameters used in the robot system based on respective evaluation values of one or more candidate values of the motion parameters, the method for adjusting motion parameters includes: a compensation process, applying compensation to the evaluation values of the candidate values of the motion parameters for which the detection process has been interrupted in the interruption determination process.
3. The method for adjusting motion parameters according to claim 1 or 2, characterized in that, the motion parameter determination process is a process of determining the motion parameters used in the robot system based on respective evaluation values of one or more candidate values of the motion parameters, the repetition process is a process of repeatedly executing an influence degree determination process together with the motion parameter update process and the detection process for one or more of the plurality of adjustment motions based on the detection values obtained so far, and the influence degree determination process determines the influence degree on the evaluation values, and performing the detection process based on the influence degree.
4. The method for adjusting motion parameters according to claim 3, characterized in that, the detection process is a process of causing the robot to perform the plurality of adjustment motions in descending order of the influence degree.
5. The method for adjusting motion parameters according to claim 4, characterized in that, the detection process is a process of not causing the robot to perform adjustment motions for which the influence degree is smaller than a preset reference.
6. A device for adjusting motion parameters, characterized in that, the device for adjusting motion parameters adjusts the motion parameters of a robot system, and the robot system includes: a robot; and a detection unit that detects vibrations of the robot, the device for adjusting motion parameters includes: A detection processing unit that performs detection processing, where the detection processing uses candidate values of the action parameters to cause the robot to perform a plurality of adjustment actions and obtains detection values of the detection unit; An action parameter update unit that performs action parameter update processing, where the action parameter update processing performs optimization processing of the action parameters by using the obtained detection values to obtain new candidate values of the action parameters; A repetition processing unit that performs repetition processing, where the repetition processing repeatedly performs the action parameter update processing and the detection processing, and the detection processing uses the new candidate values obtained in the action parameter update processing; And An action parameter determination unit that performs action parameter determination processing, where the action parameter determination processing determines the action parameters used in the robot system based on one or more candidate values of the action parameters obtained through the repetition processing, The detection processing unit performs an abort determination processing, where the abort determination processing, for some of the plurality of adjustment actions, based on the comparison result between the detection values of the some adjustment actions obtained and a reference value in a state where the detection values are obtained, continues or aborts the detection processing.
7. The action parameter adjustment device according to claim 6, wherein, the action parameter determination processing is a processing for determining the action parameters used in the robot system based on respective evaluation values for one or more candidate values of the action parameters, the action parameter adjustment device includes: a compensation unit that performs compensation processing, where the compensation processing applies compensation to the evaluation values of the candidate values of the action parameters for which the detection processing has been aborted in the abort determination processing.
8. The action parameter adjustment device according to claim 6 or 7, wherein, the action parameter determination processing is a processing for determining the action parameters used in the robot system based on respective evaluation values for one or more candidate values of the action parameters, the repetition processing is a processing for repeatedly executing, together with the action parameter update processing and the detection processing, an influence degree determination processing for one or more of the plurality of adjustment actions based on the detection values obtained heretofore, and the influence degree determination processing determines the influence degree on the evaluation values, and the detection processing is executed based on the influence degree.
9. The action parameter adjustment device according to claim 8, wherein, the detection processing is a processing for causing the robot to perform the plurality of adjustment actions in descending order of the influence degree.
10. The action parameter adjustment device according to claim 9, wherein, the detection processing is a processing for not causing the robot to perform adjustment actions for which the influence degree is smaller than a preset reference.
Citation Information
Patent Citations
Learning device, learning control method, and its program
JP2018200539A
Control-parameter adjusting device
CN106489105A