Robot control device, robot system, and teaching device

By installing a force sensor and a contact detector on the robot, detecting and setting teaching points, the problem of distance caused by reaction force when the robot comes into contact with the workpiece is solved, and stable and accurate operation in direct teaching is achieved.

CN119136954APending Publication Date: 2024-12-13FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280095619.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-05-10
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

In direct teaching, the robot is prone to reacting when it comes into contact with the workpiece, causing the robot to stay away from the workpiece, making it difficult to teach along the ridge track correctly, and the method of stopping the robot's position in important places loses the advantages of intuitive operation.

Method used

Through a force sensor and a contact detector mounted on the robot, the position and posture of the robot when contacting the workpiece is detected, and these positions are set as teaching points to generate action instructions so that the robot can remain stable during contact.

Benefits of technology

The operator can easily teach, avoiding the robot's movement away from the workpiece when contacting, and maintaining the intuitiveness and accuracy of direct teaching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119136954A_ABST
    Figure CN119136954A_ABST
Patent Text Reader

Abstract

A robot control device (50) for controlling a robot (10) is provided with a teaching point setting unit (161) that sets, as a teaching point of a robot program, a position of the robot (10) when contact between the robot (10) and an object is detected on the basis of an output of a first detector (71) that is mounted on the robot (10) and is capable of detecting contact.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a robot control device, a robot system and a teaching device. Background Art

[0002] There is a known method for creating a robot program based on direct teaching by which an operator directly operates the robot to teach the robot an action. In this regard, Patent Document 1 states that "when performing an introduction action, the introduction switch 44 is pressed to disable the contact force monitoring. Therefore, it is possible to prevent the robot 10 from stopping unexpectedly due to the operating force applied to the robot 10 by the operator during the introduction action." (Paragraph 0037).

[0003] In addition, Patent Document 2 states regarding a robot control device that "the control unit stores the initial position and posture of the robot arm when the instructor grasps the robot arm and starts direct teaching as an initial reference state. Furthermore, when direct teaching starts, the control unit calculates a force control signal based on the position information from the position detection unit and the speed information from the speed detection unit and transmits the signal to the drive unit to control the force or torque of the actuator used to drive the robot arm. The force is controlled when the actuator is a direct-acting system, and the torque is controlled when the actuator is a rotational system. When the instructor applies force to the robot arm to move it from the reference state, the control unit stores the position and posture as the teaching value of the track." (Paragraph 0017).

[0004] Prior art literature

[0005] Patent Literature

[0006] Patent Document 1: Japanese Patent Application Publication No. 2015-199174

[0007] Patent Document 2: Japanese Patent Application Publication No. 2019-030931 Summary of the invention

[0008] Problems to be solved by the invention

[0009] In direct teaching, there are two methods of creating a robot program by storing the trajectory of the robot's movement at predetermined time intervals while the operator is operating the robot, and another method of creating a robot program by stopping the robot at an important location and storing the position.

[0010] The method of storing the trajectory of the robot's movement at a predetermined time interval is suitable for teaching the movement of the robot's tool tip moving in the air without contacting anything. However, in the case of teaching the trajectory that depicts the surface and ridgeline of the workpiece, a reaction force is applied to the robot when the robot contacts the workpiece. In this case, the reaction force is also detected by the force sensor and torque sensor mounted on the robot, so the robot is prone to bounce away from the workpiece at the moment of contact with the workpiece. The movement of such a robot is different from human intuition, so teaching becomes difficult.

[0011] In the method of stopping the robot at an important location and storing its position, the above problem can be avoided by storing the position of the robot before contacting the workpiece. However, in order to stop the robot at the position before contacting the workpiece, careful attention is required, thereby losing the advantage of direct teaching such as teaching based on intuitive operation.

[0012] Means for solving problems

[0013] One method of the present disclosure is a robot control device for controlling a robot, comprising: a teaching point setting unit, which sets the position of the robot when contact between the robot and an object is detected based on the output of a first detector capable of detecting contact and mounted on the robot as a teaching point of the robot program.

[0014] Another embodiment of the present disclosure is a robot system comprising: a robot equipped with a first detector capable of detecting contact; and a teaching point setting unit that sets the position of the robot when contact between the robot and an object is detected based on the output of the first detector as a teaching point of the robot program.

[0015] Another embodiment of the present disclosure is a teaching device for teaching a robot, comprising: a teaching point setting unit, which sets the position of the robot when contact between the robot and an object is detected based on the output of a first detector capable of detecting contact mounted on the robot as a teaching point of the robot program.

[0016] Effects of the Invention

[0017] According to the above configuration, when teaching a trajectory including a contact point with the workpiece, such as a trajectory that draws an edge line or a surface of the workpiece, by direct teaching, the operator can easily perform teaching.

[0018] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of typical embodiments of the present invention as shown in the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1It is a device configuration diagram of the robot system according to the first embodiment.

[0020] Figure 2 This is a diagram showing an example of the hardware configuration of a robot control device and a teaching pendant.

[0021] Figure 3 This is a functional block diagram of each device constituting the robot system according to the first embodiment.

[0022] Figure 4A This is a diagram for explaining the operation of teaching the edge line of a workpiece by direct teaching.

[0023] Figure 4B This is a diagram for explaining the operation of teaching the edge line of a workpiece by direct teaching.

[0024] Figure 5 It is a flowchart showing the process of direct teaching.

[0025] Figure 6 This is a diagram showing an example of a program creation screen.

[0026] Figure 7 This is a diagram showing a setting screen for the direct teaching icon.

[0027] Figure 8 This is a diagram showing an example of a state where the direct operation icon is expanded and displayed.

[0028] Fig. 9 It is a device configuration diagram of a robot system according to a second embodiment.

[0029] Fig.10 This is a functional block diagram of a robot system according to the second embodiment.

[0030] Fig.11 This is a functional block diagram of a robot system according to a third embodiment. DETAILED DESCRIPTION

[0031] Next, the embodiments of the present disclosure are described with reference to the accompanying drawings. In the referenced drawings, the same structural parts or functional parts are marked with the same reference symbols. For easy understanding, the scales of these drawings are appropriately changed. In addition, the method shown in the drawings is an example for implementing the present invention, and the present invention is not limited to the method shown in the drawings.

[0032] Hereinafter, robot systems according to the first to third embodiments will be described. The robot systems according to the respective embodiments are systems that enable direct teaching by which an operator directly operates a robot to perform teaching.

[0033] First embodiment

[0034] Figure 1 FIG. 1 is a diagram showing the device structure of the robot system 100 according to the first embodiment. Figure 1 As shown, the robot system 100 includes a robot 10 , a robot control device 50 for controlling the robot 10 , and a teaching operation panel 30 used when performing various settings and operations related to teaching.

[0035] Here, the robot 10 is described as an example of a vertical multi-joint robot, but other types of robots such as a parallel link type robot and a dual-arm robot may be used as the robot 10. The robot 10 includes a base 11 fixed to a floor and a plurality of links mounted on the base 11. The plurality of links constitute a rotating body 12, a lower arm 13, an upper arm 14, and a wrist 15 of the robot.

[0036] The robot 10 can perform the desired work by means of an end effector mounted on the wrist flange 16. The end effector is an external device that can be replaced according to the purpose, such as a manipulator, a welding gun, a tool, etc. Figure 1 , an example using a deburring tool 60 as an example of an end effector is shown.

[0037] A direct teaching device 80 used by an operator for direct teaching is also disposed on the wrist flange 16 of the robot 10. The direct teaching device 80 includes an operating handle 82 and an operating switch 81 including a switch for switching between enabling and disabling the direct teaching operation and other function switches (see Figure 3 ).like Figure 1 As shown, the direct teaching device 80 is mounted on the wrist flange 16 of the robot 10 via the external force detector 71. A deburring tool 60 is also mounted on the front end side of the wrist flange 16 of the robot 10 relative to the direct teaching device 80. The signal from the operation switch 81 is provided to the robot control device 50 and is used for control during the direct teaching operation.

[0038] The external force detector 71 can detect the external force applied to the robot 10. In addition, as a detector for the external force detector 71, a force sensor or a load cell can be used. As an example, a force sensor is used as the external force detector 71. The force sensor is, for example, a six-axis force sensor that detects forces in three-axis directions and moments around three axes. The detection value of the force sensor is input to the robot control device 50. In addition, the external force applied to the robot 10 can also be detected by a torque sensor arranged on each joint axis of the robot 10. Alternatively, the force applied to the robot can also be obtained based on the current value of the motor flowing through each axis of the robot.

[0039] According to this configuration, the external force detector 71 detects the magnitude and direction of the operating force when the operator OP operates the operating handle 82 of the direct teaching device 80 , and the robot 10 (arm tip end portion) can be moved according to the operation of the operator OP.

[0040] The robot control device 50 has functions of controlling the robot 10 according to a robot program, controlling the robot 10 according to instructions from a teaching operation panel, and controlling the operation of the operator OP operating the robot 10 for direct teaching using a direct teaching device 80 .

[0041] The operator can make the Figure 1 The robot program for the operation of the workpiece W as exemplified above. When the robot control device 50 teaches a trajectory including a contact point with the workpiece, such as a trajectory that draws the ridgeline or surface of the workpiece, by direct teaching, the operator can easily perform teaching.

[0042] Figure 2 The following is an example of the hardware configuration of the robot control device 50 and the teaching operation panel 30. The robot control device 50 may have a configuration as a general computer in which a memory 52 (ROM, RAM, non-volatile memory, etc.), various input / output interfaces 53, an operation unit 54 including various operation switches, etc. are connected to a processor 51 via a bus. The teaching operation panel 30 may also have a configuration as a general computer in which a memory 32 (ROM, RAM, non-volatile memory, etc.), a display unit 33, an operation unit 34 composed of an input device such as a keyboard (or software key), various input / output interfaces 35, etc. are connected to a processor 31 via a bus.

[0043] Figure 3 1 is a functional block diagram of each device constituting the robot system 100. Each joint of the robot 10 is provided with a motor 111 for driving the joint axis and a motor angle detector 112 for detecting the position (angle position) of the motor. Figure 3 , a motor 111 and a motor angle detector 112 provided on one joint axis are shown as representatives.

[0044] like Figure 3 As shown, the robot control device includes a force control unit 151 , a motion control unit 152 , a storage unit 153 , a robot position acquisition unit 154 , a contact detection unit 155 , and a program creation unit 156 .

[0045] The force control unit 151 has a function of generating a command to move the robot 10 based on the external force detected by the external force detector 71. In direct teaching, the force control unit 151 generates an action command to move the robot 10 in the direction of the external force detected by the external force detector 71 (the direction of the force applied to the robot 10 by the operator OP).

[0046] The motion control unit 152 generates commands for each joint axis of the robot 10 through kinematic calculations according to the commands from the force control unit 151, and performs servo control on the motors of each joint axis. As a result, the robot 10 can be operated according to the commands from the force control unit 151. As a result, in direct teaching, the operator OP can move the robot 10 (deburring tool 60) in the direction of the force applied to the operating handle 82 of the direct teaching device 80.

[0047] The storage unit 153 stores the robot program created by the program creation unit 156 , various information required for programming, and the like.

[0048] The external force detected by the external force detector 71 is further input to the contact detection unit 155, which detects the contact between the robot 10 and the object. The contact detection unit 155 may detect that the robot 10 is in contact with the object when (1) the magnitude of the force or torque detected by the external force detector 71 exceeds a predetermined threshold, or when (2) the force or torque detected by the external force detector 71 reverses. When contact is detected, the contact detection unit 155 sends a signal to the program creation unit 156 to notify the program creation unit 156.

[0049] The threshold used by the contact detection unit 155 to determine whether there is contact can be, for example, the following method:

[0050] (1) A method in which the maximum force when the robot 10 is operated by direct teaching is recorded in a state in which the robot 10 is not in contact with any place, and a value greater than the maximum force by a predetermined margin is determined as the threshold value; or

[0051] (2) A method in which the user can set the threshold value.

[0052] The robot position acquisition unit 154 obtains the position and posture of the robot 10 based on the output of the motor angle detector 112 disposed at each joint axis. The robot position acquisition unit 154 provides the acquired information on the position and posture of the robot 10 to the program creation unit 156 .

[0053] The program creation unit 156 has various functions for creating robot programs. The functions of the program creation unit 156 include the function of creating robot programs by direct teaching. Figure 3As shown, the program creation unit 156 includes a teaching point setting unit 161 , a command generation unit 162 , and a display control unit 163 .

[0054] The teaching point setting unit 161 provides a function of setting a teaching point in direct teaching. In the present embodiment, the teaching point setting unit 161 has a function of setting the position and posture of the robot 10 when the contact between the robot 10 and the object is detected by the contact detection unit 155 as a teaching point.

[0055] The command generation unit 162 has a function of generating an operation command for the robot 10 based on the teaching point set by the teaching point setting unit 161 .

[0056] The display control unit 163 has a function of generating various UI (User Interface) screens for creating a program, a function of assisting various operation inputs via the UI screens, and the like.

[0057] In the present embodiment, various UI screens for programming are displayed on the display unit 33 of the teaching operation panel 30 , and operations on the UI screens are performed via the operation unit 34 .

[0058] A specific example of the direct teaching operation of this embodiment will be described. Figure 1 The robot program in this case is a program for moving the deburring tool 60 so that the deburring tool 60 traces the end surface (edge ​​line L) of the workpiece W.

[0059] Here, it is considered that the edge of such a workpiece is taught by storing the trajectory of the robot in motion as a teaching point at a predetermined time interval. In this case, in order to teach the edge L of the workpiece, the robot (tool) is brought into contact with the workpiece W, but if the robot is brought into contact with the workpiece, a reaction force is applied to the robot, and this reaction force is also detected by the external force detector, so the robot is likely to move away from the workpiece. Therefore, in such a direct teaching method, it is difficult for the operator to correctly teach the track along the edge of the robot. In addition, even in the case where the operator stops the robot at an important place and stores its position in the direct teaching, in order to stop the robot at the position before contacting the workpiece, careful attention is required, thereby losing the advantage of direct teaching. The robot control device 50 (program making unit 156) of this embodiment is configured to be able to obtain the position and posture of the robot when the robot 10 (deburring tool 60) contacts the workpiece in the direct teaching as a teaching point, so as to eliminate the above-mentioned problem points when teaching the edge of the workpiece, etc. by direct teaching.

[0060] Figure 4A and Figure 4BThis is a diagram for explaining the operation of teaching the trajectory of the ridge line L of the workpiece W by direct teaching according to this embodiment. Figure 4A and Figure 4B In the figure, for the sake of convenience, only the workpiece W and the deburring tool 60 are illustrated. The operator OP performs a prescribed operation and starts direct teaching. The operation for starting direct teaching can also be performed by, for example, operating the operation switch 81 of the direct teaching device 80, or operating the UI screen displayed on the teaching operation panel 30. The operator OP first records the teaching start point P1 while operating the robot 10 using the direct teaching device 80. The operator OP makes the robot 10 (deburring tool 60) approach the workpiece W from the teaching start point P1. The teaching point setting unit 161 can also obtain the position of the robot 10 in motion from the teaching start point P1 to the initial contact point C1 with the workpiece W at a prescribed time interval and automatically record it as a teaching point.

[0061] The teaching point setting unit 161 automatically records the contact point C1 where the deburring tool 60 first contacts the workpiece W as a teaching point. If the deburring tool 60 contacts the workpiece W, there is a situation where the robot 10 moves away from the workpiece W, but in this case, the position D1 where the deburring tool 60 is away from the workpiece W is not recorded as a teaching point. The operator OP makes the deburring tool 60 approach the workpiece W again and contact it. This second contact point C2 is also automatically recorded as a teaching point. The deburring tool 60 moves away from the workpiece W again, but the position D2 at this time is not recorded. In addition, the operator OP automatically records the contact point C3 where the deburring tool 60 contacts the workpiece W next as a teaching point. The operator OP continues this operation along the entire ridgeline L and sets the teaching points along the entire ridgeline L.

[0062] While the operator repeats such an operation, the positions (contact points C1, C2, C3, ...) where the deburring tool 60 contacts the workpiece W are automatically recorded as teaching points. That is, a plurality of teaching points can be set at positions along the edge line L. The position where the deburring tool 60 contacts the workpiece W is automatically recorded, so the operator OP can easily create a track that imitates the edge line L of the workpiece W.

[0063] Furthermore, based on the above-mentioned direct teaching, it is preferred that the operator OP pays attention to points where the direction of the track changes significantly (e.g., corner portions) and points where the robot posture (tool posture) changes significantly, brings the robot into contact with the workpiece and records them as teaching points.

[0064] The force control unit 151 performs control in direct teaching so that the robot 10 (control part) moves in the direction of the external force detected by the external force detector 71, that is, the force applied to the robot 10 by the operator OP. As such force control, control that causes the robot to move in the direction of the applied force at a speed proportional to the magnitude of the force, impedance control, or damping control may also be adopted. In addition, impedance control is a method of controlling the movement of the robot (control part) by using a motion equation that expresses a mechanical impedance characteristic defined by a virtual inertia coefficient, a viscosity coefficient, and an elastic coefficient. Damping control is a method of determining the mechanical impedance characteristic based on the viscosity coefficient.

[0065] Based on the direct teaching of this embodiment, it is preferred that the force control unit 151 performs force control to reduce the movement of the robot 10 moving away from or bouncing off the object when the robot 10 contacts the object. Damping control is a method that can suppress or reduce the movement of the robot (control part) moving away from or bouncing off the object when the robot 10 contacts the object.

[0066] Figure 5 The above reference Figure 4A and Figure 4B The process of direct teaching described is shown as a flowchart. This direct teaching process is started according to a prescribed operation indicating the start of direct teaching. First, the program creation unit 156 (teaching point setting unit 161) records the position of the robot when direct teaching starts as the teaching start point P1 according to the operation of the operator OP on the operating handle 82 (step S1). Then, while the operator OP operates the robot 10 so that the robot 10 reaches the initial contact point from the teaching start point P1, the teaching point setting unit 161 records the position of the robot 10 as the teaching point at prescribed time intervals (step S2).

[0067] Next, the teaching point setting unit 161 continues to perform the following operations: the position (contact point) of the robot 10 when the robot 10 first contacts the workpiece W (when the first contact is detected by the contact detection unit 155) is recorded as a teaching point, and the position (contact point) of the robot 10 when the contact between the robot 10 and the workpiece W is detected is recorded as a teaching point (step S3). In this case, the teaching point setting unit 161 only records the contact point, and does not record the position of the robot 10 when it is away from the workpiece W.

[0068] The teaching point setting unit 161 continues recording the contact point movement (step S3) until an instruction to end direct teaching is given (step S4: No). The instruction to end direct teaching may be based on, for example, the operation of the operating switch 81 of the direct teaching device 80. If the end instruction is given (step S4: Yes), the present process ends.

[0069] When the operation of taking in the contact point as a teaching point is performed in the above-mentioned step S3, the teaching point setting unit 161 may apply any one of the following rules (r1) and (r2).

[0070] (r1) After one teaching point (contact point) is recorded, the next teaching point (contact point) is not taken in until a predetermined time has passed.

[0071] (r2) After a teaching point (contact point) is recorded, the next teaching point (contact point) is not taken in until the robot (controlled part) moves away from the teaching point (contact point) by a predetermined distance or more.

[0072] By adopting either of the above rules (r1) or (r2), it is possible to prevent the number of teaching points from being excessive.

[0073] The program creation unit 156 can provide a function for performing programming via a UI screen. Hereinafter, in the case where the program creation unit 156 has a function for performing programming based on icons, the operation of programming via a UI screen and direct teaching will be described. The UI screen is displayed on the display screen of the display unit 33 of the teaching operation panel 30, and can be operated via the operation unit 34 (software keys arranged on the display screen, etc.).

[0074] Figure 6 3 is a diagram showing a program creation screen 300 generated by the display control unit 163 of the program creation unit 156. The program creation screen 300 includes a program display area 310, an icon display area 320, and an operation state display area 330 that displays the operation trajectory of the robot and the like.

[0075] The icon display area 320 is an area for displaying a list of icons that can be used for programming. Figure 6 In the example shown, the icon display area 320 includes a linear movement icon 401 , an axis movement icon 402 , an if statement icon 403 , a For loop icon 404 , a hold icon 405 , a release icon 406 , and a direct teaching icon 407 .

[0076] The linear movement icon 401 is an icon corresponding to a command for causing the robot (specified control part) to move linearly. The axis movement icon 402 is an icon corresponding to a command for causing the robot (specified control part) to perform axis movements. The if statement icon 403 is an icon corresponding to a conditional branching command of a program. The For loop icon 404 is an icon corresponding to a loop conditional command of a program. The holding icon 405 is an icon corresponding to a command for closing the manipulator to hold a workpiece. The release icon 406 is an icon corresponding to a command for opening the manipulator to release a workpiece. The direct teaching icon 407 is an icon corresponding to a command for performing direct teaching.

[0077] The program display area 310 is an area for creating and displaying a program by arranging icons selected from the icon display area 320. In the operation state display area 330, the robot model 10M can be caused to perform a simulated operation according to the teaching content.

[0078] The operator can perform programming by selecting desired icons from the icon display area 320 and sequentially arranging them along the timeline 311 of the program display area 310. Figure 6 In the example shown, a robot program 501 including a linear movement icon 401, an axis movement icon 402, a direct teaching icon 407, an axis movement icon 402, and a linear movement icon 401 is created. In addition, when programming is performed by displaying the icon display area 320 on the program creation screen 300, the operator selects the programming tab 371. By selecting an icon in the program display area 310 and pressing the detail tab 372, a setting screen for the icon can be opened to perform detailed settings.

[0079] Next, the operation of generating the motion command of the direct teaching icon 407 is described. Figure 6 By performing a predetermined operation in the program creation screen 300, the setting screen of the direct teaching icon 407 can be opened. As the predetermined operation, an operation of selecting the direct teaching icon 407 in the program display area 310 to select the detail tab 372 may also be used.

[0080] Figure 7 It is shown in Figure 6 The direct teaching icon 407 is selected in the program display area 310 to select the detailed tab 372, thereby displaying the state of the setting screen 321 of the direct teaching icon 407. Figure 7 As shown, the setting screen 321 includes a speed setting field 451 for teaching the moving speed of the robot (predetermined control part). The operator can teach the moving speed of the robot 10 by inputting a numerical value in the speed setting field 451 or operating a button adjacent to the speed setting field 451.

[0081] The setting screen 321 has a status display column 452 for displaying the status of direct teaching. The status of direct teaching is displayed in the status display column 452. Figure 7 In the example of , since direct teaching has not yet been performed, “Trajectory not taught” is displayed in the status display column 452 .

[0082] The setting screen 321 has a teaching start button 455 and a teaching stop button 456 for respectively designating the start and stop of direct teaching. The operator can start direct teaching of the present embodiment by pressing the teaching start button 455. In addition, the operator can stop direct teaching by pressing the teaching stop button 456.

[0083] The setting screen 321 includes a teaching interval designation column 453 for designating the teaching interval. In the teaching interval designation column 453, the time interval for automatically recording the trajectory of the robot moving from the teaching start point to the initial contact point is designated as described in step S2 of FIG. 4 . The setting screen 321 includes an action form designation column 454 for designating the action form of the robot. In the action form designation column 454, linear action, each axis action, etc. can be designated. Figure 7 , an example is shown in which each axis motion ("angular axis") is specified as the motion of the robot. In this case, the command generation unit 162 generates each axis movement as the motion command.

[0084] Through such a UI screen, the operator can refer to FIG. 4A to FIG. 4B Direct teaching is performed in the above-mentioned manner. It is assumed that the parameters are inputted via the setting screen 321, and direct teaching is also performed. The instruction generation unit 162 generates a program according to the acquired teaching points and the parameters after teaching. The operator can also Figure 6 In the program display area 310 of the program creation screen 300, or in the Figure 7 By performing a prescribed operation on the direct teaching icon 407 (for example, double-clicking the direct teaching icon 407) on the screen of the setting screen 321, the direct teaching icon 407 is expanded and its content is displayed.

[0085] Figure 8 FIG. 4 shows an example of a state where the direct teaching icon 407 is expanded and displayed. Figure 8 As shown in FIG. 4 , the direct teaching icon 407 is expanded to a wide state for display, and the movement instructions to each teaching point based on direct teaching (here, each axis action icon 402) are expanded and displayed. By expanding and displaying the direct teaching icon 407 in this way, the operator OP can confirm the content of the program based on direct teaching. Figure 8 In the expanded display state shown, by selecting each axis movement icon 402 and opening its setting screen, it is also possible to confirm and adjust the teaching content.

[0086] As described above, according to the first embodiment, when teaching a trajectory including a contact point with a workpiece, such as a trajectory that draws an edge line or a surface of a workpiece, by direct teaching, the operator can easily perform teaching.

[0087] Furthermore, in the first embodiment, the functions provided by the robot control device 50 and the teaching operation panel 30 can also be positioned entirely in the teaching device.

[0088] Second embodiment

[0089] Hereinafter, a robot system 100A according to the second embodiment will be described. Fig. 9 It is a device configuration diagram of a robot system 100A according to the second embodiment. Fig.10 is a functional block diagram of the robot system 100A. Fig. 9 as well as Fig.10 In the present invention, the same components as those of the robot system 100 according to the first embodiment are denoted by the same reference numerals.

[0090] The first embodiment is a structural example of performing force control and contact detection based on the output of the external force detector 71. In the second embodiment, in addition to the external force detector for force control, an external force detector for contact detection is also used. In this embodiment, the detector for contact detection is referred to as the first external force detector (in Fig. 9 as well as Fig.10 The detector used for force control is referred to as the second external force detector (in Fig. 9 as well as Fig.10 72). Fig. 9 as well as Fig.10 As shown, the robot system 100A has a second external force detector 72 arranged at a position corresponding to the external force detector 71 in the first embodiment, and a first external force detector 71A arranged at the front end side of the robot 10 relative to the direct teaching device 80. Here, the front end side of the robot refers to the side closer to the front end of the tool (that is, the side closer to the workpiece). The second external force detector 72 can be composed of the same detector as the external force detector 71 in the first embodiment.

[0091] like Fig. 9 As shown, in the robot system 100A, the output from the first external force detector 71A is input to the contact detection unit 155 of the robot control device 50A. As described in the first embodiment, the contact detection unit 155 detects that the robot is in contact with the object when the detected external force exceeds a predetermined threshold value. The first external force detector 71A is arranged on the robot 10 at the front end side of the part that the operator contacts for direct teaching. According to this structure, the contact force applied to the robot 10 due to the contact between the deburring tool 60 of the robot 10 and the object can be detected with higher accuracy.

[0092] More specifically, when a single external force detector is used to detect the force applied by the operator to the robot and the contact between the robot and the workpiece during direct teaching, when the operator applies an operating force to the robot that is accompanied by a rapid acceleration and deceleration in the air, it may be erroneously determined that contact has occurred. In this regard, by separately providing a detector for detecting contact (the first external force detector 71A) as in the present embodiment, the possibility of such a situation occurring can be eliminated or reduced.

[0093] With the above structure, the program creation unit 156 in the second embodiment can also provide the same functions as those in the first embodiment. Figure 4A and Figure 4B As described above, the program creation unit 156 can also allow the operator to easily perform direct teaching of a trajectory including a contact point with the workpiece W.

[0094] In the second embodiment, the first external force detector 71A can be composed of a force sensor or a load cell, but a mechanical switch that detects contact with the external environment can also be used as the first external force detector 71A. In this case, the configuration position of the mechanical switch is set in such a way that the mechanical switch contacts the workpiece when the operator contacts the tool with the workpiece during direct teaching.

[0095] In the second embodiment, the program creation unit 156 can also provide Figures 6 to 8 The UI screen shown is a function for direct teaching.

[0096] As described above, in the second embodiment, even when teaching a trajectory including a contact point with a workpiece, such as a trajectory that draws an edge line or a surface of a workpiece, by direct teaching, the operator can easily perform teaching.

[0097] Furthermore, in the second embodiment, the functions provided by the robot control device 50A and the teaching operation panel 30 can be positioned entirely in the teaching device.

[0098] Third embodiment

[0099] The robot system 100B of the third embodiment will be described below. The robot systems of the first and second embodiments are configuration examples in which the function of the program creation unit 156 is included in the robot control device 50, 50A, but the function of the program creation unit 156 may be included in the teaching operation panel (teaching device). The robot system 100B of the third embodiment is a configuration example in which the function of the program creation unit 156 is realized on the teaching operation panel (teaching device).

[0100] Fig.11FIG. 1 is a functional block diagram of a robot system 100B according to a third embodiment. Fig.11 In the robot system 100B of the third embodiment shown in FIG. 1 , the same reference numerals are used for the same functional elements as those in the first embodiment. Fig.11 As shown, in this embodiment, the function as the program creation unit 156 arranged in the robot control device 50 in the first embodiment is arranged in the teaching operation panel (teaching device) 30B.

[0101] like Fig.11 As shown in FIG. 1 , the signal indicating contact from the contact detection unit 155, the information on the position and posture of the robot from the robot position acquisition unit 154, and other various information related to robot control are provided to the program creation unit 156B in the teaching operation panel 30B via the communication control unit 159 in the robot control device 50 and the communication control unit 135 in the teaching operation panel 30B. The notification signal of the force control unit 151 and the robot program generated by the program creation unit 156B are provided to the robot control device 50B via the communication control unit 135 and the communication control unit 159.

[0102] With the above configuration, the program creation unit 156B in the third embodiment can also provide the same functions as the program creation unit 156 in the first embodiment. Figure 4A and Figure 4B As described above, the program creation unit 156B can also allow the operator to easily perform direct teaching of the trajectory including the contact point with the workpiece W.

[0103] In the third embodiment, the program creation unit 156B can also provide Figures 6 to 8 The UI screen shown is a function for direct teaching.

[0104] As described above, in the third embodiment, when teaching a trajectory including a contact point with a workpiece, such as a trajectory that draws an edge line or a surface of a workpiece, by direct teaching, the operator can easily perform teaching.

[0105] In addition, as Fig.11 In the modified example of the configuration of the third embodiment shown, as described as the second embodiment, the second external force detector 72 may be mounted on the robot 10 to detect contact between the robot 10 and the object based on the output of the second external force detector 72 .

[0106] As described above, according to each embodiment, when teaching a trajectory including a contact point with a workpiece, such as a trajectory that draws an edge line or a surface of a workpiece, by direct teaching, the operator can easily perform teaching.

[0107] Although the present invention has been described above using typical embodiments, it will be apparent to those skilled in the art that changes to the above-described embodiments and various other changes, omissions, and additions may be made without departing from the scope of the present invention.

[0108] Figure 3 , Fig.10 as well as Fig.11 The allocation of the functional blocks in the functional block diagram shown is an example, and various modifications can be made to the configuration of the functions within the robot system. Fig.11 In the functional block diagram shown, the function of the command generation unit 162 as the program creation unit 156B configured on the teaching operation panel 30B may be configured on the robot control device 50B side. In this case, the teaching point recorded on the teaching operation panel 30B side is provided to the robot control device 50B side, and the robot program is generated on the robot control device 50B side.

[0109] Figure 3 , Fig.10 as well as Fig.11 The functional blocks shown can be implemented by a processor of a robot control device or a teaching device executing various software stored in a storage device, or can also be implemented by a structure mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).

[0110] Programs for executing various processes such as direct teaching processes in the above-mentioned embodiments may be recorded on various computer-readable recording media (e.g., semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, and optical disks such as CD-ROM and DVD-ROM).

[0111] Description of Reference Numerals

[0112] 10. Robot

[0113] 30, 30B teaching operation panel

[0114] 31 Processor

[0115] 32 Memory

[0116] 33 Display

[0117] 34 Operation Department

[0118] 35 Input and output interfaces

[0119] 50, 50A robot control device

[0120] 51 Processor

[0121] 52 Memory

[0122] 53 Input and output interfaces

[0123] 54 Operation Department

[0124] 60 Deburring Tools

[0125] 71 External force detector

[0126] 71A First external force detector

[0127] 72 Second external force detector

[0128] 80 Direct teaching device

[0129] 81 Operation switch

[0130] 100, 100A, 100B Robot Systems

[0131] 111 Motor

[0132] 112 Motor angle detector

[0133] 135 Communication Control Department

[0134] 151 Force Control Department

[0135] 152 Motion Control Department

[0136] 153 Storage

[0137] 154 Robot position acquisition unit

[0138] 155 Contact detection unit

[0139] 156 Programming Department

[0140] 159 Communication Control Department

[0141] 161 Teaching point setting unit

[0142] 162 Instruction Generation Unit

[0143] 163 Display control unit

[0144] 300 Program creation screen

[0145] 310 Program display area

[0146] 320 Icon display area

[0147] 321 Setting screen

[0148] 330 Action status display area.

Claims

1. A robot control device for controlling a robot, characterized in that: The robot control device has: A teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and an object is detected based on an output of a first detector capable of detecting contact and mounted on the robot.

2. The robot control device according to claim 1, characterized in that: The first detector is an external force detector for detecting external force, The robot control device further includes a force control unit that controls the robot to move in accordance with the external force detected by the first detector. The teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and the object is detected while the robot is moving under control of the force control unit.

3. The robot control device according to claim 1, characterized in that: The robot control device further includes a force control unit that controls the robot to move in accordance with an external force detected by a second detector mounted on the robot for detecting an external force. The teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and the object is detected while the robot is moving under control of the force control unit.

4. The robot control device according to claim 2 or 3, characterized in that: The force control section performs force control based on damping control.

5. The robot control device according to any one of claims 1 to 4, characterized in that: The teaching point setting unit operates so as not to set a next teaching point before a predetermined time has elapsed after setting one teaching point.

6. The robot control device according to any one of claims 1 to 4, characterized in that: The teaching point setting unit operates so that the interval between one teaching point and the next teaching point becomes equal to or larger than a predetermined distance.

7. A robot system, characterized in that: have: a robot equipped with a first detector capable of detecting contact; A teaching point setting unit sets the position of the robot when contact between the robot and the object is detected based on the output of the first detector as a teaching point of the robot program.

8. The robot system according to claim 7, characterized in that: The first detector is an external force detector for detecting external force, The robot system further includes a force control unit configured to control the robot to move in accordance with the external force detected by the first detector. The teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and the object is detected while the robot is moving under control of the force control unit.

9. The robot system according to claim 7, characterized in that: The robot is also equipped with a second detector for detecting external force. The robot system further includes a force control unit that controls the robot to move in accordance with the external force detected by the second detector. The teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and the object is detected while the robot is moving under control of the force control unit.

10. The robot system according to claim 9, characterized in that: The first detector is arranged closer to the front end side of the robot than the second detector.

11. The robot system according to any one of claims 8 to 10, characterized in that: The force control section performs force control based on damping control.

12. The robot system according to any one of claims 7 to 11, characterized in that: The teaching point setting unit operates so as not to set a next teaching point before a predetermined time has elapsed after setting one teaching point.

13. The robot system according to any one of claims 7 to 11, characterized in that: The teaching point setting unit operates so that the interval between one teaching point and the next teaching point becomes equal to or larger than a predetermined distance.

14. A teaching device for teaching a robot, characterized in that: The teaching device comprises: A teaching point setting unit sets, as a teaching point of a robot program, a position of the robot when contact between the robot and an object is detected based on an output of a first detector capable of detecting contact and mounted on the robot.