Method for adjusting operating parameters

The method adjusts robot operation parameters by evaluating multiple work executions and updating based on measured time and vibration, addressing overfitting and improving productivity by optimizing force and time balance.

JP7841231B2Active Publication Date: 2026-04-07SEIKO EPSON CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-08
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Existing methods for setting force control parameters in robots are inadequate for handling manufacturing variations and gripping variations, leading to overfitting and difficulty in balancing required force and working time, even for skilled operators.

Method used

A method involving adjusting operation parameters by changing the position and orientation of an object, evaluating multiple work executions, and updating parameters based on measured time and vibration to converge on suitable settings.

Benefits of technology

Enables setting of operation parameters that effectively balance force and working time, addressing overfitting issues and improving productivity by optimizing robot performance across varying conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007841231000002
    Figure 0007841231000002
  • Figure 0007841231000003
    Figure 0007841231000003
  • Figure 0007841231000004
    Figure 0007841231000004
Patent Text Reader

Abstract

To provide an operational parameter adjustment method that properly and easily sets force control parameters.SOLUTION: An operational parameter adjustment method has: a position attitude determination step in which a robot is caused to execute operation multiple times in a plurality position attitudes where position attitudes of an object when the operations are started are different; evaluation values of each operation are obtained; the evaluation value of each operation is compared to a reference evaluation value; and an evaluation position attitude is determined from among the position attitudes in the operations where the evaluation values are equal to or less than the reference evaluation value; a renewal step in which the robot is operated with temporary operation parameters while assuming the evaluation position attitude as an operation start position attitude; a time concerning the operation or oscillation of the robot is measured; and on the basis of the measurement result, the temporary operation parameter is renewed; and a determination step in which the renewal step is repeated until the measured operation time or the robot oscillation converges; and a latest temporary operation parameter is so determined as to be an operation parameter when the operation is actually performed.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for adjusting operation parameters.

Background Art

[0002] There is known a robot that performs a predetermined operation by having a robot arm and a force detection unit that detects a force applied to the robot arm, and performing force control to drive the robot arm based on the detection result of the force detection unit. In such a robot, for example, as described in Patent Document 1, when performing force control, it is necessary to set a force control parameter for determining in what mode to drive the robot arm to an appropriate value.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In order to set the force control parameter to an appropriate value, it is necessary to repeatedly perform the work experimentally while changing the force control parameter to determine what kind of force control parameter is suitable for the work. However, in such a method, various conditions such as the quantity and type of workpieces, the position and posture of the robot arm during work, etc. are limited, and an overfitting state is obtained, that is, a force control parameter that exhibits the required performance can only be obtained under specific conditions where there is no variation in the object or the robot. That is, the above-mentioned force control parameter is not suitable for actual operation where manufacturing variations and gripping variations exist. Thus, as a productivity requirement for force control, it is difficult even for an expert to set a force control parameter that balances the required appropriate force and the working time.

Means for Solving the Problems

[0005] This invention Akira is an operation parameter adjustment method for determining operation parameters set for a robot when operating the robot and performing work using an object, comprising: changing the position and orientation of the object at the start of the work and causing the robot to execute the work a plurality of times to obtain an evaluation value for each of the works, comparing the obtained evaluation values of the plurality of works with a reference evaluation value, and determining an evaluation position and orientation from among the positions and orientations of the object where the evaluation value is less than or equal to the reference evaluation value (position and orientation determination step); using the evaluation position and orientation determined in the position and orientation determination step as the start position and orientation of the work, operating the robot with provisional operation parameters, measuring the time related to the work or the vibration of the robot, and updating the provisional operation parameters based on the measured time related to the work or the vibration of the robot (update step); repeating the update step until the measured time related to the work or the vibration of the robot converges, and determining the latest provisional operation parameters as the operation parameters when actually performing the work (determination step), and being characterized by having the above steps. An operation parameter adjustment method. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a robot system that executes the operation parameter adjustment method of the present invention. [Figure 2] FIG. 2 is a block diagram of the robot system shown in FIG. 1. [Figure 3] FIG. 3 is a longitudinal sectional view of a robot showing an example of an evaluation position and orientation. ​​​​​​​​​ [Figure 4] Figure 4 is a longitudinal cross-sectional view of a robot showing an example of an evaluation position and orientation. [Figure 5] Figure 5 is a longitudinal cross-sectional view of a robot showing an example of an evaluation position and orientation. [Figure 6] Figure 6 is a longitudinal cross-sectional view of a robot showing an example of an evaluation position and orientation. [Figure 7] Figure 7 is a flowchart illustrating the control operations performed by the robot system shown in Figure 1. [Figure 8] Figure 8 is a table illustrating the method for generating the evaluation position and orientation. [Figure 9] Figure 9 is a table illustrating the method for generating the evaluation position and orientation. [Figure 10] Figure 10 is a table illustrating the method for generating the evaluation position and orientation. [Figure 11] Figure 11 is a table illustrating the method for generating the evaluation position and orientation. [Figure 12] Figure 12 is a block diagram that explains the robot system, focusing on the hardware. [Figure 13] Figure 13 is a block diagram showing a modified example 1 of the robot system, focusing on the hardware. [Figure 14] Figure 14 is a block diagram showing a modified example 2 of the robot system, focusing on the hardware. [Modes for carrying out the invention]

[0007] <Embodiment> Figure 1 shows the overall configuration of a robot system that performs the operation parameter adjustment method of the present invention. The diagrams shown are shown. Figure 2 is a block diagram of the robot system shown in Figure 1. Figures 3 to 6 are Figure 7 is a longitudinal cross-sectional view of the robot showing an example of the evaluation position and orientation shown in Figure 1. This is a flowchart to explain the control operations performed by the system. Figures 8 to 11 are evaluations. To explain how to generate valence position table That is the case.

[0008] The method for adjusting the operating parameters of the present invention will be described in detail below based on preferred embodiments shown in the attached drawings. For convenience of explanation, the +Z axis direction in Figure 1, i.e., the upper side, will also be referred to as "up," and the -Z axis direction, i.e., the lower side, will also be referred to as "down." Furthermore, for the robot arm, the base 11 side in Figure 1 will be referred to as the "base end," and the opposite side, i.e., the end effector side, will be referred to as the "tip." Also, the Z axis direction in Figure 1, i.e., the up and down direction, will be referred to as the "vertical direction," and the X axis direction and Y axis direction, i.e., the left and right direction, will be referred to as the "horizontal direction."

[0009] As shown in Figure 1, the robot system 100 comprises a robot 1, a control device 3 for controlling the robot 1, and a teaching device 4, and performs the operation parameter adjustment method of the present invention.

[0010] First, let me explain Robot 1. The robot 1 shown in Figure 1 is a single-arm, six-axis vertical articulated robot in this embodiment, and comprises a base 11 and a robot arm 10. An end effector 20 can be attached to the tip of the robot arm 10. The end effector 20 may or may not be a component of the robot 1.

[0011] Note that robot 1 is not limited to the configuration shown in the figure, and may be, for example, a dual-arm articulated robot. Also, robot 1 may be a horizontal articulated robot.

[0012] The base 11 is a support that enables the robot arm 10 to be driven from below, and is fixed, for example, to the floor of a factory. The robot 1 is electrically connected to the control device 3 via a relay cable 18 on the base 11. Note that the connection between the robot 1 and the control device 3 is not limited to a wired connection as shown in Figure 1, but may also be a wireless connection, or even a connection via a network such as the Internet.

[0013] In this embodiment, the robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, and these arms are connected in this order from the base 11 side. The number of arms that the robot arm 10 has is not limited to six, but may be one, two, three, four, five, or seven or more. Also, the size of each arm, such as the total length, is not particularly limited and can be set as appropriate.

[0014] The base 11 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable around a first pivot axis that is parallel to the vertical direction relative to the base 11. The first pivot axis coincides with the normal to the floor to which the base 11 is fixed.

[0015] The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is rotatable relative to the first arm 12 around a second pivot axis that is parallel to the horizontal direction. The second pivot axis is parallel to an axis perpendicular to the first pivot axis.

[0016] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable around a third pivot axis parallel to the horizontal direction relative to the second arm 13. The third pivot axis is parallel to the second pivot axis.

[0017] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 around a fourth pivot axis that is parallel to the central axis direction of the third arm 14. The fourth pivot axis is perpendicular to the third pivot axis.

[0018] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable relative to the fourth arm 15 around the fifth pivot axis as its pivot point. The fifth pivot axis is perpendicular to the fourth pivot axis.

[0019] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable relative to the fifth arm 16 around the sixth pivot axis. The sixth pivot axis is perpendicular to the fifth pivot axis.

[0020] Furthermore, the sixth arm 17 is the robot's tip, located at the very front of the robot arm 10. This sixth arm 17 can be rotated together with the end effector 20 by the drive of the robot arm 10.

[0021] Robot 1 includes motors M1, M2, M3, M4, M5, and M6 as drive units, and encoders E1, E2, E3, E4, E5, and E6. Motor M1 is built into joint 171 and rotates the base 11 and the first arm 12 relative to each other. Motor M2 is built into joint 172 and rotates the first arm 12 and the second arm 13 relative to each other. Motor M3 is built into joint 173 and rotates the second arm 13 and the third arm 14 relative to each other. Motor M4 is built into joint 174 and rotates the third arm 14 and the fourth arm 15 relative to each other. Motor M5 is built into joint 175 and rotates the fourth arm 15 and the fifth arm 16 relative to each other. Motor M6 is built into joint 176 and rotates the fifth arm 16 and the sixth arm 17 relative to each other.

[0022] Encoder E1 is built into joint 171 and detects the position of motor M1. Encoder E2 is built into joint 172 and detects the position of motor M2. Encoder E3 is built into joint 173 and detects the position of motor M3. Encoder E4 is built into joint 174 and detects the position of motor M4. Encoder E5 is built into joint 175 and detects the position of motor M5. Encoder E6 is built into joint 176 and detects the position of motor M6.

[0023] Encoders E1 to E6 are electrically connected to the control device 3, and the position information of motors M1 to M6, i.e., the amount of rotation, is transmitted to the control device 3 as an electrical signal. Based on this information, the control device 3 drives motors M1 to M6 via a motor driver (not shown). In other words, controlling the robot arm 10 means controlling motors M1 to M6.

[0024] Furthermore, a control point CP is set at the tip of the robot arm 10. The control point CP is a reference point for controlling the robot arm 10. The robot system 100 determines the position of the control point CP in the robot coordinate system and drives the robot arm 10 so that the control point CP moves to the desired position.

[0025] Furthermore, in robot 1, a force detection unit 19 for detecting force is detachably installed on the robot arm 10. The robot arm 10 can then be driven with the force detection unit 19 installed. In this embodiment, the force detection unit 19 is a 6-axis force sensor. The force detection unit 19 detects the magnitude of force on three mutually orthogonal detection axes and the magnitude of torque around these three detection axes. That is, it detects force components in the axial directions of the mutually orthogonal X, Y, and Z axes, force components in the Tx direction (U direction) around the X axis, force components in the Ty direction (V direction) around the Y axis, and force components in the Tz direction (W direction) around the Z axis. In this embodiment, the Z axis direction is vertical. Also, the force components in each axial direction can be called "translational force components," and the force components around each axis can be called "rotational force components." Furthermore, the force detection unit 19 is not limited to a 6-axis force sensor and may have other configurations.

[0026] In this embodiment, the force detection unit 19 is installed on the sixth arm 17. However, the installation location of the force detection unit 19 is not limited to the sixth arm 17, i.e., the arm located at the very end; for example, it may be installed on other arms, between adjacent arms, below the base 11, or at each of the joints.

[0027] An end effector 20 can be detachably attached to the force detection unit 19. The end effector 20 is composed of a hand that grips an article by a pair of claws moving closer together and further apart, but the present invention is not limited to this and may have two or more claws. It may also be a hand that grips an article by suction.

[0028] Furthermore, in the robot coordinate system, the tool center point TCP is set at an arbitrary position on the tip of the end effector 20, preferably at the tip when each claw is close together. As mentioned above, the robot system 100 determines the position of the control point CP in the robot coordinate system and drives the robot arm 10 so that the control point CP moves to the desired position. Also, by knowing the type of end effector 20, especially its length, the offset amount between the tool center point TCP and the control point CP can be determined. Therefore, the position of the tool center point TCP can be determined in the robot coordinate system. Consequently, the tool center point TCP can be used as the control reference.

[0029] Furthermore, as shown in Figure 1, the robot 1 grasps the first object, workpiece W1, and inserts it into the second object, workpiece W2, to perform the fitting operation. Here, "fitting" is used as a broad concept that includes not only fitting in the narrow sense, but also insertion, engagement, etc. Therefore, depending on the configuration of workpieces W1 and W2, "fitting" can be reinterpreted as "insertion," "engagement," etc. Note that the operation may also involve grasping workpiece W2 and inserting workpiece W1 into workpiece W2.

[0030] Workpiece W1 is a rod-shaped body with a circular cross-section. Workpiece W1 may also have a triangular, quadrilateral, or other polygonal cross-section, and may be an electronic device connector, a plastic casing, or the like. Workpiece W2 is a block-shaped object with an insertion hole 200 into which workpiece W1 is inserted.

[0031] Furthermore, as shown in Figures 3 to 6, the insertion hole 200 of the workpiece W2 is provided with a snapping mechanism 411 that acts as a resistance force when inserting the workpiece W1. In actual applications such as connector insertion and assembly of plastic parts, the snapping mechanism 411 itself may also have a function. Here, the snapping mechanism 411 is shown separately as a functional component.

[0032] Next, the control device 3 and the teaching device 4 will be described. The control device 3 is positioned at a distance from the robot 1 and can be composed of a computer or the like that has a CPU (Central Processing Unit), which is an example of a processor, built into it. This control device 3 may also be built into the base 11 of the robot 1.

[0033] The control device 3 is connected to the robot 1 via a relay cable 18 so as to be able to communicate with it. The control device 3 is also connected to the teaching device 4 via cable or wireless communication. The teaching device 4 may be a dedicated computer or a general-purpose computer with a program for teaching the robot 1 installed. For example, a teaching pendant or the like, which is a dedicated device for teaching the robot 1, may be used instead of the teaching device 4. Furthermore, the control device 3 and the teaching device 4 may have separate housings or may be configured as a single unit.

[0034] Furthermore, the teaching device 4 includes the target position and attitude S, which will be described later. t and goal ability f St A program may be installed to generate an executable program that takes and as arguments and load it into the control device 3. The teaching device 4 includes a display, a processor, RAM, and ROM, and these hardware resources work together with the teaching program to generate the executable program.

[0035] As shown in Figure 2, the control device 3 is a computer on which a control program for controlling the robot 1 is installed. The control device 3 is equipped with a processor and RAM and ROM (not shown), and these hardware resources work together with the program to control the robot 1.

[0036] Furthermore, as shown in Figure 2, the control device 3 includes a target position setting unit 3A, a drive control unit 3B, a storage unit 3C, and a parameter adjustment unit 3D. The storage unit 3C is composed of, for example, volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), or a removable external storage device. The storage unit 3C stores an operation program for operating the robot 1, such as a program for executing the operation parameter adjustment method of the present invention.

[0037] The target position setting unit 3A sets a target position and orientation S for the workpiece W1 to perform a predetermined operation. t and set the operating path. The target position setting unit 3A sets the target position and attitude S based on the teaching information input from the teaching device 4. t And set the operation path.

[0038] The drive control unit 3B controls the drive of the robot arm 10 and includes a position control unit 30, a coordinate transformation unit 31, a coordinate transformation unit 32, a correction unit 33, a force control unit 34, and a command integration unit 35.

[0039] The position control unit 30 generates a position command signal, i.e., a position command value P, that controls the position of the robot 1's tool center point TCP, according to the target position specified by a pre-created command.

[0040] Here, the control device 3 can control the movement of the robot 1 by force control, etc. "Force control" refers to the control of the movement of the robot 1, such as changing the position of the end effector 20, i.e., the position of the tool center point TCP, or the posture of the first arm 12 to the sixth arm 17, based on the detection results of the force detection unit 19.

[0041] Force control includes, for example, force trigger control and impedance control. In force trigger control, a force detection unit 19 detects force, and the robot arm 10 is made to move or change its posture until a predetermined force is detected by the force detection unit 19.

[0042] Impedance control includes mimicking control. First, to briefly explain, in impedance control, the force applied to the tip of the robot arm 10 is maintained at a predetermined force as much as possible, that is, the force in a predetermined direction detected by the force detection unit 19 is maintained at the target force f St as much as possible. By doing so, for example, when impedance control is performed on the robot arm 10, the robot arm 10 performs an operation of mimicking with respect to an external force applied from an object or an operator in the predetermined direction. Note that the target force f St includes 0. For example, as one of the settings in the case of the mimicking operation, the target value can be set to "0". Note that the target force f St can also be set to a numerical value other than 0. This target force f St can be set appropriately by the operator.

[0043] The storage unit 3C stores the correspondence relationship between the combination of the rotation angles of the motors M1 to M6 and the position of the tool center point TCP in the robot coordinate system. Also, the control device 3 stores at least one of the target position and orientation S t and the target force f St in the storage unit 3C based on a command for each process of the work performed by the robot 1. The command taking the target position and orientation S t and the target force f St as arguments, that is, parameters, is set for each process of the work performed by the robot 1.

[0044] The drive control unit 3B controls the first arm 12 to the sixth arm 17 so that the set target position and orientation S t and the target force f St match at the tool center point TCP. The target force f StThis refers to the detected force and torque of the force detection unit 19, which should be achieved by the movement of the first arm 12 to the sixth arm 17. Here, the letter "S" represents one of the directions (X, Y, Z) of the axes that define the robot coordinate system. Also, S represents the position in the S direction. For example, if S = X, the X-direction component of the target position set in the robot coordinate system is S. t =X t Therefore, the X-direction component of the target force is f St =f Xt This is the result.

[0045] Furthermore, when the drive control unit 3B acquires the rotation angles of motors M1 to M6, the coordinate transformation unit 31 shown in Figure 2 transforms these rotation angles into the position and orientation S(X,Y,Z,U,V,W) of the tool center point TCP in the robot coordinate system based on the correspondence. Then, the coordinate transformation unit 32, based on the position and orientation S of the tool center point TCP and the detected value of the force detection unit 19, determines the actual force f acting on the force detection unit 19. S Identify it in the robot coordinate system.

[0046] acting force f S The point of application is defined separately from the tool center point TCP as the force detection origin. The force detection origin corresponds to the point where the force detection unit 19 detects force. The control device 3 stores a correspondence that defines the direction of the detection axis in the sensor coordinate system of the force detection unit 19 for each position and orientation S of the tool center point TCP in the robot coordinate system. Therefore, the control device 3 determines the applied force f in the robot coordinate system based on the position and orientation S of the tool center point TCP in the robot coordinate system and the correspondence. S It can be identified. Also, the torque acting on robot 1 is the applied force f. S This can be calculated from the distance from the contact point to the force detection unit 19 and is identified as the rotational force component. Furthermore, when the end effector 20 is in contact with the workpiece W1 during operation, the contact point can be considered the tool center point TCP.

[0047] The correction unit 33 applies the applied force fS Gravity compensation is applied to the force f. S This involves removing the force and torque components caused by gravity. The gravity-compensated force f S This can be considered a force other than gravity acting on the robot arm 10 or the end effector 20.

[0048] Furthermore, the correction unit 33 controls the applied force f S Inertia compensation is performed for the applied force f. S This involves removing the force and torque components caused by inertia. The inertia-compensated force f S This can be considered a force other than the inertial force acting on the robot arm 10 or the end effector 20.

[0049] The force control unit 34 performs impedance control. Impedance control is an active impedance control that realizes a virtual mechanical impedance using motors M1 to M6. The control device 3 performs this impedance control during processes in which the end effector 20 receives force from the workpiece, such as workpiece fitting, screwing, and polishing, as well as during direct teaching. In addition, even in processes other than these, safety can be enhanced by performing impedance control, for example, when a person comes into contact with the robot 1.

[0050] In impedance control, the target force f St The rotation angles of motors M1 to M6 are derived by substituting these values ​​into the equations of motion described later. The signals that control motors M1 to M6 are controlled by control device 3 are PWM (Pulse Width Modulation) modulated signals.

[0051] Furthermore, in processes where the end effector 20 is not subjected to external force, the control device 3 sets the target position and attitude S. t Motors M1 to M6 are controlled by rotation angles derived from linear calculations. Target position and attitude S tThe mode in which motors M1 to M6 are controlled by rotation angles derived through linear calculations is called the position control mode.

[0052] The control device 3 controls the target force f St and the acting force f S By substituting these into the equation of motion for impedance control, the force-derived correction amount ΔS is determined. The force-derived correction amount ΔS is the amount of force applied when the tool center point TCP is subjected to mechanical impedance, and the target force f St Force deviation Δf S To resolve (t), this represents the magnitude of the position and orientation S to which the tool center point TCP should move. Equation (1) below is the equation of motion for impedance control.

[0053]

number

[0054] The left-hand side of equation (1) consists of the first term, obtained by multiplying the second derivative of the position and orientation S of the tool center point TCP by a virtual mass coefficient m (hereinafter referred to as "mass coefficient m"), the second term, obtained by multiplying the derivative of the position and orientation S of the tool center point TCP by a virtual viscosity coefficient d (hereinafter referred to as "viscosity coefficient d"), and the third term, obtained by multiplying the position and orientation S of the tool center point TCP by a virtual elastic modulus k (hereinafter referred to as "elastic modulus k"). The right-hand side of equation (1) is the target force f St The force deviation Δf obtained by subtracting the actual force f from it. S It is composed of (t). The derivative in equation (1) means the derivative with respect to time. In the process performed by robot 1, the target force f St In some cases, a fixed value is set as the target force f St In some cases, a function of time may be set as the function of time.

[0055] The mass coefficient m represents the virtual mass of the tool center point TCP, the viscosity coefficient d represents the virtual viscous resistance experienced by the tool center point TCP, and the elastic modulus k represents the spring constant of the virtual elastic force experienced by the tool center point TCP.

[0056] As the value of the mass coefficient m increases, the acceleration of the motion decreases, and as the value of the mass coefficient m decreases, the acceleration of the motion increases. As the value of the viscosity coefficient d increases, the speed of the motion decreases, and as the value of the viscosity coefficient d decreases, the speed of the motion increases. As the value of the elastic modulus k increases, the springiness increases, and as the value of the elastic modulus k decreases, the springiness decreases.

[0057] These mass coefficient m, viscosity coefficient d, and elastic modulus k may be set to different values ​​for each direction, or they may be set to a common value regardless of direction. Furthermore, the mass coefficient m, viscosity coefficient d, and elastic modulus k can be set as appropriate by the worker before starting work.

[0058] The mass coefficient m, viscosity coefficient d, and elastic modulus k are force control parameters. These force control parameters are values ​​set before the robot arm 10 actually performs its work. In addition to the mass coefficient m, viscosity coefficient d, and elastic modulus k, the force control parameters also include the target force f as described above. St This includes, etc.

[0059] Thus, in the robot system 100, while force control is being performed, the detected value from the force detection unit 19, the preset force control parameters, and the preset target force f are used. St The correction amount is then calculated. This correction amount is the force-derived correction amount ΔS mentioned earlier, and it is the difference between the position where the external force was applied and the position where the tool center point TCP should be moved.

[0060] The command integration unit 35 then adds a force-derived correction amount ΔS to the position command value P generated by the position control unit 30. By doing this as needed, the command integration unit 35 obtains a new position command value P' from the position command value P that was used to move to the position where the external force was applied.

[0061] Then, the coordinate transformation unit 31 converts this new position command value P' into robot coordinates, and the execution unit 351 executes it, thereby moving the tool center point TCP to a position that takes into account the force-derived correction amount ΔS, in response to external forces and mitigating any further load on the object that has come into contact with the robot 1.

[0062] According to this drive control unit 3B, with the workpiece W1 being gripped, the tool center point TCP is moved to the target position S. t Moving toward the target force f St The robot arm 10 can be driven so that the tool center point TCP moves until it reaches a preset value. Specifically, the workpiece W1 is inserted into the insertion hole 200 of the workpiece W2, and the preset target force f St The insertion process can be completed by continuing until the detection of the required force. Furthermore, by performing the force control described above during the insertion process, it is possible to prevent or suppress excessive load on workpieces W1 and W2.

[0063] The parameter adjustment unit 3D shown in Figure 2 adjusts the operating parameters, as will be described later.

[0064] Here, the worker needs to set appropriate motion parameters before performing the work, depending on the content of the work and the types of workpieces W1 and W2. Motion parameters include force control parameters, position control parameters, etc. As mentioned above, the force control parameters include the mass coefficient m, viscosity coefficient d and elastic modulus k, and target force f St This includes, etc. Position control parameters are parameters set when performing position control, and include the speed and acceleration of the tool center point TCP, etc.

[0065] By setting these to appropriate values, the mode of the robot arm 10 during operation can be set to a mode suitable for the task, allowing for accurate work to be performed within the desired working time without placing excessive load on the workpieces W1 and W2.

[0066] However, setting the operating parameters to appropriate values ​​is difficult. Conventionally, it is necessary to perform experimental work and repeatedly change the force control parameters based on the work results, such as work time, and to set the appropriate values ​​for the force control parameters through trial and error until the desired work results are obtained. In this method, various conditions such as the quantity and type of workpieces and the position and orientation of the robot arm 10 during work are limited, resulting in an over-fitted state, that is, operating parameters that exhibit the required performance only under specific conditions where there is no variation in the workpieces or robot. In other words, the above operating parameters become unsuitable for actual operation where manufacturing variations and gripping variations exist. Thus, setting force control parameters that balance the required appropriate force and work time, as required for productivity in force control, is difficult even for skilled operators. In contrast, the present invention can solve this problem as follows.

[0067] An example of the method for adjusting the operating parameters of the present invention will be described below using the flowchart shown in Figure 7. In the following description, force control parameters will be used as an example of operating parameters, but the present invention is not limited to these and can also be applied to the position control parameters described above.

[0068] In this embodiment, the following steps are performed by the control device 3 and the teaching device 4, but the present invention is not limited to this, and the steps may be performed by either the control device 3 or the teaching device 4.

[0069] In step S101, the part variation is set, that is, the variation in the position and orientation of the workpiece W1 at the start of the operation. For example, the user inputs the ideal position and orientation of the workpiece W1 at the start of the operation, as shown in Figure 3, and the range of variation in the position and orientation. This input is made, for example, using the teaching device 4.

[0070] The range of positional variation refers to the upper and lower limits of rotation angles around the X, Y, Z, U, V, and W axes. Below, as shown in Figure 8, the upper limit around the X axis is set to +a x , the lower limit around the X-axis is -a x The upper limit around the Y axis is +a y , the lower limit around the Y axis is -a y The upper limit around the Z axis is +a z , the lower limit around the Z axis is -a z The upper limit around the U axis is +a u , the lower limit around the U axis is -a u The upper limit around the V axis is +a v , the lower limit around the V axis is -a v The upper limit around the W axis is +a w , the lower limit around the W axis is -a w Let's assume that it was entered as,

[0071] Next, in step S102, the parameter adjustment unit 3D determines multiple evaluation position and orientation. That is, it introduces variation into the starting position and orientation of the robot arm 10 that is gripping the workpiece W1 (see Figures 4 to 6). Hereafter, the starting position and orientation shown in Figures 3 to 6 will also be referred to as the evaluation position and orientation.

[0072] From the evaluation position and orientation shown in Figure 3, the position and orientation with poor evaluation values ​​for each axis is determined as the evaluation position and orientation (see Figure 6). Specifically, as shown in Figure 9, the position and orientation around the X axis is set to -a x , position and orientation around the Y-axis +a y , position and orientation around the Z axis -a z , position and orientation around the U axis +a u , position and orientation around the V-axis +a v , position and orientation around the W axis +a w Let's assume that.

[0073] Next, a position and attitude combining translational and rotational directions is added as the evaluation position and attitude. Specifically, as shown in Figure 10, the position and orientation around the X-axis is -a x , position and orientation around the Y-axis to +a y , position and orientation around the Z axis -a z, position and orientation around the U axis 0 , position and orientation around the V-axis 0 , position and orientation around the W axis 0 We will add an evaluation position and orientation (see Figure 4) that would allow for this. Position and orientation around the X-axis 0 , position and orientation around the Y axis 0 , position and orientation around the Z axis 0 , around the U axis Position and orientation +a u , position and orientation around the V-axis +a v , position and orientation around the W axis +a w Let's do it that way. Add the eel evaluation position and posture (see Figure 5).

[0074] Next, we add an evaluation position / pose with the lowest difficulty level, namely, an evaluation position / pose where the position / pose around the X axis is 0, the position / pose around the Y axis is 0, the position / pose around the Z axis is 0, the position / pose around the U axis is 0, the position / pose around the V axis is 0, and the position / pose around the W axis is 0 (see Figure 3).

[0075] In this way, the evaluation positions and postures shown in Figures 3 to 6 can be obtained. Evaluation position and posture A shown in Figure 3 is the position and posture with the lowest difficulty of work among the four evaluation positions and postures. Evaluation position and posture D shown in Figure 6 is the position and posture with the highest difficulty of work among the four evaluation positions and postures. Evaluation position and posture B shown in Figure 4 and evaluation position and posture C shown in Figure 5 have a higher difficulty of work than evaluation position and posture A shown in Figure 3, but a lower difficulty than evaluation position and posture D shown in Figure 6.

[0076] During the optimization of the operating parameters in the steps described later, stable optimal parameters can be obtained by making adjustments using such multiple evaluation positions and postures. In particular, rather than randomly setting the four evaluation positions and postures, more appropriate operating parameters can be set by setting the difficulty level of the work in stages and including evaluation positions and postures that represent higher difficulty levels.

[0077] Next, in step S103, the parameter adjustment unit 3D determines the operating parameters. In step S103 of the first loop, the parameters are determined to be the pre-set initial operating parameters, i.e., provisional operating parameters.

[0078] Next, in step S104, the parameter adjustment unit 3D determines the evaluation position and orientation. For example, the first loop may determine the evaluation position and orientation as A, the second loop as B, the third loop as C, and the fourth loop as D. However, the order is not limited to this.

[0079] Next, in step S105, the drive control unit 3B moves the robot arm 10 to the evaluation position and orientation determined in step S104. That is, the robot arm 10 is driven so that the position and orientation of the robot arm 10, which is gripping the workpiece W1, becomes the evaluation position and orientation determined in step S104.

[0080] Next, in step S106, the drive control unit 3B causes the robot arm 10 to perform a force-sensing action. That is, it performs the specified task by force control. Next, in step S107, the success of the force-sensing action is determined. If it is determined in step S107 that the action was successful, the process proceeds to step S108; if it is determined in step S107 that the action was unsuccessful, the process proceeds to step S103.

[0081] In step S108, the parameter adjustment unit 3D determines whether to terminate the operation. This determination is based on whether the operation has been performed in all four evaluation positions and orientations, that is, whether steps S103 to S107 have been repeated four times. If it is determined in step S108 to terminate the operation, the process proceeds to step S109. If it is determined in step S108 not to terminate the operation, the process proceeds to step S104.

[0082] Next, in step S109, the parameter adjustment unit 3D optimizes the force control parameters. That is, it obtains evaluation values ​​for each of the four operations and compares the evaluation value of each operation with a reference evaluation value. Then, from among the position and posture values ​​for operations that are below the reference evaluation value, it determines one position and posture.

[0083] The evaluation value is a value used to evaluate the quality of work on a tiered scale. For example, if there are n levels from best to worst, then the minimum n (n=1) represents a low evaluation, and the maximum n (n) represents a high evaluation.

[0084] The standard evaluation value is a predetermined value that serves as the benchmark for determining whether an evaluation value is good or bad. For example, the standard evaluation value may be a number between 1 and n.

[0085] Thus, in this step, instead of using the best evaluation value, a position and attitude with a relatively low evaluation value is deliberately selected. Steps S101 to S109 constitute the position and attitude determination step.

[0086] Next, in step S110, the parameter adjustment unit 3D determines the operation parameters suitable for the operation to be performed using the position and attitude selected in step S109 as the starting position and attitude. This step is performed, for example, based on a table or calibration curve showing the relationship between the starting position and attitude and the operation parameters.

[0087] Next, in step S111, the parameter adjustment unit 3D determines the position and attitude correction value. In other words, the amount of variation to be applied to the position and orientation selected in step S109 is determined. Determined, in step S112, Provisional operating parameters Update. Steps S111 and S112 are update steps.

[0088] Next, in step S113, the drive control unit 3B causes the robot arm 10 to perform force-sensing movements using the motion parameters calculated by the optimization algorithm. That is, the robot arm 10 performs the specified task by force control. Next, in step S114, the success of the force-sensing movement is determined. If it is determined in step S114 that the movement was successful, the process proceeds to step S115; if it is determined in step S114 that the movement was unsuccessful, the process proceeds to step S116.

[0089] Examples of optimization algorithms include the Nelder-Mead method, Newton's method, Covariance Matrix Adaptation Evolution Strategy, Particle Swarm Optimization, and Bayesian optimization.

[0090] By performing multi-objective optimization on an optimization algorithm while appropriately setting the allocation ratio for each input value that constitutes the evaluation function, the number of operations required to reach convergence can be reduced.

[0091] In step S113, when performing force-sensing actions, the time involved in the task or the vibration of robot 1 is measured.

[0092] Next, in step S116, the parameter adjustment unit 3D determines the operation parameters based on the time spent on the work or the vibration of the robot 1 acquired in step S113. That is, it updates the provisional operation parameters based on the measured time spent on the work or the vibration of the robot 1. The determination in this step is made, for example, based on a table showing the relationship between the measured time spent on the work or the vibration of the robot 1 and the corresponding operation parameters. Then, the process returns to step S113.

[0093] In step S115, the parameter adjustment unit 3D determines whether optimization is complete. This determination is based on the time taken for the measured operation or whether the vibration of the robot 1 has subsided. For example, if the difference between the time taken for the nth operation and the time taken for the (n-1)th operation remains below a predetermined value for a predetermined number of times, it can be considered that the vibration has subsided.

[0094] In this step, the user inputs the part variation for each axis, and the evaluation position and orientation are determined based on that range.

[0095] If it is determined in step S115 that optimization is complete, the solution is displayed to the user in step S117, for example, using the teaching device 4. If it is determined in step S115 that optimization is not complete, the process returns to step S111, and the subsequent steps are repeated sequentially. Steps S111 to S116 constitute the decision steps.

[0096] As described above, the motion parameter adjustment method of the present invention is a method for adjusting motion parameters to be set for a robot 1 when operating the robot 1 and performing work using a workpiece W1, which is an object, and comprises: a position and posture determination step in which the robot 1 is made to perform work multiple times by changing the position and posture of the workpiece W1 at the start of the work, an evaluation value is obtained for each work, the evaluation values ​​of the multiple obtained works are compared with a reference evaluation value, and an evaluation position and posture is determined from among the position and postures of the object whose evaluation value is less than or equal to the reference evaluation value; an update step in which the robot 1 is operated with provisional motion parameters using the position and posture determined in the position and posture determination step as the starting position and posture of the work, the time related to the work or the vibration of the robot 1 is measured, and the provisional motion parameters are updated based on the measured time related to the work or the vibration of the robot 1; and a determination step in which the update step is repeated until the measured time related to the work or the vibration of the robot 1 converges, and the latest provisional motion parameters are determined to be the motion parameters when actually performing the work. In particular, in the position and attitude determination step, by deliberately selecting a position and attitude with a relatively low evaluation value instead of using the best evaluation value, it is possible to set more accurate operating parameters while suppressing overfitting.

[0097] Furthermore, the robot 1 is equipped with a robot arm 10 having multiple joints, and in the position and orientation determination step, multiple position and orientation values ​​are obtained by varying the rotation angle of each joint. This makes it possible to obtain a more appropriate evaluation position and orientation, and thus to set more appropriate operating parameters.

[0098] Furthermore, the operation includes the movement of robot 1 using force control, and the movement parameters include force control parameters. This allows for the setting of more appropriate force control parameters.

[0099] Furthermore, the force control parameters include at least one of the target force, virtual viscosity coefficient, virtual elastic modulus, and virtual mass coefficient. This allows for the setting of more appropriate force control parameters.

[0100] <Other configuration examples of robot systems> Figure 12 is a block diagram that explains the robot system, focusing on the hardware.

[0101] Figure 12 shows the overall configuration of the robot system 100A, in which the robot 1, controller 61, and computer 62 are connected. The robot 1 may be controlled by a processor in the controller 61 that reads commands from memory and executes them, or by a processor in the computer 62 that reads commands from memory and executes them via the controller 61.

[0102] Therefore, either the controller 61 or the computer 62, or both, can be considered as a "control device."

[0103] <Example 1> Figure 13 is a block diagram showing a modified example 1 of the robot system, focusing on the hardware.

[0104] Figure 13 shows the overall configuration of robot system 100B, in which the computer 63 is directly connected to robot 1. The control of robot 1 is performed by the processor in computer 63, which reads commands from memory and executes them directly. Therefore, computer 63 can be considered as a "control device."

[0105] <Modification 2> Figure 14 is a block diagram showing a modified example 2 of the robot system, focusing on the hardware.

[0106] Figure 14 shows the overall configuration of a robot system 100C in which a robot 1 with a built-in controller 61 is connected to a computer 66, and the computer 66 is connected to a cloud 64 via a network 65 such as a LAN. The robot 1 may be controlled by a processor in the computer 66 that reads commands from memory and executes them, or by a processor on the cloud 64 that reads commands from memory via the computer 66 and executes them.

[0107] Therefore, one, two, or three of the controller 61, computer 66, and cloud 64 can be considered as a "control device."

[0108] The method for adjusting the operating parameters of the present invention has been described above in the illustrated embodiment, but the present invention is not limited thereto. Furthermore, each part constituting the robot system can be replaced with any configuration that can perform similar functions. In addition, any additional components may be added. [Explanation of Symbols]

[0109] 1...Robot, 3...Control device, 3A...Target position setting unit, 3B...Drive control unit, 3C...Memory unit, 3D...Parameter adjustment unit, 4...Teaching device, 10...Robot arm, 11...Base, 12...First arm, 13...Second arm, 14...Third arm, 15...Fourth arm, 16...Fifth arm, 17...Sixth arm, 18...Relay cable, 19...Force detection unit, 20...End effector, 30...Position control unit, 31...Coordinate transformation unit, 32...Coordinate transformation unit, 33...Correction unit, 34...Force control unit, 35...Command integration unit, 351...Execution unit, 61...Controller, 62...Computer, 63...Computer, 64...Cloud, 65...Network, 66...Computer, 100...Robot Robot system, 100A...Robot system, 100B...Robot system, 100C...Robot system, 171...Joint, 172...Joint, 173...Joint, 174...Joint, 175...Joint, 176...Joint, 200...Insertion hole, 411...Snapping mechanism, A...Evaluation position and orientation, B...Evaluation position and orientation, C...Evaluation position and orientation, D...Evaluation position and orientation, CP...Control point, E1...Encoder, E2...Encoder, E3...Encoder, E4...Encoder, E5...Encoder, E6...Encoder, M1...Motor, M2...Motor, M3...Motor, M4...Motor, M5...Motor, M6...Motor, TCP...Tool center point, W1...Workpiece, W2...Workpiece

Claims

1. A method for adjusting operating parameters to determine the operating parameters set for a robot when it is operated and performs work using an object, A position and orientation determination step involves changing the position and orientation of the object at the start of the operation and having the robot perform the operation multiple times, obtaining an evaluation value for each operation, comparing the obtained evaluation values ​​of the multiple operations with a reference evaluation value, and determining an evaluation position and orientation from among the position and orientation of the object in which the evaluation value is less than or equal to the reference evaluation value. An update step in which the robot is operated with provisional motion parameters, the evaluation position and posture determined in the position and posture determination step is used as the starting position and posture of the work, the time or vibration of the robot related to the work is measured, and the provisional motion parameters are updated based on the measured time or vibration of the robot related to the work. The system includes a determination step in which the update step is repeated until the measured time of the work or the vibration of the robot subsides, and the latest provisional operation parameters are determined to be the operation parameters when actually performing the work. The robot comprises a robotic arm having multiple joints, The motion parameter adjustment method is characterized in that, in the position and posture determination step, a plurality of evaluation position and postures are obtained by varying the rotation angle of each joint.

2. The aforementioned operation includes the movement of the robot using force control, The method for adjusting operating parameters according to claim 1, wherein the operating parameters include force control parameters.

3. The method for adjusting operating parameters according to claim 2, wherein the force control parameter includes at least one of a target force, a virtual viscosity coefficient, a virtual elastic modulus, and a virtual mass coefficient.

Citation Information

Patent Citations

  • Robot control device, robot and robot system

    JP2017030068A

  • Control device, robot and robot system

    JP2019111604A

  • Control method and robot system

    JP2020157459A

  • Robot motion adjustment device, motion control system, and robot system

    WO2019098044A1

  • Information processing device, workpiece recognition device, and workpiece retrieval device

    WO2021124445A1