Robot control device, robot system, and robot control method

The robot control device addresses safety concerns in direct teach functions by integrating safety and direct teach execution units, ensuring safe and precise robot operation through force monitoring and shared sensor usage.

JP2026034688APending Publication Date: 2026-02-27FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025265678
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-12-18
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Conventional direct teach functions in robot operations require ensuring operator safety, which is challenging due to the need for precise control of contact forces, velocities, and accelerations.

Method used

A robot control device that integrates a safety function execution unit to monitor and stop operations when thresholds are exceeded, and a direct teach execution unit to operate the robot based on applied forces, allowing parallel execution of safety and direct teach functions.

Benefits of technology

Ensures operator safety by monitoring and controlling contact forces, velocities, and accelerations, enabling safe and precise robot operation without the need for additional safety switches, while reducing costs through shared sensor usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026034688000001_ABST
    Figure 2026034688000001_ABST
Patent Text Reader

Abstract

Conventionally, it is required to secure the safety of the operator at the time of executing the direct teaching function.SOLUTION: The control device 16 includes a safety function execution section that monitors at least one of a contact force applied to the robot 12 during operation and a speed and an acceleration of the robot 12, and executes a safety function of stopping the operation of the robot 12 when the at least one exceeds a predetermined threshold value, and a direct teaching execution section 52 that executes a direct teaching function of operating the robot 12 according to an operation force applied to the robot 12 in parallel with the safety function executed by the safety function execution section.SELECTED DRAWING: Figure 2
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 technology]

[0002] BACKGROUND ART A direct teach function is known in which an external force is applied to a robot, and the robot is caused to move in accordance with the external force (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-182142 Summary of the Invention [Problem to be solved by the invention]

[0004] Conventionally, when the direct teach function is executed, it is required to ensure the safety of the operator. [Means for solving the problem]

[0005] In one aspect of the present disclosure, a control device that controls the operation of a robot includes a safety function execution unit that monitors at least one of the contact force applied to the robot during operation, the speed and acceleration of the robot, and executes a safety function that stops the operation of the robot when at least one of these exceeds a predetermined threshold, and a direct teach execution unit that executes a direct teach function that causes the robot to operate in accordance with the operating force applied to the robot, in parallel with the safety function executed by the safety function execution unit.

[0006] In another aspect of the present disclosure, a control device for controlling the operation of a robot includes a direct teach execution unit that executes a direct teach function to cause the robot to operate in accordance with an operating force applied to the robot, an operation parameter acquisition unit that acquires the speed or acceleration of the robot while the direct teach function is being executed, and a resistance force control unit that changes the resistance force against the operating force in accordance with the speed or acceleration acquired by the operation parameter acquisition unit.

[0007] In yet another aspect of the present disclosure, a control device that controls the operation of a robot includes a direct teach execution unit that executes a direct teach function that causes the robot to operate in accordance with an operating force applied to the robot, and the direct teach execution unit terminates the direct teach function when the elapsed time from the time when a command to start the direct teach function is received, the time when the direct teach function is started, or the time when the robot operating using the direct teach function is stopped exceeds a predetermined threshold.

[0008] In yet another aspect of the present disclosure, a control device that controls the operation of a robot includes a direct teach execution unit that executes a direct teach function that causes the robot to operate in accordance with an operating force applied to the robot, and after the direct teach execution unit receives a command to execute the direct teach function and starts the direct teach function, the direct teach execution unit continues to execute the direct teach function without receiving the command again.

[0009] In yet another aspect of the present disclosure, a control device for controlling the operation of a robot includes a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, the velocity, and the acceleration of the robot, and executes a safety function that stops the operation of the robot when at least one of these exceeds a predetermined threshold, and a direct teach execution unit that executes a direct teach function that operates the robot according to the operating force applied to the robot. The robot is provided with a force sensor that detects an external force applied to the robot. The safety function execution unit and the direct teach execution unit each execute the safety function and the direct teach function based on detection data from a common force sensor.

[0010] In yet another aspect of the present disclosure, a method for controlling the movement of a robot includes a processor monitoring at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and executing a safety function to stop the movement of the robot when at least one of the contact force and the velocity and acceleration of the robot exceeds a predetermined threshold, and executing a direct teach function in parallel with the safety function to move the robot according to the operating force applied to the robot.

[0011] In yet another aspect of the present disclosure, a method for controlling the movement of a robot includes a processor executing a direct teach function that causes the robot to move according to an operating force applied to the robot, acquiring a velocity or acceleration of the robot while the direct teach function is being executed, and varying a resistance force to the operating force according to the acquired velocity or acceleration.

[0012] In yet another aspect of the present disclosure, a method for controlling the operation of a robot includes a processor executing a direct teach function that causes the robot to operate in accordance with an operating force applied to the robot, and terminating the direct teach function when a time elapsed from the time a command to start the direct teach function is received, the time the direct teach function is started, or the time the robot operating using the direct teach function is stopped exceeds a predetermined threshold. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a schematic diagram of a robot system according to an embodiment. [Figure 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Figure 3] 3 is a flowchart showing an example of an operation flow of the robot system shown in FIG. 2. [Figure 4] 10 shows an example of a direct teach image. [Figure 5] 4 is a flowchart showing an example of the flow of step S2 in FIG. 3. [Figure 6] 4 is a flowchart showing an example of the flow of step S3 in FIG. 3. [Figure 7] 10 is a flowchart showing another example of the operation flow of the robot system shown in FIG. 2. [Figure 8] 8 is a flowchart showing an example of the flow of step S3' in FIG. 7. [Figure 9] FIG. 3 is a block diagram showing other functions of the robot system shown in FIG. 2. [Figure 10] 10 shows an example of a safety function setting image. [Figure 11] 10 is a flowchart showing an example of an operation flow of the robot system shown in FIG. [Figure 12] 12 is a flowchart showing an example of the process of step S3 in FIG. 11. [Figure 13] 12 is a flowchart showing an example of the flow of step S2 in FIG. 11. [Figure 14] FIG. 1 is a schematic diagram of a torque sensor according to an embodiment. [Figure 15] FIG. 1 is a schematic diagram of a force sensor according to an embodiment. [Figure 16] FIG. 16 is a block diagram for explaining a safety function and a direct teach function executed using the force sensor shown in FIG. 14 or FIG. 15. [Figure 17] FIG. 17 is a block diagram illustrating a processor that executes the safety function and the direct teach function shown in FIG. 16. [Figure 18]10 is a flowchart illustrating an example of the flow of a failure detection function. [Figure 19] FIG. 3 is a block diagram showing still another function of the robot system shown in FIG. 2. [Figure 20] 20 is a flowchart showing an example of a direct teach function executed by the control device shown in FIG. 19. [Figure 21] 20 is a flowchart showing another example of the direct teach function executed by the control device shown in FIG. 19. [Figure 22] 2 shows a graph of characteristic data. [Figure 23] 20 is a flowchart showing yet another example of the direct teach function executed by the control device shown in FIG. 19. [Figure 24] FIG. 1 is a block diagram illustrating a method for generating commands to an actuator. [Figure 25] FIG. 3 is a block diagram showing still another function of the robot system shown in FIG. 2. [Figure 26] 26 is a flowchart showing an example of a direct teach function executed by the control device shown in FIG. 25. [Figure 27] 26 is a flowchart showing another example of the direct teach function executed by the control device shown in FIG. 25. [Figure 28] FIG. 3 is a block diagram showing still another function of the robot system shown in FIG. 2. DETAILED DESCRIPTION OF THE INVENTION

[0014] Embodiments of the present disclosure will be described in detail below with reference to the drawings. In various embodiments described below, similar elements will be designated by the same reference numerals, and redundant description will be omitted. First, a robot system 10 according to one embodiment will be described with reference to FIGS. 1 and 2. The robot system 10 includes a robot 12, a force sensor 14 (FIG. 2), a control device 16, and a teaching device 18. In this embodiment, the robot 12 is a vertically articulated robot and includes a robot base 20, a rotating body 22, a lower arm 24, an upper arm 26, a wrist 28, and an end effector 30. The robot base 20 is fixed to the floor of a work cell or on an automated guided vehicle (AGV).

[0015] Rotating body 22 is mounted on robot base 20 so as to be rotatable around a vertical axis. Lower arm 24 is mounted on rotating body 22 so as to be rotatable around a horizontal axis, and upper arm 26 is rotatably mounted on the distal end of lower arm 24. Wrist 28 has wrist base 28a mounted on the distal end of upper arm 26 so as to be rotatable around two axes that are perpendicular to each other, and wrist flange 28b rotatably mounted on wrist base 28a.

[0016] A plurality of actuators 31 (FIG. 2) are provided on each of the robot base 20, the rotating body 22, the lower arm 24, the upper arm 26, and the wrist 28. These actuators 31 have servo motors or the like, and rotate each movable component 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) in response to commands from the control device 16, thereby moving the end effector 30.

[0017] Each actuator 31 is provided with a rotation detection sensor 33. 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, a servo motor). The rotation detection sensor 33 supplies detection data of the detected rotation position to the control device 16 as feedback FB.

[0018] The end effector 30 is detachably attached to the wrist flange 28b. The end effector 30 has, for example, a robot hand, a welding gun, a laser processing head, or a cutting tool, and performs a predetermined operation (workpiece handling, welding, laser processing, cutting, etc.) on a workpiece (not shown).

[0019] The force sensor 14 detects an external force F applied to the robot 12. In this embodiment, the force sensor 14 has a plurality of torque sensors 14A provided on the output shafts 31a of the plurality of actuators 31, respectively. Each torque sensor 14A has at least one sensor element (e.g., a strain gauge or a piezoelectric element) and detects the torque τ applied to the output shaft 31a of the actuator 31 (servo motor) 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.

[0020] The control device 16 controls the operation of the robot 12. As shown in Fig. 2, the control device 16 is a computer having a processor 32, a memory 34, and an I / O interface 36. The processor 32 has a CPU, a GPU, or the like, and is communicatively connected to the memory 34 and the I / O interface 36 via a bus 38.

[0021] The processor 32 communicates with the memory 34 and the I / O interface 36, and performs arithmetic processing to execute various functions FN of the robot 12, such as a safety function FN1 and a direct teach function FN2, which will be described later. Specifically, in order to execute the functions FN of the robot 12, the processor 32 generates commands (e.g., position commands, speed commands, torque commands) for each actuator 31 (servomotor), and drives each actuator 31 in accordance with the commands. This allows the robot 12 to position the end effector 30 at any position. Note that in this document, "position" may refer to both position and orientation.

[0022] The memory 34 has RAM, ROM, or the like, and temporarily or permanently stores various data. The memory 34 may 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 via wired or wireless communication under instructions from the processor 32. The force sensor 14 (torque sensor 14A), teaching device 18, and actuator 31 are connected to the I / O interface 36 so as to be able to communicate via wired or wireless communication.

[0023] The control device 16 is provided with an input device 40 and a display device 42. The input device 40 has a push button, a switch, a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 42 has a liquid crystal display, an organic EL display, or the like, and visibly displays various data under instructions from the processor 32.

[0024] The display device 42 and the input device 40 are communicatively connected to the I / O interface 36. The display device 42 and the input device 40 may be integrated into the housing of the control device 16, or may be attached externally to the housing of the control device 16 as a separate computer (such as a PC).

[0025] The teaching device 18 is a computer such as a teaching pendant or a tablet terminal device, and teaches the robot 12 how to operate. Specifically, the teaching device 18 has 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 has a liquid crystal display, an organic EL display, or the like, and displays various data. The input device 46 has a push button, a switch, a touch panel, or the like, and receives data input from an operator.

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

[0027] During execution of this teaching function FN3, the operator can operate the input device 46 to jog the robot 12 via the control device 16 and position the end effector 30 at a desired teaching position TP. The processor of the teaching device 18 acquires teaching data such as the teaching position TP and the velocity V at which the end effector 30 is moved to the teaching position TP, and creates an operation program PG1 in which the teaching position TP and velocity V are specified as instruction codes based on the teaching data. The processor 32 of the control device 16 acquires the created operation program PG1 from the teaching device 18 and stores it in the memory 34.

[0028] On the other hand, the automatic operation function FN4 is a function FN that automatically operates the robot 12 in accordance with the created operation program PG1 to perform work on a workpiece. The operator operates the input device 46 to cause the processor 32 of the control device 16 to start the automatic operation function FN4. After starting this automatic operation function FN4, the processor 32 generates commands to each actuator 31 in accordance with the operation program PG1 stored in the memory 34, and automatically operates the robot 12 to perform work on a workpiece.

[0029] In the automatic operation function FN4, the robot 12 and the operator may cooperate to perform some tasks. Specifically, the processor 32 may execute a direct teach function FN2 (described later) for some tasks, and operate the robot 12 in accordance with an operating force Fh applied to the robot 12 by the operator.

[0030] The operation confirmation function FN5 is a function FN that causes the robot 12 to try out an operation taught to the robot 12 by the teaching function FN3 in order to confirm the operation. The operator can operate the input device 46 to cause the processor 32 of the control device 16 to execute the operation confirmation function FN5.

[0031] After starting the operation checking function FN5, the processor 32 causes the robot 12 to experimentally execute the incomplete operation program PG1' that was generated during the teaching in the above-mentioned teaching function FN3. This allows the operator to check the operation taught to the robot 12 (i.e., the appropriateness of the operation program PG1').

[0032] The control device 16 or the teaching device 18 may be provided with a changeover switch SW (not shown) for switching the above-mentioned functions FN of the robot 12 among the teaching function FN3, the automatic driving function FN4, and the operation confirmation function FN5. This changeover switch SW may be a physical switch or a virtual switch on software that is displayed as an image on the display device 42 or 44.

[0033] The enable switch 48 is a physical switch that allows the operator to manually operate the robot 12. Specifically, the enable switch 48 is switchable among an initial position P0, a first pressed position P1 that is pressed a predetermined amount from the initial position P0, and a second pressed position P2 that is pressed a predetermined amount from the first pressed position P1.

[0034] When the operator presses the enable switch 48 to the first depression position P1, the enable switch 48 turns ON, and the processor of the teaching device 18 becomes capable of executing the above-mentioned teaching function FN3 or another direct teach function FN2' described later, and is permitted to operate the robot 12 via the control device 16.

[0035] On the other hand, when the enable switch 48 returns to the initial position P0 or is further pressed to the second pressed position P2 while the robot 12 is in operation, the enable switch 48 turns OFF, and the processor of the teaching device 18 sends an enable switch OFF signal to the control device 16. Upon receiving the enable switch OFF signal, the processor 32 of the control device 16 executes an emergency stop operation ES.

[0036] As an example of the emergency stop operation ES, the processor 32 stops the operation of the robot 12 by stopping commands (torque commands, etc.) to each actuator 31. As another example of the emergency stop operation ES, the processor 32 actuates a brake mechanism (not shown) that brakes the output shaft of each actuator 31, thereby forcibly stopping the operation of the robot 12.

[0037] Next, an example of an operation flow of the robot system 10 will be described with reference to Fig. 3. The processor 32 of the control device 16 starts the flow shown in Fig. 3 when it receives an operation start command (e.g., a power-on command) from an operator (i.e., the input device 40 or 46), a higher-level controller, or the computer program PG2.

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

[0039] 4, the direct teach image 100 includes a direct teach start button image 102 and a direct teach end button image 104. The operator can select the direct teach start button image 102 or the direct teach end button image 104 by operating the input device 46 and clicking the direct teach start button image 102 or the direct teach end button image 104 displayed on the direct teach image 100.

[0040] When the processor of the teaching device 18 receives an input selecting the direct teach start button image 102, it sends a direct teach function start command to the control device 16. On the other hand, when the processor of the teaching device 18 receives an input selecting the direct teach end button image 104, it sends a direct teach function end command to the control device 16. Note that the direct teach function start command is an ON (or "1") signal, while the direct teach function end command may be an OFF (or "0") signal.

[0041] In step S1, processor 32 of control device 16 determines YES if a direct teach function start command has been received, enables direct teach function FN2 (for example, sets direct teach function FN2 to "ON" or sets an execution flag for direct teach function FN2), starts steps S2 and S3 (described later), and proceeds to step S4. On the other hand, processor 32 determines NO if a direct teach function start command has not been received, and proceeds to step S6.

[0042] In step S4, processor 32 determines whether the above-mentioned direct teach function end command has been received. If processor 32 determines that the direct teach function end command has been received, it determines YES and proceeds to step S5, but if it determines NO, it loops step S4. In step S5, processor 32 disables direct teach function FN2 (for example, it sets the setting of direct teach function FN2 to "OFF" or clears the execution flag of direct teach function FN2).

[0043] In step S6, the processor 32 determines whether or not an operation termination command (e.g., a shutdown command) has been received from an operator (i.e., the input device 40 or 46), a higher-level controller, or the computer program PG2. If an operation termination command has been received, the processor 32 determines YES and ends the flow shown in Fig. 3. On the other hand, if the processor 32 determines NO, the process returns to step S1.

[0044] In this embodiment, when the processor 32 determines YES in step S1 and enables the direct teach function FN2, the processor 32 executes the safety function FN1 in step S2 and the direct teach function FN2 in step S3 in parallel. Hereinafter, an example of the flow of the safety function FN1 executed in step S2 will be described with reference to FIG. 5.

[0045] In step S11, the processor 32 acquires motion parameters OP of the robot 12. The motion parameters OP include at least one of a contact force Fc applied to the robot 12 during motion, a velocity V of the robot 12, and an acceleration a of the robot 12. With respect to the contact force Fc, the processor 32 acquires an external force F applied to any part of the robot 12 (e.g., 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.

[0046] Specifically, the processor 32 acquires detection data DDτ from each torque sensor 14A and detects the external force F based on the detection data DDτ. The processor 32 executes a predetermined calculation CL1 using the detection data DDτ from each torque sensor 14A, thereby determining the magnitude of the external force F applied to the robot 12. The processor 32 obtains the determined external force F as a contact force Fc applied to the robot 12 when the robot 12 comes into contact with a surrounding object (such as an operator or an environmental object) during operation.

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

[0048] The processor 32 also obtains the acceleration a of the robot 12 by differentiating the velocity V with respect to time. In this way, the processor 32 obtains at least one of the contact force Fc, the velocity V, and the acceleration a as the operation parameters OP. Below, a case will be described in which the processor 32 obtains all of the contact force Fc, the velocity V, and the acceleration a as the operation parameters OP.

[0049] In step S12, the processor 32 determines whether the motion parameters OP (i.e., contact force Fc, velocity V, and acceleration a) acquired in the most recent step S11 have exceeded predetermined thresholds. Specifically, the processor 32 determines whether the most recently acquired contact force Fc has exceeded a predetermined threshold Fc th exceeded (i.e., Fc ≥ Fc th ) or not.

[0050] The processor 32 also determines whether the most recently acquired speed V is greater than or equal to a predetermined threshold value v th exceeded (i.e., V ≥ V th) and whether the most recently acquired acceleration a is greater than or equal to a predetermined threshold a th exceeded (i.e., a ≥ a th In step S12, processor 32 determines whether Fc ≥ Fc th , V ≥ V th , or a≧a th If Fc <Fc th , V <V th , and a th If so, the result is determined to be NO, and the process proceeds to step S14.

[0051] In step S13, the processor 32 stops the operation of the robot 12. Specifically, the processor 32 executes the emergency stop operation ES described above to bring the operation of the robot 12 to an emergency stop. By performing step S13, if the robot 12 collides with the operator (or an environmental object), the robot 12 can be stopped, thereby ensuring the safety of the operator.

[0052] In step S14, the processor 32 determines whether the direct teach function FN2 was disabled in the above-mentioned step S5. If the direct teach function FN2 was disabled, the processor 32 determines YES and terminates the safety function FN1 in step S2. On the other hand, if the direct teach function FN2 is enabled, the processor 32 determines NO and returns to step S11.

[0053] In this way, the processor 32 repeatedly executes the loop of steps S11 to S14 until it determines YES in step S14, thereby monitoring the motion parameters OP (contact force Fc, velocity V, and acceleration a), and determines whether the motion parameters OP are equal to or smaller than the threshold value Fc th , V th and a th , the processor 32 executes a safety function FN1 that stops the operation of the robot 12. Therefore, the processor 32 functions as a safety function execution unit 50 (FIG. 2) that executes the safety function FN1. ​

[0054] Next, the direct teach function FN2 in step S3 will be described with reference to FIG. 6. In step S21, the processor 32 acquires an 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). Note that an operating handle (not shown) may be provided at any part of the robot 12 that the operator wishes 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.

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

[0056] Specifically, the processor 32 executes a predetermined calculation CL2 using the detection data DDτ of each torque sensor 14A, thereby determining the magnitude and direction of the external force F applied to the robot 12 and identifying the part of the robot 12 to which the external force F is applied. The processor 32 acquires the determined external force F as an operating force Fh applied to the robot 12 by the operator.

[0057] In step S22, the processor 32 determines whether the magnitude of the operating force Fh acquired in the most recent step S21 is equal to or greater than a predetermined threshold Fh th exceeded (i.e., Fh ≥ Fh th ) is determined. th is the threshold Fc th A value smaller than (Fh th <Fc th ) The processor 32 determines whether Fh ≥ Fh th If so, the determination is YES and the process proceeds to step S23, whereas if the determination is NO, the process proceeds to step S24.

[0058] In step S23, the processor 32 operates the robot 12 in accordance with the operational force Fh. Specifically, the processor 32 generates a command to move the part of the robot 12 (e.g., the end effector 30) to which the operational force Fh obtained in the most recent step S21 has been applied, in the direction of the operational force Fh, and drives each actuator 31 in accordance with the command. As a result, the robot 12 moves the part to which the operator has applied the operational force Fh in the direction of the operational force Fh.

[0059] In step S23, the processor 32 may move the part of the robot 12 to which the operating force Fh has been applied a predetermined distance d in the direction of the operating force Fh. In this case, if the operator releases the operating force Fh on the robot 12 (i.e., releases the robot 12) after step S23, the robot 12 will automatically stop after moving the predetermined distance d.

[0060] Furthermore, when processor 32 is operating robot 12 in step S23, if it determines YES in step S12 in step S2 (FIG. 5) that is executed in parallel, it prioritizes execution of step S13 in step S2 and stops robot 12. Thereafter, processor 32 may be prohibited from executing step S23 until it determines NO in step S12 in step S2 (or until a predetermined time has elapsed).

[0061] In step S24, similar to step S14 described above, the processor 32 determines whether the direct teach function FN2 was disabled in step S5 described above. If the determination is YES, the processor 32 terminates the direct teach function FN2 in step S3. As a result, the robot 12 stops operating using the direct teach function FN2. On the other hand, if the determination is NO, the processor 32 returns to step S21.

[0062] In this way, the processor 32 repeatedly executes the loop of steps S21 to S24 until it determines YES in step S24, thereby executing the direct teach function FN2 that operates the robot 12 in accordance with the operating force Fh applied to the robot 12. Therefore, the processor 32 functions as a direct teach execution unit 52 (FIG. 2) that executes the direct teach function FN2.

[0063] As described above, in this embodiment, the processor 32 executes the safety function FN1 in step S2 and the direct teach function FN2 in step S3 in parallel. Note that the processor 32 may execute the loop of steps S11 to S14 in step S2 and the loop of steps S21 to S24 in step S3 in synchronization with each other (or alternately) at a predetermined control period (for example, 1 msec).

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

[0065] In this embodiment, the processor 32 acquires the velocity V and acceleration a of the robot 12 in step S11 of step S2 while executing the direct teach function FN2 in step S3. Therefore, the processor 32 functions as a motion parameter acquisition unit 54 (FIG. 2) that acquires the velocity V and acceleration a while executing the direct teach function FN2.

[0066] As described above, in this embodiment, the control device 16 monitors at least one of the contact force Fc applied to the robot 12 during operation, the velocity V, and the acceleration a of the robot 12, and determines whether or not at least one of these (Fc, V, a) exceeds a predetermined threshold (Fc th , Vth , a th The robot 12 includes a safety function execution unit 50 that executes a safety function FN1 that stops the operation of the robot 12 when the robot 12 exceeds the predetermined threshold.

[0067] The control device 16 also includes a direct teach execution unit 52 that executes a direct teach function FN2 that operates the robot 12 in accordance with an operating force Fh applied to the robot 12, in parallel with the safety function FN1 executed by the safety function execution unit 50. This configuration makes it possible to execute the direct teach function FN2 without using the enable switch 48 described above.

[0068] More specifically, in the case of the other direct teach function FN2', in order to ensure the safety of the operator, when the processor 32 detects that the operator has turned on the enable switch 48, it disables the safety function FN1 and then executes the direct teach function FN2'.

[0069] In this embodiment, the processor 32 executes the direct teach function FN2 in parallel with the safety function FN1, thereby eliminating the need to operate the enable switch 48, and the safety of the operator while the direct teach function FN2 is being executed can be sufficiently ensured by the safety function FN1. The other direct teach function FN2' will be described later.

[0070] In this embodiment, the safety function execution unit 50 and the direct teach execution unit 52 execute the safety function FN1 and the direct teach function FN2, respectively, based on the detection data DDτ of the common force sensor 14 (specifically, the torque sensor 14A). With this configuration, both the safety function FN1 and the direct teach function FN2 can be executed with high accuracy.

[0071] Furthermore, costs can be reduced by sharing the force sensor 14 between the safety function FN1 and the direct teach function FN2. Furthermore, the control cycles of the safety function FN1 (specifically, the loop of steps S11 to S14 described above) and the direct teach function FN2 (specifically, the loop of steps S21 to S24 described above) can be synchronized with each other, allowing the safety function FN1 and the direct teach function FN2 to be executed in parallel based on the same (i.e., common) detection data DDτ.

[0072] In the present embodiment, in step S11 described above, the processor 32 acquires the contact force Fc while executing the direct teach function FN2, and also functions as the motion parameter acquisition unit 54 to acquire the velocity V and acceleration a. However, this is not limiting, and in step S11 described above, the processor 32 may acquire the contact force Fc but not acquire the velocity V and acceleration a. In this case, the motion parameter acquisition unit 54 described above can be omitted from the control device 16.

[0073] Furthermore, when acquiring the contact force Fc in the above-described step S11, the processor 32 may acquire only the magnitude of the contact force Fc by executing a calculation CL1 different from the calculation CL2 executed in the above-described step S21. Alternatively, the processor 32 may execute, in step S11, a calculation CL1 (=CL2) that is the same as the calculation CL2 executed in step S21, to identify the magnitude and direction of the contact force Fc and the part of the robot 12 to which the contact force Fc is applied.

[0074] In addition, in this embodiment, the force sensor 14 has multiple torque sensors 14A, and the safety function execution unit 50 and the direct teach execution unit 52 execute the safety function FN1 and the direct teach function FN2 based on the detection data DDτ of the common torque sensor 14A.

[0075] However, the force sensor 14 is not limited to this, and may include multiple torque sensors 14A and a force sensor 14B capable of detecting forces in six axial directions. The force sensor 14B is provided at any location of the robot 12 (for example, the robot base 20) and can detect an external force F applied to a location of the robot 12 located further towards the tip side than the installation position of the force sensor 14B.

[0076] In this case, the safety function execution unit 50 may 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 teach execution unit 52 may execute the direct teach function FN2 based on the detection data DDτ of the torque sensor 14A (or the detection data DDf of the force sensor 14B).

[0077] In the present embodiment, the case has been described in which the processor of the teaching device 18 generates the direct teach image 100 and displays it on the display device 44 of the teaching device 18. However, this is not limiting, and the processor 32 of the control device 16 may generate the direct teach image 100 and display it on the display device 42.

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

[0079] In this embodiment, the case where the operator selects the direct teach start button image 102 or the direct teach end button image 104 displayed on the direct teach image 100 to issue a direct teach function start command or a direct teach function end command to the processor 32 is described.

[0080] However, the present invention is not limited to this. A physical switch (or a physical button) may be provided in the control device 16 or the teaching device 18, and a direct teach function start command or direct teach function end command may be issued by operating the physical switch. Alternatively, the operator may manually tap any part of the robot 12 to issue a direct teach function start command or direct teach function end command to the processor 32. The processor 32 can detect the operator's tap operation on the robot 12 from the detection data DD of the force sensor 14. Furthermore, the enable switch 48 may be provided in the control device 16, etc., rather than in the teaching device 18.

[0081] Next, another example of the operation flow of the robot system 10 will be described with reference to Fig. 7. In the flow shown in Fig. 7, the processor 32 executes the above-mentioned direct teach function FN2 and another direct teach function FN2' using the enable switch 48. In the flow shown in Fig. 7, the same processes as those in the flow of Fig. 3 are assigned the same step numbers, and duplicated explanations will be omitted. In the flow shown in Fig. 7, if the processor 32 determines NO in step S1 or after executing step S5, the processor 32 proceeds to step S31.

[0082] In step S31, the processor 32 determines whether the enable switch 48 has been turned ON (in other words, whether it has been pressed down to the first pressed position P1). Specifically, if the enable switch 48 has been turned ON, the processor of the teaching device 18 sends an enable switch ON signal to the control device 16. If the enable switch ON signal has been received, the processor 32 determines the answer as YES, enables the direct teach function FN2' (sets the direct teach function FN2' to "ON" or sets an execution flag), starts step S3' described below, and proceeds to step S32. On the other hand, if the processor 32 determines the answer as NO, the processor 32 proceeds to step S6.

[0083] In step S32, the processor 32 determines whether the enable switch 48 has been turned OFF (in other words, whether it has returned to the initial position P0 or been pressed down to the second pressed down position P2). Specifically, when the enable switch 48 has been turned OFF, the processor of the teaching device 18 transmits an enable switch OFF signal to the control device 16. When the processor 32 of the control device 16 has received the enable switch OFF signal, the determination is YES, and the process proceeds to step S33. On the other hand, when the determination is NO, the processor 32 loops step S32.

[0084] In step S33, processor 32 disables direct teach function FN2' (sets direct teach function FN2' to "OFF" or clears the execution flag). In this embodiment, when processor 32 determines YES in step S31 and enables direct teach function FN2', it executes direct teach function FN2' in step S3' with the above-mentioned safety function FN1 disabled (i.e., without executing safety function FN1).

[0085] This step S3' will be described with reference to Figure 8. The flow shown in Figure 8 differs from the flow shown in Figure 6 in step S24'. In step S24', processor 32 determines whether or not direct teach function FN2' was disabled in step S33 described above. If processor 32 determines YES, it executes the emergency stop operation ES described above to stop the operation of robot 12 and terminates direct teach function FN2' in step S3'. On the other hand, if processor 32 determines NO, it returns to step S21.

[0086] In this way, in the other direct teach function FN2', the processor 32 executes the direct teach function FN2' while the operator keeps the enable switch 48 ON, and ends the direct teach function FN2' when the enable switch 48 is turned OFF. In other words, to execute the other direct teach function FN2', the operator needs to keep the enable switch 48 ON and continue to provide the enable switch ON signal to the control device 16.

[0087] 7 again, if the determination in step S4 is NO, in step S34, processor 32 determines whether enable switch 48 is turned ON, similarly to step S31 described above. If processor 32 determines YES, it proceeds to step S35, whereas if it determines NO, it returns to step S4.

[0088] In step S35, processor 32 disables direct teach function FN2, similar to step S5 described above. As a result, processor 32 determines YES in step S14 (FIG. 5) and step S24 (FIG. 6) described above, and terminates safety function FN1 in step S2 and direct teach function FN2 in step S3. Meanwhile, processor 32 enables direct teach function FN2', starts step S3', and proceeds to step S32.

[0089] Thus, in this embodiment, if the enable switch 48 is turned ON while executing steps S2 and S3 (YES in step S34), the processor 32 prioritizes executing another direct teach function FN2' using the enable switch 48 in step S3'.

[0090] According to this configuration, the operator can selectively execute, depending on the application, the direct teach function FN2 that runs in parallel with the safety function FN1 without using the enable switch 48, and another direct teach function FN2' that uses the enable switch 48. This improves convenience for the operator.

[0091] In addition, in this embodiment, the processor 32 functions as a direct teach execution unit 52, and after receiving a command to execute the direct teach function FN2 in step S3 and starting the direct teach function FN2, continues to execute the direct teach function FN2 without receiving the command again.

[0092] More specifically, when processor 32 receives a direct teach function start command from the operator in step S1 and starts direct teach function FN2 in step S3, it continues to execute direct teach function FN2 without receiving any further command (e.g., direct teach function start command, enable switch ON signal) to execute direct teach function FN2 until it receives a direct teach function end command in step S4.

[0093] In other words, while the direct teach function FN2 is being executed, the operator does not need to operate the input device 40 or 46 or the enable switch 48 to input any command (e.g., a direct teach function start command, an enable switch ON signal) to continue the direct teach function FN2.

[0094] In contrast, with the other direct teach function FN2', as described above, in order to continue the direct teach function FN2', the operator must keep the enable switch 48 ON and continue to provide an enable switch ON signal to the control device 16. Therefore, the direct teach function FN2 in step S3 simplifies the operator's operation.

[0095] Next, other functions of the robot system 10 will be described with reference to Fig. 9. In this embodiment, the operator can select whether to enable or disable the safety function FN1. Specifically, the processor 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. An example of the safety function setting image 106 is shown in Fig. 10.

[0096] 10, 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.

[0097] When the processor of the teaching device 18 receives input selecting the enable button image 108, it sends a safety function enable command to the control device 16 to enable the safety function FN1, and when it receives input selecting the disable button image 110, it sends a safety function disable command to the control device 16 to disable the safety function FN1.

[0098] The processor 32 of the control device 16 sets the safety function FN1 to be enabled or disabled in response to a safety function enable command or a safety function disable command. In this manner, in this embodiment, the processor 32 functions as a function switching unit 56 (FIG. 9) that switches the safety function FN1 executed by the safety function execution unit 50 between being enabled and being disabled.

[0099] While the safety function FN1 is disabled, the processor 32 does not execute the safety function FN1 as the safety function execution unit 50. For example, an operator may want to move a sufficient distance away from the robot 12 to ensure safety, and then execute the above-described automatic operation function FN4 to operate the robot 12 at high speed. In this case, the operator can reduce the work cycle time by disabling the safety function FN1 and operating the robot 12 at high speed.

[0100] Next, the operation flow executed by the control device 16 shown in Fig. 9 will be described with reference to Fig. 11. In the flow shown in Fig. 11, the same processes as those in the flow of Fig. 3 are given the same step numbers, and duplicated explanations will be omitted. In the flow shown in Fig. 11, if the processor 32 determines YES in step S1, it proceeds to step S41 before enabling the direct teach function FN2.

[0101] 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, whereas if the safety function FN1 is disabled, the processor 32 determines NO and proceeds to step S42.

[0102] Thus, in this embodiment, when the processor 32 receives a command to start the direct teach function (i.e., the above-mentioned direct teach function start command), it functions as a safety function determination unit 58 (FIG. 9) that determines whether the safety function FN1 is enabled or disabled.

[0103] In step S42, the processor 32 generates an alert signal AL1. For example, the processor 32 generates an alert signal AL1 in the form of an image or sound stating, "The safety function has been disabled. Please enable the safety function." The processor 32 then displays the generated alert 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).

[0104] After step S42, the processor 32 returns to step S41. Thus, in this embodiment, while the determination in step S41 is NO, the processor 32 does not start the safety function FN1 in step S2 or the direct teach function FN2 in step S3.

[0105] In step S43, the processor 32 calculates the threshold Fc for the safety function FN1 referred to in step S12 (FIG. 5). th , V th and a th is the first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 Here, the processor 32 may execute the safety function FN1 in parallel with the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5. th1 , V th1 and a th1 is referenced by the safety function FN1 that is executed in parallel with functions FN other than the direct teach function FN2, such as the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.

[0106] On the other hand, the second threshold Fc th2 , V th2 and a th2 is referred to in the safety function FN1 in step S2 in FIG. 11, and is the first threshold Fc th1 , V th1 and a th1 greater than (i.e., Fc th2 >Fc th1 , V th2 >V th1 , a th2 >a th1 ) is predetermined as

[0107] After step S43, the processor 32 enables the direct teach 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, the processor 32 determines whether the operation parameters OP (contact force Fc, velocity V, and acceleration a) are equal to or lower than the second threshold value Fc switched in step S43. th2 , V th2 and a th2 It is determined whether or not it exceeds the limit.

[0108] Thereafter, for example, when step S5 in FIG. 11 is executed (or when YES is determined in step S6), the processor 32 sets the threshold value Fc for the safety function FN1. th , V th and a th the second threshold Fc th2 , V th2 and a th2 to the first threshold Fc th1 , V th1 and a th1 Switch to.

[0109] Thus, in this embodiment, the processor 32 determines the threshold Fc th , V th , a th The first threshold Fc for functions FN3, FN4, and FN5 other than the direct teach function FN2 th1 , V th1 , a th1 and the first threshold Fc th1 , V th1 , a th1 A second threshold Fc that is greater than th2 , V th2 , a th2 and functions as a threshold switching unit 60 (FIG. 9) that switches between the thresholds.

[0110] As described above, in this embodiment, the control device 16 further includes a function switching unit 56 that switches the safety function FN1 executed by the safety function execution unit 50 between enabled and disabled, and a safety function determination unit 58 that determines whether the safety function FN1 is enabled or disabled when the direct teach execution unit 52 executes the direct teach function FN2. Specifically, when the safety function determination unit 58 receives a command to start the direct teach function FN2 (i.e., a direct teach function start command) (when the determination in step S1 is YES), it determines whether the safety function FN1 is enabled or disabled (step S41).

[0111] If the safety function determination unit 58 determines that the safety function FN1 is disabled (NO in step S41), the direct teach execution unit 52 does not execute the direct teach function FN2 (step S3). This configuration reliably prevents the direct teach function FN2 from being executed without enabling the safety function FN1 in step S3 in FIG. 11. This reliably ensures the safety of the operator.

[0112] In this embodiment, the control device 16 determines the threshold Fc th , V th , a th is the first threshold Fc th1 , V th1 , a th1 and the first threshold Fc th1 , V th1 , a th1 A second threshold Fc that is greater than th2 , V th2 , a th2 The threshold value switching unit 60 switches between the threshold value Fc when the direct teach execution unit 52 starts the direct teach function FN2. th , V th , a th is the first threshold Fc th1 , V th1 , a th1 to the second threshold Fc th2 , V th2 , a th2 (step S43).

[0113] With this configuration, when steps S2 and S3 are executed in parallel, it is possible to reliably avoid a YES determination being made in step S12 of step S2 due to the operating force Fh applied by the operator to the robot 12. Therefore, it is possible to avoid unnecessary stops of the operation of the robot 12 in the direct teach function FN2, and the safety of the operator can be reliably ensured by the safety function FN1.

[0114] In the present embodiment, the case has been described in which 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, this is not limiting, 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.

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

[0116] In the present embodiment, the case has been described in which the operator manually inputs the selection of whether to enable or disable the safety function FN1 to the processor of the teaching device 18 (or the processor 32 of the control device 16). 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 and automatically set the safety function FN1 to be enabled or disabled without receiving input from the operator.

[0117] 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) present around the robot 12. In this case, the processor 32 functions as a function switching unit 56, and switches the safety function FN1 to enabled when the object detection sensor detects an object present around the robot 12.

[0118] On the other hand, when the object detection sensor detects that the object has moved away from the periphery of the robot 12, the processor 32 disables the safety function FN1 and reduces the maximum speed V of the robot 12. MAX The set value of may be switched to a higher value, which allows the robot 12 to operate at high speed when executing the automatic driving function FN4, for example.

[0119] 11 may be executed before step S41 (i.e., when step S1 is determined to be YES). Also, steps S41 and S42 may be omitted from the flow of Fig. 11. In this case, the function switching unit 56 can be omitted from the control device 16 shown in Fig. 9.

[0120] Alternatively, step S43 may be omitted from the flow of Fig. 11. In this case, the threshold value switching unit 60 can be omitted from the control device 16 shown in Fig. 9. It will be understood that steps S41 to S43 of Fig. 11 can also be applied to the flow shown in Fig. 7 (i.e., after the determination of YES in step S1).

[0121] 11 (direct teach function FN2), the processor 32 may function as the safety function determination unit 58 to determine whether the safety function FN1 is enabled or disabled, and if the safety function FN1 is disabled, terminate the direct teach function FN2. The flow of such a direct teach function FN2 is shown in FIG.

[0122] In the flow of step S3 shown in FIG. 12, when the determination in step S24 is NO, in step S25, the processor 32 functions as the safety function determination unit 58 and determines whether the safety function FN1 is enabled or disabled, similar to the above-mentioned step S41.

[0123] If the processor 32 determines YES, it returns to step S21, but if the processor 32 determines NO (i.e., if the safety function FN1 has been disabled), it terminates the direct teach function FN2 in step S3. In this way, by terminating the direct teach function FN2 when the safety function FN1 has been disabled while the direct teach function FN2 is being executed, the safety of the operator can be more reliably ensured. Note that if the processor 32 determines NO in step S25, it may execute the above-mentioned step S42 and generate an alarm signal AL1.

[0124] 11. When step S43 is omitted from the flow of FIG. 11 and step S2 (safety function FN1) and step S3 (direct teach function FN2) are being executed, the processor 32 functions as the threshold value switching unit 60 and switches the operation parameters OP (contact force Fc, velocity V, and acceleration a) to the third threshold value Fc. th3 , V th3 and a th3 When the threshold Fc is exceeded, the threshold Fc is referenced in step S12 of step S2. th , V th and a th is the first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 The flow of step S2 is shown in FIG.

[0125] In the flow of step S2 shown in FIG. 13, after step S11, step S15 In step S11, the processor 32 determines whether the motion parameters OP (contact force Fc, velocity V, and acceleration a) acquired in the most recent step S11 are greater than or equal to a third threshold value Fc th3 , V th3 and a th3 Determine whether it is smaller than

[0126] This third threshold Fc th3 , V th3 and a th3 is the threshold value Fc referred to in step S12 th , V th and a th (Specifically, the above-mentioned first threshold Fc th1 , V th1 and a th1 , and a second threshold Fc th2 , V th2 and a th2 ) (i.e., Fc th3 <Fc th1 <Fc th2 , V th3 <V th1 <V th2 , ath3 th1 th2 )

[0127] The processor 32 <Fc th3 , V <V th3 , and a th3 If Fc≧Fc, the determination is YES and the process proceeds to step S16. th3 , V ≥ V th3 , or a≧a th3 (i.e., when at least one of the operating parameters OP is greater than or equal to the third threshold Fc th3 , V th3 or a th3 If the velocity V and acceleration a of the motion parameters OP exceed the third threshold value V, the determination is NO, and the process proceeds to step S17. th3 and a th3 It may be determined whether the value is smaller than .

[0128] In step S16, the processor 32 functions as the threshold value switching unit 60 and selects the threshold value Fc th , V th and a th is the first threshold Fc th1 , V th1 and a th1 Set to.

[0129] On the other hand, if the determination in step S15 is NO (i.e., the operating parameter OP is greater than or equal to the third threshold value Fc th3 , V th3 or a th3 ), in step S17, the processor 32 functions as the threshold value switching unit 60 and changes the threshold value Fc th , V th and a th the second threshold Fc th2 , V th2 and a th2 In step S17, the processor 32 sets the threshold value Fc th is set to the second threshold Fc th2 ​​​while setting the threshold V for the velocity V th and the threshold a for acceleration a th is the first threshold V th1 and a th1 may be maintained at

[0130] Thereafter, in step S12, the processor 32 calculates the first threshold Fc th1 , V th1 or a th1 , or the second threshold Fc th2 , V th2 and a th2 and the operating parameter OP is greater than or equal to the first threshold Fc th1 , V th1 and a th1 , or the second threshold Fc th2 , V th2 and a th2 It is determined whether or not it exceeds the limit.

[0131] In this manner, in the flow shown in FIG. 13, the processor 32 determines whether at least one of the operational parameters OP is equal to or exceeds the third threshold value Fc th3 , V th3 or a th3 When the threshold value Fc is exceeded, the threshold value Fc is referenced in step S12. th , V th and a th is the first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 (step S17).

[0132] Meanwhile, the processor 32 detects whether the operating parameter OP is greater than the third threshold Fc th3 , V th3 or a th3 (i.e., if the determination in step S15 is YES), the threshold value Fc th , V th and a th the second threshold Fc th2 , V th2and a th2 to the first threshold Fc th1 , V th1 and a th1 Switch to.

[0133] Here, in step S3 (direct teach function FN2) executed in parallel with step S2, if the operating force Fh applied by the operator to the robot 12 increases, the motion parameters OP (velocity V, acceleration a) also increase. In addition, the external force F detected by the force sensor 14 will also include a component of the operating force Fh.

[0134] According to this embodiment, the threshold Fc is set in accordance with the operation parameter OP as described above. th , V th , a th By switching between these two, it is possible to reliably avoid a situation in which step S12 is judged as YES due to the operating force Fh applied by the operator to the robot 12, resulting in execution of step S13. On the other hand, when the operation parameter OP is small, it is possible to more reliably detect that the robot 12 has come into contact with a surrounding object.

[0135] In addition, in one example of this embodiment, in step S15, the processor 32 determines whether the velocity V or the acceleration a of the motion parameters OP is greater than or equal to a third threshold V th3 or a th3 Then, in steps S16 and S17, the processor 32 determines whether the threshold value Fc for the contact force Fc is smaller than the threshold value Fc in accordance with the velocity V or the acceleration a. th is the first threshold Fc th1 and the second threshold Fc th2 Switch between

[0136] Then, in step S12, the processor 32 calculates the first threshold value Fc th1 or the second threshold Fc th2 The contact force Fc acquired as the operation parameter OP is compared with the first threshold value Fc th1 or the second threshold Fc th2 It is determined whether or not the value has exceeded the threshold.

[0137] That is, in this case, in step S15, the processor 32 determines whether one of the motion parameters OP (speed V, acceleration a) is equal to or exceeds the third threshold value (V th3 , a th3 ), and in steps S16 and S17, the threshold value (Fc th ) as the first threshold (Fc th1 ) and the second threshold (Fc th2 ) and vice versa.

[0138] Then, in step S12, the processor 32 determines whether the other of the operating parameters OP is equal to or lower than the threshold value (Fc th1 or Fc th2 ) is exceeded. This configuration can more reliably prevent step S13 from being executed due to the operating force Fh applied to the robot 12 by the direct teach function FN2.

[0139] 11, the processor 32 may execute the flow of FIG. 13 in step S2 in FIG. 11. In this case, the processor 32 functions as the threshold value switching unit 60 in step S16 in FIG. 13, and changes the threshold value Fc th , V th and a th is set to the second threshold Fc th2 , V th2 and a th2 Set to.

[0140] On the other hand, in step S17 of FIG. 13, the processor 32 functions as the threshold value switching unit 60 to select the threshold value Fc th , V th and a th , the fourth threshold Fc th4 , V th4 and a th4 This fourth threshold Fc th4 , V th4 and a th4 is the second threshold Fcth2 , V th2 and a th2 greater than (i.e., Fc th4 >Fc th2 , V th4 >V th2 , a th4 >a th2 )

[0141] That is, in this case, the processor 32 functions as the threshold value switching unit 60 and changes the threshold value Fc referenced in step S12 in accordance with the operating parameter OP. th , V th and a th , the threshold Fc th2 , V th2 , a th2 (first threshold) and threshold Fc th4 , V th4 , a th4 In this case, in step S15, the processor 32 switches between the third threshold (V th3 , a th3 ), and in steps S16 and S17, the threshold value (Fc th ) as the first threshold (Fc th2 ) and the second threshold (Fc th4 ) may be switched between

[0142] Next, various embodiments of the force sensor 14 will be described with reference to FIGS. 14 and 15. The force sensor 14 can have at least one of the torque sensor 14A and the force sensor 14B described above. FIG. 14 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 has 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 fitted onto the output shaft 31a so as to surround the output shaft 31a.

[0143] Each of the pair of sensor elements 152a and 152b includes, for example, a strain gauge such as a semiconductor strain gauge or a metal foil strain gauge, a proximity sensor, an optosensor, a laser or capacitance displacement meter, or an optical or magnetic encoder. The sensor elements 152a and 152b convert the strain, deformation, or displacement occurring in the main body 150 due to the torque τ applied to the output shaft 31a into an electric signal, and output detection data DDτ. a and DDτ b and output them as follows:

[0144] The detection data DDτ output from the sensor element 152a a is supplied to the control device 16 through a signal line L1. The sensor element 152a and the signal line L1 constitute a first system detection unit 154a. b is supplied to the control device 16 through a signal line L2 that is independent of (specifically, insulated from) the signal line L1. The sensor element 152b and the signal line L2 constitute a second system of detecting section 154b.

[0145] The signal lines L1 and L2 may be wired or wireless (i.e., a transmission path for wireless communication). a and the detection data DDτ of the sensor element 152b. b are supplied to the control device 16 through separate signal lines L1 and L2, which are independent of each other.

[0146] The pair of sensor elements 152a and 152b are arranged adjacent to each other at the same location on the main body 150 so as to detect a force in one direction (specifically, a torque τ applied from the output shaft 31a in the circumferential direction of the main body 150). a and the detection data DDτ of the sensor element 152b. bFor example, the sensor elements 152a and 152b may be arranged overlapping (or parallel to) each other. In this manner, in this embodiment, the two separate systems of detection units 154a and 154b detect a force (torque τ) in one direction, and each outputs detection data DDτ a and DDτ b are supplied to the control device 16 individually.

[0147] 15 shows a force sensor 14B according to one 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 has a cylindrical main body 160 having a central axis A2 and multiple pairs of sensor elements 162a and 162b provided on the main body 160. The main body 160 has a pair of ring portions 160a and 160b extending circumferentially and spaced apart from each other in the axial direction, and multiple pillar portions 160c extending between the ring portions 160a and 160b and arranged at approximately equal intervals in the circumferential direction.

[0148] 15, a pair of sensor elements 162a and 162b are provided on each of the ring portion 160a and the column portion 160c. Similar to the above-described sensor elements 152a and 152b, each of the pair of sensor elements 162a and 162b includes a strain gauge such as a semiconductor strain gauge or a metal foil strain gauge, a proximity sensor, an optosensor, a laser or capacitance displacement meter, or an optical or magnetic encoder. The sensor elements 162a and 162b convert the strain, deformation, or displacement occurring in the main body portion 160 due to a force f acting on the main body portion 160 into an electric signal, and output detection data DDf. a and DDf b and output them as follows:

[0149] The pair of sensor elements 162a and 162b provided on the ring portion 160a are arranged adjacent to each other at the same location on the ring portion 160a so as to detect a force in one direction (specifically, a force f acting in the axial direction of the ring portion 160a). Similarly, the pair of sensor elements 162a and 162b provided on the pillar portion 160c are arranged adjacent to each other at the same location on the pillar portion 160c so as to detect a force in one direction (specifically, a force f acting on the pillar portion 160c in the direction around the axis A2). Detection data DDf of the sensor element 162a a and the detection data DDf of the sensor element 162b. b For example, the sensor elements 162a and 162b may be arranged on top of (or parallel to) each other.

[0150] The detection data DDf output from each sensor element 162a a is supplied to the control device 16 through a signal line L1. The sensor element 162a and the signal line L1 constitute a first system detection unit 164a. The control device 16 receives the detection data DDf of each sensor element 162a. a By executing a predetermined calculation CL3 based on the above, forces in six axial directions are detected, including a force fx in the x-axis direction, a force fy in the y-axis direction, and a force fz in the z-axis direction of a sensor coordinate system C3 set in the main body 160 of the force sensor 14B, as well as a torque τx around the x-axis, a torque τy around the y-axis, and a torque τx around the z-axis.

[0151] The sensor coordinate system C3 is a control coordinate system for calculating the external force F applied to the robot 12 from the detection data DDf of the force sensor 14B. The sensor coordinate system C3 is set with respect to the main body 160, for example, so that its origin is located on the central axis A2 of the main body 160 (for example, the center point) and its z-axis coincides 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 from the forces fx, fy, fz, τx, τy, and τz in the six-axis directions calculated in this manner, and can also identify the part of the robot 12 to which the external force F is applied.

[0152] Furthermore, the detection data DDf output from each sensor element 162b b is supplied to the control device 16 through the signal line L2. The sensor element 162b and the signal line L2 constitute a second system of detection unit 164b. The control device 16 receives the detection data DDf of each sensor element 162b. b By executing a predetermined calculation CL3 based on the above, the forces fx, fy, fz, τx, τy, and τz in the six axis directions are calculated, and 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 can be identified. In this manner, in this embodiment, two separate systems of detection units 164a and 164b detect the force f in one direction, and each generates detection data DDf a and DDf b are supplied to the control device 16 individually.

[0153] Next, referring to FIG. 16, the detected data DDτ of the torque sensor 14A shown in FIG. a and DDτ b In this embodiment, the safety function execution unit 50 (specifically, the processor 32) performs the safety function FN1 and the direct teach function FN2 based on the detection data DDτ of the detection unit 154a of the first system (i.e., one sensor element 152a). a The first contact force Fc calculated based on a First safety function FN1 that monitors a and the detection data DDτ of the second system detection unit 154b (that is, the other sensor element 152b). b The second contact force Fc calculated based on b Second safety function FN1 that monitors b The first safety function FN1 is executed in parallel. a and second safety function FN1 b Each of these is, for example, the flow of step S2 shown in FIG.

[0154] That is, the safety function execution unit 50 executes the first safety function FN1 a The detection data DDτ obtained from one sensor element 152a of each torque sensor 14A through the signal line L1 isa The flow of step S2 is executed based on the first safety function FN1. a In parallel with this, the safety function execution unit 50 executes the second safety function FN1 b The detection data DDτ obtained from the other sensor element 152b of each torque sensor 14A through the signal line L2 is b Therefore, the first safety function FN1 a Step S12 executed as the second safety function FN1 b If the answer to either step S12 or step S13 is YES, the robot 12 is stopped (step S13).

[0155] Thus, the first safety function FN1 a and the second safety function FN1 b and the detection data DDτ of the detection units 154a and 154b of different systems (i.e., different sensor elements 152a and 152b). a and DDτ b Even if the detection unit 154a of one system (for example, the sensor element 152a) breaks down, the detection data DDτ of the detection unit 154b of the other system (for example, the sensor element 152b) can be b Using the second safety function FN1 b Therefore, operator safety can be further ensured.

[0156] On the other hand, the direct teach execution unit 52 (processor 32) executes the first safety function FN1 executed by the safety function execution unit 50. a and second safety function FN1 b In parallel with this, the direct teach function FN2 (step S3 shown in FIG. 6) is executed. Specifically, the direct teach execution unit 52 receives the detection data DDτ aAt this time, in step S21 of step S3, the direct teach executing unit 52 executes the flow of step S3 based on the detection data DDτ a The operating force Fh is calculated based on this.

[0157] The detection data DDf of the force sensor 14B shown in FIG. a and DDf b Safety function FN1 is executed based on a and FN1 b The direct teach function FN2 is also the same as when the torque sensor 14A is used. Specifically, the safety function execution unit 50 uses the detection data DDf a The first contact force Fc calculated based on a First safety function FN1 that monitors a (flow of FIG. 5) and the detection data DDf of the second system detection unit 164b (that is, each of the other sensor elements 162b) b The second contact force Fc calculated based on b Second safety function FN1 that monitors b (Flow in Figure 5) are executed in parallel.

[0158] In addition, the direct teach execution unit 52 executes the first safety function FN1 a and second safety function FN1 b In parallel with this, the detection data DDf of the detection unit 164a of the first system, which is acquired from each of the sensor elements 162a on one side of the force sensor 14B through the signal line L1, a The operating force Fh is calculated based on the above, and the direct teach function FN2 (flow in FIG. 6) is executed based on the calculated operating force Fh.

[0159] 16 may execute the flow shown in FIG. 3 or 7. When executing the flow shown in FIG. 7, in step S3′, the processor 32 functions as the direct teach execution unit 52 and executes the detection data DDτ of the detection unit 154a or 164a of the first system acquired from one of the sensor elements 152a or 162a. a or DDf a Based on this, the flow of the direct teach function FN2' shown in FIG. 8 is executed.

[0160] The processor 32 also controls 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 executed as the direct teach function FN2 and the loop of steps S21 to S24 in step S3 executed as the direct teach function FN2 may be executed in synchronization with each other (or alternately) at a predetermined control period (for example, 1 msec).

[0161] The processor 32 executes the first safety function FN1 a and a direct teach function FN2; and a second safety function FN1. b 17 shows such a configuration. In this configuration, the first processor 32A and the second processor 32B function as a safety function execution unit 50, while the first processor 32A functions as a direct teach execution unit 52.

[0162] The processor 32 is not limited to the form shown in FIG. 17, and may be configured to perform the first safety function FN1 a and a first processor 32A executing a second safety function FN1. b and a third processor 32C that executes a direct teach function FN2.

[0163] In the direct teach function FN2, the direct teach execution unit 52 uses the detection data DDτ of the first system detection unit 154a (or 164a) a (or DDf a ) and the detection data DDτ of the second system detection unit 154b (or 164b) b (or DDf b ) and the operating force Fh may be calculated based on both.

[0164] For example, when the direct teach function FN2 is executed using the torque sensor 14A in FIG. 14, the direct teach execution unit 52 receives the detection data DDτ a and the detection data DDτ of the other sensor element 152b. b and the average value DDτ AVE Calculate the average value DDτ AVE The operating force Fh may be calculated based on the above equation.

[0165] Alternatively, the processor 32 may use the detection data DDτ of the detection unit 154a (or 164a) of the first system as a (or DDf a ) and the detection data DDτ of the second system detection unit 154b (or 164b) b (or DDf b ) and the larger (or smaller) of these may be selected, and the selected larger (or smaller) value may be used to calculate the operating force Fh.

[0166] The processor 32 of the control device 16 shown in FIG. 16 or FIG. 17 executes the first safety function FN1 a and second safety function FN1 b While executing the above, a failure detection function FN6 may be executed in parallel to detect whether or not either the detection unit 154a or 164a of the first system (for example, one of the sensor elements 152a or 162a) or the detection unit 154b or 164b of the second system (for example, the other of the sensor elements 152b or 162b) has failed. This failure detection function FN6 will be described with reference to FIG. 18.

[0167] When the failure detection function FN6 is enabled, the processor 32 starts the flow shown in Fig. 18. This failure detection function FN6 is, for example, a safety function FN1 (first safety function FN1 a and second safety function FN1 b ) is started. The fault detection function FN6 when the force sensor 14 includes the torque sensor 14A will be described below.

[0168] In step S51, the processor 32 calculates the detection data DDτ of the two detection units 154a and 154b (specifically, the pair of sensor elements 152a and 152b). a and DDτ b For example, in step S51, the processor 32 acquires the detection data DDτ detected by the pair of sensor elements 152a and 152b at the same time (or at a very close time). a and DDτ b are obtained respectively.

[0169] In step S52, the processor 32 calculates the detection data DDτ obtained in the most recent step S51. a and DDτ b For example, the processor 32 determines whether the detected data DDτ a and DDτ b Difference Δ D is a predetermined threshold Δ Dth exceeded (Δ D ≧Δ Dth ) when the detection data DDτ a and DDτ b are different from each other (that is, YES). If the determination is YES, the processor 32 proceeds to step S54, whereas if the determination is NO, the processor 32 proceeds to step S53.

[0170] In step S53, the processor 32 determines whether the failure detection function FN6 has been disabled. If the determination is YES, the processor 32 terminates the failure detection function FN6, but if the determination is NO, the processor 32 returns to step S51.

[0171] On the other hand, if the determination in step S52 is YES, in step S54, the processor 32 generates an alarm signal AL2. For example, the processor 32 may generate an image or sound alarm signal AL2 stating, "The force sensor may have failed. Please perform maintenance on the force sensor," and output this to the display device 42 or 44 or a speaker.

[0172] When the determination in step S52 is YES, the processor 32 may execute the emergency stop operation ES described above to stop the robot 12. In addition, the processor 32 may execute the safety function FN1 (first safety function FN1 a and second safety function FN1 b The loop of steps S11 to S14 in step S2 executed as the fault detection function FN6 and the loop of steps S51 to S53 executed as the fault detection function FN6 may be executed in synchronization with each other (or alternately) at a predetermined control period (for example, 1 msec).

[0173] Next, still another function of the robot system 10 will be described with reference to Figures 19 and 20. In this embodiment, the control device 16 has a direct teach function FN2 according to still another embodiment. _1 Then, the flow shown in Fig. 20 is executed. In the flow shown in Fig. 20, the same processes as those in the flow shown in Fig. 6 are given the same step numbers, and duplicated explanations will be omitted.

[0174] 20, processor 32 functions as direct teach execution unit 52, executes steps S21 to S23, and executes steps S61 to S66 after step S23. In step S61, processor 32 functions as operation parameter acquisition unit 54, and acquires operation parameter OP.

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

[0176] In step S62, the processor 32 determines whether the motion parameter OP (speed V) acquired in the most recent step S61 is within the first range. Specifically, the processor 32 determines whether the speed V acquired in the most recent step S61 is within the first range [V th11 ≦V <V th12 ]. A threshold V th11 and V th12 can be predetermined by an operator. th11 is set to zero, for example. th11 ≦V <V th12 If it is, the result is YES and the process proceeds to step S63. On the other hand, if it is NO (i.e., V th12 ≦V), proceed to step S64.

[0177] In step S63, the processor 32 sets the resistance force RF against the operating force Fh applied to the robot 12 to a first resistance force RF1. Here, an acceleration setting value α that defines the maximum value of the acceleration a of the robot 12 is set in advance in the control device 16. The larger this acceleration setting value α is, the larger the acceleration a of the robot 12 when moving in accordance with the operating force Fh can be. In this case, the response of the robot 12 to the operating force Fh applied by the operator becomes faster (in other words, the operation feels lighter), and therefore the resistance force RF against the operating force Fh becomes lower.

[0178] Conversely, the smaller the acceleration setting value α, the smaller the acceleration a of the robot 12 when it operates according to the operating force Fh. In this case, the response of the robot 12 to the operating force Fh applied by the operator slows down (in other words, the operating feel becomes heavier), and the resistance force RF against the operating force Fh increases.

[0179] Therefore, in this embodiment, the processor 32 changes the acceleration setting value α in accordance with the velocity V acquired in step S61, thereby changing the resistance force RF against the operating force Fh. In step S63, the processor 32 sets the acceleration setting value α to a first acceleration setting value α1, thereby setting the resistance force RF against the operating force Fh to a first resistance force RF1 corresponding to the first acceleration setting value α1. Note that the first acceleration setting value α1 is set by the direct teach function FN2. _1 It may be the initial value (or default value) that is set at the start of

[0180] On the other hand, if the determination in step S62 is NO, in step S64, processor 32 determines whether the motion parameter OP (speed V) acquired in the most recent step S61 is within a second range larger than the first range. Specifically, processor 32 determines whether the speed V acquired in the most recent step S61 is within the second range [V th12 ≦V <V th13 ]. A threshold V that defines the upper limit of the second range is used to determine whether the th13 may be predetermined by an operator. th12 ≦V <V th13 If it is determined as YES, the process proceeds to step S65. On the other hand, if it is determined as NO (i.e., V th13 If V≦V, proceed to step S66.

[0181] In step S65, the processor 32 sets the resistance force RF against the operating force Fh applied to the robot 12 to a second resistance force RF2 (>RF1). Specifically, the processor 32 sets the acceleration setting value α to a second acceleration setting value α2 (<α1), thereby setting the resistance force RF against the operating force Fh to a second resistance force RF2 that is larger than the first resistance force RF1.

[0182] On the other hand, if the determination in step S64 is NO, in step S66, the processor 32 sets the resistance force RF against the operating force Fh applied to the robot 12 to a third resistance force RF3 (>RF2). Specifically, the processor 32 sets the acceleration setting value α to a third acceleration setting value α3 (<α2), thereby setting the resistance force RF against the operating force Fh to the third resistance force RF3 that is larger than the second resistance force RF2.

[0183] In this way, by executing steps S63, S65, and S66, the processor 32 changes the acceleration setting value α to α1, α2, or α3, thereby changing the resistance force RF against the operating force Fh in accordance with the velocity V obtained in step S61. Therefore, the processor 32 functions as a resistance force control unit 62 (FIG. 19) that changes the resistance force RF against the operating force Fh. After executing step S63, S65, or S66 as the resistance force control unit 62, the processor 32 proceeds to step S24 and activates the direct teach function FN2. _1 Determine whether the has been invalidated.

[0184] Thus, processor 32 executes direct teach function FN2. _1 During the execution of step S61, steps S61 to S66 are executed, and the resisting force RF against the operating force Fh is controlled in accordance with the operation parameter OP (specifically, the speed V). Although a detailed description will be omitted, it should be understood that even if the acceleration a is acquired as the operation parameter OP in step S61, the processor 32 can similarly execute steps S62 to S66 based on the acceleration a.

[0185] As described above, in this embodiment, the control device 16 includes the direct teach execution unit 52 and the direct teach function FN2. _1 The robot 12 is provided with an operation parameter acquisition unit 54 that acquires the velocity V (or acceleration a) of the robot 12 during execution of the operation parameter acquisition unit 54, and a resistance force control unit 62 that changes the resistance force RF against the operating force Fh in accordance with the velocity V (or acceleration a) acquired by the operation parameter acquisition unit 54.

[0186] According to this configuration, the direct teach function FN2 _1 The increase in the velocity V (or acceleration a) of the robot 12 during the execution of the function FN2 is fed back as a resistance force RF to the operator's sense of operation of the robot 12, allowing the operator to intuitively recognize this. _1 This can prevent the velocity V (or acceleration a) from increasing excessively during the execution of

[0187] Furthermore, in this embodiment, the resistance force control unit 62 changes the resistance force RF by changing the acceleration setting value α, which defines the maximum value of the acceleration a, to α1, α2, or α3 in accordance with the speed V (or acceleration a) acquired by the motion parameter acquisition unit 54. With this configuration, the processor 32 can quickly change the resistance force RF using a relatively simple algorithm.

[0188] Next, referring to FIG. 21, a direct teach function FN2 according to still another embodiment will be described. _2 The control device 16 shown in FIG. 19 has a direct teach function FN2 _2 Then, the flow shown in Fig. 21 is executed. In the flow shown in Fig. 21, the same processes as those in the flow shown in Fig. 20 are given the same step numbers, and duplicated explanations will be omitted.

[0189] In the flow shown in FIG. 21, when the determination in step S22 is YES, processor 32 executes step S71. In step S71, processor 32 functions as direct teach execution unit 52 and determines acceleration set value α by applying the operating force Fh acquired in the most recent step S21 to characteristic data CD. The characteristic data CD is data (in other words, a graph) that indicates the relationship between the operating force Fh and the acceleration set value α. An example of characteristic data CD is shown in FIG. 22.

[0190] In the example shown in FIG. 22, first characteristic data CD1, second characteristic data CD2, and third characteristic data CD3 are shown. The first characteristic data CD1 has the largest slope δα / δFh. Therefore, according to the first characteristic data CD1, the acceleration setting value α (i.e., the acceleration setting value α of the direct teach function FN2) with respect to the operating force Fh is _2 The maximum value of the acceleration α of the robot 12 when the above is executed is greater than the second characteristic data CD2 and the third characteristic data CD3.

[0191] Therefore, the response of the robot 12 to the operating force Fh applied by the operator becomes faster (in other words, the operating feel becomes lighter), and the resistance force RF against the operating force Fh becomes lower than the second characteristic data CD2 and the third characteristic data CD3. Note that the first characteristic data CD1 is used in the direct teach function FN2. _2 The characteristic data CD may be initial data (or default data) set as the characteristic data CD at the start of the process.

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

[0193] According to the second characteristic data CD2, the resistance force RF falls between the magnitudes of the first characteristic data CD1 and the third characteristic data CD3. Thus, the characteristic data CD1, CD2, and CD3 correlate with the resistance force RF against the operating force Fh. These characteristic data CD1, CD2, and CD3 are pre-stored in the memory 34.

[0194] In order to operate the robot 12 in step S23 in Fig. 21, one of the characteristic data CD1, CD2, and CD3 is selected and set as the characteristic data CD for determining the acceleration set value α. For example, assume that the first characteristic data CD1 has been set at the start of step S71. In this case, the processor 32 functions as the direct teach execution unit 52 in step S71 and applies the operating force Fh acquired in the most recent step S21 to the first characteristic data CD1 shown in Fig. 22 to determine the acceleration set value α.

[0195] Then, in step S23, the processor 32 functions as the direct teach execution unit 52, and operates the robot 12 in accordance with the operating force Fh acquired in the most recent step S21, using the acceleration set value α determined in the immediately preceding step S71. The acceleration a of the operating robot 12 at this time is controlled to be equal to or less than the acceleration set value α.

[0196] On the other hand, if the determination in step S62 is YES, in step S72, the processor 32 functions as the resisting force control unit 62 and sets the resisting force RF against the operating force Fh to the first resisting force RF1. Specifically, the processor 32 sets the above-mentioned characteristic data CD to the first characteristic data CD1 in FIG. 22. As described above, the characteristic data CD1, CD2, and CD3 are correlated with the resisting force RF. Therefore, by selecting the first characteristic data CD1, the resisting force RF can be set to the first resisting force RF1 corresponding to the first characteristic data CD1.

[0197] On the other hand, if the determination in step S64 is YES, in step S73, the processor 32 functions as the resisting force control unit 62 and sets the resisting force RF against the operating force Fh to the second resisting force RF2. Specifically, the processor 32 sets the above-mentioned characteristic data CD to the second characteristic data CD2 in FIG. 22.

[0198] This allows the resistance RF to be set to the second resistance RF2 corresponding to the second characteristic data CD2. As described above, the second resistance RF2 for the second characteristic data CD2 is greater than the first resistance RF1 for the first characteristic data CD1 (RF2>RF1).

[0199] On the other hand, if the determination in step S64 is NO, in step S74, the processor 32 functions as the resisting force control unit 62 and sets the resisting force RF against the operating force Fh to a third resisting force RF2. Specifically, the processor 32 sets the above-mentioned characteristic data CD to the third characteristic data CD3 in FIG. 22.

[0200] This allows the resistance RF to be set to the third resistance RF3 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 executing step S72, S73, or S74 as the resistance control unit 62, the processor 32 proceeds to step S24 and activates the direct teach function FN2. _2 Determine whether the has been invalidated.

[0201] As described above, in this embodiment, the characteristic data CD (CD1, CD2, CD3) indicating the relationship between the operating force Fh and the acceleration set value α is stored in advance in the memory 34, and the direct teach execution unit 52 applies the operating force Fh to the characteristic data CD to execute the direct teach function FN2. _2 An acceleration setting value α at the time of execution is determined (step S71).

[0202] The resisting force control unit 62 then changes the resisting force RF by changing the characteristic data CD to the first characteristic data CD1, the second characteristic data CD2, or the third characteristic data CD3 in accordance with the speed V (or acceleration a) acquired by the motion parameter acquisition unit 54 (steps S72, S73, S74). With this configuration, the processor 32 can more smoothly change the operational feel of the robot 12 (i.e., the heaviness or lightness of the operational feel), thereby improving the operational feel.

[0203] In the present embodiment, the case has been described where three pieces of characteristic data CD1, CD2, and CD3 are stored in advance in the memory 34. However, one of the characteristic data CD1, CD2, and CD3 may be stored in the memory 34, and the processor 32 may determine the other two pieces of characteristic data CD1, CD2, and CD3 by performing a predetermined calculation using the one piece of characteristic data CD stored in the memory 34.

[0204] For example, it is assumed that the first characteristic data CD1 is stored in advance in the memory 34. In this case, in step S73, the processor 32 may obtain the second characteristic data CD2 by performing a predetermined calculation so as to reduce the slope δα / δFh of the first characteristic data CD1.

[0205] Furthermore, in step S74, the processor 32 may obtain the third characteristic data CD3 by performing a predetermined calculation to reduce the slope δα / δFh of the first characteristic data CD1 or the second characteristic data CD2. This eliminates the need to store many pieces of characteristic data CDn in the memory 34. Note that although the example shown in FIG. 22 illustrates three pieces of characteristic data CD1, CD2, and CD3, two or four or more pieces of characteristic data CDn may be stored in the memory 34.

[0206] Next, referring to FIG. 23, a direct teach function FN2 according to still another embodiment will be described. _3 The control device 16 shown in FIG. 19 has a direct teach function FN2 _3 Then, the flow shown in Fig. 23 is executed. In the flow shown in Fig. 23, the same processes as those in the flow shown in Fig. 20 are given the same step numbers, and duplicated explanations will be omitted.

[0207] 23, the processor 32 functions as the direct teach execution unit 52 and executes steps S21 to S23. Here, in step S23, the processor 32 generates a command CM to the actuator 31 of the robot 12 in order to operate the robot 12 in accordance with the operating force Fh identified in the most recent step S21. Hereinafter, a method for generating the command CM will be described with reference to FIG.

[0208] 24, the control device 16 has a position command generation unit 64, a speed command generation unit 66, a torque command generation unit 68, a current control unit 70, a differentiator 72, subtractors 74 and 76, and an adder 78. The processor 32 is responsible for arithmetic processing to realize the functions of the position command generation unit 64, the speed command generation unit 66, the torque command generation unit 68, the current control unit 70, the differentiator 72, the subtractors 74 and 76, and the adder 78.

[0209] The position command generator 64 generates a position command CM1 that defines the position of the robot 12 (for example, the end effector 30) and outputs it 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 generator 66 as a position deviation δp.

[0210] The speed command generation unit 66 generates a speed command CM2 based on the position deviation δp and outputs it to the subtractor 76. Meanwhile, the differentiator 72 obtains a speed V by time-differentiating the feedback FB supplied from the rotation detection sensor 33, and outputs it to the subtractor 76 as speed feedback V. The subtractor 76 subtracts the speed feedback V from the input speed command CM2, and outputs it to the torque command generation unit 68 as a speed deviation δv.

[0211] The torque command generator 68 generates a torque command CM3 based on the speed deviation δv. The current controller 70 generates a voltage signal CM4 (e.g., a PWM control signal) based on the torque command CM3 and transmits 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.

[0212] In this way, in step S23, the processor 32 generates commands CM (position command CM1, velocity command CM2, torque command CM3, and voltage signal CM4) for the actuator 31, and operates the robot 12 according to the operating force Fh. Referring again to FIG. 23, if the determination in step S62 is YES, the processor 32 proceeds to step S24 and activates the direct teach function FN2. _3 Determine whether the has been invalidated.

[0213] On the other hand, if the determination in step S64 is YES, in step S81, processor 32 functions as resistance force control unit 62 to modify command CM generated in step S23. Specifically, as shown in FIG. 24, processor 32 functions as resistance force control unit 62 to generate command correction value CR1 and output it to adder 78. This command correction value CR1 modifies torque command CM3 so as to cause actuator 31 to generate a force acting in the opposite direction to the operating force Fh.

[0214] The adder 78 generates a corrected torque command CM3' by adding the command correction value CR1 generated by the resistance force 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, a force opposite to the operating force Fh is generated in each movable component of the robot 12, thereby increasing the resistance force RF against the operating force Fh.

[0215] 23 again, if the determination in step S64 is NO, in step S82, processor 32 functions as resistance force control unit 62 to modify command CM generated in step S23. Specifically, processor 32 functions as resistance force control unit 62 to generate command correction value CR2 (FIG. 24) and output it to adder 78.

[0216] This 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. Adder 78 generates a corrected torque command CM3' by adding the command correction value CR2 generated by the resistance force control unit 62 to the torque command CM3, and outputs the corrected torque command CM3' to current control unit 70. As a result, the resistance force RF against the operating force Fh can be increased more than in step S81. After step S81 or S82, processor 32 proceeds to step S24.

[0217] As described above, in this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _3 In order to operate the robot 12, commands CM (position command CM1, velocity command CM2, torque command CM3, and voltage signal CM4) are generated for the actuator 31 of the robot 12.

[0218] The resisting force control unit 62 then changes the resisting force RF by modifying the command CM (specifically, the torque command CM3) generated by the direct teach execution unit 52 in accordance with the speed V (or acceleration a) acquired by the operation parameter acquisition unit 54 (steps S81 and S82). This configuration makes it possible to quickly and precisely control the resisting force RF against the operating force Fh.

[0219] In this embodiment, the resisting force control unit 62 corrects the torque command CM3 using the command correction value CR1 or CR2. However, the present invention is not limited to this, and the resisting force 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 resisting force RF against the operating force Fh.

[0220] In addition, the direct teach function FN2 shown in Figure 20 _1 , Direct teach function FN2 shown in Figure 21 _2 , or the direct teach function FN2 shown in Figure 23 _3 The flow of step S3 or S3' may be applied to step S3 or S3' described above. That is, in this case, the control device 16 shown in Fig. 2 or 9 further includes a resistance force control unit 62. Furthermore, when the determination in step S64 of Fig. 20, 21, or 23 is NO, the processor 32 may generate a visual or audio warning signal AL3 saying "The speed or acceleration is excessive. Please reduce the operating force," and output this to the display device 42 or 44 or the speaker.

[0221] Next, further functions of the robot system 10 will be described with reference to Figures 25 and 26. The control device 16 shown in Figure 25 further includes a timing unit 80. The timing unit 80 is communicatively connected to the processor 32 via the bus 38, and measures the elapsed time t from a certain point in time in response to a command from the control device 16.

[0222] The control device 16 shown in FIG. 25 has a direct teach function FN2 shown in FIG. _4 In the flow shown in FIG. 26, the same processes as those in the flow shown in FIG. 6 are denoted by the same step numbers, and redundant explanations will be omitted. The flow shown in FIG. 26 is executed when the processor 32 executes the direct teach function FN2. _4 The process starts at time t0 when a command to start the process is received.

[0223] In step S91, processor 32 starts measuring the elapsed time t from time t0 when the flow of FIG. 26 started. Specifically, processor 32 sends a timing command to timing unit 80 at time t0, and in response to the timing command, timing unit 80 starts measuring the elapsed time t from time t0. Thereafter, processor 32 functions as direct teach execution unit 52, executes steps S21 to S23, and executes direct teach function FN2 in step S24. _4 Determine whether the has been invalidated.

[0224] If the determination in step S24 is NO, in step S92, the processor 32 determines whether the elapsed time t measured by the timer unit 80 is equal to or greater than a predetermined threshold value t th1 exceeded (i.e., t ≥ t th1 ) or not. th1 If so, the determination is YES and the process proceeds to step S94, whereas if the determination is NO, the process proceeds to step S93.

[0225] In step S93, processor 32 determines whether direct teach function FN2 is currently being executed. _4 Here, the operator determines whether a command for a function FN other than the direct teach function FN2 has been received. _4 During the execution of the above, the operation of applying the operating force Fh to the robot 12 is temporarily interrupted, and the direct teaching function FN2 such as the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5 is executed. _4 There may be times when you want to perform functions other than FN.

[0226] As an example, the operator may wish to know if processor 32 is executing direct teach function FN2 of FIG. _4 While the operator is executing the direct teach function FN2, he operates the input device 46 of the teaching device 18 to input a command CM5 to the teaching device 18 to jog the robot 12 using the teaching function FN3. _4During execution of the above, the input device 46 of the teaching device 18 is operated to input a command CM6 to the teaching device 18 to cause the robot 12 to perform automatic operation (or trial operation) using the automatic operation function FN4 or (operation confirmation function FN5).

[0227] As yet another example, the operator may select the Direct Teach function FN2 _4 During execution of the above, the input device 46 of the teaching device 18 is operated to input a command CM7 to the teaching device 18 to display on the display device 44 an input image for executing the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.

[0228] The processor of the teaching device 18 supplies the command CM5, CM6, or CM7 received from the operator to the control device 16. The operator may 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 driving function FN4, or the operation confirmation function FN5 to the control device 16.

[0229] In step S93, if the processor 32 of the control device 16 has received a command CM5, CM6, or CM7 for the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5, the result is YES, and the process proceeds to step S94. On the other hand, if the processor 32 has not received a command CM5, CM6, or CM7, the result is NO, and the process returns to step S21.

[0230] If the determination in step S24, S92, or S93 is YES, in step S94, the processor 32 activates the direct teach function FN2. _4 When the direct teach function FN2 is finished, _4For example, the processor 32 may generate an image or sound notification signal SG stating "The direct teach function has been automatically terminated," and output the image or sound notification signal SG to the display device 42 or 44 or the speaker. Thus, in this embodiment, the processor 32 functions as the notification signal generator 53 (FIG. 25) that generates the notification signal SG. Then, the processor 32 terminates the flow of FIG. 26.

[0231] In this way, processor 32 repeatedly executes the loop of steps S21 to S24, S92, and S93 until it determines YES in step S24, S92, or S93, and executes direct teach function FN2. _4 In other words, while the determinations in steps S24, S92, and S93 are NO, the processor 32 continues to execute the above process. th1 (i.e., period t th1 Direct teach function FN2 _4 is executed continuously until the elapsed time t reaches the threshold t th1 When it exceeds (period t th1 (after the time has elapsed), Direct Teach function FN2 _4 will automatically end.

[0232] As described above, in this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _4 The time t elapsed from the time t0 when the command to start is received is a predetermined threshold t th1 When the value exceeds the limit (YES in step S92), the direct teach function FN2 _4 is terminated (step S94).

[0233] Here, the operator activates the direct teach function FN2 _4 After starting the direct teach function FN2, there may be cases where the operator leaves the work cell for a long period of time due to various reasons. If a third party accidentally pushes the robot 12 while the operator is away, the robot 12 may not be able to start the direct teach function FN2. _4 This may cause unintended operation.

[0234] According to this embodiment, the direct teach function FN2 _4 After the start of a given period t th1 Direct teach function FN2 is automatically activated when time has elapsed. _4 By terminating the process, it is possible to prevent the robot 12 from moving unintentionally, as described above. In addition, in this embodiment, the control device 16 further includes a timing unit 80 that measures the elapsed time t. With this configuration, the processor 32 can reliably measure the elapsed time t without delay.

[0235] In this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _4 While the direct teach function FN2 is running, _4 When a command CM5, CM6 or CM7 for a function other than FN3, FN4 or FN5 is received (when the determination in step S93 is YES), the direct teach function FN2 _4 is terminated (step S94).

[0236] According to this configuration, the operator can use the direct teach function FN2 _4 If you interrupt the direct teach function FN2 and try to execute, for example, the teaching function FN3, the automatic operation function FN4, or the operation check function FN5, _4 This automatically ends the function, allowing for a smooth transition to the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.

[0237] Then, the processor of the teaching device 18 (or the processor 32 of the control device 16) causes the robot 12 to perform a jog operation, automatic operation, or trial operation in response to the command CM5, CM6, or CM7 received from the operator, or displays an input image on the display device 44 to accept input for executing the teaching function FN3, automatic operation function FN4, or operation confirmation function FN5.

[0238] In this embodiment, the control device 16 controls the direct teach execution unit 52 to execute the direct teach function FN2. _4 The direct teach function FN2 is further provided with a notification signal generating unit 53 that generates a notification signal SG to notify the operator of the completion of the direct teach function FN2. _4 It is easy to recognize that the program has automatically terminated.

[0239] In this embodiment, the above-mentioned time t0 is the time when the direct teach function FN2 _4 This is the point in time when a command to start the direct teach function FN2 shown in Figure 26 is received. _4 However, strictly speaking, the direct teach function FN2 _4 At the time t when the command to start 0_1 Upon receiving this command, the processor 32 executes the direct teach function FN2 shown in FIG. _4 At the time t 0_2 There may be a time lag between

[0240] In this case, processor 32 calculates the time t 0_1 and time t 0_2 In other words, in this case, the processor 32 functions as the direct teach executing unit 52 and can measure the elapsed time t from the time t 0_1 or t 0_2 The time t elapsed since the th1 When the direct teach function FN2 is exceeded _4 Exit.

[0241] It is also possible to omit the timing unit 80 from the control device 16 and have the function of the timing unit 80 implemented in 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 obtain the elapsed time t by referring to the time measured by the electronic clock.

[0242] Next, referring to Figure 27, we will explain how to use the other direct teach function FN2. _5 The control device 16 shown in FIG. 25 has a direct teach function FN2 _5 Then, the flow shown in Fig. 27 is executed. In the flow shown in Fig. 27, the same processes as those in the flow shown in Fig. 26 are given the same step numbers, and duplicated explanations will be omitted.

[0243] After the flow of FIG. 27 starts, processor 32 functions as direct teach execution unit 52 to execute steps S21 to S23, and executes direct teach function FN2 in step S24. _5 After step S23, in step S101, the processor 32 acquires the operating force Fh in the same manner as in step S21 described above.

[0244] In step S102, similarly to step S22 described above, the processor 32 determines whether the magnitude of the operating force Fh acquired in the most recent step S101 is equal to or smaller than a predetermined threshold Fh th If the determination is YES, processor 32 returns to step S23, whereas if the determination is NO, processor 32 proceeds to step S103.

[0245] In step S103, the processor 32 determines whether the movement of the robot 12 has stopped. Here, when the operator releases the operating force Fh on 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 movement of the robot 12 has stopped (i.e., YES), the processor 32 proceeds to step S104, whereas if the processor 32 determines that the movement of the robot 12 has stopped, the processor 32 returns to step S101.

[0246] In step S104, processor 32 starts measuring the elapsed time t from time t1 when the determination in step S103 is YES (i.e., the time when the robot stopped). Specifically, processor 32 transmits a timing command to timing unit 80 at time t1, and in response to the timing command, timing unit 80 starts measuring the elapsed time t from time t1.

[0247] In step S105, the processor 32 determines whether the elapsed time t measured by the timer 80 is equal to or exceeds a predetermined threshold t th2 exceeded (i.e., t ≥ t th2 ) is determined. th2 is the threshold t th1 The processor 32 may set the time to be smaller (or larger) than t. th2 If so, the determination is YES and the process proceeds to step S94, whereas if the determination is NO, the process proceeds to step S93.

[0248] If the determination in step S105 is NO, the processor 32 executes step S93 described above and terminates the direct teach function FN2 that is currently being executed. _5 Processor 32 determines whether a command (for example, the above-mentioned command CM5, CM6, or CM7) for a function FN other than the above (for example, teaching function FN3, automatic driving function FN4, or operation confirmation function FN5) has been received. If processor 32 determines YES, it proceeds to step S94, and if it determines NO, it proceeds to step S106.

[0249] In step S106, processor 32 executes direct teach function FN2 in the same manner as in step S24. _5 If the answer is YES, the process proceeds to step S94, whereas if the answer is NO, the process proceeds to step S107.

[0250] In step S107, the processor 32 acquires the operating force Fh in the same manner as in step S21 described above. In step S108, the processor 32 determines whether the magnitude of the operating force Fh acquired in the most recent step S107 is equal to or smaller than a predetermined threshold Fhth If the determination is YES, processor 32 returns to step S23, whereas if the determination is NO, processor 32 returns to step S105.

[0251] On the other hand, if the determination in step S105, S93, or S106 is YES, the processor 32 executes the above-mentioned step S94 and activates the direct teach function FN2 in FIG. _5 When the direct teach function FN2 is finished, _5 Then, processor 32 ends the flow of FIG.

[0252] In this way, when the processor 32 determines YES in step S103 (i.e., the robot 12 has stopped), the processor 32 repeatedly executes the loop of steps S105, S93, S106 to S108 while the processor 32 determines NO in steps S105, S93, S106, and S108. Then, the processor 32 determines whether the elapsed time t from the time t1 at which the processor 32 determines YES in step S103 is equal to or greater than the threshold value t th2 When it exceeds (period t th2 After this time has elapsed, the direct teach function FN2 is _5 will automatically end.

[0253] In this embodiment, the direct teach execution unit 52 executes the direct teach function FN2. _5 The time t elapsed from the time t1 when the robot 12 stopped operating (i.e., the time when YES was determined in step S103) is equal to or less than the predetermined threshold value t th2 When the direct teach function FN2 is exceeded _5 With this configuration, the direct teach function FN2 _5 When the operator is absent during the execution of the above, it is possible to prevent the robot 12 from operating unintentionally due to a third party accidentally pressing the robot 12.

[0254] In addition, the direct teach function FN2 shown in Figure 26 _4, or the direct teach function FN2 shown in Figure 27 _5 9 may be applied to the above-mentioned step S3 or S3'. In other words, in this case, the control device 16 shown in FIG.

[0255] For example, the direct teach function FN2 shown in Figure 26 _4 is applied to step S3, the time t0 at which the flow of FIG. 26 starts is the time at which the direct teach function start command is received (i.e., the time at which YES is determined in step S1). _4 is applied to step S3', the time t0 at which the flow of FIG. 26 starts is the time at which the enable switch ON signal is received (that is, the time at which YES is determined in the above step S31 or S34).

[0256] Note that step S93 may be omitted from the flow of Fig. 26 or 27. In step S94 of Fig. 26 or 27, the processor 32 _4 or FN2 _5 25. In this case, the notification signal generator 53 can be omitted from the control device 16 shown in FIG.

[0257] The functions of the control device 16 shown in Figures 2, 9, 19, and 25 can be combined with one another. Such a configuration is shown in Figure 28. The control device 16 shown in Figure 28 includes a safety function execution unit 50, a direct teach execution unit 52, an operation parameter acquisition unit 54, a function switching unit 56, a safety function determination unit 58, a threshold value switching unit 60, a resistance force control unit 62, and a timing unit 80, and selectively executes the flows of Figures 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27.

[0258] 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 can also be combined. For example, steps S61 to S66 in FIG. 20 can be combined with the flow of FIG. 27 by executing them after step S23 in FIG. 27. The flows of FIGS. 21 and 23 can also be combined with the flow of FIG. 27 in a similar manner. Note that the flows of FIGS. 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 are merely examples, and processes in these flows may be changed or deleted, or any other processes may be added, as appropriate.

[0259] 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 in accordance with a computer program PG2. This computer program PG2 is pre-stored in the memory 34. The functions of the safety function execution unit 50, direct teach execution unit 52, operation parameter acquisition unit 54, function switching unit 56, safety function determination unit 58, threshold value switching unit 60, and resistance force control unit 62 executed by the processor 32 may be functional modules realized by the computer program PG.

[0260] Furthermore, the robot 12 is not limited to a vertical articulated robot, but may be any type of robot, such as a horizontal articulated robot, a parallel link robot, etc. While the present disclosure has been described above through the embodiments, the above-described embodiments do not limit the invention according to the claims. [Explanation of symbols]

[0261] 10 Robot Systems 12. Robot 14 Force Sensor 14A Torque Sensor 14B Force sensor 16 Control device 18 Teaching device 34 memory 50 Safety Function Execution Unit 52 Direct Teach Execution Unit 54 Operation parameter acquisition unit 56 Function switching section 58 Safety function judgment section 60 Threshold switching unit 62 Resistance control section

Claims

1. a direct teach execution unit that executes a direct teach function to operate the robot in accordance with an operating force applied to the robot; an operation parameter acquisition unit that acquires a velocity or an acceleration of the robot as an operation parameter while the direct teach function is being executed; a resistance force control unit that changes an acceleration setting value that defines the acceleration, thereby changing the resistance force against the operating force, The resistance force control unit increases the resistance force by changing the acceleration setting value from a first acceleration setting value to a second acceleration setting value that is smaller than the first acceleration setting value when the operation parameter acquired by the operation parameter acquisition unit becomes equal to or greater than a predetermined threshold value.

2. a direct teach execution unit that executes a direct teach function to operate the robot in accordance with an operating force applied to the robot; an operation parameter acquisition unit that acquires a velocity or an acceleration of the robot as an operation parameter while the direct teach function is being executed; a memory that stores characteristic data indicating a relationship between the operating force and an acceleration set value that defines the acceleration, and the direct teach executing unit determines the acceleration set value by applying the operating force to the characteristic data; and a resistance control unit that changes the resistance to the operating force by changing the characteristic data in accordance with the operation parameter, The resistance control unit changes the characteristic data so as to increase the resistance as the operating parameter increases.

3. Robots and A robot system comprising: the control device according to claim 1 or 2, which controls the robot.

4. 1. A method for controlling the movement of a robot, comprising: The processor: Executing a direct teach function to operate the robot in accordance with an operating force applied to the robot; During execution of the direct teach function, a velocity or acceleration of the robot is acquired as an operation parameter; changing a resistance force against the operating force in accordance with the acquired velocity or acceleration by changing an acceleration setting value that defines the acceleration; A method for increasing the resistance force by changing the acceleration setting value from a first acceleration setting value to a second acceleration setting value that is smaller than the first acceleration setting value when the acquired operating parameter becomes equal to or greater than a predetermined threshold value.

5. 1. A method for controlling the movement of a robot, comprising: The processor: Executing a direct teach function to operate the robot in accordance with an operating force applied to the robot; During execution of the direct teach function, a velocity or acceleration of the robot is acquired as an operation parameter; determining the acceleration set value by applying the operating force to characteristic data indicating a relationship between the operating force and an acceleration set value that defines the acceleration; changing the resistance force against the operating force by changing the characteristic data in accordance with the acquired operation parameters; The method comprises modifying the characteristic data so as to increase the resistance force as the obtained operating parameter increases.

Citation Information

Patent Citations

  • Robot, robot system, and teaching method

    JP2015182142A