Robot control device, robot system, and teaching device
Patent Information
- Application Number
- JP2024520124
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2024-07-26
- Publication Date
- 2025-01-22
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Direct teaching methods for robots struggle when tracing the surface or ridgeline of a workpiece, as reaction forces cause the robot to bounce away, making it difficult to accurately teach trajectories, and require careful stopping to avoid contact, which loses the intuitive advantage of direct teaching.
A robot control device equipped with a first detector for contact detection, allowing the setting of teaching points when contact is made, enabling easy creation of robot programs that include contact points along the workpiece's surface or ridgeline by automatically recording positions and orientations during direct teaching.
Enables operators to easily teach trajectories that include contact points with the workpiece, such as tracing the ridgeline or surface, by automatically recording contact points, reducing the risk of the robot moving away and maintaining the intuitive nature of direct teaching.
Abstract
Description
Robot control device, robot system, and teaching device
[0001] The present invention relates to a robot control device, a robot system, and a teaching device.
[0002] A method for creating a robot program using direct teaching, in which an operator directly operates the robot to teach it an operation, is known. In this regard, Patent Document 1 states (paragraph 0037): "When a lead-through operation is performed, the lead-through switch 44 is pressed, and contact force monitoring is disabled. Therefore, it is possible to prevent the robot 10 from unintentionally stopping due to the operating force applied to the robot 10 by the operator during the lead-through operation."
[0003] Furthermore, Patent Document 2, regarding a robot control device, states that "the control unit stores the position and posture of the robot arm at the initial stage when the instructor begins direct teaching by, for example, grasping the robot arm, as an initial reference state. Then, when direct teaching begins, the control unit calculates a force control signal in accordance with position information from the position detection unit and speed information from the speed detection unit, transmits it to the drive unit, and controls the force or torque of the actuator for driving the robot arm. If the actuator is a linear-acting system, the force is controlled, and if it is a rotational system, the torque is controlled. 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 taught values for the trajectory" (paragraph 0017).
[0004] JP 2015-199174 A JP 2019-030931 A
[0005] Direct teaching includes a method of creating a robot program by memorizing the trajectory of the robot's movement at predetermined time intervals while the operator operates the robot, and a method of creating a robot program by having the operator stop the robot at key points and memorize its position.
[0006] The method of memorizing the trajectory of a robot's movement at predetermined time intervals is suitable for teaching a robot to move in the air without touching anything with its tool tip. However, when teaching a trajectory that traces the surface or ridge of a workpiece, a reaction force is applied to the robot when it comes into contact with the workpiece. In this case, the reaction force is detected by the force and torque sensors installed in the robot, so the robot tends to jump away from the workpiece the moment it comes into contact with it. This type of robot movement is different from human intuition, making teaching difficult.
[0007] The method of stopping the robot at key points and memorizing its position can avoid the above problems by memorizing the position just before the robot comes into contact with the workpiece. However, stopping the robot just before it comes into contact with the workpiece requires careful attention, and the advantage of direct teaching, which is that it allows teaching through intuitive operation, is lost.
[0008] One aspect of the present disclosure is a robot control device for controlling a robot, comprising a teaching point setting unit that sets the position of the robot when contact between the robot and an object is detected as a teaching point of a robot program based on the output of a first detector mounted on the robot that is capable of detecting contact.
[0009] Another aspect of the present disclosure is a robot system including 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 a robot program.
[0010] Yet another aspect of the present disclosure is a teaching device for teaching a robot, comprising a teaching point setting unit that sets the position of the robot when contact between the robot and an object is detected as a teaching point of a robot program based on the output of a first detector that is mounted on the robot and is capable of detecting contact.
[0011] According to the above configuration, when a trajectory including a contact point with a workpiece, such as a trajectory tracing the ridgeline or surface of the workpiece, is taught by direct teaching, the operator can easily teach it.
[0012] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments of the invention illustrated in the accompanying drawings.
[0013] FIG. 1 is a diagram illustrating the equipment configuration of a robot system according to a first embodiment. FIG. 2 is a diagram illustrating an example of the hardware configuration of a robot control device and a teaching operation panel. FIG. 3 is a functional block diagram of each device constituting the robot system according to the first embodiment. FIG. 4 is a diagram illustrating an operation of teaching an edge line of a workpiece by direct teach. FIG. 5 is a diagram illustrating an operation of teaching an edge line of a workpiece by direct teach. FIG. 6 is a flowchart illustrating the procedure of direct teach. FIG. 7 is a diagram illustrating an example of a program creation screen. FIG. 8 is a diagram illustrating a setting screen for a direct teach icon. FIG. 9 is a diagram illustrating an example of a state in which a direct operation icon is expanded and displayed. FIG. 10 is a diagram illustrating the equipment configuration of a robot system according to a second embodiment. FIG. 11 is a functional block diagram of a robot system according to a third embodiment.
[0014] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, like components or functional parts are designated by like reference numerals. The scales of these drawings have been changed appropriately to facilitate understanding. Furthermore, the embodiment shown in the drawings is one example for implementing the present invention, and the present invention is not limited to the illustrated embodiment.
[0015] Hereinafter, robot systems according to first to third embodiments will be described. The robot system according to each embodiment is a system that enables direct teaching, in which an operator directly operates a robot to teach it.
[0016] 1 is a diagram showing the configuration of a robot system 100 according to a first embodiment. As shown in Fig. 1, the robot system 100 includes a robot 10, a robot control device 50 that controls the robot 10, and a teaching console 30 that is used to perform various settings and operations related to teaching.
[0017] Although the robot 10 is described here as an example of a vertical articulated robot, other types of robots such as a parallel link robot or a dual-arm robot may also be used as the robot 10. The robot 10 includes a base 11 fixed to the installation floor and a plurality of links mounted on the base 11. These multiple links form a rotating torso 12, a lower arm 13, an upper arm 14, and a wrist 15 of the robot.
[0018] The robot 10 can perform a desired task using an end effector attached to the wrist flange 16. The end effector is an external device that can be replaced depending on the application, and is, for example, a hand, a welding gun, a tool, etc. Figure 1 shows an example in which a deburring tool 60 is used as an end effector.
[0019] A direct teach device 80 is also disposed on the wrist flange 16 of the robot 10, which is used by the operator when performing direct teach. The direct teach device 80 has an operation handle 82 and an operation switch 81 (see FIG. 3) that includes a switch for enabling and disabling the direct teach operation and other function switches. As shown in FIG. 1, the direct teach device 80 is attached to the wrist flange 16 of the robot 10 via an external force detector 71. A deburring tool 60 is also attached to the wrist flange 16 of the robot 10, closer to the tip of the direct teach device 80 than the direct teach device 80. A signal from the operation switch 81 is provided to the robot control device 50 and is used for control during the direct teach operation.
[0020] The external force detector 71 can detect an external force acting on the robot 10. A force sensor or a load cell can be used as the detector used for the external force detector 71. As an example, a force sensor is used here as the external force detector 71. The force sensor is, for example, a six-axis force sensor that detects forces in three axial directions and moments about three axes. The detected values of the force sensor are input to the robot control device 50. The external force acting on the robot 10 may also be detected by a torque sensor disposed on each joint axis of the robot 10. Alternatively, the force acting on the robot may be determined from the current value flowing through the motor of each axis of the robot.
[0021] With this configuration, the magnitude and direction of the operating force when the operator OP operates the operating handle 82 of the direct teach device 80 is detected by the external force detector 71, making it possible to move the robot 10 (arm tip) according to the operation of the operator OP.
[0022] The robot control device 50 has functions such as controlling the robot 10 according to a robot program, controlling the robot 10 according to commands from a teaching operation panel, and controlling the operation of the operator OP to operate the robot 10 and perform direct teaching using the direct teaching device 80.
[0023] An operator can use direct teaching to create a robot program for performing work on a workpiece W, such as the one shown in Fig. 1. The robot control device 50 enables the operator to easily use direct teaching to teach a trajectory that includes a contact point with the workpiece, such as a trajectory that follows the ridge or surface of the workpiece.
[0024] 2 shows an example of the hardware configuration of the robot control device 50 and the teaching pendant 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 pendant 30 may 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 including input devices such as a keyboard (or software keys), various input / output interfaces 35, etc. are connected to a processor 31 via a bus.
[0025] Figure 3 is a functional block diagram of each device that makes up the robot system 100. Each joint of the robot 10 is provided with a motor 111 that drives the joint shaft and a motor angle detector 112 that detects the position (angular position) of the motor. Figure 3 shows the motor 111 and motor angle detector 112 provided on one joint shaft as a representative example.
[0026] As shown in FIG. 3, 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 .
[0027] The force control unit 151 has a function of generating a command to move the robot 10 in accordance with the external force detected by the external force detector 71. In direct teach, the force control unit 151 generates an operation 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).
[0028] The motion control unit 152 generates commands for each joint axis of the robot 10 through kinematic calculations in accordance with commands from the force control unit 151, and executes servo control for the motors of each joint axis. This allows the robot 10 to operate in accordance with commands from the force control unit 151. This realizes the function of direct teaching, which moves the robot 10 (deburring tool 60) in the direction of the force applied by the operator OP to the operating handle 82 of the direct teach device 80.
[0029] The storage unit 153 stores the robot program created by the program creation unit 156, various information required for programming, and the like.
[0030] The external force detected by the external force detector 71 is further input to the contact detection unit 155, which detects contact between the robot 10 and an object. The contact detection unit 155 may be configured to detect contact between the robot 10 and an object, for example, when: (1) the magnitude of the force or moment detected by the external force detector 71 exceeds a predetermined threshold, or (2) the force or moment detected by the external force detector 71 is reversed. When contact is detected, the contact detection unit 155 notifies the program creation unit 156 by sending a signal.
[0031] The threshold value used by the contact detection unit 155 to determine whether or not contact has occurred can be, for example, (1) a method in which the maximum force when the robot 10 is operated by direct teach without contacting anything is recorded, and a value that is larger than the maximum force by a predetermined margin is determined as the threshold value, or (2) a method in which the user can set the threshold value.
[0032] The robot position acquisition unit 154 determines the position and orientation of the robot 10 based on the output of the motor angle detector 112 disposed on each joint axis. The robot position acquisition unit 154 provides the acquired information on the position and orientation of the robot 10 to the program creation unit 156.
[0033] The program creation unit 156 has various functions for creating a robot program. The functions of the program creation unit 156 include a function for creating a robot program by direct teaching. As shown in FIG. 3 , the program creation unit 156 has a teaching point setting unit 161, a command generation unit 162, and a display control unit 163.
[0034] The teaching point setting unit 161 provides a function of setting a teaching point in direct teaching. In this embodiment, the teaching point setting unit 161 has a function of setting, as a teaching point, the position and posture of the robot 10 when the contact detection unit 155 detects contact between the robot 10 and an object.
[0035] 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 .
[0036] The display control unit 163 has a function of generating various UI (user interface) screens for creating programs, a function of supporting various operation inputs via the UI screens, and the like.
[0037] In this embodiment, various UI screens for programming are displayed on the display unit 33 of the teaching pendant 30, and operations on the UI screens are performed via the operation unit .
[0038] A specific example of the operation of direct teaching according to this embodiment will be described. Here, it is assumed that the trajectory of the ridge line L of the workpiece W as shown in Fig. 1 is to be taught. The robot program in this case is a program for moving the deburring tool 60 so as to trace the end face (ridge line L) of the workpiece W with the deburring tool 60.
[0039] Consider teaching such a workpiece edge line by a method in which the trajectory of the robot's movement is memorized as a teaching point at predetermined time intervals. In this case, to teach the workpiece edge line L, the robot (tool) must be brought into contact with the workpiece W. However, when the robot contacts the workpiece, a reaction force is applied to the robot, and this reaction force is detected by the external force detector, so the robot is likely to move away from the workpiece. Therefore, with this direct teaching method, it is difficult for the operator to correctly teach the robot a trajectory that follows the ridge line. Furthermore, even if the operator teaches the robot by stopping it at key points during direct teaching and memorizing those positions, careful attention is required to stop the robot at a position just before it comes into contact with the workpiece, which eliminates the benefits of direct teaching. The robot control device 50 (program creation unit 156) according to this embodiment solves the above-mentioned problems that arise when teaching the ridges and the like of a workpiece by direct teaching by being configured to be able to acquire the position and posture of the robot 10 (deburring tool 60) when it comes into contact with the workpiece during direct teaching as teaching points.
[0040] 4A and 4B are diagrams illustrating an operation for teaching the trajectory of the ridgeline L of the workpiece W by direct teaching according to this embodiment. Note that for ease of explanation, only the workpiece W and the deburring tool 60 are illustrated in FIGS. 4A and 4B . The operator OP performs a predetermined operation to start the direct teaching. The operation for starting the direct teaching may be, for example, by operating the operation switch 81 of the direct teaching device 80 or by operating the UI screen displayed on the teaching operation panel 30. The operator OP first records a teaching start point P1 while operating the robot 10 using the direct teaching device 80. The operator OP moves the robot 10 (deburring tool 60) from the teaching start point P1 toward the workpiece W. The teaching point setting unit 161 may acquire the position of the robot 10 during movement from the teaching start point P1 to the first contact point C1 with the workpiece W at predetermined time intervals and automatically record the position as a teaching point.
[0041] The teaching point setting unit 161 automatically records, as a teaching point, a contact point C1 where the deburring tool 60 first comes into contact with the workpiece W. When the deburring tool 60 comes into contact with the workpiece W, the robot 10 may behave in a manner such that it moves away from the workpiece W. In this case, the position D1 where the deburring tool 60 moves away from the workpiece W is not recorded as a teaching point. The operator OP again brings the deburring tool 60 close to the workpiece W and brings it into contact with 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. Then, a contact point C3 where the operator OP next brings the deburring tool 60 into contact with the workpiece W is automatically recorded as a teaching point. The operator OP continues this operation along the entire ridge line L to set teaching points along the entire ridge line L.
[0042] While the operator repeats this operation, the positions where the deburring tool comes into contact with the workpiece W (contact points C1, C2, C3, ...) are automatically recorded as teaching points. In other words, it is possible to set a plurality of teaching points at positions along the ridge line L. Because the position where the deburring tool 60 comes into contact with the workpiece W is automatically recorded, the operator OP can easily create a trajectory that follows the ridge line L of the workpiece W.
[0043] When performing the above-mentioned direct teaching, it is desirable for the operator OP to take care to bring the robot into contact with the workpiece at points where the direction of the trajectory changes significantly (for example, at corners) or points where the robot posture (tool posture) changes significantly, so that these are recorded as teaching points.
[0044] During direct teach, the force control unit 151 controls the robot 10 (control portion) to move in the direction of the external force detected by the external force detector 71, i.e., the force applied to the robot 10 by the operator OP. Such force control may involve control that moves the robot in the direction of the applied force at a speed proportional to the magnitude of the force, impedance control, or damping control. Impedance control is a method of controlling the movement of the robot (control portion) using an equation of motion that represents mechanical impedance characteristics defined by virtual inertia coefficients, viscosity coefficients, and elasticity coefficients. Damping control is a method of determining mechanical impedance characteristics based, in particular, on the viscosity coefficient.
[0045] When performing direct teaching according to this embodiment, it is desirable for the force control unit 151 to perform force control such that the robot 10 reduces the movement of the robot 10 away from the object or bouncing up when the robot 10 comes into contact with the object. Damping control is a method that can suppress or reduce the behavior of the robot (control part) of the robot 10 moving away from the object or bouncing up when the robot 10 comes into contact with the object.
[0046] 5 is a flowchart illustrating the procedure for direct teaching described above with reference to FIGS. 4A and 4B. This direct teaching process is initiated in response to a predetermined operation instructing the start of direct teaching. First, the program creation unit 156 (teaching point setting unit 161) records the robot position at the start of direct teaching as a teaching start point P1 in response to the operation of the operating handle 82 by the operator OP (step S1). Next, the teaching point setting unit 161 records the position of the robot 10 as teaching points at predetermined time intervals while the robot 10 is operated by the operator OP and moves from the teaching start point P1 to the first contact point (step S2).
[0047] Next, the teaching point setting unit 161 records the position (contact point) of the robot 10 when the robot 10 first comes into contact with the workpiece W (when the first contact is detected by the contact detection unit 155) as a teaching point, and continues the operation of recording the position (contact point) of the robot 10 when contact between the robot 10 and the workpiece W is detected as a teaching point (step S3). In this case, the teaching point setting unit 161 records only the contact point, and does not record the position of the robot 10 when it leaves the workpiece W.
[0048] The teaching point setting unit 161 continues the operation of recording the contact point (step S3) until an instruction to end the direct teach is given (step S4: NO). The instruction to end the direct teach may be given, for example, by operating the operation switch 81 of the direct teach device 80. When the instruction to end is given (step S4: YES), this process ends.
[0049] When performing the operation of capturing the contact points as teaching points in step S3, the teaching point setting unit 161 may apply either of the following rules (r1) or (r2). (r1) After one teaching point (contact point) is recorded, the next teaching point (contact point) is not captured until a predetermined time has elapsed. (r2) After one teaching point (contact point) is recorded, the next teaching point (contact point) is not captured until the robot (control portion) is away from it by a predetermined distance or more. By adopting either of the above rules (r1) or (r2), it is possible to prevent the number of teaching points from becoming excessive.
[0050] The program creation unit 156 can provide a function for programming via a UI screen. The following describes programming and direct teach operations via the UI screen when the program creation unit 156 has a function for icon-based programming. The UI screen is displayed on the display screen of the display unit 33 of the teaching pendant 30, and can be operated via the operation unit 34 (software keys, etc., arranged on the display screen).
[0051] 6 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 status display area 330 that displays the movement trajectory of the robot, etc.
[0052] The icon display area 320 is an area for displaying a list of icons that can be used for programming. In the example shown in Fig. 6, the icon display area 320 includes a linear movement icon 401, an axial movement icon 402, an if statement icon 403, a for loop icon 404, a grip icon 405, a release icon 406, and a direct teaching icon 407.
[0053] The linear movement icon 401 is an icon corresponding to a command to move the robot (a specified control part) linearly. The axis movement icon 402 is an icon corresponding to a command to operate the robot (a specified control part) along each axis. The if statement icon 403 is an icon corresponding to a conditional branch command in the program. The for loop icon 404 is an icon corresponding to a loop condition command in the program. The grip icon 405 is an icon corresponding to a command to close the hand and grip the workpiece. The release icon 406 is an icon corresponding to a command to open the hand and release the workpiece. The direct teaching icon 407 is an icon corresponding to a command to perform direct teaching.
[0054] 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 made to perform simulated operations in accordance with the teaching contents.
[0055] The operator can perform programming by selecting desired icons from the icon display area 320 and arranging them in order along the timeline 311 in the program display area 310. In the example shown in Fig. 6, a robot program 501 has been created that includes 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. When performing programming with the icon display area 320 displayed 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 details tab 372, the operator can open a setting screen for that icon and perform detailed settings.
[0056] Next, an operation for generating an operation command for the direct teaching icon 407 will be described. The operator OP can open a setting screen for the direct teaching icon 407 by performing a predetermined operation on the program creation screen 300 of Fig. 6. As the predetermined operation, an operation of selecting the direct teaching icon 407 in the program display area 310 and selecting the details tab 372 may be used.
[0057] 7 shows a state in which the setting screen 321 for the direct teaching icon 407 is displayed by selecting the direct teaching icon 407 in the program display area 310 in FIG. 6 and then selecting the details tab 372. As shown in FIG. 7, the setting screen 321 includes a speed setting field 451 for teaching the movement speed of the robot (a predetermined control part). The operator can teach the movement speed of the robot 10 by inputting a numerical value in the speed setting field 451 or by operating a button next to the speed setting field 451.
[0058] The setting screen 321 has a status display field 452 that displays the status of direct teaching. The status of direct teaching is displayed in the status display field 452. In the example of Fig. 7, direct teaching has not yet been performed, so "Trajectory not yet taught" is displayed in the status display field 452.
[0059] The setting screen 321 has a teaching start button 455 and a teaching stop button 456 for specifying the start and stop of direct teaching, respectively. The operator can start the direct teaching according to this embodiment by pressing the teaching start button 455. The operator can stop the direct teaching by pressing the teaching stop button 456.
[0060] The setting screen 321 has a teaching interval specification field 453 for specifying a teaching interval. The teaching interval specification field 453 specifies the time interval when automatically recording the trajectory of the robot from the teaching start point to the first contact point, as described in step S2 of FIG. 4. The setting screen 321 also includes a movement type specification field 454 for specifying the movement type of the robot. In the movement type specification field 454, linear movement, movement of each axis, etc. can be specified. FIG. 7 shows an example in which movement of each axis ("axis") is specified as the movement of the robot. In this case, the command generation unit 162 generates movement of each axis as a movement command.
[0061] Through such a UI screen, the operator can perform direct teach in the manner described above with reference to FIGS. 4A and 4B . It is assumed that parameters are also input via the setting screen 321, and direct teach is also executed. The command generator 162 generates a program based on the acquired teaching points and taught parameters. The operator can also expand the direct teach icon 407 and display its contents by performing a predetermined operation (e.g., double-clicking the direct teach icon 407) on the program display area 310 of the program creation screen 300 in FIG. 6 or on the screen displaying the setting screen 321 in FIG. 7 .
[0062] FIG. 8 shows an example of the direct teaching icon 407 in an expanded state. As shown in FIG. 8, the direct teaching icon 407 is displayed in a wide expanded state, and the movement commands to each teaching point by direct teaching (here, each axis operation icon 402) are displayed in an expanded state. By expanding and displaying the direct teaching icon 407 in this manner, the operator OP can check the contents of the direct teaching program. In addition, in the expanded display state shown in FIG. 8, by selecting each axis movement icon 402 and opening its setting screen, it is also possible to check and adjust the teaching contents.
[0063] As described above, according to the first embodiment, when using direct teach to teach a trajectory that includes a contact point with the workpiece, such as a trajectory that traces the ridge or surface of the workpiece, the operator can easily perform the teaching.
[0064] In the first embodiment, the functions provided by the robot control device 50 and the teaching pendant 30 can be regarded as a teaching device.
[0065] Second Embodiment A robot system 100A according to a second embodiment will now be described. Fig. 9 is a diagram showing the equipment configuration of the robot system 100A according to the second embodiment. Fig. 10 is a functional block diagram of the robot system 100A. Note that in Figs. 9 and 10, the same components as those in the robot system 100 according to the first embodiment are denoted by the same reference numerals.
[0066] In the first embodiment, force control and contact detection are performed based on the output of the external force detector 71. In the second embodiment, a separate external force detector is used for contact detection, separate from the external force detector used for force control. In this embodiment, the detector used for contact detection is referred to as the first external force detector (denoted by reference numeral 71A in FIGS. 9 and 10 ), and the detector used for force control is referred to as the second external force detector (denoted by reference numeral 72 in FIGS. 9 and 10 ). As shown in FIGS. 9 and 10 , the robot system 100A includes a second external force detector 72 located at a position corresponding to the external force detector 71 in the first embodiment, and the first external force detector 71A located closer to the tip of the robot 10 than the direct teach device 80. Here, the tip of the robot refers to the side closer to the tool tip (i.e., the side closer to the workpiece). The second external force detector 72 can be configured using the same detector as the external force detector 71 in the first embodiment.
[0067] As shown in FIG. 9 , 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 contact between the robot and an object when the detected external force exceeds a predetermined threshold. The first external force detector 71A is disposed on the robot 10 closer to the tip than the portion that an operator touches for direct teaching. This configuration makes it possible to more accurately detect the contact force acting on the robot 10 when the deburring tool 60 of the robot 10 comes into contact with an object.
[0068] More specifically, if a single external force detector were used to detect both the force applied by the operator to the robot during direct teach and the contact between the robot and the workpiece, there is a possibility that the force applied by the operator to the robot would be erroneously determined to be contact if the operator applied an operating force that caused the robot to move with sudden acceleration or deceleration in the air. In this regard, by providing a separate detector (first external force detector 71A) that detects contact, as in this embodiment, the possibility of such an occurrence can be eliminated or reduced.
[0069] With the above configuration, the program creation unit 156 in the second embodiment can provide the same functions as in the first embodiment. That is, in the second embodiment as well, the program creation unit 156 allows the operator to easily perform direct teaching of a trajectory including the point of contact with the workpiece W, as described with reference to Figures 4A and 4B.
[0070] In the second embodiment, the first external force detector 71A can be configured with a force sensor or a load cell, but a mechanical switch that detects contact with the external environment may also be used as the first external force detector 71A. In this case, the position of the mechanical switch is set so that the mechanical switch comes into contact with the workpiece when the operator brings the tool into contact with the workpiece during direct teach.
[0071] Also in the second embodiment, the program creation unit 156 can provide a function for performing direct teaching via UI screens such as those shown in FIGS. 6 to 8.
[0072] In this way, in the second embodiment, the operator can easily teach a trajectory that includes a contact point with the workpiece, such as a trajectory that traces the ridge or surface of the workpiece, using direct teach.
[0073] In the second embodiment, the entire functions provided by the robot control device 50A and the teaching pendant 30 can be considered as a teaching device.
[0074] Third Embodiment A robot system 100B according to a third embodiment will now be described. The robot systems according to the first and second embodiments are configuration examples in which the function of the program creation unit 156 is provided within the robot control device 50, 50A, but a configuration in which the function of the program creation unit 156 is provided within a teaching operation panel (teaching device) is also possible. The robot system 100B according to the third embodiment is a configuration example in which the function of the program creation unit 156 is realized on a teaching operation panel (teaching device).
[0075] Fig. 11 shows a functional block diagram of a robot system 100B according to the third embodiment. In the robot system 100B according to the third embodiment shown in Fig. 11, the same reference numerals are used for functional elements equivalent to those in the first embodiment. As shown in Fig. 11, in this embodiment, the function of the program creation unit 156, which was arranged in the robot control device 50 in the first embodiment, is arranged in a teaching pendant (teaching device) 30B.
[0076] 11 , a signal indicating contact from the contact detection unit 155, information on the position and posture of the robot from the robot position acquisition unit 154, and various other information related to robot control are provided to a program creation unit 156B in the teaching operation panel 30B via a communication control unit 159 in the robot control device 50 and a communication control unit 135 in the teaching operation panel 30B. A notification signal to the force control unit 151 and a 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.
[0077] 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. That is, in the third embodiment as well, the program creation unit 156B enables the operator to easily perform direct teaching of a trajectory including the point of contact with the workpiece W, as described with reference to Figures 4A and 4B.
[0078] Also in the third embodiment, the program creation unit 156B can provide a function for performing direct teaching via UI screens such as those shown in FIGS.
[0079] In this way, in the third embodiment, too, when using direct teaching to teach a trajectory that includes a contact point with the workpiece, such as a trajectory that traces the ridges or surface of the workpiece, the operator can easily teach the trajectory.
[0080] As a modified example of the configuration of the third embodiment shown in FIG. 11, as described in the second embodiment, the robot 10 may be equipped with a second external force detector 72, and contact between the robot 10 and an object may be detected based on the output of the second external force detector 72.
[0081] As described above, according to each embodiment, when using direct teach to teach a trajectory that includes a contact point with the workpiece, such as a trajectory that traces the ridge or surface of the workpiece, the operator can easily perform the teaching.
[0082] Although the present invention has been described using exemplary embodiments, those skilled in the art will understand that modifications and various other changes, omissions, and additions can be made to the above-described embodiments without departing from the scope of the present invention.
[0083] The allocation of functional blocks in the functional block diagrams shown in Figures 3, 10, and 11 is an example, and various modifications can be made to the arrangement of functions within the robot system. For example, in the functional block diagram shown in Figure 11, the function of the command generation unit 162 located in the program creation unit 156B of the teaching pendant 30B can be configured to be located on the robot control device 50B side. In this case, teaching points recorded on the teaching pendant 30B side are provided to the robot control device 50B side, and the robot program is generated on the robot control device 50B side.
[0084] The functional blocks shown in Figures 3, 10, and 11 may be realized by a processor of a robot control device or teaching device executing various software stored in a storage device, or may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).
[0085] The programs that execute various processes such as the direct teach process in the above-described embodiments can be recorded on various computer-readable recording media (e.g., semiconductor memory such as ROM, EEPROM, flash memory, magnetic recording media, and optical disks such as CD-ROM and DVD-ROM).
[0086] REFERENCE SIGNS LIST 10 Robot 30, 30B Teaching operation panel 31 Processor 32 Memory 33 Display unit 34 Operation unit 35 Input / output interface 50, 50A Robot control device 51 Processor 52 Memory 53 Input / output interface 54 Operation unit 60 Deburring tool 71 External force detector 71A First external force detector 72 Second external force detector 80 Direct teach device 81 Operation switch 100, 100A, 100B Robot system 111 Motor 112 Motor angle detector 135 Communication control unit 151 Force control unit 152 Motion control unit 153 Memory unit 154 Robot position acquisition unit 155 Contact detection unit 156 Program creation unit 159 Communication control unit 161 Teaching point setting unit 162 Command generation unit 163 Display control unit 300 Program creation screen 310 Program display area 320 Icon display area 321 Setting screen 330 Operation status display area
Claims
1. A robot control device for controlling a robot, comprising: A robot control device comprising: a teaching point setting unit that sets the position of the robot when contact between the robot and an object is detected as a teaching point of a robot program based on the output of a first detector capable of detecting contact and mounted on the robot.
2. the first detector is an external force detector for detecting an external force, a force control unit that controls the robot to move in accordance with the external force detected by the first detector, 2. The robot control device according to claim 1, wherein the teaching point setting unit sets a position of the robot when contact between the robot and the object is detected while the robot is moving under the control of the force control unit as a teaching point of the robot program.
3. a force control unit that controls the robot to move in accordance with an external force detected by a second detector that is mounted on the robot and that detects an external force; 2. The robot control device according to claim 1, wherein the teaching point setting unit sets a position of the robot when contact between the robot and the object is detected while the robot is moving under the control of the force control unit as a teaching point of the robot program.
4. The robot control device according to claim 2 , wherein the force control section executes force control by damping control.
5. The robot control device according to claim 1 , wherein the teaching point setting section operates so as not to set a next teaching point until a predetermined time has elapsed after setting one teaching point.
6. The robot control device according to claim 1 , wherein the teaching point setting unit operates so that an interval between one teaching point and a next teaching point is equal to or greater than a predetermined distance.
7. A robot equipped with a first detector capable of detecting contact; 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 a robot program.
8. the first detector is an external force detector for detecting an external force, a force control unit that controls the robot to move in accordance with the external force detected by the first detector, 8. The robot system according to claim 7, wherein the teaching point setting unit sets a position of the robot when contact between the robot and the object is detected while the robot is moving under the control of the force control unit as a teaching point of the robot program.
9. the robot further includes a second detector for detecting an external force; a force control unit that controls the robot to move in accordance with the external force detected by the second detector, 8. The robot system according to claim 7, wherein the teaching point setting unit sets a position of the robot when contact between the robot and the object is detected while the robot is moving under the control of the force control unit as a teaching point of the robot program.
10. The robot system according to claim 9 , wherein the first detector is disposed closer to a tip end of the robot than the second detector.
11. The robot system according to claim 8 , wherein the force control unit executes force control by damping control.
12. 11. The robot system according to claim 7, wherein the teaching point setting section operates so as not to set a next teaching point until a predetermined time has elapsed after setting one teaching point.
13. The robot system according to claim 7 , wherein the teaching point setting unit operates so that an interval between one teaching point and a next teaching point is equal to or greater than a predetermined distance.
14. A teaching device for teaching a robot, comprising: A teaching device comprising a teaching point setting unit that sets the position of the robot when contact between the robot and an object is detected as a teaching point of the robot program based on the output of a first detector capable of detecting contact and mounted on the robot.