ROBOT CONTROL DEVICE, ROBOT SYSTEM AND ROBOT CONTROL METHOD

The integration of a safety functional execution unit and direct-teach-execution unit in robot control systems addresses safety concerns during the Direct Teach function by monitoring and controlling robot operations based on external forces, ensuring safe and precise robot movements.

DE112022007189T5Pending Publication Date: 2025-04-03FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
DE112022007189
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Existing robot control systems lack adequate safety measures during the Direct Teach function, which can pose risks to operators due to uncontrolled external forces exerted on the robot.

Method used

A safety functional execution unit monitors the robot's operation parameters such as contact power, speed, and acceleration, stopping the robot if thresholds are exceeded, while a direct-teach-execution unit operates the robot in parallel, using a strength sensor to detect external forces and adjust resistance accordingly.

Benefits of technology

Ensures operator safety by preventing collisions and controlling robot movements based on detected external forces, allowing for precise and controlled operation during the Direct Teach function.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Traditionally, the requirement is to ensure the safety of the operator when performing a direct teach function. A control device 16 comprises: a safety function execution unit that monitors at least one of a contact force exerted on a robot 12 during operation, a speed of the robot 12, and an acceleration of the robot 12, and that performs a safety function to stop the operation of the robot 12 if the at least one exceeds a prescribed threshold value, and a direct teach execution unit 52 that simultaneously with the safety function performed by the safety function execution unit performs a direct teach function to cause the robot 12 to operate in accordance with an operational force exerted on the robot 12.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to a robot controller, a robot system, and a robot control method. background

[0002] A direct teaching function is known per se, with which an external force is applied to a robot and the robot is operated according to the external force (e.g., Patent Literature 1). List of citationsPatent literature

[0003] PTL 1: JP 2015-182142 A Brief description of the inventionTechnical problem

[0004] In the related art, it is desirable to ensure the safety of an operator when executing the direct teach function. Solution to the problem

[0005] A controller configured to control an operation of a robot according to one aspect of the present disclosure includes: a safety function execution unit configured to perform a safety function for monitoring at least one of a contact force applied to the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot when the at least one of the contact force, the speed, and the acceleration exceeds a predetermined threshold; and a direct teach execution unit configured to perform, in parallel with the safety function executed by the safety function execution unit, a direct teach function for operating the robot according to a handling force applied to the robot.

[0006] A controller configured to control an operation of a robot according to another aspect of the present disclosure includes: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot; an operation parameter acquisition unit configured to acquire a speed or an acceleration of the robot during execution of the direct teaching function; and a resistance force control unit configured to change a resistance force against the handling force in response to the speed or acceleration acquired by the operation parameter acquisition unit.

[0007] A controller configured to control an operation of a robot according to yet another aspect of the present disclosure includes: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, wherein the direct teaching execution unit terminates the direct teaching function when an elapsed time exceeds a predetermined threshold, the elapsed time running from a time point when the direct teaching execution unit receives a command to start the direct teaching function, a time point when the direct teaching execution unit starts the direct teaching function, or a time point when the robot operated with the direct teaching function is stopped.

[0008] A controller configured to control an operation of a robot according to yet another aspect of the present disclosure comprises: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, wherein, after the direct teaching execution unit receives a command to execute the direct teaching function and starts the direct teaching function, the direct teaching execution unit continuously executes the direct teaching function without receiving the command again.

[0009] A controller configured to control an operation of a robot according to yet another aspect of the present disclosure includes: a safety function execution unit configured to perform a safety function for monitoring at least one of a contact force applied to the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot when the at least one of the contact force, the speed, and the acceleration exceeds a predetermined threshold; and a direct teaching execution unit configured to perform a direct teaching function for operating the robot according to a handling force applied to the robot. The robot is provided with a force sensor configured to detect an external force applied to the robot.The safety function execution unit and the direct teach execution unit respectively execute the safety function and the direct teach function based on detection data from the shared force sensor.

[0010] A method for controlling an operation of a robot according to yet another aspect of the present disclosure comprises: executing, by a processor, a safety function for monitoring at least one of a contact force applied to the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot when the at least one of the contact force, the speed, and the acceleration exceeds a predetermined threshold; and executing, by the processor, a direct teach function for operating the robot according to a handling force applied to the robot, in parallel with the safety function.

[0011] A method for controlling an operation of a robot according to yet another aspect of the present disclosure includes: executing, by a processor, a direct teaching function for operating the robot according to a handling force applied to the robot; obtaining, by the processor, a speed or an acceleration of the robot during execution of the direct teaching function; and changing, by the processor, a resistance force against the handling force in response to the speed or acceleration acquired.

[0012] A method for controlling an operation of a robot according to yet another aspect of the present disclosure includes: executing, by a processor, a direct teaching function for operating the robot according to a handling force applied to the robot; and terminating, by the processor, the direct teaching function when an elapsed time exceeds a predetermined threshold, wherein the elapsed time runs from a time point at which the direct teaching execution unit receives a command to start the direct teaching function, a time point at which the direct teaching execution unit starts the direct teaching function, or a time point at which the robot operated with the direct teaching function is stopped. Short description of drawings [ Fig. 1] Fig. 1 is a schematic view of a robot system according to an embodiment. [ Fig. 2] Fig. 2 is a block diagram of the Fig. 1 shown robot system. [ Fig. 3] Fig. 3 is a flowchart showing an example of an operation of the Fig. 2 shows the robot system. [ Fig. 4] Fig. 4 shows an example of a direct teach image. [ Fig. 5] Fig. 5 is a flowchart showing an example of a flow of step S2 in Fig. 3 shows. [ Fig. 6] Fig. 6 is a flowchart showing an example of the flow of step S3 in Fig. 3 shows. [ Fig. 7] Fig. 7 is a flowchart showing another example of an operation of the Fig. 2 shows the robot system. [ Fig. 8] Fig. Fig. 8 is a flowchart showing an example of the flow of step S3' in Fig. 7 shows. [ Fig. 9] Fig. 9 is a block diagram showing another function of the Fig. 2 shows the robot system. [ Fig. 10] Fig. 10 shows an example of a security function setting screen. [ Fig. 11] Fig. 11 is a flowchart showing an example of an operation of the Fig. 9 shows the robot system. [ Fig. 12] Fig. 12 is a flowchart showing an example of a flow of step S3 in Fig. 11 shows. [ Fig. 13] Fig. 13 is a flowchart showing an example of a flow of step S2 in Fig. 11 shows. [ Fig. 14] Fig. 14 is a schematic view of a torque sensor according to an embodiment. [ Fig. 15] Fig. 15 is a schematic view of a force detection sensor according to an embodiment. [ Fig. 16] Fig. 16 is a block diagram showing a safety function and a direct teach function implemented using the Fig. 14 or Fig. 15 shown force sensor. [ Fig. 17] Fig. 17 is a block diagram of a processor that implements the safety function and the direct teach function used in Fig. 16. [ Fig. 18] Fig. 18 is a flowchart showing an example of a flow of an error detection function. [ Fig. 19] Fig. 19 is a block diagram showing yet another function of the Fig. 2 shows the robot system. [ Fig. 20] Fig. 20 is a flowchart showing an example of the Direct Teach function implemented by a Fig. 19 shown control is executed. [ Fig. 21] Fig. 21 is a flowchart showing an example of the Direct Teach function implemented by the Fig. 19 shown control is executed. [ Fig. 22] Fig. Figure 22 shows a diagram of characteristic data. [ Fig. 23] Fig. 23 is a flowchart showing yet another example of the Direct Teach function implemented by the Fig. 19 shown control is executed. [ Fig. 24] Fig. 24 is a block diagram showing a method for generating a command for an actuator. [ Fig. 25] Fig. 25 is a block diagram showing yet another function of the Fig. 2 shows the robot system. [ Fig. 26] Fig. 26 is a flowchart showing an example of the Direct Teach function implemented by a Fig. 25 shown control is executed. [ Fig. 27] Fig. 27 is a flowchart showing another example of the Direct Teach function implemented by the Fig. 25 shown control is executed. [ Fig. 28] Fig. 28 is a block diagram showing yet another function of the Fig. 2 shows the robot system. Description of embodiments

[0013] Embodiments of the present disclosure will be described in detail below with reference to the drawings. Note that in various embodiments described below, the same elements are denoted by the same reference numerals, and overlapping descriptions will be omitted. First, a robot system 10 according to an embodiment will be described with reference to Fig. 1 and Fig. 2. The robot system 10 comprises a robot 12, a force sensor 14 ( Fig. 2), a controller 16, and a teaching device 18. In the present embodiment, the robot 12 is a vertically articulated robot comprising a robot base 20, a rotating torso 22, a forearm 24, an upper arm 26, a wrist 28, and an end effector 30. The robot base 20 is mounted on the floor of a work cell or on an automatically guided vehicle (AGV).

[0014] The rotatable body 22 is mounted on the robot base 20 so that it can rotate about a vertical axis. The lower arm 24 is provided on the rotatable body 22 so that it can rotate about the horizontal axis, and the upper arm 26 is rotatably provided at the distal end portion of the lower arm 24. The wrist 28 includes a wrist base 28a provided at a distal end portion of the upper arm 26 so that it can rotate about two mutually perpendicular axes, and a wrist flange 28b rotatably provided on the wrist base 28a.

[0015] The robot base 20, the rotatable torso 22, the forearm 24, the upper arm 26, and the wrist 28 are provided with a plurality of actuators 31 ( Fig. 2). The actuators 31 include servo motors and the like, and in response to a command from the controller 16, rotate each movable component of the robot 12 (i.e., the rotatable torso 22, the forearm 24, the upper arm 26, the wrist 28, and the wrist flange 28b), thereby moving the end effector 30.

[0016] Each actuator 31 is provided with a rotation detection sensor 33. The rotation detection sensor 33 comprises, for example, an encoder or a Hall effect device, and detects a rotation position (or rotation angle) of an output shaft 31a of the actuator 31 (in particular, the servo motor). The rotation detection sensor 33 provides detection data of the detected rotation position to the controller 16 as feedback FB.

[0017] The end effector 30 is removably attached to the wrist flange 28b. The end effector 30 is, for example, a robot hand, a welding gun, a laser processing head, a cutting tool, or the like, and performs a predetermined work (workpiece handling, welding, laser processing, a cutting process, or the like) on a workpiece (not shown).

[0018] The force sensor 14 detects an external force F applied to the robot 12. In the present embodiment, the force sensor 14 includes a plurality of torque sensors 14A provided on the output shafts 31A of the respective actuators 31. Each of the torque sensors 14A includes at least one sensor device (e.g., a strain gauge or a piezoelectric device) and detects a torque τ applied to the output shaft 31A of the respective actuators 31 (servomotors) as a force component of the external force F. The torque sensors 14A each provide detection data DDτ of the detected torque τ to the controller 16.

[0019] The controller 16 controls an operation of the robot 12. As in Fig. 2, the controller 16 is a computer having a processor 32, a memory 34, and an I / O interface 36. The processor 32 includes 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.

[0020] The processor 32 performs calculation processing for executing various functions FN of the robot 12, such as a safety function FN1 and a direct teaching function FN2, which will be described below, while communicating with the memory 34 and the I / O interface 36. Specifically, to execute the function FN of the robot 12, the processor 32 generates a command (e.g., a position command, a speed command, or a torque command) to each actuator 31 (servo motor) and drives each actuator 31 according to the command. Therefore, the robot 12 can arrange the end effector 30 at a desired position. In the present description, "position" may indicate a position or an orientation.

[0021] The memory 34 includes RAM, ROM, and the like, and temporarily or permanently stores various types of 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 includes, for example, an Ethernet port (trade name), a USB port, a fiber optic connector, or an HDMI port (trade name), and communicates data with external devices via cable or wirelessly based on a command from the processor 32. The force sensor 14 (torque sensors 14A), the teaching device 18, and the actuators 31 described above are connected to the I / O interface 36 in such a way that they are capable of wired or wireless communications.

[0022] The controller 16 is provided with an input device 40 and a display device 42. The input device 40 includes a push button, a switch, a keyboard, a mouse, a touch screen, or the like, and receives data input from an operator. The display device 42 includes a liquid crystal display, an organic EL display, or the like, and visibly displays various types of data via a command from the processor 32.

[0023] The display device 42 and the input device 40 are communicatively connected to the I / O interface 36. It should be noted that the display device 42 and the input device 40 may be integrally incorporated into a housing of the controller 16 or may be mounted externally to the housing as a computer (such as a PC), which is a separate body from the housing of the controller 16.

[0024] The teaching device 18 is a computer, such as a teach pendant or a tablet terminal device, and teaches the robot 12 an operation. Specifically, the teaching device 18 includes a processor (not shown), a memory (not shown), a display device 44, an input device 46, and an activation switch 48. The display device 44 includes a liquid crystal display, an organic EL display, or the like, and displays various types of data. The input device 46 includes a push button, a switch, a touch screen, or the like, and receives data input from an operator.

[0025] 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 a work process (workpiece handling, welding, laser processing, a cutting process, or the like).

[0026] During the execution of the teaching function FN3, the operator actuates the input device 46 to implement a jog operation of the robot 12 via the controller 16, and can thus position the end effector 30 at a desired taught position TP. The processor of the teaching device 18 acquires teaching data, such as the taught position TP and a speed V at which the end effector 30 is moved to the taught position TP, and generates an operation program PG1 based on the teaching data, in which the taught position TP and the speed V are defined as instruction codes. The processor 32 of the controller 16 acquires the generated operation program PG1 from the teaching device 18 and stores the operation program PG1 in the memory 34.

[0027] In contrast, the automatic operation function FN4 is a function FN for automatically operating the robot 12 according to the generated operation program PG1 to perform work on a workpiece. The operator operates the input device 46 to cause the processor 32 of the controller 16 to start the automatic operation function FN4. After the processor 32 starts the automatic operation function FN4, the processor 32 generates commands for the actuators 31 according to the operation program PG1 stored in the memory 34 and automatically operates the robot 12 to perform work on the workpiece.

[0028] In the automatic operation function FN4, the robot 12 and the operator can cooperate to perform a portion of the work. Specifically, the processor 32 can execute the direct teaching function FN2, which will be described below, for a portion of the work and can operate the robot 12 in response to a handling force Fh applied to the robot 12 by the operator.

[0029] The operation confirmation function FN5 is a function FN for causing the robot 12 to perform a trial operation to confirm the operation taught to the robot 12 by the teaching function FN3. The operator can operate the input device 46 to cause the processor 32 of the controller 16 to execute the operation confirmation function FN5.

[0030] After the processor 32 starts the operation confirmation function FN5, the processor 32 causes the robot 12 to tentatively execute an incomplete operation program PG1' generated during the teaching process by the above-described teaching function FN3. Accordingly, the operator confirms the operation taught to the robot 12 (ie, the suitability of the operation program PG').

[0031] The controller 16 or the teaching device 18 may be provided with a switch SW (not shown) for switching the above-described function FN of the robot 12 between the teaching function FN3, the automatic operation function FN4, and the operation confirmation function FN5. The switch SW may be a physical switch or a software-based virtual switch displayed as an image on the display device 42 or 44.

[0032] The activation switch 48 is a physical switch that allows the operator to manually operate the robot 12. Specifically, the activation switch 48 can be switched between a home position P0, a first depressed position P1 resulting from a predetermined amount of pressure being applied from the home position P0, and a second depressed position P2 resulting from a predetermined amount of pressure being applied from the first depressed position P1.

[0033] When the operator pushes the activation switch 48 to the first depressed position P1, the activation switch 48 is turned on. Consequently, the processor of the teaching device 18 is in a state capable of executing the above-described teaching function FN3 or another direct teaching function FN2', which will be described below. Therefore, the robot 12 can be operated via the controller 16.

[0034] On the other hand, when the activation switch 48 returns to the home position P0 or is further pressed to the second pressed position P2 during the operation of the robot 12, the activation switch 48 is turned off, and the processor of the teaching device 18 sends an activation switch OFF signal to the controller 16. After receiving the activation switch OFF signal, the processor 32 of the controller 16 executes an emergency stop operation ES.

[0035] As an example of the emergency stop operation ES, the processor 32 stops the operation of the robot 12 by stopping the command (a torque command or the like) to each actuator 31. As another example of the emergency stop operation ES, the processor 32 forcibly stops the operation of the robot 12 by actuating a brake mechanism (not shown) that brakes the output shaft of each actuator 31.

[0036] Next, an example of the operation of the robot system 10 will be explained with reference to Fig. 3. A Fig. 3 begins when the processor 32 of the controller 16 receives an operation start command (e.g., a power-on command) from the operator (ie, the input device 40 or 46), a host controller, or a computer program PG2.

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

[0038] In the Fig. 4, the direct teaching image 100 includes a direct teaching start button image 102 and a direct teaching end button image 104. The operator can select the direct teaching start button image 102 or the direct teaching end button image 104 by operating the input device 46 to click the direct teaching start button image 102 or the direct teaching end button image 104 displayed on the direct teaching image 100.

[0039] Upon receiving an input to select the direct teach start button image 102, the processor of the teaching device 18 sends a direct teach function start command to the controller 16. Conversely, when the processor of the teaching device 18 receives an input to select the direct teach end button image 104, the processor sends a direct teach function end command to the controller 16. The direct teach function start command may be an ON signal (or "1" signal), while the direct teach function end command may be an OFF signal (or "0" signal).

[0040] In this step S1, the processor 32 of the controller 16 determines YES if the controller 16 has received the start command for the direct teaching function, activates the direct teaching function FN2 (e.g., sets the direct teaching function FN2 to "ON" or sets the execution flag for the direct teaching function FN2), starts steps S2 and S3, which are described below, and proceeds to step S4. If the start command for the direct teaching function is not received, the processor 32 determines NO and proceeds to step S6.

[0041] In step S4, the processor 32 determines whether the controller 16 has received the above-described direct teaching function end command. Upon receiving the direct teaching function end command, the processor 32 determines YES and proceeds to step S5. If NO is determined, the processor repeats step S4. In step S5, the processor 32 deactivates the direct teaching function FN2 (e.g., the direct teaching function FN2 is set to "OFF" or the execution flag of the direct teaching function FN2 is cleared).

[0042] In step S6, the processor 32 determines whether or not the controller 16 has received an operation end command (e.g., shutdown command) from the operator (ie, the input device 40 or 46), the host controller, or the computer program PG2. If the controller has received the operation end command, the processor 32 determines YES and ends the Fig. 3. If NO is determined, however, the processor 32 returns to step S1.

[0043] Here, in the present embodiment, upon determining YES in step S1 and activating 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. An example of a sequence of the safety function FN1 executed in step S2 is described below with reference to Fig. 5 described.

[0044] In step S11, the processor 32 obtains an operation parameter OP of the robot 12. The operation parameter OP includes at least one of a contact force Fc exerted on the robot 12 in operation, the speed V of the robot 12, and an acceleration a of the robot 12. With regard to the contact force Fc, the processor 32 obtains, based on detection data DD of the force sensor 14, the external force F exerted on any part (e.g., the forearm 24, the upper arm 26, the wrist 28, or the end effector 30) of the robot 12.

[0045] Specifically, 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τ. The processor 32 can obtain the magnitude of the external force F applied to the robot 12 by performing a predetermined calculation CL1 using the detection data DDτ of each torque sensor 14A. The processor 32 acquires the obtained external force F as the contact force Fc applied to the robot 12 when the robot 12 comes into contact with a surrounding object (an operator, an environmental object, or the like) during operation.

[0046] With respect to the velocity V and the acceleration a, the processor 32 obtains the feedback FB (i.e., the rotational position or angle of the actuator 31) from the rotation detection sensor 33 with which each actuator 31 is provided. Then, the processor 32 obtains the velocity V of the robot 12 (specifically, the end effector 30) by time-differentiating the feedback FB.

[0047] Furthermore, the processor 32 obtains the acceleration a of the robot 12 by time-differentiating the velocity V. In this way, the processor 32 obtains at least one of the contact force Fc, the velocity V, and the acceleration a as the operation parameter OP. A case where the processor 32 obtains all of the contact force Fc, the velocity V, and the acceleration a as the operation parameters OP will be described below.

[0048] In step S12, the processor 32 determines whether the operation parameter OP (ie, the contact force Fc, the velocity V, and the acceleration a) obtained in the most recent step S11 exceeds a predetermined threshold value or not. Specifically, the processor 32 determines whether the most recently obtained contact force Fc exceeds a predetermined threshold value Fc set for the contact force Fc. th exceeds or not (ie Fc ≥ Fc th ).

[0049] The processor 32 determines whether the last obtained speed V exceeds a predetermined threshold value V th for the speed V exceeds or not (ie V ≥ V th ), and determines whether the last obtained acceleration a exceeds a given threshold a th for the acceleration exceeds a or not (ie a ≥ a th ). The processor 32 determines YES in this step S12 and proceeds to step S13 if Fc ≥ Fc th , V ≥ V th , or a ≥ ath On the other hand, if Fc < Fc, the processor 32 determines NO and proceeds to step S14. th , V < V th , and a th applies.

[0050] In step S13, the processor 32 stops the operation of the robot 12. Specifically, the processor 32 implements an emergency stop of the operation of the robot 12 by executing the emergency stop operation ES described above. If the robot 12 collides with the operator (or an environmental object), the robot 12 can be stopped with this step S13, so that the safety of the operator can be ensured.

[0051] ​In step S14, the processor 32 determines whether the direct teach function FN2 was deactivated in the above-described step S5. If the direct teach function FN2 was deactivated, the processor 32 determines YES and terminates the safety function FN1 in step S2. Conversely, if the direct teach function FN2 is activated, the processor 32 determines NO and returns to step S11.

[0052] In this way, the processor 32 monitors the operation parameters OP (the contact force Fc, the speed V, and the acceleration a) by repeatedly executing the loop from steps S14 to S11 until it determines YES in step S14, and executes the safety function FN1 of stopping the operation of the robot 12 when the operation parameters OP exceed the threshold values ​​Fc th , V th , and at. Thus, the processor 32 acts as a safety function execution unit 50 ( Fig. 2), which is designed to execute the safety function FN1.

[0053] Next, the direct teaching function FN2 in step S3 will be described below with reference to Fig. 6. In step S21, the processor 32 obtains the handling force Fh applied to the robot. Specifically, the operator applies the handling force Fh to any part (e.g., the forearm 24, the upper arm 26, the wrist 28, or the end effector 30) of the robot 12. An operating handle (not shown) may be provided on each part of the robot 12 to be operated by the operator. In this case, the operator can apply the handling force Fh to any part of the robot 12 by operating the operating handle.

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

[0055] Specifically, the processor 32 can obtain the magnitude and direction of the external force F applied to the robot 12 by performing a predetermined calculation CL2 using the detection data DDτ of each torque sensor 14A, and can also identify the part of the robot 12 to which the external force F is applied. The processor 32 obtains the obtained external force F as the manipulation force Fh applied by the operator to the robot 12.

[0056] In step S22, the processor 32 determines whether the magnitude of the handling force Fh obtained in the most recent step S21 exceeds a predetermined threshold value Fh th exceeds or not (ie Fh ≥ Fh th ). The threshold value Fh th is set to a value lower than the threshold Fc described above th (Fh th < Fc th ). The processor 32 proceeds upon determining that Fh > Fh th applies, and thus if YES is determined, proceeds to step S23, and if NO is determined, proceeds to step S24.

[0057] In step S23, the processor 32 operates the robot 12 according to the manipulation force Fh. Specifically, the processor 32 generates a command to move a part (e.g., the end effector 30) of the robot 12 to which the manipulation force Fh obtained in the most recent step S21 is applied in the direction of the manipulation force Fh, and drives the actuators 31 according to the command. Consequently, the robot 12 moves the part to which the operator applies the manipulation force Fh in the direction of the manipulation force Fh.

[0058] In this step S23, the processor 32 can move the part of the robot 12 to which the handling force Fh is applied by a predetermined distance d in the direction of the handling force Fh. In this case, if the operator releases the handling force Fh applied to the robot 12 (ie, releases the hand from the robot 12) after step S23, the robot 12 moves the predetermined distance d and then automatically stops.

[0059] When determining YES in step S12 in step S2 ( Fig. 5) which is executed in parallel when the robot 12 is operated in this step S23, the processor 32 preferentially executes step S13 in step S2 and stops the robot 12. Thereafter, the processor 32 may not be able to execute step S12 until this step S23 determines NO in step S2 (or until a predetermined time has elapsed).

[0060] In step S24, the processor 32 determines whether the direct teaching function FN2 is deactivated in step S5 described above, as in step S14 described above. If the determination is YES, the processor 32 terminates the direct teaching function FN2 in step S3. Consequently, the robot 12 stops operating with the direct teaching function FN2. If the determination is NO, the processor 32 returns to step S21.

[0061] In this way, the processor 32 repeatedly executes the loop from steps S21 to S24 until YES is determined in step S24, whereby the direct teaching function FN2 is executed to operate the robot 12 according to the handling force Fh applied to the robot 12. Therefore, the processor 32 acts as a direct teaching execution unit 52 ( Fig. 2), which executes the direct teach function FN2.

[0062] As described above, in the present embodiment, the processor 32 executes the safety function FN1 in step S2 and the direct teaching function FN2 in step S3 in parallel. The processor 32 can execute the loop from steps S11 to S14 in step S2 and the loop from steps S21 to S24 in step S3 synchronously (or alternately) at a predetermined control interval (e.g., 1 [ms]).

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

[0064] In the present embodiment, the processor 32 acquires the speed V and the acceleration a of the robot 12 at step S3 during the execution of the direct teaching function FN2 at step S11 in step S2. Therefore, the processor 32 acts as an operation parameter acquisition unit 54 ( Fig. 2), which acquires the speed V and the acceleration a while executing the direct teach function FN2.

[0065] As described above, in the present embodiment, the controller 16 includes the safety function execution unit 50 that monitors at least one of the contact force Fc applied to the robot 12 during operation, the speed V of the robot 12, and the acceleration a of the robot 12, and executes the safety function FN1 to stop the operation of the robot 12 when the at least one of the parameters (Fc, V, a) exceeds the predetermined threshold value (Fc th , V th , a th ) exceeds.

[0066] In addition, the controller 16 includes the direct teach execution unit 52, which executes the direct teach function FN2 for operating the robot 12 according to the handling force Fh applied to the robot 12 in parallel with the safety function FN1 executed by the safety function execution unit 50. In this embodiment, the direct teach function FN2 can be executed without using the activation switch 48 described above.

[0067] Specifically, from the perspective of ensuring the safety of the operator, in the other direct teaching function FN2', when the processor 32 detects that the operator has turned on the activation switch 48, the processor 32 deactivates the safety function FN1 and then executes the direct teaching function FN2'.

[0068] In the present embodiment, processor 32 executes direct teach function FN1 in parallel with safety function FN2, eliminating the need to operate activation switch 48, while ensuring operator safety through safety function FN1 during execution of direct teach function FN2. The other direct teach functions FN2' are described below.

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

[0070] Furthermore, with the force sensor 14 used jointly between the safety function FN1 and the direct teaching function FN2, costs can be reduced. It is also possible to synchronize the control intervals of the safety function FN1 (specifically, the loop of steps S11 to S14 described above) and the direct teaching function FN2 (specifically, the loop of steps S21 to S24 described above) with each other, and to execute the safety function FN1 and the direct teaching function FN2 in parallel based on the same (i.e., common) detection data DDτ.

[0071] In the present embodiment, a case will be described where, in the above-described step S11, the processor 32 acquires the contact force Fc during the execution of the direct teaching function FN2 and acts as the operation parameter acquisition unit 54 to acquire the velocity V and the acceleration a. However, the present disclosure is not limited to this. In the above-described step S11, the processor 32 may acquire the contact force Fc, but may not acquire the velocity V and the acceleration a. In this case, the above-described operation parameter acquisition unit 54 may be omitted in the controller 16.

[0072] Furthermore, when the contact force Fc is obtained in step S11 described above, the processor 32 may only obtain the magnitude of the contact force Fc by performing the calculation CL1, which is different from the calculation CL2 performed in step S21 described above. Alternatively, in step S11, the processor 32 may identify the magnitude and direction of the contact force Fc, as well as the part of the robot 12 to which the contact force Fc is applied, by performing the same calculation CL1 (=CL2) as the calculation CL2 performed in step S21.

[0073] Furthermore, in the present embodiment, a case will be described in which the force sensor 14 includes the plurality of torque sensors 14A, and the safety function execution unit 50 and the direct teaching execution unit 52 execute the safety function FN1 and the direct teaching function FN2 based on the detection data DDτ of the common torque sensors 14A.

[0074] However, the present disclosure is not limited thereto, and the force sensor 14 may include the plurality of torque sensors 14A and a force detection sensor 14B capable of detecting forces in six axial directions. The force detection sensor 14B is provided at any part (e.g., the robot base 20) of the robot 12 and can detect the external force F applied to a part of the robot 12 located further distally than the installation position of the force detection sensor 14B.

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

[0076] In the present embodiment, a case is described where the processor of the teaching device 18 generates the direct teaching image 100 and displays it on the display device 44 of the teaching device 18. However, the present disclosure is not limited thereto, and the processor 32 of the controller 16 may generate the direct teaching image 100 and display it on the display device 42.

[0077] In this case, the operator can operate the input device 40 to select the direct teaching start button image 102 or the direct teaching end button image 104 from the direct teaching image 100 displayed on the display device 42. When the operator selects the direct teaching start button image 102, the processor 32 of the controller 16 receives the start command for the direct teaching function via the input device 40.

[0078] In the present embodiment, a case will be described where the operator selects the direct teaching start button image 102 or the direct teaching end button image 104 displayed on the direct teaching image 100 to send the direct teaching function start command or the direct teaching function end command to the processor 32.

[0079] However, the present disclosure is not limited thereto, and a physical switch (or a physical button) may be provided on the controller 16 or the teaching device 18, and the start command for the direct teaching function or the end command of the direct teaching function may be issued by operating the physical switch. Alternatively, the operator may issue the start command for the direct teaching function or the end command of the direct teaching function to the processor 32 by tapping any part of the robot 12 with their hand. The processor 32 may detect the operator's tapping operation on the robot 12 based on the detection data DD of the force sensor 14. The activation switch 48 may be provided not only on the teaching device 18 but also on the controller 16 or the like.

[0080] Next, another example of the operation of the robot system 10 will be described with reference to Fig. 7. In the Fig. 7, the processor 32 executes the above-described direct teach function FN2 and the other direct teach function FN2' using the activation switch 48. It should be noted that in the Fig. 7 the same processing as in the process of Fig. 3 is indicated by the same step numbers, and superfluous descriptions are omitted. It should be noted that in the Fig. 7, the processor 32 proceeds to step S31 if NO is determined in step S1 or after step S5 has been executed.

[0081] In step S31, the processor 32 determines whether the activation switch 48 is turned on or not (in other words, whether the activation switch 48 is pressed to the first depressed position P1). Specifically, if the activation switch 48 is turned on, the processor of the teaching device 18 sends an activation switch ON signal to the controller 16. Upon receiving the activation switch ON signal, the processor 32 determines YES, activates the direct teaching function FN2' (sets the direct teaching function FN2' to "ON" or sets the execution flag), starts step S3', which will be described below, and proceeds to step S32. On the other hand, if the determination is NO, the processor 32 proceeds to step S6.

[0082] In step S32, the processor 32 determines whether the activation switch 48 has been turned off (in other words, it has returned to the home position P0 or has been pressed to the second pressed position P2). Specifically, if the activation switch 48 is turned off, the processor of the teaching device 18 sends the activation switch OFF signal to the controller 16. Upon receiving the activation switch OFF signal, the processor 32 of the controller 16 determines YES and proceeds to step S33. If the determination is NO, the processor 32 returns to step S32.

[0083] In step S33, the processor 32 deactivates the direct teaching function FN2' (sets the direct teaching function FN2' to "OFF" or clears the execution flag). Here, in the present embodiment, when determining YES in step S31 and activating the direct teaching function FN2', the processor 32 executes the direct teaching function FN1' in step S3' in a state where the above-described safety function FN1 is deactivated (ie, without executing the safety function FN2).

[0084] This step S3' will be described below with reference to Fig. 8. The Fig. The process shown in Figure 8 differs from that shown in Fig. 6 at step S24'. In step S24', the processor 32 determines whether or not the direct teaching function FN2' has been deactivated in step S33 described above. If YES, the processor 32 executes the above-described emergency stop operation ES to stop the operation of the robot 12 and terminates the direct teaching function FN2' in step S3'. If NO, however, the processor 32 returns to step S21.

[0085] As described above, in the other direct teaching function FN2', the processor 32 executes the direct teaching function FN2' while the activation switch 48 is set to ON by the operator, and terminates the direct teaching function FN2' when the activation switch 48 is turned off. In other words, to execute the other direct teaching function FN2', it is necessary for the operator to continuously set the activation switch 48 to ON and continuously provide the activation switch ON signal to the controller 16.

[0086] With further reference to Fig. 7, in step S34, after determining NO in step S4, the processor 32 determines whether the activation switch 48 is turned on, as in step S31 described above. The processor 32 proceeds to step S35 after determining YES and returns to step S4 upon determining NO.

[0087] In step S35, the processor 32 deactivates the direct teach function FN2, as in step S5 described above. Consequently, the processor 32 determines YES in step S14 ( Fig. 5) and step S24 ( Fig. 6) described above, and terminates the safety function FN1 in step S2 and the direct teach function FN2 in step S3. On the other hand, the processor 32 activates the direct teach function FN2', starts step S3', and proceeds to step S32.

[0088] As described above, in the present embodiment, when the activation switch 48 is turned on during the execution of steps S2 and S3 (determined YES in step S34), the processor 32 preferentially executes the other direct teaching function FN2' using the activation switch 48 in step S3'.

[0089] With this configuration, depending on the application, the operator can selectively execute the direct teach function FN2, which is executed in parallel with the safety function FN1, without using the activation switch 48, and the other direct teach function FN2' using the activation switch 48. Therefore, the operability by the operator can be improved.

[0090] Furthermore, in the present embodiment, the processor 32 acts as the direct teaching execution unit 52, receives a command to execute the direct teaching function FN2 in step S3, starts the direct teaching function FN2, and then continuously executes the direct teaching function FN2 without receiving the command again.

[0091] Specifically, upon receiving the direct teaching function start command from the operator in step S1 and starting the direct teaching function FN2 in step S3, the processor 32 continuously executes the direct teaching function FN2 without receiving another command to execute the direct teaching function FN2 (e.g., the direct teaching function start command or the ON signal of the activation switch) again until the processor 32 receives the direct teaching function end command in step S4.

[0092] In other words, during the execution of the direct teaching function FN2, the operator does not need to operate the input device 40 or 46 or the activation switch 48 to input a command (e.g., the start command of the direct teaching function or the ON signal of the activation switch) in order for the direct teaching function FN2 to continue.

[0093] In contrast, in the other direct teaching function FN2', as described above, to continue the direct teaching function FN2', it is necessary for the operator to continuously turn on the activation switch 48 and continuously provide the ON signal of the activation switch to the controller 16. Therefore, according to the direct teaching function FN2 in step S3, the operator's operation can be simplified.

[0094] Next, another function of the robot system 10 will be described with reference to Fig. 9. In the present embodiment, the operator can select whether or not to enable or disable the safety function FN1. Specifically, the processor 32 of the teaching device 18 generates a safety function setting image 106 and displays it on the display device 44 of the teaching device 18. An example of the safety function setting image 106 is shown in Fig. 10 shown.

[0095] In the Fig. 10, the safety function setting image includes an enable button image 108 and a disable button image 110. The operator can select the enable button image 108 or the disable button image 110 by operating the input device 46 to click the enable button image 108 or the disable button image 110 displayed on the safety function setting image 106.

[0096] The processor of the teaching device 18, upon receiving an input to select the activation button image 108, sends a safety function activation command to the controller 16 to enable the safety function FN1, and upon receiving an input to select the deactivation button image 110, sends a safety function deactivation command to the controller 16 to disable the safety function FN1.

[0097] The processor 32 of the controller 16 activates or deactivates the safety function FN1 in response to the safety function activation command or the safety function deactivation command. In this way, the processor 32 acts as a function switching unit 56 ( Fig. 9) to switch between activating and deactivating the safety function FN1, which is executed by the processor 32 acting as the safety function execution unit 50.

[0098] While the safety function FN1 is deactivated, the processor 32 does not act as the safety function execution unit 50 for executing the safety function FN1. For example, the operator may want to execute the automatic operation function FN4 described above and operate the robot 12 at high speed while maintaining a sufficient distance from the robot 12 to ensure safety. In this case, the operator can shorten the work cycle time by deactivating the safety function FN1 and operating the robot 12 at high speed.

[0099] Next, a Fig. 9 illustrated control 16 executed operation sequence with reference to Fig. 11. It should be noted that in the Fig. 11 the same processing as in the process of Fig. 3 is marked by the same step numbers, and superfluous descriptions are omitted. In the Fig. In the sequence shown in Figure 11, after determining YES in step S1, the processor 32 proceeds to step S41 before the direct teach function FN2 is activated.

[0100] In step S41, the processor 32 determines whether the safety function FN1 is enabled or disabled. The processor 32 determines YES and proceeds to step S43 if the safety function FN1 is enabled, and determines NO and proceeds to step S42 if the safety function FN1 is disabled.

[0101] As described above, in the present embodiment, the processor 32 acts as a safety function determination unit 58 ( Fig. 9) which determines whether the safety function FN1 is activated or deactivated when the controller 16 has received a command to start the direct teach function (ie the direct teach function start command described above).

[0102] In step S42, the processor 32 generates an alarm signal AL1. For example, the processor 32 generates the alarm signal AL1 as an image or a voice indicating "Security function is deactivated. Activate security function." Then, the processor 32 displays the generated alarm signal AL1 on the display device 42 (or the display device 44 of the teaching device 18) or outputs the generated alarm signal AL1 through a speaker provided in the controller 16 (or the teaching device 18).

[0103] After step S42, the processor 32 returns to step S41. As described above, in the present embodiment, as long as NO is determined in step S41, the processor 32 does not start the safety function FN1 in step S2 or the direct teach function FN2 in step S3.

[0104] In step S43, the processor 32 switches the threshold values ​​Fc th , V th , and a th for the safety function FN1, which is accessed in step S12 ( Fig. 5) reference is made to first threshold values ​​Fc th1 , V th1 , and a th1 to second threshold values ​​Fc th2 , V th2 , and a th2 In this case, the processor 32 can execute the safety function FN1 in parallel with the teach function FN3, the automatic operation function FN4, or the operation confirmation function FN5, which were described above. The first threshold values ​​Fc th1 , V th1 , and a th1is referred to by the safety function FN1, which is executed in parallel with the functions FN that are different from the direct teach function FN2, such as the teach functions FN3, the automatic operation function FN4 or the operation confirmation function FN5.

[0105] In contrast, in step S2 in Fig. 1 for the safety function FN2 to the second threshold values ​​Fc th2 , V th2 , and a th2 and they are specified as values ​​greater than the first threshold values ​​Fc th1 , V th1 , and a th1 (ie Fc th2 > FC th1 , V th2 > V th1 , a th2 > a th1 ).

[0106] After this step S43, the processor 32 activates the direct teach function FN2, starts steps S2 and S3, and continues with step S4. Then, the processor 32 executes steps S2 and S3 in parallel, and determines in step S12 whether the operating parameters OP (the contact force Fc, the speed V, and the acceleration a) exceed the second threshold values ​​Fc as a result of the switching in step S43. th2 , V th2 , and a th2 exceed or not.

[0107] The processor 32 then switches the threshold values ​​Fc th , V th , and a th for the safety function FN1, for example, from the second threshold values ​​Fc th2 , V th2 , and a th2 to the first threshold values ​​Fc th1 , V th1 , and a th1 if step S5 in Fig. 11 is executed (or when YES is determined in step S6).

[0108] Therefore, in the present embodiment, the processor 32 acts as a threshold switching unit 60 ( Fig. 9), which determine the threshold values ​​Fc th , V th , and a th between the first clamp values ​​Fc th1 , V th1 , and a th1 for the other functions FN3, FN4, and FN5 as the direct teach function FN2 and the second threshold values ​​Fc th2 , V th2 , and a th2 which are greater than the first threshold values ​​Fc th1 , V th1 , and a th1 , around.

[0109] As described above, in the present embodiment, the controller 16 further includes the function switching unit 56, which switches between enabling and disabling the safety function FN1 by the safety function execution unit 50, and the safety function determination unit 58, which determines whether the safety function FN2 is enabled or disabled when the direct teaching execution unit 52 executes the direct teaching function FN2. Specifically, when the controller 16 has received a command to start the direct teaching function FN2 (i.e., the direct teaching function start command) (when determined to be YES in step S41), the safety function determination unit 58 determines whether the safety function FN1 is enabled or disabled (step S41).

[0110] If the safety function determination unit 58 determines that the safety function FN1 is deactivated (NO in step S41), the direct teaching execution unit 52 does not execute the direct teaching function FN2 (step S3). With this configuration, it is possible to reliably avoid execution of the direct teaching function FN2 without deactivating the safety function FN1 in step S3. Fig. 11. Therefore, the safety of the operator can be reliably guaranteed.

[0111] In addition, in the present embodiment, the controller 16 further includes the threshold switching unit 60 which switches the threshold values ​​Fc th , V th , and a th between the first threshold values ​​Fc th1 , V th1 , and a th1 and the second threshold values ​​Fc th2 , V th2 , and a th2 which are greater than the first threshold values ​​Fc th1 , V th1 , and a th1, switches. When the direct teaching execution unit 52 starts the direct teaching function FN2, the threshold switching unit 60 switches the threshold values ​​Fc th , V th , and a th from the first threshold values ​​Fc th1 , V th1 , and a th1 to the second threshold values ​​Fc th2 , V th2 , and a th2 (step S43).

[0112] With this configuration, when steps S2 and S3 are executed in parallel, it is possible to reliably prevent the determination of YES due to the handling force Fh applied to the robot 12 by the operator in step S12. Therefore, the operation of the robot 12 under the direct teaching function FN2 can be prevented from being unnecessarily stopped, and the safety of the operator can be reliably ensured by the safety function FN1.

[0113] In the present embodiment, a case is described where the processor of the teaching device 18 generates the safety function setting image 106 and displays it on the display device 44 of the teaching device 18. However, the present disclosure is not limited thereto, and the processor 32 of the controller 16 may generate the safety function setting image 106 and display it on the display device 42.

[0114] In this case, the operator can operate the input device 40 to select the activation button image 108 or the deactivation button image 110 in the safety function setting image 106 displayed on the display device 42. When the operator selects the activation button image 108, the processor 32 of the controller 16 receives the safety function activation command via the input device 40.

[0115] In the present embodiment, a case is described where the operator manually provides an input for selecting the safety function FN1 to be enabled or disabled to the processor of the teaching device 18 (or the processor 32 of the controller 16). However, the present disclosure is not limited to this, and the processor 32 of the controller 16 may act as the function switching unit 56 to automatically set the safety function FN1 to be enabled or disabled without receiving the input from the operator.

[0116] For example, the robot system 10 further includes an object detection sensor (a camera, a laser scanner, or the like) capable of detecting an object (e.g., an operator) in the vicinity of the robot 12. In this case, the processor 32 acts as the function switching unit 56, and switches the safety function FN1 to be activated when the object detection sensor detects an object around the robot 12.

[0117] If, on the other hand, the object detection sensor detects that the object has moved away from the environment of the robot 12, the processor 32 can switch the safety function FN1 so that it is deactivated and a setting value of a maximum speed V MAX of the robot 12 to a higher value. Consequently, the robot 12 can be operated at high speed, for example, when the automatic operation function FN4 is executed.

[0118] It should be noted that step S43 in Fig. 11 can be executed before step S41 (ie, if YES is determined in step S1). In addition, steps S41 and S42 can be executed in the Fig. 11 can be omitted. In this case, the function switching unit 56 can be arranged in the Fig. 9 shown control 16 can be omitted.

[0119] Alternatively, step S43 in the process can be Fig. 11 can be omitted. In this case, the threshold switching unit 60 can be Fig. 9 shown control 16 can be omitted. In addition, it is understood that steps S41 to S43 of Fig. 11 on the Fig. 7 can be applied (ie after determining YES in step S1).

[0120] The processor 32 can, when executing step S3 (Direct Teach Function FN2), act as the safety function determination unit 58 in Fig. 11 to determine whether the safety function FN1 is enabled or disabled or not, and can terminate the direct teach function FN2 if the safety function FN1 is disabled. Fig. 12 shows a sequence of such a direct teach function FN2.

[0121] In the process of step S3, which is Fig. 12, upon determining NO in step S24, the processor 32 acts in step S25 as the safety function determining unit 58 to determine whether or not the safety function FN1 is enabled or disabled, as in step S41 described above.

[0122] The processor 32 returns to step S21 upon determining YES, and terminates the direct teaching function FN2 in step S3 upon determining NO (i.e., when the safety function FN1 is deactivated). By terminating the direct teaching function FN2 when the safety function FN1 is deactivated during the execution of the direct teaching function FN2, the operator's safety can be more reliably ensured. Upon determining NO in step S25, the processor 32 can execute the above-described step S42 to generate the alarm signal AL1.

[0123] When executing step S2 (safety function FN1) and step S3 (direct teach function FN2) in Fig. 11, step S43 in the process can be Fig. 11 may be omitted, and the processor 32 may act as the threshold switching unit 60 to set the threshold values ​​Fc th , V th , and a th, referred to in step S12 in step S2, from the first threshold values ​​Fc th1 , V th1 , and a th1 to the second threshold values ​​Fc th2 , V th2 , and a th2 to switch when the operation parameters OP (the contact force Fc, the speed V, and the acceleration a) third threshold values ​​Fc th3 , V th3 , and a th3 Such a process in step S2 is described in Fig. 13 shown.

[0124] In the process of step S2, which is Fig. 13, the processor 32, after step S11, determines in step S15 whether the operation parameters OP (the contact force Fc, the speed V, and the acceleration a) obtained in the most recent step S11 are smaller than the third threshold values ​​Fc th3 , V th3 , and a th3 .

[0125] The third threshold values ​​Fc th3 , V th3 , and a th3are set to values ​​smaller than the threshold values ​​Fc th , V th , and a th , which are referred to in step S12 (in particular the first threshold values ​​Fc th1 , V th1 , and a th1 and the second threshold values ​​Fc th2 , V th2 , and a th2 described above) (ie Fc th3 < Fc th1 < Fc th2 , V th3 < V th1 < V th2 , a th3 < a th1 < a th2 ).

[0126] The processor 32 determines YES and proceeds to step S16 if Fc < Fc th3 , V < V th3 , and a < a th3 apply, and determines NO and proceeds to step S17 if Fc ≥ Fc th3 , V ≥ V th3 , or a ≥ a th3 applies (ie if at least one of the operating parameters OP exceeds the third threshold Fc th3 , V th3 , or a th3). In this step S15, the processor 32 can determine whether the speed V and the acceleration a at the operating parameters OP are smaller than the third threshold values ​​V th3 and a th3 or not.

[0127] In step S16, the processor 32 acts as the threshold switching unit 60 and sets the threshold values ​​Fc th , V th , and a th , referred to in step S12, to the first threshold values ​​Fc th1 , V th1 , and a th1 a.

[0128] On the other hand, when determining NO in step S15 (ie, when the operation parameter OP exceeds the third threshold value Fc th3 , V th3 , or a th3 exceeds) than the threshold switching unit 60 in step S17 to set the threshold values ​​Fc th , V th , and a th , referred to in step S12, to the second threshold values ​​Fcth2 , V th2 , and a th2 In this step S17, the processor 32 can set the threshold value Fc th for the contact force Fc to the second threshold value Fc th without changing the threshold V th for the speed V and the threshold a th for the acceleration a from the first threshold values ​​V th1 and a th1 to switch.

[0129] Therefore, in step S12, the processor 32 refers to the first threshold values ​​Fc th1 , V th1 , or a th1 or the second threshold values ​​Fc th2 , V th2 , and a th2 that are currently set and determines whether the operating parameters OP exceed the first threshold values ​​Fc th1 , V th1 , and a th1 or the second threshold values ​​Fc th2 , V th2 , and a th2 exceed or not.

[0130] Therefore, the processor 32 switches in the Fig. 13, if at least one of the operating parameters OP is equal to or greater than the third threshold value Fc th3 , V th3 , or a th3 is, the threshold values ​​Fc th , V th , and a th referred to in step S12, from the first threshold values ​​Fc th1 , V th1 , and a th1 to the second threshold values ​​Fc th2 , V th2 , and a th2 (step S17).

[0131] On the other hand, if the operating parameter OP falls below the third threshold Fc th3 , V th3 , or a th3 falls (ie when YES is determined in step S15), the processor 32 switches the threshold values ​​Fc th , V th , and a th referred to in step S12, from the second threshold values ​​Fc th2 , V th2 , and a th2 to the first threshold values ​​Fc th1 , V th1 , and ath1 around.

[0132] As the handling force Fh applied to the robot 12 by the operator increases in this step S3 (direct teach function FN2), which is executed in parallel with step S2, the operating parameter OP (speed V, acceleration a) also increases. The component of the handling force Fh is also included in the external force F detected by the force sensor 14.

[0133] According to the present embodiment, by switching the threshold values ​​Fc th , V th , and a thIn response to the operation parameter OP as described above, it is possible to reliably avoid determining YES in step S12 due to the handling force Fh applied by the operator to the robot 12 and thus avoid executing step S13. On the other hand, if the operation parameter OP is small, it is possible to more reliably detect that the robot 12 has come into contact with an object in the surroundings.

[0134] Furthermore, in an example of the present embodiment, the processor 32 determines in step S15 whether the speed V or the acceleration a at the operating parameters OP is smaller than the third threshold values ​​V th3 or a th3 or not. Then, in steps S16 and S17, the processor 32 switches the threshold value Fc in response to the speed V or the acceleration a th for the contact force Fc between the first threshold value Fc th1and the second threshold Fc th2 around.

[0135] Then, in step S12, the processor 32 refers to the first threshold value Fc th1 or the second threshold Fc th2 which is currently set, and determines whether the contact force Fc obtained as the operation parameter OP exceeds the first threshold value Fc th or the second threshold Fc th2 exceeds or not.

[0136] That is, in this case, the processor 32 determines in step S15 whether one of the operation parameters OP (speed V, acceleration a) is smaller than the third threshold value (V th3 , a th3 ) or not, and switches the threshold (Fc th ) for the other operating parameter OP (contact force Fc) between the first threshold value (Fc th1 ) and the second threshold (Fc th2 ) in steps S16 and S17.

[0137] Then, in step S12, the processor 32 determines whether the other operation parameter OP after switching exceeds the threshold value (Fc th1 or Fc th2 ) or not. With this configuration, it is possible to more reliably prevent step S13 from being executed due to the handling force Fh applied to the robot 12 with the direct teaching function S13 under the direct teaching function FN2.

[0138] It should be noted that the processor 32 executes step S43 in the sequence of Fig. 11 and also the process of Fig. 13 in step S2 in Fig. 11. In this case, the processor 32 acts in step S16 in Fig. 13 as the threshold switching unit 60 and sets the threshold values ​​Fc th , V th , and a th , which is referred to in step S12, to the second threshold values ​​Fc switched in step S43 th2 , V th2 , and a th2 .

[0139] In contrast, the processor 32 acts in step S17 in Fig. 13 as the threshold switching unit 60 to set the threshold values ​​Fc th , V th , and a th , referred to in step S12, to fourth threshold values ​​Fc th4 , V th4 , and a th4 The fourth threshold values ​​Fc th4 , V th4 , and a th4 are set to values ​​greater than the second thresholds Fc th2 , V th2 , and a th2 (ie Fc th4 > FC th2 , V th4 > V th2 , and a th4 > a th2 ).

[0140] That is, in this case, the processor 32 acts as the threshold switching unit 60 to generate the threshold values ​​Fc in response to the operation parameters OP th , V th , and a th , referred to in step S12, between the threshold values ​​Fc th2 , V th2 , and ath2 (first thresholds) and the thresholds Fc th4 , V th4 and a th4 (second threshold values). In this case, the processor 32 can determine in step S15 whether one of the operating parameters OP (speed V, acceleration a) is less than the third threshold value (V th3 , a th3 ) or not, and in steps S16 and S17 the threshold value (Fc th ) for the operating parameter OP (contact force Fc) between the first threshold value (Fc th2 ) and the second threshold (Fc th4 ) switch.

[0141] Next, various embodiments of the force sensor 14 will be described with reference to Fig. 14 and Fig. 15. The force sensor 14 may include at least one of the torque sensor 14A and the force detection sensor 14B described above. Fig. Figure 14 shows the torque sensor 14A according to one embodiment. The torque sensor 14A is provided on the output shaft 31a of the actuator 31. Specifically, the torque sensor 14A includes a cylindrical main body 150 having a central axis A1 and a pair of sensor devices 152a and 152b integrated into the main body 150. The main body 150 is coaxially mounted on the output shaft 31a so as to surround the output shaft 31a.

[0142] Each of the pair of sensor devices 152a and 152b includes, for example, a strain gauge, such as a semiconductor strain gauge or metal foil strain gauge, a proximity sensor, an optical sensor, a laser or capacitance displacement meter, or an optical or magnetic encoder. The sensor devices 152a and 152b convert a strain, a deformation, or a displacement occurring in the main body 150 due to the torque τ applied to the output shaft 31a into electrical signals, and output the electrical signals as detection data DDτ, respectively. a or detection data DDτ b out of.

[0143] The detection data DDτ a , which are output from the sensor device 152a, are supplied to the controller 16 via a signal line L1. The sensor devices 152a and the signal lines L1 form a first-line detection part 154a. The detection data DDτ bThe signals output by the sensor device 152b are supplied to the controller 16 via a signal line L2 that is independent of (in particular, isolated from) the signal line L1. The sensor device 152b and the signal line L2 form a second-line detection part 154b.

[0144] It should be noted that the signal lines L1 and L2 may be wired lines or wireless lines (ie, transmission paths for wireless communication). As described above, in the present embodiment, the detection data DDτ a the sensor device 152a and the detection data DDτ b the sensor device 152b is individually supplied to the controller 16 via the signal lines L1 and L2, which are independent of each other.

[0145] The pair of sensor devices 152a and 152b are arranged adjacent to each other on the same part of the main body 150 to detect a force in one direction (specifically, the torque τ exerted by the output shaft 31a in the circumferential direction of the main body 150). Therefore, the detection data DDτ a the sensor device 152a and the detection data DDτ b of the sensor device 152b are substantially equal to each other. For example, the sensor devices 152a and 152b may be arranged such that they are stacked one above the other (or parallel to each other). As described above, in the present embodiment, the two-wire detection parts 154a and 154b detect the force (torque τ) in one direction and provide the detection data DDτ a and DDτ b individually to the control 16.

[0146] Fig. 15 shows the force detection sensor 14B according to one embodiment. The force detection sensor 14B is a six-axis force sensor and is provided, for example, on the robot base 20. Specifically, the force detection sensor 14B includes a cylindrical main body 160 having a central axis A2 and a plurality of pairs of sensor devices 162a and 162b provided on the main body 160. The main body 160 includes a pair of ring portions 160a and 160b extending in the circumferential direction and spaced apart from each other in the axial direction, and a plurality of column portions 160c extending between the ring portions 160a and 160b and arranged at substantially equal intervals in the circumferential direction.

[0147] In the Fig. In the example shown in Figure 15, each of the ring portion 160a and the column portion 160c is provided with the pair of sensor devices 162a and 162b. Each of the pair of sensor devices 162a and 162b includes, for example, a strain gauge such as a semiconductor strain gauge or metal foil strain gauge, a proximity sensor, an optical sensor, a laser or capacitance displacement meter, an optical or magnetic encoder, or the like, similar to the sensor devices 152a and 152b described above. The sensor devices 162a and 162b convert a strain, a deformation, or a displacement occurring in the main body 162 due to a force f applied to the main body 152 into electrical signals, and output the electrical signals as detection data items DDf, respectively. a or DDf b out of.

[0148] The pair of sensor devices 162a and 162b provided on the ring portion 160a are arranged adjacent to the same part of the ring portion 160a to detect a force in one direction (specifically, the force f exerted in the axial direction of the ring portion 160a). Similarly, the pair of sensor devices 162a and 162b provided on the column portion 160c are arranged adjacent to the same part of the column portion 160c to detect a force in one direction (specifically, the force f in a direction around the axis A2 exerted on the column portion 160c). The detection data DDf a the sensor device 162a are the detection data DDf b of the sensor device 162b are substantially the same. For example, the sensor devices 162a and 162b may be arranged such that they are stacked one above the other (or parallel to each other).

[0149] The detection data DDf a, which are output from each sensor device 162a, are supplied to the controller 16 via the signal line L1. The sensor device 162a and the signal line L1 form a first-line detection part 164a. The controller 16 performs a predetermined calculation CL3 based on the detection data DDf a each sensor device 162a, whereby forces in six axial directions 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 in a sensor coordinate system C3 set on the main body 160 of the force detection sensor 14B, as well as a torque τx about the x-axis, a torque τy about the y-axis, and a torque τz about the z-axis are detected.

[0150] 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 detection sensor 14B. For example, the sensor coordinate system C3 is set on the main body 160 such that its origin is located on the central axis A2 (e.g., the center point) of the main body 160, and the Z axis coincides with the central axis A2 of the main body 160. From the forces fx, fy, fz, τx, τy, and τz in the six axial directions obtained as described above, the controller 16 can obtain the magnitude and direction of the external force F applied to the robot 12 and can identify the part of the robot 12 to which the external force F is applied.

[0151] The detection data DDf boutput from each sensor device 162b are supplied to the controller 16 via the signal line L2. The sensor device 162b and the signal line L2 form a second-line detection part 164b. Based on the detection data DDf b From each sensor device 162b, the controller 16 obtains the above-described forces fx, fy, fz, τx, τy, and τz in the six axial directions by performing the predetermined calculation CL3, and can therefore identify 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. As described above, in the present embodiment, the two-line detection parts 164a and 164b detect the force f in one direction and provide the detection data items DDf a and DDf b individually to the control 16.

[0152] Next, the safety function FN1 and the direct teach function FN2, which are based on the detection data items DDτ a and DDτ b the in Fig. 14 torque sensors 14A shown, with reference to Fig. 16. In the present embodiment, the safety function execution unit 50 (in particular the processor 32) simultaneously executes the first safety function FN1 a for monitoring a first contact force Fc a , which is based on the detection data DDτ a of the first line detection part 154a (ie a sensor device 152a), and a second safety function FN1 b for monitoring a second contact force Fc b , which is based on the detection data DDτ bof the second line detection part 154b (ie, the other sensor device 152b). Each of the first safety function FN1 a and the second safety function FN1 b For example, corresponds to the sequence of step S2, which is shown in Fig. 5 is shown.

[0153] Therefore, the safety function execution unit 50 executes the process of step S2 as the first safety function FN1 a based on the detection data DDτ a which are obtained from a sensor device 152a of each torque sensor 14A via the signal line L1. The safety function execution unit 50 executes, in parallel with the first safety function FN1 a the sequence of step S2 as the second safety function FN1 b based on the detection data DDτ b, which are obtained from the other sensor device 152b of each torque sensor 14A via the signal line L2. Therefore, if in any of step S12, which is designated as the first safety function FN1 a is executed, and step S12, which is referred to as the second safety function FN1 b is executed, YES is determined, the robot 12 is stopped (step S13).

[0154] If the first safety function FN1 a and the second safety function FN1 b thus individually based on the detection signals DDτ a and DDτ b the detection parts 154a and 154b of different lines (ie different sensor devices 152a and 152b), the second safety function FN1 b , even if the detection part 154a of a line (e.g., the sensor device 152a) fails, can be carried out continuously by the detection data DDτ bof the detection part 154b of the other line (e.g., the sensor device 152b). Therefore, the safety of the operator can be more reliably ensured.

[0155] On the other hand, the direct teaching execution unit 52 (processor 32) executes the direct teaching function FN2 (step S3, which is Fig. 6) parallel to the first safety function FN1 a and the second safety function FN1 b , which are executed by the safety function execution unit 50. Specifically, the direct teaching execution unit 52 executes the process of step S3 based on the detection data DDτ a obtained from a sensor device 152a of each torque sensor 14A via the signal line L1. At this time, the direct teaching execution unit 52 obtains the handling force Fh based on the detection data DDτ aof the detection part 154a of the one line (ie, a sensor device 152a) in step S21 in step S3.

[0156] The safety functions FN1 a and FN1 b and the direct teach function FN2, which is based on the detection data DDf a and DDf b of the in Fig. 15 are also the same as in the case where the torque sensor 14A is used. In particular, the safety function execution unit 50 simultaneously executes the first safety function FN1 a (Expiry of Fig. 5) to monitor the first contact force Fc a , based on the detection data DDf a of the first line detection part 164a (ie, each of the sensor devices 162a), and the second safety function FN1 b (Expiry of Fig. 5) to monitor the second contact force Fc b, based on the detection data DDf b of the second line detection part 164b (ie, each of the other sensor devices 162b).

[0157] Parallel to the first safety function FN1 a and the second safety function FN1 b the direct teaching execution unit 52 executes the direct teaching function FN2 (process in Fig. 6) by calculating the handling force Fh based on the detection data DDf a of the first line detection part 164a obtained from each of the one sensor devices 162a of the force detection sensor 14B via the signal line L1.

[0158] The processor 32 in Fig. 16 shown control 16 can control the Fig. 3 or Fig. 7. When executing the procedure in Fig. 7, the processor 32 acts in step S3' as the direct teach execution unit 52 to Fig. 8 shown sequence of the direct teach function FN2' based on the detection data DDτ a or DDf a of the first line detection part 154a or 164a obtained from a sensor device 152a or 162a.

[0159] In addition, the processor 32 may execute a loop from steps S11 to S14 in step S3, which is designated as the first security function FN1 a is executed, a loop from steps S11 to S14 in step S2, which is called the second safety function FN1 b is executed, execute a loop of steps S21 to S24 in step S3, which is executed as the direct teaching function FN2, at a predetermined control interval (e.g. 1 [ms]) synchronously with each other (or alternately).

[0160] The processor 32 may include a first processor 32A that implements the first security function FN1 aand executes the direct teach function FN2, and a second processor 32B, which executes the second safety function FN1 b Such an embodiment is described in Fig. 17. In this embodiment, the first processor 32A and the second processor 32B act as the safety function execution unit 50, while the first processor 32A acts as the direct teach execution unit 52.

[0161] The processor 32 is not limited to the Fig. 17, and may include the first processor 32A, which performs the first security function FN1 a executes the second processor 32B, which executes the second security function FN1 b and a third processor 32C which executes the direct teach function FN2.

[0162] In the direct teaching function FN2, the direct teaching execution unit 52 can calculate the handling force Fh based on both the detection data DDτ a (or DDf a ) of the first line detection part 154a (or 164a) as well as the detection data DDτ b (or DDf b ) of the second line detection part 154b (or 164b).

[0163] For example, if the Fig. 14 is used to execute the direct teaching function FN2, the direct teaching execution unit 52 can output an average value DDτ AVE the detection data DDτ a a sensor device 152a and the detection data DDτ b the other sensor device 152b and the handling force Fh is calculated based on the average value DDτ AVE receive.

[0164] Alternatively, the processor 32 may use a larger (or smaller) value of the detection data DDτ a(or DDf a ) of the first line detection part 154a (or 164a) and the detection data DDτ b (or DDf b ) of the second line detection part 154b (or 164b) and obtain the handling force Fh using the selected larger (or smaller) value.

[0165] When executing the first safety function FN1 a and the second safety function FN1 b the processor 32 of the Fig. 16 or Fig. 17, the controller 16 can execute a fault detection function FN6 in parallel, which detects whether one of the first-line detection part 154a or 164a (e.g., a sensor device 152a or 162a) and the second-line detection part 154b or 164b (e.g., the other sensor device 152b or 162b) has failed or not. This fault detection function FN6 will be described below with reference to Fig. 18 described.

[0166] The processor 32 starts the Fig. 18 when the error detection function FN6 is activated. This error detection function FN6 can, for example, be activated automatically by the processor 32 when starting the safety function FN1 (the first safety function FN1 a and the second safety function FN1 b ) are activated. Next, the error detection function FN6 will be described in a case where the force sensor 14 includes the torque sensor 14A.

[0167] In step S51, the processor 32 obtains the detection data items DDτ a and DDτ b the detection parts 154a and 154b of two lines (in particular, of the pair of sensor devices 152a and 152b). For example, in this step S51, the processor 32 acquires the detection data items DDτs a and DDτ bwhich are detected by the pair of sensor devices 152a and 152b at the same time (or at very close times).

[0168] In step S52, the processor 32 determines whether the detection data items DDτ a and DDτ b obtained in the most recent step S51 are different from each other or not. For example, if a difference Δ D between the detection data DDτ a and DDτ b exceeds a given threshold Δ Dth (Δ D ≥ Δ Dth ), the processor 32 determines that the detection data elements DDτ a and DDτ b are different from each other (ie, it determines YES). The processor 32 proceeds to step S54 upon determining YES, and proceeds to step S53 upon determining NO.

[0169] In step S53, the processor 32 determines whether the error detection function FN6 is disabled. If the determination is YES, the processor 32 terminates the error detection function FN6 and returns to step S51 if the determination is NO.

[0170] If YES is determined in step S52, however, processor 32 generates an alarm signal AL2 in step S54. For example, processor 32 may generate alarm signal AL2 as an image or voice indicating "Force sensor may have failed. Perform force sensor maintenance," and output the signal to display device 42 or 44 or to a speaker.

[0171] If YES is determined in step S52, the processor 32 may execute the above-described emergency stop operation ES to stop the robot 12. Furthermore, the processor 32 may execute the loop from steps S11 to S14 in step S2, which is designated as the safety function FN1 (the first safety function FN1a and the second safety function FN1 b ) and execute the loop of steps S51 to S53, which is executed as the error detection function FN6, synchronously with each other (or alternately) at a predetermined control interval (e.g., 1 [ms]).

[0172] Subsequently, another function of the robot system 10 will be described with reference to Fig. 19 and Fig. 20. In the present embodiment, the controller 16 executes the Fig. 20 as a direct teach function FN2_1 according to yet another embodiment. It should be noted that in the Fig. 20 processes shown that are similar to those in Fig. 6 are similar, identical step numbers are assigned and overlapping descriptions thereof are omitted.

[0173] In the Fig. In the flow shown in Figure 20, the processor 32 acts as the direct teaching execution unit 52 and executes steps S21 to S23, and after step S23, executes steps S61 to S66. In step S61, the processor 32 acts as the operation parameter acquisition unit 54 and acquires the operation parameter OP.

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

[0175] In step S62, the processor 32 determines whether the operation parameter OP (speed V) obtained in the most recent step S61 is within a first range or not. Specifically, the processor 32 determines whether the speed V obtained in the most recent step S61 is within the first range [V th11 ≤ V < V th12] . The threshold values ​​V th11 and V th12 that define this first range can be specified by the operator. The smallest threshold value V th11 is set to 0, for example. The processor 32 determines YES and proceeds to step S63 if V th11 ≤ V < V th12 applies, and continues when NO is detected (ie when V th12 ≤ V) proceed to step S64.

[0176] In step S63, the processor 32 sets a resistance force RF against the handling force Fh applied to the robot 12 to a first resistance force RF1. Here, an acceleration setting value α, which defines the maximum value of the acceleration a of the robot 12, is preset in the controller 16. An increase in the acceleration setting value α may result in an increase in the acceleration a of the robot 12, which operates according to the handling force Fh. In this case, since the response of the robot 12 to the handling force Fh applied by the operator becomes faster (in other words, the operation feeling becomes lighter), the resistance force RF against the handling force Fh decreases.

[0177] On the other hand, decreasing the acceleration setting value α may result in a decrease in the acceleration a of the robot 12 operating according to the manipulation force Fh. In this case, since the response of the robot 12 to the manipulation force Fh applied by the operator becomes slower (in other words, the operation feeling becomes heavier), the resistance force RF against the manipulation force Fh increases.

[0178] Therefore, in the present embodiment, the processor 32 changes the resistance force RF against the handling force Fh by changing the acceleration setting value α in response to the speed V obtained in step S61. In this 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 handling force Fh to the first resistance force RF1 corresponding to the first acceleration setting value α1. Note that the first acceleration setting value α1 may be an initial value (or a default value) set at the beginning of the direct teaching function FN2. _1 is set.

[0179] If NO is determined in step S62, however, the processor 32 determines in step S64 whether or not the operation parameter OP (speed V) obtained in the most recent step S61 is within a second range that is larger than the first range. Specifically, the processor 32 determines whether or not the speed V obtained in the most recent step S61 is within the second range [V th12 ≤ V < Vt h13 ]. The threshold value V th13 , which defines the upper limit of the second range, can be specified by the operator. The processor 32 determines YES and proceeds to step S65 if V th12 ≤ V < V th13 applies, and continues when NO is detected (ie when V th13 ≤ V) proceed to step S66.

[0180] In step S65, the processor 32 sets the resistance force RF against the handling force Fh applied to the robot 12 to a second resistance force RF2 (> RF1). Specifically, the processor 32 can set the resistance force RF against the handling force Fh to the second resistance force RF2, which is greater than the first resistance force RF1, by setting the acceleration setting value α to a second acceleration setting value α2 (< α1).

[0181] If NO is determined in step S64, the processor 32 sets the resistance force RF against the handling force Fh applied to the robot 12 to a third resistance force RF3 (> RF2) in step S66. Specifically, the processor 32 may set the resistance force RF against the handling force Fh to the third resistance force RF3, which is greater than the second resistance force RF2, by setting the acceleration setting value α to a third acceleration setting value α3 (< α2).

[0182] In this way, by executing steps S63, S65, and S66, the processor 32 can change the acceleration setting value α to α1, α2, or α3, and thereby change the resistance force RF against the handling force Fh in response to the speed V obtained in step S61. Therefore, the processor 32 acts as a resistance force control unit 62 ( Fig. 19) which changes the resistance force RF against the handling force Fh. After executing step S63, S65 or S66, the processor 32, while acting as the resistance force control unit 62, proceeds to step S24 and determines whether the direct teaching function FN2 _1 is deactivated or not.

[0183] Therefore, the processor performs 32 steps S61 to S66 during the execution of the direct teach function FN2 _1 and controls the resistance force RF against the handling force Fh in response to the operation parameter OP (specifically, the speed V). Although a detailed description is omitted, it should be understood that even in a case where the acceleration a is obtained as the operation parameter OP in step S61, the processor 32 may similarly execute steps S62 to S66 based on the acceleration a.

[0184] As described above, in the present embodiment, the controller 16 includes the direct teaching execution unit 52, the operation parameter acquisition unit 54 that acquires the speed V (or the acceleration a) of the robot 12 during the execution of the direct teaching function FN2 _1 and the resistance force control unit 62 which changes the resistance force RF against the handling force Fh in response to the speed V (or the acceleration a) obtained by the operation parameter obtaining unit 54.

[0185] In this embodiment, an increase in the speed V (or acceleration a) of the robot 12 during the execution of the direct teaching function FN2 _1Feedback is provided in the form of the resistance force RF against the operator's perceived operating sensation of the robot 12, and therefore the operator can intuitively recognize the increase. Therefore, it is possible to detect an excessive increase in the speed V (or acceleration a) during the execution of the direct teaching function FN2. _1 to avoid.

[0186] Furthermore, in the present embodiment, in response to the velocity V (or acceleration a) acquired by the operation parameter acquisition unit 54, 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. With this configuration, the processor 32 can quickly change the resistance force RF using a relatively simple algorithm.

[0187] Next, a direct teach function FN2 _2 according to yet another embodiment with reference to Fig. 21. The Fig. 19 shown control 16 carries out the Fig. 21 shown sequence as the direct teach function FN2 _2 It should be noted that in the Fig. 21 processes that are similar to those in Fig. 20 are similar, identical step numbers are assigned and overlapping descriptions thereof are omitted.

[0188] In the Fig. In the flow shown in Figure 21, if YES is determined in step S22, the processor 32 executes step S71. In step S71, the processor 32 acts as the direct teaching execution unit 52 and applies the handling force Fh obtained in the most recent step S21 to characteristic data CD to determine the acceleration setting value α. The characteristic data CD represents data (in other words, a graph) indicating a relationship between the handling force Fh and the acceleration setting value α. Fig. Figure 22 shows an example of the characteristic data CD.

[0189] In the Fig. In the example shown in Figure 22, first characteristic data CD1, second characteristic data CD2, and third characteristic data CD3 are shown. The first characteristic data CD1 has the largest gradient δα / δFh. Therefore, in the first characteristic data CD1, the acceleration setting value α for the handling force Fh (i.e., the maximum value of the acceleration α of the robot 12 when executing the direct teaching function FN2 _2 ) larger than those in the second characteristic data CD2 and the third characteristic data CD3.

[0190] Thus, since the response of the robot 12 to the handling force Fh applied by the operator becomes faster (in other words, the operation feeling becomes lighter), the resistance force RF against the handling force F becomes smaller than those in the second characteristic data CD2 and the third characteristic data CD3. Note that the first characteristic data CD1 may be initial data (or standard data) used as the characteristic data CD at the beginning of the direct teaching function FN2. _2 be set.

[0191] In contrast, the third characteristic data CD3 has the smallest gradient δα / δFh. Therefore, in the third characteristic data CD3, the acceleration setting value α for the handling force Fh is smaller than that in the first characteristic data CD1 and the second characteristic data CD2. Thus, since the response of the robot 12 to the handling force Fh applied by the operator becomes slower (in other words, the operation feeling becomes heavier), the resistance force RF against the handling force F becomes larger than that in the first characteristic data CD1 and the second characteristic data CD2.

[0192] In the second characteristic data CD2, the magnitude of the resistance force RF lies between that in the first characteristic data CD1 and the third characteristic data CD3. Thus, the characteristic data elements CD1, CD2, and CD3 are correlated with the resistance force RF against the handling force Fh. The characteristic data elements CD1, CD2, and CD3 are pre-stored in memory 34.

[0193] To move the robot 12 in step S23 into Fig. 21, one of the characteristic data items CD1, CD2, and CD3 is selected and set as the characteristic data CD for determining the acceleration setting value α. For example, it is assumed that the first characteristic data CD1 has been set at the beginning of this step S71. In this case, the processor 32 acts as the direct teaching execution unit 52 in this step S71 and applies the handling force Fh obtained in the most recent step S21 to the characteristic data CD1 for determining the acceleration setting value α. Fig. 22 to determine the acceleration setting value α.

[0194] Then, in step S23, the processor 32 acts as the direct teaching execution unit 52 to operate the robot 12 in response to the manipulation force Fh obtained in the most recent step S71 using the acceleration setting value α obtained in the most recent step S21. The acceleration a of the robot 12 operating at this time is controlled to be equal to or less than the acceleration setting value α.

[0195] On the other hand, if YES is determined in step S62, the processor 32 acts as the resistance force control unit 62 in step S72 and sets the resistance force RF against the handling force Fh to the first resistance force RF1. Specifically, the processor 32 sets the above-described characteristic data CD to the first characteristic data CD1 in Fig. 22. As described above, the characteristic data items CD1, CD2, and CD3 are correlated with the resistance force RF. Therefore, by selecting the first characteristic data CD1, the resistance force RF can be set to the first resistance force RF1 corresponding to the first characteristic data CD1.

[0196] On the other hand, if YES is determined in step S63, the processor 32 acts as the resistance force control unit 62 in step S73 and sets the resistance force RF against the handling force Fh to the second resistance force RF2. Specifically, the processor 32 sets the above-described characteristic data CD to the second characteristic data CD2 in Fig. 22.

[0197] Therefore, the resistance force RF can be set to the second resistance force RF2 corresponding to the second characteristic data CD2. As described above, the second resistance force RF2 in the second characteristic data CD2 is greater than the first resistance force RF1 in the first characteristic data CD1 (RF2 > RF1).

[0198] On the other hand, if NO is determined in step S63, the processor 32 acts as the resistance force control unit 62 in step S74 and sets the resistance force RF against the handling force Fh to the third resistance force RF3. Specifically, the processor 32 sets the above-described characteristic data CD to the third characteristic data CD3 in Fig. 22.

[0199] Therefore, the resistance force RF can be set to the third resistance force RF3 corresponding to the third characteristic data CD3. As described above, the third resistance force RF2 is the largest in the third characteristic data CD3 (RF3 > RF2 > RF1). After executing step S72, S73, or S74, the processor 32, while acting as the resistance force control unit 62, proceeds to step S24 and determines whether the direct teaching function FN2 _2 is deactivated or not.

[0200] As described above, in the present embodiment, the characteristic data CD (CD1, CD2, CD3) indicating the relationship between the handling force Fh and the acceleration setting value α are pre-stored in the memory 34, and the direct teaching execution unit 52 applies the handling force Fh to the characteristic data CD to determine the acceleration setting value α when executing the direct teaching function FN2_2 to be determined (step S71).

[0201] Then, in response to the velocity V (or acceleration a) acquired by the operation parameter acquisition unit 54, the resistance force control unit 62 changes the resistance 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 (steps S72, S73, S74). With this configuration, since the processor 32 can change the operating feeling (i.e., light or heavy operating feeling) of the robot 12 felt by the operator more smoothly, it is possible to improve the operating feeling.

[0202] In the present embodiment, a case will be described where the three characteristic data items CD1, CD2, and CD3 are prestored in the memory 34. However, while one of the characteristic data items CD1, CD2, and CD3 is stored in the memory 34, the processor 32 can obtain the other two of the characteristic data items CD1, CD2, and CD3 through a predetermined calculation using the one characteristic data CD stored in the memory 34.

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

[0204] Furthermore, in step S74, the processor 32 can 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. Thus, it is not necessary to store a large amount of characteristic data CDn in the memory 34. Although the three characteristic data CD1, CD2, and CD3 are stored in the Fig. 22, two or four or more characteristic data items CDn may be stored in the memory 34.

[0205] Next, a direct teach function FN2 _3 according to yet another embodiment with reference to Fig. 23. The Fig. 19 shown control 16 carries out the Fig. 23 shown sequence as the direct teach function FN2 _3 It should be noted that in the Fig. 23 processes that are similar to those in Fig. 20 are similar, identical step numbers are assigned and overlapping descriptions thereof are omitted.

[0206] In the Fig. 23, the processor 32 acts as the direct teaching execution unit 52, executing steps S21 to S23. Here, in step S23, the processor 32 generates a command CM for the actuators 31 of the robot 12 to operate the robot 12 according to the handling force Fh determined in the most recent step S21. A method for generating the command CM will be described below with reference to Fig. 24 described.

[0207] As in Fig. 24, the controller 16 includes 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 executing calculation processing for implementing 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.

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

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

[0210] Subsequently, the torque command generation unit 68 generates a torque command CM3 based on the speed deviation δV. The current control unit 70 generates a voltage signal CM4 (e.g., a PWM control signal) based on the torque command CM3 and sends the signal 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 actuators 31.

[0211] Therefore, in this step S23, the processor 32 generates the command CM (the position command CM1, the speed command CM2, the torque command CM3, and the voltage signal CM4) for the actuators 31, and operates the robot 12 according to the handling force Fh. Referring again to Fig. 23, the processor 32, after determining YES in step S62, proceeds to step S24 and determines whether the direct teach function FN2 _3is deactivated or not.

[0212] If YES is determined in step S64, the processor 32 acts as the resistance force control unit 62 in step S81 and changes the command CM generated in step S23. In particular, the processor 32 acts as shown in Fig. 24, as the resistance force control unit 62 to generate a command correction value CR1 and output the value to the adders 78. The command correction value CR1 is used to change the torque command CM3 to cause the actuators 31 to generate forces acting in opposite directions to the handling force Fh.

[0213] 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 by 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 with the command correction value CR1, a force opposing the handling force Fh is generated in each movable component of the robot 12, thereby increasing the resistance force RF against the handling force Fh.

[0214] With reference to Fig. 23, upon determining NO in step S64, the processor 32 acts in step S82 as the drag force control unit 62 to modify the command CM generated in step S23. Specifically, the processor 32 acts as the drag force control unit 62, generates a command correction value CR2 ( Fig. 24), and outputs the value to the adder 78.

[0215] This command correction value CR2 is a value different from the command correction value CR1 generated in step S81, and is generated such that a force greater than that at the command correction value CR1 can be generated in a direction opposite to the handling force Fh. The adder 78 generates the 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 the current control unit 70. Consequently, the resistance force RF against the handling force Fh can be increased compared to step S81. After step S81 or S82, the processor 32 proceeds to step S24.

[0216] As described above, in the present embodiment, the direct teaching execution unit 52 generates the command CM (the position command CM1, the speed command CM2, the torque command CM3 and the voltage signal CM4) for the actuators 31 of the robot 12 in order to teach the robot 12 with the direct teaching function FN2 _3 to operate.

[0217] Then, in response to the velocity V (or acceleration a) acquired by the operation parameter acquisition unit 54, the resistance force control unit 62 changes the resistance force RF by changing the command CM (specifically, the torque command CM3) generated by the direct teaching execution unit 52 (steps S81 and S82). With this configuration, it is possible to quickly and precisely control the resistance force RF against the handling force Fh.

[0218] In the present embodiment, a case is described where the resistance force control unit 62 corrects the torque command CM3 using the command correction value CR1 or CR2. However, the present disclosure is not limited to this, and the resistance force control unit 62 may correct the position command CM1, the speed command CM2, or the voltage signal CM4 as long as the resistance force RF can be changed against the handling force Fh.

[0219] The process of Fig. 20 shown direct teach function FN2 _1 , which in Fig. 21 shown direct teach function FN2 _2 or the one in Fig. 23 shown direct teach function FN2 _3 can be applied to the step S3 or S3' described above. That is, in this case, the Fig. 2 or Fig. 9 further controls the resistance force control unit 62. If NO is determined in step S64 in Fig. 20, Fig. 21 or Fig. 23, the processor 32 may generate an alarm signal AL3 as an image or voice indicating "Excessive speed or acceleration. Reduce handling force" and output the signal to the display device 42 or 44 or a loudspeaker.

[0220] Subsequently, another function of the robot system 10 will be described with reference to Fig. 25 and Fig. 26. The Fig. The controller 16 shown in Figure 25 further comprises a time measuring unit 80. The time measuring unit 80 is communicatively connected to the processor 32 via the bus 38 and measures an elapsed time t from a certain point in time in response to a command from the controller 16.

[0221] The Fig. The control 16 shown in Figure 25 carries out the sequence of a Fig. 26 shown direct teach function FN2 _4 It should be noted that in the Fig. 26 shown sequence of processes that are similar to those in Fig. 6 are similar, identical step numbers are assigned, and overlapping descriptions are omitted. The Fig. The sequence shown in Figure 26 begins at a time t0, at which the processor 32 sends a command to start the direct teach function FN2 _4 receives.

[0222] In step S91, the processor 32 starts measuring the elapsed time t from the time t0 at which the processor 32 stops the process in Fig. 26 begins. Specifically, the processor 32 sends a time measurement command to the time measurement unit 80 at time t0, and the time measurement unit 80 begins measuring the elapsed time t from time t0 in response to the time measurement command. Thereafter, the processor 32 acts as the direct teaching execution unit 52 to execute steps S21 to 23, and in step S24, determine whether the direct teaching execution unit FN2 _4 is deactivated or not.

[0223] If NO is determined in step S24, the processor 32 determines in step S92 whether the elapsed time t measured by the time measuring unit 80 exceeds a predetermined threshold value t th1 exceeded or not (ie t ≥ t th1 ). The processor 32 proceeds upon determining that t ≥ t th1 applies, and thus if YES is determined, proceeds to step S94, and if NO is determined, proceeds to step S93.

[0224] In step S93, the processor 32 determines whether a command for a function FN which is executed by the direct teach function FN2 _4 is different, was received or not. During the execution of the Direct Teach function FN2 _4 the operator may want to temporarily stop the process of applying the handling force Fh to the robot 12 and use a function FN other than the direct teach function FN2 _4 such as the teach function FN3, the automatic operation function FN4 or the operation confirmation function FN5 described above.

[0225] If, as an example, the processor 32 uses the direct teach function FN2 _4 in Fig. 26, the operator operates the input device 46 of the teaching device 18 to input a command CM5 into the teaching device 18 to cause the robot 12 to perform the jogging operation through the teaching function FN3. As another example, the operator operates FN2 while executing the direct teaching function. _4 the input device 46 of the teaching device 18 to input into the teaching device 18 a command CM6 to cause the robot 12 to perform an automatic operation (or a trial operation) with the automatic operation function FN4 (the operation confirmation function FN5).

[0226] As yet another example, the operator presses FN2 while executing the Direct Teach function _4the input device 46 of the teaching device 18 to input into the teaching device 18 a command CM7 to cause the display device 44 to display an input image for executing the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5.

[0227] The processor of the teaching device 18 supplies the command CM5, CM6, or CM7 received from the operator to the controller 16. The operator can operate the input device 40 of the controller 16 to directly input the command CM5, CM6, or CM7 for the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5 into the controller 16.

[0228] The processor 32 of the controller 16 determines YES in this step S93 if the controller 16 has received the command CM5, CM6, or CM7 for the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5, and proceeds to step S94. On the other hand, the processor 32 determines NO and returns to step S21 if the controller 16 has not received the command CM5, CM6, or CM7.

[0229] If Yes is determined in step S24, S92 or S93, the processor 32 terminates the direct teach function FN2 in step S94 _4 and generates a notification signal SG, which indicates the end of the direct teach function FN2 _4For example, the processor 32 may generate the notification signal SG as an image or voice indicating that "Direct Teaching Function has been automatically terminated" and output the signal to the display device 42 or 44 or to the speaker. As described above, in the present embodiment, the processor 32 functions as a notification signal generation unit 53 ( Fig. 25) and generates the notification signal SG. Subsequently, the processor 32 terminates the process in Fig. 26.

[0230] Therefore, the processor 32 repeatedly executes the loop from steps S21 to S24, S92 and S93 until YES is determined in step S24, S92 or S93, and executes the direct teaching function FN2 _4 continuously. In other words, as long as NO is determined in steps S24, S92 and S93, the processor 32 executes the direct teach function FN2 _4continues until the elapsed time t reaches a threshold value t th1 reached (ie over a period of time t th1 ), and automatically ends the Direct Teach function FN2 _4 , if the elapsed time t exceeds the threshold t th1 exceeds (ie when the time period t th1 has expired).

[0231] As described above, in the present embodiment, when the elapsed time t from the time t0 at which the command to start the direct teaching function FN2 _4 is received, the specified threshold t th1 exceeds (if YES is determined in step S92), the direct teaching function FN2 _4 (Step S94).

[0232] After the processor 32 has activated the direct teach function FN2 _4starts, the operator may leave a work cell for a longer period of time for various reasons. If a third party accidentally pushes the robot 12 while the operator is absent, the robot 12 may inadvertently start with the direct teach function FN2 _4 operated.

[0233] Since the direct teach function FN2 _4 is automatically terminated when the specified time period t th1 after the processor 32 has activated the direct teach function FN2 _4 starts, has elapsed, according to the present embodiment, it is possible to prevent the unintended operation of the robot 12 as described above. Furthermore, in the present embodiment, the controller 16 further includes the time measuring unit 80 that measures the elapsed time t. With this configuration, the processor 32 can reliably measure the elapsed time t without delay.

[0234] In addition, in the present embodiment, the direct teaching execution unit 52 terminates upon receiving the command CM5, CM6, or CM7 for the function FN3, FN4, or FN5 which is executed by the direct teaching function FN2 _4 is different while executing the Direct Teach function FN2 _4 (if YES is determined in step S93) the direct teach function FN2 _4 (S94).

[0235] If the operator tries to use the direct teach function FN2 _4 and execute, for example, the teach function FN3, the automatic operation function FN3 or the operation confirmation function FN5, the direct teach function FN2 _4 automatically terminated and operation can be easily switched to the teaching function FN3, the automatic operation function FN4 or the operation confirmation function FN5.

[0236] Then, in response to the command CM5, CM6, or CM7 received from the operator, the processor of the teaching device 18 (or the processor 32 of the controller 16) causes the robot 12 to execute a jogging operation, an automatic operation, or a trial operation, or causes the display device 44 to display an input image and receives an input to execute the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5.

[0237] In addition, in the present embodiment, the controller 16 further comprises the notification signal generation unit 53 which generates the notification signal SG for notifying the end when the direct teaching execution unit 52 executes the direct teaching function FN2 _4 With this configuration, the operator can easily see that the direct teach function FN2 _4 was automatically terminated.

[0238] In the present embodiment, a case is described in which the above-described time t0 is the time at which the command for starting the direct teaching function FN2 _4 is received and which is in Fig. 26 shown sequence of the direct teach function FN2 _4 begins. Strictly speaking, however, there can be a time delay between a point in time t 0_1 , to which the command to start the Direct Teach function FN2 _4 is received, and a time t 0_2 to which the processor 32 receives the command and the direct teach function FN2 _4 in Fig. 26 starts.

[0239] In this case, the processor 32 may cause the time measuring unit 80 to measure the elapsed time t from the time t0, which may be any time from the time t 0_1 and time t 0_2That is, in this case, the processor 32 acts as the direct teach execution unit 52 and terminates the direct teach function FN2 _4 , if the from time t 0_1 or t 0_2 elapsed time t a given threshold t th1 exceeds.

[0240] It should be noted that the time measurement unit 80 may be omitted from the controller 16, and an external device may be requested to provide the function of the time measurement unit 80. For example, an electronic clock provided outside the controller 16 (or a time measurement unit built into another computer) may be connected to the IIO interface 36 of the controller 16, and the processor 32 may obtain the above-described elapsed time t from the time measured by the electronic clock.

[0241] Next, another Direct Teach function FN2 _5with reference to Fig. 27. The Fig. The control 16 shown in Figure 25 carries out the Fig. 27 as the Direct Teach function FN2_5. It should be noted that in the Fig. 27 processes that are similar to those in Fig. 26 are similar, identical step numbers are assigned and overlapping descriptions thereof are omitted.

[0242] After the start of the process in Fig. 27, the processor 32 acts as the direct teaching execution unit 52 to execute steps S21 to S23, and determines in step S24 whether the direct teaching execution unit FN2 _5 is deactivated or not. After step S23, the processor 32 obtains the handling force Fh in step S101, as in step S21 described above.

[0243] In step S102, the processor 32 determines whether the magnitude of the handling force Fh obtained in the most recent step S101 exceeds the predetermined threshold value Fh th exceeds or not, as in step S22 described above. The processor 32 returns to step S23 upon determining YES, and proceeds to step S103 upon determining NO.

[0244] In step S103, the processor 32 determines whether the operation of the robot 12 is stopped or not. At this time, if the operator relaxes the handling force Fh on the robot 12, the robot 12 automatically stops. For example, the processor 32 may determine whether the operation of the robot 12 is stopped or not based on the feedback FB from the rotation detection sensor 33. The processor 32 proceeds to step S103 upon determining that the operation of the robot 12 is stopped (i.e., YES), and returns to step S101 upon determining NO.

[0245] In step S104, the processor 32 begins measuring the elapsed time t from time t1, which is determined to be YES in step S103 (i.e., the time at which the robot is stopped). Specifically, the processor 32 sends a time measurement command to the time measurement unit 80 at time t1, and the time measurement unit 80 begins measuring the elapsed time t from time t1 in response to the time measurement command.

[0246] In step S105, the processor 32 determines whether the elapsed time t measured by the time measuring unit 80 exceeds a predetermined threshold value t th2 exceeded or not (ie t ≥ t th2 ). The specified threshold value t th2 can be set to be a shorter (or longer) time than the predetermined threshold t described above th1 . The processor 32 proceeds upon determining that t ≥ t th2applies, and thus if YES is determined, proceeds to step S94, and if NO is determined, proceeds to step S93.

[0247] If NO is determined in step S105, the processor 32 executes the above-described step S93, and determines whether the processor 32 has issued a command (e.g., the above-described command CM5, CM6, or CM7) for a function FN (e.g., the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5) which is executed by the currently executed direct teaching function FN2 _5 is different, has received or not. The processor 32 proceeds to step S94 upon determining YES, and proceeds to step S106 upon determining NO.

[0248] In step S106, the processor 32 determines, as in step S24, whether the direct teach function FN2 _5is deactivated or not, proceeds to step S94 if YES is determined, and proceeds to step S107 if NO is determined.

[0249] In step S107, the processor 32 acquires the handling force Fh as in step S21 described above. In step S108, the processor 32 determines whether the magnitude of the handling force Fh acquired in the most recent step S107 exceeds the predetermined threshold value Fh. th exceeds or not, as in step S22 described above. The processor 32 returns to step S23 upon determining YES, and returns to step S105 upon determining NO.

[0250] On the other hand, if YES is determined in step S105, S93 or S106, the processor 32 executes the above-described step S94, terminates the direct teaching function FN2 _5 in Fig. 27, and generates the notification signal SG, which indicates the end of the direct teach function FN2 _5The processor 32 then terminates the process in Fig. 27.

[0251] As described above, when YES is determined in step S103 (ie, the robot 12 is stopped), the processor 32 repeatedly executes a loop of steps S105, S93, and S106 to S108 as long as NO is determined in steps S105, S93, S106, and S108. Then, when the elapsed time t from the time t1 at which YES is determined in step S103 exceeds the threshold value t th2 exceeds (if the time period t th2 expires), the processor 32 automatically terminates the direct teach function FN2 _5 in step S94.

[0252] As described above, in the present embodiment, the direct teaching execution unit 52 terminates the direct teaching function FN2 _5 , if the elapsed time t from the time t1 at which the signal generated by the Direct Teach function FN2 _5operated robot 12 is stopped (ie the time at which YES is determined in step S103), the predetermined threshold value t th2 If the operator presses FN2 during the execution of the direct teach function in this configuration _5 is absent, it is possible to prevent the robot 12 from being operated unintentionally by being accidentally pushed by a third person.

[0253] The process of Fig. 26 shown direct teach function FN2 _4 , or the one in Fig. 27 shown direct teach function FN2 _5 can be applied to the step S3 or S3' described above. That is, in this case, the Fig. 2 or Fig. 9 also includes the timing unit 80.

[0254] For example, if the Fig. 26 shown direct teach function FN2 _4applied to step S3, the time t0 at which the processor 32 starts the process in Fig. 26 starts, the time at which the above-described start command for the direct teaching function is received (ie the time at which YES is determined in step S1). If the Fig. 26 shown direct teach function FN2 _4 applied to step S3', the time t0 at which the process in Fig. 26 begins, the time at which the ON signal of the activation switch is received (ie, the time at which YES is determined in the above-described step S31 or S34).

[0255] In addition, step S93 in the process can be Fig. 26 or Fig. 27 can be omitted. In step S94 in Fig. 26 or Fig. 27, the processor 32 can use the direct teach function FN2 _4 or FN2 _5without generating the notification signal SG. That is, in this case, the notification signal generation unit 53 can be Fig. 25 shown control 16 can be omitted.

[0256] It should be noted that the functions of the Fig. 2, Fig. 9, Fig. 19 and Fig. 25 shown control 16 can be combined with each other. Such an embodiment is shown in Fig. 28. The Fig. The controller 16 shown in Fig. 28 comprises the safety function execution unit 50, the direct teaching execution unit 52, the operation parameter acquisition unit 54, the function switching unit 56, the safety function determination unit 58, the threshold switching unit 60, the resistance force control unit 62 and the time measuring unit 80, and selectively executes the processes in Fig. 3, Fig. 5 to Fig. 8, Fig. 11 to Fig. 13, Fig. 18, Fig. 20, Fig. 21, Fig. 23, Fig. 26, and Fig. 27 out.

[0257] In addition, the processes in Fig. 3, Fig. 5 to Fig. 8, Fig. 11 to Fig. 13, Fig. 18, Fig. 20, Fig. 21, Fig. 23, Fig. 26, and Fig. 27. For example, the steps can be combined by executing steps S61 to S66 in Fig. 20 after step S23 in Fig. 27 with the expiration in Fig. 27. The Fig. 21 and Fig. The processes shown in Figure 23 can be used equally with the Fig. 27. It should be noted that the processes in Fig. 3, Fig. 5 to Fig. 8, Fig. 11 to Fig. 13, Fig. 18, Fig. 20, Fig. 21, Fig. 23, Fig. 26, and Fig. 27 examples are given, and the processes of these procedures can be modified or deleted in an appropriate manner, or any other processes can be added.

[0258] The processor 32 can execute the processes in Fig. 3, Fig. 5 to Fig. 8, Fig. 11 to Fig. 13, Fig. 18, Fig. 20, Fig. 21, Fig. 23, Fig. 26, and Fig. 27 according to the computer program PG2. This computer program PG2 can be pre-stored in the memory 23. The functions of the safety function execution unit 50, the direct teach execution unit 52, the operation parameter acquisition unit 54, the function switching unit 56, the safety function determination unit 58, the threshold switching unit 60, and the resistance force control unit 62, which are executed by the processor 32, can be functional modules implemented by the computer program PG.

[0259] Furthermore, the robot 12 is not limited to being a vertical articulated robot and may be any other type of robot, such as a horizontal articulated robot, a parallel link robot, or the like. Although the present disclosure has been described above using embodiments, the above-described embodiments do not limit the scope of the invention as claimed. List of reference symbols 10 Robot system 12 robots 14 Force sensor 14A torque sensor 14B force detection sensor 16 Control 18 Teaching device 34 storage 50 Safety function execution unit 52 Direct Teach Execution Unit 54 Operation parameter acquisition unit 56 Function switching unit 58 Safety function determination unit 60 Threshold switching unit 62 Resistance control unit QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature

[0000] JP 2015-182142 A

[0003]

Claims

[1] A controller designed to control an operation of a robot, the controller comprising: a safety function execution unit configured to perform a safety function for monitoring at least one of a contact force exerted on the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot if the at least one of the contact force, the speed, and the acceleration exceeds a predetermined threshold value, and a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot in parallel with the safety function executed by the safety function execution unit. [2] The controller according to claim 1, wherein the robot is provided with a force sensor configured to detect an external force applied to the robot, and wherein the safety function execution unit and the direct teaching execution unit respectively execute the safety function and the direct teaching function based on detection data of the common force sensor. [3] The controller of claim 1 or 2, further comprising: a function switching unit designed to switch the safety function between activated and deactivated by the safety function execution unit, and a safety function detection unit configured to detect whether the safety function is enabled or disabled when the direct teach execution unit executes the direct teach function, wherein the direct teaching execution unit does not execute the direct teaching function if the safety function determination unit determines that the safety function is deactivated. [4] The controller according to any one of claims 1 to 3, wherein the robot is provided with a force sensor (14) configured to detect an external force applied to the robot, the force sensor comprising two-line detection parts both detecting a force in one direction, the safety function execution unit executing in parallel: a first safety function for monitoring a first contact force obtained based on detection data of one of the two-line detection parts, and a second safety function for monitoring a second contact force obtained based on detection data of the other of the two-line detection parts, and wherein the direct teaching execution unit obtains the handling force based on the detection data of at least one of the two-line detection parts in the direct teaching function. [5] The controller according to any one of claims 1 to 4, further comprising a threshold switching unit configured to switch the threshold between a first threshold and a second threshold greater than the first threshold, wherein the threshold switching unit switches the threshold from the first threshold to the second threshold when the direct teaching execution unit starts the direct teaching function or when at least one of the contact force, the speed, and the acceleration exceeds a third threshold during the execution of the direct teaching function. [6] A controller designed to control an operation of a robot, the controller comprising: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, an operation parameter acquisition unit configured to obtain a speed or to achieve an acceleration of the robot during the execution of the Direct Teach function, and a resistance force control unit configured to change a resistance force against the handling force in response to the speed or acceleration acquired by the operation parameter acquisition unit. [7] The controller according to claim 6, wherein the resistance force control unit changes the resistance force by changing an acceleration setting value defining a maximum value of the acceleration in response to the speed or the acceleration acquired by the operation parameter obtaining unit. [8] The controller of claim 6, further comprising a memory configured to prestore characteristic data indicating a relationship between the handling force and an acceleration setting value defining a maximum value of the acceleration, wherein the direct teaching execution unit determines the acceleration setting value during the execution of the direct teaching function by applying the handling force to the characteristic data, and wherein the resistance force control unit changes the resistance force by changing the characteristic data in response to the speed or acceleration acquired by the operation parameter obtaining unit. [9] The controller according to claim 6, wherein the direct teaching execution unit generates a command for an actuator of the robot to operate the robot with the direct teaching function, and wherein the resistance force control unit changes the resistance force in response to the speed or acceleration obtained by the operation parameter obtaining unit by changing the command generated by the direct teaching execution unit. [10] A controller designed to control an operation of a robot, the controller comprising: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, wherein, after the direct teaching execution unit receives a command to execute the direct teaching function and starts the direct teaching function, the direct teaching execution unit continuously executes the direct teaching function without receiving the command again. [11] A controller designed to control an operation of a robot, the controller comprising: a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, wherein the direct teaching execution unit terminates the direct teaching function when an elapsed time exceeds a predetermined threshold, the elapsed time running from a time when the direct teaching execution unit receives a command to start the direct teaching function, a time when the direct teaching execution unit starts the direct teaching function, or a time when the robot operated with the direct teaching function is stopped. [12] The controller of claim 11, further comprising a time measuring unit configured to measure elapsed time. [13] The controller according to claim 11 or 12, wherein the direct teaching execution unit terminates the direct teaching function when the direct teaching execution unit receives a command for a function other than the direct teaching function during the execution of the direct teaching function. [14] The controller according to any one of claims 11 to 13, further comprising a notification signal generation unit configured to generate a notification signal for notifying the end of the direct teaching function when the direct teaching execution unit terminates the direct teaching function. [15] A controller designed to control an operation of a robot, the controller comprising: a safety function execution unit configured to perform a safety function for monitoring at least one of a contact force exerted on the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot if the at least one of the contact force, the speed, and the acceleration exceeds a predetermined threshold value, and a direct teaching execution unit configured to execute a direct teaching function for operating the robot according to a handling force applied to the robot, wherein the robot is provided with a force sensor configured to detect an external force applied to the robot, and wherein 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 of the common force sensor. [16] Robot system comprising: a robot, and the controller according to one of claims 1 to 15, which is designed to control the robot. [17] A method for controlling an operation of a robot, the method comprising: Executing, by a processor, a safety function for monitoring at least one of a contact force exerted on the robot during operation, a speed of the robot, and an acceleration of the robot, and for stopping the operation of the robot, if at least one of the contact force, the speed and the acceleration exceeds a predetermined threshold, and Executing, by the processor, a direct teach function to operate the robot according to a handling force applied to the robot, in parallel with the safety function. [18] A method for controlling an operation of a robot, the method comprising: Executing, by a processor, a direct teach function for operating the robot according to a handling force applied to the robot, Obtaining, by the processor, a speed or acceleration of the robot during the execution of the Direct Teach function, and Changing, by the processor, a resistance force to the handling force in response to the acquired velocity or acceleration. [19] A method for controlling an operation of a robot, the method comprising: Executing, by a processor, a direct teach function for operating the robot according to a handling force applied to the robot, and Terminating, by the processor, the direct teaching function when an elapsed time exceeds a predetermined threshold, the elapsed time running from a time when a command to start the direct teaching function is received, a time when the direct teaching function is started, or a time when the robot operated with the direct teaching function is stopped.

Citation Information

Patent Citations

  • Industrial robot that works alongside humans and has a mimicry function

    DE102015004426B4

  • Robot control device equipped with handles for operating a robot

    DE102016011698B4

  • Human-cooperating robot system

    DE102017003000B4

  • Human-robot collaboration system with a safety assurance function for a robot

    DE102018100217B4

  • teaching device FOR ROBOTS

    DE69622572T2