Robot system and method for controlling the robot system

The robot system uses torque detection and control algorithms to differentiate between collisions and workpiece holding, ensuring accurate operation and safety with varying masses.

JP2026049446APending Publication Date: 2026-03-18KAWASAKI JUKOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-06
Publication Date
2026-03-18

AI Technical Summary

Technical Problem

Existing robot systems struggle to accurately distinguish between collisions with objects and the holding of workpieces of various masses, leading to potential misidentification and unnecessary stopping or operation changes.

Method used

A robot system equipped with torque detection units at multiple joints and a control unit that analyzes the time or position change of detected torque values to differentiate between collisions and workpiece holding, using thresholds and external force calculations to accurately identify these events.

Benefits of technology

Enables precise differentiation between collisions and workpiece holding, even with varying masses, preventing unnecessary robot stops and allowing safe operation in collaborative environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026049446000001_ABST
    Figure 2026049446000001_ABST
Patent Text Reader

Abstract

This invention provides a robot system and a control method for the robot system that can accurately distinguish between collisions between the robot and an object, and between the handling of the workpiece by the robot's hand, even when handling workpieces of varying masses. [Solution] This robot system 100 includes a robot 10 which includes a plurality of joints 13 and a hand 15 which holds a workpiece W; a torque detection unit 14 which is positioned in a predetermined joint 13 of the plurality of joints 13 and detects a detected torque value around the rotation axis of the predetermined joint 13; and a control unit 20 which performs control to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15 based on the time change or position change of the detected torque value during the operation of holding and moving the workpiece W with the hand 15.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a robot system and a method for controlling a robot system.

Background Art

[0002] Conventionally, a robot system has been known (see, for example, Patent Document 1).

[0003] Patent Document 1 discloses a robot system including a robot and a robot controller that controls the robot. The robot is a vertically articulated robot, and an end effector is attached to the tip. The robot performs an operation of transferring a workpiece from a first container to a second container using the end effector. In addition, a torque sensor for detecting the actual joint torque is provided at each of a plurality of joints of the robot. The robot controller calculates an external force by subtracting a calculated joint torque calculated based on the set information of the end effector and the like from the actual joint torque. Further, the robot controller identifies a collision between the robot and an object by comparing the calculated external force with a threshold value.

[0004] In addition, when performing an operation of transferring a workpiece from a first container to a second container using an end effector, depending on the nature of the workpiece and the type of operation, the actual joint torque may vary greatly during the operation. In this case, although there is actually no collision between the robot and the object, it may be identified that the robot and the object have collided, and the robot may stop or the like may occur. For this reason, when the end effector moves to a preset position, the robot controller switches the set information of the end effector for calculating the calculated joint torque from first set information to second set information having a larger mass than the first set information. As a result, the calculated joint torque is calculated to be larger than in the case of the first set information, so that the occurrence of the robot stopping or the like is suppressed.

Prior Art Documents

Patent Documents

[0005] [Patent Document 1] Patent No. 7063352 [Overview of the project] [Problems that the invention aims to solve]

[0006] However, in configurations that switch the setting information of the end effector, such as the robot system described in Patent Document 1 above, it is difficult to set appropriate setting information when handling workpieces of various masses. In this case, there is a problem in that it is not possible to accurately distinguish between a collision between the robot and an object and the holding of the workpiece by the end effector as a hand.

[0007] This disclosure is made to solve the above-mentioned problems and provides a robot system and a control method for the robot system that can accurately distinguish between collisions between the robot and an object and the holding of the workpiece by the hand, even when handling workpieces of various masses. [Means for solving the problem]

[0008] A robot system according to the first aspect of this disclosure includes a robot including a plurality of joints and a hand for holding a workpiece; a torque detection unit positioned at a predetermined joint among the plurality of joints and detecting a detected torque value around the rotation axis of the predetermined joint; and a control unit that, in an operation in which the hand holds and moves a workpiece, performs control to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand based on the time change or position change of the detected torque value. In this specification, the term "collision between a robot and an object" is a broad concept that includes collisions between the robot's hand and an object, and collisions between a workpiece held by the robot's hand and an object.

[0009] In the robot system according to the first aspect of this disclosure, as described above, a control unit is provided that performs control to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand, based on the time change or position change of the detected torque value, during the operation of holding and moving a workpiece with the hand. This makes it possible to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand by taking advantage of the fact that the time change or position change of the detected torque value is significantly different in the case of a collision between the robot and an object and in the case of holding the workpiece by the hand. As a result, even when handling workpieces of various masses, it is possible to accurately distinguish between a collision between the robot and an object and the holding of the workpiece by the hand.

[0010] A control method for a robot system according to a second aspect of this disclosure is a control method for a robot system comprising a robot including a plurality of joints and a hand for holding a workpiece, comprising: detecting a detected torque value about the rotation axis of a predetermined joint among the plurality of joints; and, in an operation in which the hand holds and moves a workpiece, identifying a collision between the robot and an object and the holding of the workpiece by the hand based on a change in time or position of the detected torque value.

[0011] In the second aspect of this disclosure, the robot system control method includes, as described above, the ability to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand, based on the time or positional change of the detected torque value, during the operation of holding and moving a workpiece with the hand. This makes it possible to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand by taking advantage of the fact that the time or positional change of the detected torque value is significantly different in the case of a collision between the robot and an object and in the case of holding the workpiece by the hand. As a result, it is possible to provide a robot system control method that can accurately distinguish between a collision between the robot and an object and the holding of the workpiece by the hand, even when handling workpieces of various masses. [Effects of the Invention]

[0012] According to this disclosure, as described above, even when handling workpieces of various masses, it is possible to accurately distinguish between collisions between the robot and the object and the holding of the workpiece by the hand. [Brief explanation of the drawing]

[0013] [Figure 1] This figure shows a robot system according to one embodiment. [Figure 2] This is a block diagram showing a robot according to one embodiment. [Figure 3] This figure illustrates the acquisition of external force values ​​for a robot system according to one embodiment. [Figure 4] This figure illustrates the time evolution of the detected torque value and the theoretical torque value in one embodiment, both when the workpiece is not being held and when the workpiece is being held. [Figure 5] This figure illustrates the distinction between a collision between a robot and an object and the holding of a workpiece by a hand in a robot system according to one embodiment. [Figure 6] This figure illustrates the time variation of the torque value based on the detected torque value and the motor current value in the case of holding a workpiece according to one embodiment. [Figure 7] This flowchart illustrates a control process for identifying collisions between a robot and an object, and the holding of a workpiece by a hand, according to one embodiment of a robot system. [Figure 8] This figure illustrates the distinction between a collision between a robot and an object and the holding of a workpiece by a hand in a robot system according to a modified embodiment of one embodiment. [Modes for carrying out the invention]

[0014] The embodiments of this disclosure will be described below with reference to the drawings.

[0015] (Robot system configuration) Referring to Figures 1 to 6, the configuration of a robot system 100 according to one embodiment will be described. As shown in Figure 1, the robot system 100 is a system in which work is performed by a robot 10. The robot system 100 comprises a robot 10, a control unit 20, and a teaching unit 30.

[0016] Robot 10 is a robot that works in the same space as humans. For example, robot 10 is a collaborative robot or a service robot. Robot 10 is used without safety fences or the like. Robot 10 is also a robot that holds and moves workpieces W. Specifically, robot 10 is a robot that holds and moves items of different masses, which serve as workpieces W in logistics, using its hand 15. For example, robot 10 performs palletizing operations, such as moving items like cardboard boxes to pallets, and depalletizing operations, such as moving items like cardboard boxes that are placed on pallets from pallets. Robot 10 handles workpieces W of various masses.

[0017] Furthermore, robot 10 is a 6-axis vertical articulated robot. As shown in Figures 1 and 2, robot 10 includes a base 11, a plurality of links 12, a plurality of joints 13, a plurality of torque detection units 14, and a hand 15.

[0018] The base 11 is fixed to the installation surface, such as the floor, by fastening members such as bolts.

[0019] Multiple links 12 include links 12a, 12b, 12c, 12d, 12e, and 12f. Links 12a, 12b, 12c, 12d, 12e, and 12f are arranged in this order from the proximal end to the distal end. Multiple joints 13 include joints 13a, 13b, 13c, 13d, 13e, and 13f. Joints 13a, 13b, 13c, 13d, 13e, and 13f are arranged in this order from the proximal end to the distal end.

[0020] Joint 13a is located at the connection point between base 11 and link 12a. Joint 13a is configured to rotate link 12a relative to base 11 around a vertical rotation axis A1. Joint 13b is located at the connection point between link 12a and link 12b. Joint 13b is configured to rotate link 12b relative to link 12a around a rotation axis A2 perpendicular to rotation axis A1. Joint 13c is located at the connection point between link 12b and link 12c. Joint 13c is configured to rotate link 12c relative to link 12b around a rotation axis A3 parallel to rotation axis A2.

[0021] Joint 13d is located at the connection point between link 12c and link 12d. Joint 13d is configured to rotate link 12d relative to link 12c around a rotation axis A4 perpendicular to the rotation axis A3. Joint 13e is located at the connection point between link 12d and link 12e. Joint 13e is configured to rotate link 12e relative to link 12d around a rotation axis A5 perpendicular to the rotation axis A4. Joint 13f is located at the connection point between link 12e and link 12f. Joint 13f is configured to rotate link 12f relative to link 12e around a rotation axis A6 perpendicular to the rotation axis A5. As a result, joint 13f is configured to rotate the hand 15 attached to link 12f relative to the rotation axis A6.

[0022] Each of the joints 13a, 13b, 13c, 13d, 13e, and 13f is equipped with a motor 131, a reduction gear 132, and an encoder 133. The motor 131 is the drive source that drives the joint 13 and is configured as a servo motor. The reduction gear 132 is configured to reduce the rotational speed of the motor 131 and to transmit the driving force of the motor 131 to the link 12. The encoder 133 is configured to output information about the rotational position of the motor 131.

[0023] The torque detection unit 14 is a torque sensor. The torque detection unit 14 is located in all of the multiple joints 13. Specifically, the multiple torque detection units 14 include torque detection units 14a, 14b, 14c, 14d, 14e, and 14f, which are located in joints 13a, 13b, 13c, 13d, 13e, and 13f, respectively.

[0024] Torque detection unit 14a is configured to detect the torque value around the rotation axis A1 of joint 13a. Torque detection unit 14b is configured to detect the torque value around the rotation axis A2 of joint 13b. Torque detection unit 14c is configured to detect the torque value around the rotation axis A3 of joint 13c. Torque detection unit 14d is configured to detect the torque value around the rotation axis A4 of joint 13d. Torque detection unit 14e is configured to detect the torque value around the rotation axis A5 of joint 13e. Torque detection unit 14f is configured to detect the torque value around the rotation axis A6 of joint 13f.

[0025] The hand 15 is configured to hold the workpiece W to be worked on. For example, the hand 15 may be a gripping hand or a suction hand for the workpiece W. The hand 15 may also be called a tool or end effector.

[0026] The control unit 20 is a robot controller. The control unit 20 is configured to control the operation of the robot 10. Specifically, the control unit 20 is configured to acquire instructions for the operation of the robot 10 from the user using the teaching unit 30, and to operate the robot 10 based on the acquired instructions. Furthermore, when the robot 10 performs a task, it may collide with objects in its vicinity, such as humans, other robots, or workpieces other than the workpiece W being worked on, and an external force may act on the robot 10. Therefore, as will be described later, the control unit 20 is configured to perform control to acquire the value of the external force acting on the robot 10.

[0027] The teaching unit 30 is a teaching pendant. The teaching unit 30 is configured to receive operations to teach the robot 10 movements. The teaching unit 30 includes a display unit 31 that displays information such as teaching information, and an operation unit 32 that receives operations related to teaching.

[0028] (Acquisition of external force values) The control unit 20 is configured to perform control to acquire the external force value acting on the robot 10 based on the detected torque value. Specifically, as shown in Figure 3, the control unit 20 divides the difference between the detected torque value and the reference torque value by the radius R from the rotation axis of the joint 13 to the monitoring point 40 set on the surface of the robot 10, and obtains a value P. i This value, Pa, is converted to a normal value based on the angle θ between the tangential direction at the monitoring point 40 of a circle with radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i The control unit 20 is configured to perform control to acquire the external force value acting on the robot 10. More specifically, the control unit 20 is configured to acquire the Pa i =P i The formula / cosθ gives the value Pa i It is configured to perform control to acquire the value P. The reference torque value is a torque value calculated from the theoretical torque value or the current value of the motor 131. The theoretical torque value is a theoretical torque value calculated based on the position and orientation of the robot 10 based on teaching, the value of the encoder 133, the link length of the robot 10, and the weight of the parts of the robot 10. Note that the surface of the robot 10 also includes the surface of the hand 15 and the surface of the workpiece held by the hand 15. Also, the value P i This is an example of the first value. Also, the value Pa i This is an example of a second value.

[0029] FIG. 3 shows an example of obtaining an external force value for the joint 13b. In this case, the control unit 20 performs control to obtain the detected torque value detected by the torque detection unit 14b. Then, the control unit 20 obtains, as a reference torque value, the theoretical torque value for the joint 13b calculated based on the position and orientation of the robot 10 based on the teaching and the value of the encoder 133, or the torque value calculated from the current value of the motor 131 of the joint 13b. Then, the control unit 20 performs control to obtain the difference value between the obtained detected torque value and the reference torque value. Then, the control unit 20 divides the obtained difference value by the radius R from the rotation axis line A2 of the joint 13b to the monitoring point 40 set on the surface of the link 12b rotated by the joint 13b to obtain the value P i by performing control. Then, the control unit 20, based on the angle θ formed by the tangential direction at the monitoring point 40 of the circle centered on the rotation axis line A2 of the joint 13b and the normal direction to the surface of the link 12b where the monitoring point 40 is set, converts the value P i to the value Pa i . That is, the control unit 20 performs control to obtain the value Pa i by the formula Pa i =P i / cosθ. Since 0 < cosθ < 1, Pa i is larger than P i . Thus, the control unit 20 performs control to obtain the value Pa i as the external force value. Since the value P i representing the force in the tangential direction at the monitoring point 40 is converted based on the angle θ, the value Pa i as the external force value is obtained as the force obtained by synthesizing the force in the tangential direction and the force in the radial direction at the monitoring point 40.

[0030] Although an example of obtaining an external force value for the joint 13b has been described, the same applies to the joints 13a, 13c, 13d, 13e, and 13f. Also, for the joint 13f, the monitoring point 40 is set on the surface of the hand 15 rotated by the joint 13b. For example, when the hand 15 has a suction pad configuration, the monitoring point 40 is set on the surface of the suction pad.

[0031] The monitoring point 40 is set at any location on the surface of the robot 10, not a fixed position. For example, the monitoring point 40 is set at any location specified by the user. Alternatively, for example, the monitoring point 40 is set at an arbitrary location before the robot 10 is shipped. Alternatively, for example, the monitoring point 40 is set based on a risk assessment that estimates the risks to the robot 10. For example, based on the risk assessment, the monitoring point 40 is set at the location on the surface of the robot 10 that can be contacted by an object that applies an external force to the robot 10, where the radius R is smallest. Since a smaller radius R results in a larger external force value, setting the monitoring point 40 to have a small radius R makes it possible to avoid underestimating the external force.

[0032] (Distinguishing between collisions between the robot and an object, and the handling of the workpiece by the hand) Figure 4 shows graphs of the time evolution of the detected torque value and the theoretical torque value when the workpiece W is not held by the hand 15 and when the workpiece W is held by the hand 15. In the graph, the horizontal axis is time and the vertical axis is torque.

[0033] When the hand 15 is not holding the workpiece W, the detected torque value and the theoretical torque value are approximately the same. On the other hand, when the hand 15 is holding the workpiece W, the detected torque value and the theoretical torque value do not match, and the detected torque value is greater than the theoretical torque value. This is because, when the hand 15 is holding and moving the workpiece W, the detected torque value reflects the increase in torque value due to the mass of the workpiece W, while the theoretical torque value does not reflect the increase in torque value due to the mass of the workpiece W. The same applies to operations in which the hand 15 holds and moves the workpiece W, other than the holding operation of the hand 15, such as transporting the workpiece W held by the hand 15 and releasing the workpiece W held by the hand 15.

[0034] Thus, when the workpiece W is held and moved by the hand 15, the detected torque value increases due to the mass of the workpiece W. Therefore, there is a risk that a collision between the robot 10 and the object may be detected even though there is no actual collision between the robot 10 and the object. For this reason, it is necessary to distinguish between a collision between the robot 10 and the object and the holding of the workpiece W by the hand 15.

[0035] Therefore, in this embodiment, as shown in Figure 5, the control unit 20 is configured to perform control that distinguishes between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15, based on the time change of the detected torque value, during the operation of holding and moving the workpiece W with the hand 15. The operation of holding and moving the workpiece W with the hand 15 includes at least one of the following: a holding operation in which the hand 15 holds the workpiece W, a transport operation in which the workpiece W held by the hand 15 is transported, and a release operation in which the workpiece W held by the hand 15 is released. The collision between the robot 10 and an object also includes collisions between the robot 10's hand 15 and an object, and collisions between the workpiece W held by the robot 10's hand 15 and an object.

[0036] In this embodiment, the control unit 20 controls the time change amount τ of the detected torque value. ext The threshold of change τ th If it does not exceed the value, it is identified as the workpiece W being held by the hand 15, and the time change amount τ of the detected torque value is also identified. ext The threshold of change τ th The system is configured to perform control that identifies a collision between the robot 10 and the object if the time change amount τ exceeds this value. ext This is the amount of change in the detected torque value over a time width t. For example, the time width t is the time width of one cycle of the control unit 20 as a robot controller, which is about 1 ms. Also, the change threshold τ th This can be determined in advance through experiments or other means and stored in the control unit 20.

[0037] When the hand 15 holds and moves the workpiece W, the detected torque value due to the mass of the workpiece W changes relatively slowly over time. In contrast, in the case of a collision between the robot 10 and an object, the detected torque value changes relatively rapidly over time. That is, in the case of a collision between the robot 10 and an object, the time change amount τ of the detected torque value changes rapidly over time. ext However, this is larger than when the workpiece W is held by the hand 15. Therefore, the time change amount τ of the detected torque value ext and change threshold τ th By comparing these, it is possible to distinguish between a collision between the robot 10 and the object, and the holding of the workpiece W by the hand 15.

[0038] Furthermore, in this embodiment, the control unit 20 determines the value Pa as an external force value acting on the robot 10 based on the detected torque value. i In addition to obtaining the value Pa as the external force value, i When the external force value threshold Th is exceeded, the system is configured to perform control to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15, based on the time change of the detected torque value. Specifically, the control unit 20 determines the value Pa i If the external force value threshold Th is exceeded, the time change amount τ of the detected torque value is... ext and change threshold τ th It is configured to perform control by comparing with [another value]. The external force value threshold Th is defined, for example, by ISO / TS15066.

[0039] Furthermore, in this embodiment, the control unit 20 is configured to either stop the robot 10 or perform an avoidance maneuver when it identifies a collision between the robot 10 and an object. Stopping the robot 10 means stopping the movement of each joint 13 of the robot 10. Performing an avoidance maneuver means controlling the movement of the robot 10 by driving each joint 13 of the robot 10 in a way that avoids an increase in the external force acting on the robot 10, for example, by moving the robot 10 in a direction that reduces the external force acting on the robot 10.

[0040] Furthermore, in this embodiment, the control unit 20 is configured to perform control to notify the robot 10 of a collision with an object when it identifies that the collision is between the robot 10 and the object. Specifically, the control unit 20 is configured to perform at least one of the following: make a light-emitting part such as an LED placed on the robot 10 light up, and display a collision notification message on the display unit 31 of the teaching unit 30.

[0041] Furthermore, in this embodiment, as shown in Figure 6, the control unit 20, in the operation of holding and moving the workpiece W with the hand 15, compares the detected torque value with a reference torque value calculated from the current value of the motor 131 provided in the joint 13, thereby determining the value of the external force acting on the robot 10 as Pa i The control unit 20 is configured to perform control to acquire the following: In other words, in the operation of holding and moving the workpiece W with the hand 15, the control unit 20 uses the detected torque value and the reference torque value calculated from the current value of the motor 131 to obtain the Pa i =P i The formula / cosθ gives the value Pa i It is configured to perform control to acquire [the data].

[0042] In the operation of holding and moving the workpiece W with the hand 15, the torque value calculated from the current value of the motor 131 is closer to the detected torque value than the theoretical torque value, but it has the characteristic of reflecting torque changes with a delay compared to the detected torque value. This is because the torque detection unit 14 quickly detects the actual torque, while the motor 131 outputs torque via the reduction gear 132, so there is a time delay before the actual torque is reflected in the current value. Since the torque value calculated from the current value of the motor 131 reflects torque changes with a delay compared to the detected torque value, it can be used as a reference torque value to compare with the detected torque value.

[0043] Furthermore, in operations where the hand 15 is not holding the workpiece W, the control unit 20 compares the detected torque value with the reference torque value, which is the theoretical torque value, to determine the value of the external force acting on the robot 10, Pa i The control unit is configured to perform control to acquire the following: In other words, in the operation in which the hand 15 is not holding the workpiece W, the control unit 20 uses the detected torque value and the reference torque value, which is the theoretical torque value, to obtain the Pa i =P i The formula / cosθ gives the value Pa i The system is configured to perform control to acquire the external force value. In the operation of holding and moving the workpiece W with the hand 15, the external force value may be acquired using the detected torque value and the reference torque value which is the theoretical torque value, or in the operation of not holding the workpiece W with the hand 15, the external force value may be acquired using the detected torque value and the reference torque value calculated from the current value of the motor 131.

[0044] (Control processing) Referring to Figure 7, the control process for identifying collisions between the robot 10 and an object and the holding of the workpiece W by the hand 15 in the robot system 100 according to this embodiment will be explained based on a flowchart. Note that each process in the flowchart is executed by the control unit 20 when the hand 15 is holding and moving the workpiece W.

[0045] In step S1, the difference between the detected torque value and the reference torque value calculated from the current value of the motor 131 is divided by the radius R from the rotation axis of the joint 13 to the monitoring point 40 set on the surface of the robot 10, resulting in a value P. i This value, Pa, is converted to a normal value based on the angle θ between the tangential direction at the monitoring point 40 of a circle with radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i However, this is obtained as an external force value acting on the robot 10. Specifically, Pa i =P i The formula / cosθ gives the value Pa i The following is obtained. In step S1, for each of the multiple joints 13, the value Pai This is obtained.

[0046] Then, in step S2, the value Pa i It is determined whether the external force value threshold Th has been exceeded. In step S2, for each of the multiple joints 13, the value Pa i It is determined whether the external force value threshold Th has been exceeded. For all of the multiple joints 13, the value Pa i If it is determined that the external force value threshold Th is not exceeded, the control process is terminated. Also, for at least one of the multiple joints 13, the value Pa i If it is determined that the external force value Th has exceeded the threshold, the process proceeds to step S3.

[0047] Then, in step S3, a collision between the robot 10 and the object and the holding of the workpiece W by the hand 15 are identified based on the time change of the detected torque value. Specifically, the time change amount τ of the detected torque value ext The threshold of change τ th It is determined whether or not it exceeds the value Pa. In step S3, the value Pa i For joint 13 where it was determined that the external force threshold Th was exceeded, the time change amount τ of the detected torque value ext The threshold of change τ th It is determined whether or not it exceeds the value Pa. i For all joints 13 in which it was determined that the external force threshold Th was exceeded, the time change amount τ of the detected torque value was calculated. ext The threshold of change τ th If it is determined that the threshold is not exceeded, proceed to step S4.

[0048] Then, in step S4, it is identified that the workpiece W is being held by the hand 15. Furthermore, the robot 10 continues to operate without being stopped or made to perform an avoidance maneuver.

[0049] Furthermore, in step S3, the value Pa i For at least one of the joints 13 in which it is determined that the external force threshold Th has been exceeded, the time change amount τ of the detected torque value extThe threshold of change τ th If it is determined that the limit has been exceeded, proceed to step S5.

[0050] Then, in step S5, a collision between the robot 10 and the object is identified. The collision between the robot 10 and the object is also notified. For example, at least one of the following is done: a light-emitting part such as an LED placed on the robot 10 is illuminated, and a message notifying the collision is displayed on the display unit 31 of the teaching unit 30. Alternatively, the robot 10 may be stopped or the robot 10 may perform an evasive maneuver.

[0051] (Effects of this embodiment) In this embodiment, as described above, in the operation of holding and moving the workpiece W with the hand 15, a control unit 20 is provided that performs control to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15 based on the time change of the detected torque value. This makes it possible to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15 by taking advantage of the fact that the time change of the detected torque value is significantly different in the case of a collision between the robot 10 and an object and in the case of the holding of the workpiece W by the hand 15. As a result, even when handling workpieces W of various masses, it is possible to accurately distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15.

[0052] Furthermore, in this embodiment, as described above, the control unit 20 controls the time change amount τ of the detected torque value. ext The threshold of change τ th If it does not exceed the value, it is identified as the workpiece W being held by the hand 15, and the time change amount τ of the detected torque value is also identified. ext The threshold of change τ th If it exceeds a certain value, control is performed to identify it as a collision between the robot 10 and the object. In the case of a collision between the robot 10 and the object, the time change amount τ of the detected torque value is determined. ext However, taking advantage of the fact that this is larger than when the workpiece W is held by hand 15, the change threshold τ thUsing this, collisions between the robot 10 and an object and the holding of the workpiece W by the hand 15 can be easily and accurately identified.

[0053] Furthermore, in this embodiment, as described above, the control unit 20 acquires the external force value acting on the robot 10 based on the detected torque value, and when the external force value exceeds the external force value threshold Th, it performs control to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15 based on the time change of the detected torque value. This makes it possible to perform control to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15 when there is a possibility of a collision between the robot 10 and an object due to an increase in the external force value acting on the robot 10. As a result, it is possible to effectively distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15.

[0054] Furthermore, in this embodiment, as described above, when the control unit 20 identifies a collision between the robot 10 and an object, it controls the robot 10 to stop or to perform an avoidance maneuver. This prevents a large load from being placed on the object that collides with the robot 10.

[0055] Furthermore, in this embodiment, as described above, when the control unit 20 identifies a collision between the robot 10 and an object, it performs control to notify the operator of the collision between the robot 10 and the object. This allows the operator to know that a collision has occurred between the robot 10 and the object, and to respond quickly to the collision.

[0056] Furthermore, in this embodiment, as described above, the control unit 20 performs control to acquire the external force value acting on the robot 10 by comparing the detected torque value with a reference torque value calculated from the current value of the motor 131 provided at a predetermined joint 13 during the operation of holding and moving the workpiece W with the hand 15. This allows for a comparison between the detected torque value, which quickly reflects torque changes, and the reference torque value calculated from the current value of the motor 131, which reflects torque changes with a delay compared to the detected torque value, thus enabling the acquisition of the external force value acting on the robot 10 with high accuracy.

[0057] Furthermore, in this embodiment, as described above, the control unit 20 divides the difference between the detected torque value and the reference torque value by the radius R from the rotation axis of a predetermined joint 13 to the monitoring point 40 set on the surface of the robot 10, and obtains a value P. i This value, Pa, is converted to a normal value based on the angle θ between the tangential direction at the monitoring point 40 of a circle with radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i Control is performed to acquire this as the external force value acting on the robot 10. This allows P to represent only the tangential force at the monitoring point 40. i Unlike when obtaining the external force value as a single value, this method allows obtaining an external force value that combines the tangential and radial forces at the monitoring point 40. Therefore, it prevents the situation where only the tangential force at the monitoring point 40 is considered and the radial force at the monitoring point 40 is ignored. As a result, it is possible to avoid obtaining an underestimated external force value.

[0058] Furthermore, in this embodiment, as described above, the robot 10 is a robot that works in the same space as a human. When the robot 10 and a human work in the same space, there is a possibility of collision between the robot 10 and the human. For this reason, when the robot 10 is a robot that works in the same space as a human, it is very effective to be able to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15.

[0059] Furthermore, in this embodiment, as described above, the robot 10 is a robot that holds and moves items of different masses, which serve as workpieces W, using the hand 15. Here, when the robot 10 holds and moves items using the hand 15 in logistics, it is necessary to handle items of various masses. For this reason, in a robot 10 that holds and moves items of different masses, which serve as workpieces W, using the hand 15, it is extremely effective to be able to accurately distinguish between collisions between the robot 10 and objects and the holding of the workpieces W by the hand 15, even when handling workpieces W of various masses.

[0060] (modified version) It should be noted that the embodiments disclosed herein are illustrative and not restrictive in all respects. The scope of this disclosure is defined by the claims rather than the description of the embodiments above, and further includes all modifications (modifications) within the meaning and scope equivalent to the claims.

[0061] For example, the above embodiment shows an example where the robot is a 6-axis vertical articulated robot, but the disclosure is not limited thereto. In this disclosure, the robot may be a vertical articulated robot with axes other than 6, such as 7-axis or 8-axis robots. Furthermore, the robot may be a robot other than a vertical articulated robot. For example, the robot may be a horizontal articulated robot.

[0062] Furthermore, while the above embodiments show an example where the robot works in the same space as a human, this disclosure is not limited to this. In this disclosure, the robot may be a robot other than one that works in the same space as a human.

[0063] Furthermore, while the above embodiment shows an example where the robot is used to hold and move items of different masses as workpieces in logistics using its hands, this disclosure is not limited to this. In this disclosure, the robot may be a robot other than one that holds and moves items of different masses as workpieces in logistics using its hands.

[0064] Furthermore, while the above embodiment shows an example in which a control unit acting as a robot controller performs control to acquire external force values, this disclosure is not limited to this. In this disclosure, a control unit other than the robot controller may perform control to acquire external force values.

[0065] Furthermore, while the above embodiment shows an example of distinguishing between a collision between a robot and an object and the holding of a workpiece by a hand based on the time change of the detected torque value in an operation in which a workpiece is held and moved by a hand, this disclosure is not limited to this. In this disclosure, in an operation in which a workpiece is held and moved by a hand, a collision between a robot and an object and the holding of a workpiece by a hand may be distinguished based on the position change of the detected torque value. The position in the position change may be, for example, a rotational position detected by an encoder, or the position of a specific part of the robot. When identification is performed based on a position change, if the amount of position change of the detected torque value does not exceed a change threshold, it may be identified as the holding of a workpiece by a hand, and if the amount of position change of the detected torque value exceeds the change threshold, it may be identified as a collision between a robot and an object. If the horizontal axis of the graph in Figure 5 of the above embodiment is replaced with the position that changes with time, it can be seen that it is possible to distinguish between a collision between a robot and an object and the holding of a workpiece by a hand based on a position change, similar to the time change in the above embodiment.

[0066] Furthermore, while the above embodiment shows an example of distinguishing between a collision between the robot and an object and the holding of a workpiece by the hand by determining whether the amount of change over time of the detected torque value exceeds a change threshold, this disclosure is not limited to this. For example, in the modified example shown in Figure 8, the control unit 20 is configured to perform control to distinguish between a collision between the robot 10 and an object and the holding of a workpiece W by the hand 15 by pattern matching the detected waveform representing the time change of the detected torque value with a reference waveform for the case of a collision between the robot 10 and an object and a reference waveform for the case of holding of a workpiece W by the hand 15. The reference waveform for the case of a collision between the robot 10 and an object and the reference waveform for the case of holding of a workpiece W by the hand 15 are acquired in advance and stored in the control unit 20. The control unit 20 also uses the value Pa as an external force value. i The system is configured to acquire a waveform representing the time change of the detected torque value from the moment the external force threshold Th is exceeded to a certain time prior, as the detected waveform. Note that when performing pattern matching, the position change of the detected torque value may be used instead of the time change of the detected torque value.

[0067] Furthermore, while the above embodiment shows an example of notifying a collision between a robot and an object when the external force value exceeds an external force value threshold and the system identifies that it is a collision between the robot and the object, this disclosure is not limited to this. For example, the control unit may acquire the external force value acting on the robot based on the detected torque value, and if the external force value exceeds a first external force value threshold, it may perform control to notify a warning that the external force value has exceeded the first external force value threshold and to control the robot to continue its operation. In this case, if the external force value exceeds a second external force value threshold which is greater than the first external force value threshold, and the system identifies that it is a collision between the robot and an object, it may perform control to notify a collision between the robot and the object and to control the robot to stop or to perform an evasive maneuver. With this configuration, in the case of a warning, the operator can be notified that a situation that could lead to an abnormality has occurred. Also, in the case of a warning, the robot's operation is continued, so a decrease in the robot's operating rate can be suppressed. Also, in the case of a collision, the operator can be notified that a collision has occurred, so the operator can deal with the collision quickly. Furthermore, in the event of a collision, the robot will either stop or perform an evasive maneuver, thus preventing a large load from being placed on the object that collided with the robot.

[0068] Furthermore, in the above embodiment, Pa i =P i An example of obtaining the external force value using the formula / cosθ has been shown, but this disclosure is not limited to this. In this disclosure, Pa i =P i You may also obtain the external force value using an equation other than / cosθ.

[0069] Furthermore, while the above embodiments show an example where the monitoring point is set at an arbitrary position on the surface of the robot, the disclosure is not limited thereto. In this disclosure, the monitoring point may be set at a fixed position on the surface of the robot.

[0070] Furthermore, while the above embodiment shows an example in which the torque detection unit is located in all of the multiple joints, the disclosure is not limited thereto. In this disclosure, the torque detection unit may be located in at least one of the multiple joints.

[0071] Furthermore, in the above embodiment, the detected torque value may be a value that has been treated with measures such as moving average and outlier removal.

[0072] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, dedicated processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuits. In this disclosure, a circuit, unit, or means is hardware that performs the enumerated functions, or hardware programmed to perform the enumerated functions. The hardware may be hardware disclosed herein, or other known hardware that is programmed or configured to perform the enumerated functions. If the hardware is a processor, which is considered a type of circuit, then the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or the processor.

[0073] [Aspect] Those skilled in the art will understand that the exemplary embodiments described above are specific examples of the following embodiments.

[0074] (Aspect 1) A robot including multiple joints and a hand for holding a workpiece, A torque detection unit is positioned at a predetermined joint among the plurality of joints and detects a torque value around the rotation axis of the predetermined joint. A robot system comprising: a control unit that performs control to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand, based on the time change or position change of the detected torque value, in an operation in which the hand holds and moves the workpiece.

[0075] (Aspect 2) The robot system according to Embodiment 1, wherein the control unit performs control to identify that the workpiece is being held by the hand if the amount of change over time or the amount of change in position of the detected torque value does not exceed a change threshold, and to identify that a collision between the robot and the object occurs if the amount of change over time or the amount of change in position of the detected torque value exceeds a change threshold.

[0076] (Aspect 3) The robot system according to embodiment 1 or embodiment 2, wherein the control unit acquires an external force value acting on the robot based on the detected torque value, and when the external force value exceeds an external force value threshold, it performs control to identify a collision between the robot and the object and the holding of the workpiece by the hand based on the time change or position change of the detected torque value.

[0077] (Aspect 4) The robot system according to any one of embodiments 1 to 3, wherein the control unit, when it identifies a collision between the robot and the object, controls the robot to stop or to perform an evasive maneuver.

[0078] (Aspect 5) The robot system according to embodiment 4, wherein the control unit, when it identifies that a collision has occurred between the robot and the object, performs control to notify the robot of the collision between the robot and the object.

[0079] (Aspect 6) The control unit, Based on the detected torque value, the external force value acting on the robot is acquired, and if the external force value exceeds a first external force value threshold, control is performed to issue a warning that the external force value has exceeded the first external force value threshold, and control is performed to keep the robot running. A robot system according to any one of embodiments 1 to 5, wherein when the external force value exceeds a second external force value threshold that is greater than the first external force value threshold, and when it is identified that this is a collision between the robot and the object, the system performs control to notify the robot of the collision between the robot and the object, and controls the robot to stop or to perform an evasive maneuver.

[0080] (Aspect 7) The robot system according to any one of embodiments 1 to 6, wherein the control unit performs control to acquire an external force value acting on the robot by comparing the detected torque value with a reference torque value calculated from the current value of a motor provided at a predetermined joint, in an operation in which the hand holds and moves the workpiece.

[0081] (Pattern 8) The robot system according to embodiment 7, wherein the control unit performs control to acquire as an external force value acting on the robot a second value obtained by dividing the difference between the detected torque value and the reference torque value by the radius from the rotation axis of the predetermined joint to a monitoring point set on the surface of the robot, and converting the first value obtained by dividing by the radius by the radius from the rotation axis of the predetermined joint to a monitoring point set on the surface of the robot, into a value in the normal direction based on the angle between the tangential direction of the circle having the radius at the monitoring point and the normal direction to the surface of the robot on which the monitoring point is set.

[0082] (Aspect 9) The robot system according to any one of embodiments 1 to 8, wherein the robot is a robot that performs work in the same space as a human.

[0083] (Aspect 10) The robot system according to any one of Embodiments 1 to 9, wherein the robot is a robot that, in logistics, holds and moves items of different masses as workpieces using the hand.

[0084] (Aspect 11) The robot system according to Embodiment 1, wherein the control unit performs control to distinguish between a collision between the robot and the object and the holding of the workpiece by the hand by pattern matching a detection waveform representing the time change or position change of the detected torque value with a reference waveform in the case of a collision between the robot and the object and a reference waveform in the case of holding the workpiece by the hand.

[0085] (Aspect 12) A method for controlling a robot system comprising a robot with multiple joints and a hand for holding a workpiece, To detect the detected torque value around the rotation axis of a predetermined joint among the aforementioned plurality of joints, A method for controlling a robot system, comprising: in an operation in which the hand holds and moves the workpiece, the method for identifying a collision between the robot and an object and the holding of the workpiece by the hand based on the time change or position change of the detected torque value. [Explanation of Symbols]

[0086] 10 Robots 13 joints 14 Torque detection unit 15 Hand 20 Control Unit 100 Robot Systems 131 Motor A1, A2, A3, A4, A5, A6 Rotation axis P i Value (first value) Pa i Value (second value) R radius Th external force threshold Double job θ angle τ ext Time change of detected torque value τ th Change threshold

Claims

1. A robot including multiple joints and a hand for holding a workpiece, A torque detection unit is positioned at a predetermined joint among the plurality of joints and detects a torque value around the rotation axis of the predetermined joint. A robot system comprising: a control unit that performs control to distinguish between a collision between the robot and an object and the holding of the workpiece by the hand, based on the time change or position change of the detected torque value, in an operation in which the hand holds and moves the workpiece.

2. The robot system according to claim 1, wherein the control unit performs control to identify that the workpiece is being held by the hand when the amount of change over time or the amount of change in position of the detected torque value does not exceed a change threshold, and to identify that a collision between the robot and the object occurs when the amount of change over time or the amount of change in position of the detected torque value exceeds a change threshold.

3. The robot system according to claim 1, wherein the control unit acquires an external force value acting on the robot based on the detected torque value, and when the external force value exceeds an external force value threshold, it performs control to identify a collision between the robot and the object and the holding of the workpiece by the hand based on the time change or position change of the detected torque value.

4. The robot system according to claim 1, wherein the control unit, when it identifies a collision between the robot and the object, controls the robot to stop or to perform an avoidance maneuver.

5. The robot system according to claim 4, wherein the control unit, when it identifies that a collision has occurred between the robot and the object, performs control to notify the robot of the collision between the robot and the object.

6. The control unit, Based on the detected torque value, the external force value acting on the robot is acquired, and if the external force value exceeds a first external force value threshold, control is performed to notify a warning that the external force value has exceeded the first external force value threshold, and control is performed to keep the robot running. The robot system according to claim 1, wherein when the external force value exceeds a second external force value threshold which is greater than the first external force value threshold, and when it is identified that this is a collision between the robot and the object, the system performs control to notify the collision between the robot and the object, and controls the robot to stop or to perform an avoidance maneuver.

7. The robot system according to claim 1, wherein the control unit performs control to acquire an external force value acting on the robot by comparing the detected torque value with a reference torque value calculated from the current value of a motor provided at a predetermined joint, in an operation in which the hand holds and moves the workpiece.

8. The robot system according to claim 7, wherein the control unit performs control to acquire as an external force value acting on the robot a second value obtained by dividing the difference between the detected torque value and the reference torque value by the radius from the rotation axis of the predetermined joint to a monitoring point set on the surface of the robot, and converting the first value obtained by dividing by the radius by the radius from the rotation axis of the predetermined joint to a monitoring point set on the surface of the robot, based on the angle between the tangential direction of the circle having the radius at the monitoring point and the normal direction to the surface of the robot on which the monitoring point is set, as an external force value acting on the robot.

9. The robot system according to claim 1, wherein the robot is a robot that performs work in the same space as a human.

10. The robot system according to claim 1, wherein the robot is a robot that, in logistics, holds and moves items of different masses as workpieces using the hand.

11. The robot system according to claim 1, wherein the control unit performs control to distinguish between a collision between the robot and the object and the holding of the workpiece by the hand by pattern matching a detection waveform representing a time change or position change of the detected torque value with a reference waveform in the case of a collision between the robot and the object and a reference waveform in the case of holding the workpiece by the hand.

12. A method for controlling a robot system comprising a robot with multiple joints and a hand for holding a workpiece, To detect the detected torque value around the rotation axis of a predetermined joint among the aforementioned plurality of joints, A method for controlling a robot system, comprising: in an operation in which the hand holds and moves the workpiece, the method for identifying a collision between the robot and an object and the holding of the workpiece by the hand based on the time change or position change of the detected torque value.

Citation Information

Patent Citations

  • Robot system and robot control method

    JP7063352B2