Methods for adjusting force control parameters and devices for adjusting force control parameters
By using a second servo gain and optimization algorithm to adjust the force control parameters in the robot system, the problem of operator experience dependence was solved, stable force control and motion speed were achieved, and the risk of oscillation was reduced.
Patent Information
- Application Number
- CN202210717125.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-24
- Filing Date
- 2022-06-23
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2042-06-23
AI Technical Summary
In the existing technology, the setting of robot force control parameters depends on the experience of skilled operators, which is difficult for less experienced operators to do, and is prone to causing a trade-off between oscillation and motion speed.
The second type of servo gain is used for contouring motion. The force control parameters are adjusted by an optimization algorithm that measures the external force and motion time to ensure stable force control in the robot system.
Even inexperienced operators can set force control parameters that are less prone to oscillation, improving the stability and efficiency of robot movements.
Smart Images

Figure CN115519537B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a method for adjusting force control parameters and a device for adjusting force control parameters. Background Technology
[0002] Previously, there were technologies that automatically set parameters for the robot's actions. In the technology of Patent Document 1, the action adjustment device adjusts the action command values generated by the robot control device based on the detection results of external sensors and externally given constraints. The action command values are the position command values, velocity command values, or acceleration command values of the end effector at various times. The external sensors are force sensors, vision sensors, tactile sensors, or touch sensors. Patent Document 1 also describes the ability to adjust control parameters instead of adjusting the action command values. The control parameters include force control gain and impedance parameters related to force control, gain and visual impedance parameters related to visual servo control, and setting parameters for filters used for feedback control.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: International Publication WO2019 / 098044A1
[0006] In force control, the robot's movement speed and the ease of oscillation are inversely related. That is, if control parameters are set to increase the robot's movement speed, oscillation is more likely to occur. Conversely, if control parameters are set to reduce the likelihood of oscillation, the robot's movement speed will decrease. Therefore, setting force control parameters is performed by skilled operators who must understand the relationship between the robot's movement speed, the ease of oscillation, and the numerical values of the force control parameters. A technique is needed that allows even less experienced operators to set force control parameters. Summary of the Invention
[0007] According to one aspect of this disclosure, a method for adjusting force control parameters used in the force control of a robot system is provided. The robot system includes a robot, a force detector capable of measuring an external force applied to the robot, and a control unit that causes the robot to move via feedback control. The adjustment method includes: a measurement step, using a second servo gain and candidate values of the force control parameters to cause the robot to move, obtaining a force measurement value as the measured value of the external force, wherein the second servo gain is one or more second servo gains corresponding to one or more first servo gains used in the control unit when the robot system is actually performing operations, and has a value higher than the corresponding first servo gains; a parameter update step, optimizing the force control parameters using the force measurement value to obtain new candidate values for the force control parameters; and a parameter determination step, determining the force control parameters used in the force control of the robot system by repeatedly performing the measurement step and the parameter update step. Attached Figure Description
[0008] Figure 1 This is a perspective view of robot system 1 in the implementation method.
[0009] Figure 2 This is a block diagram representing the functions of the robot control device 200.
[0010] Figure 3 This is a diagram showing the force control parameters 226 used in control program 224.
[0011] Figure 4 This is a block diagram showing the relationship between the constituent elements of the control execution unit 250 of the robot control device 200 and the structure of the robot 100.
[0012] Figure 5 It is a flowchart showing the steps involved in creating the control program.
[0013] Figure 6 This is a flowchart illustrating the method for adjusting force control parameters.
[0014] Figure 7 It means in Figure 6 The diagram shows the input and output of the optimization algorithm used in the parameter update process of steps S143 and S144.
[0015] Figure 8 This is an explanatory diagram showing the state at the start of the contouring action in step S150.
[0016] Figure 9 This is an explanatory diagram showing the state during the contouring action in step S150.
[0017] Figure 10 This is an explanatory diagram showing the state just before the contouring action in step S150 is about to end.
[0018] Figure 11 It is a curve representing the positional deviation of the control point CP in the y-axis direction during the contouring motion.
[0019] Figure 12 It is a graph representing the detection force Fd experienced by the end effector 140 during the contouring motion.
[0020] Figure 13 It means Figure 6 The table shows the shift in operation time and force measurement values during the processing.
[0021] Symbol Explanation
[0022] 1…robot system, 50…worktable, 100…robot, 110…arm, 120…arm flange, 130…force detector, 140…end effector, 150…servo motor, 160…position sensor, 200…robot control unit, 210…processor, 220…memory, 222…program commands, 224…control program, 225…setting program, 226…force control parameters, 227…servo gain, 250…control actuator, 251…control signal generator, 252…position control unit, 253…speed Control unit, 255… Torque control unit, 256… Servo amplifier, 259… Force control unit, 270… Parameter adjustment unit, 272… Measurement unit, 274… Parameter update unit, 276… Parameter determination unit, CP… Control point, DS… Drive signal, Fd… Detected force, Ff2… Reaction force in the z-axis direction, Ff4… Reaction force in the z-axis direction, Fg… Gravity, Flg… Mark, Fn2… Vertical resistance, Ft… Target force, Fxt… Force component, Fyt… Force component, Fzt… Force component, G… Center of gravity, H2… Fitting hole, J1 ~J6…Joint, Ka…Servo gain, Kp…Servo gain, Kps…Servo gain, Kv…Servo gain, Kvs…Servo gain, OT…Action time of the contouring motion, Rxp…End effector angle, Ryp…End effector angle, Rzp…End effector angle, Rxs…End effector angle at the start of the contouring motion, Rys…End effector angle at the start of the contouring motion, Rzs…End effector angle at the start of the contouring motion, SN…Grasping mechanism, SC…Threshold plane, St…Target position Td…detected torque, Txt…torque component, Tyt…torque component, Tzt…torque component, WK1…workpiece, WK2…workpiece, d…imaginary viscosity coefficient, fSt…target force, k…imaginary elastic coefficient, m…imaginary mass coefficient, xp…end-effector position, yp…end-effector position, zp…end-effector position, xs…end-effector position at the start of the contouring motion, ys…end-effector position at the start of the contouring motion, zs…end-effector position at the start of the contouring motion, ΔS…correction amount. Detailed Implementation
[0023] A. First implementation method:
[0024] A1. Structure of the robot system:
[0025] Figure 1 This is a perspective view of robot system 1 in the embodiment. Robot system 1 includes a robot 100, a force detector 130, an end effector 140, and a robot control device 200. The robot 100 and the robot control device 200 are communicatively connected via cable or wireless communication.
[0026] Robot 100 is a single-arm robot used by mounting various end effectors on the arm flange 120 located at the front end of arm 110.
[0027] Arm 110 has six joints J1 to J6. Joints J2, J3, and J5 are bending joints, while joints J1, J4, and J6 are torsional joints. Each joint is equipped with a servo motor 150 and a position sensor 160. The servo motor 150 generates a rotational output to drive each joint. The position sensor 160 detects the angular position of the output shaft of the servo motor 150. It should be noted that, for ease of understanding, [the following text is incomplete and requires further context]. Figure 1 The servo motor 150 and position sensor 160 are not shown.
[0028] Various end effectors for holding or processing objects are mounted on the arm flange 120 at the front end of joint J6. In this specification, the object handled by robot 100 is also referred to as a "workpiece".
[0029] The position near the tip of arm 110 can be set as the tool center point. Hereinafter, the tool center point will be referred to as "TCP". TCP is the position used as a reference for the position of end effector 140. For example, a specified position on the rotation axis of joint J6 can be set as TCP.
[0030] The robot 100 can configure the end effector into any posture at any position within the movable range of the arm 110. A force detector 130 and an end effector 140 are provided on the arm flange 120. In this embodiment, the end effector 140 is a gripper.
[0031] Force detector 130 is disposed on robot 100 and is capable of measuring the external force applied to robot 100. Specifically, force detector 130 is a 6-axis sensor. Force detector 130 is capable of detecting the magnitude of the force and the magnitude of the torque about these three axes in a sensor coordinate system that is orthogonal to each other and parallel to the x-axis, y-axis and z-axis.
[0032] The coordinate system defining the space in which 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 the horizontal plane and the z-axis with the vertical upward direction as positive. Figure 1The coordinate system shown is the robot coordinate system. Rx represents the rotation angle about the x-axis, Ry represents the rotation angle about the y-axis, and Rz represents the rotation angle about the z-axis. Positions along the x, y, and z axes can represent any position in three-dimensional space, and rotation angles along the x, y, and z axes can represent any orientation in three-dimensional space. When referred to as "position" in this specification, it can also mean both position and orientation. Conversely, when referred to as "force" in this specification, it can also mean force and torque.
[0033] Workpiece WK2, one of the objects of operation by robot 100, is positioned on worktable 50. A fitting hole H2 is formed on the upper surface of workpiece WK2. The fitting hole H2 has a circular cross-section and extends from the opening on the upper surface of workpiece WK2 in the negative z-axis direction, and is a bottomed hole.
[0034] An end effector 140 is disposed on the robot 100 and is capable of holding workpiece WK1. Workpiece WK1 is a cylindrical component. The outer diameter of workpiece WK1 is slightly smaller than the inner diameter of the mating hole H2. The end effector 140 is capable of performing an operation to engage workpiece WK1 held by the end effector 140 with the mating hole H2 of workpiece WK2.
[0035] The robot control unit 200 controls the arm 110 and the end effector 140. The robot control unit 200 enables the robot 100 to perform contouring movements. Contouring movements are generally movements that follow external forces. More specifically, in this embodiment, the contouring movement involves a portion of the workpiece WK1 held by the end effector 140 contacting the workpiece WK2 and inserting it into the fitting hole H2 of the workpiece WK2. It should be noted that during the contouring movement, there may also be a time interval during which the workpiece WK1 leaves the workpiece WK2. During this contouring movement, the robot control unit 200 performs force control on the robot 100 based on the measured value of the external force determined by the force detector 130.
[0036] Furthermore, the robot control device 200 receives instructions from the teaching personnel and generates a control program. Additionally, the robot control device 200 adjusts the force control parameters used in force control. The control program generated by the robot control device 200 and the force control parameters 226 are stored in the memory of the robot control device 200.
[0037] Figure 2 This is a block diagram illustrating the functions of the robot control device 200. The robot control device 200 includes a processor 210 and a memory 220. The memory 220 includes volatile memory and non-volatile memory. The processor 210 performs various functions by executing programs pre-stored in the memory 220.
[0038] The processor 210 has a control execution unit 250 as its functional unit. The control execution unit 250 executes the program commands 222 stored in the memory 220 according to the control program 224 stored in the memory 220, thereby causing the robot 100 to perform actions. The control execution unit 250 causes the robot 100 to perform actions through feedback control based on the output of the position sensor 160, the force detector 130, etc.
[0039] The processor 210 has a parameter adjustment unit 270 as a functional unit. The processor 210 performs the function of the parameter adjustment unit 270 by executing a setting program 225 pre-stored in the memory 220. The parameter adjustment unit 270 determines the parameters of the control program 224. For example, the parameter adjustment unit 270 adjusts the force control parameters used in the force control of the robot system 1.
[0040] Figure 3 This is a diagram showing the force control parameters 226 used in control program 224. Force control parameters 226 are parameters related to the force control of robot 100. Force control parameters 226 are used during force control performed according to control program 224.
[0041] Force control parameter 226 includes parameters representing the "start point" and "end point" of each action (see reference). Figure 3 (The upper paragraph). In this embodiment, the "start point" and "end point" of the control point CP of the robot 100 are defined by the robot coordinate system. The translational and rotational positions of each axis of the robot coordinate system are defined. It should be noted that the start point and end point can be defined by various coordinate systems.
[0042] It should be noted that in force control, sometimes at least part of the start and end points are not defined in a single action. For example, in a collision avoidance or contour control where the force acting in a certain direction is zero, sometimes the start and end points in that direction are not defined, but rather a state in which the position can change arbitrarily is defined, such that the force in that direction is zero.
[0043] The force control parameter 226 includes the "acceleration / deceleration characteristics" of TCP in multiple actions (see reference). Figure 3 (The middle section). Based on the acceleration and deceleration characteristics, the TCP speed of robot 100 at each moment when it moves from the starting point to the ending point of each action is defined. In this embodiment, the speed described by the acceleration and deceleration characteristics is the speed of the TCP of robot 100 with respect to the controlled object. In this embodiment, the TCP speed is defined by the robot coordinate system. That is, translational speed, rotational speed, and angular velocity are defined with respect to each axis of the robot coordinate system. It should be noted that the acceleration and deceleration characteristics can also be defined by various coordinate systems.
[0044] Force control parameter 226 uses the point where the target force of the force control acts as the origin, and includes information about the coordinate system used to determine the direction of the single axis toward the target force, i.e., the force control coordinate system (see reference). Figure 3 (The middle section). This parameter can be defined in various ways. For example, the parameter used to determine the force control coordinate system can be defined using data representing the relationship between the force control coordinate system and other coordinate systems (robot coordinate system, etc.).
[0045] The force control parameter 226 includes "target force" (see reference). Figure 3 (The following paragraph). The target force is the force taught to act on any point in various operations, defined by the force-controlled coordinate system. The target force vector, representing the target force, is defined as the starting point of the target force vector and its 6-axis components starting from the starting point, namely the translational force on the 3-axis and the torque on the 3-axis, represented by the force-controlled coordinate system. It should be noted that by utilizing the relationship between the force-controlled coordinate system and other coordinate systems, the target force can be converted into a vector in any coordinate system, such as the robot coordinate system.
[0046] The force control parameter 226 includes an "impedance parameter" (see reference). Figure 3 (The following section). Impedance control is achieved by controlling the hypothetical mechanical impedance through the driving force of the motors that drive each joint. In impedance control, the hypothetical mass of the TCP is defined as the hypothetical mass coefficient m. The hypothetical viscous resistance experienced by the TCP is defined as the hypothetical viscosity coefficient d. The spring constant of the hypothetical elastic force experienced by the TCP is defined as the hypothetical elastic coefficient k. The impedance parameters are these coefficients m, d, and k. Regarding the impedance parameters, the translation and rotation relative to each axis of the robot coordinate system are defined.
[0047] In this embodiment, during the actions performed by each robot, target force and impedance parameters can be set for each of multiple intervals determined based on the position of the control point. As a result, these parameters can vary over time.
[0048] Figure 4 This is a block diagram illustrating the relationship between the constituent elements of the control execution unit 250 of the robot control device 200 and the servo motor 150, position sensor 160, and force detector 130 of the robot 100. The control execution unit 250 provides feedback control over the position, speed, and current of the control point CP of the robot 100.
[0049] The control execution unit 250 includes a control signal generation unit 251, a position control unit 252, a speed control unit 253, a torque control unit 255, a servo amplifier 256, and a force control unit 259 as its constituent elements. The control signal generation unit 251, the position control unit 252, the speed control unit 253, the torque control unit 255, and the force control unit 259 are implemented by the processor 210 of the robot control device 200.
[0050] The control signal generation unit 251 generates a position control signal indicating the target position St that the end effector 140 should be located at, and outputs it to the position control unit 252. When the control signal generation unit 251 receives an instruction from the user to perform force control, it generates a force control signal indicating the target force fSt, i.e., the force that the end effector 140 should generate and the direction of the force, and an indication of the torque and the direction of the torque, and outputs it to the force control unit 259.
[0051] The force control unit 259 receives from the control signal generation unit 251 a force control signal indicating the target force fSt (i.e., the force that the end effector 140 should generate) and its direction, as well as a torque and its direction. The force control unit 259 receives from the force detector 130 the forces acting on the end effector 140 in the three axial directions (x-axis, y-axis, z-axis) and the torques about the x-axis, y-axis, and z-axis. Figure 4 In this process, the forces acting on the end effector 140 in the three axes (x, y, and z) and the torques around the x, y, and z axes are collectively recorded as fS. The force control unit 259 receives the rotational positions of each servo motor 150 from the position sensor 160 of the robot 100. Then, the force control unit 259 determines the position correction amount ΔS based on these parameters and outputs a signal representing the correction amount ΔS to the position control unit 252.
[0052] The position control unit 252 receives a position control signal representing the target position St from the control signal generation unit 251. The position control unit 252 also receives a signal representing the position correction amount ΔS from the force control unit 259. The position control unit 252 receives the rotational positions of each servo motor 150 from the position sensor 160 of the robot 100 as position feedback. Based on this information, the position control unit 252 calculates the appropriate joint angles or joint displacements that constitute the inverse kinematics, generates speed control signals for each servo motor 150 of the robot 100, and outputs them to the speed control unit 253.
[0053] The speed control signal includes an element obtained by multiplying the deviation between the rotational position of the servo motor 150 obtained from the position sensor 160 and the target rotational position by a coefficient Kp. The coefficient Kp is the servo gain for position feedback. The servo gain Kp is pre-stored in the memory 220 of the robot control device 200. Figure 2In this context, the servo gain is uniformly represented as servo gain 227 (refer to...). Figure 2 (The next paragraph).
[0054] In feedback control with accompanying force control, the servo gain for position feedback is set to be smaller than the servo gain in feedback control without accompanying force control. The same applies to the servo gain for velocity feedback and the servo gain for current feedback. In this embodiment, the following explanation is based on feedback control with accompanying force control.
[0055] If the position control unit 252 does not receive an instruction from the control signal generation unit 251 to perform force control, it does not consider the information received from the force control unit 259 when generating the speed control signal.
[0056] The speed control unit 253 receives a speed control signal from the position control unit 252. Additionally, based on information from the position sensor 160 of the robot 100, the speed control unit 253 acquires the rotational speed of each servo motor 150 as speed feedback. Based on this speed control signal and the rotational speed of each servo motor 150, the speed control unit 253 generates a torque control signal and outputs it to the torque control unit 255.
[0057] The torque control signal includes an element obtained by multiplying the deviation between the rotational speed of the servo motor 150 and the target rotational speed by a coefficient Kv. The coefficient Kv is the servo gain for speed feedback. The servo gain Kv is pre-stored in the memory 220 of the robot control device 200 (see reference). Figure 2 (The next paragraph).
[0058] The torque control unit 255 receives a torque control signal from the speed control unit 253. Additionally, the torque control unit 255 receives a feedback signal from the servo amplifier 256 indicating the amount of current supplied to each servo motor 150. Based on the torque control signal and the current feedback signals of each servo motor 150, the torque control unit 255 determines the amount of current supplied to each servo motor 150 and drives each servo motor 150 via the servo amplifier 256. Specifically, the torque control unit 255 generates a drive signal DS for driving the robot 100 based on the torque control signal and the current feedback signals of each servo motor 150.
[0059] The drive signal DS contains an element obtained by multiplying the deviation between the rotational acceleration of the servo motor 150 and the target rotational acceleration by a coefficient Ka. The coefficient Ka is the servo gain for the feedback of current quantity. The coefficient Ka is also the servo gain for the feedback of acceleration.
[0060] A2. Control program creation and parameter adjustment:
[0061] Figure 5This is a flowchart illustrating the steps involved in creating the control program. In this embodiment, in Figure 5 The control program created during the processing is a program that implements the contouring action of inserting the workpiece WK1 held in the end effector 140 into the fitting hole H2 set in the workpiece WK2. Figure 5 The processing is performed by the processor 210 of the robot control unit 200.
[0062] In step S110, the flow of actions implemented by the control program 224 of the robot 100 is created. Specifically, based on the operator's instructions input via the display device and input device of the robot control device 200, the actions to be performed by the robot 100 and the sequence of these actions are determined.
[0063] In step S120, the action flow determined in step S110 is converted into a control program. The converted control program is described by a low-level language. The control program is stored in memory 220 (see reference). Figure 2 (224).
[0064] In step S130, the robot control device 200 controls the robot 100 according to the control program 224, causing the robot 100 to perform a task. This task can be performed as a confirmation task to verify the movement of the robot 100 on the production line. In this embodiment, the action performed in step S130 is assumed to be an action performed while controlling the magnitude of the reaction force on the robot 100 caused by the object held by the robot 100 coming into contact with other parts. Examples of such actions include insertion actions and assembly actions.
[0065] In step S140, the force control parameters used in the force control of robot system 1 are adjusted. The adjustment of the force control parameters will be explained in detail later.
[0066] In step S150, the robot control device 200 controls the robot 100 according to the control program 224, using the force control parameters adjusted in step S140, so that the robot 100 performs a task. This task can be performed as a primary task for manufacturing products on a production line. In this embodiment, the action performed in step S150 is assumed to be an action performed while controlling the magnitude of the reaction force on the robot 100 caused by the object held by the robot 100 coming into contact with other components. Examples of such actions include insertion actions and assembly actions.
[0067] Figure 6 It means Figure 5 The flowchart shows the method for adjusting the force control parameters in step S140. Figure 6The processing involves adjusting the force control parameters used in the force control of robot system 1. In the following description, for ease of understanding, the components of the target force Ft are described according to the x-axis, y-axis, and z-axis of the robot coordinate system.
[0068] In step S141, the processor 210 of the robot control device 200 is used in Figure 5 In step S110, the motion flow of the contouring motion and the initial candidate values of the force control parameters for the contouring motion are determined, enabling the robot 100 to perform the contouring motion. The initial candidate values of the force control parameters for the contouring motion are not determined based on a specific motion, but are determined to be applicable to various contouring motions. These initial candidate values of the force control parameters for the contouring motion are pre-stored in the memory 220 of the robot control device 200. Figure 2 In this process, the initial candidate values of the force control parameters for the contouring motion and the adjusted force control parameters in step S140 are uniformly represented as force control parameter 226.
[0069] In step S141, the control execution unit 250 of the processor 210 uses the control execution unit 250 in the... Figure 5 In step S150, different servo gains are used in the control execution unit 250 when the robot system 1 performs actual work, causing the robot 100 to move. Figure 5 Step S150 and Figure 6 In step S141, different values of servo gain are used, specifically the servo gain Kp for position feedback and the servo gain Kv for speed feedback (see reference). Figure 4 (The upper left section). Regarding the servo gain Ka of the current feedback, in Figure 5 Step S150 and Figure 6 In step S141, a generic value is used.
[0070] To distinguish them, in Figure 5 In step S150, when the robot system 1 performs force control while simultaneously carrying out actual work, the servo gain used in the control execution unit 250 is referred to as the "first type of servo gain". Figure 6 The servo gain used in the action of adjusting the force control parameters in step S141 is called the "second servo gain".
[0071] The second type of servo gain, Kps and Kvs, is related to... Figure 5In step S150, when the robot system 1 performs actual work, the servo gains Kp and Kv used in the control execution unit 250 correspond to the first type of servo gain Kp and Kv, respectively. However, the second type of servo gain Kps and Kvs have higher values than the corresponding first type of servo gain Kp and Kv, respectively. That is, the second type of servo gain Kps has a higher value than the first type of servo gain Kp. The second type of servo gain Kvs has a higher value than the first type of servo gain Kv. As a result, in the operation of step S141, compared with the operation when the robot system 1 performs actual work, the responsiveness is high and oscillation is prone to occur. The second type of servo gain Kps and Kvs are pre-stored in the memory 220 of the robot control device 200 (see reference). Figure 2 (The next paragraph).
[0072] exist Figure 6 In step S142, the processor 210 of the robot control device 200 acquires the measured value of the external force during the contouring motion in step S141. This measured value of the external force is referred to as the "force measurement value." Additionally, in step S142, the processor 210 of the robot control device 200 measures the time required for the contouring motion in step S141. This time required for the contouring motion is referred to as the "motion time." The processing of step S142 is essentially performed in parallel with the processing of step S141. The processing of steps S141 and S142 is collectively referred to as "measurement processing." The steps of steps S141 and S142 are collectively referred to as "measurement steps." The functional unit of the processor 210 that executes the processing of steps S141 and S142 is shown as "measurement unit 272." Figure 2 .
[0073] Figure 6 In step S141, the contouring motion based on robot 100 is performed 7 times. In step S142, the maximum value of the measured external force from the 7 contouring motions is used as the force measurement value. The average time required for each of the 7 contouring motions is used as the motion time. After obtaining the maximum force measurement value and the average motion time, the process proceeds to step S143.
[0074] In step S143, the processor 210 of the robot control device 200 inputs the force measurement value and the motion time into the optimization algorithm. The optimization algorithm optimizes the force control parameters using the force measurement value and the motion time, and outputs new candidate values for the force control parameters (see reference). Figure 3 The handling of optimization algorithms will be explained later.
[0075] exist Figure 6In step S144, the processor 210 of the robot control device 200 acquires new candidate values for the force control parameters output from the optimization algorithm. The processes of steps S143 and S144 are collectively referred to as "parameter update processing." The steps of steps S143 and S144 are collectively referred to as "parameter update steps." The functional unit of the processor 210 that executes the processes of steps S143 and S144 is shown as "parameter update unit 274." Figure 2 .
[0076] exist Figure 6 In step S145, the processor 210 of the robot control device 200 uses the motion flow of the contouring motion determined in step S110 and the new candidate values of the force control parameters obtained in step S144 to cause the robot 100 to perform the contouring motion. In the action of step S145, the control execution unit 250 of the processor 210 also uses the second servo gain Kps, Kvs to cause the robot 100 to perform the motion. Regarding the servo gain Ka for current feedback, in Figure 5 Step S150 and Figure 6 In step S146, a common value is used. The process of step S145 is the same as that of step S141, except that the candidate values of the force control parameters are different.
[0077] In step S146, the processor 210 of the robot control device 200 acquires the force measurement value of the contouring motion in step S145. Additionally, in step S146, the processor 210 of the robot control device 200 measures the action time of the contouring motion in step S145. The processing of step S146 is essentially performed in parallel with the processing of step S145. The processing of step S146 is the same as the processing of step S142. The processing of steps S145 and S146 is collectively referred to as "measurement processing." The steps of steps S145 and S146 are collectively referred to as "measurement steps." The functional unit of the processor 210 that executes the processing of steps S145 and S146 is the measurement unit 272 (see reference). Figure 2 ).
[0078] The contouring motion based on robot 100 in step S145 is also performed 7 times. In step S146, the maximum value of the measured external force from the 7 contouring motions is used as the force measurement value. The average time required for each of the 7 contouring motions is used as the motion time. After obtaining the maximum force measurement value and the average motion time, the process proceeds to step S147.
[0079] In step S147, the processor 210 of the robot control device 200 determines whether the evaluation value of each candidate value of the force control parameter meets the termination condition. If it is determined that the evaluation value meets the termination condition, Figure 6The processing ends. If the evaluation value is determined not to meet the termination condition, the processing returns to step S143.
[0080] In step S147, the evaluation value Eval of each candidate value of the force control parameter is calculated by the following equation (1). The second and third terms of equation (1) are the so-called penalty terms.
[0081] Eval = α × OT
[0082] +β×[if(Fmax>Flimit),then100]
[0083] +γ×[if(Tmax>Flimit),then100]…(1)
[0084] OT: Action time of mimicry.
[0085] Fmax: The maximum value of the detection force Fd detected during the contouring motion.
[0086] It should be noted that the detection force Fd is the resultant force of the components along the x-axis, y-axis, and z-axis.
[0087] Flimit: The permissible maximum value of the detection force Fd.
[0088] Tmax: The maximum value of the detection torque Td detected during the contouring motion.
[0089] It should be noted that the detected torque Td is the composite torque of the components along the x-axis, y-axis, and z-axis.
[0090] Tlimit: The allowable value for the maximum value of the detected torque Td.
[0091] α, β, γ: weighting coefficients.
[0092] The termination condition in step S147 is that the following two conditions are met.
[0093] (c1) The latest evaluation value is less than β×100 and either β×100.
[0094] (c2) The absolute value of the difference between the average working time of the previous generation and the average working time of the previous generation is the condition that is continuously satisfied below the threshold Dth for N generations (N is an integer greater than 2).
[0095] Satisfying condition (c1) means that the maximum value Fmax of the detection force Fd does not exceed the allowable value Flimit, and the maximum value Tmax of the detection torque Td does not exceed the allowable value Tlimit. Applying such conditions does not require minimizing the maximum value Fmax of the detection force Fd or the maximum value Tmax of the detection torque Td.
[0096] Meeting condition (c2) means that even if the processing steps S143 to S147 are repeated, the likelihood of the evaluation value being improved is low.
[0097] The processor 210 of the robot control device 200 determines the force control parameters used in the force control of the robot system 1 by repeatedly performing steps S143 to S146. The processes of steps S143 to S147 are collectively referred to as "parameter determination processes." The operations of steps S143 to S147 are collectively referred to as "parameter determination operations." The functional unit of the processor 210 that performs the processes of steps S143 to S147 is shown as "parameter determination unit 276." Figure 2 The determined force control parameters are stored in the memory 220 of the robot control device 200 (see reference). Figure 2 226).
[0098] In this embodiment, Figure 5 In step S140, the force control parameters are adjusted to use a second servo gain, Kps, Kvs, which is more prone to oscillation compared to the first servo gain, Kp, Kv in the actual operation of step S150, to perform the robot 100's movements (see reference). Figure 6 (S141, S145). Then, based on the obtained force measurement values, adjust the force control parameters (refer to...). Figure 6 (S144). Therefore, by setting the second type of servo gain Kps and Kvs, the difficulty of oscillation in actual operation can be ensured in advance. That is, by setting the second type of servo gain Kps used in adjusting the force control parameters to be larger than the first type of servo gain Kp, oscillation is less likely to occur in actual operation based on the adjusted force control parameters. Similarly, by setting the second type of servo gain Kvs to be larger than the first type of servo gain Kv, oscillation is less likely to occur in actual operation based on the adjusted force control parameters. Therefore, even less experienced operators who do not understand the relationship between the speed of action, the ease of oscillation, and the value of the force control parameters can appropriately set force control parameters that are less prone to oscillation.
[0099] Figure 7 It means in Figure 6The diagram below shows the input and output of the optimization algorithm used in the parameter update process of steps S143 and S144. In this embodiment, the optimization algorithm takes the force measurement value and action time as input and the candidate values of the force control parameters as output. Specifically, the optimization algorithm used in this embodiment is the Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
[0100] The optimization algorithm is input to the action time OT, the detected force Fd as the force measurement value, and the detected torque Td (refer to...). Figure 7 (Left side). Candidate values for the force control parameters output by the optimization algorithm (refer to...) Figure 7 (The right side of the equation). The optimization algorithm is used to optimize the evaluation value Eval determined in the above equation (1) by reducing the value of Eval.
[0101] By adopting such a structure, Figure 6 In the parameter update processing of steps S143 and S144, new candidate values for the force control parameters can be obtained by considering the optimization of the force measurement value and the action time. Therefore, by utilizing the... Figure 6 Force control is performed based on the force control parameters determined during the processing, enabling the robot 100 to properly insert the workpiece WK1 into the fitting hole H2 with a high evaluation of the external force on the robot 100 during the contouring motion and the motion time OT of the contouring motion.
[0102] The candidate values for the force control parameters output by the optimization algorithm include the target force Ft and the impedance parameters during the contouring motion (see reference). Figure 7 The upper right part and Figure 3 (The following section). The target force Ft is represented by the force components Fxt along the x-axis, Fyt along the y-axis, and Fzt along the z-axis, as well as the torque components Txt, Tyt, and Tzt centered on the x-axis, y-axis, and z-axis, respectively. The impedance parameters include the hypothetical mass coefficient m, hypothetical viscosity coefficient d, and hypothetical elastic coefficient k for each x-axis, y-axis, and z-axis.
[0103] The optimization algorithm outputs a flag indicating whether force control is active or inactive (Flg), the position of the end effector 140 at the start of the contouring motion (xs, ys, zs, Rxs, Rys, Rzs), and the position of the end effector 140 at a specified time between the start and end of the contouring motion (xp, yp, zp or Rxp, Ryp, Rzp). Figure 7(The lower right part). It should be noted that, in this embodiment, the position of the end effector 140 is set at the TCP position near the front end of the end effector 140.
[0104] By controlling the force with force control parameters determined by such processing, it is possible to appropriately specify the validity or invalidity of the force control and to control the position of the end effector 140 at the start of the contouring action and the point of passage of the contouring action, so that the robot 100 can properly insert the workpiece WK1 into the fitting hole H2.
[0105] For example, even without force control, the workpiece WK1 can sometimes be properly inserted into the fitting hole H2 due to the deflection of the robot 100's hardware structure. By including flags Flg indicating whether force control is enabled or disabled for the three axes related to position and rotation, respectively, in the object being optimized, force control can be omitted in this case.
[0106] It should be noted that, in addition to optimization algorithms, Figure 7 In addition to the parameters shown, it can also output acceleration / deceleration characteristics as force control parameters and the force control coordinate system (see reference). Figure 4 ).
[0107] A3. Examples of mimicry movements:
[0108] The following describes an example of a contouring motion. The operation described below is a grasping operation. The contouring motion is achieved through force control executed by the robot control unit 200.
[0109] Figure 8 This is an explanatory diagram showing the state at the start of the contouring action in step S150. For ease of understanding, the technical content is explained in the robot coordinate system, not the sensor coordinate system. The insertion direction in the contouring action is the negative z-axis direction in the robot coordinate system (refer to...). Figure 1 (H2). It should be noted that, Figures 8-10 The shapes of workpieces WK1, WK2, end effector 140, and force detector 130 are not represented correctly.
[0110] A gripping mechanism SN is provided on the inner surface of the fitting hole H2 of workpiece WK2, located in the positive y-axis direction. The gripper of the gripping mechanism SN is pressed by a spring in the negative y-axis direction, protruding a predetermined size from the inner surface of the fitting hole H2. When pressed in the positive y-axis direction, the gripper of the gripping mechanism SN moves from inside the fitting hole H2 in the positive z-axis direction. The gripper of the gripping mechanism SN can retract along the positive y-axis to a position where it no longer protrudes from the inner surface of the fitting hole H2.
[0111] The control point CP of robot 100 is positioned at the center of the front end face of workpiece WK1 held by end effector 140. An imaginary threshold plane SC is defined near the end of the fitting hole H2 in the insertion direction. The threshold plane SC is a plane parallel to the z-axis and x-axis. During the contouring motion, the contouring motion is considered complete when the control point CP reaches the threshold plane SC. The motion time OT of the contouring motion is the time from the start of force control to the time when the control point CP reaches the threshold plane SC.
[0112] exist Figure 8 Under these conditions, gravity Fg acts on workpiece WK1. Figure 8 In this state, the robot 100 performs force control to maintain the position and orientation of workpiece WK1 by overcoming the gravity Fg acting on workpiece WK1. At this time, the position and orientation of workpiece WK1 are the position and orientation of the area occupied by workpiece WK1 when projected along the insertion direction, i.e., the z-axis direction, which is included in the area occupied by the mating hole H2 of workpiece WK2.
[0113] Figure 9 This is an explanatory diagram showing the state during the contouring action in step S150. Figure 9 In this state, the front end of workpiece WK1 in the negative y-axis direction is in contact with the claw of the gripping mechanism SN. The surface of workpiece WK1 in the positive y-axis direction is in contact with the inner surface of the fitting hole H2.
[0114] In this state, workpiece WK1 presses against the gripper SN in the negative y-axis direction, receiving resistance from the gripper SN in the positive y-axis direction. Workpiece WK1 also presses against the inner surface of the mating hole H2 in the negative z-axis direction, receiving vertical resistance Fn2 from the inner surface of the mating hole H2 in the positive y-axis direction. Furthermore, workpiece WK1, moving in the negative z-axis direction through the contouring motion of robot 100, experiences frictional force in the positive z-axis direction from its contact surface with the inner surface of the mating hole H2. Figure 9 In this context, the force exerted on workpiece WK1 by workpiece WK2 along the z-axis is uniformly represented as Ff2.
[0115] Figure 10 This is an explanatory diagram showing the state just before the contouring action in step S150 is about to end. Figure 10 In this state, the front end of workpiece WK1 in the negative y-axis direction reaches the threshold plane SC (refer to...). Figure 10 (CP). When TCP is detected to have reached the threshold plane SC, the robot control device 200 terminates the contouring action.
[0116] exist Figure 10 In this context, the force in the z-axis direction exerted on workpiece WK1 by workpiece WK2, which is attached to the gripper of the gripping mechanism SN, is uniformly represented as Ff4 on the upper part of workpiece WK1. Figure 10In the diagram, the vertical resistance in the positive z-axis direction experienced by workpiece WK1 from the inner surface of the fitting hole H2 is represented as Fn4.
[0117] When the contouring motion ends, the gripper, which acts as the end effector 140, releases the workpiece WK1, and the robot 100 moves on to the next motion.
[0118] Figure 11 This is a graph representing the positional deviation of the control point CP along the y-axis during the contouring motion. The horizontal axis represents time. The robot control device 200 sets the target position for each axis according to the time sequence during the contouring motion. Figure 11 The curve represents the offset of the control point CP in the y-axis direction from the target position during the contouring motion. Figures 8-10 In the contouring motion shown, the positional deviation of the control point CP in the y-axis direction is as follows: Figure 11 The positional deviation changes as shown. It reaches its maximum when the control point CP, located on the front face of workpiece WK1, has just passed the apex of the gripper SN (see reference). Figure 9 ).
[0119] Figure 12 This is a graph representing the detected force Fd experienced by the end effector 140 during the contouring motion. The horizontal axis represents time. The robot control unit 200 sets the target force for each axis in a time sequence during the contouring motion. Figures 8-10 In the contouring motion shown, the resultant force of the forces actually acting on the end effector 140 in each axial direction, i.e., the detection force Fd, is as follows: Figure 12 The detection force Fd changes as shown. It gradually increases after the action begins. This is because, as insertion progresses, the frictional force in the positive z-axis direction experienced by the workpiece WK1 from its contact surface with the inner surface of the mating hole H2 increases. The detection force Fd is at its maximum when the control point CP, located on the front end face of the workpiece WK1, is directly in front of the apex of the jaw of the gripping mechanism SN (see reference). Figure 9 ).
[0120] Figure 13 It means Figure 6 A table showing the shifts in operating time and force measurement values during processing. Operating time and force measurement values in... Figure 6 The time and force measurement values obtained in steps S142 and S146 are repeatedly acquired. The time and force measurement values obtained in step S142 are the time and force measurement values of the action performed according to the initial candidate values of the force control parameters. The time and force measurement values obtained in step S146 are the time and force measurement values of the action performed according to the candidate values of the force control parameters obtained in step S144 previously.
[0121] exist Figure 13In the example, in equation (1) above, α = β = γ = 1, Flimit = 23.0, and Tlimit = 1000. Additionally, in Figure 6 In step S147, the termination condition (c2) has Dth = 0.5 and N = 4.
[0122] exist Figure 13 In the left column of the table, Figure 6 The number of repetitions of steps S142 and S146 is denoted as "generation". "Generation" refers to the generation of the candidate values of the force control parameters obtained in step S144.
[0123] exist Figure 13 The number of groups is shown in the second column from the left of the table. "Number of groups" is... Figure 6 The number of times the actions are performed in steps S141 and S145. As described above, in steps S141 and S145, the robot 100's contouring action is performed 7 times. Therefore, the number of groups is 7 in each generation.
[0124] exist Figure 13 The table, from the leftmost column 3 to 5, shows the... Figure 6 The average, maximum, and minimum operation times of the 7 actions obtained in steps S142 and S146.
[0125] exist Figure 13 The table, in the 6th column from the left, shows the... Figure 6 The difference between the average operation time of the 7 actions obtained in steps S142 and S146 and the value of the previous generation. Figure 13 It can be seen that by the 8th generation, the difference value is negative, and the average working time has improved.
[0126] exist Figure 13 The table, in the 7th column from the left, shows the... Figure 6 The maximum force value observed in the 7 actions is obtained in steps S142 and S146. Figure 13 The 8th column from the left in the table shows the maximum torque values observed in the 7 actions obtained in steps S142 and S146.
[0127] exist Figure 13 The 9th column from the left in the table shows the evaluation value Eval of the candidate values of the force control parameters for each generation (refer to Equation (1) above).
[0128] As mentioned above, in Figure 6 In step S147, it is determined whether the evaluation values of each candidate value of the force control parameter meet the termination condition. Figure 13 In the example, the termination condition specifically satisfies the following two conditions.
[0129] (c1e) The latest evaluation value is less than 100.
[0130] (c2e) For four consecutive generations, the absolute value of the difference between the average working time of the previous generation and that of the previous generation is less than 0.5.
[0131] exist Figure 13 In the example, since the aforementioned termination conditions (c1) and (c2) are met in the 14th generation, the adjustment of the force control parameters ends (see reference). Figure 13 (Lower right section).
[0132] In this embodiment, Figure 5 In step S140, the force control parameters are adjusted using a second servo gain, Kps, Kvs, which is more prone to oscillation compared to the first servo gain, Kp, Kv in the actual operation of step S150. Then, the force control parameters are adjusted based on the obtained force measurement values. Therefore, by setting the second servo gain, Kps, Kvs, the difficulty of oscillation in actual operation can be ensured in advance. Thus, even less experienced operators can appropriately set force control parameters that are less prone to oscillation.
[0133] In adjusting the force control parameters using optimization, if the number of groups and generations increases, the evaluation value is improved at least to some extent (see reference). Figure 6 S143 to S147 and Figure 13 On the other hand, if the number of sets of force control parameters and the number of generations of iterations for force control parameters increase, the force control parameters may overfit in the workpieces and actions used in adjusting the force control parameters. For example, the fewer workpieces that can be used in adjusting the force control parameters, the more likely it is that the force control parameters for the workpieces used will overfit. As a result, it may be impossible to determine force control parameters that are fast-moving and resistant to oscillations in actual operation.
[0134] In this embodiment, by setting the second type of servo gain Kps and Kvs, the difficulty of oscillation in actual operation can be ensured in advance. Therefore, even if a termination condition is set to prevent overfitting, force control parameters that are unlikely to cause oscillation can be appropriately set (see reference). Figure 6 (S147).
[0135] The robot control device 200 in this embodiment is also referred to as an "adjustment device". The control execution unit 250 is also referred to as a "control unit".
[0136] B. Second implementation method:
[0137] In the first embodiment, in Figure 6In steps S141 and S145, fixed values are used as the second type of servo gain Kps and Kvs (refer to...). Figure 4 (The upper left part). However, in the second embodiment, the multiple measurement processes performed in the parameter determination process are performed using a second servo gain that is used in the same feedback and has different values from each other. That is, in the parameter determination process of steps S143 to S147, the multiple measurement processes are performed using a second servo gain Kps that is used in the position feedback and has different values from each other (see the upper left part). Figure 6 (S145). Similarly, in the parameter determination process, multiple measurement processes are performed using a second servo gain Kvs used in the speed feedback and having mutually different values (see S145). Figure 6 (S145). The following is about... Figure 6 The action of step S145 will be explained. The action of step S141 will be performed in the same way.
[0138] In the second embodiment Figure 6 In step S145, before performing seven actions, the processor 210 of the robot control device 200 multiplies the second servo gains Kps and Kvs by positive coefficients Cps and Cvs respectively, thereby correcting the second servo gains Kps and Kvs. The coefficients Cps and Cvs are random numbers with a normal probability density distribution having a mean of 1 and a standard deviation of 0.1. As a result, in the second embodiment... Figure 6 In step S145, seven actions are performed using servo gains Kps with different values. Additionally, seven actions are performed using servo gains Kvs with different values. Although all seven actions are performed according to the same control program 224, they differ slightly from one another. Figure 7 In the text, the process of correcting the second type of servo gain Kps and Kvs before each of the 7 actions, which is referred to as "servo gain determination", is indicated by a dashed line.
[0139] In adjusting the force control parameters using optimization, if the number of groups and generations increases, the evaluation value is improved at least to some extent (see reference). Figure 6 S143 to S147 and Figure 13On the other hand, if the number of sets of force control parameters and the number of generations repeatedly performed for force control parameters increase, the force control parameters may overfit in the workpieces and actions used in adjusting the force control parameters. For example, the fewer workpieces that can be used in adjusting the force control parameters, the more likely it is that the force control parameters for the workpieces will overfit. As a result, in actual operation, the robot 100 may not be able to move properly depending on the positions of workpieces WK1 and WK2, which contain dimensional errors.
[0140] However, in this embodiment, by performing the above-described processing, even in actual operating environments with deviations caused by various external factors such as dimensional errors of workpieces WK1 and WK2, and positional errors of workpieces WK1 and WK2, it is possible to achieve the desired result. Figure 6 In the processing, force control parameters are set to minimize oscillations and ensure proper movement of robot 100 (refer to...). Figure 5 (S150).
[0141] C. Other implementation methods:
[0142] C1. Other implementation methods 1:
[0143] (1) In the above embodiment, robot 100 is a vertically multi-joint type 6-axis robot with 6 joints J1 to J6 (see reference). Figure 1 However, the technology disclosed herein is also applicable to robots with other joint mechanisms, such as horizontal multi-joint type or orthogonal coordinate type.
[0144] (2) In the above embodiment, the force detector 130 is disposed on the arm flange 120 located at the front end of the arm 110 (see reference). Figure 1 However, force detectors can also be placed at other locations in the robotic arm, such as joints other than the joints at the foremost end, or at the base of the robotic arm.
[0145] (3) In the above embodiment, the force detector 130 is capable of detecting the magnitude of the force parallel to the three detection axes (x-axis, y-axis, and z-axis) that are orthogonal to each other in the sensor coordinate system, which is the inherent coordinate system, and the magnitude of the torque about these three detection axes (see reference). Figure 1 However, a force detector can also detect only the force in the direction of the control force, or only the torque about the axis in that direction. Alternatively, a force detector can detect the torque of the robot's joints, for example, based on measurements of the current of a servo motor, instead of directly detecting the force or torque. In other words, a force detector only needs to be able to detect the force or torque in the direction of the control point.
[0146] (4) In the above embodiment, the end effector 140 is a gripper capable of holding the object (see reference). Figure 1However, the end effector can be any other type of end effector used for force control, such as a drill bit for making holes, a screwdriver for screwing in screws, etc.
[0147] (5) The generation of the control program 224 can be performed in the robot control device 200, or it can be performed in a setting device that is wired or wirelessly connected to the robot control device 200. For example, a personal computer with the setting program 225 installed can be used (see [reference]). Figure 2 (The next paragraph). In this manner, the control program generated in the setting device is sent to the robot control device 200 and stored in the robot control device 200.
[0148] (6) In the above embodiment, the adjustment of the force control parameters is performed by the robot control device 200 that enables the robot 100 to move via feedback control (see reference). Figure 2 (250, 270). However, the force control parameters can also be adjusted in a setting device that is connected to the robot control unit 200 via wired or wireless connection. For example, a personal computer with a setting program 225 installed can be used as the setting device (see reference 225). Figure 2 (The next section). In this manner, the force control parameters 226 adjusted in the setting device are sent to the robot control device 200 and stored in the robot control device 200.
[0149] (7) The control execution unit 250 and the parameter adjustment unit 270 are implemented by the processor 210 executing a program (see reference). Figure 2 However, some or all of the functions of the control execution unit 250 and the parameter adjustment unit 270 can also be implemented through hardware circuitry.
[0150] (8) In the above embodiment, the force control parameter 226 includes the "start point" and "end point" of each action, the "acceleration / deceleration characteristics" of TCP in multiple actions, information for determining the force control coordinate system, the "target force," and the "impedance parameter" (see reference). Figure 3 However, force control parameters are not limited to this; for example, they may not include "acceleration and deceleration characteristics".
[0151] (9) In the above embodiments, the second servo gain Kps used in adjusting the force control parameters is larger than the first servo gain Kp used in the actual operation of force control. The second servo gain Kvs used in adjusting the force control parameters is larger than the first servo gain Kv used in the actual operation of force control.
[0152] In force-driven feedback control, oscillations are more likely to occur compared to feedback control without force control, due to external forces arising from the presence or absence of contact between components. Therefore, the servo gain is set smaller in force-driven feedback control compared to feedback control without force control. In other words, in feedback control without force control, the servo gain is typically set as large as possible within a non-oscillating range to improve the positional accuracy of the control point and shorten the action time. On the other hand, the servo gain in force-driven feedback control is, for example, set to 50% to 70% of the servo gain in feedback control without force control.
[0153] Preferably, the second servo gain Kps is smaller than the servo gain of the first position used in actual operations where position control is performed without force control. Preferably, the second servo gain Kvs is smaller than the servo gain of the first speed used in actual operations where position control is performed without force control.
[0154] (10) In the above embodiments, Figure 6 In steps S141 and S145, the robot 100 performs the contouring motion 7 times. However, the number of robot actions used to obtain the evaluation value can be less than 1, 2, or 3 times, or more than 8 or 10 times.
[0155] (11) In the above embodiment, the coefficients Cps and Cvs used to generate the feedback gain for each action are random numbers with a normal probability density distribution having a mean of 1 and a standard deviation of 0.1. Furthermore, the coefficients Cps and Cvs are coefficients multiplied by the original feedback gain. However, the feedback gain for each action can also be generated by other methods, such as adding random numbers to the original feedback gain. In addition, the mean and standard deviation of the random numbers can be appropriately determined according to the method of using the random numbers.
[0156] (12) In the above embodiment, in step S144, optimization processing using CMA-ES is performed (see...). Figure 6 as well as Figure 7 However, optimization can also be achieved through other methods such as particle swarm optimization (PSO) or Bayesian optimization.
[0157] (13) In the above embodiments, as in Figure 6 The evaluation value used in the determination in step S147 adopts the action time OT (refer to...). Figure 7 However, the evaluation value used in determining the termination condition of the process can also be other evaluation values, such as those obtained based on force measurements.
[0158] (14) In the above embodiment, when the maximum value Fmax of the detection force Fd exceeds the allowable value Flimit, and the maximum value Tmax of the detection torque Td exceeds the allowable value Tlimit, a penalty is applied in the determination of the evaluation value (refer to the above formula (1)). That is, a restriction condition is imposed on the maximum value of the detection force and the maximum value of the detection torque. However, the restriction condition may be, for example, a condition related to other parameters, such as the magnitude of the integral value of the measured value within a specified time interval before and after the peak value exceeds a threshold.
[0159] (15) In the above embodiments, Figure 6 The termination condition in step S147 is that conditions (c1) and (c2) are satisfied. However, the termination condition could also be other conditions such as "condition (c1) is satisfied continuously for N generations (N is an integer greater than 2)".
[0160] (16) In step S147 of the above embodiment, as a condition for the end of the process, it is determined whether the evaluation value obtained in step S145 has converged (refer to condition (c2)). However, it is also possible to use the case where the evaluation value is better than a predetermined threshold as the end condition for the process.
[0161] C2. Other implementation methods 2:
[0162] In the above embodiment, the control execution unit 250 performs feedback control on the position, velocity, and acceleration of the control point CP of the robot 100 in the feedback control of the robot 100's motion (see reference). Figure 4 Additionally, the servo gain Kp for position feedback and the servo gain Kv for velocity feedback, in Figure 5 Step S150 and Figure 6 Different values are used in step S141.
[0163] However, in the feedback control of the robot 100's motion, for example, a method can be adopted where no acceleration feedback is provided, or only a portion of the position, velocity, and acceleration are fed back. That is, in the feedback control of the robot 100's motion, feedback is provided for one or more of the position, velocity, and acceleration. Furthermore, regarding the use of a second servo gain with a higher value than the first servo gain used when the robot system is performing actual work, any servo gain that provides feedback for one or more of the position, velocity, and acceleration is acceptable.
[0164] C3. Other implementation methods 3:
[0165] In the second embodiment, the multiple measurement processes performed in the parameter determination process use a second servo gain that is used in the same feedback but has different values from each other. However, the multiple measurement processes performed in the parameter determination process can also be performed using a second servo gain with a fixed value, as in the first embodiment. Alternatively, different values can be used for the servo gain of one part of the feedback in each measurement process, while a fixed value can be used for the servo gain of another part of the feedback.
[0166] D. Another alternative implementation method:
[0167] This disclosure is not limited to the above-described embodiments, examples, and modifications, and can be implemented in various structures without departing from its spirit. For example, in order to solve some or all of the above problems, or to achieve some or all of the above effects, the technical features in the embodiments, examples, and modifications corresponding to the technical features in the various methods described in the Summary of the Invention section can be appropriately replaced or combined. In addition, if a technical feature is not required to be described in this specification, it can be appropriately deleted.
[0168] (1) According to one aspect of this disclosure, a method for adjusting force control parameters used in force control of a robot system is provided. The robot system includes a robot, a force detector capable of measuring an external force applied to the robot, and a control unit that causes the robot to move via feedback control. The adjustment method includes: a measurement step, using a second servo gain and candidate values of the force control parameters to cause the robot to move, thereby obtaining a force measurement value as the measured value of the external force, wherein the second servo gain is one or more second servo gains corresponding to one or more first servo gains used in the control unit when the robot system is actually performing operations, and has a value higher than the corresponding first servo gains; a parameter update step, using the force measurement value to optimize the force control parameters, thereby obtaining new candidate values of the force control parameters; and a parameter determination step, by repeatedly performing the measurement step and the parameter update step, determining the force control parameters used in the force control of the robot system.
[0169] In this method, the robot's movements are performed using a second servo gain, which is more prone to oscillation compared to the first servo gain used in actual operation, during force control parameter adjustment. Based on the obtained force measurement values, the force control parameters are adjusted. Therefore, by setting the second servo gain, the difficulty of oscillation in actual operation can be ensured in advance. Thus, even less experienced operators can appropriately set force control parameters that are less prone to oscillation.
[0170] (2) Alternatively, in the adjustment method described above, the control unit performs the feedback control on the position and speed of the robot's control point, and the second type of servo gain includes at least one of the servo gain with respect to the position feedback and the servo gain with respect to the speed feedback.
[0171] In this way, even less experienced operators can properly set force control parameters that are less likely to oscillate due to position and speed command values in the robot's feedback control.
[0172] (3) Alternatively, in the adjustment method described above, the plurality of measurement steps performed in the parameter determination step may include a plurality of measurement steps performed using the second servo gain used in the same feedback and having mutually different values.
[0173] In this way, even in actual working environments where various external factors deviate, it is possible to set force control parameters that are unlikely to oscillate.
[0174] (4) According to another embodiment of the present disclosure, an adjustment device for adjusting force control parameters used in force control of a robot system is provided. The robot system includes a robot, a force detector capable of measuring an external force applied to the robot, and a control unit that causes the robot to move through feedback control. The adjustment device includes: a measurement unit that performs measurement processing, the measurement processing being a process in which the robot is moved using a second type of servo gain and a candidate value of the force control parameter to obtain a force measurement value as the measured value of the external force, wherein the second type of servo gain is one or more second type of servo gain corresponding to one or more first type of servo gain used in the control unit when the robot system is actually performing operations, and has a value higher than the corresponding first type of servo gain; a parameter update unit that performs parameter update processing, the parameter update processing being a process in which the force control parameter is optimized by using the force measurement value to obtain a new candidate value of the force control parameter; and a parameter determination unit that performs parameter determination processing, the parameter determination processing being a process in which the force control parameter used in the force control of the robot system is determined by repeatedly performing the measurement processing and the parameter update processing.
[0175] (5) Alternatively, in the adjustment device described above, the control unit performs feedback control on the position and speed of the robot's control point, and the second type of servo gain includes at least one of the servo gain with respect to the position feedback and the servo gain with respect to the speed feedback.
[0176] (6) Alternatively, in the adjustment device described above, the parameter determination unit performs multiple measurement processes in the parameter determination process using the second type of servo gain used in the same feedback and having different values from each other.
[0177] This disclosure can also be implemented in various ways other than force control parameter adjustment methods and force control parameter adjustment devices. For example, it can be implemented by robot setting methods or robot control methods, computer programs that implement these methods, and non-transitory recording media that record the computer program.
Claims
1. A method for adjusting force control parameters, characterized in that, The method for adjusting the force control parameters is used in the force control of a robot system. The robot system includes a robot, a force detector capable of measuring the external force applied to the robot, and a control unit that enables the robot to perform actions through feedback control. The method for adjusting the force control parameters includes: In the measurement process, the robot is made to move using a second type of servo gain and the candidate value of the force control parameter to obtain a force measurement value. The second type of servo gain is one or more second servo gains that correspond to one or more first servo gains used in the control unit when the robot system is actually working, and has a value that is higher than the corresponding first servo gains. The parameter update process involves optimizing the force control parameters using the measured force values to obtain new candidate values for the force control parameters; and The parameter determination process involves determining whether the evaluation value of a new candidate value for the force control parameter meets the termination condition. This determination and parameter update process is repeated until the evaluation value meets the termination condition, thereby determining the force control parameter used in the force control of the robot system. The first type of servo gain and the second type of servo gain each include at least one of a servo gain that provides feedback on the position of the robot's control point and a servo gain that provides feedback on the speed of the robot's control point. The evaluation value is calculated by taking the action time of the robot's action, detecting the force during the action, and detecting the torque during the action.
2. The method for adjusting force control parameters according to claim 1, characterized in that, The control unit performs feedback control on the position and speed of the robot's control points.
3. The method for adjusting force control parameters according to claim 1 or 2, characterized in that, The plurality of measurement steps performed in the parameter determination process include a plurality of measurement steps performed using a second servo gain that is used in the same feedback and has mutually different values.
4. A force control parameter adjustment device, characterized in that, Adjust the force control parameters used in the force control of the robot system. The robot system includes a robot, a force detector capable of measuring the external force applied to the robot, and a control unit that enables the robot to perform actions through feedback control. The force control parameter adjustment device includes: The measurement unit performs measurement processing, which is as follows: using a second servo gain and the candidate value of the force control parameter, the robot is made to move and a force measurement value is obtained. The second servo gain is one or more second servo gains that correspond to one or more first servo gains used in the control unit when the robot system is actually working and has a value that is higher than the corresponding first servo gains. The parameter update unit performs parameter update processing, which includes the following steps: optimizing the force control parameters using the measured force values to obtain new candidate values for the force control parameters; and The parameter determination unit performs parameter determination processing, which includes the following steps: determining whether the evaluation value of a new candidate value of the force control parameter meets the termination condition; and repeatedly performing the measurement processing and the parameter update processing until the evaluation value meets the termination condition, thereby determining the force control parameter to be used in the force control of the robot system. The first type of servo gain and the second type of servo gain each include at least one of a servo gain that provides feedback on the position of the robot's control point and a servo gain that provides feedback on the speed of the robot's control point. The evaluation value is calculated by taking the action time of the robot's action, detecting the force during the action, and detecting the torque during the action.
5. The force control parameter adjustment device according to claim 4, characterized in that, The control unit provides feedback control over the position and speed of the robot's control points.
6. The force control parameter adjustment device according to claim 4 or 5, characterized in that, The parameter determination unit performs multiple measurement processes in the parameter determination process using the second type of servo gain used in the same feedback but having different values.
Citation Information
Patent Citations
Robot system, control method thereof, and adjustment method of force control parameter
CN114536321A
Method of controlling industrial robot
JP1989146680A
Robot motion adjustment device, motion control system, and robot system
WO2019098044A1