Robot control device, robot system, and robot control method

By combining the safety function execution unit and the direct teaching execution unit in the control device, the contact force, speed and acceleration in the robot's movement is monitored and controlled in real time, the problem of safety risks in the direct teaching function is solved, and a safe and reliable robot is realized operate.

CN119421765APending Publication Date: 2025-02-11FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280097321.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

Ensuring operator safety is a key issue when performing direct teaching functions, especially to prevent accidental collisions caused by excessive contact force, speed or acceleration of the robot.

Method used

A control device is designed, including a safety function execution unit and a direct teaching execution unit. The safety function execution unit monitors the contact force, speed and acceleration during the robot's operation in real time, and stops the operation if it exceeds the specified threshold. The direct teaching execution unit causes the robot to operate according to the operating force exerted by the operator.

Benefits of technology

Through real-time monitoring and control, safety risks caused by excessively high action parameters are effectively prevented, operator safety is ensured, and flexible direct teaching function is realized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119421765A_ABST
    Figure CN119421765A_ABST
Patent Text Reader

Abstract

Conventionally, it is required to secure the safety of an operator when executing a direct teaching function. The control device (16) is provided with: a safety function execution unit that monitors at least one of the contact force applied to the robot (12) during operation, the speed of the robot (12), and the acceleration, and that executes a safety function that stops the operation of the robot (12) when the at least one exceeds a predetermined threshold value; and a direct teaching execution unit (52) that executes, in parallel with the safety function executed by the safety function execution unit, a direct teaching function that operates the robot (12) in accordance with an operating force applied to the robot (12).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot control device, a robot system, and a robot control method. Background Art

[0002] There is known a direct teaching function for applying an external force to a robot and causing the robot to operate according to the external force (for example, Patent Document 1).

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Publication No. 2015-182142 Summary of the invention

[0006] Problems to be solved by the invention

[0007] Conventionally, when executing the direct teaching function, it was required to ensure the safety of the operator.

[0008] Means for solving problems

[0009] In one embodiment of the present disclosure, a control device for controlling the movement of a robot comprises: a safety function execution unit, which executes the following safety function: monitoring at least one of the contact force applied to the robot in motion, the speed of the robot, and the acceleration, and stopping the movement of the robot when the at least one item exceeds a prescribed threshold value; and a direct teaching execution unit, which executes the following direct teaching function in parallel with the safety function executed by the safety function execution unit: causing the robot to move according to the operating force applied to the robot.

[0010] In another embodiment of the present disclosure, a control device for controlling the movement of a robot comprises: a direct teaching execution unit, which executes a direct teaching function for causing the robot to move according to an operating force applied to the robot; a motion parameter acquisition unit, which acquires a speed or acceleration of the robot during the execution of the direct teaching function; and a resistance control unit, which changes the resistance to the operating force according to the speed or acceleration acquired by the motion parameter acquisition unit.

[0011] In another embodiment of the present disclosure, a control device for controlling the movement of a robot comprises: a direct teaching execution unit, which executes a direct teaching function for causing the robot to move according to an operating force applied to the robot, wherein the direct teaching execution unit terminates the direct teaching function when the time elapsed from the following time points exceeds a specified threshold value, wherein the time points are: the time point at which an instruction for starting the direct teaching function is accepted, the time point at which the direct teaching function is started, or the time point at which the robot that has moved by the direct teaching function stops.

[0012] In another embodiment of the present invention, a control device for controlling the movement of a robot comprises: a direct teaching execution unit, which executes a direct teaching function for causing the robot to move according to an operating force applied to the robot; after the direct teaching execution unit receives an instruction for executing the direct teaching function and starts the direct teaching function, it will not receive the instruction again and will continue to execute the direct teaching function.

[0013] In another embodiment of the present disclosure, a control device for controlling the movement of a robot includes: a safety function execution unit that executes the following safety functions: monitoring at least one of the contact force applied to the robot in motion, the speed of the robot, and the acceleration, and stopping the movement of the robot when the at least one exceeds a predetermined threshold value; and a direct teaching execution unit that executes a direct teaching function for causing the robot to move according to the operating force applied to the robot. A force sensor for detecting external force applied to the robot is provided in the robot. The safety function execution unit and the direct teaching execution unit respectively execute the safety function and the direct teaching function based on the detection data of the shared force sensor.

[0014] In another embodiment of the present disclosure, a method for controlling the movement of a robot is provided, wherein a processor performs the following safety function: monitoring at least one of the contact force applied to the robot in motion, the speed of the robot, and the acceleration, and stopping the movement of the robot when the at least one item exceeds a specified threshold value, and the processor performs the following direct teaching function in parallel with the safety function: causing the robot to move according to the operating force applied to the robot.

[0015] In another embodiment of the present disclosure, a method for controlling the movement of a robot is provided, wherein a processor executes a direct teaching function that causes the robot to move according to an operating force applied to the robot, the processor obtains the speed or acceleration of the robot during the execution of the direct teaching function, and the processor changes the resistance to the operating force according to the obtained speed or acceleration.

[0016] In another embodiment of the present invention, a method for controlling the movement of a robot is provided, wherein a processor executes a direct teaching function for causing the robot to move according to an operating force applied to the robot, and the processor terminates the direct teaching function when the time elapsed from the following time points exceeds a specified threshold, wherein the time points are: the time point at which an instruction for starting the direct teaching function is accepted, the time point at which the direct teaching function is started, or the time point at which the robot that has moved by the direct teaching function stops. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is a schematic diagram of a robot system according to one embodiment.

[0018] Figure 2 yes Figure 1 Block diagram of the robot system shown.

[0019] Figure 3 Yes means Figure 2 A flowchart showing an example of the operation flow of the robot system shown.

[0020] Figure 4 An example of a direct teaching image is shown.

[0021] Figure 5 Yes means Figure 3 A flowchart of an example of the process of step S2 in .

[0022] Figure 6 Yes means Figure 3 A flowchart of an example of the process of step S3 in .

[0023] Figure 7 Yes means Figure 2 A flowchart of another example of the operation flow of the robot system shown.

[0024] Figure 8 Yes means Figure 7 A flowchart of an example of the process of step S3' in FIG.

[0025] Fig. 9 Yes means Figure 2 A block diagram of other functions of the robotic system is shown.

[0026] Fig.10 An example of a safety function setting screen is shown.

[0027] Fig.11 Yes means Fig. 9 A flowchart showing an example of the operation flow of the robot system shown.

[0028] Fig.12 Yes means Fig.11 A flowchart of an example of the process of step S3 in .

[0029] Fig.13 Yes means Fig.11 A flowchart of an example of the process of step S2 in .

[0030] Fig.14 This is a schematic diagram of a torque sensor according to one embodiment.

[0031] Fig.15 This is a schematic diagram of a force sensor according to one embodiment.

[0032] Fig.16 Is used for use Fig.14or Fig.15 The block diagram shown illustrates the safety and direct teach functions performed by the force sensor.

[0033] Fig.17 It means execution Fig.16 Block diagram of a processor that shows the safety function and direct teaching function.

[0034] Fig.18 This is a flowchart showing an example of the flow of the fault detection function.

[0035] Fig.19 Yes means Figure 2 A block diagram of yet another function of the robot system shown.

[0036] Fig. 20 Yes means Fig.19 Flowchart of an example of the direct teaching function executed by the control device shown.

[0037] Fig.21 Yes means Fig.19 A flowchart of another example of the direct teaching function executed by the control device shown.

[0038] Fig. 22 A graph showing characteristic data.

[0039] Fig.23 Yes means Fig.19 Flowchart of another example of the direct teaching function executed by the control device shown.

[0040] Fig.24 is a block diagram showing a method of generating commands to actuators.

[0041] Fig.25 Yes means Figure 2 A block diagram of yet another function of the robot system shown.

[0042] Fig.26 Yes means Fig.25 Flowchart of an example of the direct teaching function executed by the control device shown.

[0043] Fig. 27 Yes means Fig.25 A flowchart of another example of the direct teaching function executed by the control device shown.

[0044] Fig.28 Yes means Figure 2 A block diagram of yet another function of the robot system shown. DETAILED DESCRIPTION

[0045] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In addition, in the various embodiments described below, the same elements are marked with the same reference numerals and repeated descriptions are omitted. Figure 1 as well as Figure 2 , a robot system 10 according to an embodiment is described. The robot system 10 includes: a robot 12, a force sensor 14 ( Figure 2 ), a control device 16 and a teaching device 18. In the present embodiment, the robot 12 is a vertical multi-joint robot having a robot base 20, a rotary body 22, a lower arm 24, an upper arm 26, a wrist 28 and an end effector 30. The robot base 20 is fixed on the floor of the work unit or an unmanned guided vehicle (AGV).

[0046] The revolving body 22 is provided on the robot base 20 so as to be rotatable about a vertical axis. The lower arm 24 is provided on the revolving body 22 so as to be rotatable about a horizontal axis, and the upper arm 26 is provided on the front end of the lower arm 24 so as to be rotatable. The wrist 28 includes a wrist base 28a provided on the front end of the upper arm 26 so as to be rotatable about two axes orthogonal to each other, and a wrist flange 28b provided on the wrist base 28a so as to be rotatable.

[0047] A plurality of actuators 31 ( Figure 2 ). These actuators 31 have servomotors and the like, and rotate the movable components of the robot 12 (i.e., the rotating body 22, the lower arm 24, the upper arm 26, the wrist 28, and the wrist flange 28b) according to the instructions from the control device 16, thereby moving the end effector 30.

[0048] A rotation detection sensor 33 is provided in each actuator 31. The rotation detection sensor 33 has, for example, an encoder or a Hall element, and detects the rotation position (or rotation angle) of the output shaft 31a of the actuator 31 (specifically, the servo motor). The rotation detection sensor 33 supplies detection data of the detected rotation position to the control device 16 as feedback FB.

[0049] The end effector 30 is detachably mounted on the wrist flange 28b and includes, for example, a robot arm, a welding gun, a laser processing head, or a cutting tool, and performs a predetermined operation (workpiece processing, welding, laser processing, cutting processing, etc.) on a workpiece (not shown).

[0050] The force sensor 14 detects the external force F applied to the robot 12. In the present embodiment, the force sensor 14 includes a plurality of torque sensors 14A respectively provided on the output shafts 31a of the plurality of actuators 31. Each torque sensor 14A includes at least one sensor element (for example, a strain gauge or a piezoelectric element), and detects a torque τ applied to the output shaft 31a of the actuator 31 (servomotor) as a force component of the external force F. Each torque sensor 14A supplies detection data DDτ of the detected torque τ to the control device 16.

[0051] The control device 16 controls the actions of the robot 12. Figure 2 As shown, the control device 16 is a computer including a processor 32, a memory 34, and an I / O interface 36. The processor 32 includes a CPU or a GPU, and is connected to the memory 34 and the I / O interface 36 via a bus 38 so as to be communicable.

[0052] The processor 32 communicates with the memory 34 and the I / O interface 36, and performs calculation processing for executing various functions FN of the robot 12, such as the safety function FN1 and the direct teaching function FN2 described later. Specifically, in order to execute the function FN of the robot 12, the processor 32 generates instructions (for example, position instructions, speed instructions, torque instructions) for each actuator 31 (servomotor), and drives each actuator 31 according to the instructions. As a result, the robot 12 can position the end effector 30 at an arbitrary position. In addition, in this specification, "position" sometimes means position and posture.

[0053] The memory 34 has a RAM or a ROM, etc., and stores various data temporarily or permanently. The memory 34 can be a computer-readable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium. The I / O interface 36 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices through wired or wireless means under instructions from the processor 32. The above-mentioned force sensor 14 (torque sensor 14A), the teaching device 18, and the actuator 31 are connected to the I / O interface 36 through wired or wireless means in a manner that allows communication.

[0054] The control device 16 is provided with an input device 40 and a display device 42. The input device 40 includes a push button, a switch, a keyboard, a mouse, or a touch panel, and receives data input from an operator. The display device 42 includes a liquid crystal display or an organic EL display, and displays various data in a visually recognizable manner under the instruction from the processor 32.

[0055] The display device 42 and the input device 40 are connected to the I / O interface 36 in a communicable manner. In addition, the display device 42 and the input device 40 may be integrally assembled in the housing of the control device 16, or may be a computer (PC, etc.) separate from the housing of the control device 16 and externally placed in the housing.

[0056] The teaching device 18 is a computer such as a teaching pendant or a tablet terminal device, and teaches the robot 12 an action. Specifically, the teaching device 18 includes a processor (not shown), a memory (not shown), a display device 44, an input device 46, and an enable switch 48. The display device 44 includes a liquid crystal display or an organic EL display, etc., and displays various data. The input device 46 includes a push button, a switch, or a touch panel, etc., and accepts data input from the operator.

[0057] The operator operates the input device 46 to execute various functions FN of the robot 12, such as the teaching function FN3, the automatic operation function FN4, and the action confirmation function FN5. The teaching function FN3 is a function FN for teaching the robot 12 actions for operation (workpiece processing, welding, laser processing, cutting processing, etc.).

[0058] During the execution of the teaching function FN3, the operator operates the input device 46 to make the robot 12 perform a jog motion via the control device 16, so that the end effector 30 can be positioned at the desired teaching position TP. The processor of the teaching device 18 obtains teaching data such as the teaching position TP and the speed V for moving the end effector 30 to the teaching position TP, and creates an action program PG1 that specifies the teaching position TP and the speed V as a command code based on the teaching data. The processor 32 of the control device 16 obtains the created action program PG1 from the teaching device 18 and stores it in the memory 34.

[0059] On the other hand, the automatic operation function FN4 is a function FN for automatically operating the robot 12 according to the created motion program PG1 and performing work on the workpiece. The operator starts the automatic operation function FN4 by operating the input device 46. After the automatic operation function FN4 is started, the processor 32 generates a command to each actuator 31 according to the motion program PG1 stored in the memory 34, so that the robot 12 automatically operates and performs work on the workpiece.

[0060] In the automatic operation function FN4, the robot 12 and the operator can perform some operations in cooperation. Specifically, the processor 32 can execute the direct teaching function FN2 described below for some operations, and make the robot 12 move according to the operation force Fh applied to the robot 12 by the operator.

[0061] The action confirmation function FN5 is a function FN for causing the robot 12 to try the action taught by the teaching function FN3 in order to confirm the action. The operator can cause the processor 32 of the control device 16 to execute the action confirmation function FN5 by operating the input device 46 .

[0062] After the operation confirmation function FN5 is started, the processor 32 causes the robot 12 to experimentally execute the unfinished operation program PG1' generated during the teaching process of the teaching function FN3. Thus, the operator confirms the operation taught to the robot 12 (ie, whether the operation program PG1' is appropriate).

[0063] In addition, a switch SW (not shown) may be provided in the control device 16 or the teaching device 18, and the switch SW is used to switch the functions FN of the robot 12 described above between the teaching function FN3, the automatic operation function FN4, and the action confirmation function FN5. The switch SW may be a physical switch or a virtual switch displayed as an image on the software of the display device 42 or 44.

[0064] The enabling switch 48 is a physical switch for allowing the operator to manually operate the robot 12. Specifically, the enabling switch 48 can be switched between an initial position P0, a first pressing position P1 pressed by a predetermined amount from the initial position P0, and a second pressing position P2 pressed by a predetermined amount from the first pressing position P1.

[0065] When the operator presses the enable switch 48 to the first pressing position P1 , the enable switch 48 is turned on, and the processor of the teaching device 18 becomes capable of executing the above-mentioned teaching function FN3 or other direct teaching functions FN2 ′ described later, allowing the robot 12 to operate via the control device 16 .

[0066] On the other hand, when the enabling switch 48 returns to the initial position P0 or is further pressed to the second pressing position P2 during the operation of the robot 12, the enabling switch 48 is turned off, and the processor of the teaching device 18 sends an enabling switch off signal to the control device 16. When receiving the enabling switch off signal, the processor 32 of the control device 16 executes the emergency stop action ES.

[0067] As an example of the emergency stop action ES, the processor 32 stops the movement of the robot 12 by stopping the command (torque command, etc.) to each actuator 31. As another example of the emergency stop action ES, the processor 32 forcibly stops the movement of the robot 12 by operating a brake mechanism (not shown) that brakes the output shaft of each actuator 31.

[0068] Next, refer to Figure 3An example of the operation flow of the robot system 10 is described. When the processor 32 of the control device 16 receives an operation start instruction (e.g., a power-on instruction) from an operator (i.e., the input device 40 or 46), a host controller, or a computer program PG2, it starts the operation. Figure 3 The process shown.

[0069] In step S1 , the processor 32 determines whether a direct teaching function start command has been received. Specifically, the processor of the teaching device 18 generates a direct teaching image 100 for inputting a direct teaching function start command and displays it on the display device 44 of the teaching device 18 . Figure 4 An example of the direct teaching image 100 is shown.

[0070] exist Figure 4 In the example shown, the direct teaching image 100 includes a direct teaching start button image 102 and a direct teaching end button image 104. The operator can select the direct teaching start button image 102 or the direct teaching end button image 104 by operating the input device 46 and clicking the direct teaching start button image 102 or the direct teaching end button image 104 displayed on the direct teaching image 100.

[0071] When the processor of the teaching device 18 receives an input for selecting the direct teaching start button image 102, it transmits a direct teaching function start command to the control device 16. On the other hand, when the processor of the teaching device 18 receives an input for selecting the direct teaching end button image 104, it transmits a direct teaching function end command to the control device 16. In addition, the direct teaching function start command may be an on (or "1") signal, while the direct teaching function end command may be an off (or "0") signal.

[0072] In step S1, the processor 32 of the control device 16 determines that it is yes when the direct teaching function start command is received, and makes the direct teaching function FN2 effective (for example, sets the setting of the direct teaching function FN2 to "ON", or sets the execution flag of the direct teaching function FN2), starts steps S2 and S3 described later, and proceeds to step S4. On the other hand, the processor 32 determines that it is no when the direct teaching function start command is not received, and proceeds to step S6.

[0073] In step S4, the processor 32 determines whether the above-mentioned direct teaching function end command is accepted. If the processor 32 determines that the direct teaching function end command is accepted, it proceeds to step S5. On the other hand, if the processor determines that the direct teaching function end command is accepted, it loops step S4. In step S5, the processor 32 invalidates the direct teaching function FN2 (for example, sets the setting of the direct teaching function FN2 to "off" or deletes the execution flag of the direct teaching function FN2).

[0074] In step S6, the processor 32 determines whether an operation end instruction (e.g., a shutdown instruction) has been received from the operator (i.e., the input device 40 or 46), the host controller, or the computer program PG2. If the processor 32 receives an operation end instruction, the result is yes, and the operation ends. Figure 3 On the other hand, if the determination result is negative, the processor 32 returns to step S1.

[0075] Here, in the present embodiment, when the processor 32 determines YES in step S1 and enables the direct teaching function FN2, the safety function FN1 of step S2 and the direct teaching function FN2 of step S3 are executed in parallel. Figure 5 An example of the flow of the safety function FN1 executed in step S2 will be described.

[0076] In step S11, the processor 32 obtains the motion parameter OP of the robot 12. The motion parameter OP includes at least one of the contact force Fc applied to the robot 12 in motion, the velocity V of the robot 12, and the acceleration a of the robot 12. Regarding the contact force Fc, the processor 32 obtains the external force F applied to any part of the robot 12 (for example, the lower arm 24, the upper arm 26, the wrist 28, or the end effector 30) based on the detection data DD of the force sensor 14.

[0077] Specifically, the processor 32 obtains the detection data DDτ of each torque sensor 14A, and detects the external force F based on the detection data DDτ. The processor 32 can obtain the magnitude of the external force F applied to the robot 12 by performing a predetermined operation CL1 using the detection data DDτ of each torque sensor 14A. The processor 32 obtains the obtained external force F as a contact force Fc applied to the robot 12 by the robot 12 in motion contacting with surrounding objects (operators, environmental objects, etc.).

[0078] Regarding the velocity V and the acceleration a, the processor 32 obtains feedback FB (i.e., the rotation position or rotation angle of the actuator 31) from the rotation detection sensor 33 provided in each actuator 31. Then, the processor 32 obtains the velocity V of the robot 12 (specifically, the end effector 30) by time-differentiating the feedback FB.

[0079] In addition, the processor 32 obtains the acceleration a of the robot 12 by time-differentiating the velocity V. In this way, the processor 32 obtains at least one of the contact force Fc, velocity V, and acceleration a as the motion parameter OP. Hereinafter, the case where the processor 32 obtains all of the contact force Fc, velocity V, and acceleration a as the motion parameter OP will be described.

[0080] In step S12, the processor 32 determines whether the motion parameter OP (i.e., contact force Fc, velocity V, and acceleration a) obtained in the most recent step S11 exceeds a predetermined threshold value. Specifically, the processor 32 determines whether the most recently obtained contact force Fc exceeds a predetermined threshold value Fc for the contact force Fc. th (i.e., Fc ≥ Fc th ).

[0081] In addition, the processor 32 determines whether the most recently acquired speed V exceeds a threshold value v predetermined for the speed V. th (That is, V ≥ V th ), and determines whether the most recently acquired acceleration a exceeds a predetermined threshold value a for the acceleration a th (i.e., a ≥ a th ). In step S12, the processor 32 determines whether Fc≥Fc th , V ≥ V th or a≥a th If the judgment is yes, the process proceeds to step S13. On the other hand, the processor 32 determines that Fc<Fc th 、V<V th And a<a th If the result is no, the process goes to step S14.

[0082] In step S13, the processor 32 stops the operation of the robot 12. Specifically, the processor 32 performs the emergency stop operation ES described above to emergency stop the operation of the robot 12. Through this step S13, when the robot 12 collides with the operator (or environmental objects), the robot 12 can be stopped, thereby ensuring the safety of the operator.

[0083] In step S14, the processor 32 determines whether the direct teaching function FN2 is disabled in the above step S5. If the direct teaching function FN2 is disabled, the processor 32 determines yes and ends the safety function FN1 in step S2. On the other hand, if the direct teaching function FN2 is enabled, the processor 32 determines no and returns to step S11.

[0084] In this way, the processor 32 repeatedly executes the loop of steps S11 to S14 until a YES is determined in step S14, thereby monitoring the motion parameter OP (contact force Fc, velocity V, and acceleration a). th 、V th and a th When the safety function FN1 is executed to stop the operation of the robot 12, the processor 32 serves as a safety function execution unit 50 ( Figure 2 ) to perform its function.

[0085] Next, refer to Figure 6 The direct teaching function FN2 of step S3 is described. In step S21, the processor 32 obtains the operating force Fh applied to the robot. Specifically, the operator applies the operating force Fh to any part of the robot 12 (for example, the lower arm 24, the upper arm 26, the wrist 28, or the end effector 30). In addition, an operating handle (not shown) may be provided at any part of the robot 12 that the operator wants to operate. In this case, the operator can apply the operating force Fh to any part of the robot 12 by operating the operating handle.

[0086] The processor 32 obtains the external force F applied to any part of the robot 12 based on the detection data DD of the force sensor 14. In the present embodiment, the processor 32 obtains the detection data DDτ of each torque sensor 14A and detects the external force F based on the detection data DDτ.

[0087] Specifically, the processor 32 uses the detection data DDτ of each torque sensor 14A to perform a predetermined operation CL2, thereby being able to obtain the magnitude and direction of the external force F applied to the robot 12 and to identify the part of the robot 12 to which the external force F is applied. The processor 32 obtains the obtained external force F as the operating force Fh applied to the robot 12 by the operator.

[0088] In step S22, the processor 32 determines whether the magnitude of the operating force Fh acquired in the most recent step S21 exceeds a predetermined threshold value Fh. th (i.e., Fh ≥ Fh th ). The threshold Fh th is set to be greater than the threshold Fc th Small value (Fh th <Fc th ). The processor 32 is at Fh≥Fh th If it is determined to be yes, the process proceeds to step S23, and on the other hand, if it is determined to be no, the process proceeds to step S24.

[0089] In step S23, the processor 32 causes the robot 12 to operate according to the operating force Fh. Specifically, the processor 32 generates a command for moving the part of the robot 12 (for example, the end effector 30) to which the operating force Fh acquired in the most recent step S21 is applied in the direction of the operating force Fh, and drives each actuator 31 according to the command. As a result, the robot 12 moves the part to which the operator applied the operating force Fh in the direction of the operating force Fh.

[0090] In addition, the processor 32 may move the part of the robot 12 to which the operating force Fh is applied by a predetermined distance d in the direction of the operating force Fh in step S23. In this case, if the operator releases the operating force Fh on the robot 12 (i.e., lets go of the robot 12) after step S23, the robot 12 automatically stops after moving the predetermined distance d.

[0091] In addition, when the processor 32 causes the robot 12 to move in step S23, the processor 32 also executes step S2 ( Figure 5 ) is determined to be yes in step S12, step S13 in step S2 is executed first to stop the robot 12. Then, the processor 32 can prohibit the execution of step S23 until it is determined to be no in step S12 in step S2 (or until a specified time has passed).

[0092] In step S24, the processor 32 determines whether the direct teaching function FN2 is disabled in the above-mentioned step S5, similarly to the above-mentioned step S14. If the processor 32 determines that it is yes, it ends the direct teaching function FN2 in step S3. As a result, the robot 12 stops the operation based on the direct teaching function FN2. On the other hand, if the processor 32 determines that it is no, it returns to step S21.

[0093] In this way, the processor 32 repeatedly executes the loop of steps S21 to S24 until it is determined to be yes in step S24, thereby executing the direct teaching function FN2 for causing the robot 12 to operate according to the operation force Fh applied to the robot 12. Therefore, the processor 32 serves as the direct teaching execution unit 52 ( Figure 2 ) to perform its function.

[0094] As described above, in the present embodiment, the processor 32 executes the safety function FN1 of step S2 and the direct teaching function FN2 of step S3 in parallel. In addition, the processor 32 may synchronize (or alternate) the cycle of steps S11 to S14 in step S2 and the cycle of steps S21 to S24 in step S3 and execute them in a predetermined control cycle (e.g., 1 [msec]).

[0095] In addition, the processor 32 may obtain the operating force Fh in step S21 in step S3 based on the detection data DDτ used in step S11 in step S2 to obtain the contact force Fc. Alternatively, the processor 32 may obtain the operating force Fh in step S21 in step S3 based on the detection data DDτ obtained at a time point different from the detection data DDτ used in step S11 in step S2 to obtain the contact force Fc.

[0096] In this embodiment, the processor 32 acquires the velocity V and the acceleration a of the robot 12 in step S11 in step S2 during the execution of the direct teaching function FN2 in step S3. Therefore, the processor 32 serves as the motion parameter acquisition unit 54 ( Figure 2 ) to perform its function.

[0097] As described above, in this embodiment, the control device 16 includes a safety function execution unit 50 that executes the following safety function FN1: monitors at least one of the contact force Fc applied to the robot 12 in motion, the velocity V of the robot 12, and the acceleration a, and when the at least one of the contact force Fc, V, and a exceeds a predetermined threshold value (Fc th 、V th 、a th ), the movement of the robot 12 is stopped.

[0098] In addition, the control device 16 includes a direct teaching execution unit 52 that executes a direct teaching function FN2 in parallel with the safety function FN1 executed by the safety function execution unit 50, causing the robot 12 to operate according to the operation force Fh applied to the robot 12. According to this configuration, the direct teaching function FN2 can be executed without using the enable switch 48 described above.

[0099] More specifically, in the other direct teaching function FN2 ′, from the viewpoint of ensuring the safety of the operator, when the processor 32 detects that the operator has turned on the enable switch 48 , the processor 32 executes the direct teaching function FN2 ′ after disabling the safety function FN1 .

[0100] In this embodiment, the processor 32 executes the direct teaching function FN2 in parallel with the safety function FN1, so that the operation of the enable switch 48 is not required, and the safety of the operator during the execution of the direct teaching function FN2 can be fully ensured by the safety function FN1. In addition, other direct teaching functions FN2' will be described later.

[0101] In the present embodiment, the safety function executing unit 50 and the direct teaching executing unit 52 respectively execute the safety function FN1 and the direct teaching function FN2 based on the detection data DDτ of the common force sensor 14 (specifically, the torque sensor 14A). According to this configuration, the safety function FN1 and the direct teaching function FN2 can be executed simultaneously with high accuracy.

[0102] In addition, by sharing the force sensor 14 in the safety function FN1 and the direct teaching function FN2, it is possible to reduce costs. In addition, by synchronizing the control cycles of the safety function FN1 (specifically, the cycle of steps S11 to S14 described above) and the direct teaching function FN2 (specifically, the cycle of steps S21 to S24 described above) with each other, the safety function FN1 and the direct teaching function FN2 can be executed in parallel based on the same (i.e., shared) detection data DDτ.

[0103] In addition, in the present embodiment, the case where the processor 32 acquires the contact force Fc in the process of executing the direct teaching function FN2 in the above-mentioned step S11 and functions as the motion parameter acquisition unit 54 to acquire the velocity V and the acceleration a is described. However, the present invention is not limited thereto, and the processor 32 may acquire the contact force Fc in the above-mentioned step S11 without acquiring the velocity V and the acceleration a. In this case, the above-mentioned motion parameter acquisition unit 54 may be omitted from the control device 16.

[0104] In addition, when obtaining the contact force Fc in the above-mentioned step S11, the processor 32 may obtain only the magnitude of the contact force Fc by executing an operation CL1 different from the operation CL2 executed in the above-mentioned step S21. Alternatively, the processor 32 may determine the magnitude and direction of the contact force Fc and the part of the robot 12 to which the contact force Fc is applied by executing an operation CL1 (=CL2) which is the same as the operation CL2 executed in the step S21 in the step S11.

[0105] In the present embodiment, the force sensor 14 includes a plurality of torque sensors 14A, and the safety function execution unit 50 and the direct teaching execution unit 52 execute the safety function FN1 and the direct teaching function FN2 based on the detection data DDτ of the common torque sensor 14A.

[0106] However, the force sensor 14 is not limited thereto, and may include a plurality of torque sensors 14A and a force sensor 14B capable of detecting forces in six axial directions. The force sensor 14B is disposed at any portion of the robot 12 (e.g., the robot base 20), and is capable of detecting an external force F applied to the robot 12 at a portion closer to the front end than the position where the force sensor 14B is disposed.

[0107] In this case, the safety function execution unit 50 can execute the safety function FN1 based on the detection data DDf of the force sensor 14B (or the detection data DDτ of the torque sensor 14A), while the direct teaching execution unit 52 can execute the direct teaching function FN2 based on the detection data DDτ of the torque sensor 14A (or the detection data DDf of the force sensor 14B).

[0108] In this embodiment, the processor of the teaching device 18 generates the direct teaching image 100 and displays it on the display device 44 of the teaching device 18. However, the present invention is not limited thereto, and the processor 32 of the control device 16 may generate the direct teaching image 100 and display it on the display device 42.

[0109] In this case, the operator can operate the input device 40 to select the direct teaching start button image 102 or the direct teaching end button image 104 in the direct teaching image 100 displayed on the display device 42. When the operator selects the direct teaching start button image 102, the processor 32 of the control device 16 receives the direct teaching function start instruction through the input device 40.

[0110] Furthermore, in the present embodiment, the case where the operator sends the direct teaching function start command or the direct teaching function end command to the processor 32 by selecting the direct teaching start button image 102 or the direct teaching end button image 104 displayed on the direct teaching image 100 has been described.

[0111] However, it is not limited to this, and it can also be configured as follows: a physical switch (or, physical button) is set in the control device 16 or the teaching device 18, and a direct teaching function start instruction or a direct teaching function end instruction is issued by operating the physical switch. Alternatively, the operator can also give a direct teaching function start instruction or a direct teaching function end instruction to the processor 32 by tapping any part of the robot 12 with his hand. The processor 32 can detect the operator's tapping operation on the robot 12 based on the detection data DD of the force sensor 14. In addition, the enable switch 48 is not limited to the teaching device 18, and can also be set in the control device 16, etc.

[0112] Next, refer to Figure 7 , other examples of the action flow of the robot system 10 are described. Figure 7 In the process shown, the processor 32 executes the above-mentioned direct teaching function FN2 and other direct teaching functions FN2' using the enable switch 48. Figure 7 In the process shown, Figure 3 The same steps in the same process are marked with the same step numbers and repeated descriptions are omitted. Figure 7 In the illustrated flow, when the processor 32 makes a negative determination in step S1 or after executing step S5 , the processor 32 proceeds to step S31 .

[0113] In step S31, the processor 32 determines whether the enable switch 48 is turned on (in other words, pressed to the first pressed position P1). Specifically, when the enable switch 48 is turned on, the processor of the teaching device 18 sends an enable switch on signal to the control device 16. When the processor 32 receives the enable switch on signal, it determines that it is yes, sets the direct teaching function FN2' to be effective (sets the setting of the direct teaching function FN2' to "on" or sets an execution flag), starts step S3' described later, and proceeds to step S32. On the other hand, when the processor 32 determines that it is no, it proceeds to step S6.

[0114] In step S32, the processor 32 determines whether the enable switch 48 is turned off (in other words, restored to the initial position P0 or pressed to the second pressed position P2). Specifically, when the enable switch 48 is turned off, the processor of the teaching device 18 sends an enable switch off signal to the control device 16. When the processor 32 of the control device 16 receives the enable switch off signal, it determines that it is yes and enters step S33. On the other hand, when the processor 32 determines that it is no, it loops step S32.

[0115] In step S33, the processor 32 sets the direct teaching function FN2' to invalid (sets the setting of the direct teaching function FN2' to "off", or deletes the execution flag). Here, in the present embodiment, when the processor 32 determines that the direct teaching function FN2' is enabled in step S31, the direct teaching function FN2' of step S3' is executed in a state where the safety function FN1 is disabled (that is, the safety function FN1 is not executed).

[0116] Reference Figure 8 This step S3' will be described. Figure 8 The process shown is similar to Figure 6 The process shown is different in step S24'. In step S24', the processor 32 determines whether the direct teaching function FN2' is invalid in the above step S33. If the processor 32 determines that it is yes, it executes the above emergency stop action ES to stop the action of the robot 12 and ends the direct teaching function FN2' in step S3'. On the other hand, if the processor 32 determines that it is no, it returns to step S21.

[0117] Thus, in the other direct teaching function FN2', the processor 32 executes the direct teaching function FN2' while the operator turns on the enable switch 48, and terminates the direct teaching function FN2' when the enable switch 48 is turned off. In other words, in order to execute the other direct teaching function FN2', the operator needs to keep the enable switch 48 turned on and keep giving the control device 16 the enable switch on signal.

[0118] Refer again Figure 7 In step S4, if the determination is negative, in step S34, the processor 32 determines whether the enable switch 48 is turned on, similarly to the above-mentioned step S31. The processor 32 proceeds to step S35 if the determination is positive, and returns to step S4 if the determination is negative.

[0119] In step S35, the processor 32 disables the direct teaching function FN2 as in the above step S5. As a result, the processor 32 disables the direct teaching function FN2 in the above step S14 ( Figure 5 ) and step S24( Figure 6 ) is determined to be YES, the safety function FN1 of step S2 and the direct teaching function FN2 of step S3 are terminated. On the other hand, the processor 32 enables the direct teaching function FN2', starts step S3', and proceeds to step S32.

[0120] Thus, in the present embodiment, when the processor 32 turns on the enable switch 48 during execution of steps S2 and S3 (YES in step S34 ), in step S3 ′, the other direct teaching function FN2 ′ using the enable switch 48 is preferentially executed.

[0121] According to this configuration, the operator can selectively execute the direct teaching function FN2 executed in parallel with the safety function FN1 without using the enable switch 48 and another direct teaching function FN2' using the enable switch 48 according to the application. This can improve the convenience of the operator.

[0122] In the present embodiment, the processor 32 functions as the direct teaching execution unit 52, and after receiving a command for executing the direct teaching function FN2 in step S3 and starting the direct teaching function FN2, the processor 32 does not receive the command again and continues to execute the direct teaching function FN2.

[0123] More specifically, when the processor 32 accepts a direct teaching function start instruction from the operator in step S1 and starts the direct teaching function FN2 in step S3, it will not accept further instructions for executing the direct teaching function FN2 (for example, a direct teaching function start instruction, an enable switch on signal) again before accepting a direct teaching function end instruction in step S4, and will continue to execute the direct teaching function FN2.

[0124] In other words, during the execution of the direct teaching function FN2, the operator does not need to operate the input device 40 or 46 or the enable switch 48 to input any instruction for continuing the direct teaching function FN2 (eg, direct teaching function start instruction, enable switch on signal).

[0125] In contrast, in the other direct teaching function FN2', as described above, the operator needs to keep the enable switch 48 on to continue the direct teaching function FN2' and to keep giving the enable switch on signal to the control device 16. Therefore, according to the direct teaching function FN2 in step S3, the operator's operation can be simplified.

[0126] Next, refer to Fig. 9 The other functions of the robot system 10 will be described. In the present embodiment, the operator can select whether the safety function FN1 is enabled or disabled. Specifically, the processor 32 of the teaching device 18 generates a safety function setting image 106 and displays it on the display device 44 of the teaching device 18 . Fig.10 An example of the safety function setting image 106 is shown.

[0127] exist Fig.10 In the example shown, the safety function setting image 106 includes a valid button image 108 and a invalid button image 110. The operator can select the valid button image 108 or the invalid button image 110 by operating the input device 46 and clicking the valid button image 108 or the invalid button image 110 displayed on the safety function setting image 106.

[0128] When the processor of the teaching device 18 receives the input of the valid button image 108, it sends a safety function enable instruction for enabling the safety function FN1 to the control device 16. On the other hand, when the processor of the teaching device 18 receives the input of the invalid button image 110, it sends a safety function invalid instruction for invalidating the safety function FN1 to the control device 16.

[0129] The processor 32 of the control device 16 sets the safety function FN1 to be effective or ineffective according to the safety function effective instruction or the safety function ineffective instruction. Fig. 9 ) functions, wherein the function switching unit 56 is used to switch the safety function FN1 executed as the safety function execution unit 50 to be effective or invalid.

[0130] While the safety function FN1 is set to be invalid, the processor 32 as the safety function execution unit 50 does not execute the safety function FN1. For example, the operator may want to execute the automatic operation function FN4 described above to make the robot 12 move at high speed while being sufficiently away from the robot 12 to ensure safety. In this case, the operator sets the safety function FN1 to be invalid and makes the robot 12 move at high speed, thereby shortening the cycle time of the operation.

[0131] Next, refer to Fig.11 right Fig. 9The operation flow executed by the control device 16 shown in FIG. Fig.11 In the process shown, Figure 3 The same steps in the same process are marked with the same step numbers and repeated descriptions are omitted. Fig.11 In the illustrated flow, when the processor 32 makes a YES determination in step S1 , the process proceeds to step S41 before enabling the direct teaching function FN2 .

[0132] In step S41, the processor 32 determines whether the safety function FN1 is enabled or disabled. If the safety function FN1 is enabled, the processor 32 determines yes and proceeds to step S43. On the other hand, if the safety function FN1 is disabled, the processor 32 determines no and proceeds to step S42.

[0133] Thus, in this embodiment, the processor 32 functions as the safety function determination unit 58 ( Fig. 9 ) functions, wherein the safety function determination unit 58 is used to determine whether the safety function FN1 is valid or invalid when receiving an instruction for starting the direct teaching function (that is, the above-mentioned direct teaching function start instruction).

[0134] In step S42, the processor 32 generates a warning signal AL1. For example, the processor 32 generates a warning signal AL1 of an image or sound such as "Safety function is invalid. Please enable the safety function." Then, the processor 32 displays the generated warning signal AL1 on the display device 42 (or the display device 44 of the teaching device 18), or outputs it through a speaker provided in the control device 16 (or the teaching device 18).

[0135] After step S42, the processor 32 returns to step S41. Thus, in the present embodiment, the processor 32 does not start the safety function FN1 of step S2 and the direct teaching function FN2 of step S3 while the determination result in step S41 is NO.

[0136] In step S43, the processor 32 performs the following operations in step S12 ( Figure 5 ) is used for the threshold Fc of the safety function FN1 th 、V th and a th From the first threshold Fc th1 、V th1 and a th1 Switch to the second threshold Fc th2 、V th2 and a th2Here, the processor 32 sometimes executes the safety function FN1 in parallel with the teaching function FN3, the automatic operation function FN4, or the action confirmation function FN5. The first threshold Fc is referred to in the safety function FN1 executed in parallel with the teaching function FN3, the automatic operation function FN4, or the action confirmation function FN5 other than the direct teaching function FN2. th1 、V th1 and a th1 .

[0137] On the other hand, the second threshold Fc th2 、V th2 and a th2 is Fig.11 The safety function FN2 referred to in step S2 is predetermined to be greater than the first threshold value Fc th1 、V th1 and a th1 Large values ​​(i.e., Fc th2 >Fc th1 、V th2 >V th1 、a th2 >a th1 ).

[0138] After step S43, the processor 32 enables the direct teaching function FN2, starts steps S2 and S3, and proceeds to step S4. Then, the processor 32 executes steps S2 and S3 in parallel, and in step S12 of step S2, determines whether the action parameter OP (contact force Fc, velocity V, and acceleration a) exceeds the second threshold value Fc switched in step S43. th2 、V th2 and a th2 .

[0139] Afterwards, the processor 32 executes, for example, Fig.11 In step S5 of the above (or in step S6 when the answer is yes), the threshold value Fc used by the safety function FN1 is set to th 、V th and a th From the second threshold Fc th2 、V th2 and a th2 Switch to the first threshold Fc th1 、V th1 and a th1 .

[0140] Thus, in this embodiment, the processor 32 functions as the threshold switching unit 60 ( Fig. 9 ) functions, wherein the threshold switching unit 60 is used to set the first threshold value Fc for the functions FN3, FN4, and FN5 other than the direct teaching function FN2.th1 、V th1 、a th1 Compared with the first threshold Fc th1 、V th1 、a th1 The second large threshold Fc th2 、V th2 、a th2 Switching threshold Fc th 、V th 、a th .

[0141] As described above, in the present embodiment, the control device 16 further includes: a function switching unit 56 that switches the safety function FN1 of the safety function execution unit 50 to be effective or ineffective; and a safety function determination unit 58 that determines whether the safety function FN1 is effective or ineffective when the direct teaching execution unit 52 executes the direct teaching function FN2. Specifically, when the safety function determination unit 58 receives an instruction for starting the direct teaching function FN2 (that is, a direct teaching function start instruction) (when it is determined to be yes in step S1), it determines whether the safety function FN1 is effective or ineffective (step S41).

[0142] Then, when the safety function determination unit 58 determines that the safety function FN1 is invalid (No in step S41), the direct teaching execution unit 52 does not execute the direct teaching function FN2 (step S3). Fig.11 In step S3 of the above, it is possible to reliably avoid executing the direct teaching function FN2 without activating the safety function FN1. Therefore, the safety of the operator can be reliably ensured.

[0143] In addition, in the present embodiment, the control device 16 further includes a threshold switching unit 60 which switches the first threshold Fc th1 、V th1 、a th1 Compared with the first threshold Fc th1 、V th1 、a th1 The second large threshold Fc th2 、V th2 、a th2 Switching threshold Fc th 、V th 、a th Then, when the direct teaching execution unit 52 starts the direct teaching function FN2, the threshold switching unit 60 sets the threshold Fc th 、V th 、a th From the first threshold Fc th1 、V th1 、a th1 Switch to the second threshold Fcth2 、V th2 、a th2 (Step S43).

[0144] According to this configuration, when steps S2 and S3 are executed in parallel, it is possible to reliably avoid a situation where the determination in step S12 in step S2 is YES due to the operation force Fh applied by the operator to the robot 12. Therefore, it is possible to avoid unnecessary stoppage of the operation of the robot 12 in the direct teaching FN2, and the safety of the operator can be reliably ensured by the safety function FN1.

[0145] In the present embodiment, the processor of the teaching device 18 generates the safety function setting image 106 and displays it on the display device 44 of the teaching device 18. However, the present invention is not limited thereto, and the processor 32 of the control device 16 may generate the safety function setting image 106 and display it on the display device 42.

[0146] In this case, the operator may operate input device 40 to select enable button image 108 or disable button image 110 in safety function setting image 106 displayed on display device 42. When the operator selects enable button image 108, processor 32 of control device 16 receives the safety function enable command through input device 40.

[0147] In addition, in the present embodiment, the case where the operator manually inputs the input for selecting whether the safety function FN1 is valid or invalid to the processor of the teaching device 18 (or the processor 32 of the control device 16) is described. However, the present invention is not limited to this, and the processor 32 of the control device 16 may function as the function switching unit 56 to automatically set the safety function FN1 to valid or invalid without receiving the input from the operator.

[0148] For example, the robot system 10 further includes an object detection sensor (camera, laser scanner, etc.) that can detect an object (e.g., an operator) that exists around the robot 12. In this case, the processor 32 functions as a function switching unit 56, and when the object detection sensor detects an object that exists around the robot 12, the safety function FN1 is switched to be effective.

[0149] On the other hand, the processor 32 may also switch the safety function FN1 to invalid and increase the maximum speed V of the robot 12 to 0. MAX The setting value of is switched to a higher value. Thus, for example, when the automatic operation function FN4 is executed, the robot 12 can be made to move at a high speed.

[0150] In addition, it is also possible to execute before step S41 (that is, when the determination in step S1 is yes) Fig.11 Step S43. Alternatively, Fig.11 In this case, steps S41 and S42 can be omitted from the process. Fig. 9 The control device 16 shown omits the function switching unit 56 .

[0151] As an alternative, you can also Fig.11 In this case, step S43 can be omitted from the process. Fig. 9 The control device 16 shown in the figure omits the threshold switching unit 60. In addition, it should be understood that the threshold switching unit 60 can be Fig.11 Steps S41 to S43 are applied to Figure 7 The process shown (ie, after the determination is yes in step S1).

[0152] In addition, the processor 32 may also execute Fig.11 In step S3 (direct teaching function FN2) in the above, the safety function determination unit 58 functions to determine whether the safety function FN1 is valid or invalid. If the safety function FN1 is invalid, the direct teaching function FN2 is terminated. Fig.12 The flow of such a direct teaching function FN2 is shown.

[0153] exist Fig.12 In the flow of step S3 shown, when a negative determination is made in step S24, in step S25, the processor 32 functions as the safety function determination unit 58 to determine whether the safety function FN1 is effective or ineffective, similarly to the above-mentioned step S41.

[0154] The processor 32 returns to step S21 when the determination is yes, and on the other hand, when the determination is no (that is, when the safety function FN1 is invalidated), the direct teaching function FN2 of step S3 is terminated. In this way, by terminating the direct teaching function FN2 when the safety function FN1 is invalidated during the execution of the direct teaching function FN2, the safety of the operator can be more reliably ensured. In addition, the processor 32 may also execute the above-mentioned step S42 to generate the warning signal AL1 when the determination is no in step S25.

[0155] In addition, the processor 32 may also Fig.11 Step S43 is omitted in the process of Fig.11 In step S2 (safety function FN1) and step S3 (direct teaching function FN2) of the embodiment, the threshold switching unit 60 functions as a threshold switching unit 60, and when the action parameter OP (contact force Fc, velocity V and acceleration a) exceeds the third threshold value Fc th3 、V th3 and a th3 When the threshold Fc referred to in step S2 in step S12 is th 、V thand a th From the first threshold Fc th1 、V th1 and a th1 Switch to the second threshold Fc th2 、V th2 and a th2 . Fig.13 This shows the flow of step S2.

[0156] exist Fig.13 In the process of step S2 shown in the figure, after step S11, in step S15, the processor 32 determines whether the motion parameter OP (contact force Fc, velocity V, and acceleration a) obtained in the most recent step S11 is greater than the third threshold value Fc. th3 、V th3 and a th3 Small.

[0157] The third threshold Fc th3 、V th3 and a th3 is set to be lower than the threshold value Fc referred to in step S12. th 、V th and a th (Specifically, the first threshold Fc th1 、V th1 and a th1 , and the second threshold Fc th2 、V th2 and a th2 ) small value (i.e., Fc th3 <Fc th1 <Fc th2 、V th3 <V th1 <V th2 、a th3 <a th1 <a th2 ).

[0158] Processor 32 is in the state where Fc<Fc th3 、V<V th3 And a<a th3 If the judgment is yes, the process proceeds to step S16. On the other hand, if Fc ≥ Fc th3 , V ≥ V th3 or a≥a th3 In the case (that is, at least one item of the action parameter OP exceeds the third threshold Fc th3 、V th3 or a th3 In addition, the processor 32 may also determine in step S15 whether the speed V and acceleration a in the action parameter OP are greater than the third threshold value V.th3 and a th3 Small.

[0159] In step S16, the processor 32 functions as the threshold switching unit 60 and changes the threshold Fc referred to in step S12 to th 、V th and a th Set as the first threshold Fc th1 、V th1 and a th1 .

[0160] On the other hand, if the determination in step S15 is negative (that is, the operation parameter OP exceeds the third threshold value Fc th3 、V th3 or a th3 When the threshold value Fc is set to the threshold value Fc in step S12, the processor 32 functions as the threshold value switching unit 60 in step S17. th 、V th and a th Set as the second threshold Fc th2 、V th2 and a th2 In addition, the processor 32 may also set the threshold Fc for the contact force Fc in step S17. th Set as the second threshold Fc th On the other hand, the threshold V for speed V th and the threshold a for acceleration a th Maintain the first threshold V th1 and a th1 .

[0161] Then, in step S12, the processor 32 refers to the first threshold Fc set at this time point. th1 、V th1 or a th1 , or the second threshold Fc th2 、V th2 and a th2 , determine whether the action parameter OP exceeds the first threshold Fc th1 、V th1 and a th1 , or the second threshold Fc th2 、V th2 and a th2 .

[0162] In this way, Fig.13 In the process shown in FIG. 1 , the processor 32 generates an error signal when at least one item of the action parameter OP exceeds the third threshold value Fc th3 、V th3 or a th3 When the threshold Fc referred to in step S12 isth 、V th and a th From the first threshold Fc th1 、V th1 and a th1 Switch to the second threshold Fc th2 、V th2 and a th2 (Step S17).

[0163] On the other hand, when the action parameter OP is lower than the third threshold value Fc th3 、V th3 or a th3 hours (that is, when it is determined to be YES in step S15), the threshold value Fc referred to in step S12 is th 、V th and a th From the second threshold Fc th2 、V th2 and a th2 Switch to the first threshold Fc th1 、V th1 and a th1 .

[0164] Here, in step S3 (direct teaching function FN2) executed in parallel with step S2, when the operation force Fh applied by the operator to the robot 12 increases, the motion parameter OP (speed V, acceleration a) also increases. In addition, the external force F detected by the force sensor 14 also includes a component of the operation force Fh.

[0165] According to the present embodiment, the threshold Fc is switched according to the operation parameter OP as described above. th 、V th 、a th , it is possible to reliably avoid the situation where the operator applies the operating force Fh to the robot 12 and the result is a YES in step S12, and step S13 is executed. On the other hand, when the operation parameter OP is small, it is possible to more reliably detect that the robot 12 is in contact with the surrounding object.

[0166] In one example of the present embodiment, the processor 32 determines in step S15 whether the speed V or the acceleration a in the motion parameter OP is greater than the third threshold value V. th3 or a th3 Then, in steps S16 and S17, the processor 32 calculates the value of the acceleration a at the first threshold Fc according to the speed V or the acceleration a. th1 and the second threshold Fc th2 Switch between the threshold Fc for the contact force Fc th .

[0167] Then, the processor 32 refers to the first threshold Fc set at this time point in step S12. th1 Or the second threshold Fc th2 , determine whether the contact force Fc obtained as the action parameter OP exceeds the first threshold Fc th Or the second threshold Fc th2 .

[0168] That is, in this case, the processor 32 determines in step S15 whether one of the motion parameters OP (speed V, acceleration a) is less than the third threshold value (V th3 、a th3 ), in steps S16 and S17, at the first threshold value (Fc th1 ) and the second threshold (Fc th2 ) between the threshold value (Fc) of another item (contact force Fc) of the action parameter OP th ).

[0169] Then, the processor 32 determines in step S12 whether another item of the action parameter OP exceeds the threshold value (Fc th1 or Fc th2 According to this structure, it is possible to more reliably avoid the execution of step S13 due to the operation force Fh applied to the robot 12 by the direct teaching function FN2.

[0170] In addition, the processor 32 may also Fig.11 Step S43 is performed in the process of Fig.11 In step S2 of Fig.13 In this case, the processor 32 Fig.13 In step S16, the threshold value switching unit 60 functions as the threshold value switching unit 60, and the threshold value Fc referred to in step S12 is th 、V th and a th Set to the second threshold Fc switched in step S43 th2 、V th2 and a th2 .

[0171] On the other hand, the processor 32 Fig.13 In step S17, the threshold value switching unit 60 functions as the threshold value switching unit 60, and the threshold value Fc referred to in step S12 is th 、V th and a th Set as the fourth threshold Fc th4 、V th4 and a th4 The fourth threshold Fc th4 、V th4 and a th4is set to be greater than the second threshold Fc th2 、V th2 and a th2 The value of (i.e., Fc th4 >Fc th2 、V th4 >V th2 、a th4 >a th2 ).

[0172] That is, in this case, the processor 32 functions as a threshold switching unit 60, and switches the threshold value Fc according to the operation parameter OP. th2 、V th2 、a th2 (first threshold) and threshold Fc th4 、V th4 、a th4 The threshold Fc referred to in step S12 is switched between (second threshold) th 、V th and a th In this case, the processor 32 may also determine in step S15 whether one of the motion parameters OP (speed V, acceleration a) is less than a third threshold value (V th3 、a th3 ), in steps S16 and S17, at the first threshold value (Fc th2 ) and the second threshold (Fc th4 ) between the threshold value (Fc) of another item (contact force Fc) of the action parameter OP th ).

[0173] Next, refer to Fig.14 as well as Fig.15 Various forms of the force sensor 14 will be described. The force sensor 14 may include at least one of the torque sensor 14A and the force sensor 14B described above. Fig.14 1 shows a torque sensor 14A according to one embodiment. The torque sensor 14A is provided on the output shaft 31a of the actuator 31. Specifically, the torque sensor 14A includes: a cylindrical main body 150 having a central axis A1; and a pair of sensor elements 152a and 152b built into the main body 150. The main body 150 is coaxially embedded in the output shaft 31a in a manner surrounding the output shaft 31a.

[0174] The pair of sensor elements 152a and 152b each include a strain gauge such as a semiconductor strain gauge or a metal foil strain gauge, a proximity sensor, a photoelectric sensor, a laser or electrostatic capacitance displacement meter, or an optical or magnetic encoder. The sensor elements 152a and 152b convert the deformation, deformation or displacement generated in the main body 150 due to the torque τ applied to the output shaft 31a into an electrical signal as the detection data DDτ a and DDτ b Output separately.

[0175] The detection data DDτ outputted from the sensor element 152a a The signal is supplied to the control device 16 via the signal line L1. The sensor element 152a and the signal line L1 constitute the detection unit 154a of the first system. In addition, the detection data DDτ outputted from the sensor element 152b b The signal line L2 is independent of the signal line L1 (specifically, insulated) and is supplied to the control device 16. The sensor element 152b and the signal line L2 constitute a detection unit 154b of the second system.

[0176] In addition, the signal lines L1 and L2 may be wired or wireless (ie, wireless communication transmission paths). a and the detection data DDτ of the sensor element 152b b The signals are individually supplied to the control device 16 through different signal lines L1 and L2 that are independent of each other.

[0177] The pair of sensor elements 152a and 152b are adjacently arranged at the same position of the main body 150 so as to detect a force in one direction (specifically, a torque τ applied from the output shaft 31a to the circumferential direction of the main body 150). Therefore, the detection data DDτ of the sensor element 152a is a The detection data DDτ of the sensor element 152b b For example, the sensor elements 152a and 152b may be arranged overlapping (or parallel to) each other. Thus, in this embodiment, the detection units 154a and 154b of the two different systems both detect the force (torque τ) in one direction, and the detection data DDτ is respectively a and DDτ b Supplied separately to the control device 16.

[0178] on the other hand, Fig.151 shows a force sensor 14B according to an embodiment. The force sensor 14B is a six-axis force sensor, and is provided, for example, on the robot base 20. Specifically, the force sensor 14B includes: a cylindrical main body 160 having a central axis A2; and a plurality of pairs of sensor elements 162a and 162b provided on the main body 160. The main body 160 includes: a pair of rings 160a and 160b extending in the circumferential direction and separated from each other in the axial direction; and a plurality of columnar portions 160c extending between the rings 160a and 160b and arranged at approximately equal intervals in the circumferential direction.

[0179] exist Fig.15 In the example shown, a pair of sensor elements 162a and 162b are provided on the ring portion 160a and the column portion 160c, respectively. The pair of sensor elements 162a and 162b are respectively provided with strain gauges such as semiconductor strain gauges or metal foil strain gauges, proximity sensors, photoelectric sensors, laser or electrostatic capacitance displacement gauges, or optical or magnetic encoders, etc., similar to the above-mentioned sensor elements 152a and 152b. The sensor elements 162a and 162b convert the deformation, deformation or displacement generated in the main body 152 due to the force f acting on the main body 162 into an electrical signal as detection data DDf a and DDf b Output separately.

[0180] The pair of sensor elements 162a and 162b provided in the ring portion 160a are adjacently arranged at the same position of the ring portion 160a so that both detect a force in one direction (specifically, an axial force f applied to the ring portion 160a). Similarly, the pair of sensor elements 162a and 162b provided in the column portion 160c are adjacently arranged at the same position of the column portion 160c so that both detect a force in one direction (specifically, a force f applied to the column portion 160c in a direction around the axis A2). The detection data DDf of the sensor element 162a is a The detection data DDf of the sensor element 162b b For example, the sensor elements 162a and 162b may be arranged overlapping (or parallel to) each other.

[0181] The detection data DDf outputted from each sensor element 162a is a The control device 16 is supplied via the signal line L1. The sensor element 162a and the signal line L1 constitute a detection unit 164a of the first system. The control device 16 generates the detection data DDf of each sensor element 162a. aTo perform the specified operation CL3, thereby detecting the forces in the six directions of x-axis direction, force fx in the y-axis direction, force fy in the z-axis direction, and torque τx around the x-axis, torque τy around the y-axis, and torque τx around the z-axis of the sensor coordinate system C3 set for the main body 160 of the force sensor 14B.

[0182] The sensor coordinate system C3 is a control coordinate system for calculating the external force F applied to the robot 12 based on the detection data DDf of the force sensor 14B. The sensor coordinate system C3 is set for the main body 160, for example, its origin is arranged on the central axis A2 of the main body 160 (for example, the center point), and its z axis is consistent with the central axis A2 of the main body 160. The control device 16 can calculate the magnitude and direction of the external force F applied to the robot 12 based on the forces fx, fy, fz, τx, τy, and τx in the six-axis directions thus calculated, and can identify the part of the robot 12 to which the external force F is applied.

[0183] In addition, the detection data DDf outputted from each sensor element 162b is b The control device 16 is supplied via the signal line L2. The sensor element 162b and the signal line L2 constitute the detection unit 164b of the second system. The control device 16 generates the detection data DDf of each sensor element 162b. b , the prescribed operation CL3 is performed, thereby obtaining the above-mentioned forces fx, fy, fz, τx, τy and τx in the six-axis directions, thereby determining the magnitude and direction of the external force F applied to the robot 12 and the part of the robot 12 to which the external force F is applied. Thus, in this embodiment, the detection units 164a and 164b of the two different systems each detect a force f in one direction, and respectively generate the detection data DDf a and DDf b Supplied separately to the control device 16.

[0184] Next, refer to Fig.16 According to Fig.14 The detection data DDτ of the torque sensor 14A shown in FIG. a and DDτ b In the present embodiment, the safety function execution unit 50 (specifically, the processor 32) executes the first safety function FN1 in parallel with the direct teaching function FN2. a and the second safety function FN1 b , wherein the first safety function FN1 a The detection data DDτ of the detection unit 154a (ie, one sensor element 152a) according to the first system a The first contact force Fc is obtained aTo monitor, the second safety function FN1 b The detection data DDτ of the detection unit 154b (ie, the other sensor element 152b) according to the second system b The second contact force Fc is obtained b Monitor. First safety function FN1 a and the second safety function FN1 b For example, Figure 5 The process of step S2 is shown.

[0185] That is, the safety function execution unit 50 performs the first safety function FN1 a , based on the detection data DDτ obtained from one sensor element 152a of each torque sensor 14A through the signal line L1 a , execute the process of step S2. a In parallel, the safety function execution unit 50 performs the second safety function FN1 a , based on the detection data DDτ obtained from the other sensor element 152b of each torque sensor 14A through the signal line L2 b , execute the process of step S2. Therefore, in the case of the first safety function FN1 a Step S12 is executed and the second safety function FN1 is executed b If a YES is determined in any of the executed steps S12, the robot 12 stops (step S13).

[0186] In this way, the detection data DDτ of the detection units 154a and 154b of different systems (ie, different sensor elements 152a and 152b) are a and DDτ b Execute the first safety function FN1 alone a and the second safety function FN1 b Therefore, if the detection unit 154a (for example, the sensor element 152a) of one system fails, the detection data DDτ of the detection unit 154b (for example, the sensor element 152b) of another system can be used. b To continue to execute the second safety function FN1 b Therefore, the operator's safety can be ensured more reliably.

[0187] On the other hand, the first safety function FN1 executed by the direct teaching execution unit 52 (processor 32) and the safety function execution unit 50 a and the second safety function FN1 b Execute the direct teaching function FN2 in parallel ( Figure 6Specifically, the direct teaching execution unit 52 performs the teaching based on the detection data DDτ obtained from one sensor element 152a of each torque sensor 14A through the signal line L1. a , and execute the process of step S3. At this time, the direct teaching execution unit 52 performs the step S21 in step S3 based on the detection data DDτ of the detection unit 154a of one system (that is, one sensor element 152a). a To find the operating force Fh.

[0188] In addition, according to Fig.15 The detection data DDf of the force sensor 14B shown in FIG. a and DDf b Safety function FN1 executed a and FN1 b The direct teaching function FN2 is also the same as the case of using the torque sensor 14A. Specifically, the safety function execution unit 50 executes the first safety function FN1 in parallel. a ( Figure 5 process) and second safety function FN1 b ( Figure 5 ), wherein the first safety function FN1 a The detection data DDf of the detection unit 164a of the first system (ie, each sensor element 162a of one side) is a The first contact force Fc is obtained a To monitor, the second safety function FN1 b The detection data DDf of the detection unit 164b of the second system (ie, each sensor element 162b of the other party) is b The second contact force Fc is obtained b Conduct surveillance.

[0189] In addition, the direct teaching execution unit 52 and the first safety function FN1 a And the second safety function FN1 b In parallel, based on the detection data DDf obtained from each sensor element 162a of one of the force sensors 14B via the signal line L1, the detection unit 164a of the first system a To obtain the operating force Fh, the direct teaching function FN2 ( Figure 6 process).

[0190] also, Fig.16 The processor 32 of the control device 16 shown may also execute Figure 3 or Figure 7 The process shown in the figure. Figure 7In the case of the process of step S3', the processor 32 functions as the direct teaching execution unit 52, based on the detection data DDτ of the detection unit 154a or 164a of the first system obtained from the sensor element 152a or 162a of one side. a or DDf a ,implement Figure 8 The flow of the direct teaching function FN2' is shown.

[0191] In addition, the processor 32 can also use the first safety function FN1 a The loop of steps S11 to S14 in step S2 is executed as the second safety function FN1 b The loop of steps S11 to S14 in step S2 and the loop of steps S21 to S24 in step S3 executed as the direct teaching function FN2 are synchronized (or alternated) with each other and executed in a predetermined control cycle (for example, 1 [msec]).

[0192] In addition, the processor 32 may also have the function of executing the first safety function FN1 a and a first processor 32A for performing a direct teaching function FN2, and a second safety function FN1 b The second processor 32B. Fig.17 2 shows an embodiment in which the first processor 32A and the second processor 32B function as the safety function execution unit 50 , while the first processor 32A functions as the direct teaching execution unit 52 .

[0193] In addition, not limited to Fig.17 In the manner shown, the processor 32 may also have: executing the first safety function FN1 a The first processor 32A executes the second safety function FN1 b The second processor 32B and the third processor 32C execute the direct teaching function FN2.

[0194] In addition, the direct teaching execution unit 52 may also perform the direct teaching function FN2 based on the detection data DDτ of the detection unit 154a (or 164a) of the first system. a (or DDf a ) and the detection unit 154 of the second system b (or 164 b ) of the detection data DDτ b (or DDf b ) and calculate the operating force Fh.

[0195] For example, when using Fig.14When the torque sensor 14A executes the direct teaching function FN2, the direct teaching execution unit 52 can also obtain the detection data DDτ of the sensor element 152a on one side. a The detection data DDτ of the other sensor element 152b b The average value of DDτ AVE , according to the average value DDτ AVE Find the operating force Fh.

[0196] As an alternative, the processor 32 may also select the detection data DDτ of the detection unit 154a (or 164a) of the first system a (or DDf a ) and the detection data DDτ of the detection unit 154b (or 164b) of the second system b (or DDf b ), and use the selected larger one (or smaller one) to calculate the operating force Fh.

[0197] also, Fig.16 or Fig.17 The processor 32 of the control device 16 shown can also execute the first safety function FN1 a and the second safety function FN1 b When the first system detection unit 154a or 164a (for example, one sensor element 152a or 162a) and the second system detection unit 154b or 164b (for example, the other sensor element 152b or 162b) are detected, the fault detection function FN6 is executed in parallel to detect whether one of the detection units 154a or 164a of the first system (for example, one sensor element 152a or 162a) and the detection unit 154b or 164b of the second system (for example, the other sensor element 152b or 162b) is faulty. Fig.18 The fault detection function FN6 will be described.

[0198] When the fault detection function FN6 is enabled, the processor 32 starts Fig.18 The fault detection function FN6 can be used, for example, to start the safety function FN1 (the first safety function FN1 a And the second safety function FN1 b ), it is automatically enabled by the processor 32. Next, the fault detection function FN6 when the force sensor 14 has the torque sensor 14A will be described.

[0199] In step S51, the processor 32 obtains the detection data DDτ of the detection units 154a and 154b of the two systems (specifically, a pair of sensor elements 152a and 152b). a and DDτ bFor example, in step S51, the processor 32 obtains the detection data DDτ detected by the pair of sensor elements 152a and 152b at the same time point (or a very close time point). a and DDτ b .

[0200] In step S52, the processor 32 determines whether the detection data DDτ obtained in the most recent step S51 a and DDτ b For example, the processor 32 detects the data DDτ a and DDτ b The difference Δ D Exceeding the specified threshold Δ Dth (Δ D ≥Δ Dth ), it is determined as the detection data DDτ a and DDτ b The processor 32 proceeds to step S54 when the determination is yes, and proceeds to step S53 when the determination is no.

[0201] In step S53, the processor 32 determines whether the fault detection function FN6 is disabled. If the determination is yes, the processor 32 terminates the fault detection function FN6, and if the determination is no, the process returns to step S51.

[0202] On the other hand, if the determination in step S52 is YES, in step S54, the processor 32 generates a warning signal AL2. For example, the processor 32 generates a warning signal AL2 of image or sound such as "The force sensor may be faulty. Please maintain the force sensor." and outputs it to the display device 42 or 44 or the speaker.

[0203] In addition, when the judgment in step S52 is yes, the processor 32 can execute the above-mentioned emergency stop action ES to stop the robot 12. In addition, the processor 32 can also make the safety function FN1 (first safety function FN1 a and the second safety function FN1 b ) and the cycle of steps S11 to S14 in step S2 executed as the fault detection function FN6 and the cycle of steps S51 to S53 executed as the fault detection function FN6 are synchronized (or alternated) with each other and executed in a specified control period (for example, 1 [msec]).

[0204] Next, refer to Fig.19 and Fig. 20 Another function of the robot system 10 is described. In this embodiment, the control device 16 executes Fig. 20The process shown is a direct teaching function FN2 of another embodiment _1 In addition, Fig. 20 In the process shown, Figure 6 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.

[0205] exist Fig. 20 In the flow shown, the processor 32 functions as the direct teaching execution unit 52, executes steps S21 to S23, and after step S23, executes steps S61 to S66. In step S61, the processor 32 functions as the motion parameter acquisition unit 54, and acquires the motion parameter OP.

[0206] In the present embodiment, the processor 32 acquires at least one of the velocity V and the acceleration a of the robot 12 as the operation parameter OP in step S61. Hereinafter, a case where the processor 32 acquires the velocity V as the operation parameter OP in step S61 will be described.

[0207] In step S62, the processor 32 determines whether the motion parameter OP (speed V) obtained in the most recent step S61 is within the first range. Specifically, the processor 32 determines whether the speed V obtained in the most recent step S61 is within the first range [V th11 ≤V<V th12 ] The threshold value V defining the first range th11 and V th12 can be predetermined by the operator. In addition, the minimum threshold V th11 For example, it is set to zero. The processor 32 is set to zero. th11 ≤V<V th12 If the result is YES, the process proceeds to step S63. On the other hand, if the result is NO (i.e., V th12 ≤V), proceed to step S64.

[0208] In step S63, the processor 32 sets the resistance RF to the operation force Fh applied to the robot 12 to the first resistance RF1. Here, the acceleration setting value α that specifies the maximum value of the acceleration a of the robot 12 is preset in the control device 16. The larger the value of the acceleration setting value α, the greater the acceleration a of the robot 12 when operating according to the operation force Fh. In this case, the response speed of the robot 12 to the operation force Fh applied by the operator is fast (in other words, the operation feeling becomes lighter), and therefore, the resistance RF to the operation force Fh becomes lower.

[0209] On the contrary, the smaller the acceleration setting value α is, the smaller the acceleration a of the robot 12 becomes when operating according to the operating force Fh. In this case, the response speed of the robot 12 to the operating force Fh applied by the operator is slow (in other words, the operating feel becomes heavier), so the resistance RF to the operating force Fh increases.

[0210] Therefore, in the present embodiment, the processor 32 changes the acceleration setting value α according to the speed V obtained in step S61, thereby changing the resistance RF for the operation force Fh. In step S63, the processor 32 sets the acceleration setting value α to the first acceleration setting value α1, and sets the resistance RF for the operation force Fh to the first resistance RF1 corresponding to the first acceleration setting value α1. In addition, the first acceleration setting value α1 may also be set in the direct teaching function FN2. _1 The initial value (or default value) set at the start time.

[0211] On the other hand, if the determination in step S62 is negative, in step S64, the processor 32 determines whether the motion parameter OP (speed V) obtained in the most recent step S61 is within a second range larger than the first range. Specifically, the processor 32 determines whether the speed V obtained in the most recent step S61 is within the second range [V th12 ≤V<V th13 The threshold V defining the upper limit of the second range th13 It can be predetermined by the operator. The processor 32 is V th12 ≤V<V th13 If the result is YES, the process proceeds to step S65. On the other hand, if the result is NO (i.e., V th13 ≤V), proceed to step S66.

[0212] In step S65, the processor 32 sets the resistance RF for the operating force Fh applied to the robot 12 to the second resistance RF2 (>RF1). Specifically, the processor 32 sets the acceleration setting value α to the second acceleration setting value α2 (<α1), thereby being able to set the resistance RF for the operating force Fh to the second resistance RF2 greater than the first resistance RF1.

[0213] On the other hand, if the determination result in step S64 is negative, in step S66, the processor 32 sets the resistance RF for the operation force Fh applied to the robot 12 to the third resistance RF3 (>RF2). Specifically, the processor 32 sets the acceleration setting value α to the third acceleration setting value α3 (<α2), thereby being able to set the resistance RF for the operation force Fh to the third resistance RF3 that is greater than the second resistance RF2.

[0214] In this way, the processor 32 changes the acceleration setting value α to α1, α2, or α3 by executing steps S63, S65, and S66, thereby making it possible to change the resistance RF to the operating force Fh according to the speed V obtained in step S61. Therefore, the processor 32 functions as the resistance control unit 62 ( Fig.19 After executing step S63, S65 or S66 as the resistance control unit 62, the processor 32 proceeds to step S24 to determine whether the direct teaching function FN2 _1 Whether it is invalidated.

[0215] Thus, the processor 32 performs the direct teaching function FN2. _1 In the process, steps S61 to S66 are executed to control the resistance RF to the operating force Fh according to the action parameter OP (specifically, the speed V). In addition, although detailed description is omitted, it should be understood that when the processor 32 obtains the acceleration a as the action parameter OP in step S61, steps S62 to S66 can also be executed according to the acceleration a.

[0216] As described above, in the present embodiment, the control device 16 includes: a direct teaching execution unit 52; an operation parameter acquisition unit 54, which executes the direct teaching function FN2 _1 The speed V (or acceleration a) of the robot 12 is obtained during the operation; the resistance control unit 62 changes the resistance RF for the operating force Fh according to the speed V (or acceleration a) obtained by the action parameter acquisition unit 54.

[0217] According to this structure, the direct teaching function FN2 will be executed _1 The increase in the speed V (or acceleration a) of the robot 12 during the process is fed back to the operator as resistance RF to give the operator a sense of operation of the robot 12, thereby enabling the operator to intuitively recognize it. _1 During the process, the velocity V (or acceleration a) increases excessively.

[0218] In addition, in the present embodiment, the resistance control unit 62 changes the acceleration setting value α that specifies the maximum value of the acceleration a to α1, α2, or α3 according to the speed V (or acceleration a) obtained by the motion parameter acquisition unit 54, thereby changing the resistance RF. According to this structure, the processor 32 can quickly change the resistance RF using a relatively simple algorithm.

[0219] Next, refer to Fig.21 Direct teaching function FN2 of another embodiment _2 Provide explanation. Fig.19 The control device 16 shown executes Fig.21The process shown is for direct teaching function FN2 _2 In addition, Fig.21 In the process shown, Fig. 20 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.

[0220] exist Fig.21 In the flow shown, when the processor 32 determines yes in step S22, step S71 is executed. In step S71, the processor 32 functions as the direct teaching execution unit 52, and determines the acceleration setting value α by applying the operation force Fh obtained in the most recent step S21 to the characteristic data CD. The characteristic data CD is data (in other words, a graph) indicating the relationship between the operation force Fh and the acceleration setting value α. Fig. 22 An example of characteristic data CD is shown.

[0221] exist Fig. 22 In the example shown, the first characteristic data CD1, the second characteristic data CD2, and the third characteristic data CD3 are shown. The slope δα / δFh of the first characteristic data CD1 is the largest. Therefore, according to the first characteristic data CD1, the acceleration setting value α for the operating force Fh (i.e., the direct teaching function FN2 is executed) is set. _2 The maximum value of the acceleration α of the robot 12 at this time) is greater than the second characteristic data CD2 and the third characteristic data CD3.

[0222] Therefore, the robot 12 responds quickly to the operating force Fh applied by the operator (in other words, the operating feel becomes lighter), and therefore the resistance RF to the operating force Fh is lower than the second characteristic data CD2 and the third characteristic data CD3. _2 The starting time point is set as the initial data (or default data) of the characteristic data CD.

[0223] On the other hand, the slope δα / δFh of the third characteristic data CD3 is the smallest. Therefore, according to the third characteristic data CD3, the acceleration setting value α for the operating force Fh is smaller than the first characteristic data CD1 and the second characteristic data CD2. Therefore, the response speed of the robot 12 to the operating force Fh applied by the operator is slow (in other words, the operating feel becomes heavier), and therefore, the resistance RF to the operating force Fh is greater than the first characteristic data CD1 and the second characteristic data CD2.

[0224] Then, according to the second characteristic data CD2, the resistance RF is between the first characteristic data CD1 and the third characteristic data CD3. In this way, the characteristic data CD1, CD2 and CD3 are related to the resistance RF for the operation force Fh. These characteristic data CD1, CD2 and CD3 are stored in the memory 34 in advance.

[0225] In order to Fig.21 In step S23 of the embodiment, the robot 12 is caused to operate, and one of the characteristic data CD1, CD2, and CD3 is selected and set as the characteristic data CD for determining the acceleration setting value α. For example, the first characteristic data CD1 is set at the start time of step S71. In this case, the processor 32 functions as the direct teaching execution unit 52 in step S71, and applies the operation force Fh obtained in the most recent step S21 to the Fig. 22 The first characteristic data CD1 shown is used to determine the acceleration setting value α.

[0226] Then, in step S23, the processor 32 functions as the direct teaching execution unit 52, and uses the acceleration setting value α determined in the most recent step S71 to cause the robot 12 to operate according to the operation force Fh obtained in the most recent step S21. At this time, the acceleration a of the operating robot 12 is controlled to be less than the acceleration setting value α.

[0227] On the other hand, if the determination result in step S62 is YES, in step S72, the processor 32 functions as the resistance control unit 62 and sets the resistance RF for the operation force Fh to the first resistance RF1. Specifically, the processor 32 sets the above-mentioned characteristic data CD to Fig. 22 As described above, the characteristic data CD1, CD2, and CD3 are related to the resistance RF. Therefore, by selecting the first characteristic data CD1, the resistance RF can be set to the first resistance RF1 corresponding to the first characteristic data CD1.

[0228] On the other hand, if the determination result in step S63 is YES, in step S73, the processor 32 functions as the resistance control unit 62 and sets the resistance RF for the operation force Fh to the second resistance RF2. Specifically, the processor 32 sets the above-mentioned characteristic data CD to Fig. 22 The second characteristic data CD2 in.

[0229] Thus, the resistance RF can be set to the second resistance RF2 corresponding to the second characteristic data CD2. Here, as described above, the second resistance RF2 in the second characteristic data CD2 is greater than the first resistance RF1 in the first characteristic data CD1 (RF2>RF1).

[0230] On the other hand, if the determination in step S63 is negative, in step S74, the processor 32 functions as the resistance control unit 62 and sets the resistance RF for the operation force Fh to the third resistance RF2. Specifically, the processor 32 sets the above-mentioned characteristic data CD to Fig. 22 The third characteristic data CD3 in.

[0231] Thus, the resistance RF can be set to the third resistance RF2 corresponding to the third characteristic data CD3. As described above, the third resistance RF3 in the third characteristic data CD3 is the largest (RF3>RF2>RF1). After the processor 32 as the resistance control unit 62 executes step S72, S73 or S74, it proceeds to step S24 to determine whether the direct teaching function FN2 is _2 Whether it is invalidated.

[0232] As described above, in this embodiment, the characteristic data CD (CD1, CD2, CD3) indicating the relationship between the operating force Fh and the acceleration setting value α is pre-stored in the memory 34, and the direct teaching execution unit 52 determines to execute the direct teaching function FN2 by applying the operating force Fh to the characteristic data CD. _2 The acceleration setting value α at that time (step S71).

[0233] Then, the resistance control unit 62 changes the characteristic data CD to the first characteristic data CD1, the second characteristic data CD2, or the third characteristic data CD3 according to the speed V (or acceleration a) obtained by the motion parameter acquisition unit 54, thereby changing the resistance RF (steps S72, S73, and S74). According to this structure, the processor 32 can make the operator's operating feeling of the robot 12 (i.e., the heaviness and lightness of the operating feeling) change more smoothly, thereby improving the operating feeling.

[0234] In addition, in the present embodiment, the case where three characteristic data CD1, CD2, and CD3 are pre-stored in the memory 34 is described. However, one of the characteristic data CD1, CD2, and CD3 may be stored in the memory 34, and the processor 32 may use the one characteristic data CD stored in the memory 34 to obtain the other two of the characteristic data CD1, CD2, and CD3 through a predetermined operation.

[0235] For example, the first characteristic data CD1 is pre-stored in the memory 34. In this case, the processor 32 may perform a predetermined calculation in step S73 to reduce the slope δα / δFh of the first characteristic data CD1, thereby obtaining the second characteristic data CD2.

[0236] In addition, the processor 32 may perform a predetermined operation in step S74 to reduce the slope δα / δFh of the first characteristic data CD1 or the second characteristic data CD2, thereby obtaining the third characteristic data CD3. In this way, it is not necessary to store a plurality of characteristic data CDn in the memory 34. Fig. 22 In the illustrated example, three characteristic data CD1 , CD2 , and CD3 are illustrated, but two or four or more characteristic data CDn may be stored in the memory 34 .

[0237] Next, refer to Fig.23 Direct teaching function FN2 of another embodiment _3 Provide explanation. Fig.19 The control device 16 shown executes Fig.23 The process shown is for direct teaching function FN2 _3 In addition, Fig.23 In the process shown, Fig. 20 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.

[0238] exist Fig.23 In the flow shown, the processor 32 functions as the direct teaching execution unit 52 and executes steps S21 to S23. Here, in step S23, the processor 32 generates a command CM for the actuator 31 of the robot 12 in order to make the robot 12 operate according to the operation force Fh determined in the most recent step S21. Fig.24 A method of generating the command CM will be described.

[0239] like Fig.24 As shown, the control device 16 includes a position command generating unit 64, a speed command generating unit 66, a torque command generating unit 68, a current control unit 70, a differentiator 72, subtractors 74 and 76, and an adder 78. The processor 32 is responsible for the calculation processing for realizing the functions of the position command generating unit 64, the speed command generating unit 66, the torque command generating unit 68, the current control unit 70, the differentiator 72, the subtractors 74 and 76, and the adder 78.

[0240] The position command generating unit 64 generates a position command CM1 that specifies the position of the robot 12 (e.g., the end effector 30), and outputs the position command CM1 to the subtractor 74. The subtractor 74 subtracts the feedback FB (rotational position) supplied from the rotation detection sensor 33 via the I / O interface 36 from the input position command CM1, and outputs the result to the speed command generating unit 66 as a position deviation δp.

[0241] The speed command generating unit 66 generates a speed command CM2 based on the position deviation δp, and outputs it to the subtractor 76. On the other hand, the differentiator 72 performs time differentiation on the feedback FB supplied from the rotation detection sensor 33 to obtain a speed V, and outputs it to the subtractor 76 as a speed feedback V. The subtractor 76 subtracts the speed feedback V from the input speed command CM2, and outputs it to the torque command generating unit 68 as a speed deviation δv.

[0242] The torque command generation unit 68 generates a torque command CM3 according to the speed deviation δv. The current control unit 70 generates a voltage signal CM4 (e.g., a PWM control signal) according to the torque command CM3 and sends it to the actuator 31 via the I / O interface 36. The position command CM1, the speed command CM2, the torque command CM3, and the voltage signal CM4 constitute the command CM to the actuator 31.

[0243] Thus, the processor 32 generates a command CM (position command CM1, speed command CM2, torque command CM3, and voltage signal CM4) for the actuator 31 in step S23, and causes the robot 12 to move according to the operation force Fh. Fig.23 When the determination result in step S62 is YES, the processor 32 proceeds to step S24 to determine whether the direct teaching function FN2 _3 Whether it is invalidated.

[0244] On the other hand, if the determination in step S64 is YES, in step S81, the processor 32 functions as the resistance control unit 62 to change the command CM generated in step S23. Fig.24 As shown, the processor 32 functions as the resistance control unit 62, generates a command correction value CR1, and outputs it to the adder 78. The command correction value CR1 changes the value of the torque command CM3 in order to cause the actuator 31 to generate a force acting in the direction opposite to the operation force Fh.

[0245] The adder 78 generates a corrected torque command CM3' by adding the command correction value CR1 generated by the resistance control unit 62 to the torque command CM3 output from the torque command generation unit 68, and outputs the corrected torque command CM3' to the current control unit 70. By correcting the torque command CM3 using the command correction value CR1 in this way, each movable component of the robot 12 generates a force opposite to the operating force Fh, thereby increasing the resistance RF against the operating force Fh.

[0246] Refer again Fig.23 , when the determination is negative in step S64, in step S82, the processor 32 functions as the resistance control unit 62 to modify the command CM generated in step S23. Specifically, the processor 32 functions as the resistance control unit 62 to generate the command correction value CR2 ( Fig.24 ) and output to adder 78.

[0247] The command correction value CR2 is a value different from the command correction value CR1 generated in step S81, and is generated so as to generate a force greater than the command correction value CR1 in the direction opposite to the operating force Fh. The adder 78 generates a correction torque command CM3' by adding the command correction value CR2 generated by the resistance control unit 62 to the torque command CM3, and outputs it to the current control unit 70. As a result, the resistance RF for the operating force Fh can be increased compared to step S81. After step S81 or S82, the processor 32 proceeds to step S24.

[0248] As described above, in this embodiment, the direct teaching execution unit 52 is used to perform the direct teaching function FN2. _3 The robot 12 is operated to generate a command CM (a position command CM1 , a speed command CM2 , a torque command CM3 , and a voltage signal CM4 ) to the actuator 31 of the robot 12 .

[0249] Then, the resistance control unit 62 changes the command CM (specifically, the torque command CM3) generated by the direct teaching execution unit 52 according to the speed V (or the acceleration a) obtained by the motion parameter acquisition unit 54, thereby changing the resistance RF (steps S81 and S82). According to this structure, the resistance RF for the operating force Fh can be controlled quickly and finely.

[0250] In addition, in the present embodiment, the resistance control unit 62 corrects the torque command CM3 by commanding the correction value CR1 or CR2. However, the present invention is not limited thereto, and the resistance control unit 62 may correct the position command CM1, the speed command CM2, or the voltage signal CM4 as long as it can change the resistance RF for the operating force Fh.

[0251] In addition, you can also Fig. 20 Direct teaching function FN2 shown _1 , Fig.21 Direct teaching function FN2 shown _2 ,or Fig.23 Direct teaching function FN2 shown _3 The process is applied to the above-mentioned step S3 or S3'. That is, in this case, Figure 2 or Fig. 9 The control device 16 shown also has a resistance control unit 62. In addition, the processor 32 Fig. 20 , Fig.21 or Fig.23 When it is determined as negative in step S64, a warning signal AL3 such as "The speed or acceleration is too high. Please reduce the operating force." is generated and output to the display device 42 or 44, or the speaker.

[0252] Next, refer to Fig.25 and Fig.26 Still another function of the robot system 10 will be described. Fig.25 The control device 16 shown in the figure further includes a timer 80. The timer 80 is connected to the processor 32 via the bus 38 in a communicable manner, and measures the elapsed time t from a certain time point according to an instruction from the control device 16.

[0253] Fig.25 The control device 16 shown executes Fig.26 Direct teaching function FN2 shown _4 In addition, Fig.26 In the process shown, Figure 6 The same steps are marked with the same step numbers, and repeated descriptions are omitted. The processor 32 receives the signal FN2 for starting the direct teaching function. _4 The instruction starts at time t0 Fig.26 The process shown.

[0254] In step S91, the processor 32 starts from the beginning Fig.26 Specifically, the processor 32 sends a timing instruction to the timing unit 80 at the time point t0, and the timing unit 80 starts to count the elapsed time t from the time point t0 according to the timing instruction. Thereafter, the processor 32 functions as the direct teaching execution unit 52, executes steps S21 to 23, and determines in step S24 whether the direct teaching function FN2 _4 Whether it is invalidated.

[0255] If the determination in step S24 is negative, in step S92, the processor 32 determines whether the elapsed time t measured by the timer unit 80 exceeds a predetermined threshold value t th1 (i.e., t ≥ t th1 ). The processor 32 is at t≥t th1 If it is judged as yes, the process proceeds to step S94. On the other hand, if it is judged as no, the process proceeds to step S93.

[0256] In step S93, the processor 32 determines whether the direct teaching function FN2 being executed has been accepted. _4 Here, the operator directly teaches function FN2 _4 During the execution of the operation, it is sometimes desired to temporarily interrupt the operation of applying the operating force Fh to the robot 12, and execute the direct teaching function FN2 such as the above-mentioned teaching function FN3, the automatic operation function FN4 or the action confirmation function FN5. _4 Functions other than FN.

[0257] As an example, the operator executes in the processor 32 Fig.26Direct teaching function FN2 _4 When the operator operates the input device 46 of the teaching device 18, the instruction CM5 for causing the robot 12 to perform a jog motion by the teaching function FN3 is input into the teaching device 18. As another example, the operator directly teaches the function FN2 _4 During the execution of , the input device 46 of the teaching device 18 is operated to input a command CM6 to the teaching device 18 for causing the robot 12 to perform automatic operation (or trial operation) through the automatic operation function FN4 (or the operation confirmation function FN5).

[0258] As another example, the operator can directly teach the function FN2 _4 During the execution of , the input device 46 of the teaching device 18 is operated to input a command CM7 to the teaching device 18 to display an input image for executing the teaching function FN3 , the automatic operation function FN4 or the action confirmation function FN5 on the display device 44 .

[0259] The processor of the teaching device 18 supplies the command CM5, CM6 or CM7 received from the operator to the control device 16. In addition, the operator can also operate the input device 40 of the control device 16 to directly input the command CM5, CM6 or CM7 for the teaching function FN3, the automatic operation function FN4 or the action confirmation function FN5 to the control device 16.

[0260] In step S93, the processor 32 of the control device 16 determines that if the instruction CM5, CM6 or CM7 for the teaching function FN3, the automatic operation function FN4 or the operation confirmation function FN5 is received, the determination is yes and the process proceeds to step S94. On the other hand, if the processor 32 does not receive the instruction CM5, CM6 or CM7, the determination is no and the process returns to step S21.

[0261] If the determination is YES in step S24, S92 or S93, in step S94, the processor 32 ends the direct teaching function FN2. _4 , and generates FN2 indicating the end of the direct teaching function _4 For example, the processor 32 generates an image or sound notification signal SG such as "The direct teaching function is automatically terminated." and outputs it to the display device 42 or 44, or the speaker. Thus, in this embodiment, the processor 32 serves as a notification signal generating unit 53 ( Fig.25 ) performs its function. Then, the processor 32 ends Fig.26 process.

[0262] In this way, the processor 32 repeatedly executes the loop of steps S21 to S24, S92 and S93, and continues to execute the direct teaching function FN2. _4, until the determination is yes in step S24, S92 or S93. In other words, during the period when the processor 32 determines no in steps S24, S92 and S93, the processor 32 performs the following operations when the elapsed time t reaches the threshold value t th1 Before (i.e., throughout the period t th1 ), continue to execute the direct teaching function FN2 _4 , if the elapsed time t exceeds the threshold t th1 (If the period t is exceeded th1 ), the direct teaching function FN2 will be automatically terminated _4 .

[0263] As described above, in this embodiment, the direct teaching execution unit 52 receives the request for starting the direct teaching function FN2. _4 The time t elapsed from the time point t0 of the instruction exceeds the specified threshold t th1 When (when it is determined to be YES in step S92), the direct teaching function FN2 is terminated. _4 (Step S94).

[0264] Here, the operator starts the direct teaching function FN2 _4 After that, there may be a situation where the operator is away from the work unit for a long time due to various reasons. In this way, if a third person accidentally presses the robot 12 during the absence of the operator, the robot 12 may be _4 Perform actions unexpectedly.

[0265] According to this embodiment, in the direct teaching function FN2 _4 After the start, after a specified period of time t th1 Automatically end direct teaching function FN2 _4 , thereby preventing the robot 12 from accidentally moving as described above. In addition, in the present embodiment, the control device 16 further includes a timing unit 80 for timing the elapsed time t. According to this structure, the processor 32 can reliably perform the timing of the elapsed time t without delay.

[0266] In the present embodiment, the direct teaching execution unit 52 performs the direct teaching function FN2 _4 The direct teaching function FN2 is accepted during the execution of _4 When the instruction CM5, CM6 or CM7 for the functions FN3, FN4 or FN5 other than the above is issued (when it is determined to be YES in step S93), the direct teaching function FN2 is terminated. _4 (Step S94).

[0267] According to this structure, when the operator interrupts the direct teaching function FN2 _4When you want to execute the teaching function FN3, the automatic operation function FN4, or the action confirmation function FN5, you can automatically end the direct teaching function FN2. _4 , smoothly transfer to the teaching function FN3, automatic operation function FN4 or action confirmation function FN5.

[0268] Then, the processor of the teaching device 18 (or the processor 32 of the control device 16) causes the robot 12 to perform inching motion, automatic operation or trial motion according to the instructions CM5, CM6 or CM7 received from the operator, or causes the display device 44 to display the input image, and accepts input for executing the teaching function FN3, the automatic operation function FN4 or the action confirmation function FN5.

[0269] In addition, in the present embodiment, the control device 16 further includes a notification signal generating unit 53 which generates a notification signal when the direct teaching execution unit 52 ends the direct teaching function FN2. _4 According to this structure, the operator can easily recognize the direct teaching function FN2. _4 Ends automatically.

[0270] In this embodiment, the time point t0 is the time at which the user receives the instruction to start the direct teaching function FN2. _4 The time point of the instruction, and it is the start Fig.26 Direct teaching function FN2 shown _4 However, strictly speaking, when FN2 is accepted to start the direct teaching function _4 The time point t of the instruction 0_1 Upon receiving the instruction, the processor 32 starts Fig.26 Direct teaching function FN2 _4 Time point t 0_2 There may be a time lag between them.

[0271] In this case, the processor 32 can cause the timing unit 80 to count the time from the time point t 0_1 and time point t 0_2 That is, in this case, the processor 32 functions as the direct teaching execution unit 52, and counts the elapsed time t from a certain time point t0 in the example. 0_1 or 0_2 The time t from the start exceeds the specified threshold t th1 When FN2 is turned on, the direct teaching function ends. _4 .

[0272] In addition, the timing unit 80 may be omitted from the control device 16, and the function of the timing unit 80 may be requested from an external device. For example, an electronic clock (or a timing unit built into another computer) provided outside the control device 16 may be connected to the I / O interface 36 of the control device 16, and the processor 32 may refer to the time measured by the electronic clock to obtain the above-mentioned elapsed time t.

[0273] Next, refer to Fig. 27 Another direct teaching function FN2 _5 Provide explanation. Fig.25 The control device 16 shown executes Fig. 27 The process shown is for direct teaching function FN2 _5 In addition, Fig. 27 In the process shown, Fig.26 The same steps in the flow chart are marked with the same step numbers and repeated descriptions are omitted.

[0274] exist Fig. 27 After the process starts, the processor 32 functions as the direct teaching execution unit 52 and executes steps S21 to S23. In step S24, the direct teaching function FN2 is determined. _5 After step S23, in step S101, the processor 32 obtains the operation force Fh in the same manner as in step S21 described above.

[0275] In step S102, the processor 32 determines whether the magnitude of the operating force Fh obtained in the most recent step S101 exceeds a predetermined threshold value Fh, similar to the above-mentioned step S22. th The processor 32 returns to step S23 when the determination is YES, and proceeds to step S103 when the determination is NO.

[0276] In step S103, the processor 32 determines whether the operation of the robot 12 has stopped. Here, when the operator releases the operating force Fh applied to the robot 12, the robot 12 automatically stops. The processor 32 can determine whether the robot 12 has stopped based on the feedback FB from the rotation detection sensor 33. If the processor 32 determines that the operation of the robot 12 has stopped (that is, yes), the processor 32 proceeds to step S104, and on the other hand, if the determination is no, the processor 32 returns to step S101.

[0277] In step S104, the processor 32 starts counting the elapsed time t from the time point t1 (i.e., the time point when the robot stops) at which the judgment is yes in step S103. Specifically, the processor 32 sends a timing instruction to the timing unit 80 at the time point t1, and according to the timing instruction, the timing unit 80 starts counting the elapsed time t from the time point t1.

[0278] In step S105, the processor 32 determines whether the elapsed time t measured by the timer unit 80 exceeds a predetermined threshold value t th2 (i.e., t ≥ t th2 ). The threshold t th2 can be set to be smaller than (or larger than) the above threshold t th1 The processor 32 is at t≥t th2 If it is judged as yes, the process proceeds to step S94. On the other hand, if it is judged as no, the process proceeds to step S93.

[0279] If the result of the determination in step S105 is negative, the processor 32 executes the above-mentioned step S93 to determine whether the direct teaching function FN2 being executed has been accepted. _5 The processor 32 proceeds to step S94 if the determination is yes, and proceeds to step S106 if the determination is no.

[0280] In step S106, the processor 32 determines the direct teaching function FN2 as in step S24. _5 Whether it is invalidated or not, if it is determined to be YES, the process proceeds to step S94, and on the other hand, if it is determined to be NO, the process proceeds to step S107.

[0281] In step S107, the processor 32 obtains the operating force Fh in the same manner as in step S21. In step S108, the processor 32 determines whether the magnitude of the operating force Fh obtained in the most recent step S107 exceeds a predetermined threshold value Fh. th The processor 32 returns to step S23 when the determination is YES, and returns to step S105 when the determination is NO.

[0282] On the other hand, if the determination result is YES in step S105, S93 or S106, the processor 32 executes the above-mentioned step S94 and ends. Fig. 27 Direct teaching function FN2 _5 , and generates FN2 indicating the end of the direct teaching function _5 Then, the processor 32 ends Fig. 27 process.

[0283] Thus, when the processor 32 determines that the robot 12 stops in step S103, the processor 32 repeatedly executes the loop of steps S105, S93, S106 to S108 while determining that the robot 12 stops in step S105, S93, S106 and S108. Then, the processor 32 stops the loop when the time t1 from the time t1 at which the robot 12 stops stops in step S103 exceeds the threshold value t th2 When (exceeding the period t th2 When the direct teaching function FN2 is automatically terminated in step S94 _5 .

[0284] Thus, in this embodiment, the direct teaching execution unit 52 performs the teaching by the direct teaching function FN2. _5 The time t that has passed since the time t1 at which the robot 12 in operation stops (that is, the time at which the determination result is YES in step S103) exceeds the predetermined threshold value t th2 When FN2 is turned on, the direct teaching function ends. _5 According to this structure, in the direct teaching function FN2 _5 When the operator is absent during the execution of the operation, it is possible to prevent the robot 12 from accidentally moving due to a third party pressing the robot 12.

[0285] In addition, you can also Fig.26 Direct teaching function FN2 shown _4 or Fig. 27 Direct teaching function FN2 shown _5 The process is applied to the above-mentioned step S3 or S3'. That is, in this case, Figure 2 or Fig. 9 The control device 16 shown further includes a timer unit 80 .

[0286] For example, in Fig.26 Direct teaching function FN2 shown _4 When applied to step S3, start Fig.26 The time point t0 of the process becomes the time point when the above-mentioned direct teaching function start instruction is accepted (that is, the time point when it is determined to be yes in the above-mentioned step S1). Fig.26 Direct teaching function FN2 shown _4 Applied to step S3', start Fig.26 The time point t0 of the process is the time point when the enable switch ON signal is received (that is, the time point when it is determined to be yes in the above-mentioned step S31 or S34).

[0287] In addition, you can also Fig.26 or Fig. 27 Step S93 is omitted in the process. Fig.26 or Fig. 27In step S94, the processor 32 may also terminate the direct teaching function FN2 _4 or FN2 _5 , and does not generate a notification signal SG. That is, in this case, it is possible to Fig.25 The control device 16 shown in the figure omits the notification signal generating unit 53 .

[0288] In addition, they can be combined with each other Figure 2 , Fig. 9 , Fig.19 as well as Fig.25 The functions of the control device 16 are shown. Fig.28 Indicates this way. Fig.28 The control device 16 shown in the figure includes: a safety function execution unit 50, a direct teaching execution unit 52, an action parameter acquisition unit 54, a function switching unit 56, a safety function determination unit 58, a threshold switching unit 60, a resistance control unit 62 and a timing unit 80, which selectively executes Figure 3 , Figures 5 to 8 , Figure 11 to Figure 13 , Fig.18 , Fig. 20 , Fig.21 , Fig.23 , Fig.26 as well as Fig. 27 process.

[0289] In addition, it is also possible to combine Figure 3 , Figures 5 to 8 , Figure 11 to Figure 13 , Fig.18 , Fig. 20 , Fig.21 , Fig.23 , Fig.26 as well as Fig. 27 For example, by Fig. 27 After step S23 in Fig. 20 Steps S61 to S66 in Fig. 27 process combination. Fig.21 and Fig.23 The process can also be similar to Fig. 27 In addition, Figure 3 , Figures 5 to 8 , Figure 11 to Figure 13 , Fig.18 , Fig. 20 , Fig.21 , Fig.23 , Fig.26 as well as Fig. 27 The processes are just examples, and you can change or delete these processes as appropriate, or add any other processes.

[0290] In addition, the processor 32 may also execute according to the computer program PG2 Figure 3 , Figures 5 to 8 , Figure 11 to Figure 13 , Fig.18 , Fig. 20 , Fig.21 , Fig.23 , Fig.26 as well as Fig. 27 The computer program PG2 is pre-stored in the memory 34. In addition, the functions of the safety function execution unit 50, the direct teaching execution unit 52, the action parameter acquisition unit 54, the function switching unit 56, the safety function determination unit 58, the threshold switching unit 60 and the resistance control unit 62 executed by the processor 32 may also be functional modules implemented by the computer program PG.

[0291] In addition, the robot 12 is not limited to a vertical multi-joint robot, and may be any type of robot, such as a horizontal multi-joint robot, a parallel link robot, etc. The present disclosure has been described above by using the embodiments, but the above embodiments do not limit the invention involved in the claims.

[0292] Explanation of symbols

[0293] 10 Robotic System

[0294] 12 Robot

[0295] 14 Force Sensor

[0296] 14A torque sensor

[0297] 14B Force Sensor

[0298] 16 Control Devices

[0299] 18 Teaching device

[0300] 34 Memory

[0301] 50 Safety function execution unit

[0302] 52 Direct teaching execution unit

[0303] 54 Action parameter acquisition unit

[0304] 56 Function Switching Department

[0305] 58 Safety function assessment department

[0306] 60 Threshold switching unit

[0307] 62 resistance control unit.

Claims

1. A control device for controlling the movement of a robot, characterized in that: The control device has: a safety function execution unit that executes the following safety function: monitoring at least one of a contact force applied to the robot in motion, a speed of the robot, and an acceleration of the robot, and stopping the motion of the robot when the at least one of the contact force applied to the robot in motion exceeds a predetermined threshold; and A direct teaching execution unit executes a direct teaching function for causing the robot to operate according to an operation force applied to the robot in parallel with the safety function executed by the safety function execution unit.

2. The control device according to claim 1, characterized in that: The robot is provided with a force sensor for detecting an external force applied to the robot. The safety function execution unit and the direct teaching execution unit execute the safety function and the direct teaching function, respectively, based on detection data of the common force sensor.

3. The control device according to claim 1 or 2, characterized in that: The control device also has: a function switching unit that switches the safety function executed by the safety function executing unit to be effective or ineffective; and a safety function determination unit for determining whether the safety function is effective or ineffective when the direct teaching execution unit executes the direct teaching function; When the safety function determination unit determines that the safety function is invalid, the direct teaching execution unit does not execute the direct teaching function.

4. The control device according to any one of claims 1 to 3, characterized in that: The robot is provided with a force sensor for detecting external force applied to the robot, and the force sensor has two systems of detection parts, each of which detects force in one direction. The safety function execution unit executes the first safety function and the second safety function in parallel, wherein the first safety function monitors the first contact force obtained based on the detection data of one of the detection units of the two systems, and the second safety function monitors the second contact force obtained based on the detection data of the other of the detection units of the two systems, In the direct teaching function, the direct teaching execution unit obtains the operation force based on detection data of at least one of the detection units of the two systems.

5. The control device according to any one of claims 1 to 4, characterized in that: The control device further includes: a threshold switching unit that switches the threshold between a first threshold and a second threshold that is larger than the first threshold. The threshold switching unit switches the threshold from the first threshold to the second threshold when the direct teaching execution unit starts the direct teaching function or when the at least one item exceeds a third threshold during execution of the direct teaching function.

6. A control device for controlling the movement of a robot, characterized in that: The control device has: a direct teaching execution unit that executes a direct teaching function for causing the robot to operate according to an operation force applied to the robot; an operation parameter acquisition unit that acquires the speed or acceleration of the robot during execution of the direct teaching function; and A resistance control unit changes the resistance to the operation force according to the speed or the acceleration acquired by the motion parameter acquisition unit.

7. The control device according to claim 6, characterized in that: The resistance control unit changes the resistance by changing an acceleration setting value that defines a maximum value of the acceleration based on the speed or the acceleration acquired by the motion parameter acquisition unit.

8. The control device according to claim 6, characterized in that: The control device further includes: a memory that stores in advance characteristic data indicating a relationship between the operation force and an acceleration setting value that specifies a maximum value of the acceleration; The direct teaching execution unit determines the acceleration setting value when executing the direct teaching function by applying the operation force to the characteristic data. The resistance control unit changes the resistance by changing the characteristic data according to the speed or the acceleration acquired by the motion parameter acquisition unit.

9. The control device according to claim 6, characterized in that: The direct teaching execution unit generates a command to an actuator of the robot in order to cause the robot to operate by the direct teaching function. The resistance control unit changes the resistance by changing the command generated by the direct teaching execution unit according to the speed or the acceleration acquired by the motion parameter acquisition unit.

10. A control device for controlling the movement of a robot, characterized in that: The control device includes: a direct teaching execution unit that executes a direct teaching function for causing the robot to operate according to an operation force applied to the robot; After receiving a command for executing the direct teaching function and starting the direct teaching function, the direct teaching execution unit does not receive the command again and continues to execute the direct teaching function.

11. A control device for controlling the movement of a robot, characterized in that: The control device includes: a direct teaching execution unit that executes a direct teaching function for causing the robot to operate according to an operation force applied to the robot; The direct teaching execution unit terminates the direct teaching function when the time elapsed from the following time points exceeds a specified threshold, and the time points are: the time point when an instruction for starting the direct teaching function is accepted, the time point when the direct teaching function is started, or the time point when the robot that has performed an action through the direct teaching function stops.

12. The control device according to claim 11, characterized in that: The control device further includes a timing unit that measures the elapsed time.

13. The control device according to claim 11 or 12, characterized in that: When receiving a command for a function other than the direct teaching function during execution of the direct teaching function, the direct teaching execution unit terminates the direct teaching function.

14. The control device according to any one of claims 11 to 13, characterized in that: The control device further includes: a notification signal generating unit that generates a notification signal for notifying the termination when the direct teaching execution unit terminates the direct teaching function.

15. A control device for controlling the movement of a robot, characterized in that: The control device has: A safety function execution unit that executes the following safety function: monitoring at least one of a contact force applied to the robot in motion, a speed of the robot, and an acceleration of the robot, and stopping the motion of the robot when the at least one of the contact force applied to the robot in motion exceeds a predetermined threshold; as well as a direct teaching execution unit for executing a direct teaching function for causing the robot to move according to an operation force applied to the robot, The robot is provided with a force sensor for detecting an external force applied to the robot. The safety function execution unit and the direct teaching execution unit execute the safety function and the direct teaching function, respectively, based on detection data of the common force sensor.

16. A robot system, characterized in that: have: Robots; and The control device according to any one of claims 1 to 15, which controls the robot.

17. A method for controlling the motion of a robot, characterized in that: The processor performs the following safety functions: monitoring at least one of the contact force applied to the robot in motion, the speed of the robot, and the acceleration of the robot, and stopping the motion of the robot when the at least one of the contact force applied to the robot in motion exceeds a specified threshold value, The processor executes a direct teaching function in parallel with the safety function to cause the robot to operate according to an operation force applied to the robot.

18. A method for controlling the motion of a robot, characterized in that: The processor executes a direct teaching function for causing the robot to move according to an operating force applied to the robot. The processor obtains the speed or acceleration of the robot during the execution of the direct teaching function. The processor changes the resistance to the operation force according to the acquired speed or acceleration.

19. A method for controlling the motion of a robot, characterized in that: The processor executes a direct teaching function for causing the robot to move according to an operating force applied to the robot. The processor terminates the direct teaching function when the time elapsed from the following time points exceeds a specified threshold, and the time points are: the time point when an instruction for starting the direct teaching function is accepted, the time point when the direct teaching function is started, or the time point when the robot that has performed an action through the direct teaching function stops.

Citation Information

Patent Citations

  • Robot, robot system, and teaching method

    JP2015182142A