ROBOT CONTROL DEVICE AND CONTROL METHOD
Patent Information
- Application Number
- DE112022006524
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-04-08
- Publication Date
- 2025-03-06
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD
[0001] The present invention relates to a robot controller and a control method. BACKGROUND
[0002] Cooperative robot systems are known in which a robot shares a workspace with humans without a safety fence. In such a cooperative robot system, human safety is generally ensured by automatically stopping the robot if it detects contact between the robot and a human.
[0003] PTL 1 relates to direct teaching and is described as follows: "In a robot system 11, when an operator 60 applies a force (external force) to a tip portion 58 of a robot 50, a robot controller 10 controls a driver to move each axis of the robot 50 based on the force applied to the tip portion 58 of the robot 50 measured by a force measuring unit 21, data that has been set, and position data of the robot 50, etc., thereby changing the position of the axes constituting the robot 50 and moving the robot 50." (paragraph 0019).
[0004] PTL 2 relates to a simulation device of a cooperative robot and describes as follows: "Simulation device 50 for simulating a cooperative task that is cooperatively performed by a cooperative robot and a human, the simulation device comprising a head-mounted display device 80 to be attached to an operator to simulate the cooperative task, a detection unit 70 configured to detect a position of the operator in a real space, a three-dimensional model display unit 502 configured to display an image in which a robot system model including a cooperative robot model is arranged in a three-dimensional virtual space on the head-mounted display device, a three-dimensional model display unit 502 configured to display an image in which a robot system model,containing a cooperative robot model, arranged in a three-dimensional virtual space, and a simulation execution unit 503 configured to simulate the cooperative robot model in the three-dimensional virtual space based on a motion program of the cooperative robot to execute the cooperative task and the detected position of the operator." (Summary).
[0005] PTL 3 relates to direct robot teaching and is described as follows: "A robot arm (100) includes a grip part (103) structured to be detachable from an end effector (102) attached to the robot arm (100). When the grip part (103) is grasped and moved by a user, the robot arm (100) moves and follows the grip part (103). Further, the grip part (103) includes a contact sensor (105), and the tracking control method is switched according to the value of the contact sensor (105)." (Summary).
[0006] PTL 4 relates to a cooperative robot and is described as follows: “A human cooperative robot system (1) includes a first detection unit (S1) that detects an external force acting on a robot, a second detection unit (S2) that detects only an operation force acting on the robot when a person manually operates the robot, and a safety guarantee operation command unit (21) that, when the external force detected by the first detection unit exceeds a predetermined threshold, issues a safety guarantee operation command to cause the robot to move in a direction that reduces the external force or to stop the robot.” (Summary). [CITATION LIST][PATENT LITERATURE] [PTL 1] Unexamined Japanese Patent Publication (Kokai) No. 2015-202534 A [PTL 2] Unexamined Japanese Patent Publication (Kokai) No. 2019-188531 A [PTL 3] International Patent Publication No. WO2012 / 101956 A1 [PTL 4] Unexamined Japanese Patent Publication (Kokai) No. 2018-111174 A SUMMARY[TECHNICAL PROBLEM]
[0007] Here, instead of the learning phase of a cooperative robot, the actual operation phase is considered, in which the cooperative robot executes a control program and performs a predetermined task together with a worker. During the actual operation of a robot system with such a cooperative robot, if a worker performing the task with the cooperative robot wants to temporarily reduce the robot's speed, the worker generally needs to stop the task and press a teaching switch to adjust the robot's movement speed. The worker then needs to press the teaching pendant again to return the reduced speed of the robot to its original speed. Such an operation is tedious for the worker and also reduces work efficiency.There is a need for a robot controller and control method that can change the speed of a cooperative robot in actual operation to the speed desired by the worker without interrupting the task and operating the teach-in handset. (SOLUTION OF THE PROBLEM)
[0008] One aspect of the present disclosure is a robot controller that controls a robot, and the robot controller includes a speed control unit configured to change a moving speed of the robot in response to detection of a predetermined external force applied to the robot when the robot operates according to a control program.
[0009] Another aspect of the present disclosure is a control method for controlling a robot by a robot controller, and the control method includes changing a movement speed of the robot in response to detecting a predetermined external force applied to the robot when the robot operates according to a control program. [ADVANTAGEOUS EFFECTS OF THE INVENTION]
[0010] According to the configuration described above, the movement speed of the robot operating according to the control program can be changed by applying a force to the robot, which is intuitive and convenient operation for a worker.
[0011] The objects, features and advantages, as well as other objects, features and advantages, will become more apparent from the detailed description of typical embodiments of the present invention illustrated in the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing a device configuration of a robot system according to an embodiment. Fig. Figure 2 is a diagram showing an example of the hardware configuration of a robot controller and a teaching pendant. Fig. 3 is a functional block diagram of the robot controller. Fig. 4 is a diagram showing details of speed control according to a first example. Fig. 5 is a diagram showing details of speed control according to a second example. Fig. 6 is a flowchart showing robot speed control processing performed by the robot controller according to an embodiment. DESCRIPTION OF THE EMBODIMENTS
[0012] Embodiments of the present disclosure will be described below with reference to the drawings. A similar configuration or functional part is denoted by the same reference numeral in the drawings. To facilitate understanding, the scale of the drawings is changed accordingly. An aspect illustrated in the drawing is an example of implementing the present invention, and the present invention is not limited to the illustrated aspect.
[0013] Fig. 1 is a diagram showing a device configuration of a robot system 100 according to an embodiment. The robot system 100 includes a robot 10, a robot controller 50 that controls the robot 10, and a teaching pendant 30 connected to the robot controller 50. The robot 10 is configured as a cooperative robot that performs work in collaboration with a human. During actual operation of the robot system 100, the robot controller 50 causes the robot 10 to perform a predetermined work according to a control program loaded into the robot controller 50.
[0014] A worker performing work in collaboration with a robot in a cooperative robot system may wish to temporarily change the speed of the robot operating according to a control program due to various factors related to the work. The robot controller 50 according to the present embodiment provides a function for changing the speed of the robot 10 operating according to the control program through an intuitive and convenient operation of applying a force to the robot 10.
[0015] The robot 10 has a base 11 attached to an installation floor. The robot 10 can perform the desired work using an end effector attached to a wrist portion of an arm tip of the robot. The end effector is an interchangeable external device depending on the application and can be, for example, a hand, a welding gun, a tool, and the like. Fig. 1 shows an example in which a hand 60 is used as an example of the end effector. The robot 10 is a vertical articulated robot in the present embodiment, but a robot of another type may also be used.
[0016] The robot controller 50 controls a movement of the robot 10 according to a control program or a command of the teaching handset 30.
[0017] A force sensor 71 is located under the base 11 of the robot 10. The force sensor 71 is, for example, a 6-axis force sensor. The robot controller 50 can detect an external force (contact force) acting on the robot 10 based on a detected value of the force sensor 71 and detect that a person or object is touching the robot 10. It should be noted that the robot controller 50 can also be configured to detect an external force (contact force) acting on the robot 10 using a torque sensor arranged on each joint axis (or at least one of the joint axes) of the robot 10.
[0018] The teaching handset 30 is used to perform various settings related to teaching the robot 10, program creation, and various teaching operations such as jogging the robot 10. It should be noted that an information processing device such as a tablet terminal and a personal computer (PC) with a teaching function may be used instead of the teaching handset.
[0019] Fig. 2 shows an example of the hardware configuration of the robot controller 50 and the teaching pendant 30. The robot controller 50 may be configured as a common computer in which a memory 52 (such as ROM, RAM, and non-volatile memory), various input / output interfaces 53, an operation unit 54 including various operation switches, and the like are connected to a processor 51 via a bus. The teaching pendant 30 may be configured as an ordinary computer in which a memory 32 (such as ROM, RAM, and non-volatile memory), a display unit 33, an operation unit 34 consisting of an input device such as a keyboard (or a software key), various input / output interfaces 35, and the like are connected to a processor 31 via a bus.
[0020] Fig. 3 is a functional block diagram of the robot controller 50. The robot controller 50 includes a motion control unit 151, an external force detection unit 152, a stop control unit 153, and a speed control unit 154.
[0021] The motion control unit 151 generates a trajectory plan of a predetermined moving part (e.g., a tool center point (TCP)) of the robot 10 according to a control program 150 loaded into the robot controller 50 and generates a command for each axis of the robot 10 through kinematic calculation. Then, the robot controller 50 can move a predetermined control section of the robot 10 according to the planned trajectory by performing servo control on each axis according to the command for each axis. Furthermore, the motion control unit 151 performs control of the hand 60 according to the control program 150.
[0022] The external force detection unit 152 can detect an external force (contact force) acting on the robot 10 by subtracting a weight of a workpiece held by the robot 10 and an inertial force generated by a movement of the robot 10 from a detection value output by the force sensor 71. It should be noted that the external force detection unit 152 can also be represented as an external force detection unit that detects an external force based on a detected value of an external force detector such as the force sensor 71.
[0023] The stop control unit 153 stops the robot 10 to ensure human safety when the external force (contact force) detected by the external force detection unit 152 exceeds a reference value. The reference value is set as the threshold TH1. This configuration ensures human safety in a situation where a person and the robot 10 perform work together.
[0024] When the robot 10 operates according to the control program, the speed control unit 154 changes a movement speed of the robot 10 in response to detecting that a predetermined external force is applied to the robot 10. For example, in the present embodiment, when the external force (contact force) detected by the external force detection unit 152 is equal to or less than the threshold value TH1, the speed control unit 154 detects that a worker is operating an arm of the robot 10 with the intention of changing the speed of the robot 10, and changes the speed of the robot 10.
[0025] According to the configuration described above, a worker who wishes to change the speed of the robot 10 operating at a speed set by the control program 150 can operate the arm of the robot 10 with a relatively weak force, that is, a light force equal to or less than the threshold TH1 of an external force used to determine whether to stop the robot 10. The worker can change the speed of the robot 10 by operating the arm with the light force, and thus, the advantageous function for the worker can be realized through simple and convenient operation for the worker. Thus, according to the configuration for changing a speed of the robot 10, when an external force equal to or less than the threshold TH1 is detected, it is possible to reliably detect the intention of a worker who wishes to temporarily change the speed of the robot 10.
[0026] Two specific examples of speed control by the speed control unit 154 when an external force equal to or less than the threshold TH1 is detected are described below. The two examples described below correspond to a movement in which the speed of the robot 10 is changed depending on the direction of an external force with respect to the direction of movement of the robot 10 when an external force equal to or less than the threshold TH1 is applied to the robot 10. (First example)
[0027] A first example is a motion example in which the speed of the robot 10 is reduced when a worker applies a force equal to or less than a certain value (threshold TH1) to the robot 10 in a direction considered opposite to a movement direction of the robot 10 operating according to the control program 150. In other words, the speed control unit 154 performs control to reduce the speed of the robot 10 when the following conditions (A1) and (A2) are met. (A1) A case where an external force detected by the external force detection unit 152 is equal to or less than the threshold value TH1. (A2) A case where the direction of an external force applied by the worker is considered to be opposite to the direction of movement of the robot 10.
[0028] A movement of the present first example is described with reference to Fig. 4 described. Fig. 4 shows a state when the robot 10 is viewed from above. In Fig. 4, the robot 10 moves along an arrow D, and the worker operates the robot 10 to push the robot 10 back to a depicted position with an external force F1 equal to or less than the threshold value TH1. A relationship between a moving direction D1 of the robot 10 and the external force F1 in the depicted position is shown in a circle of a dashed line at the bottom right of Fig. 4 shown.
[0029] For example, the following criterion (B1) or (B2) can be used to determine that the condition (A2) described above is met. (B1) A case where a difference (an angle θ in Fig. 4) between the moving direction D1 of the robot 10 and a direction of the force (external force) F1 applied by a person to the robot 10 falls within a range of 180 degrees ± a predetermined value (here, the predetermined value is a value less than 90 degrees). (B2) A case where the force F1 applied by a person to the robot 10 includes a component opposite to the direction of movement D1 of the robot.
[0030] Both criteria can be considered as a condition in which the worker applies the force to the robot 10 in a direction that is considered opposite to the direction of movement of the robot 10.
[0031] The speed control unit 154 reduces the speed of the robot 10 under the condition that a worker's force applied to the robot 10, equal to or less than the threshold TH1, is detected in a direction considered opposite to the direction of movement of the robot 10. Examples of speed reduction control may include a movement (C1) or (C2) as follows. (C1) When an external force equal to or smaller than the threshold TH1 is detected in a direction considered to be opposite to a moving direction of the robot, the moving speed of the robot 10 is reduced to a certain speed lower than the speed specified by the control program. (C2) When an external force equal to or less than the threshold TH1 is detected in a direction considered opposite to a moving direction of the robot, a time during which the external force acts is measured, and the degree of deceleration is controlled so that the degree of deceleration increases as the time during which the external force acts becomes longer. In this case, the worker can increase the degree of deceleration as the duration of a state in which the force acts on the robot 10 increases.
[0032] As described above, according to the first example, the worker can reduce the robot's movement speed by performing an intuitive and convenient operation by applying a force with a magnitude equal to or less than the threshold TH1 to the robot operating according to the control program in a direction considered opposite to the robot's movement direction. Therefore, the worker can perform cooperative work with the robot more efficiently according to the situation. (Second example)
[0033] A second example is a movement example in which the movement speed of the robot 10 is increased when a worker applies a force equal to or less than a certain value (threshold TH1) to the robot 10 in a direction considered to be the same direction as the movement direction of the robot 10 when the movement speed of the robot 10 temporarily decreases further than the speed specified by the control program 150. In other words, the speed control unit 154 increases the speed of the robot 10 when the following conditions (A11) and (A12) are met. (A11) A case where an external force detected by the external force detection unit 152 is equal to or less than the threshold value TH1. (A12) A case where the direction of an external force applied by the worker is set equal to the direction of movement of the robot 10.
[0034] A movement of the present second example will be described with reference to Fig. 5. In Fig. 5, the robot 10 moves along an arrow E, and the worker operates the robot 10 in a direction considered to be the same as a moving direction of the robot 10 in a depicted position with an external force F2 equal to or smaller than the threshold value TH1. A relationship between a moving direction E1 of the robot 10 and the external force F2 in the depicted position of the robot 10 is shown in a circle with a dashed line at the bottom right of Fig. 5 shown.
[0035] For example, the following criterion (B11) or (B12) can be used to determine that the condition (A12) described above is met. (B11) A case where a difference (an angle θ2 in Fig. 5) between the moving direction E1 of the robot 10 and a direction of the force (external force) F2 applied by a person to the robot 10 is within a predetermined value (here, the predetermined value is a value of less than 90 degrees). (B12) A case where the force F2 applied by a person to the robot 10 includes a component in the same direction as the moving direction E1 of the robot.
[0036] Both criteria can be considered as a condition in which the worker applies the force to the robot 10 in a direction that is considered to be the same as the direction of movement of the robot 10.
[0037] The speed control unit 154 increases the speed of the robot 10 under the condition that the application of a force equal to or less than the threshold TH1 to the robot 10 by the worker is detected in a direction considered to be the same as a movement direction of the robot 10. Examples of speed increase control may include a movement (C11) or (C12) as follows. (C11) When an external force equal to or smaller than the threshold TH1 is detected in a direction considered to be the same as a moving direction of the robot 10, a speed of the robot 10 is reset to a speed set by the control program 150. (C12) When an external force equal to or less than the threshold TH1 is detected in a direction considered to be the same as the moving direction of the robot 10, the time during which the external force acts is measured, and the speed increase rate is controlled so that the increase rate becomes larger as the time during which the external force acts becomes longer. In this case, the worker can increase the speed increase rate with a longer time of a state in which the force acts on the robot 10.
[0038] As described above, according to the second example, the worker can increase or restore the robot's movement speed by applying a force equal to or less than the threshold TH1 to the robot at a temporarily reduced speed in a direction considered to be the same as the movement direction. Therefore, the worker can perform cooperative work with the robot more efficiently depending on the situation.
[0039] It should be noted that the above-described movement according to the second example can also be applied as a movement for temporarily increasing a movement speed of the robot 10 beyond a speed specified by the control program.
[0040] Fig. 6 is a flowchart illustrating the above-described control method (speed control processing) performed by the robot controller 50. The speed control processing is performed under the control of the processor 51 of the robot controller 50. The speed control processing may be performed periodically during the operation of the robot 10.
[0041] As in Fig. As shown in Fig. 6, when the robot 10 is operated according to the control program, the external force detection unit 152 detects whether an external force (contact force) is acting on the robot 10 (step S1). The external force detection unit 152 can appropriately detect whether the external force (contact force) is acting on the robot 10, for example, by determining that the external force (contact force) is acting when an output value of the force sensor 71 is equal to or greater than a certain value (but less than TH1), taking into account a noise level of the output value of the force sensor 71, and the like. In step S1, the processing is repeated until the external force is detected (S1: NO).
[0042] When the external force (contact force) acting on the robot 10 is detected (S1: YES), the magnitude of the external force (F) is determined (step S2). If the magnitude of the external force (F) exceeds a predetermined reference value (threshold TH1) (S2: F > TH1), the robot 10 is stopped by the stop control unit 153 to ensure human safety (step S3).
[0043] When the magnitude of the external force (F) is equal to or less than the predetermined reference value (threshold TH1) (S2: F≤ TH1), the speed control unit 154 changes a movement speed of the robot 10 (step S4). In step S4, as described in the first or second example, the speed control unit 154 may change the movement speed of the robot 10 according to a direction of the external force with respect to a movement direction of the robot 10.
[0044] As described above, according to the present embodiment, a moving speed of the robot operating according to the control program can be changed by an operation of applying a force to the robot, which is an intuitive and convenient operation for a worker.
[0045] The present invention has been described above using the typical embodiments, but it will be understood by those of ordinary skill in the art that changes, other various changes, omissions, and additions may be made in each of the above-described embodiments without departing from the scope of the present invention.
[0046] For example, in the embodiments described above, the threshold value (first threshold value) for detecting an external force acting opposite to a moving direction of the robot in the first example and the threshold value (second threshold value) for detecting an external force acting in the same direction as a moving direction of the robot in the second example are set to the same value (threshold value TH1), but the first threshold value and the second threshold value may be different values.
[0047] The Fig. The functional block diagram of the robot controller 50 shown in Fig. 3 can be achieved by executing various types of software stored in a storage device by the processor 51 of the robot controller 50, or can be achieved by a configuration in which hardware such as an application-specific integrated circuit (ASIC) is a main body.
[0048] The program for executing various types of processing, such as speed control processing ( Fig. 6) In the embodiments described above, it can be recorded in various computer-readable recording media (e.g., a ROM, an EEPROM, a semiconductor memory such as a flash memory, a magnetic recording medium, and an optical disk such as a CD-ROM and a DVD-ROM). REFERENCE SYMBOL LIST 10 robots 30 Learning handset 31 processors 32 memory 33 Display unit 34 operating units 35 Input / Output Interface 50 robot control 51 processor 52 storage 53 Input / Output Interface 54 operating unit 60 hands 71 force sensor 100 robot system 150 control program 151 Movement control unit 152 External force detection unit 153 Stop control unit 154 Speed control unit QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] WO 2012 / 101956 A1
[0006]
Claims
[1] A robot controller configured to control a robot, the robot controller comprising: a speed control unit configured to change a movement speed of the robot in response to detection of a predetermined external force applied to the robot when the robot operates according to a control program. [2] The robot controller according to claim 1, wherein the speed control unit changes the moving speed of the robot in response to detecting an external force as the predetermined external force that is equal to or smaller than a predetermined reference value. [3] The robot controller according to claim 2, further comprising a stop control unit configured to stop the robot in response to an external force applied to the robot that exceeds the predetermined reference value. [4] The robot controller according to any one of claims 1 to 3, wherein the speed control unit changes the moving speed of the robot according to a direction of the predetermined external force with respect to a moving direction of the robot when the application of the predetermined external force to the robot is detected in a case where the robot operates according to the control program. [5] The robot controller according to any one of claims 1 to 4, wherein the speed control unit sets a degree of change in the moving speed according to a period of time during which the predetermined external force acts on the robot. [6] The robot controller according to any one of claims 1 to 5, wherein the speed control unit reduces the moving speed of the robot when a direction of the predetermined external force applied to the robot is considered to be an opposite direction to a moving direction of the robot in a case where the robot operates according to the control program. [7] The robot controller according to claim 6, wherein the speed control unit reduces the moving speed of the robot when an external force equal to or smaller than a first threshold is detected as the predetermined external force, and a direction of the external force is regarded as an opposite direction to the moving direction of the robot. [8] The robot controller according to any one of claims 1 to 5, wherein the speed control unit increases the moving speed of the robot when a direction of the predetermined external force applied to the robot is regarded as the same direction as a moving direction of the robot in a case where the robot operates according to the control program. [9] The robot controller according to claim 8, wherein the speed control unit increases the moving speed of the robot when an external force equal to or smaller than a second threshold is detected as the predetermined external force, and a direction of the external force is regarded as the same direction as the moving direction of the robot. [10] The robot controller according to claim 8 or 9, wherein when the robot has reduced a speed to a value lower than a speed specified by the control program, the speed control unit restores a reduced speed of the robot to the speed specified by the control program in response to detecting that an external force, which is the predetermined external force and is considered to be in the same direction as the moving direction of the robot, acts on the robot. [11] A control method for controlling a robot by a robot controller, the control method comprising: changing a movement speed of the robot in response to detecting a predetermined external force applied to the robot when the robot operates according to a control program. [12] The control method according to claim 11, further comprising changing the moving speed of the robot in response to detecting an external force as the predetermined external force that is equal to or smaller than a predetermined reference value. [13] The control method according to claim 12, further comprising stopping the robot in response to an external force applied to the robot that exceeds the predetermined reference value. [14] The control method according to any one of claims 11 to 13, further comprising reducing the moving speed of the robot when an external force equal to or smaller than a first threshold is detected as the predetermined external force, and a direction of the external force is regarded as an opposite direction to a moving direction of the robot in a case where the robot operates according to the control program. [15] The control method according to any one of claims 11 to 13, further comprising increasing the moving speed of the robot when an external force equal to or smaller than a second threshold is detected as the predetermined external force, and a direction of the external force is regarded as the same direction as a moving direction of the robot in a case where the robot operates according to the control program.
Citation Information
Patent Citations
Robot-arm control device and control method, robot, robot-arm control program, and integrated electronic circuit
WO2012101956A1