Control device, robot system, robot control method, and robot control program

The control device stabilizes force control in robot systems by adjusting parameters based on operator dynamics, ensuring consistent performance despite variations in operators.

JP7722891B2Active Publication Date: 2025-08-13KAWASAKI JUKOGYO KK
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2021164313
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-10-05
Publication Date
2025-08-13
Estimated Expiration
2041-10-05

AI Technical Summary

Technical Problem

The stability and responsiveness of force control in robot systems can change due to variations in operators, affecting the behavior of the force control.

Method used

A control device that includes a force control unit, estimation unit, and adjustment unit to stabilize force control by adjusting control parameters based on the estimated dynamic characteristics of the operator, ensuring target frequency characteristics are maintained.

Benefits of technology

The control device stabilizes force control behavior even with changes in operators, maintaining consistent performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007722891000020
    Figure 0007722891000020
  • Figure 0007722891000021
    Figure 0007722891000021
  • Figure 0007722891000022
    Figure 0007722891000022
Patent Text Reader

Abstract

To stabilize behavior of force control even when there is a change of operator or the like.SOLUTION: A control device 3 includes: a force control section 36 which causes a robot 1 to operate and apply an action to an object W according to an operational force applied to an operation device 2 by an operator U, and which implements force control for making the operation device 2 operate according to a reaction force received by the robot 1 from the object W; an estimation section 37 which estimates dynamic characteristics of an operator U; and an adjustment section 310 which adjusts control parameters of the force control according to the estimated dynamic characteristics of the operator, such that frequency characteristics of the force control attain target frequency characteristics.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology disclosed herein relates to a control device, a robot system, a robot control method, and a robot control program. [Background technology]

[0002] Conventionally, there have been known control devices that control a robot system that includes a master unit and a slave unit. For example, a control device disclosed in Patent Document 1 operates a manipulator as a slave unit in response to an operation via the master unit. The manipulator applies an action while in contact with an object. The force applied from the manipulator to the object is controlled in response to an operator's operation of the master unit. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 03-162289 Summary of the Invention [Problem to be solved by the invention]

[0004] Incidentally, the frequency characteristics such as stability and responsiveness in the force control described above can change due to various factors. For example, when the operator changes, the stability of the force control can change. Even when the operator is the same, the stability of the force control can change. Therefore, the behavior of the force control can change with changes in the operator, etc.

[0005] The technique disclosed herein has been made in consideration of the above points, and its purpose is to stabilize the behavior of force control even if there are changes in the operator, etc. [Means for solving the problem]

[0006] The control device disclosed herein includes a force control unit that operates a slave device to act on an object in accordance with an operating force applied from an operator to a master device, and that executes force control to operate the master device in accordance with a reaction force that the slave device receives from the object; an estimation unit that estimates dynamic characteristics of the operator; and an adjustment unit that adjusts control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics.

[0007] The robot system disclosed herein comprises the master device operated by the operator, the slave device that applies an action to the object, and the control device.

[0008] The robot control method disclosed herein includes performing force control to operate a slave device to act on an object in accordance with an operating force applied from an operator to a master device, and to operate the master device in accordance with a reaction force that the slave device receives from the object; estimating dynamic characteristics of the operator; and adjusting control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics.

[0009] The robot control program disclosed herein is a robot control program for causing a computer to realize functions for controlling a robot system including a master device to which an operating force is applied by an operator and a slave device that applies an action to an object, and causes the computer to realize functions of: operating the slave device to apply an action to the object in accordance with the operating force applied to the master device, and executing force control for operating the master device in accordance with a reaction force that the slave device receives from the object; estimating dynamic characteristics of the operator; and adjusting control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics. [Effects of the Invention]

[0010] The control device can stabilize the behavior of the force control even if there is a change in the operator or the like.

[0011] The robot system can stabilize the behavior of the force control even if the operator or the like changes.

[0012] The robot control method can stabilize the behavior of the force control even if there is a change in the operator or the like.

[0013] The robot control program can stabilize the behavior of the force control even if there is a change in the operator or the like. [Brief explanation of the drawings]

[0014] [Figure 1] FIG. 1 is a schematic diagram showing the configuration of a robot system. [Figure 2] FIG. 2 is an enlarged view of the end effector. [Figure 3] FIG. 3 is a diagram illustrating a schematic hardware configuration of the robot control device. [Figure 4] FIG. 4 is a perspective view of the operating device. [Figure 5] FIG. 5 is a diagram illustrating a schematic hardware configuration of the operation control device. [Figure 6] FIG. 6 is a diagram illustrating a schematic hardware configuration of the control device. [Figure 7] FIG. 7 is a functional block diagram of the control unit. [Figure 8] FIG. 8 is a block diagram in which the force control section is broken down into detailed functions. [Figure 9] FIG. 9 is a block diagram of the entire robot system. [Figure 10] FIG. 10 is a block diagram of a master control system including an operating device. [Figure 11] FIG. 11 is a block diagram of a slave control system including a robot. [Figure 12] FIG. 12 is a flowchart of the estimation process performed by the estimation unit. [Figure 13]FIG. 13 is a flowchart of the control parameter adjustment. DETAILED DESCRIPTION OF THE INVENTION

[0015] Exemplary embodiments will now be described in detail with reference to the accompanying drawings.

[0016] In the present disclosure, the work performed by the robot does not include teaching work or teaching confirmation and correction work, and therefore the operating device 2 in the following description does not include a teach pendant.

[0017] FIG. 1 is a schematic diagram showing the configuration of a robot system 100.

[0018] The robot system 100 includes a robot 1, an operating device 2 operated by an operator U, and a control device 3 that controls the robot 1. The robot system 100 constitutes a master-slave system. The operating device 2 functions as the master device, and the robot 1 functions as the slave device. The control device 3 controls the entire robot system 100 and performs bilateral control between the robot 1 and the operating device 2.

[0019] <Robot 1 Configuration> The robot 1 is, for example, an industrial robot. The robot 1 has an end effector 11 that applies an action to an object W, and a robot arm 12 that operates the end effector 11. The end effector 11 is connected to the tip of the robot arm 12. The robot 1 operates, i.e., moves, the end effector 11 using the robot arm 12, and applies an action to the object W using the end effector 11. The end effector 11 can apply an action to the object W while in contact with the object W. For example, the action is processing. For example, the object W is the curved wall of a large tank, etc.

[0020] The robot 1 may further include a base 10 that supports the robot arm 12 and a robot control device 14 that controls the entire robot 1.

[0021] The robot arm 12 changes the position and posture of the end effector 11. The robot arm 12 is a vertically articulated robot arm. The robot arm 12 has a plurality of links 12a, joints 12b connecting the plurality of links 12a, and a servo motor 15 (see FIG. 3) that rotationally drives the plurality of joints 12b. For example, the link 12a located at one end of the robot arm 12 (the end opposite the end effector 11) is connected to the base 10 via the joint 12b so as to be rotatable around a rotation axis R1 extending in the vertical direction.

[0022] The robot arm 12 may be a horizontal articulated type, a parallel link type, a rectangular coordinate type, or a polar coordinate type robot arm.

[0023] 2 is an enlarged view of the end effector 11. The end effector 11 has a grinding device 11a and applies grinding as an action to the object W. Note that the action applied by the end effector 11 to the object W may be cutting, polishing, or the like instead of grinding.

[0024] For example, the grinding device 11a may be a grinder, an orbital sander, a random orbit sander, a delta sander, a belt sander, or the like. The grinder may be a type that rotates a disk-shaped grinding wheel, a type that rotates a conical or cylindrical grinding wheel, or the like. Here, the grinding device 11a is a grinder that rotates a disk-shaped grinding wheel.

[0025] A slave coordinate system with three orthogonal axes is defined for the robot 1. The slave coordinate system is set based on the robot 1. The slave coordinate system has an Xr-axis, a Yr-axis, and a Zr-axis that are orthogonal to each other. The Xr-axis, the Yr-axis, and the Zr-axis intersect with each other at an origin Or. As shown in FIG. 1, the origin Or is located on the upper surface of the base 10. The Xr-axis and the Yr-axis extend horizontally, i.e., parallel to the upper surface of the base 10. The Zr-axis extends vertically. The Zr-axis coincides with the rotation axis R1 of the joint 12b that connects the robot arm 12 and the base 10. The Yr-axis extends perpendicular to the plane of the paper in FIG. 1.

[0026] A tool coordinate system with three orthogonal axes is defined for the end effector 11. The tool coordinate system is fixed to the end effector 11. As shown in FIG. 2, the tool coordinate system has an Xt axis, a Yt axis, and a Zt axis, which are orthogonal to each other. The Xt axis, the Yt axis, and the Zt axis intersect at the origin Ot. For example, the origin Ot is located at the point of contact between the grinding device 11a and the workpiece W. Specifically, the rotation axis B of the grinding wheel of the grinding device 11a is inclined with respect to the rotation axis R2 of the link 12a to which the end effector 11 is attached. The part of the outer edge of the grinding wheel farthest from the link 12a in the direction of the rotation axis R2 is assumed to be the point of contact with the workpiece W. The Zt axis extends parallel to the rotation axis R2. The Xt axis is set so that the rotation axis B of the grinding wheel extends in the Xt-Zt plane. The Yt axis extends perpendicular to the plane of the paper in FIG. 2. When viewed from the slave coordinate system, the tool coordinate system is displaced according to the position and posture of the end effector 11. In other words, the tool coordinate system moves together with the end effector 11 in accordance with the movement of the robot arm 12.

[0027] The robot 1 may further include a contact force sensor 13 that detects a reaction force (hereinafter referred to as a "contact force") that the end effector 11 receives from an object.

[0028] In this example, the contact force sensor 13 is provided between the robot arm 12 and the end effector 11 (specifically, at the connection between the robot arm 12 and the end effector 11). The contact force sensor 13 detects forces in three orthogonal axial directions and moments around the three axes. The contact force sensor 13 is an example of a contact force detection unit.

[0029] The contact force detection unit is not limited to the contact force sensor 13. For example, the contact force sensor 13 may detect forces only in one, two, or three axis directions. Alternatively, the contact force detection unit may be a current sensor that detects the current of the servo motor 15 of the robot arm 12, a torque sensor that detects the torque of the servo motor 15, or the like.

[0030] 3 is a diagram showing a schematic hardware configuration of the robot control device 14. The robot control device 14 controls the servo motor 15 of the robot arm 12 and the grinding device 11a. The robot control device 14 receives a detection signal from the contact force sensor 13. The robot control device 14 transmits and receives information, commands, data, etc. to and from the control device 3. The robot control device 14 has a control unit 16, a storage unit 17, and a memory 18.

[0031] The control unit 16 controls the entire robot control device 14. The control unit 16 performs various types of arithmetic processing. For example, the control unit 16 is formed of a processor such as a CPU (Central Processing Unit). The control unit 16 may also be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), or the like.

[0032] The storage unit 17 stores various data and programs executed by the control unit 16. The storage unit 17 is formed of a nonvolatile memory, a hard disc drive (HDD), a solid state drive (SSD), or the like.

[0033] The memory 18 temporarily stores data, etc. For example, the memory 18 is formed of a volatile memory.

[0034] <Configuration of operation device 2> 1, the operation device 2 has an operation unit 21 operated by an operator U, and an operation force sensor 23 that detects the operation force applied to the operation unit 21 by the operator U. The operation device 2 receives input for manually operating the robot 1, and outputs operation information, which is the input information, to the control device 3. Specifically, the operator U grips the operation unit 21 to operate the operation device 2. The operation force sensor 23 detects the force applied to the operation unit 21 at that time. The operation force detected by the operation force sensor 23 is output to the control device 3 as operation information.

[0035] The operation device 2 may further include a base 20, a support mechanism 22 provided on the base 20 and supporting the operation unit 21, and an operation control device 24 for controlling the entire operation device 2. The operation device 2 applies a reaction force to the operation force to the operator U under the control of the control device 3. Specifically, the operation control device 24 receives a command from the control device 3 and controls the support mechanism 22, thereby causing the operator U to sense the reaction force.

[0036] FIG. 4 is a perspective view of the operating device 2. The support mechanism 22 has six arms 22a. Two arms 22a form one set. That is, the support mechanism 22 has three sets of arms 22a. The three sets of arms 22a extend radially from the operating unit 21. Each arm 22a has a joint 22b. Each joint 22b connects two links forming the arm 22a via a universal joint such as a ball joint so that the arms can rotate around three orthogonal axes. Each arm 22a can bend at the joint 22b. One end of each arm 22a is connected to the operating unit 21 via a universal joint such as a ball joint so that the arms can rotate around three orthogonal axes. The other end of each arm 22a is connected to a servo motor 25 via a reducer or the like (not shown). The servo motor 25 is disposed on the base 20.

[0037] Six servo motors 25 are arranged on the upper surface of the base 20. Two servo motors 25 connected to two arms 22a of the same set form one set. The rotation axes of the two servo motors 25 of each set extend in a straight line, i.e., coaxially. The six servo motors 25 are arranged so that the rotation axes of the servo motors 25 of three sets form a triangle.

[0038] The support mechanism 22 configured in this manner supports the operation unit 21 so that the operation unit 21 can take any position and posture in three-dimensional space. The servo motor 25 rotates in accordance with the position and posture of the operation unit 21. The amount of rotation of the servo motor 25, i.e., the rotation angle, is uniquely determined.

[0039] A master coordinate system with three orthogonal axes is defined for the operation device 2. The master coordinate system is set based on the operation device 2. The master coordinate system has Xm, Ym, and Zm axes that are orthogonal to each other. The Xm, Ym, and Zm axes intersect with each other at the origin Om. The origin Om is located on the upper surface of the base 20. The Xm and Ym axes extend horizontally, i.e., parallel to the upper surface of the base 20. The Zm axis extends vertically. The Zm axis passes through the center of gravity of a triangle formed by the rotation axes of the three servo motors 25. The master coordinate system is a coordinate system fixed to the base 20 of the operation device 2.

[0040] In addition, an operation coordinate system with three orthogonal axes is defined for the operation unit 21. The operation coordinate system is a coordinate system fixed to the operation unit 21. The operation coordinate system has an Xn axis, a Yn axis, and a Zn axis that are orthogonal to each other. The Xn axis, the Yn axis, and the Zn axis are orthogonal to each other at the origin On. For example, the origin On is located at the center of the operation unit 21. When viewed from the master coordinate system, the operation coordinate system is displaced according to the position and posture of the operation unit 21. In other words, the operation coordinate system moves together with the operation unit 21 according to the movement of the operation unit 21. In this example, the operation coordinate system corresponds to the tool coordinate system.

[0041] In this example, the operating force sensor 23 is provided between the operating unit 21 and the support mechanism 22 (specifically, at the connection between the operating unit 21 and the support mechanism 22) as shown in FIG. 1. The operating force sensor 23 detects forces in three orthogonal axial directions and moments around the three axes. The operating force sensor 23 is an example of an operating force detection unit.

[0042] The operating force detection unit is not limited to the operating force sensor 23. For example, the operating force sensor 23 may detect only one-axis, two-axis, or three-axis force. Alternatively, the operating force detection unit may be a current sensor that detects the current of the servo motor 25 of the support mechanism 22, a torque sensor that detects the torque of the servo motor 25, or the like.

[0043] 5 is a diagram showing a schematic hardware configuration of the operation control device 24. The operation control device 24 operates the support mechanism 22 by controlling the servo motor 25. The operation control device 24 receives a detection signal from the operation force sensor 23. The operation control device 24 transmits and receives information, commands, data, etc. to and from the control device 3. The operation control device 24 has a control unit 26, a storage unit 27, and a memory 28.

[0044] The control unit 26 controls the entire operation control device 24. The control unit 26 performs various types of arithmetic processing. For example, the control unit 26 is formed of a processor such as a CPU (Central Processing Unit). The control unit 26 may also be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), or the like.

[0045] The storage unit 27 stores various data and programs executed by the control unit 26. The storage unit 27 is formed of a nonvolatile memory, a hard disc drive (HDD), a solid state drive (SSD), or the like.

[0046] The memory 28 temporarily stores data, etc. For example, the memory 28 is formed of a volatile memory.

[0047] <Configuration of control device 3> The control device 3 controls the robot 1 and the operation device 2. The control device 3 outputs a slave command to the robot 1 to operate the end effector 11 in accordance with operation information input via the operation device 2. The control device 3 controls the robot arm 12 in accordance with operation via the operation device 2, thereby causing the end effector 11 to act on the object W. Furthermore, the control device 3 outputs a master command to the operation device 2 to operate the operation unit 21 in accordance with the reaction force that the robot 1 receives from the object W. The control device 3 controls the support mechanism 22 to present to the operator U the reaction force that the end effector 11 receives from the object W.

[0048] 6 is a diagram showing a schematic hardware configuration of the control device 3. The control device 3 transmits and receives information, commands, data, etc. to and from the robot control device 14 and the operation control device 24. The control device 3 has a control unit 31, a storage unit 32, and a memory 33.

[0049] The control unit 31 controls the entire control device 3. The control unit 31 performs various types of arithmetic processing. For example, the control unit 31 is formed of a processor such as a CPU (Central Processing Unit). The control unit 31 may also be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), or the like.

[0050] The storage unit 32 stores various data and programs executed by the control unit 31. The storage unit 32 is formed of a non-volatile memory, a hard disk drive (HDD), a solid state drive (SSD), etc. For example, the storage unit 32 stores a robot control program 321.

[0051] The robot control program 321 is a program for causing the control unit 31, which is a computer, to realize the function of controlling the robot system 100.

[0052] The memory 33 temporarily stores data, etc. For example, the memory 33 is formed of a volatile memory.

[0053] The control device 3 also includes an input device 34 that allows the operator U to perform input operations, and a display device 35 that allows the operator U to be presented with information.

[0054] 7 is a functional block diagram of the control unit 31. The control unit 31 realizes various functions by reading out the robot control program 321 from the storage unit 32 into the memory 33 and expanding it. Specifically, the control unit 31 functions as a force control unit 36, an estimation unit 37, a presentation unit 38, a setting unit 39, and an adjustment unit 310.

[0055] The force control unit 36 executes force control. Force control is a control that operates the robot 1 to act on the object W in accordance with the operating force applied by the operator to the operating device 2, and also operates the operating device 2 in accordance with the reaction force that the robot 1 receives from the object W. More specifically, the force control unit 36 performs bilateral control between the robot 1 and the operating device 2. The force control unit 36 generates a slave command for the robot 1 and a master command for the operating device 2 based on the operating force input to the operating device 2 and the reaction force that acts on the robot 1 from the object W. The force control unit 36 controls the robot 1 and the operating device 2 by outputting the slave command to the robot 1 and the master command to the operating device 2.

[0056] The estimation unit 37 estimates the dynamic characteristics of the operator U. More specifically, the estimation unit 37 estimates the dynamic characteristics of the operator U using an operator model that is a dynamic model of the operator U. Furthermore, the estimation unit 37 estimates the dynamic characteristics of the object W, the dynamic characteristics of the robot 1, and the dynamic characteristics of the operation device 2. More specifically, the estimation unit 37 estimates the dynamic characteristics of the object W using an object model that is a dynamic model of the object W. The estimation unit 37 estimates the dynamic characteristics of the robot 1 using a slave model that is a dynamic model of the robot 1. The estimation unit 37 estimates the dynamic characteristics of the operation device 2 using a master model that is a dynamic model of the operation device 2. The estimation unit 37 estimates the dynamic characteristics of the operator U, the object W, the robot 1, and the operation device 2 when the force control unit 36 is performing force control of the robot 1 and the operation device 2.

[0057] The presentation unit 38 obtains the frequency characteristics of the force control and presents the obtained frequency characteristics. Specifically, the presentation unit 38 obtains the frequency characteristics of the force control when the force control unit 36 is executing force control of the robot 1 and the operation device 2. The presentation unit 38 obtains the frequency characteristics using the dynamic characteristics of the operator U, the object W, the robot 1, and the operation device 2 estimated by the estimation unit 37. The presentation unit 38 expresses the frequency characteristics in the form of a predetermined evaluation value. The presentation unit 38 displays the evaluation value on the display device 35.

[0058] The setting unit 39 receives an input of a target frequency characteristic for force control and sets the target frequency characteristic. Specifically, the setting unit 39 receives an input of the target frequency characteristic from the operator U via the input device 34. For example, the setting unit 39 also uses an evaluation value of the frequency characteristic when inputting the target frequency characteristic. In other words, the setting unit 39 receives an input of a target evaluation value, thereby essentially receiving an input of the target frequency characteristic.

[0059] The adjustment unit 310 adjusts the control parameters of the force control so that the frequency characteristics of the force control become the target frequency characteristics set by the setting unit 39. In this example, the adjustment unit 310 adjusts the control parameters in accordance with at least one of the dynamic characteristics of the operator U, the object W, the robot 1, and the operation device 2 so that the frequency characteristics of the force control become the target frequency characteristics.

[0060] These functional blocks will now be described in more detail.

[0061] Force control in robot systems Fig. 8 is a block diagram that breaks down the force control unit 36 into detailed functions. Fig. 8 also shows functional blocks of the control unit 16 of the robot control device 14 and the control unit 26 of the operation control device 24.

[0062] The control unit 16 of the robot control device 14 realizes various functions by reading out a program from the storage unit 17 into the memory 18 and developing it. Specifically, the control unit 16 functions as an input processing unit 41 and an operation control unit 42.

[0063] The input processing unit 41 outputs information, data, commands, etc. received from the contact force sensor 13 and the servo motor 15 to the control device 3. Specifically, the input processing unit 41 receives detection signals of six-axis force from the contact force sensor 13 and outputs the detection signals to the control device 3 as operation information. The input processing unit 41 also receives detection signals of a rotation sensor (e.g., an encoder) and a current sensor from the servo motor 15. The input processing unit 41 outputs the detection signals to the operation control unit 42 for feedback control of the robot arm 12 by the operation control unit 42. The input processing unit 41 also outputs the detection signals to the control device 3 as position information of the robot arm 12.

[0064] The operation control unit 42 receives a slave command (specifically, a command position xds) from the control device 3 and generates a control command for operating the robot arm 12 in accordance with the slave command. The operation control unit 42 outputs the control command to the servo motor 15 to operate the robot arm 12 and move the grinding device 11a to a position corresponding to the command position. At this time, the operation control unit 42 feedback-controls the operation of the robot arm 12 based on the detection signal of the rotation sensor and / or current sensor of the servo motor 15 from the input processing unit 41. The operation control unit 42 also outputs a control command to the grinding device 11a to operate the grinding device 11a. As a result, the grinding device 11a grinds the object W.

[0065] The control unit 26 of the operation control device 24 realizes various functions by reading out a program from the storage unit 27 into the memory 28 and developing it. Specifically, the control unit 26 functions as an input processing unit 51 and an operation control unit 52.

[0066] The input processing unit 51 outputs information, data, commands, etc. received from the operating force sensor 23 to the control device 3. Specifically, the input processing unit 51 receives six-axis force detection signals from the operating force sensor 23 and outputs the detection signals as reaction force information to the control device 3. The input processing unit 51 also receives detection signals from a rotation sensor (e.g., an encoder) and a current sensor from the servo motor 25. The input processing unit 51 outputs the detection signals to the operation control unit 52 for feedback control of the support mechanism 22 by the operation control unit 52.

[0067] The operation control unit 52 receives a master command (specifically, a command position xdm) from the control device 3 and generates a control command for operating the support mechanism 22 in accordance with the master command. The operation control unit 52 outputs a control command to the servo motor 25 to operate the support mechanism 22 and move the operation unit 21 to a position corresponding to the command position. At this time, the operation control unit 52 feedback-controls the operation of the support mechanism 22 based on the detection signal of the rotation sensor and / or current sensor of the servo motor 25 from the input processing unit 51. As a result, a reaction force is applied to the operation unit 21 against the operation force applied by the operator U. As a result, the operator U can operate the operation unit 21 while virtually feeling the reaction force from the object W from the operation unit 21.

[0068] The control unit 31 of the control device 3 realizes various functions by reading out the robot control program 321 from the storage unit 32 into the memory 33 and expanding it. Specifically, the control unit 31 functions as an operation force acquisition unit 61, a contact force acquisition unit 62, an adder 63, a force / velocity conversion unit 64, a slave output unit 65, and a master output unit 66. The operation force acquisition unit 61, the contact force acquisition unit 62, the adder 63, the force / velocity conversion unit 64, the slave output unit 65, and the master output unit 66 are part of the force control unit 36. With these functions, the control device 3 generates slave commands and master commands according to operation information and reaction force information.

[0069] The operation force acquisition unit 61 receives the detection signal of the operation force sensor 23 via the input processing unit 51 and acquires the operation force fm based on the detection signal. For example, the operation force acquisition unit 61 determines, from the detection signal of the operation force sensor 23, a force acting on the operation unit 21 and expressed in the operation coordinate system as the operation force fm. The operation force acquisition unit 61 inputs the operation force fm to the adder 63.

[0070] The contact force acquiring unit 62 receives the detection signal of the contact force sensor 13 via the input processing unit 41 and acquires the contact force fs based on the detection signal. For example, the contact force acquiring unit 62 determines, from the detection signal of the contact force sensor 13, the force acting on the contact point of the end effector 11 with the target object W and expressed in the tool coordinate system as the contact force fs. The contact force acquiring unit 62 inputs the contact force fs to the adding unit 63.

[0071] The adder 63 calculates the sum of the operation force fm input from the operation force acquisition unit 61 and the contact force fs input from the contact force acquisition unit 62. Here, the operation force fm and the contact force fs are forces in opposite directions, and therefore the operation force fm and the contact force fs have different positive and negative signs. In other words, the absolute value of the resultant force fm+fs, which is the sum of the operation force fm and the contact force fs, is smaller than the absolute value of the operation force fm.

[0072] The force / velocity conversion unit 64 converts the resultant force fm+fs into a command velocity xd'. The force / velocity conversion unit 64 calculates the command velocity xd' of the object when the resultant force fm+fs acts, using a motion model based on a motion equation including an inertia coefficient and a viscosity coefficient (damper coefficient). Specifically, the force / velocity conversion unit 64 calculates the command velocity xd' based on the following motion equation:

[0073]

number

[0074] Equation (1) is a linear differential equation, and when equation (1) is solved for the command velocity xd', it becomes xd' = V(fm, fs). V(fm, fs) is a function with fm and fs as variables and md, cd, etc. as constants. md and cd are control parameters in force control.

[0075] The function V(fm, fs) is stored in the storage unit 32. The force / velocity conversion unit 64 reads the function V(fm, fs) from the storage unit 32 and calculates the command velocity xd'. The force / velocity conversion unit 64 outputs the calculated command velocity xd' to the slave output unit 65 and the master output unit 66.

[0076] The slave output unit 65 generates a slave command based on the command velocity xd'. More specifically, the slave output unit 65 converts the command velocity xd' into a command position xds of the end effector 11. The command position xds is a position in the tool coordinate system. The command position xds is the slave command. For example, if the ratio of the movement amount of the robot 1 to the movement amount of the operating device 2 is set, the slave output unit 65 multiplies the command position calculated from the command velocity xd' in accordance with the movement ratio to calculate the command position xds. The slave output unit 65 outputs the command position xds to the robot control device 14, specifically, to the operation control unit 42.

[0077] The operation control unit 42 generates a control command to the servo motor 15 to move the end effector 11 to the command position xds. The operation control unit 42 outputs the generated control command to the servo motor 15 to operate the robot arm 12 and move the end effector 11 to a position corresponding to the command position xds.

[0078] The master output unit 66 generates a master command based on the command speed xd'. More specifically, the master output unit 66 converts the command speed xd' into a command position xdm of the operation unit 21. The command position xdm is a position in the operation coordinate system. The command position xdm is the master command. The master output unit 66 outputs the command position xdm to the operation control device 24, specifically, to the operation control unit 52.

[0079] The operation control unit 52 generates a control command to the servo motor 25 to move the operation unit 21 to the command position xdm. The operation control unit 52 outputs the generated control command to the servo motor 25 to operate the support mechanism 22 and move the operation unit 21 to a position corresponding to the command position xdm.

[0080] Next, a description will be given of the operation of the robot system 100 under force control. For example, an operator U operates the operation device 2 to cause the robot 1 to perform grinding on an object W.

[0081] First, the control device 3 acquires the operation force and the contact force. When the operator U operates the operation device 2, the operation force sensor 23 detects the operation force applied by the operator U via the operation unit 21. The operation force detected by the operation force sensor 23 is input to the control device 3 as a detection signal by the input processing unit 51. At this time, the contact force detected by the contact force sensor 13 of the robot 1 is input to the control device 3 as a detection signal by the input processing unit 41.

[0082] In the control device 3, the operating force acquisition unit 61 inputs the operating force fm based on the detection signal to the addition unit 63. The contact force acquisition unit 62 inputs the contact force fs based on the detection signal to the addition unit 63.

[0083] Next, the control device 3 generates a command velocity xd' of the master command and the slave command. Specifically, the adder 63 inputs the resultant force fm+fs to the force / velocity converter 64. The force / velocity converter 64 calculates the command velocity xd' from the resultant force fm+fs using a function V(fm, fs).

[0084] Thereafter, the slave output unit 65 generates a command position xds (i.e., a slave command) for the end effector 11 from the command velocity xd'. In parallel with this, the master output unit 66 generates a command position xdm (i.e., a master command) for the operation unit 21. The slave output unit 65 outputs the command position xds to the robot 1, and the master output unit 66 outputs the command position xdm to the operation device 2. As a result, the robot 1 operates in accordance with the command position xds to perform grinding. In parallel with this, the operation device 2 operates in accordance with the command position xdm to present a reaction force to the operator U.

[0085] <Frequency characteristics presentation> The presentation unit 38 calculates the frequency characteristics of such force control and presents the calculated frequency characteristics. The frequency characteristics of force control are affected by various elements in the robot system 100. FIG. 9 is an overall block diagram of the robot system 100. In the robot system 100, as described above, the operator U grips and operates the operation device 2. The operation force fm from the operator is input to the control device 3 via the operation force sensor 23. Meanwhile, the end effector 11 is in contact with the object W. The contact force fs at that time is input to the control device 3 via the contact force sensor 13. The resultant force fm+fs is input to the control device 3. The force control unit 36 of the control device 3 generates a slave command and a master command from the resultant force fm+fs. The robot control device 14 controls the position of the robot 1 in accordance with the slave command, and the end effector 11 processes the object W. In parallel with this, the operation control device 24 controls the position of the operation device 2 in accordance with the master command, and the operation unit 21 presents a reaction force to the operator U.

[0086] Here, since the operation unit 21 is held by the operator U, the operation of the operation unit 21 is affected by the dynamic characteristics of the operator U, for example, mechanical impedance. The rigidity, mechanical resistance, etc. of the operator U vary from person to person. Furthermore, even for the same operator U, the rigidity, mechanical resistance, etc. of the operator U can change depending on the posture of the operator U (including the state of the arm, such as how bent the arm is). Therefore, the operation of the operation unit 21 is affected by the dynamic characteristics of the operator U.

[0087] Similarly, since the end effector 11 of the robot 1 is in contact with the object W, the operation of the end effector 11 is affected by the dynamic characteristics of the object W, for example, mechanical impedance. The rigidity, mechanical resistance, etc. of the object W vary from object to object. Furthermore, even for the same object W, the rigidity, mechanical resistance, etc. of the object W can change depending on the processing conditions. Therefore, the operation of the end effector 11 is affected by the dynamic characteristics of the object W.

[0088] Furthermore, the shape, attitude, etc. of the support mechanism 22 change due to control by the control device 3 and operation of the operation unit 21 by the operator U. The shape, attitude, etc. of the support mechanism 22 can affect the frequency response of the operation device 2. The dynamic characteristics of the operation device 2, for example, the frequency response, affect the operation of the operation device 2 in force control. In other words, the operation of the operation device 2 is affected by the dynamic characteristics of the operation device 2.

[0089] Similarly, the shape, posture, etc. of the robot arm 12 change due to control by the control device 3. The shape, posture, etc. of the robot arm 12 can affect the frequency response of the robot 1. The dynamic characteristics of the robot 1, for example, the frequency response, affect the behavior of the robot 1 in force control. In other words, the behavior of the robot 1 is affected by the dynamic characteristics of the robot 1.

[0090] The presentation unit 38 calculates the frequency characteristics of the force control based on the transfer function of the control system including a dynamic model that represents the dynamic characteristics, etc., of the operator U. Fig. 10 is a block diagram of the master control system 7A including the operation device 2. Fig. 11 is a block diagram of the slave control system 7B including the robot 1.

[0091] As shown in FIG. 10, the master control system 7A has a resultant force calculation element 71, a force control element 72, an operation device element 73, an operator element 74, and an operation force sensor element 75.

[0092] The resultant force calculation element 71 calculates a resultant force fm+fs of the operation force fm and the contact force fs. Although the sign of the contact force fs input to the resultant force calculation element 71 is + in Fig. 10, the operation force fm and the contact force fs are forces in opposite directions, so the resultant force calculation element 71 actually subtracts the contact force fs from the operation force fm.

[0093] The force control element 72 calculates the command position xds of the end effector 11 and the command position xdm of the operation unit 21 from the resultant force fm+fs. The force control element 72 corresponds to the force / velocity conversion unit 64, slave output unit 65, and master output unit 66 of the control device 3. The transfer function Gc of the force control element 72 is expressed by the following equation (2).

[0094]

number

[0095] The operating device element 73 converts the command position xdm into the actual current position xcm of the operating unit 21. In other words, the operating device element 73 corresponds to the operating device 2, and is represented by a master model which is a dynamic model of the operating device 2. The master model represents the dynamic characteristics of the operating device 2, specifically, the frequency response of the operating device 2. For example, the master model is a first-order lag system model. The transfer function Gp1 of the operating device element 73 is represented by the following equation (3).

[0096]

number

[0097] The operator element 74 converts the current position xcm into an operating force fm. In other words, the operator element 74 corresponds to the operator U and is represented by an operator model, which is a dynamic model of the operator U. The operator model represents the dynamic characteristics of the operator U. Specifically, the operator model includes the mechanical impedance of the operator U, that is, the stiffness coefficient ku and the viscosity coefficient cu. For example, when the operator model is approximated by a spring-damper model, the operator model is represented by the following equation (4). In that case, the transfer function Gk1 of the operator element 74 is represented by the following equation (5).

[0098]

number

[0099]

number

[0100] The open-loop transfer function Gm(jω) of the master control system 7A is expressed by the following equation (7).

[0101]

number

[0102] On the other hand, the slave control system 7B has a resultant force calculation element 71, a force control element 72, a robot element 76, an object element 77, and a contact force sensor element 78, as shown in FIG.

[0103] The resultant force calculation element 71 and the force control element 72 are the same as those in the master control system 7A.

[0104] The robot element 76 converts the command position xds into the actual current position xcs of the end effector 11. In other words, the robot element 76 corresponds to the robot 1, and is represented by a slave model, which is a dynamic model of the robot 1. The slave model represents the dynamic characteristics of the robot 1, specifically, the frequency response of the robot 1. For example, the slave model is a model of a first-order lag system. The transfer function Gp2 of the robot element 76 is represented by the following equation (8).

[0105]

number

[0106] The object element 77 converts the current position xcs into a contact force fs. In other words, the object element 77 corresponds to the object W and is represented by an object model, which is a dynamic model of the object W. The object model represents the dynamic characteristics of the object W. Specifically, the object model includes the mechanical impedance of the object W, that is, the stiffness coefficient kw and the viscosity coefficient cw. For example, if the object model is approximated by a spring-damper model, the object model is represented by the following equation (9). In that case, the transfer function Gk2 of the object element 77 is represented by the following equation (10).

[0107]

number

[0108]

number

[0109] The open-loop transfer function Gs(jω) of such a slave control system 7B is expressed by the following equation (12).

[0110]

number

[0111] The presentation unit 38 calculates the gain crossover frequency ωcg1 and gain margin gm1 of the master control system 7A, and the gain crossover frequency ωcg2 and gain margin gm2 of the slave control system 7B (hereinafter also referred to as "gain crossover frequency ωcg1, etc."), and represents the frequency characteristics of the force control using the gain crossover frequency ωcg1, etc.

[0112] The presentation unit 38 expresses the frequency characteristics of the force control using a first evaluation value related to responsiveness and a second evaluation value related to stability. For example, the presentation unit 38 refers to the first evaluation value as "speed" and expresses it as a value between 0 and 100%. The presentation unit 38 refers to the second evaluation value as "shake resistance" and expresses it as a value between 0 and 100%. The first evaluation value and the second evaluation value have a relative relationship. In other words, if the first evaluation value is high, the second evaluation value will be low. On the other hand, if the first evaluation value is low, the first evaluation value will be high.

[0113] A speed of 0% means low responsiveness, and a speed of 100% means high responsiveness. For example, when the gain crossover frequency is equal to or lower than a predetermined first frequency, the speed is 0%. When the gain crossover frequency is equal to or higher than a second frequency (>first frequency), the speed is 100%. When the gain crossover frequency is greater than the first frequency but less than the second frequency, the speed is greater than 0% and less than 100%. More specifically, when the gain crossover frequency is close to the first frequency, the speed is close to 0%. When the gain crossover frequency is close to the second frequency, the speed is close to 100%.

[0114] A fluctuation resistance of 0% means low stability, and a fluctuation resistance of 100% means high stability. For example, when the gain margin is equal to or less than a predetermined first value, the fluctuation resistance is 0%. When the gain margin is equal to or greater than a second value (> first value), the fluctuation resistance is 100%. When the gain margin is greater than the first value but less than the second value, the fluctuation resistance is greater than 0% but less than 100%. More specifically, when the gain margin is close to the first value, the fluctuation resistance is close to 0%. When the gain margin is close to the second value, the fluctuation resistance is close to 100%.

[0115] The presentation unit 38 obtains the speed of the master control system 7A from the gain crossover frequency ωcg1 and the fluctuation resistance from the gain margin gm1. The presentation unit 38 obtains the speed of the slave control system 7B from the gain crossover frequency ωcg2 and the fluctuation resistance from the gain margin gm2. In other words, the presentation unit 38 obtains the speed and fluctuation resistance of the master control system 7A and the speed and fluctuation resistance of the slave control system 7B.

[0116] The presentation unit 38 displays the speed and fluctuation resistance of the master control system 7A and the speed and fluctuation resistance of the slave control system 7B thus obtained on the display device 35. In this way, the operator U can know the frequency characteristics of the master control system 7A that take into account the dynamic characteristics of the operator U and the operation device 2, and the frequency characteristics of the slave control system 7B that take into account the dynamic characteristics of the object W and the robot 1.

[0117] Estimation of dynamic characteristics However, the dynamic characteristics of the object W, the operator U, the robot 1, and the operation device 2 are not constant. For example, the stiffness coefficient kw and the viscosity coefficient cw of the object W may differ depending on the individual differences between the objects W and the machining location on the object W. The stiffness coefficient ku and the viscosity coefficient cu of the operator U may differ depending on the individual differences between the operators U and the posture of the operator U. Furthermore, the time constant Tr of the robot 1 may differ depending on the machine differences and shape of the robot arm 12. The time constant Tc of the operation device 2 may differ depending on the machine differences and shape of the support mechanism 22.

[0118] Therefore, the estimation unit 37 estimates the dynamic characteristics of each of the object W, the operator U, the robot 1, and the operation device 2. The presentation unit 38 uses the estimated dynamic characteristics of each of the object W, the operator U, the robot 1, and the operation device 2 to derive the gain crossover frequency ωcg1 and the like, and ultimately the frequency characteristics of the force control.

[0119] In this example, it is assumed that the time constant Tf1 of the operating force sensor 23 and the time constant Tf2 of the contact force sensor 13 are constant. However, the estimation unit 37 may further estimate the time constants Tf1 and Tf2 as dynamic characteristics of the operating force sensor 23 and the contact force sensor 13. In this case, the presentation unit 38 also takes into account the estimated dynamic characteristics of the operating force sensor 23 and the contact force sensor 13 when deriving the gain crossover frequency ωcg1, etc.

[0120] Specifically, during execution of force control, the estimation unit 37 estimates the stiffness coefficient kw and viscosity coefficient cw of the object W, the stiffness coefficient ku and viscosity coefficient cu of the operator U, the time constant Tr of the robot 1, and the time constant Tc of the operating device 2.

[0121] The estimation unit 37 assumes an operator model expressed as in the following equation (13) using the mechanical impedance of the operator U, that is, the stiffness coefficient ku and the viscosity coefficient cu.

[0122]

number

[0123] The estimation unit 37 sets θ and ξ from this operator model as shown in equation (14), and estimates θ from time to time during execution of force control by the recursive least squares method with a forgetting factor shown in equations (15) and (16). Note that fm in equation (13) is substituted for y(k) in equation (15).

[0124]

number

[0125]

number

[0126] In this way, the estimation unit 37 estimates the stiffness coefficient ku and the viscosity coefficient cu of the operator U using the operator model.

[0127] The estimation unit 37 assumes an object model expressed as shown in the following equation (17) using the mechanical impedance of the object W, that is, the stiffness coefficient kw and the viscosity coefficient cw.

[0128]

number

[0129] The estimation unit 37 sets θ and ξ from this object model as shown in equation (18), and estimates θ from time to time during execution of force control by the recursive least squares method with forgetting factor shown in the above equations (15) and (16). Note that fs in equation (17) is substituted for y(k) in equation (15).

[0130]

number

[0131] The estimation unit 37 assumes a slave model as a first-order lag model using a time constant Tr, as in the following equation (19).

[0132]

number

[0133] The estimation unit 37 sets θ and ξ from this slave model as shown in equation (20), and estimates θ from time to time during execution of force control by the recursive least squares method with forgetting factor shown in the above equations (15) and (16). Note that Xcur in equation (17) is substituted for y(k) in equation (15).

[0134]

number

[0135] The estimation unit 37 assumes a master model as a first-order lag model using a time constant Tc, as shown in the following equation (21).

[0136]

number

[0137]

number

[0138] However, the dynamic characteristics of the operator U, etc. estimated in this manner may not be able to be estimated depending on the state of the robot 1, etc. For example, when the operator U is not gripping the operation unit 21, the operation force fm is not detected, and therefore the estimation unit 37 is unable to estimate the stiffness coefficient ku, etc. When the end effector 11 is not in contact with the object W, the contact force fs is not detected, and therefore the estimation unit 37 is unable to estimate the stiffness coefficient kw, etc. Alternatively, when the robot 1 and the operation device 2 are stopped, there is no displacement of the end effector 11 and the operation device 2, and therefore the estimation unit 37 is unable to estimate the time constant Tr, etc.

[0139] Therefore, the estimation unit 37 has a function of determining whether or not the dynamic characteristics of the operator U and the like can be estimated, and if the estimation is not possible, retaining the estimated value. Fig. 12 is a flowchart of the estimation process by the estimation unit 37. The process according to this flowchart is executed for estimating the dynamic characteristics of each of the object W, the operator U, the robot 1, and the operation device 2. In other words, the estimation unit 37 separately and in parallel estimates the dynamic characteristics of the object W, the dynamic characteristics of the operator U, the dynamic characteristics of the robot 1, and the dynamic characteristics of the operation device 2 according to the flowchart of Fig. 12.

[0140] At the start of estimation, initial values are set for the stiffness coefficient kw, viscosity coefficient cw, stiffness coefficient ku, viscosity coefficient cu, time constant Tr, and time constant Tc. Initial values are also set for θ, Γ, and λ in equations (15) and (16) of the recursive least squares method with forgetting factor in estimating the dynamic characteristics of the object W, operator U, robot 1, and operation device 2, respectively.

[0141] First, in step S101, the estimation unit 37 determines whether or not it is possible to estimate the dynamic characteristics.

[0142] For example, as described above, the operating force fm or the contact force fs is required to estimate the dynamic characteristics of the operator U or the object W. However, when the operator U is not applying force to the operating unit 21, the operating force fm is not detected. Furthermore, when the end effector 11 is not in contact with the object W, the contact force fs is not detected. Therefore, when estimating the dynamic characteristics of the operator U or the object W, the estimation unit 37 determines whether the operating force fm or the contact force fs has been detected for a predetermined period or more. By determining that the detection of the operating force fm or the contact force fs is not instantaneous but has continued for a predetermined period, the estimation unit 37 can determine whether the detection of the operating force fm or the contact force fs is due to a processing operation or is accidental.

[0143] When the operation force fm or the contact force fs is detected for a predetermined period or longer, the estimation unit 37 determines that the dynamic characteristics of the operator U or the object W can be estimated. On the other hand, when the operation force fm or the contact force fs is not detected for a predetermined period or longer, the estimation unit 37 determines that the dynamic characteristics of the operator U or the object W cannot be estimated.

[0144] On the other hand, as described above, estimation of the dynamic characteristics of the robot 1 or the operating device 2 requires the displacement of the end effector 11 or the operating unit 21. Therefore, when estimating the dynamic characteristics of the robot 1 or the operating device 2, the estimation unit 37 determines whether the end effector 11 or the operating unit 21 is displaced. Specifically, the estimation unit 37 determines that the end effector 11 or the operating unit 21 is displaced when the command velocity xd' is equal to or greater than a predetermined threshold.

[0145] When the end effector 11 or the operation unit 21 is displaced, the estimation unit 37 determines that the dynamic characteristics of the robot 1 or the operation device 2 are in an estimable state. On the other hand, when the end effector 11 or the operation unit 21 is not displaced, the estimation unit 37 determines that the dynamic characteristics of the robot 1 or the operation device 2 are in an unestimable state.

[0146] If it is determined in step S101 that the state is one in which estimation is possible, the estimation unit 37 estimates the dynamic characteristics using a recursive least squares method with a forgetting factor in step S102. Note that, when estimating the dynamic characteristics of the operator U or the object W, the displacement amount of the operation unit 21 or the end effector 11 is required, as shown in equations (14), (18), etc. Therefore, the position of the operation unit 21 or the end effector 11 when it is determined in step S101 that the state is one in which estimation is possible is set as the initial position, and the displacement amount of the operation unit 21 or the end effector 11 is calculated. The estimated value calculated in step S102 is provisional and is not yet a definitive estimated value. Hereinafter, the estimated value from the time of estimation in step S102 until it is determined is referred to as a "new estimated value," and the estimated value that is determined and held is referred to as a "current estimated value."

[0147] Next, in step S103, the estimation unit 37 determines whether the absolute value of the deviation between the new estimated value and the current estimated value is equal to or less than a predetermined value α. For example, when transitioning from an estimation-unable state to an estimation-enabled state, the estimated value may temporarily fluctuate significantly. In step S103, it is determined whether such a large fluctuation in the estimated value exists.

[0148] If the absolute value of the deviation is greater than the predetermined value α, the estimation unit 37 returns to step S101 without updating the current estimated value, and executes the process of step S101 again.

[0149] On the other hand, if the absolute value of the deviation is equal to or less than the predetermined value α, the estimation unit 37 calculates the average of the estimated values in step S104. Specifically, the estimation unit 37 calculates the average of a predetermined number of recent estimated values, including the new estimated value and the current estimated value. Next, in step S105, the estimation unit 37 updates the current estimated value with the average of the estimated values. Updating the current estimated value with the average of the estimated values prevents sudden fluctuations in the current estimated value.

[0150] Thereafter, the estimation unit 37 returns to step S101 and repeats the process from step S101.

[0151] On the other hand, if it is determined in step S101 that the estimation is impossible, the estimation unit 37 initializes the variables (specifically, θ, Γ, λ) of the estimation formula in the recursive least squares method with forgetting factor in step S106. Thereafter, the estimation unit 37 returns to step S101 and executes the process of step S101 again. While the estimation is impossible, the estimation unit 37 repeats the processes of steps S101 and S106. Then, when the estimation is impossible to perform and the state transitions to an estimation possible state, the estimation unit 37 executes the processes from step S102 onwards, deriving a new estimated value and updating the current estimated value. In other words, while the estimation is impossible, the estimation unit 37 holds the current estimated value without updating it.

[0152] In this way, the estimation unit 37 estimates the dynamic characteristics of the operator U, etc., while the force control is being executed. The estimation unit 37 can appropriately estimate the dynamic characteristics by determining whether or not the dynamic characteristics can be estimated. As a result, the presentation unit 38 can appropriately obtain and present the frequency characteristics of the force control.

[0153] Automatic adjustment of control parameters In the robot system 100, the control parameters of the force control are automatically adjusted so that the frequency characteristics of the force control become the target frequency characteristics. Specifically, the setting unit 39 sets the target frequency characteristics, and the adjustment unit 310 adjusts the control parameters in accordance with the target frequency characteristics. At this time, the dynamic characteristics of the operator U, etc. estimated by the estimation unit 37 are used.

[0154] More specifically, the setting unit 39 receives an input of the target frequency characteristics for force control from the operator U via the input device 34 and sets the target frequency characteristics. The setting unit 39 sets the target frequency characteristics for the slave control system 7B and the target frequency characteristics for the master control system 7A separately. That is, the operator U inputs the target frequency characteristics for one or both of the slave control system 7B and the master control system 7A via the input device 34.

[0155] At this time, before the target frequency characteristics are input, the frequency characteristics may be presented by the presentation unit 38. In this case, the operator can input the target frequency characteristics by referring to the presented current frequency characteristics. Alternatively, if the target frequency characteristics have been determined in advance, the target frequency characteristics may be input without being presented by the presentation unit 38.

[0156] The input target frequency characteristic may be any parameter related to the frequency characteristic. For example, the parameters as the target frequency may be the same first evaluation value (i.e., speed) and second evaluation value (i.e., fluctuation resistance) as the frequency characteristic presented by the presentation unit 38. When the target frequency characteristic is input after the current frequency characteristic is presented by the presentation unit 38, it is preferable that the presented frequency characteristic and the input target frequency characteristic have the same parameters. However, the parameters as the target frequency characteristic may be different from the frequency characteristic presented by the presentation unit 38. For example, the parameters of the target frequency characteristic may be a gain crossover frequency and a gain margin.

[0157] The adjustment unit 310 adjusts the control parameters separately for the master control system 7A and the slave control system 7B. Specifically, the adjustment unit 310 generates a first control parameter, which is a control parameter adjusted so that the frequency characteristics of the master control system 7A become the target frequency characteristics, and a second control parameter, which is a control parameter adjusted so that the frequency characteristics of the slave control system 7B become the target frequency characteristics. That is, the first control parameter is adjusted according to the dynamic characteristics of the operator U, etc. The second control parameter is adjusted according to the dynamic characteristics of the object W, etc.

[0158] In addition, when the target frequency characteristic is set for only one of the master control system 7A and the slave control system 7B, the adjustment unit 310 generates the control parameter corresponding to the control system for which the target frequency characteristic is set, out of the first control parameter and the second control parameter.

[0159] Specifically, when the target frequency characteristic of the master control system 7A is set, the adjustment unit 310 adjusts the control parameters based on the block diagram of the master control system 7A shown in FIG. 10 and the open-loop transfer function Gm(jω) of the master control system 7A of Equation (7). The adjustment unit 310 adjusts the control parameters using the dynamic characteristics of the operator U and the dynamic characteristics of the operation device 2. For example, the adjustment unit 310 adjusts the inertia coefficient md and the viscosity coefficient cd using the mechanical impedance of the operator U estimated by the estimator 37, i.e., the stiffness coefficient ku and the viscosity coefficient cu, and the frequency response of the operation device 2, i.e., the time constant Tc, so that the gain crossover frequency ωcg1 and the gain margin gm1 of the master control system 7A become values corresponding to the target frequency characteristic. The adjusted inertia coefficient md and viscosity coefficient cd are first control parameters.

[0160] When the target frequency characteristics of the slave control system 7B are set, the adjustment unit 310 adjusts the control parameters based on the block diagram of the slave control system 7B shown in FIG. 11 and the open-loop transfer function Gs(jω) of the slave control system 7B of Equation (12). The adjustment unit 310 adjusts the control parameters using the dynamic characteristics of the object W and the dynamic characteristics of the robot 1. For example, the adjustment unit 310 adjusts the inertia coefficient md and the viscosity coefficient cd using the mechanical impedance of the object W, i.e., the stiffness coefficient kw and the viscosity coefficient cw, estimated by the estimator 37, and the frequency response of the robot 1, i.e., the time constant Tr, so that the gain crossover frequency ωcg2 and the gain margin gm2 of the slave control system 7B correspond to the target frequency characteristics. The adjusted inertia coefficient md and viscosity coefficient cd are second control parameters.

[0161] As described above, the stiffness coefficient ku, the viscosity coefficient cu, the stiffness coefficient kw, the viscosity coefficient cw, the time constant Tc, and the time constant Tr may change during force control. Therefore, the adjustment unit 310 continuously adjusts the inertia coefficient md and the viscosity coefficient cd using the stiffness coefficient ku, the viscosity coefficient cu, the stiffness coefficient kw, the viscosity coefficient cw, the time constant Tc, and the time constant Tr that are continuously estimated by the estimator 37 during force control.

[0162] There are various methods for deriving the inertia coefficient md and the viscosity coefficient cd so that the frequency response becomes the target frequency response. For example, the adjustment unit 310 adjusts the inertia coefficient md and the viscosity coefficient cd using FRIT (Fictitious Reference Iterative Tuning). FRIT is a data-driven adjustment method.

[0163] Alternatively, the adjustment unit 310 may determine a gain crossover frequency and a gain margin corresponding to the target frequency characteristics, and use the determined gain crossover frequency and gain margin and the time constant Tc, stiffness coefficient ku, and viscosity coefficient cu, or the time constant Tr, stiffness coefficient kw, and viscosity coefficient cw estimated by the estimation unit 37, to determine the inertia coefficient md and the viscosity coefficient cd based on the open-loop transfer function Gm or the open-loop transfer function Gs.

[0164] Adjustment unit 310 performs such adjustment of the control parameters during force control. Force control unit 36 performs force control using the control parameters adjusted by adjustment unit 310. Specifically, force / velocity conversion unit 64 calculates command velocity xd' using the adjusted control parameters. At this time, force control unit 36 performs force control using either the first control parameter or the second control parameter.

[0165] As an example, the process in which the force control unit 36 executes force control by selectively using the first control parameter and the second control parameter will be described below. Fig. 13 is a flowchart of the control parameter adjustment.

[0166] First, in step S201, the presentation unit 38 presents the frequency characteristics of the current force control. More specifically, if frequency characteristics have been obtained for force control that has already been executed by the current operator U, object W, robot 1, and operation device 2, the presentation unit 38 presents the obtained frequency characteristics to the operator U via the display device 35.

[0167] In response to this, when the operator U inputs the target frequency characteristic via the input device 34, the setting unit 39 accepts the input of the target frequency characteristic for force control and sets the target frequency characteristic. In this example, the target frequency characteristics are set for both the master control system 7A and the slave control system 7b.

[0168] Thereafter, in step S203, the force control unit 36 starts force control. After the start of force control, the estimation unit 37 estimates the dynamic characteristics of the operator U, etc. in step S204. Step S204 corresponds to estimating the dynamic characteristics of the operator.

[0169] Then, in step S205, the adjustment unit 310 adjusts the control parameters in accordance with the dynamic characteristics of the operator U, etc., so that the frequency characteristics of the force control become the target frequency characteristics. At this time, the adjustment unit 310 generates first control parameters adjusted so that the frequency characteristics of the master control system 7A become the target frequency characteristics, and second control parameters adjusted so that the frequency characteristics of the slave control system 7B become the target frequency characteristics.

[0170] In step S206, the force control unit 36 determines whether or not the end effector 11 is in contact with the object W. The force control unit 36 determines whether or not the contact force fs has been detected for a predetermined period of time or longer. If the contact force fs has been detected for a predetermined period of time or longer, the force control unit 36 determines that the end effector 11 is in contact with the object W. The force control unit 36 determines whether the detection of the contact force fs is due to a processing operation or is accidental by determining that the detection of the contact force fs is not instantaneous but has continued for a predetermined period of time.

[0171] The predetermined period here may be the same as or different from the predetermined period during which the contact force fs is detected when determining whether or not the dynamic characteristics can be estimated (see step S101).

[0172] When the end effector 11 is in contact with the object W, the force control unit 36 executes force control using the second control parameters in step S207. That is, the control parameters are adjusted so that the frequency characteristics of the slave control system 7B become the target frequency characteristics, and force control is executed using the adjusted control parameters.

[0173] In this way, by using the second control parameter during machining by the end effector 11, the force control section 36 can perform force control while preventing vibrations of both the end effector 11 and the operation section 21.

[0174] More specifically, in step S202, it is assumed that target frequency characteristics are set that make it difficult for vibration to occur in both the master control system 7A and the slave control system 7B. The mechanical impedance of the object W is usually greater than the mechanical impedance of the operator U. Therefore, by adjusting the control parameters so that the frequency characteristics of the slave control system 7B including the end effector 11 become the target frequency characteristics, that is, so that stability is ensured in the slave control system 7B, vibration of the operation unit 21 in the master control system 7A is also inevitably prevented.

[0175] On the other hand, if the end effector 11 is not in contact with the object W, the force control unit 36 executes force control using the first control parameters in step S208. That is, the control parameters are adjusted so that the frequency characteristics of the master control system 7A become the target frequency characteristics, and force control is executed using the adjusted control parameters.

[0176] When the end effector 11 is not in contact with the object W, if the operation unit 21 does not vibrate, the end effector 11 will not vibrate either. Therefore, by adjusting the control parameters so that the frequency characteristics of the master control system 7A including the operation unit 21 become the target frequency characteristics, vibration of the end effector 11 in the slave control system 7B is also inevitably prevented.

[0177] Note that steps S205, S206, S207, and S208 correspond to adjusting the control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become the target frequency characteristics.

[0178] After step S207 or S208, force control unit 36 determines whether or not force control has ended in step S209. If force control has not ended, force control unit 36 repeats the process from step S206.

[0179] In this way, the force control unit 36 selectively uses the first control parameter and the second control parameter depending on whether the end effector 11 is in contact with the object W. Specifically, the second control parameter is used when the end effector 11 is in contact with the object W, and the first control parameter is used when the end effector 11 is not in contact with the object W. As a result, vibrations of the end effector 11 and the operation unit 21 are effectively prevented whether the end effector 11 is in contact with the object W or not. As a result, the behavior of the robot 1 and the operation device 2 during force control is stabilized.

[0180] In the robot system 100 configured in this manner, the control parameters of the force control are adjusted so that the frequency characteristics that take into account changes in the dynamic characteristics (e.g., mechanical impedance) of the operator U or the object W become the target frequency characteristics. In addition, the control parameters are adjusted taking into account changes in the dynamic characteristics (e.g., frequency response) of the manipulation device 2 or the robot 1. As a result, the behavior of the robot 1 and the manipulation device 2 during force control is stabilized.

[0181] Specifically, since the operation unit 21 is held by the operator U, the operation unit 21 can be considered to be supported not only by the support mechanism 22 but also by the operator U. In other words, the stability and responsiveness of the operation unit 21 are affected by the mechanical impedance of the operator U. The mechanical impedance of the operator U varies from one operator U to another. Furthermore, even for the same operator U, the mechanical impedance of the operator U can change depending on the posture of the operator U, for example, the state of the operator U's arm, such as whether the arm is extended or bent. Furthermore, the stability and responsiveness of the operation device 2 can change depending on the state of the support mechanism 22, just like the arm of the operator U. Furthermore, although not as significant as the individual differences between operators U, there are some individual differences between the operation devices 2, and these individual differences can also affect the stability and responsiveness of the operation device 2.

[0182] On the other hand, since the end effector 11 is in contact with the object W, it can be considered that the end effector 11 is supported not only by the robot arm 12 but also by the object W. In other words, the stability and responsiveness of the end effector 11 are affected by the mechanical impedance of the object W. The mechanical impedance of the object W varies from object to object. Furthermore, even for the same object W, the mechanical impedance of the object W may change depending on the part of the object W being machined or the progress of the machining. Furthermore, the stability and responsiveness of the robot 1 may change depending on the shape of the robot arm 12. Furthermore, although not as great as the individual differences in the objects W, there are some individual differences among the robots 1, and these individual differences may also affect the stability and responsiveness of the robot 1.

[0183] If the dynamic characteristics of these object W, operator U, robot 1, and operation device 2 are not taken into consideration, the frequency characteristics are unlikely to be stable even if the control parameters are adjusted so that the frequency characteristics become the target frequency characteristics.

[0184] For example, if the operator U is replaced by another operator U, or if the posture of the same operator U changes, the frequency characteristics of the force control may change. In some cases, the operating unit 21 held by the operator U may vibrate. Alternatively, if the object W changes or the part of the object W to be processed changes, the frequency characteristics of the force control may change. In some cases, the end effector 11 may vibrate.

[0185] Furthermore, when the posture of the support mechanism 22 of the operating device 2 or the robot arm 12 of the robot 1 changes, the frequency characteristics of the force control may change. For example, the responsiveness of the force control may change.

[0186] In the robot system 100, the actual mechanical impedance of the operator U, the frequency response of the operation device 2, the mechanical impedance of the object W, and the frequency response of the robot 1 are estimated, and the control parameters for force control are adjusted so that the frequency characteristics of the force control that take into account changes in these dynamic characteristics become target frequency characteristics. Therefore, the control parameters are adjusted to adapt to changes in the dynamic characteristics of the operator U, etc. As a result, the behavior of the force control is stable even if there are changes in the operator U, etc.

[0187] As described above, the control device 3 is equipped with a force control unit 36 that operates the robot 1 (slave device) in accordance with the operating force applied by the operator U to the operating device 2 (master device) to apply an action to the object W, and that performs force control to operate the operating device 2 in accordance with the reaction force that the robot 1 receives from the object W, an estimation unit 37 that estimates the dynamic characteristics of the operator U, and an adjustment unit 310 that adjusts the control parameters of the force control in accordance with the estimated dynamic characteristics of the operator U so that the frequency characteristics of the force control become the target frequency characteristics.

[0188] In other words, the robot control method by the control device 3 includes performing force control to operate the robot 1 in accordance with the operating force applied by the operator U to the operating device 2 to act on the object W, and to operate the operating device 2 in accordance with the reaction force that the robot 1 receives from the object W, estimating the dynamic characteristics of the operator U, and adjusting the control parameters of the force control in accordance with the estimated dynamic characteristics of the operator U so that the frequency characteristics of the force control become the target frequency characteristics.

[0189] In addition, the robot control program 321 is a robot control program for causing a computer to realize the function of controlling a robot system 100 including an operating device 2 to which an operating force is applied from an operator U and a robot 1 that applies an action to an object W, and causes the computer to realize the following functions: a function of operating the robot 1 to apply an action to the object W according to the operating force applied to the operating device 2, and a function of executing force control to operate the operating device 2 according to the reaction force that the robot 1 receives from the object W; a function of estimating the dynamic characteristics of the operator U; and a function of adjusting the control parameters of the force control according to the estimated dynamic characteristics of the operator U so that the frequency characteristics of the force control become the target frequency characteristics.

[0190] Furthermore, the robot system 100 includes an operating device 2 operated by an operator U, a robot 1 that applies an action to an object W, and a control device 3.

[0191] According to these configurations, the frequency characteristics of the force control approach the target frequency characteristics by adjusting the control parameters. During this adjustment, changes in the dynamic characteristics of the operator U are taken into consideration. That is, because the operator U applies an operating force to the operation device 2, the stability and responsiveness of the operation device 2 in force control are affected by the dynamic characteristics of the operator U. The dynamic characteristics of the operator U may change depending on the individual differences, posture, etc. of the operator U. The dynamic characteristics of the operator U used to adjust the control parameters are not constant but are estimated by the estimating unit 37. The estimated dynamic characteristics of the operator U change in response to differences or changes in the individual differences, etc. of the operator U. Therefore, the control parameters for force control are adjusted so that the frequency characteristics taking into consideration the individual differences, posture, etc. of the operator U become the target frequency characteristics. As a result, the behavior of the force control can be stabilized even if there are changes in the operator U, etc.

[0192] In addition, the estimation unit 37 estimates the dynamic characteristics of the operation device 2, and the adjustment unit 310 adjusts the control parameters according to the estimated dynamic characteristics of the operator U and the dynamic characteristics of the operation device 2 so that the frequency characteristics become the target frequency characteristics.

[0193] According to this configuration, when adjusting the control parameters, the dynamic characteristics of the manipulation device 2 are taken into consideration in addition to the dynamic characteristics of the operator U. That is, the stability and responsiveness of the manipulation device 2 in force control are affected by the dynamic characteristics of the manipulation device 2. The dynamic characteristics of the manipulation device 2 may change depending on the machine difference, situation, etc. of the manipulation device 2. The dynamic characteristics of the manipulation device 2 used for adjusting the control parameters are not constant but are estimated by the estimating unit 37. The estimated dynamic characteristics of the manipulation device 2 change in response to differences or changes, etc. of the manipulation device 2. Therefore, the control parameters for force control are adjusted so that the frequency characteristics taking into consideration the machine difference, situation, etc. of the manipulation device 2 become the target frequency characteristics. As a result, the behavior of the force control can be stabilized even if there are changes, etc., in the operator U and the manipulation device 2.

[0194] Furthermore, the estimation unit 37 estimates the dynamic characteristics of the object W, and the adjustment unit 310 adjusts the control parameters according to the estimated dynamic characteristics of the operator U and the dynamic characteristics of the object W so that the frequency characteristics become the target frequency characteristics.

[0195] According to this configuration, changes in the dynamic characteristics of the object W are taken into consideration when adjusting the control parameters. In other words, because the end effector 11 is in contact with the object W, the stability and responsiveness of the robot 1 in force control are affected by the dynamic characteristics of the object W. The dynamic characteristics of the object W may change due to individual differences in the object W, etc. The dynamic characteristics of the object W used to adjust the control parameters are not constant but are estimated by the estimating unit 37. The estimated dynamic characteristics of the object W change in response to differences or changes in the individual differences, etc., of the object W. Therefore, the control parameters for force control are adjusted so that the frequency characteristics that take into account the individual differences, etc. of the object W become the target frequency characteristics. As a result, the behavior of the force control can be stabilized even if there are changes in the object W, etc.

[0196] Furthermore, the adjustment unit 310 generates a first control parameter, which is a control parameter adjusted according to the dynamic characteristics of the operator U, and a second control parameter, which is a control parameter adjusted according to the dynamic characteristics of the object W, and the force control unit 36 performs force control by selectively using the first control parameter and the second control parameter.

[0197] According to this configuration, a first control parameter is generated for setting the frequency characteristics of master control system 7A to the target frequency characteristics, and a second control parameter is generated for setting the frequency characteristics of slave control system 7B to the target frequency characteristics. By selectively using the first control parameter and the second control parameter when executing force control, force control unit 36 can select the control system between master control system 7A and slave control system 7B that brings the frequency characteristics closer to the target frequency characteristics.

[0198] Furthermore, the force control unit 36 performs force control using the second control parameters when the robot 1 is in contact with the object W, and performs force control using the first control parameters when the robot 1 is not in contact with the object W.

[0199] According to this configuration, when the robot 1 comes into contact with the object W, the frequency characteristics of the slave control system 7B are adjusted to the target frequency characteristics. The mechanical impedance of the object W is greater than the mechanical impedance of the operator U. Therefore, by adjusting the frequency characteristics of the force control in consideration of changes in the dynamic characteristics of the object W, the frequency characteristics of the master control system 7A including the operator U can also be stabilized. On the other hand, when the robot 1 is not in contact with the object W, the frequency characteristics of the master control system 7A are adjusted to the target frequency characteristics. When the robot 1 is in a non-contact state, the end effector 11 does not vibrate, and it is the manipulation device 2 that may vibrate. By using the first control parameter, the operation of the manipulation device 2 can be stabilized.

[0200] In addition, the estimation unit 37 estimates the dynamic characteristics of the robot 1, and the adjustment unit 310 generates second control parameters according to the estimated dynamic characteristics of the object W and the dynamic characteristics of the robot 1 so that the frequency characteristics become the target frequency characteristics.

[0201] According to this configuration, the second control parameters take into consideration not only the dynamic characteristics of the object W but also changes in the dynamic characteristics of the robot 1. The frequency response of the robot 1 can change depending on the operating conditions, such as the posture of the robot 1. Therefore, by taking into consideration changes in the dynamic characteristics of the robot 1, it is possible to adjust the stability and responsiveness in force control.

[0202] The control device 3 further includes a setting unit 39 that receives an input of a target frequency characteristic and sets the target frequency characteristic.

[0203] According to this configuration, the target frequency characteristic is not constant but can be changed. By appropriately setting the target frequency characteristic by the setting unit 39, the frequency characteristic of the force control can be flexibly adjusted.

[0204] Furthermore, the control device 3 further includes a presentation unit 38 that determines the frequency characteristics of the force control and presents the determined frequency characteristics.

[0205] This configuration allows the operator U to know the frequency characteristics of the current force control. For example, in a configuration in which the setting unit 39 is provided, the operator U can input the target frequency characteristics after checking the frequency characteristics presented by the presentation unit 38.

[0206] Other Embodiments As described above, the above embodiment has been described as an example of the technology disclosed in this application. However, the technology of the present disclosure is not limited to this and can be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate. Furthermore, the components described in the above embodiment can be combined to create new embodiments. Furthermore, the components described in the accompanying drawings and detailed description may include not only components essential for solving the problem, but also components that are not essential for solving the problem in order to exemplify the technology. Therefore, the fact that these non-essential components are described in the accompanying drawings or detailed description should not be interpreted as immediately determining that these non-essential components are essential.

[0207] For example, the master device is not limited to the operation device 2, and can have any configuration as long as the operator U can apply an operation force to it. The slave device is not limited to the robot 1, and can have any configuration as long as it can apply an action to an object while in contact with it.

[0208] The force control by the force control unit 36 is one example. The equation of motion for deriving the command velocity xd' from the resultant force fm+fs is not limited to equation (1). The equation of motion may include an elastic coefficient.

[0209] The operator model, object model, master model, and slave model are examples. Each model can be any model as long as it represents the dynamic characteristics of the object. For example, the master model or the slave model may be a model of a second-order delay system. The dynamic characteristics are not limited to mechanical impedance or frequency response (e.g., time constant).

[0210] The frequency characteristics handled by the estimation unit 37, the presentation unit 38, the setting unit 39, and the adjustment unit 310 are not limited to the frequency characteristics of both the master control system 7A and the slave control system 7B. For example, only the frequency characteristics of the master control system 7A may be the target.

[0211] The force control unit 36 may use the first control parameter and the second control parameter differently depending on a requirement other than contact of the end effector 11. For example, the force control unit 36 may execute force control using a control parameter determined by input from the operator U or the like, out of the first control parameter and the second control parameter.

[0212] With regard to the frequency characteristics of the master control system 7A, it is not necessary to consider changes in the dynamic characteristics of the operation device 2. In other words, the frequency response (i.e., the time constant Tc) of the operation device 2 may be regarded as constant, and only changes in the dynamic characteristics of the operator U (i.e., the stiffness coefficient ku and the viscosity coefficient cu) may be considered.

[0213] Similarly, with regard to the frequency characteristics of the slave control system 7B, it is not necessary to consider changes in the dynamic characteristics of the robot 1. In other words, the frequency response of the robot 1 (i.e., the time constant Tr) may be regarded as constant, and only changes in the dynamic characteristics of the object W (i.e., the stiffness coefficient kw and the viscosity coefficient cw) may be considered.

[0214] In the control device 3, the function of presenting the frequency characteristics of force control, i.e., the presentation unit 38, may be omitted. Furthermore, the format for presenting the frequency characteristics is not limited to the first evaluation value and the second evaluation value. The gain crossover frequency or the gain margin may be presented as the frequency characteristics. Alternatively, an evaluation value representing responsiveness or stability, different from speed and fluctuation resistance, may be presented as the frequency characteristics.

[0215] The target frequency characteristics set by setting unit 39 are not limited to those input from input device 34. The target frequency characteristics may be input to control device 3 from an external device. Furthermore, the function of setting target frequency characteristics for force control, setting unit 39, may be omitted from control device 3. In that case, the target frequency characteristics may be set in advance.

[0216] The method by which the adjustment unit 310 adjusts the control parameters is not limited to the method using FRIT, and any method can be adopted as long as it can determine the control parameters for achieving the target frequency characteristics.

[0217] The above-described block diagrams and block diagrams are merely examples. Multiple blocks may be implemented as a single block, one block may be divided into multiple blocks, or some functions may be moved to another block.

[0218] The above-described flowchart is an example, and steps may be omitted or changed. Alternatively, the order of steps may be changed, multiple steps that should be serial may be processed in parallel, or multiple steps that should be parallel may be processed serially.

[0219] The technology of the present disclosure may be a non-transitory computer-readable recording medium on which the program is recorded. Also, the program may be distributed via a transmission medium such as the Internet.

[0220] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, application-specific integrated circuits (ASICs), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor. [Explanation of symbols]

[0221] 100 Robot Systems 1 Robot (slave device) 2. Operation device (master device) 3. Control device 36 Force control section 37 Estimation part 38 Presentation section 39 Setting section 310 Adjustment section 321 Robot Control Program

Claims

1. a force control unit that operates the slave device to apply an action to the object in response to an operating force applied to the master device by an operator, and that performs force control to operate the master device in response to a reaction force that the slave device receives from the object; an estimation unit that estimates a dynamic characteristic of the operator; an adjustment unit that adjusts control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics.

2. 2. The control device according to claim 1, the estimation unit estimates dynamic characteristics of the master device; The adjustment unit adjusts the control parameters in accordance with the estimated dynamic characteristics of the operator and the dynamic characteristics of the master device so that the frequency characteristics become the target frequency characteristics.

3. 3. The control device according to claim 1 or 2, the estimation unit estimates a dynamic characteristic of the object; The adjustment unit adjusts the control parameters in accordance with the estimated dynamic characteristics of the operator and the estimated dynamic characteristics of the object so that the frequency characteristics become the target frequency characteristics.

4. 4. The control device according to claim 3, the adjustment unit generates a first control parameter, which is the control parameter adjusted in accordance with a dynamic characteristic of the operator, and a second control parameter, which is the control parameter adjusted in accordance with a dynamic characteristic of the object; The force control unit is a control device that executes the force control by selectively using the first control parameter and the second control parameter.

5. 5. The control device according to claim 4, the force control unit performs the force control using the second control parameter when the slave device is in contact with the object, and performs the force control using the first control parameter when the slave device is not in contact with the object.

6. 6. The control device according to claim 4 or 5, the estimation unit estimates dynamic characteristics of the slave unit; The adjustment unit generates the second control parameter in accordance with the estimated dynamic characteristics of the object and the dynamic characteristics of the slave device so that the frequency characteristics become the target frequency characteristics.

7. 7. The control device according to claim 1, The control device further includes a setting unit that receives an input of the target frequency characteristic and sets the target frequency characteristic.

8. 8. The control device according to claim 1, The control device further includes a presentation unit that determines a frequency characteristic of the force control and presents the determined frequency characteristic.

9. the master device operated by the operator; the slave device that applies an action to the object; A robot system comprising the control device according to any one of claims 1 to 8.

10. performing force control to operate the slave device to apply an action to the object in response to an operating force applied to the master device by an operator, and to operate the master device in response to a reaction force received by the slave device from the object; estimating a dynamic characteristic of the operator; adjusting a control parameter of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics.

11. A robot control program for causing a computer to realize a function of controlling a robot system including a master device to which an operating force is applied by an operator and a slave device that applies an action to an object, the program comprising: a function of executing force control to operate the slave device to apply an action to an object in response to an operating force applied to the master device, and to operate the master device in response to a reaction force received by the slave device from the object; a function of estimating the dynamic characteristics of the operator; and a function of adjusting control parameters of the force control in accordance with the estimated dynamic characteristics of the operator so that the frequency characteristics of the force control become target frequency characteristics.

Citation Information

Patent Citations

  • Cap receiving and delivering apparatus

    JP1991162289A

  • Robot system and robot system control method

    JP2018192601A

  • Teleoperated robotic system

    JP2021049642A

  • System and method for instructing a robot

    US20190358817A1

  • Telerobotic system

    US5266875A