ROBOT CONTROL DEVICE, ROBOT SYSTEM, AND ROBOT CONTROL METHOD
The control device monitors and controls robot operation using contact force, velocity, and acceleration thresholds to ensure safety and precise direct teach functions, addressing operator safety concerns during robot operation.
Patent Information
- Application Number
- JP2023521916
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2042-06-30
AI Technical Summary
Ensuring operator safety during the direct teach function of robots, where external forces are applied to control the robot's operation, is a challenge as existing systems lack effective monitoring and control mechanisms.
A control device that monitors contact force, velocity, and acceleration applied to the robot, executing a safety function to stop operations when thresholds are exceeded, and a direct teach function to operate the robot based on applied forces, using a common force sensor for both functions to ensure precise and safe operation.
The solution provides simultaneous execution of safety and direct teach functions, ensuring operator safety by stopping operations when thresholds are exceeded and allowing controlled robot movement based on applied forces, reducing the need for additional switches and enhancing precision.
Smart Images

Figure 0007614344000001 
Figure 0007614344000002 
Figure 0007614344000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a robot control device, a robot system, and a robot control method. [Background technology]
[0002] 2. Description of the Related Art A direct teach function is known in which an external force is applied to a robot, and the robot is caused to move in accordance with the external force (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2015-182142 A Summary of the Invention [Problem to be solved by the invention]
[0004] Conventionally, when the direct teach function is executed, it is required to ensure the safety of the operator. [Means for solving the problem]
[0005] In one aspect of the present disclosure, a control device that controls the operation of a robot includes a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, the speed and acceleration of the robot, and executes a safety function that stops the operation of the robot when at least one of these exceeds a predetermined threshold, and a direct teach execution unit that executes a direct teach function that operates the robot in accordance with an operating force applied to the robot, in parallel with the safety function executed by the safety function execution unit.
[0006] In another aspect of the present disclosure, a control device that controls the operation of a robot includes a direct teach execution unit that executes a direct teach function to cause the robot to operate in accordance with an operating force applied to the robot, an operation parameter acquisition unit that acquires the speed or acceleration of the robot while the direct teach function is being executed, and a resistance force control unit that changes the resistance force against the operating force in accordance with the speed or acceleration acquired by the operation parameter acquisition unit.
[0007] In yet another aspect of the present disclosure, a control device that controls the operation of a robot includes a direct teach execution unit that executes a direct teach function that causes the robot to operate according to an operating force applied to the robot, and the direct teach execution unit terminates the direct teach function when a command to start the direct teach function is received, when the direct teach function is started, or when the elapsed time from when the robot operating using the direct teach function is stopped exceeds a predetermined threshold value.
[0008] In yet another aspect of the present disclosure, a control device that controls the operation of a robot includes a direct teach execution unit that executes a direct teach function that causes the robot to operate in accordance with an operating force applied to the robot, and after the direct teach execution unit receives a command to execute the direct teach function and starts the direct teach function, the direct teach execution unit continues to execute the direct teach function without receiving the command again.
[0009] In yet another aspect of the present disclosure, a control device for controlling the operation of a robot includes a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, the speed and acceleration of the robot, and executes a safety function to stop the operation of the robot when at least one of the contact force and the speed and acceleration of the robot exceeds a predetermined threshold, and a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot. The robot is provided with a force sensor that detects an external force applied to the robot. The safety function execution unit and the direct teach execution unit execute the safety function and the direct teach function, respectively, based on detection data of a common force sensor.
[0010] In yet another aspect of the present disclosure, a method for controlling movement of a robot includes a processor monitoring at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, executing a safety function to stop the movement of the robot when at least one of the contact force and the velocity and acceleration of the robot exceed a predetermined threshold, and executing, in parallel with the safety function, a direct teach function to move the robot according to the operating force applied to the robot.
[0011] In yet another aspect of the present disclosure, a method for controlling movement of a robot includes a processor executing a direct teach function for moving the robot according to an operational force applied to the robot, acquiring a velocity or acceleration of the robot while the direct teach function is being executed, and varying a resistance force to the operational force according to the acquired velocity or acceleration.
[0012] In yet another aspect of the present disclosure, a method for controlling the movement of a robot includes a processor executing a direct teach function that causes the robot to move in accordance with an operating force applied to the robot, and terminating the direct teach function when a command to start the direct teach function is received, the direct teach function is started, or the robot that was operating using the direct teach function is stopped exceeds a predetermined threshold. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a schematic diagram of a robot system according to an embodiment. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] 3 is a flowchart showing an example of an operation flow of the robot system shown in FIG. 2. [Figure 4] 13 shows an example of a direct teach image. [Diagram 5] 4 is a flowchart showing an example of the process of step S2 in FIG. 3. [Figure 6] 4 is a flowchart showing an example of the process of step S3 in FIG. 3. [Figure 7] 10 is a flowchart showing another example of the operation flow of the robot system shown in FIG. 2. [Figure 8] 8 is a flowchart showing an example of the process of step S3' in FIG. 7. [Figure 9] FIG. 3 is a block diagram showing other functions of the robot system shown in FIG. 2. [Figure 10] 13 shows an example of a safety function setting image. [Figure 11] 10 is a flowchart showing an example of an operation flow of the robot system shown in FIG. [Figure 12] 12 is a flowchart showing an example of the process of step S3 in FIG. 11. [Figure 13] 12 is a flowchart showing an example of the process of step S2 in FIG. 11. [Figure 14] FIG. 1 is a schematic diagram of a torque sensor according to an embodiment. [Figure 15] FIG. 1 is a schematic diagram of a force sensor according to an embodiment. [Figure 16] FIG. 16 is a block diagram for explaining a safety function and a direct teach function executed by using the force sensor shown in FIG. 14 or FIG. 15. [Figure 17] FIG. 17 is a block diagram showing a processor that executes the safety function and the direct teach function shown in FIG. 16. [Figure 18]11 is a flowchart illustrating an example of the flow of a failure detection function. [Figure 19] 3 is a block diagram showing still another function of the robot system shown in FIG. 2. [Figure 20] 20 is a flowchart showing an example of a direct teach function executed by the control device shown in FIG. 19. [Figure 21] 20 is a flowchart showing another example of the direct teach function executed by the control device shown in FIG. 19. [Figure 22] Graphs of characteristic data are shown. [Figure 23] 20 is a flowchart showing yet another example of the direct teach function executed by the control device shown in FIG. 19. [Figure 24] FIG. 2 is a block diagram showing a method for generating commands to an actuator. [Diagram 25] 3 is a block diagram showing still another function of the robot system shown in FIG. 2. [Figure 26] 26 is a flowchart showing an example of a direct teach function executed by the control device shown in FIG. 25. [Figure 27] 26 is a flowchart showing another example of the direct teach function executed by the control device shown in FIG. 25. [Figure 28] 3 is a block diagram showing still another function of the robot system shown in FIG. 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present disclosure will be described in detail with reference to the drawings. In various embodiments described below, similar elements are given the same reference numerals, and duplicated description will be omitted. First, a robot system 10 according to one embodiment will be described with reference to Figs. 1 and 2. The robot system 10 includes a robot 12, a force sensor 14 (Fig. 2), a control device 16, and a teaching device 18. In this embodiment, the robot 12 is a vertical articulated robot, and includes a robot base 20, a rotating body 22, a lower arm 24, an upper arm 26, a wrist 28, and an end effector 30. The robot base 20 is fixed onto the floor of a work cell or onto an automated guided vehicle (AGV).
[0015] The rotating body 22 is provided on the robot base 20 so as to be rotatable around a vertical axis. The lower arm 24 is provided on the rotating body 22 so as to be rotatable around a horizontal axis, and the upper arm 26 is rotatably provided at the tip of the lower arm 24. The wrist 28 has a wrist base 28a provided at the tip of the upper arm 26 so as to be rotatable around two axes that are perpendicular to each other, and a wrist flange 28b rotatably provided on the wrist base 28a.
[0016] A plurality of actuators 31 (FIG. 2) are provided on each of the robot base 20, the rotating body 22, the lower arm 24, the upper arm 26, and the wrist 28. These actuators 31 have servo motors or the like, and rotate each movable component of the robot 12 (i.e., the rotating body 22, the lower arm 24, the upper arm 26, the wrist 28, and the wrist flange 28b) in response to a command from the control device 16, thereby moving the end effector 30.
[0017] Each actuator 31 is provided with a rotation detection sensor 33. The rotation detection sensor 33 has, for example, an encoder or a Hall element, and detects the rotation position (or the rotation angle) of the output shaft 31a of the actuator 31 (specifically, a servo motor). The rotation detection sensor 33 supplies detection data of the detected rotation position to the control device 16 as feedback FB.
[0018] The end effector 30 is detachably attached to the wrist flange 28b. The end effector 30 has, for example, a robot hand, a welding gun, a laser processing head, or a cutting tool, and performs a predetermined operation (such as work handling, welding, laser processing, or cutting) on a workpiece (not shown).
[0019] The force sensor 14 detects an external force F applied to the robot 12. In this embodiment, the force sensor 14 has a plurality of torque sensors 14A provided on the output shafts 31a of the plurality of actuators 31, respectively. Each torque sensor 14A has at least one sensor element (e.g., a strain gauge or a piezoelectric element), and detects the torque τ applied to the output shaft 31a of the actuator 31 (servo motor) as a force component of the external force F. Each torque sensor 14A supplies detection data DDτ of the detected torque τ to the control device 16.
[0020] The control device 16 controls the operation of the robot 12. As shown in Fig. 2, the control device 16 is a computer having a processor 32, a memory 34, and an I / O interface 36. The processor 32 has a CPU, a GPU, or the like, and is communicatively connected to the memory 34 and the I / O interface 36 via a bus 38.
[0021] The processor 32 communicates with the memory 34 and the I / O interface 36 and performs arithmetic processing to execute various functions FN of the robot 12, such as a safety function FN1 and a direct teach function FN2, which will be described later. Specifically, in order to execute the functions FN of the robot 12, the processor 32 generates commands (e.g., position commands, speed commands, torque commands) for each actuator 31 (servomotor), and drives each actuator 31 according to the commands. This allows the robot 12 to position the end effector 30 at any position. Note that in this document, "position" may refer to both position and posture.
[0022] The memory 34 has a RAM or a ROM, etc., and temporarily or permanently stores various data. The memory 34 may be a computer-readable recording medium, such as a semiconductor memory, a magnetic recording medium, or an optical recording medium. The I / O interface 36 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with an external device in a wired or wireless manner under a command from the processor 32. The above-mentioned force sensor 14 (torque sensor 14A), teaching device 18, and actuator 31 are connected to the I / O interface 36 in a wired or wireless manner so as to be able to communicate with each other.
[0023] The control device 16 is provided with an input device 40 and a display device 42. The input device 40 has a push button, a switch, a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 42 has a liquid crystal display, an organic EL display, or the like, and visibly displays various data under instructions from the processor 32.
[0024] The display device 42 and the input device 40 are communicatively connected to the I / O interface 36. The display device 42 and the input device 40 may be integrated into the housing of the control device 16, or may be externally attached to the housing of the control device 16 as a computer (such as a PC) separate from the housing.
[0025] The teaching device 18 is a computer such as a teaching pendant or a tablet terminal device, and teaches the robot 12 how to operate. Specifically, the teaching device 18 has a processor (not shown), a memory (not shown), a display device 44, an input device 46, and an enable switch 48. The display device 44 has a liquid crystal display, an organic EL display, or the like, and displays various data. The input device 46 has a push button, a switch, a touch panel, or the like, and accepts data input from an operator.
[0026] The operator operates the input device 46 to execute various functions FN of the robot 12, such as a teaching function FN3, an automatic driving function FN4, and an operation confirmation function FN5. The teaching function FN3 is a function FN for teaching the robot 12 an operation for a task (such as work handling, welding, laser processing, or cutting processing).
[0027] During execution of this teaching function FN3, the operator can operate the input device 46 to jog the robot 12 via the control device 16 and position the end effector 30 at a desired teaching position TP. The processor of the teaching device 18 obtains teaching data such as the teaching position TP and the speed V at which the end effector 30 is moved to the teaching position TP, and creates an operation program PG1 in which the teaching position TP and the speed V are specified as instruction codes based on the teaching data. The processor 32 of the control device 16 obtains the created operation program PG1 from the teaching device 18 and stores it in the memory 34.
[0028] On the other hand, the automatic operation function FN4 is a function FN that automatically operates the robot 12 according to the created operation program PG1 and executes a task on a workpiece. The operator operates the input device 46 to cause the processor 32 of the control device 16 to start the automatic operation function FN4. After starting this automatic operation function FN4, the processor 32 generates commands for each actuator 31 according to the operation program PG1 stored in the memory 34, and automatically operates the robot 12 to execute a task on a workpiece.
[0029] In the automatic operation function FN4, the robot 12 and the operator may cooperate to perform some tasks. Specifically, the processor 32 may execute a direct teach function FN2, which will be described later, for some tasks, and operate the robot 12 according to an operating force Fh applied to the robot 12 by the operator.
[0030] The operation checking function FN5 is a function FN that causes the robot 12 to try out an operation taught to the robot 12 by the teaching function FN3 in order to check the operation. The operator can cause the processor 32 of the control device 16 to execute the operation checking function FN5 by operating the input device 46.
[0031] After starting the operation checking function FN5, the processor 32 causes the robot 12 to experimentally execute the incomplete operation program PG1' generated during the teaching in the above-mentioned teaching function FN3. This allows the operator to check the operation taught to the robot 12 (i.e., the suitability of the operation program PG1').
[0032] The control device 16 or the teaching device 18 may be provided with a changeover switch SW (not shown) for switching the above-mentioned functions FN of the robot 12 among a teaching function FN3, an automatic driving function FN4, and an operation confirmation function FN5. This changeover switch SW may be a physical switch or a virtual switch on software that is displayed as an image on the display device 42 or 44.
[0033] The enable switch 48 is a physical switch for permitting an operator to manually operate the robot 12. Specifically, the enable switch 48 is switchable among an initial position P0, a first pressed position P1 which is pressed a predetermined amount from the initial position P0, and a second pressed position P2 which is pressed a predetermined amount from the first pressed position P1.
[0034] When the operator presses the enable switch 48 to the first depressed position P1, the enable switch 48 turns ON, and the processor of the teaching device 18 becomes capable of executing the above-mentioned teaching function FN3 or another direct teach function FN2' described later, and is permitted to operate the robot 12 via the control device 16.
[0035] On the other hand, when the enable switch 48 returns to the initial position P0 or is further pressed to the second pressed position P2 while the robot 12 is in operation, the enable switch 48 turns OFF, and the processor of the teaching device 18 sends an enable switch OFF signal to the control device 16. Upon receiving the enable switch OFF signal, the processor 32 of the control device 16 executes an emergency stop operation ES.
[0036] As one example of the emergency stop operation ES, the processor 32 stops the operation of the robot 12 by stopping commands (torque commands, etc.) to each actuator 31. As another example of the emergency stop operation ES, the processor 32 actuates a brake mechanism (not shown) that brakes the output shaft of each actuator 31, thereby forcibly stopping the operation of the robot 12.
[0037] Next, an example of an operation flow of the robot system 10 will be described with reference to Fig. 3. The processor 32 of the control device 16 starts the flow shown in Fig. 3 when it receives an operation start command (e.g., a power ON command) from an operator (i.e., the input device 40 or 46), a higher-level controller, or a computer program PG2.
[0038] In step S1, the processor 32 determines whether or not a direct teach function start command has been received. Specifically, the processor of the teaching device 18 generates a direct teach image 100 for inputting the direct teach function start command, and displays it on the display device 44 of the teaching device 18. An example of the direct teach image 100 is shown in FIG.
[0039] 4, the direct teach image 100 includes a direct teach start button image 102 and a direct teach end button image 104. The operator can select the direct teach start button image 102 or the direct teach end button image 104 by operating the input device 46 and clicking the direct teach start button image 102 or the direct teach end button image 104 displayed on the direct teach image 100.
[0040] When the processor of the teaching device 18 receives an input to select the direct teach start button image 102, it transmits a direct teach function start command to the control device 16. On the other hand, when the processor of the teaching device 18 receives an input to select the direct teach end button image 104, it transmits a direct teach function end command to the control device 16. Note that while the direct teach function start command is an ON (or "1") signal, the direct teach function end command may be an OFF (or "0") signal.
[0041] In step S1, the processor 32 of the control device 16 judges YES if a direct teach function start command has been received, enables the direct teach function FN2 (for example, sets the direct teach function FN2 to "ON" or sets an execution flag for the direct teach function FN2), starts steps S2 and S3 described below, and proceeds to step S4. On the other hand, if the processor 32 has not received a direct teach function start command, it judges NO, and proceeds to step S6.
[0042] In step S4, processor 32 determines whether or not the above-mentioned direct teach function end command has been received. If processor 32 has received the direct teach function end command, it determines YES and proceeds to step S5, whereas if it determines NO, it loops step S4. In step S5, processor 32 disables direct teach function FN2 (for example, it sets the direct teach function FN2 to "OFF" or clears the execution flag for direct teach function FN2).
[0043] In step S6, the processor 32 determines whether or not an operation end command (e.g., a shutdown command) has been received from an operator (i.e., the input device 40 or 46), a higher-level controller, or the computer program PG2. If an operation end command has been received, the processor 32 determines YES, and ends the flow shown in Fig. 3. On the other hand, if the processor 32 determines NO, the process returns to step S1.
[0044] In this embodiment, when the processor 32 determines YES in step S1 and enables the direct teach function FN2, the processor 32 executes the safety function FN1 in step S2 and the direct teach function FN2 in step S3 in parallel. Hereinafter, an example of the flow of the safety function FN1 executed in step S2 will be described with reference to FIG.
[0045] In step S11, the processor 32 acquires motion parameters OP of the robot 12. The motion parameters OP include at least one of a contact force Fc applied to the robot 12 during motion, a velocity V of the robot 12, and an acceleration a of the robot 12. With respect to the contact force Fc, the processor 32 acquires an external force F applied to any part of the robot 12 (for example, the lower arm 24, the upper arm 26, the wrist 28, or the end effector 30) based on the detection data DD of the force sensor 14.
[0046] Specifically, the processor 32 acquires detection data DDτ of each torque sensor 14A and detects the external force F based on the detection data DDτ. The processor 32 executes a predetermined calculation CL1 using the detection data DDτ of each torque sensor 14A, thereby determining the magnitude of the external force F applied to the robot 12. The processor 32 acquires the determined external force F as a contact force Fc applied to the robot 12 as a result of the robot 12 coming into contact with surrounding objects (operator, environmental objects, etc.) during operation.
[0047] Regarding the velocity V and acceleration a, the processor 32 acquires feedback FB (i.e., the rotational position or rotational angle of the actuator 31) from the rotation detection sensor 33 provided in each actuator 31. Then, the processor 32 acquires the velocity V of the robot 12 (specifically, the end effector 30) by time-differentiating the feedback FB.
[0048] Moreover, 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. Below, a case will be described in which the processor 32 obtains all of the contact force Fc, the velocity V, and the acceleration a as the operation parameter OP.
[0049] In step S12, the processor 32 determines whether the motion parameters OP (i.e., contact force Fc, velocity V, and acceleration a) acquired in the most recent step S11 have exceeded a predetermined threshold. th (i.e., Fc ≥ Fc th ) or not.
[0050] The processor 32 also detects whether the most recently acquired speed V is greater than or equal to a predetermined threshold value v th (i.e., V ≥ V th) and whether the most recently acquired acceleration a is greater than or equal to a predetermined threshold a th (i.e., a ≧ a th In step S12, the processor 32 determines whether Fc ≧ Fc th , V ≥ V th , or a ≧ a th If Fc <Fc th , V <V th , and a th If so, the result is NO, and the process proceeds to step S14.
[0051] In step S13, the processor 32 stops the operation of the robot 12. Specifically, the processor 32 executes the emergency stop operation ES described above to bring the operation of the robot 12 to an emergency stop. By this step S13, when the robot 12 collides with the operator (or an environmental object), the robot 12 can be stopped, thereby ensuring the safety of the operator.
[0052] In step S14, the processor 32 determines whether the direct teach function FN2 was disabled in the above-mentioned step S5. If the direct teach function FN2 was disabled, the processor 32 determines YES, and ends the safety function FN1 in step S2. On the other hand, if the direct teach function FN2 is enabled, the processor 32 determines NO, and returns to step S11.
[0053] In this manner, the processor 32 repeatedly executes the loop of steps S11 to S14 until it determines YES in step S14, thereby monitoring the motion parameters OP (contact force Fc, velocity V, and acceleration a) and determining whether the motion parameters OP are greater than or equal to the threshold value Fc. th , V th and a th When the detected value exceeds the threshold, the processor 32 executes a safety function FN1 that stops the operation of the robot 12. Therefore, the processor 32 functions as a safety function execution unit 50 (FIG. 2) that executes the safety function FN1.
[0054] Next, the direct teach function FN2 in step S3 will be described with reference to FIG. 6. In step S21, the processor 32 acquires an operating force Fh applied to the robot. Specifically, the operator applies the operating force Fh to any part of the robot 12 (for example, the lower arm 24, the upper arm 26, the wrist 28, or the end effector 30). Note that an operating handle (not shown) may be provided to any part of the robot 12 that the operator wishes to operate. In this case, the operator can apply the operating force Fh to any part of the robot 12 by operating the operating handle.
[0055] The processor 32 acquires an external force F applied to an arbitrary part of the robot 12 based on the detection data DD of the force sensor 14. In the present embodiment, the processor 32 acquires detection data DDτ of each torque sensor 14A, and detects the external force F based on the detection data DDτ.
[0056] Specifically, the processor 32 executes a predetermined calculation CL2 using the detection data DDτ of each torque sensor 14A, thereby determining the magnitude and direction of the external force F applied to the robot 12 and identifying the part of the robot 12 to which the external force F is applied. The processor 32 acquires the determined external force F as an operating force Fh applied to the robot 12 by the operator.
[0057] In step S22, the processor 32 determines whether the magnitude of the operational force Fh acquired in the most recent step S21 is equal to or smaller than a predetermined threshold value Fh th (i.e., Fh ≥ Fh th ) is judged. th is the above threshold Fc th A value smaller than (Fh th <Fc th ) The processor 32 sets Fh ≧ Fh th If so, the determination is YES and the process proceeds to step S23, whereas if the determination is NO, the process proceeds to step S24.
[0058] In step S23, the processor 32 operates the robot 12 according to the operational force Fh. Specifically, the processor 32 generates a command to move a part of the robot 12 (e.g., the end effector 30) to which the operational force Fh obtained in the most recent step S21 has been applied, in the direction of the operational force Fh, and drives each actuator 31 in accordance with the command. As a result, the robot 12 moves the part to which the operator has applied the operational force Fh, in the direction of the operational force Fh.
[0059] In addition, in step S23, the processor 32 may move the part of the robot 12 to which the operational force Fh is applied by a predetermined distance d in the direction of the operational force Fh. In this case, if the operator releases the operational force Fh on the robot 12 after step S23 (i.e., releases the robot 12), the robot 12 automatically stops after moving by the predetermined distance d.
[0060] Furthermore, when the processor 32 is operating the robot 12 in this step S23 and determines YES in step S12 in step S2 (FIG. 5) that is executed in parallel, the processor 32 prioritizes execution of step S13 in step S2 and stops the robot 12. Thereafter, the processor 32 may be prohibited from executing this step S23 until it determines NO in step S12 in step S2 (or until a predetermined time has elapsed).
[0061] In step S24, the processor 32 determines whether or not the direct teach function FN2 was disabled in the above-mentioned step S5, similarly to the above-mentioned step S14. If the processor 32 determines YES, it ends the direct teach function FN2 in step S3. As a result, the robot 12 stops operating based on the direct teach function FN2. On the other hand, if the processor 32 determines NO, it returns to step S21.
[0062] In this manner, the processor 32 executes the loop of steps S21 to S24 repeatedly until it determines YES in step S24, thereby executing the direct teach function FN2 that operates the robot 12 according to the operating force Fh applied to the robot 12. Therefore, the processor 32 functions as a direct teach execution unit 52 (FIG. 2) that executes the direct teach function FN2.
[0063] As described above, in this embodiment, the processor 32 executes the safety function FN1 in step S2 and the direct teach function FN2 in step S3 in parallel. The processor 32 may execute the loop of steps S11 to S14 in step S2 and the loop of steps S21 to S24 in step S3 in synchronization with each other (or alternately) at a predetermined control period (for example, 1 msec).
[0064] Furthermore, in step S21 of step S3, the processor 32 may calculate the operating force Fh based on the detection data DDτ used to obtain the contact force Fc in step S11 of step S2. Alternatively, in step S21 of step S3, the processor 32 may calculate the operating force Fh based on the detection data DDτ obtained at a time point different from the detection data DDτ used to obtain the contact force Fc in step S11 of step S2.
[0065] In this embodiment, the processor 32 acquires the velocity V and acceleration a of the robot 12 in step S11 of step S2 while executing the direct teach function FN2 in step S3. Therefore, the processor 32 functions as a motion parameter acquisition unit 54 (FIG. 2) that acquires the velocity V and acceleration a while executing the direct teach function FN2.
[0066] As described above, in this embodiment, the control device 16 monitors at least one of the contact force Fc applied to the robot 12 during operation, the velocity V, and the acceleration a of the robot 12, and detects whether at least one of these (Fc, V, a) exceeds a predetermined threshold (Fc th , Vth , a th The robot 12 is provided with a safety function execution unit 50 that executes a safety function FN1 that stops the operation of the robot 12 when the robot 12 exceeds a certain threshold value (T1).
[0067] The control device 16 also includes a direct teach execution unit 52 that executes a direct teach function FN2 for operating the robot 12 according to an operating force Fh applied to the robot 12, in parallel with the safety function FN1 executed by the safety function execution unit 50. With this configuration, the direct teach function FN2 can be executed without using the enable switch 48 described above.
[0068] More specifically, in the case of the other direct teach function FN2', in order to ensure the safety of the operator, when the processor 32 detects that the operator has turned on the enable switch 48, it disables the safety function FN1 and then executes the direct teach function FN2'.
[0069] In this embodiment, the processor 32 executes the direct teach function FN2 in parallel with the safety function FN1, thereby making it possible to eliminate the need to operate the enable switch 48, and the safety of the operator during execution of the direct teach function FN2 can be sufficiently ensured by the safety function FN1. The other direct teach function FN2' will be described later.
[0070] In this embodiment, the safety function execution unit 50 and the direct teach execution unit 52 execute the safety function FN1 and the direct teach function FN2, respectively, based on the detection data DDτ of the common force sensor 14 (specifically, the torque sensor 14A). According to this configuration, both the safety function FN1 and the direct teach function FN2 can be executed with high accuracy.
[0071] Moreover, costs can be reduced by sharing the force sensor 14 between the safety function FN1 and the direct teach function FN2. Also, the control cycles of the safety function FN1 (specifically, the loop of steps S11 to S14 described above) and the direct teach function FN2 (specifically, the loop of steps S21 to S24 described above) can be synchronized with each other to execute the safety function FN1 and the direct teach function FN2 in parallel based on the same (i.e., common) detection data DDτ.
[0072] In the present embodiment, in step S11, the processor 32 acquires the contact force Fc while executing the direct teach function FN2, and also functions as the motion parameter acquisition unit 54 to acquire the velocity V and acceleration a. However, this is not limiting, and in step S11, the processor 32 may acquire the contact force Fc but may not acquire the velocity V and acceleration a. In this case, the motion parameter acquisition unit 54 may be omitted from the control device 16.
[0073] Furthermore, when acquiring the contact force Fc in the above-mentioned step S11, the processor 32 may acquire only the magnitude of the contact force Fc by executing an operation CL1 different from the operation CL2 executed in the above-mentioned step S21. Alternatively, the processor 32 may execute, in step S11, an operation CL1 (=CL2) that is the same as the operation CL2 executed in step S21, to identify the magnitude and direction of the contact force Fc and the part of the robot 12 to which the contact force Fc is applied.
[0074] In addition, in this embodiment, the force sensor 14 has multiple torque sensors 14A, and the safety function execution unit 50 and the direct teach execution unit 52 execute the safety function FN1 and the direct teach function FN2 based on the detection data DDτ of the common torque sensor 14A.
[0075] However, the force sensor 14 is not limited thereto, and may have a plurality of torque sensors 14A and a force sensor 14B capable of detecting forces in six axial directions. The force sensor 14B is provided at any part of the robot 12 (for example, the robot base 20) and can detect an external force F applied to a part of the robot 12 located on the tip side of the installation position of the force sensor 14B.
[0076] In this case, the safety function execution unit 50 may execute the safety function FN1 based on the detection data DDf of the force sensor 14B (or the detection data DDτ of the torque sensor 14A), while the direct teach execution unit 52 may execute the direct teach function FN2 based on the detection data DDτ of the torque sensor 14A (or the detection data DDf of the force sensor 14B).
[0077] In the present embodiment, the case has been described in which the processor of the teaching device 18 generates the direct teach image 100 and displays it on the display device 44 of the teaching device 18. However, this is not limiting, and the processor 32 of the control device 16 may generate the direct teach image 100 and display it on the display device 42.
[0078] In this case, the operator may operate the input device 40 to select the direct teach start button image 102 or the direct teach end button image 104 in the direct teach image 100 displayed on the display device 42. When the operator selects the direct teach start button image 102, the processor 32 of the control device 16 receives a direct teach function start command through the input device 40.
[0079] In this embodiment, a case has been described in which the operator selects the direct teach start button image 102 or the direct teach end button image 104 displayed on the direct teach image 100 to send a direct teach function start command or a direct teach function end command to the processor 32.
[0080] However, the present invention is not limited to this, and a configuration may be adopted in which a physical switch (or a physical button) is provided in the control device 16 or the teaching device 18, and a direct teach function start command or a direct teach function end command is issued by operating the physical switch. Alternatively, the operator may tap any part of the robot 12 with his / her hand to give a direct teach function start command or a direct teach function end command to the processor 32. The processor 32 can detect the operator's tap operation on the robot 12 from the detection data DD of the force sensor 14. Also, the enable switch 48 may be provided in the control device 16, etc., instead of in the teaching device 18.
[0081] Next, another example of the operation flow of the robot system 10 will be described with reference to Fig. 7. In the flow shown in Fig. 7, the processor 32 executes the above-mentioned direct teach function FN2 and another direct teach function FN2' using the enable switch 48. In the flow shown in Fig. 7, the same processes as those in the flow of Fig. 3 are given the same step numbers, and duplicated explanations will be omitted. In the flow shown in Fig. 7, if the processor 32 determines NO in step S1 or after executing step S5, the processor 32 proceeds to step S31.
[0082] In step S31, the processor 32 determines whether the enable switch 48 has been turned ON (in other words, whether it has been pressed down to the first pressed down position P1). Specifically, when the enable switch 48 has been turned ON, the processor of the teaching device 18 transmits an enable switch ON signal to the control device 16. When the processor 32 has received the enable switch ON signal, the processor 32 determines YES, enables the direct teach function FN2' (sets the direct teach function FN2' to "ON" or sets an execution flag), starts step S3' described below, and proceeds to step S32. On the other hand, when the processor 32 determines NO, the processor 32 proceeds to step S6.
[0083] In step S32, the processor 32 determines whether the enable switch 48 has been turned OFF (in other words, whether it has returned to the initial position P0 or has been pressed down to the second pressed down position P2). Specifically, when the enable switch 48 has been turned OFF, the processor of the teaching device 18 transmits an enable switch OFF signal to the control device 16. When the processor 32 of the control device 16 has received the enable switch OFF signal, the processor 32 determines YES and proceeds to step S33. On the other hand, when the processor 32 determines NO, it loops step S32.
[0084] In step S33, the processor 32 disables the direct teach function FN2' (sets the direct teach function FN2' to "OFF" or clears the execution flag). In this embodiment, when the processor 32 determines YES in step S31 and enables the direct teach function FN2', it executes the direct teach function FN2' in step S3' with the above-mentioned safety function FN1 disabled (i.e., without executing the safety function FN1).
[0085] This step S3' will be described with reference to Fig. 8. The flow shown in Fig. 8 differs from the flow shown in Fig. 6 in step S24'. In step S24', the processor 32 determines whether or not the direct teach function FN2' was disabled in the above-mentioned step S33. If the processor 32 determines YES, it executes the above-mentioned emergency stop operation ES to stop the operation of the robot 12, and ends the direct teach function FN2' in step S3'. On the other hand, if the processor 32 determines NO, it returns to step S21.
[0086] Thus, in the other direct teach function FN2', the processor 32 executes the direct teach function FN2' while the operator keeps the enable switch 48 ON, and ends the direct teach function FN2' when the enable switch 48 is turned OFF. In other words, in order to execute the other direct teach function FN2', the operator needs to keep the enable switch 48 ON and keep providing the enable switch ON signal to the control device 16.
[0087] 7 again, if the determination in step S4 is NO, in step S34, the processor 32 determines whether or not the enable switch 48 is turned ON, similarly to the above-mentioned step S31. If the processor 32 determines YES, the process proceeds to step S35, whereas if the processor 32 determines NO, the process returns to step S4.
[0088] In step S35, the processor 32 disables the direct teach function FN2, similar to step S5 described above. As a result, the processor 32 determines YES in step S14 (FIG. 5) and step S24 (FIG. 6) described above, and ends the safety function FN1 in step S2 and the direct teach function FN2 in step S3. Meanwhile, the processor 32 enables the direct teach function FN2', starts step S3', and proceeds to step S32.
[0089] Thus, in this embodiment, when the enable switch 48 is turned ON while executing steps S2 and S3 (determined as YES in step S34), the processor 32 preferentially executes another direct teach function FN2' using the enable switch 48 in step S3'.
[0090] According to this configuration, the operator can selectively execute, depending on the application, the direct teach function FN2 that is executed in parallel with the safety function FN1 without using the enable switch 48, and another direct teach function FN2' that uses the enable switch 48. This improves the convenience for the operator.
[0091] Also, in this embodiment, processor 32 functions as direct teach execution unit 52, and after accepting a command to execute direct teach function FN2 in step S3 and starting the direct teach function FN2, continues to execute the direct teach function FN2 without accepting the command again.
[0092] More specifically, when processor 32 receives a direct teach function start command from the operator in step S1 and starts direct teach function FN2 in step S3, processor 32 continues to execute direct teach function FN2 without again receiving any further command to execute direct teach function FN2 (e.g., direct teach function start command, enable switch ON signal) until it receives a direct teach function end command in step S4.
[0093] In other words, while the direct teach function FN2 is being executed, the operator does not need to operate the input device 40 or 46, or the enable switch 48 to input any command (e.g., a direct teach function start command, an enable switch ON signal) to continue the direct teach function FN2.
[0094] In contrast, in the case of another direct teach function FN2', as described above, in order to continue the direct teach function FN2', the operator must keep the enable switch 48 ON and keep sending an enable switch ON signal to the control device 16. Therefore, according to the direct teach function FN2 in step S3, the operation of the operator can be simplified.
[0095] Next, other functions of the robot system 10 will be described with reference to FIG. 9. In this embodiment, the operator can select whether to enable or disable the safety function FN1. Sa is A safety function setting image 106 is generated and displayed on the display device 44 of the teaching device 18. An example of the safety function setting image 106 is shown in FIG.
[0096] 10, the safety function setting image 106 includes a valid button image 108 and a invalid button image 110. The operator can select the valid button image 108 or the invalid button image 110 by operating the input device 46 and clicking the valid button image 108 or the invalid button image 110 displayed in the safety function setting image 106.
[0097] When the processor of the teaching device 18 receives input selecting the enable button image 108, it sends a safety function enable command to the control device 16 to enable the safety function FN1, and when it receives input selecting the disable button image 110, it sends a safety function disable command to the control device 16 to disable the safety function FN1.
[0098] The processor 32 of the control device 16 sets the safety function FN1 to be enabled or disabled in response to a safety function enable command or a safety function disable command. In this manner, in this embodiment, the processor 32 functions as a function switching unit 56 (FIG. 9) that switches the safety function FN1 executed as the safety function execution unit 50 between enabled and disabled.
[0099] While the safety function FN1 is set to disabled, the processor 32 does not execute the safety function FN1 as the safety function execution unit 50. For example, an operator may wish to execute the above-mentioned automatic operation function FN4 to operate the robot 12 at high speed after ensuring safety by moving sufficiently away from the robot 12. In this case, the operator can reduce the work cycle time by setting the safety function FN1 to disabled and operating the robot 12 at high speed.
[0100] Next, the operation flow executed by the control device 16 shown in Fig. 9 will be described with reference to Fig. 11. In the flow shown in Fig. 11, the same processes as those in the flow of Fig. 3 are given the same step numbers, and duplicated explanations will be omitted. In the flow shown in Fig. 11, when the processor 32 determines YES in step S1, the processor 32 proceeds to step S41 before enabling the direct teach function FN2.
[0101] In step S41, the processor 32 determines whether the safety function FN1 is enabled or disabled. If the safety function FN1 is enabled, the processor 32 determines YES and proceeds to step S43, whereas if the safety function FN1 is disabled, the processor 32 determines NO and proceeds to step S42.
[0102] Thus, in this embodiment, when the processor 32 receives a command to start the direct teach function (i.e., the above-mentioned direct teach function start command), it functions as a safety function determination unit 58 (FIG. 9) that determines whether the safety function FN1 is enabled or disabled.
[0103] In step S42, the processor 32 generates an alarm signal AL1. For example, the processor 32 generates an image or sound alarm signal AL1 stating, "The safety function is disabled. Please enable the safety 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 it through a speaker provided in the control device 16 (or the teaching device 18).
[0104] After step S42, the processor 32 returns to step S41. Thus, in the present embodiment, while the processor 32 determines NO in step S41, the processor 32 does not start the safety function FN1 in step S2 and the direct teach function FN2 in step S3.
[0105] In step S43, the processor 32 determines the threshold value Fc for the safety function FN1 referred to in step S12 (FIG. 5). th , V th and a th , the first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 Here, the processor 32 may execute the safety function FN1 in parallel with the teaching function FN3, the automatic driving function FN4, or the operation checking function FN5. th1 , V th1 and a th1 is referenced by the safety function FN1 that is executed in parallel with functions FN other than the direct teach function FN2, such as the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.
[0106] On the other hand, the second threshold Fc th2 , V th2 and a th2 is the safety function FN of step S2 in FIG. 1 where the first threshold Fc th1 , V th1 and a th1 (i.e., Fc th2 >Fc th1 , V th2 >V th1 , a th2 >a th1 ) is predetermined.
[0107] After step S43, the processor 32 enables the direct teach function FN2, starts steps S2 and S3, and proceeds to step S4. Then, the processor 32 executes steps S2 and S3 in parallel, and in step S12 of step S2, the processor 32 determines whether the motion parameters OP (contact force Fc, velocity V, and acceleration a) exceed the second threshold value Fc switched in step S43. th2 , V th2 and a th2 It is determined whether or not the value exceeds the threshold.
[0108] After that, for example, when step S5 in FIG. 11 is executed (or when YES is determined in step S6), the processor 32 sets the threshold value Fc for the safety function FN1. th , V th and a th The second threshold Fc th2 , V th2 and a th2 to the first threshold Fc th1 , V th1 and a th1 Switch to.
[0109] Thus, in this embodiment, the processor 32 determines the threshold Fc th , V th , a th The first threshold value Fc for functions FN3, FN4, and FN5 other than the direct teach function FN2 th1 , V th1 , a th1 and the first threshold value Fc th1 , V th1 , a th1 A second threshold Fc th2 , V th2 , a th2 and functions as a threshold switching unit 60 (FIG. 9) that switches between the thresholds.
[0110] As described above, in this embodiment, the control device 16 further includes a function switching unit 56 that switches the safety function FN1 by the safety function execution unit 50 between enabled and disabled, and a safety function determination unit 58 that determines whether the safety function FN1 is enabled or disabled when the direct teach execution unit 52 executes the direct teach function FN2. Specifically, when the safety function determination unit 58 receives a command to start the direct teach function FN2 (i.e., a direct teach function start command) (when the determination is YES in step S1), it determines whether the safety function FN1 is enabled or disabled (step S41).
[0111] If the safety function determination unit 58 determines that the safety function FN1 is disabled (NO in step S41), the direct teach execution unit 52 does not execute the direct teach function FN2 (step S3). This configuration reliably prevents the direct teach function FN2 from being executed without enabling the safety function FN1 in step S3 in Fig. 11. This reliably ensures the safety of the operator.
[0112] In this embodiment, the control device 16 sets the threshold value Fc th , V th , a th The first threshold Fc th1 , V th1 , a th1 and the first threshold value Fc th1 , V th1 , a th1 A second threshold Fc th2 , V th2 , a th2 The threshold value switching unit 60 switches between the threshold value Fc when the direct teach execution unit 52 starts the direct teach function FN2. th , V th , a th The first threshold Fc th1 , V th1 , a th1 to the second threshold Fc th2 , V th2 , a th2 (step S43).
[0113] According to this configuration, when steps S2 and S3 are executed in parallel, it is possible to reliably avoid a YES determination being made in step S12 during step S2 due to the operating force Fh applied to the robot 12 by the operator. function This makes it possible to avoid unnecessary stops of the operation of the robot 12 in FN2, and also ensures the safety of the operator by the safety function FN1.
[0114] In the present embodiment, the case has been 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, this is not limiting, and the processor 32 of the control device 16 may generate the safety function setting image 106 and display it on the display device 42.
[0115] In this case, the operator may operate the input device 40 to select the enable button image 108 or the disable button image 110 in the safety function setting image 106 displayed on the display device 42. When the operator selects the enable button image 108, the processor 32 of the control device 16 receives a safety function enable command through the input device 40.
[0116] In the present embodiment, a case has been described in which an operator manually inputs the selection of whether to enable or disable the safety function FN1 to the processor of the teaching device 18 (or the processor 32 of the control device 16). However, this is not limiting, and the processor 32 of the control device 16 may function as the function switching unit 56 and automatically set the safety function FN1 to be enabled or disabled without receiving input from the operator.
[0117] For example, the robot system 10 further includes an object detection sensor (camera, laser scanner, etc.) capable of detecting an object (e.g., an operator) present around the robot 12. In this case, the processor 32 functions as a function switching unit 56, and switches the safety function FN1 to be enabled when the object detection sensor detects an object present around the robot 12.
[0118] On the other hand, when the object detection sensor detects that the object has moved away from the periphery of the robot 12, the processor 32 disables the safety function FN1 and reduces the maximum speed V of the robot 12. MAX The set value of may be switched to a higher value. This allows the robot 12 to operate at high speed when executing the automatic driving function FN4, for example.
[0119] 11 may be executed before step S41 (i.e., when the result of the determination in step S1 is YES). Also, steps S41 and S42 may be omitted from the flow in Fig. 11. In this case, the function switching unit 56 can be omitted from the control device 16 shown in Fig. 9.
[0120] Alternatively, step S43 may be omitted from the flow of Fig. 11. In this case, the threshold switching unit 60 can be omitted from the control device 16 shown in Fig. 9. It will be understood that steps S41 to S43 of Fig. 11 can be applied to the flow shown in Fig. 7 (i.e., after the determination of YES in step S1).
[0121] 11 (direct teach function FN2), the processor 32 may function as a safety function determination unit 58 to determine whether the safety function FN1 is enabled or disabled, and may terminate the direct teach function FN2 if the safety function FN1 is disabled. The flow of the direct teach function FN2 is shown in FIG.
[0122] In the flow of step S3 shown in FIG. 12, when the result of the judgment in step S24 is NO, in step S25, the processor 32 functions as the safety function judgment unit 58 and judges whether the safety function FN1 is enabled or disabled, similar to the above-mentioned step S41.
[0123] If the processor 32 judges YES, it returns to step S21, whereas if the processor 32 judges NO (i.e., if the safety function FN1 has been disabled), it terminates the direct teach function FN2 in step S3. In this way, by terminating the direct teach function FN2 when the safety function FN1 has been disabled while the direct teach function FN2 is being executed, the safety of the operator can be ensured more reliably. Note that when the processor 32 judges NO in step S25, it may execute the above-mentioned step S42 and generate an alarm signal AL1.
[0124] In addition, when step S43 is omitted from the flow of FIG. 11 and step S2 (safety function FN1) and step S3 (direct teach function FN2) in FIG. 11 are being executed, the processor 32 functions as the threshold switching unit 60 and switches the operation parameters OP (contact force Fc, velocity V, and acceleration a) to the third threshold Fc th3 , V th3 and a th3 When the threshold Fc exceeds the threshold Fc, the threshold Fc is referenced in step S12 of step S2. th , V th and a th , the first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 The flow of step S2 is shown in FIG.
[0125] In the flow of step S2 shown in FIG. 13, after step S11, step S15 In step S11, the processor 32 determines whether the motion parameters OP (contact force Fc, velocity V, and acceleration a) acquired in the most recent step S11 are greater than or equal to a third threshold value Fc th3 , V th3 and a th3 Determine whether it is smaller than
[0126] This third threshold Fc th3 , V th3 and a th3 is the threshold value Fc referred to in step S12. th , V th and a th (Specifically, the above-mentioned first threshold Fc th1 , V th1 and a th1 , and a second threshold Fc th2 , V th2 and a th2 ) (i.e., Fc th3 <Fc th1 <Fc th2 , V th3 <V th1 <V th2 , ath3 th1 th2 )
[0127] The processor 32 <Fc th3 , V <V th3 , and a th3 If Fc≧Fc, the determination is YES and the process proceeds to step S16. th3 , V ≥ V th3 , or a ≧ a th3 (i.e., at least one of the operational parameters OP is greater than or equal to the third threshold Fc th3 , V th3 or a th3 If the speed V and acceleration a of the motion parameters OP exceed the third threshold value V, the processor 32 determines that the result is NO, and proceeds to step S17. th3 and a th3 It may be determined whether the difference is smaller than .
[0128] In step S16, the processor 32 functions as the threshold switching unit 60 and changes the threshold Fc th , V th and a th , the first threshold Fc th1 , V th1 and a th1 Set to.
[0129] On the other hand, if the result of the determination in step S15 is NO (i.e., the operation parameter OP is greater than or equal to the third threshold value Fc th3 , V th3 or a th3 (when the threshold Fc exceeds the threshold Fc), in step S17, the processor 32 functions as the threshold switching unit 60 and changes the threshold Fc th , V th and a th The second threshold Fc th2 , V th2 and a th2 In step S17, the processor 32 sets the threshold value Fc th The second threshold Fc th2 , while the threshold V for the speed V is set to th and the threshold a for acceleration a th The first threshold V th1 and a th1 may be maintained at
[0130] Then, in step S12, the processor 32 calculates the first threshold value Fc th1 , V th1 or a th1 , or the second threshold Fc th2 , V th2 and a th2 The operation parameter OP is compared with the first threshold value Fc th1 , V th1 and a th1 , or the second threshold Fc th2 , V th2 and a th2 It is determined whether or not it exceeds the limit.
[0131] In this manner, in the flow shown in FIG. 13, the processor 32 determines whether or not at least one of the operational parameters OP is equal to or greater than the third threshold value Fc th3 , V th3 or a th3 When the threshold value Fc is exceeded, the threshold value Fc is referenced in step S12. th , V th and a th The first threshold Fc th1 , V th1 and a th1 From the second threshold Fc th2 , V th2 and a th2 (step S17).
[0132] Meanwhile, the processor 32 detects whether the operating parameter OP exceeds a third threshold Fc th3 , V th3 or a th3 (i.e., if the determination in step S15 is YES), the threshold value Fc th , V th and a th The second threshold Fc th2 , Vth2 and a th2 to the first threshold Fc th1 , V th1 and a th1 Switch to.
[0133] Here, when the operating force Fh applied to the robot 12 by the operator in step S3 (direct teach function FN2) executed in parallel with step S2 increases, the motion parameters OP (velocity V, acceleration a) also increase. In addition, the external force F detected by the force sensor 14 includes a component of the operating force Fh.
[0134] According to this embodiment, the threshold Fc is set according to the operation parameter OP as described above. th , V th , a th By switching between the above, it is possible to reliably avoid a situation in which step S12 results in YES due to the operating force Fh applied by the operator to the robot 12, resulting in the execution of step S13. On the other hand, when the motion parameter OP is small, it is possible to more reliably detect that the robot 12 has come into contact with a surrounding object.
[0135] In addition, in one example of this embodiment, in step S15, the processor 32 determines whether the velocity V or the acceleration a of the motion parameter OP is greater than or equal to a third threshold value V th3 or a th3 Then, in steps S16 and S17, the processor 32 determines whether the contact force Fc is smaller than the threshold value Fc in accordance with the velocity V or the acceleration a. th The first threshold Fc th1 and the second threshold Fc th2 Switch between.
[0136] Then, in step S12, the processor 32 calculates the first threshold value Fc th1 or the second threshold Fc th2 The contact force Fc acquired as the operation parameter OP is compared with the first threshold value Fc th1 Or the second threshold value Fc th2 It is judged whether it has exceeded or not.
[0137] That is, in this case, in step S15, the processor 32 determines whether one of the motion parameters OP (speed V, acceleration a) is equal to or exceeds a third threshold value (V th3 , a th3 ), and in steps S16 and S17, the threshold value (Fc th ) as the first threshold (Fc th1 ) and the second threshold (Fc th2 ) is switched between
[0138] Then, in step S12, the processor 32 determines whether the other of the operational parameters OP is equal to or lower than the post-switching threshold (Fc th1 or Fc th2 ) is exceeded. According to this configuration, it is possible to more reliably avoid execution of step S13 due to the operating force Fh applied to the robot 12 by the direct teach function FN2.
[0139] The processor 32 may execute step S43 in the flow of Fig. 11 and may execute the flow of Fig. 13 in step S2 in Fig. 11. In this case, the processor 32 functions as the threshold value switching unit 60 in step S16 in Fig. 13 and changes the threshold value Fc th , V th and a th is changed to the second threshold value Fc th2 , V th2 and a th2 Set to.
[0140] On the other hand, in step S17 of FIG. 13, the processor 32 functions as the threshold value switching unit 60 to change the threshold value Fc th , V th and a th The fourth threshold Fc th4 , V th4 and a th4 This fourth threshold Fc th4 , V th4 and ath4 is the second threshold Fc th2 , V th2 and a th2 (i.e., Fc th4 >Fc th2 , V th4 >V th2 , a th4 >a th2 )
[0141] That is, in this case, the processor 32 functions as the threshold switching unit 60 and changes the threshold Fc referenced in step S12 in accordance with the operating parameter OP. th , V th and a th , the threshold Fc th2 , V th2 , a th2 (first threshold) and threshold Fc th4 , V th4 , a th4 In this case, in step S15, the processor 32 switches between the third threshold (V th3 , a th3 ), and in steps S16 and S17, the threshold value (Fc th ) as the first threshold (Fc th2 ) and the second threshold (Fc th4 ) may be switched between
[0142] Next, various forms of the force sensor 14 will be described with reference to Figs. 14 and 15. The force sensor 14 may have at least one of the torque sensor 14A and the force sensor 14B described above. Fig. 14 shows a torque sensor 14A according to one embodiment. The torque sensor 14A is provided on the output shaft 31a of the actuator 31. Specifically, the torque sensor 14A has a cylindrical main body 150 having a central axis A1, and a pair of sensor elements 152a and 152b built into the main body 150. The main body 150 is coaxially fitted to the output shaft 31a so as to surround the output shaft 31a.
[0143] Each of the pair of sensor elements 152a and 152b includes, for example, a strain gauge such as a semiconductor strain gauge or a metal foil strain gauge, a proximity sensor, an optosensor, a laser type or a capacitance type displacement meter, or an optical or magnetic type encoder. The sensor elements 152a and 152b convert the strain, deformation, or displacement occurring in the main body 150 due to the torque τ applied to the output shaft 31a into an electric signal, and output the detection data DDτ. a and DDτ b and output them as follows:
[0144] The detection data DDτ output from the sensor element 152a a is supplied to the control device 16 through a signal line L1. The sensor element 152a and the signal line L1 constitute a first system of detection unit 154a. b is supplied to the control device 16 through a signal line L2 that is independent of (specifically, insulated from) the signal line L1. The sensor element 152b and the signal line L2 configure a detection unit 154b of a second system.
[0145] In addition, the signal lines L1 and L2 may be wired or wireless (that is, a transmission path for wireless communication). a and the detection data DDτ of the sensor element 152b. b are provided to the control device 16 through separate, independent signal lines L1 and L2.
[0146] The pair of sensor elements 152a and 152b are disposed adjacent to each other at the same location on the main body 150 so as to detect a force in one direction (specifically, a torque τ applied from the output shaft 31a in the circumferential direction of the main body 150). a and the detection data DDτ of the sensor element 152b. bFor example, the sensor elements 152a and 152b may be arranged so as to overlap (or be parallel to) each other. In this manner, in this embodiment, the two separate detection units 154a and 154b detect a force (torque τ) in one direction and each output detection data DDτ a and DDτ b are supplied separately to the control device 16.
[0147] 15 shows a force sensor 14B according to one embodiment. The force sensor 14B is a six-axis force sensor, and is provided, for example, on the robot base 20. Specifically, the force sensor 14B has a cylindrical main body 160 having a central axis A2, and a plurality of pairs of sensor elements 162a and 162b provided on the main body 160. The main body 160 has a pair of ring portions 160a and 160b extending in the circumferential direction and spaced apart from each other in the axial direction, and a plurality of pillar portions 160c extending between the ring portions 160a and 160b and disposed at approximately equal intervals in the circumferential direction.
[0148] 15, a pair of sensor elements 162a and 162b are provided on each of the ring portion 160a and the column portion 160c. Each of the pair of sensor elements 162a and 162b has a strain gauge such as a semiconductor strain gauge or a metal foil strain gauge, a proximity sensor, an optosensor, a laser type or a capacitance type displacement meter, an optical type or a magnetic type encoder, or the like, similar to the above-mentioned sensor elements 152a and 152b. The sensor elements 162a and 162b are disposed on the main body portion. 160 The force f acting on the body 160 The distortion, deformation or displacement occurring in the sensor is converted into an electrical signal, and the detection data DDf a and DDf b and output them as follows:
[0149] The pair of sensor elements 162a and 162b provided on the ring portion 160a are arranged adjacent to each other at the same portion of the ring portion 160a so as to detect a force in one direction (specifically, a force f applied in the axial direction of the ring portion 160a). Similarly, the pair of sensor elements 162a and 162b provided on the pillar portion 160c are arranged adjacent to each other at the same portion of the pillar portion 160c so as to detect a force in one direction (specifically, a force f applied to the pillar portion 160c in the direction around the axis A2). Detection data DDf of the sensor element 162a a and the detection data DDf of the sensor element 162b. b For example, the sensor elements 162a and 162b may be arranged on top of (or in parallel with) each other.
[0150] Detection data DDf output from each sensor element 162a a is supplied to the control device 16 through a signal line L1. The sensor element 162a and the signal line L1 constitute a first system of detection unit 164a. The control device 16 receives the detection data DDf a By executing a predetermined calculation CL3 based on this, forces in six axial directions are detected, including a force fx in the x-axis direction, a force fy in the y-axis direction, and a force fz in the z-axis direction of a sensor coordinate system C3 set in the main body 160 of the force sensor 14B, as well as a torque τx around the x-axis, a torque τy around the y-axis, and a torque τx around the z-axis.
[0151] The sensor coordinate system C3 is a control coordinate system for calculating the external force F applied to the robot 12 from the detection data DDf of the force sensor 14B. The sensor coordinate system C3 is set with respect to the main body 160 so that, for example, its origin is located on the central axis A2 of the main body 160 (for example, the center point) and its z-axis coincides with the central axis A2 of the main body 160. The control device 16 calculates the forces fx, fy, fz, τx, τy and τ in the six axis directions thus calculated. z From this, the magnitude and direction of the external force F applied to the robot 12 can be obtained, and the part of the robot 12 to which the external force F is applied can be identified.
[0152] In addition, the detection data DDf output from each sensor element 162b b is supplied to the control device 16 through the signal line L2. The sensor element 162b and the signal line L2 constitute a second system of detection unit 164b. The control device 16 receives the detection data DDf b By executing a predetermined calculation CL3 based on the above, the forces fx, fy, fz, τx, τy and τ z Thus, in this embodiment, the two separate detection units 164a and 164b detect a force f in one direction and each generates detection data DDf a and DDf b are supplied separately to the control device 16.
[0153] Next, referring to FIG. 16, the detection data DDτ of the torque sensor 14A shown in FIG. a and DDτ b A safety function FN1 and a direct teach function FN2 executed based on the above will be described. In this embodiment, the safety function execution unit 50 (specifically, the processor 32) performs the detection data DDτ a The first contact force Fc calculated based on a The first safety function FN1 monitors a and the detection data DDτ of the second system detection unit 154b (i.e., the other sensor element 152b). b The second contact force Fc calculated based on b Second safety function FN1 that monitors b The first safety function FN1 is executed in parallel. a and the second safety function FN1 b Each of these is, for example, the flow of step S2 shown in FIG.
[0154] That is, the safety function execution unit 50 executes the first safety function FN1 aThe detection data DDτ obtained from one sensor element 152a of each torque sensor 14A through the signal line L1 is a Based on this, the flow of step S2 is executed. a In parallel with this, the safety function execution unit 50 executes the second safety function FN1 b The detection data DDτ obtained from the other sensor element 152b of each torque sensor 14A through the signal line L2 is b Based on this, the flow of step S2 is executed. Therefore, the first safety function FN1 a Step S12 executed as the second safety function FN1 b If the result of the determination in either step S12 or step S13 is YES, the robot 12 is stopped (step S13).
[0155] Thus, the first safety function FN1 a and the second safety function FN1 b The detection data DDτ of the detection units 154a and 154b of different systems (i.e., different sensor elements 152a and 152b) a and DDτ b Even if the detection unit 154a (for example, the sensor element 152a) of one system fails, the detection data DDτ of the detection unit 154b (for example, the sensor element 152b) of the other system can be detected. b Using the second safety function FN1 b Therefore, the safety of the operator can be further ensured.
[0156] On the other hand, the direct teach execution unit 52 (processor 32) executes the first safety function FN1 executed by the safety function execution unit 50. a and the second safety function FN1 b In parallel with this, the direct teach function FN2 (step S3 shown in FIG. 6) is executed. Specifically, the direct teach execution unit 52 receives the detection data DDτ aAt this time, in step S21 of step S3, the direct teach executing unit 52 executes the flow of step S3 based on the detection data DDτ a The operating force Fh is calculated based on this.
[0157] The detection data DDf of the force sensor 14B shown in FIG. a and DDf b Safety function FN1 is executed based on a and FN1 b The direct teach function FN2 is the same as that in the case where the torque sensor 14A is used. Specifically, the safety function execution unit 50 receives the detection data DDf a The first contact force Fc calculated based on a The first safety function FN1 monitors a (flow in FIG. 5) and the detection data DDf of the second system detection unit 164b (i.e., each of the other sensor elements 162b) b The second contact force Fc calculated based on b Second safety function FN1 that monitors b (Flow in Figure 5) is executed in parallel.
[0158] In addition, the direct teach execution unit 52 executes the first safety function FN1 a and the second safety function FN1 b In parallel with this, the detection data DDf of the detection unit 164a of the first system, which is acquired through the signal line L1 from each of the sensor elements 162a on one side of the force sensor 14B, is a Based on this, the operating force Fh is calculated, and the direct teach function FN2 (flow in FIG. 6) is executed.
[0159] The processor 32 of the control device 16 shown in Fig. 16 may execute the flow shown in Fig. 3 or Fig. 7. When executing the flow of Fig. 7, in step S3', the processor 32 functions as the direct teach execution unit 52 and performs the detection data DDτ of the detection unit 154a or 164a of the first system acquired from one of the sensor elements 152a or 162a. a or DDf a Based on this, the flow of the direct teach function FN2' shown in FIG. 8 is executed.
[0160] The processor 32 also controls the first safety function FN1 a The loop of steps S11 to S14 in step S2 is executed as a second safety function FN1. b The loop of steps S11 to S14 in step S2 executed as the direct teach function FN2 and the loop of steps S21 to S24 in step S3 executed as the direct teach function FN2 may be executed in synchronization with each other (or alternately) at a predetermined control period (for example, 1 msec).
[0161] The processor 32 executes the first safety function FN1 a and a direct teach function FN2; and a first processor 32A that executes a second safety function FN1. b Such an embodiment is shown in Fig. 17. In this embodiment, the first processor 32A and the second processor 32B function as a safety function execution unit 50, while the first processor 32A functions as a direct teach execution unit 52.
[0162] The processor 32 may also be configured to execute the first safety function FN1 a and a first processor 32A executing a second safety function FN1. b and a third processor 32C that executes a direct teach function FN2.
[0163] In addition, in the direct teach function FN2, the direct teach execution unit 52 uses the detection data DDτ of the detection unit 154a (or 164a) of the first system. a (or DDf a ) and the detection data DDτ of the second system detection unit 154b (or 164b) b (or DDf b ) may be used to determine the operating force Fh.
[0164] For example, when the direct teach function FN2 is executed using the torque sensor 14A in FIG. 14, the direct teach execution unit 52 receives the detection data DDτ a and the detection data DDτ of the other sensor element 152b. b and the average value of DDτ AVE Calculate the average value DDτ AVE The operating force Fh may be calculated based on the above.
[0165] Alternatively, the processor 32 may use the detection data DDτ of the detection unit 154a (or 164a) of the first system as a a (or DDf a ) and the detection data DDτ of the second system detection unit 154b (or 164b) b (or DDf b ) may be selected, and the larger (or smaller) of these may be used to obtain the operating force Fh.
[0166] The processor 32 of the control device 16 shown in FIG. 16 or FIG. 17 executes the first safety function FN1 a and the second safety function FN1 b While executing the above, a failure detection function FN6 may be executed in parallel to detect whether or not either the detection unit 154a or 164a of the first system (for example, one of the sensor elements 152a or 162a) or the detection unit 154b or 164b of the second system (for example, the other of the sensor elements 152b or 162b) has failed. This failure detection function FN6 will be described with reference to FIG. 18.
[0167] When the failure detection function FN6 is enabled, the processor 32 starts the flow shown in Fig. 18. This failure detection function FN6 is, for example, a safety function FN1 (first safety function FN1 a and the second safety function FN1 b ) may be automatically enabled by the processor 32 when starting the process. Below, the failure detection function FN6 in the case where the force sensor 14 has the torque sensor 14A will be described.
[0168] In step S51, the processor 32 calculates the detection data DDτ a and DDτ b For example, in step S51, the processor 32 acquires detection data DDτ detected by the pair of sensor elements 152a and 152b at the same time (or at a very close time). a and DDτ b Obtain respectively.
[0169] In step S52, the processor 32 calculates the detection data DDτ obtained in the most recent step S51. a and DDτ b For example, the processor 32 determines whether the detection data DDτ a and DDτ b Difference Δ D is a given threshold Δ Dth Exceeded (Δ D ≧Δ Dth ) when the detection data DDτ a and DDτ b are different from each other (that is, YES). If the processor 32 determines YES, the process proceeds to step S54, whereas if the processor 32 determines NO, the process proceeds to step S53.
[0170] In step S53, the processor 32 determines whether the failure detection function FN6 has been disabled. If the processor 32 determines YES, the processor 32 terminates the failure detection function FN6, whereas if the processor 32 determines NO, the processor 32 returns to step S51.
[0171] On the other hand, if the determination in step S52 is YES, in step S54, the processor 32 generates an alarm signal AL2. For example, the processor 32 may generate an image or sound alarm signal AL2 stating "The force sensor may have failed. Please perform maintenance on the force sensor" and output it to the display device 42 or 44, or a speaker.
[0172] When the determination in step S52 is YES, the processor 32 may execute the emergency stop operation ES described above to stop the robot 12. In addition, the processor 32 may execute the safety function FN1 (first safety function FN1 a and the second safety function FN1 b The loop of steps S11 to S14 in step S2 executed as the failure detection function FN6 and the loop of steps S51 to S53 executed as the failure detection function FN6 may be executed in synchronization with each other (or alternately) at a predetermined control period (e.g., 1 msec).
[0173] Next, still another function of the robot system 10 will be described with reference to Fig. 19 and Fig. 20. In this embodiment, the control device 16 has a direct teach function FN2 according to still another embodiment. _1 Then, the flow shown in Fig. 20 is executed. In the flow shown in Fig. 20, the same processes as those in the flow shown in Fig. 6 are given the same step numbers, and duplicated explanations will be omitted.
[0174] 20, the processor 32 functions as the direct teach execution unit 52 to execute steps S21 to S23, and after step S23, executes steps S61 to S66. In step S61, the processor 32 functions as the operation parameter acquisition unit 54 to acquire an operation parameter OP.
[0175] In this embodiment, in step S61, the processor 32 acquires at least one of the velocity V and acceleration a of the robot 12 as the operation parameter OP. Hereinafter, a case in which the processor 32 acquires the velocity V as the operation parameter OP in step S61 will be described.
[0176] In step S62, the processor 32 determines whether the motion parameter OP (speed V) acquired in the most recent step S61 is within the first range. th11 ≦V <V th12 ]. A threshold value V th11 and V th12 can be predefined by an operator. Note that the smallest threshold value V th11 is set to zero, for example. th11 ≦V <V th12 If it is determined as YES, the process proceeds to step S63. On the other hand, if it is determined as NO (i.e., V th12 ≦V), proceed to step S64.
[0177] In step S63, the processor 32 sets the resistance force RF against the operational force Fh applied to the robot 12 to a first resistance force RF1. Here, an acceleration set value α that specifies the maximum value of the acceleration a of the robot 12 is set in advance in the control device 16. The larger the acceleration set value α, the larger the acceleration a of the robot 12 when moving according to the operational force Fh. In this case, the response of the robot 12 to the operational force Fh applied by the operator becomes faster (in other words, the feeling of operation becomes lighter), so the resistance force RF against the operational force Fh becomes lower.
[0178] Conversely, the smaller the acceleration setting value α, the smaller the acceleration a of the robot 12 when moving according to the operating force Fh. In this case, the response of the robot 12 to the operating force Fh applied by the operator becomes slower (in other words, the operation feels heavier), and the resistance force RF against the operating force Fh increases.
[0179] Therefore, in this embodiment, the processor 32 changes the acceleration set value α in accordance with the speed V acquired in step S61, thereby changing the resistance force RF against the operating force Fh. In step S63, the processor 32 sets the acceleration set value α to a first acceleration set value α1, thereby setting the resistance force RF against the operating force Fh to a first resistance force RF1 corresponding to the first acceleration set value α1. Note that the first acceleration set value α1 is set by the direct teach function FN2. _1 It may be an initial value (or default value) that is set at the start of
[0180] On the other hand, if the result of step S62 is NO, in step S64, the processor 32 determines whether the motion parameter OP (speed V) acquired in the most recent step S61 is within a second range larger than the first range. th12 ≦V <V th13 ]. A threshold value V th13 may be predetermined by an operator. The processor 32 th12 ≦V <V th13 If it is determined to be YES, the process proceeds to step S65. On the other hand, if it is determined to be NO (i.e., V th13 If V≦V, proceed to step S66.
[0181] In step S65, the processor 32 sets the resistance force RF against the operational force Fh applied to the robot 12 to a second resistance force RF2 (>RF1). Specifically, the processor 32 sets the acceleration set value α to a second acceleration set value α2 (<α1), thereby enabling the resistance force RF against the operational force Fh to be set to the second resistance force RF2 that is larger than the first resistance force RF1.
[0182] On the other hand, if the determination in step S64 is NO, in step S66, the processor 32 sets the resistance force RF against the operating force Fh applied to the robot 12 to a third resistance force RF3 (>RF2). Specifically, the processor 32 sets the acceleration set value α to a third acceleration set value α3 (<α2), thereby enabling the processor 32 to set the resistance force RF against the operating force Fh to a third resistance force RF3 that is larger than the second resistance force RF2.
[0183] In this way, the processor 32 executes steps S63, S65, and S66 to change the acceleration setting value α to α1, α2, or α3, thereby changing the resistance force RF against the operating force Fh in accordance with the speed V obtained in step S61. Therefore, the processor 32 functions as a resistance force control unit 62 (FIG. 19) that changes the resistance force RF against the operating force Fh. After executing steps S63, S65, or S66 as the resistance force control unit 62, the processor 32 proceeds to step S24 and activates the direct teach function FN2. _1 Determine whether or not the
[0184] Thus, the processor 32 executes the direct teach function FN2. _1 During execution of the above, steps S61 to S66 are executed, and the resistive force RF against the operational force Fh is controlled in accordance with the operation parameter OP (specifically, the speed V). Although detailed explanation is omitted, it should be understood that even if the processor 32 acquires the acceleration a as the operation parameter OP in step S61, it can similarly execute steps S62 to S66 based on the acceleration a.
[0185] As described above, in this embodiment, the control device 16 includes the direct teach execution unit 52 and the direct teach function FN2. _1 The robot 12 is provided with an operation parameter acquisition unit 54 that acquires the speed V (or acceleration a) of the robot 12 during execution of the operation parameter acquisition unit 54, and a resistance force control unit 62 that changes the resistance force RF against the operating force Fh in accordance with the speed V (or acceleration a) acquired by the operation parameter acquisition unit 54.
[0186] According to this configuration, the direct teach function FN2 _1 During the execution of the direct teach function FN2, the increase in the velocity V (or acceleration a) of the robot 12 is fed back as a resistance force RF to the operator's sense of operation of the robot 12, allowing the operator to intuitively recognize this. _1 It is possible to prevent the velocity V (or the acceleration a) from increasing excessively during the execution of the above.
[0187] Furthermore, in this embodiment, the resistance force control unit 62 changes the resistance force RF by changing the acceleration set value α that defines the maximum value of the acceleration a to α1, α2, or α3 in accordance with the speed V (or acceleration a) acquired by the motion parameter acquisition unit 54. With this configuration, the processor 32 can quickly change the resistance force RF using a relatively simple algorithm.
[0188] Next, referring to FIG. 21, a direct teach function FN2 according to still another embodiment will be described. _2 The control device 16 shown in FIG. _2 Then, the flow shown in Fig. 21 is executed. In the flow shown in Fig. 21, the same processes as those in the flow shown in Fig. 20 are given the same step numbers, and duplicated explanations will be omitted.
[0189] In the flow shown in FIG. 21, when the processor 32 determines YES in step S22, the processor 32 executes step S71. In step S71, the processor 32 functions as the direct teach execution unit 52 and determines the acceleration set value α by applying the operating force Fh acquired in the most recent step S21 to the characteristic data CD. The characteristic data CD is data (in other words, a graph) indicating the relationship between the operating force Fh and the acceleration set value α. An example of the characteristic data CD is shown in FIG. 22.
[0190] In the example shown in FIG. 22, the first characteristic data CD1, the second characteristic data CD2, and the third characteristic data CD3 are shown. The first characteristic data CD1 has the largest gradient δα / δFh. Therefore, according to the first characteristic data CD1, the acceleration setting value α with respect to the operating force Fh (i.e., the direct teach function FN2 _2 The maximum value of the acceleration α of the robot 12 during execution of the above is greater than the second characteristic data CD2 and the third characteristic data CD3.
[0191] Therefore, the response of the robot 12 to the operating force Fh applied by the operator becomes faster (in other words, the operation feels lighter), so that the resistance force RF against the operating force Fh becomes lower than the second characteristic data CD2 and the third characteristic data CD3. _2 The characteristic data CD may be initial data (or default data) set as the characteristic data CD at the start of the process.
[0192] On the other hand, the third characteristic data CD3 has the smallest slope δα / δFh. Therefore, according to the third characteristic data CD3, the acceleration set value α for the operating force Fh is smaller than those of the first characteristic data CD1 and the second characteristic data CD2. Therefore, the response of the robot 12 to the operating force Fh applied by the operator becomes slower (in other words, the operation feels heavier), and the resistance force RF against the operating force Fh becomes larger than those of the first characteristic data CD1 and the second characteristic data CD2.
[0193] According to the second characteristic data CD2, the resistance force RF is between the first characteristic data CD1 and the third characteristic data CD3. Thus, the characteristic data CD1, CD2, and CD3 are correlated with the resistance force RF against the operating force Fh. These characteristic data CD1, CD2, and CD3 are stored in advance in the memory 34.
[0194] In order to operate the robot 12 in step S23 in Fig. 21, one of these characteristic data CD1, CD2, and CD3 is selected and set as the characteristic data CD for determining the acceleration set value α. For example, assume that the first characteristic data CD1 has been set at the start of this step S71. In this case, the processor 32 functions as the direct teach execution unit 52 in this step S71 and applies the operating force Fh acquired in the most recent step S21 to the first characteristic data CD1 shown in Fig. 22 to determine the acceleration set value α.
[0195] Then, in step S23, the processor 32 functions as the direct teach executing unit 52 and operates the robot 12 according to the operating force Fh acquired in the most recent step S21, using the acceleration set value α determined in the immediately preceding step S71. The acceleration a of the operating robot 12 at this time is controlled to be equal to or less than the acceleration set value α.
[0196] On the other hand, when the determination in step S62 is YES, in step S72, the processor 32 functions as the resistance control unit 62 and sets the resistance RF against the operating force Fh to the first resistance RF1. Specifically, the processor 32 sets the above-mentioned characteristic data CD to the first characteristic data CD1 in FIG. 22. As described above, the characteristic data CD1, CD2, and CD3 are correlated with the resistance RF. Therefore, by selecting the first characteristic data CD1, the resistance RF can be set to the first resistance RF1 corresponding to the first characteristic data CD1.
[0197] On the other hand, when the determination in step S63 is YES, in step S73, the processor 32 functions as the resisting force control unit 62 and sets the resisting force RF against the operating force Fh to the second resisting force RF2. Specifically, the processor 32 sets the above-mentioned characteristic data CD to the second characteristic data CD2 in FIG.
[0198] This allows the resistance RF to be set to the second resistance RF2 corresponding to the second characteristic data CD2. As described above, the second resistance RF2 in the second characteristic data CD2 is greater than the first resistance RF1 in the first characteristic data CD1 (RF2>RF1).
[0199] On the other hand, when the determination in step S63 is NO, in step S74, the processor 32 functions as the resistance force control unit 62 to set the resistance force RF against the operating force Fh to a third resistance force RF 3 Specifically, the processor 32 sets the above-mentioned characteristic data CD to the third characteristic data CD3 in FIG.
[0200] As a result, the resistance RF is set to a third resistance RF corresponding to the third characteristic data CD3. 3 As described above, the third resistance RF3 in the third characteristic data CD3 is the largest (RF3>RF2>RF1). After executing step S72, S73, or S74 as the resistance control unit 62, the processor 32 proceeds to step S24 and sets the direct teach function FN2. _2 Determine whether or not the
[0201] As described above, in this embodiment, the characteristic data CD (CD1, CD2, CD3) indicating the relationship between the operating force Fh and the acceleration set value α is stored in advance in the memory 34, and the direct teach execution unit 52 applies the operating force Fh to the characteristic data CD to execute the direct teach function FN2. _2 An acceleration setting value α during execution of the process is determined (step S71).
[0202] 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 in accordance with the speed V (or acceleration a) acquired by the motion parameter acquisition unit 54 (steps S72, S73, S74). According to this configuration, the processor 32 can more smoothly change the operational feel of the robot 12 by the operator (i.e., the heaviness or lightness of the operational feel), thereby improving the operational feel.
[0203] In the present embodiment, a case has been described in which the three pieces of characteristic data CD1, CD2, and CD3 are stored in advance in the memory 34. However, one of the characteristic data CD1, CD2, and CD3 may be stored in the memory 34, and the processor 32 may determine the other two pieces of characteristic data CD1, CD2, and CD3 by a predetermined calculation using the one piece of characteristic data CD stored in the memory 34.
[0204] For example, it is assumed that the first characteristic data CD1 is stored in advance in the memory 34. In this case, in step S73, the processor 32 may obtain the second characteristic data CD2 by performing a predetermined calculation so as to reduce the slope δα / δFh of the first characteristic data CD1.
[0205] Furthermore, in step S74, the processor 32 may obtain the third characteristic data CD3 by performing a predetermined calculation so as to reduce the slope δα / δFh of the first characteristic data CD1 or the second characteristic data CD2. This eliminates the need to store many pieces of characteristic data CDn in the memory 34. Note that, although the example shown in FIG. 22 illustrates three pieces of characteristic data CD1, CD2, and CD3, two or four or more pieces of characteristic data CDn may be stored in the memory 34.
[0206] Next, referring to FIG. 23, a direct teach function FN2 according to still another embodiment will be described. _3 The control device 16 shown in FIG. _3Then, the flow shown in Fig. 23 is executed. In the flow shown in Fig. 23, the same processes as those in the flow shown in Fig. 20 are given the same step numbers, and duplicated explanations will be omitted.
[0207] In the flow shown in Fig. 23, the processor 32 functions as a direct teach execution unit 52 and executes steps S21 to S23. Here, in step S23, the processor 32 generates a command CM to the actuator 31 of the robot 12 in order to operate the robot 12 according to the operating force Fh identified in the most recent step S21. Hereinafter, a method of generating the command CM will be described with reference to Fig. 24.
[0208] 24, the control device 16 has a position command generating unit 64, a speed command generating unit 66, a torque command generating unit 68, a current control unit 70, a differentiator 72, subtractors 74 and 76, and an adder 78. The processor 32 is responsible for arithmetic processing for realizing the functions of the position command generating unit 64, the speed command generating unit 66, the torque command generating unit 68, the current control unit 70, the differentiator 72, the subtractors 74 and 76, and the adder 78.
[0209] The position command generator 64 generates a position command CM1 that defines the position of the robot 12 (e.g., the end effector 30) and outputs it to the subtractor 74. The subtractor 74 subtracts the feedback FB (rotational position) supplied from the rotation detection sensor 33 via the I / O interface 36 from the input position command CM1, and outputs the result to the speed command generator 66 as a position deviation δp.
[0210] The speed command generation unit 66 generates a speed command CM2 based on the position deviation δp and outputs it to the subtractor 76. Meanwhile, the differentiator 72 obtains a speed V by time-differentiating the feedback FB supplied from the rotation detection sensor 33, and outputs it to the subtractor 76 as the speed feedback V. The subtractor 76 subtracts the speed feedback V from the input speed command CM2, and outputs it to the torque command generation unit 68 as the speed deviation δv.
[0211] The torque command generator 68 generates a torque command CM3 based on the speed deviation δv. The current controller 70 generates a voltage signal CM4 (e.g., a PWM control signal) based on the torque command CM3 and transmits it to the actuator 31 via the I / O interface 36. The position command CM1, the speed command CM2, the torque command CM3, and the voltage signal CM4 configure the command CM to the actuator 31.
[0212] In this manner, in step S23, the processor 32 generates commands CM (position command CM1, speed command CM2, torque command CM3, and voltage signal CM4) for the actuator 31, and operates the robot 12 according to the operating force Fh. Referring again to FIG. 23, if the determination in step S62 is YES, the processor 32 proceeds to step S24 and activates the direct teach function FN2. _3 Determine whether or not the
[0213] On the other hand, if the determination in step S64 is YES, in step S81, the processor 32 functions as the resistance force control unit 62 to modify the command CM generated in step S23. Specifically, as shown in Fig. 24, the processor 32 functions as the resistance force control unit 62 to generate a command correction value CR1 and output it to the adder 78. This command correction value CR1 modifies the torque command CM3 so as to cause the actuator 31 to generate a force acting in the opposite direction to the operating force Fh.
[0214] The adder 78 generates a corrected torque command CM3' by adding the command correction value CR1 generated by the resistance force control unit 62 to the torque command CM3 output from the torque command generation unit 68, and outputs the corrected torque command CM3' to the current control unit 70. By correcting the torque command CM3 by the command correction value CR1 in this manner, a force opposite to the operational force Fh is generated in each movable component of the robot 12, thereby making it possible to increase the resistance force RF against the operational force Fh.
[0215] 23 again, if the determination in step S64 is NO, in step S82, the processor 32 functions as the resisting force control unit 62 to modify the command CM generated in step S23. Specifically, the processor 32 functions as the resisting force control unit 62 to generate a command correction value CR2 (FIG. 24) and output it to the adder 78.
[0216] This command correction value CR2 is a value different from the command correction value CR1 generated in step S81, and is generated so as to generate a force greater than the command correction value CR1 in the direction opposite to the operational force Fh. The adder 78 generates a corrected torque command CM3' by adding the command correction value CR2 generated by the resistance force control unit 62 to the torque command CM3, and outputs the corrected torque command CM3' to the current control unit 70. As a result, the resistance force RF against the operational force Fh can be increased more than in step S81. After step S81 or S82, the processor 32 proceeds to step S24.
[0217] As described above, in this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _3 In order to operate the robot 12, commands CM (position command CM1, speed command CM2, torque command CM3, and voltage signal CM4) are generated for the actuator 31 of the robot 12.
[0218] The resisting force control unit 62 changes the resisting force RF by modifying the command CM (specifically, the torque command CM3) generated by the direct teach execution unit 52 in accordance with the speed V (or the acceleration a) acquired by the motion parameter acquisition unit 54 (steps S81 and S82). This configuration makes it possible to quickly and precisely control the resisting force RF against the operating force Fh.
[0219] In this embodiment, the resisting force control unit 62 corrects the torque command CM3 using the command correction value CR1 or CR2. However, this is not limiting, and the resisting force control unit 62 may correct the position command CM1, the speed command CM2, or the voltage signal CM4 as long as it can change the resisting force RF against the operating force Fh.
[0220] In addition, the direct teach function FN2 shown in Figure 20 _1 , Direct teach function FN2 shown in Figure 21 _2 , or the direct teach function FN2 shown in Figure 23 _3 may be applied to step S3 or S3' described above. That is, in this case, the control device 16 shown in Fig. 2 or 9 further includes a resistance force control unit 62. When the processor 32 judges NO in step S64 in Fig. 20, 21 or 23, the processor 32 may generate a visual or audio warning signal AL3 saying "The speed or acceleration is excessive. Please reduce the operating force" and output it to the display device 42 or 44, or the speaker.
[0221] Next, further functions of the robot system 10 will be described with reference to Fig. 25 and Fig. 26. The control device 16 shown in Fig. 25 further includes a timing unit 80. The timing 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 control device 16.
[0222] The control device 16 shown in FIG. 25 has a direct teach function FN2 shown in FIG. _4 In the flow shown in FIG. 26, the same processes as those in the flow shown in FIG. 6 are denoted by the same step numbers, and duplicated explanations will be omitted. The flow shown in FIG. 26 is a flow in which the processor 32 executes the direct teach function FN2. _4 The process starts at time t0 when a command to start the process is received.
[0223] In step S91, the processor 32 starts measuring the elapsed time t from time t0 when the flow in FIG. 26 was started. Specifically, the processor 32 transmits a measuring command to the timing unit 80 at time t0, and in response to the measuring command, the timing unit 80 starts measuring the elapsed time t from time t0. Thereafter, the processor 32 functions as the direct teach execution unit 52, executes steps S21 to S23, and executes the direct teach function FN2 in step S24. _4 Determine whether or not the
[0224] If the determination in step S24 is NO, in step S92, the processor 32 determines whether the elapsed time t measured by the timing unit 80 is equal to or smaller than a predetermined threshold value t th1 (i.e., t ≥ t th1 The processor 32 determines whether t≧t th1 If so, the determination is YES and the process proceeds to step S94, whereas if the determination is NO, the process proceeds to step S93.
[0225] In step S93, the processor 32 determines whether the direct teach function FN2 being executed is _4 Here, the operator determines whether a command for a function FN other than the direct teach function FN2 has been received. _4 During the execution of the above, the operation of applying the operating force Fh to the robot 12 is temporarily interrupted, and the direct teach function FN2 such as the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5 is executed. _4 There may be times when you want to perform a function other than FN.
[0226] As an example, the operator may select a mode in which processor 32 is to execute direct teach function FN2 of FIG. _4 While executing the above, the operator operates the input device 46 of the teaching device 18 to input a command CM5 for performing a jog operation on the robot 12 by the teaching function FN3 to the teaching device 18. As another example, the operator may input a command CM5 for performing a jog operation on the robot 12 by the direct teaching function FN2. _4During execution of the above, the input device 46 of the teaching device 18 is operated to input a command CM6 to the teaching device 18 to cause the robot 12 to perform automatic operation (or trial operation) using the automatic operation function FN4 or (operation confirmation function FN5).
[0227] As yet another example, the operator may select the Direct Teach function FN2 _4 During execution of the above, the input device 46 of the teaching device 18 is operated to input a command CM7 to the teaching device 18 to display on the display device 44 an input image for executing the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.
[0228] The processor of the teaching device 18 supplies the command CM5, CM6 or CM7 received from the operator to the control device 16. The operator may operate the input device 40 of the control device 16 to directly input the command CM5, CM6 or CM7 for the teaching function FN3, the automatic driving function FN4 or the operation checking function FN5 to the control device 16.
[0229] In step S93, if the processor 32 of the control device 16 has received a command CM5, CM6, or CM7 for the teaching function FN3, the automatic driving function FN4, or the operation checking function FN5, the result is YES, and the process proceeds to step S94. On the other hand, if the processor 32 has not received a command CM5, CM6, or CM7, the result is NO, and the process returns to step S21.
[0230] If the determination in step S24, S92, or S93 is YES, in step S94, the processor 32 executes the direct teach function FN2. _4 The direct teach function FN2 is also terminated. _4The processor 32 generates a notification signal SG indicating that the direct teach function has been automatically ended. For example, the processor 32 may generate an image or sound notification signal SG stating "The direct teach function has been automatically ended" and output it to the display device 42 or 44, or the speaker. Thus, in this embodiment, the processor 32 functions as a notification signal generating unit 53 (FIG. 25) that generates the notification signal SG. Then, the processor 32 ends the flow of FIG. 26.
[0231] In this manner, the processor 32 repeatedly executes the loop of steps S21 to S24, S92, and S93 until a YES determination is made in step S24, S92, or S93, and executes the direct teach function FN2. _4 In other words, while the determinations in steps S24, S92, and S93 are NO, the processor 32 continues to execute the process of determining whether the elapsed time t is equal to or smaller than the threshold value t th1 (i.e., until period t th1 ), Direct Teach Function FN2 _4 Continue executing until the elapsed time t reaches the threshold t th1 When it exceeds (period t th1 After the time has elapsed, the direct teach function FN2 _4 will automatically end.
[0232] As described above, in this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _4 The time t that has elapsed since the time t0 when the command to start is received is a predetermined threshold t th1 When the direct teach function FN2 is exceeded (when the result of step S92 is YES), _4 is terminated (step S94).
[0233] Here, the operator activates the direct teach function FN2 _4 After starting the direct teach function FN2, the operator may leave the work cell for a long period of time due to various reasons. If a third party accidentally presses the robot 12 while the operator is absent, the robot 12 may not be able to start the direct teach function FN2. _4 may cause it to operate unintentionally.
[0234] According to this embodiment, the direct teach function FN2 _4 After the start of a given period t th1 Direct teach function FN2 is automatically enabled when time has elapsed. _4 By terminating the process, it is possible to prevent the robot 12 from moving unintentionally as described above. In the present embodiment, the control device 16 further includes a timing unit 80 that measures the elapsed time t. With this configuration, the processor 32 can reliably measure the elapsed time t without delay.
[0235] In this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _4 While the direct teach function FN2 is running, _4 When a command CM5, CM6 or CM7 for a function FN3, FN4 or FN5 other than the direct teach function FN2 is received (when YES is determined in step S93), _4 is terminated (step S94).
[0236] According to this configuration, the operator can select the direct teach function FN2 _4 If you interrupt the direct teach function FN2 and try to execute, for example, the teaching function FN3, the automatic operation function FN4, or the operation check function FN5, _4 automatically ends, allowing for a smooth transition to the teaching function FN3, the automatic driving function FN4, or the operation confirmation function FN5.
[0237] Then, the processor of the teaching device 18 (or the processor 32 of the control device 16) causes the robot 12 to perform a jog operation, automatic operation, or trial operation, or displays an input image on the display device 44, in response to a command CM5, CM6, or CM7 received from the operator, and accepts input to execute the teaching function FN3, the automatic operation function FN4, or the operation confirmation function FN5.
[0238] In this embodiment, the control device 16 is configured such that the direct teach execution unit 52 executes the direct teach function FN2. _4 The direct teach function FN2 is further provided with a notification signal generating unit 53 that generates a notification signal SG to notify the operator of the completion of the direct teach function FN2. _4 It is easy to recognize that the program has automatically terminated.
[0239] In this embodiment, the above-mentioned time t0 is the time when the direct teach function FN2 _4 This is the time when the command to start the direct teach function FN2 shown in FIG. _4 However, strictly speaking, the direct teach function FN2 _4 At the time t when the command to start 0_1 In response to this command, the processor 32 executes the direct teach function FN2 of FIG. _4 At the time t 0_2 There may be a time lag between
[0240] In this case, the processor 32 0_1 and time t 0_2 In other words, in this case, the processor 32 functions as the direct teach execution unit 52 and can count the elapsed time t from the time t 0_1 Or t 0_2 The time t elapsed since the th1 When the direct teach function FN2 is exceeded _4 Exit.
[0241] It is also possible to omit the timing unit 80 from the control device 16 and have the function of the timing unit 80 provided in an external device. For example, an electronic clock (or a timing unit built into another computer) provided outside the control device 16 may be connected to the I / O interface 36 of the control device 16, and the processor 32 may obtain the above-mentioned elapsed time t by referring to the time measured by the electronic clock.
[0242] Next, referring to Figure 27, we will explain how to use the other direct teach function FN2 _5 The control device 16 shown in FIG. _5 Then, the flow shown in Fig. 27 is executed. In the flow shown in Fig. 27, the same processes as those in the flow shown in Fig. 26 are given the same step numbers, and duplicated explanations will be omitted.
[0243] After the flow of FIG. 27 starts, processor 32 functions as direct teach execution unit 52 to execute steps S21 to S23, and executes direct teach function FN2 in step S24. _5 After step S23, in step S101, the processor 32 obtains the operating force Fh in the same manner as in step S21 described above.
[0244] In step S102, similarly to step S22 described above, the processor 32 checks whether the magnitude of the operational force Fh acquired in the most recent step S101 is equal to or smaller than a predetermined threshold value Fh th If the processor 32 determines that the count has exceeded the limit, the process returns to step S23, whereas if the processor 32 determines that the count has exceeded the limit, the process proceeds to step S103.
[0245] In step S103, the processor 32 determines whether or not the movement of the robot 12 has stopped. Here, when the operator releases the operating force Fh on the robot 12, the robot 12 automatically stops. The processor 32 can determine whether or not the robot 12 has stopped based on the feedback FB from the rotation detection sensor 33. If the processor 32 determines that the movement of the robot 12 has stopped (i.e., YES), the processor 32 proceeds to step S104, whereas if the processor 32 determines that the movement of the robot 12 has stopped, the processor 32 returns to step S101.
[0246] In step S104, processor 32 starts measuring the elapsed time t from time t1 at which YES was determined in step S103 (i.e., the time at which the robot stopped). Specifically, processor 32 transmits a measuring command to timing unit 80 at time t1, and in response to the measuring command, timing unit 80 starts measuring the elapsed time t from time t1.
[0247] In step S105, the processor 32 determines whether the elapsed time t measured by the timing unit 80 is equal to or smaller than a predetermined threshold t th2 (i.e., t ≥ t th2 ) is judged. th2 is the threshold t th1 The processor 32 may be set to a time smaller (or larger) than t ≧ t th2 If so, the determination is YES and the process proceeds to step S94, whereas if the determination is NO, the process proceeds to step S93.
[0248] If the determination in step S105 is NO, the processor 32 executes the above-mentioned step S93 and terminates the direct teach function FN2 being executed. _5 Processor 32 determines whether a command (e.g., the above-mentioned command CM5, CM6, or CM7) for a function FN other than the above (e.g., teaching function FN3, automatic driving function FN4, or operation confirmation function FN5) has been received. If processor 32 determines YES, it proceeds to step S94, and if processor 32 determines NO, it proceeds to step S106.
[0249] In step S106, processor 32 executes direct teach function FN2 in the same manner as in step S24. _5 If the answer is YES, the process proceeds to step S94, whereas if the answer is NO, the process proceeds to step S107.
[0250] In step S107, the processor 32 acquires the operating force Fh in the same manner as in step S21 described above. In step S108, the processor 32 determines whether the magnitude of the operating force Fh acquired in the most recent step S107 is equal to or smaller than a predetermined threshold value Fh in the same manner as in step S22 described above.th If the processor 32 determines that the count has exceeded the limit, the process returns to step S23. If the processor 32 determines that the count has exceeded the limit, the process returns to step S105.
[0251] On the other hand, if the determination in step S105, S93, or S106 is YES, the processor 32 executes the above-mentioned step S94 and activates the direct teach function FN2 in FIG. _5 The direct teach function FN2 is also terminated. _5 Then, the processor 32 ends the flow of FIG.
[0252] In this way, when the processor 32 judges YES in step S103 (i.e., the robot 12 has stopped), while the processor 32 judges NO in steps S105, S93, S106, and S108, the processor 32 repeatedly executes the loop of steps S105, S93, and S106 to S108. Then, the processor 32 checks whether the elapsed time t from the time point t1 at which the processor 32 judged YES in step S103 is equal to or smaller than the threshold value t th2 When it exceeds (period t th2 After the time has elapsed, the direct teach function FN2 is turned off in step S94. _5 will automatically end.
[0253] In this manner, in this embodiment, the direct teach execution unit 52 executes the direct teach function FN2 _5 The time t that has elapsed since the time t1 at which the robot 12 stopped operating (i.e., the time at which YES was determined in step S103) is a predetermined threshold value t th2 When the direct teach function FN2 is exceeded _5 According to this configuration, the direct teach function FN2 _5 When the operator is absent during the execution of the above, it is possible to prevent the robot 12 from being operated unintentionally due to a third party accidentally pressing the robot 12.
[0254] In addition, the direct teach function FN2 shown in Figure 26 _4, or the direct teach function FN2 shown in Figure 27 _5 2 or 9 may be applied to the above-mentioned step S3 or S3'. In other words, in this case, the control device 16 shown in FIG.
[0255] For example, the direct teach function FN2 shown in Figure 26 _4 In the case where the direct teach function FN2 shown in FIG. 26 is applied to step S3, the time t0 at which the flow in FIG. 26 starts is the time at which the direct teach function start command is received (that is, the time at which YES is determined in step S1). _4 is applied to step S3', the time t0 at which the flow of FIG. 26 starts is the time at which the enable switch ON signal is received (that is, the time at which YES is determined in the above-mentioned step S31 or S34).
[0256] 26 or 27. In step S94 in FIG. 26 or 27, the processor 32 executes the direct teach function FN2. _4 or FN2 _5 25. However, the notification signal SG may not be generated while terminating the above-mentioned process. In other words, in this case, the notification signal generating unit 53 may be omitted from the control device 16 shown in FIG.
[0257] The functions of the control device 16 shown in Figures 2, 9, 19, and 25 can be combined with one another. Such a configuration is shown in Figure 28. The control device 16 shown in Figure 28 includes a safety function execution unit 50, a direct teach execution unit 52, an operation parameter acquisition unit 54, a function switching unit 56, a safety function determination unit 58, a threshold switching unit 60, a resistance force control unit 62, and a timing unit 80, and selectively executes the flows in Figures 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27.
[0258] Also, the flows of Figures 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 can be combined. For example, steps S61 to S66 in Figure 20 can be combined with the flow of Figure 27 by executing them after step S23 in Figure 27. The flows of Figures 21 and 23 can also be combined with the flow of Figure 27 in the same way. Note that the flows of Figures 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 are merely examples, and the processes of these flows may be changed or deleted as appropriate, and any other processes may be added.
[0259] The processor 32 may execute the flows of Figures 3, 5 to 8, 11 to 13, 18, 20, 21, 23, 26, and 27 according to a computer program PG2. This computer program PG2 is stored in advance in the memory 34. 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 executed by the processor 32 may be functional modules realized by the computer program PG.
[0260] In addition, the robot 12 is not limited to a vertical articulated robot, and may be any type of robot, such as a horizontal articulated robot, a parallel link robot, etc. Although the present disclosure has been described above through the embodiments, the above-described embodiments do not limit the invention according to the claims. [Explanation of symbols]
[0261] 10 Robot System 12. Robot 14 Force Sensor 14A Torque Sensor 14B Force sensor 16 Control device 18 Teaching device 34 Memory 50 Safety Function Execution Unit 52 Direct teach execution unit 54 Operation parameter acquisition unit 56 Function switching section 58 Safety function judgment section 60 Threshold switching unit 62 Resistance control section
Claims
1. A control device for controlling an operation of a robot, a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot; a safety function execution unit that executes a safety function in parallel with the direct teach function executed by the direct teach execution unit, the safety function monitoring at least one of a contact force applied to the robot during operation, the speed and acceleration of the robot, and stopping the operation of the robot when at least one of the above exceeds a predetermined threshold, the safety function execution unit starting the safety function when the direct teach function is enabled, and terminating the safety function when the direct teach function is disabled.
2. A control device for controlling the operation of a robot, comprising: a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and executes a safety function to stop the operation of the robot when at least one of the contact force and the velocity and acceleration of the robot exceeds a predetermined threshold; a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot in parallel with the safety function executed by the safety function execution unit; A function switching unit that switches the safety function executed by the safety function execution unit between enabled and disabled, The control device, wherein the direct teach execution unit does not execute the direct teach function when the safety function is disabled.
3. A control device for controlling the operation of a robot, comprising: a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and executes a safety function to stop the operation of the robot when at least one of the contact force and the velocity and acceleration of the robot exceeds a predetermined threshold; a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot in parallel with the safety function executed by the safety function execution unit; A control device comprising: a safety function determination unit that determines whether the safety function is enabled or disabled when the direct teach execution unit executes the direct teach function.
4. A control device for controlling the operation of a robot, comprising: a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and executes a safety function to stop the operation of the robot when at least one of the contact force and the velocity and acceleration of the robot exceeds a predetermined threshold; a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot in parallel with the safety function executed by the safety function execution unit; The robot is provided with a force sensor that detects an external force applied to the robot, the force sensor having two detection units that detect forces in one direction at the same time; the safety function execution unit executes, in parallel, a first safety function that monitors the first contact force calculated based on detection data from one of the two detection units and a second safety function that monitors the second contact force calculated based on detection data from the other of the two detection units; The control device, in the direct teach function, wherein the direct teach execution unit determines the operating force based on detection data from at least one of the two systems of detection units.
5. A control device for controlling the operation of a robot, comprising: a safety function execution unit that monitors at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and executes a safety function to stop the operation of the robot when at least one of the contact force and the velocity and acceleration of the robot exceeds a predetermined threshold; a direct teach execution unit that executes a direct teach function to operate the robot according to an operating force applied to the robot in parallel with the safety function executed by the safety function execution unit; a threshold value switching unit that switches the threshold value between a first threshold value and a second threshold value that is greater than the first threshold value; The threshold switching unit switches the threshold from the first threshold to the second threshold when the direct teach execution unit starts the direct teach function or when at least one of the thresholds exceeds a third threshold during execution of the direct teach function.
6. The robot is provided with a force sensor that detects an external force applied to the robot, The control device according to any one of claims 1 to 5, wherein 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 of a common force sensor.
7. Robots and A robot system comprising: the control device according to any one of claims 1 to 5, which controls the robot.
8. 1. A method for controlling a movement of a robot, comprising: The processor: Executing a direct teach function to operate the robot according to an operating force applied to the robot; a safety function that monitors at least one of a contact force applied to the robot during operation, a velocity and an acceleration of the robot, and stops the operation of the robot when at least one of the contact force and the acceleration exceeds a predetermined threshold, in parallel with the direct teach function; The method includes initiating the safety feature when the direct teach feature is enabled, and terminating the safety feature when the direct teach feature is disabled.
Citation Information
Patent Citations
Electronic insect pest exterminator
JP1994090648A
Control device for robot
JP1999058278A
Robot, robot system, and teaching method
JP2015182142A
Human-robot cooperative type industrial robot having lead-through function
JP2015199174A