Robot system and method for controlling robot system
The robot system uses torque and position analysis to accurately distinguish between collisions and workpiece holding, enhancing safety and reliability by differentiating these events effectively.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-07-10
- Publication Date
- 2026-03-12
AI Technical Summary
Existing robot systems struggle to accurately distinguish between collisions with objects and the holding of workpieces of varying masses, leading to potential misinterpretation and malfunction.
A robot system equipped with torque detection units at its joints and a control unit that analyzes changes in detected torque over time and position to differentiate between collisions and workpiece holding, using a combination of torque and position data to accurately identify these events.
Enables precise differentiation between collisions and workpiece holding, even with varying masses, preventing unnecessary stoppages and ensuring safe operation.
Smart Images

Figure JP2025024811_12032026_PF_FP_ABST
Abstract
Description
ROBOT SYSTEM AND METHOD FOR CONTROLLING ROBOT SYSTEM
[0001] The present disclosure relates to a robotic system and a method for controlling a robotic system.
[0002] 2. Description of the Related Art Conventionally, a robot system has been known, and one such robot system is disclosed in Japanese Patent No. 7063352, for example.
[0003] The above-mentioned Japanese Patent Publication No. 7063352 discloses a robot system including a robot and a robot controller that controls the robot. The robot is a vertical articulated robot with an end effector attached to its tip. The robot performs a task of transferring a workpiece from a first container to a second container using the end effector. Each of the robot's joints is provided with a torque sensor that detects actual joint torque. The robot controller calculates an external force by subtracting a calculated joint torque, which is calculated based on setting information of the end effector, from the actual joint torque. The robot controller also identifies a collision between the robot and an object by comparing the calculated external force with a threshold value.
[0004] Furthermore, when performing an operation to transfer a workpiece from a first container to a second container using an end effector, the actual joint torque may fluctuate significantly during the operation depending on the nature of the workpiece and the type of operation. In this case, even though the robot does not actually collide with the object, it may be determined that the robot has collided with the object, causing the robot to stop or otherwise malfunction. For this reason, when the end effector moves to a predetermined position, the robot controller switches the end effector setting information used to calculate the calculated joint torque from the first setting information to the second setting information, which has a larger mass than the first setting information. This calculates a larger calculated joint torque than when using the first setting information, thereby preventing the robot from stopping or otherwise malfunctioning.
[0005] Patent No. 7063352
[0006] However, in a configuration in which the setting information of the end effector is switched, as in the robot system described in the above-mentioned Japanese Patent No. 7063352, it is difficult to set appropriate setting information when handling workpieces of various masses, which poses a problem in that it is not possible to accurately distinguish between a collision between the robot and an object and the holding of a workpiece by the end effector as a hand.
[0007] This disclosure has been made to solve the above-mentioned problems, and aims to provide a robot system and a control method for a robot system that can accurately distinguish between a collision between the robot and an object and the holding of a workpiece by a hand, even when handling workpieces of various masses.
[0008] A robot system according to a first aspect of this disclosure includes a robot including a plurality of joints and a hand that holds a workpiece, a torque detection unit that is disposed at a predetermined joint among the plurality of joints and that detects a torque value about a rotation axis of the predetermined joint, and 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 a change over time or a change in position of the detected torque value during an operation in which the hand holds and moves a workpiece. Note that in this specification, a collision between the robot and an object is a broad concept that includes a collision between the hand of the robot and the object, and a collision between a workpiece held by the hand of the robot and the 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 a workpiece by the hand based on a change in detected torque over time or a change in position during an operation in which the hand holds and moves a workpiece. This makes it possible to distinguish between a collision between the robot and an object and the holding of a workpiece by the hand by taking advantage of the fact that the change in detected torque over time or the change in position is significantly different between a collision between the robot and an object and the holding of a 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 a 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 equipped with a robot including a plurality of joints and a hand that holds a workpiece, and includes detecting a detected torque value around a rotation axis of a predetermined joint among the plurality of joints, and, in an operation of holding and moving a workpiece with the hand, distinguishing between a collision between the robot and an object and holding of the workpiece by the hand based on a change in the detected torque value over time or a change in position.
[0011] In a robot system control method according to a second aspect of this disclosure, as described above, during an operation in which a workpiece is held and moved by a hand, a collision between the robot and an object and the hand holding the workpiece are distinguished based on a change in detected torque value over time or a change in position. This makes it possible to distinguish between a collision between the robot and an object and the hand holding the workpiece by taking advantage of the fact that the change in detected torque value over time or the change in position is significantly different between a collision between the robot and an object and the hand holding the workpiece. As a result, a robot system control method can be provided that can accurately distinguish between a collision between the robot and an object and the hand holding the workpiece, even when handling workpieces of various masses.
[0012] According to the present disclosure, as described above, 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 a workpiece by the hand.
[0013] FIG. 1 is a diagram showing a robot system according to an embodiment; FIG. 2 is a block diagram showing a robot according to an embodiment; FIG. 3 is a diagram for explaining acquisition of external force values in a robot system according to an embodiment; FIG. 4 is a diagram for explaining changes over time in detected torque values and theoretical torque values in a case where a workpiece is not being held and in a case where a workpiece is being held according to an embodiment; FIG. 5 is a diagram for explaining discrimination between a collision between a robot and an object and holding of a workpiece by a hand in a robot system according to an embodiment; FIG. 6 is a diagram for explaining changes over time in torque values based on detected torque values and motor current values in a case where a workpiece is being held according to an embodiment; FIG. 7 is a flowchart for explaining control processing for discriminating between a collision between a robot and an object and holding of a workpiece by a hand in a robot system according to an embodiment; and FIG. 8 is a diagram for explaining discrimination between a collision between a robot and an object and holding of a workpiece by a hand in a robot system according to a modified embodiment.
[0014] Hereinafter, embodiments embodying the present disclosure will be described with reference to the drawings.
[0015] (Configuration of Robot System) The configuration of a robot system 100 according to one embodiment will be described with reference to Figures 1 to 6. As shown in Figure 1, the robot system 100 is a system that performs work using a robot 10. The robot system 100 includes the robot 10, a control unit 20, and a teaching unit 30.
[0016] The robot 10 is a robot that works in the same space as humans. For example, the robot 10 is a collaborative robot or a service robot. The robot 10 is used without a safety fence or the like. The robot 10 is also a robot that holds and moves workpieces W. Specifically, the robot 10 is a robot that holds and moves items of different masses, such as workpieces W, in logistics using a hand 15. For example, the robot 10 performs a palletizing operation in which items such as cardboard boxes are moved onto a pallet, and a depalletizing operation in which items such as cardboard boxes placed on a pallet are moved from the pallet. The robot 10 handles workpieces W of various masses.
[0017] 1 and 2 , the robot 10 is a six-axis vertical articulated robot. The robot 10 includes a base 11, a plurality of links 12, a plurality of joints 13, a plurality of torque detectors 14, and a hand 15.
[0018] The base 11 is fixed to an installation surface such as a floor surface by fastening members such as bolts.
[0019] The multiple links 12 include links 12a, 12b, 12c, 12d, 12e, and 12f. The links 12a, 12b, 12c, 12d, 12e, and 12f are arranged in this order from the base end to the tip end. The multiple joints 13 include joints 13a, 13b, 13c, 13d, 13e, and 13f. The joints 13a, 13b, 13c, 13d, 13e, and 13f are arranged in this order from the base end to the tip end.
[0020] Joint 13a is disposed at the connection between base 11 and link 12a. Joint 13a is configured to rotate link 12a relative to base 11 about a rotation axis A1 in the vertical direction. Joint 13b is disposed at the connection between links 12a and 12b. Joint 13b is configured to rotate link 12b relative to link 12a about a rotation axis A2 that is perpendicular to the rotation axis A1. Joint 13c is disposed at the connection between links 12b and 12c. Joint 13c is configured to rotate link 12c relative to link 12b about a rotation axis A3 that is parallel to the rotation axis A2.
[0021] Joint 13d is disposed at the connection between link 12c and link 12d. Joint 13d is configured to rotate link 12d relative to link 12c about rotation axis A4, which is perpendicular to rotation axis A3. Joint 13e is disposed at the connection between link 12d and link 12e. Joint 13e is configured to rotate link 12e relative to link 12d about rotation axis A5, which is perpendicular to rotation axis A4. Joint 13f is disposed at the connection between link 12e and link 12f. Joint 13f is configured to rotate link 12f relative to link 12e about rotation axis A6, which is perpendicular to rotation axis A5. As a result, joint 13f is configured to rotate the hand 15 attached to link 12f relative to link 12f about rotation axis A6.
[0022] Each of the joints 13 a, 13 b, 13 c, 13 d, 13 e, and 13 f is provided with a motor 131, a reducer 132, and an encoder 133. The motor 131 is a drive source that drives the joint 13, and is configured as a servo motor. The reducer 132 is configured to reduce the rotation speed of the motor 131 and transmit the driving force of the motor 131 to the link 12. The encoder 133 is configured to output information on the rotation position of the motor 131.
[0023] The torque detection units 14 are torque sensors and are arranged at all of the joints 13. Specifically, the torque detection units 14 include torque detection units 14a, 14b, 14c, 14d, 14e, and 14f arranged at the joints 13a, 13b, 13c, 13d, 13e, and 13f, respectively.
[0024] The torque detection unit 14a is configured to detect a detected torque value around the rotation axis A1 of the joint 13a. The torque detection unit 14b is configured to detect a detected torque value around the rotation axis A2 of the joint 13b. The torque detection unit 14c is configured to detect a detected torque value around the rotation axis A3 of the joint 13c. The torque detection unit 14d is configured to detect a detected torque value around the rotation axis A4 of the joint 13d. The torque detection unit 14e is configured to detect a detected torque value around the rotation axis A5 of the joint 13e. The torque detection unit 14f is configured to detect a detected torque value around the rotation axis A6 of the joint 13f.
[0025] The hand 15 is configured to hold a workpiece W that is to be operated on. For example, the hand 15 is a hand that grips the workpiece W or a hand that sucks the workpiece W. The hand 15 is also called a tool or an 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 instruction unit 30, and to operate the robot 10 based on the acquired instructions. Furthermore, when the robot 10 performs a task, the robot 10 may collide with an object present in the vicinity of the robot 10, such as a human, another robot, or a workpiece W other than the workpiece W to be worked on, and an external force may act on the robot 10. Therefore, as described below, the control unit 20 is configured to perform control to acquire an external force value acting on the robot 10.
[0027] The teaching unit 30 is a teaching pendant and is configured to receive operations for teaching the robot 10 to operate. The teaching unit 30 includes a display unit 31 that displays information such as information related to the teaching, and an operation unit 32 that receives operations related to the teaching.
[0028] (Acquisition of External Force Value) 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 Fig. 3, the control unit 20 obtains a value P obtained by dividing 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 a monitoring point 40 set on the surface of the robot 10. i is converted into a value of the normal direction based on the angle θ between the tangent direction at the monitoring point 40 of the circle having a radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i is configured to perform control to acquire the external force acting on the robot 10. More specifically, the control unit 20 i =P i / cosθ, the value Pa i The reference torque value is a theoretical torque value or a torque value calculated from the current value of the motor 131. The theoretical torque value is a theoretical torque value calculated based on the position and posture 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. 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. The value P i is an example of the first value. i is an example of the second value.
[0029] 3 shows an example of acquiring an external force value for the joint 13b. In this case, the control unit 20 performs control to acquire a detected torque value detected by the torque detection unit 14b. The control unit 20 then performs control to acquire, as a reference torque value, a theoretical torque value for the joint 13b calculated based on the position and posture of the robot 10 based on the teachings and the value of the encoder 133, or a torque value calculated from the current value of the motor 131 of the joint 13b. The control unit 20 then performs control to acquire a difference value between the acquired detected torque value and the reference torque value. The control unit 20 then divides the acquired difference value by the radius R from the rotation axis A2 of the joint 13b to a monitoring point 40 set on the surface of the link 12b that is rotationally moved by the joint 13b, to obtain a value Pi Then, the control unit 20 performs control to acquire the value P based on the angle θ formed by the tangent direction at the monitoring point 40 of the circle centered on the rotation axis A2 of the joint 13b and the normal direction to the surface of the link 12b on which the monitoring point 40 is set. i The value Pa i That is, the control unit 20 performs control to convert Pa i =P i / cosθ, the value Pa i Since 0<cosθ<1, Pa i Is P i In this way, the control unit 20 sets the value Pa as the external force value. i The value P representing the tangential force at the monitoring point 40 is obtained. i is converted based on the angle θ, the value Pa as an external force value i is obtained as a result of combining the tangential and radial forces at the monitoring point 40.
[0030] While an example of acquiring an external force value for joint 13b has been described, the same applies to joints 13a, 13c, 13d, 13e, and 13f. For joint 13f, a monitoring point 40 is set on the surface of hand 15 that is rotationally moved by joint 13b. For example, if hand 15 has a suction pad, monitoring point 40 is set on the surface of the suction pad.
[0031] The monitoring point 40 is set at any position on the surface of the robot 10, not at a fixed position. For example, the monitoring point 40 is set at any position specified by a user. Also, for example, the monitoring point 40 is set at any position before the robot 10 is shipped. Also, for example, the monitoring point 40 is set based on a risk assessment that estimates the risk of the robot 10. For example, based on the risk assessment, the monitoring point 40 is set at a position with the smallest radius R among positions on the surface of the robot 10 that can be contacted by an object that applies an external force to the robot 10. The smaller the radius R, the larger the external force value that is acquired. Therefore, by setting the monitoring point 40 so that the radius R is smaller, it is possible to avoid the external force being acquired as being too small.
[0032] 4 shows a graph of the changes over time in the detected torque value and the theoretical torque value when the hand 15 is not holding the workpiece W and when the hand 15 is holding the workpiece W. In the graph, the horizontal axis represents time and the vertical axis represents torque.
[0033] When the workpiece W is not held by the hand 15, the detected torque value and the theoretical torque value are approximately equal. 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 an increase in the torque value due to the mass of the workpiece W, while the theoretical torque value does not reflect an increase in the 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 operation of holding the workpiece W by the hand 15, such as a transport operation in which the hand 15 transports the workpiece W held by the hand 15 and a release operation in which the hand 15 releases the workpiece W held by the hand 15.
[0034] In this way, when the hand 15 holds and moves the workpiece W, the detected torque value increases due to the mass of the workpiece W, and there is a risk that a collision between the robot 10 and an object will 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 an object and the holding of the workpiece W by the hand 15.
[0035] 5 , in the present embodiment, 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 the workpiece W by the hand 15, based on a change over time in 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 a holding operation of holding the workpiece W with the hand 15, a transport operation of transporting the workpiece W held by the hand 15, and a release operation of releasing the workpiece W held by the hand 15. The collision between the robot 10 and an object also includes a collision between the hand 15 of the robot 10 and an object, and a collision between the workpiece W held by the hand 15 of the robot 10 and an object.
[0036] In this embodiment, the control unit 20 calculates the time change τ of the detected torque value. ext is the change threshold τ th If the torque does not exceed the predetermined torque, it is determined that the workpiece W is being held by the hand 15, and the time change amount τ of the detected torque value is ext is the change threshold τ th If the time change amount τ exceeds the time change amount τ, the robot 10 is controlled to identify the collision as occurring between the robot 10 and the object. ext is the amount of change in the detected torque value over a time span t. For example, the time span t is the time span of one period of the cycle time of the control unit 20 as a robot controller, which is about 1 ms. th can be obtained in advance by experiment or the like 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. In other words, in the case of a collision between the robot 10 and an object, the amount of change in the detected torque value over time τ ext is larger than when the workpiece W is held by the hand 15. Therefore, the time change τ of the detected torque value ext and the change threshold τ thBy comparing these, it is possible to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15.
[0038] In this embodiment, the control unit 20 calculates a value Pa as an external force value acting on the robot 10 based on the detected torque value. i and the external force value Pa i When the external force value threshold value Th is exceeded, the control unit 20 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 change in the detected torque value over time. i When the external force value exceeds the threshold value Th, the time change amount τ of the detected torque value ext and the change threshold τ th The external force threshold value Th is determined by, for example, ISO / TS15066.
[0039] Furthermore, in this embodiment, when the control unit 20 identifies a collision between the robot 10 and an object, the control unit 20 is configured to control the robot 10 to stop or to perform an avoidance action. Stopping the robot 10 means stopping the movement of each joint 13 of the robot 10. Performing an avoidance action on the robot 10 means controlling the movement of the robot 10 so as to avoid an increase in the external force acting on the robot 10 by driving each joint 13 of the robot 10, for example, by operating the robot 10 in a direction that reduces the external force acting on the robot 10.
[0040] In this embodiment, the control unit 20 is configured to perform control to notify the robot 10 of the collision between the robot 10 and the object when the control unit 20 identifies the collision between the robot 10 and the object. Specifically, the control unit 20 is configured to perform at least one of illuminating a light-emitting unit such as an LED disposed on the robot 10 and displaying a message notifying the collision on the display unit 31 of the teaching unit 30.
[0041] In this embodiment, as shown in FIG. 6, in the operation of holding and moving the workpiece W by the hand 15, the control unit 20 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 a value Pa as an external force value acting on the robot 10. i That is, 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 Pa i =P i / cosθ, the value Pa i The control unit 100 is configured to perform control to acquire the above information.
[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 indicates a value closer to the detected torque value than the theoretical torque value, but 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 reducer 132, so there is a time delay before the actual torque is reflected in the current value. Because 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 be compared with the detected torque value.
[0043] Furthermore, the control unit 20 compares the detected torque value with a reference torque value, which is a theoretical torque value, during an operation in which the workpiece W is not held by the hand 15, to determine a value Pa as an external force value acting on the robot 10. i That is, in an operation in which the hand 15 does not hold 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 Pa i =P i / cosθ, the value Pa iIn an operation in which the hand 15 holds and moves the workpiece W, the external force value may be obtained using the detected torque value and a reference torque value which is a theoretical torque value, or in an operation in which the hand 15 does not hold the workpiece W, the external force value may be obtained using the detected torque value and a reference torque value calculated from the current value of the motor 131.
[0044] 7, a control process for distinguishing between a collision between the robot 10 and an object and holding of the workpiece W by the hand 15 in the robot system 100 according to this embodiment will be described based on a flowchart. Note that each process in the flowchart is executed by the control unit 20 when the hand 15 is performing an operation of 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 to obtain a value P i is converted into a value of the normal direction based on the angle θ between the tangent direction at the monitoring point 40 of the circle having a radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i is acquired as the external force value acting on the robot 10. Specifically, Pa i =P i / cosθ, the value Pa i In step S1, the value Pa is obtained for each of the plurality of joints 13. i is obtained.
[0046] Then, in step S2, the value Pa i In step S2, it is determined whether or not the value Pa exceeds the external force threshold value Th. i It is determined whether or not the value Pa exceeds the external force threshold value Th. i If it is determined that the external force value threshold value Th does not exceed the external force value threshold value Th, the control process is terminated. iIf it is determined that the external force value exceeds the external force threshold value Th, the process proceeds to step S3.
[0047] Then, in step S3, a collision between the robot 10 and an object and holding of the workpiece W by the hand 15 are distinguished based on the change over time of the detected torque value. Specifically, the time change amount τ of the detected torque value is ext is the change threshold τ th In step S3, it is determined whether the value Pa i For the joint 13 where it is determined that the external force value threshold Th has exceeded, the time change τ of the detected torque value ext is the change threshold τ th It is determined whether the value Pa i For all of the joints 13 in which it is determined that the external force value exceeds the external force threshold value Th, the time change τ of the detected torque value ext is the change threshold τ th If it is determined that the difference does not exceed the threshold, the process proceeds to step S4.
[0048] Then, in step S4, it is identified that the workpiece W is being held by the hand 15. Furthermore, the operation of the robot 10 is continued without stopping the robot 10 or causing the robot 10 to perform an avoidance operation.
[0049] Also, in step S3, the value Pa i For at least one of the joints 13 determined to have exceeded the external force value threshold Th, the time change τ of the detected torque value ext is the change threshold τ th If it is determined that the time has exceeded the limit, the process proceeds to step S5.
[0050] Then, in step S5, it is identified as a collision between the robot 10 and the object. Furthermore, the collision between the robot 10 and the object is notified. For example, at least one of the following is performed: illuminating a light-emitting unit such as an LED disposed on the robot 10; and displaying a message notifying the collision on the display unit 31 of the teaching unit 30. Furthermore, the robot 10 is stopped, or the robot 10 is made to perform an avoidance operation.
[0051] (Effects of the Present Embodiment) In the present embodiment, as described above, in the operation of holding and moving a 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 a workpiece W by the hand 15, based on the change over time 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 a workpiece W by the hand 15, by utilizing the fact that the change over time of the detected torque value is significantly different between a collision between the robot 10 and an object and the holding of a 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 a workpiece W by the hand 15.
[0052] In this embodiment, as described above, the control unit 20 calculates the time change τ of the detected torque value. ext is the change threshold τ th If the torque does not exceed the predetermined torque, it is determined that the workpiece W is being held by the hand 15, and the time change amount τ of the detected torque value is ext is the change threshold τ th If the torque exceeds the predetermined value, the robot 10 is controlled to recognize that the collision is between the robot 10 and the object. ext is larger than when the workpiece W is held by the hand 15, the change amount threshold value τ th Using this, it is possible to easily and accurately distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15.
[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, 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 change over time of the detected torque value. As a result, when there is a possibility that a collision between the robot 10 and an object has occurred due to an increase in the external force value acting on the robot 10, control can be performed to distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15. 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 operation, thereby preventing a large load from being applied to the object that has collided with the robot 10.
[0055] Furthermore, in this embodiment, as described above, when the control unit 20 identifies that a collision has occurred between the robot 10 and an object, it performs control to notify the worker of the collision between the robot 10 and the object. This allows the worker to know that a collision has occurred between the robot 10 and the object, and therefore allows the worker to quickly deal with the occurrence of the collision between the robot 10 and the object.
[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 during the operation of holding and moving the workpiece W with the hand 15 by comparing the detected torque value with the reference torque value calculated from the current value of the motor 131 provided at the predetermined joint 13. This makes it possible to compare the detected torque value, which quickly reflects torque changes, with 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, and therefore makes it possible to acquire the external force value acting on the robot 10 with high accuracy.
[0057] 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 the predetermined joint 13 to the monitoring point 40 set on the surface of the robot 10 to obtain a value P i is converted into a value of the normal direction based on the angle θ between the tangent direction at the monitoring point 40 of the circle having a radius R and the normal direction to the surface of the robot 10 on which the monitoring point 40 is set. i is acquired as the external force value acting on the robot 10. As a result, a value P i As a result, it is possible to obtain an external force value that is a composite of the tangential force and the radial force at the monitoring point 40, and therefore it is not the case that only the tangential force at the monitoring point 40 is taken into consideration and the radial force at the monitoring point 40 is ignored. As a result, it is possible to avoid obtaining an external force value that is too small.
[0058] Furthermore, in this embodiment, as described above, the robot 10 is a robot 10 that works in the same space as humans. Here, when the robot 10 and humans work in the same space, there is a possibility that the robot 10 and the humans may collide. Therefore, when the robot 10 is a robot 10 that works in the same space as humans, it is very effective to be able to distinguish between a collision between the robot 10 and an object and holding of the workpiece W by the hand 15.
[0059] Furthermore, in this embodiment, as described above, the robot 10 is a robot 10 that holds and moves objects of different masses as workpieces W in logistics using the hand 15. Here, when the robot 10 holds and moves objects using the hand 15 in logistics, it is necessary to handle objects of various masses. For this reason, it is very effective for the robot 10 that holds and moves objects of different masses as workpieces W in logistics using the hand 15 to be able to accurately distinguish between a collision between the robot 10 and an object and the holding of the workpiece W by the hand 15, even when handling workpieces W of various masses.
[0060] (Modifications) The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not by the description of the above-mentioned embodiments, and further includes all modifications (modifications) within the meaning and scope equivalent to the claims.
[0061] For example, in the above embodiment, an example was shown in which the robot was a six-axis vertical articulated robot, but the present disclosure is not limited to this. In the present disclosure, the robot may be a seven-axis or eight-axis vertical articulated robot other than the six-axis. Furthermore, the robot may be a robot other than a vertical articulated robot. For example, the robot may be a horizontal articulated robot.
[0062] In addition, in the above embodiment, an example was shown in which the robot works in the same space as humans, but the present disclosure is not limited to this. In the present disclosure, the robot may be a robot other than a robot that works in the same space as humans.
[0063] In addition, in the above embodiment, an example was shown in which the robot is a robot that holds and moves objects with different masses as workpieces in logistics using its hands, but the present disclosure is not limited to this. In the present disclosure, the robot may be a robot other than a robot that holds and moves objects with different masses as workpieces in logistics using its hands.
[0064] In the above embodiment, an example has been described in which the control unit serving as the robot controller performs control to acquire the external force value, but the present disclosure is not limited to this. In the present disclosure, a control unit other than the robot controller may perform control to acquire the external force value.
[0065] Furthermore, in the above embodiment, an example was described in which a collision between a robot and an object and holding of a workpiece by a hand were distinguished based on changes in the detected torque value over time during an operation in which a hand holds and moves a workpiece. However, the present disclosure is not limited to this. In the present disclosure, a collision between a robot and an object and holding of a workpiece by a hand may also be distinguished based on changes in the position of the detected torque value during an operation in which a hand holds and moves a workpiece. 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 distinguishing based on position change, holding of a workpiece by a hand may be distinguished when the amount of position change in the detected torque value does not exceed a change amount threshold, and a collision between a robot and an object may be distinguished when the amount of position change in the detected torque value exceeds the change amount threshold. By replacing the time on the horizontal axis of the graph in FIG. 5 in the above embodiment with a position that changes over time, it can be seen that a collision between a robot and an object and holding of a workpiece by a hand can also be distinguished based on position change, similar to the changes over time in the above embodiment.
[0066] Furthermore, in the above embodiment, an example was shown in which a collision between the robot and an object and holding of a workpiece by the hand were distinguished by determining whether the amount of change over time in the detected torque value exceeds a change amount threshold, but the present disclosure is not limited to this. For example, in the modified example shown in Fig. 8, the control unit 20 is configured to perform control to distinguish between a collision between the robot 10 and an object and holding of a workpiece W by the hand 15 by pattern matching a detected waveform representing the change over time in the detected torque value with a reference waveform in the case of a collision between the robot 10 and an object and a reference waveform in the case of holding of a workpiece W by the hand 15. The reference waveform in the case of a collision between the robot 10 and an object and the reference waveform in the case of holding of a workpiece W by the hand 15 are acquired in advance and stored in the control unit 20. Furthermore, the control unit 20 uses a value Pa as an external force value. iThe control is configured to acquire, as the detected waveform, a waveform that represents the change in the detected torque value over time from the point at which the external force exceeds the external force threshold value Th to a point at a certain time before. Note that, when performing pattern matching, the position change in the detected torque value may be used instead of the change in the detected torque value over time.
[0067] Furthermore, in the above embodiment, an example was described in which a collision between the robot and an object is notified when the external force value exceeds the external force value threshold and the collision is identified as between the robot and an object. However, the present disclosure is not limited to this. For example, the control unit may be configured to acquire an external force value acting on the robot based on the detected torque value, and, when the external force value exceeds a first external force value threshold, to control the robot to issue a warning indicating that the external force value has exceeded the first external force value threshold and to control the robot to continue operating. In this case, the control unit may be configured to control the robot to issue a warning when the external force value exceeds a second external force value threshold greater than the first external force value threshold and to control the robot to stop or perform an evasive action when the external force value exceeds a second external force value threshold greater than the first external force value threshold and to identify the collision as between the robot and an object. With this configuration, in the case of a warning, it is possible to notify the worker that a situation that may lead to an abnormality has occurred. Furthermore, in the case of a warning, it is possible to continue the operation of the robot, thereby suppressing a decrease in the robot's availability. Furthermore, in the case of a collision, it is possible to notify the worker that a collision has occurred, allowing the worker to quickly deal with the collision. Furthermore, in the event of a collision, the robot is stopped or made to take evasive action, thereby preventing a large load from being applied to the object that collides with the robot.
[0068] In the above embodiment, Pa i =P i Although an example of obtaining an external force value using the formula Pa / cos θ has been shown, the present disclosure is not limited to this. i =P i The external force value may be obtained using an equation other than / cos θ.
[0069] In the above embodiment, an example is shown in which the monitoring point is set at an arbitrary position on the surface of the robot, but the present disclosure is not limited to this. In the present disclosure, the monitoring point may be set at a fixed position on the surface of the robot.
[0070] In addition, although the above embodiment shows an example in which torque detectors are disposed in all of the multiple joints, the present disclosure is not limited to this. In the present disclosure, the torque detector may be disposed in at least one of the multiple joints.
[0071] In the above embodiment, the detected torque value may be a value that has been subjected to processing such as moving average or removal of outliers.
[0072] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, special-purpose 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 circuitry. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor.
[0073] Aspects It will be appreciated by those skilled in the art that the exemplary embodiments described above are examples of the following aspects.
[0074] (Aspect 1) A robot system comprising: a robot including a plurality of joints and a hand that holds a workpiece; a torque detection unit that is disposed at a predetermined joint among the plurality of joints and detects a detected torque value around a rotation axis of the predetermined joint; and a control unit that, during an operation in which the hand holds and moves the workpiece, performs control to distinguish between a collision between the robot and an object and the hand holding the workpiece, based on a change in the detected torque value over time or a change in position.
[0075] (Aspect 2) In the robot system according to aspect 1, the control unit performs control to identify that the hand is holding the workpiece when the amount of change over time or the amount of change in the position of the detected torque value does not exceed a change threshold, and to identify that the robot is colliding with the object when the amount of change over time or the amount of change in the position of the detected torque value exceeds a change threshold.
[0076] (Aspect 3) In the robot system according to Aspect 1 or Aspect 2, 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, performs control to distinguish between a collision between the robot and the object and holding of the workpiece by the hand based on a change over time or a change in position of the detected torque value.
[0077] (Aspect 4) The robot system according to any one of Aspects 1 to 3, wherein the control unit controls the robot to stop or to perform an avoidance operation when it identifies a collision between the robot and the object.
[0078] (Aspect 5) In the robot system according to aspect 4, the control unit performs control to notify the user of the collision between the robot and the object when the control unit identifies the collision as being between the robot and the object.
[0079] (Aspect 6) The robot system according to any one of Aspects 1 to 5, wherein the control unit acquires an 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, controls to issue a warning that the external force value has exceeded the first external force value threshold and controls the robot to continue operating; and, if the external force value exceeds a second external force value threshold that is greater than the first external force value threshold and identifies a collision between the robot and the object, controls to issue a warning of the collision between the robot and the object and controls to stop the robot or to perform an avoidance operation.
[0080] (Aspect 7) The robot system according to any one of Aspects 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 a current value of a motor provided at the predetermined joint during an operation of holding and moving the workpiece with the hand.
[0081] (Aspect 8) The robot system described in Aspect 7, wherein the control unit performs control to acquire, as an external force value acting on the robot, a second value obtained by converting a first value obtained by dividing a difference value between the detected torque value and the reference torque value by a radius from the rotation axis of the specified joint to a monitoring point set on the surface of the robot, and converting the first value into a normal direction value based on an angle formed between a tangent direction at the monitoring point of a circle having the radius and a 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 Aspects 1 to 8, wherein the robot is a robot that performs work in the same space as humans.
[0083] (Aspect 10) The robot system according to any one of Aspects 1 to 9, wherein the robot is a robot that holds and moves objects having different masses as the workpieces in a logistics process using the hand.
[0084] (Aspect 11) In the robot system according to aspect 1, the control unit performs control to distinguish between a collision between the robot and the object and holding of the workpiece by the hand by pattern matching a detected 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 of the workpiece by the hand.
[0085] (Aspect 12) A control method for a robot system equipped with a robot including a plurality of joints and a hand that holds a workpiece, the control method comprising: detecting a detected torque value around a rotation axis of a predetermined joint among the plurality of joints; and, during an operation in which the hand holds and moves the workpiece, distinguishing between a collision between the robot and an object and the hand holding the workpiece based on a change in the detected torque value over time or a change in position.
[0086] 10 Robot 13 Joint 14 Torque detection unit 15 Hand 20 Control unit 100 Robot system 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 value W Work θ Angle τ ext Time change of detected torque value τ th Change Threshold
Claims
1. A robot system comprising: a robot including a plurality of joints and a hand that holds a workpiece; a torque detection unit that is arranged at a predetermined joint among the plurality of joints and detects a detected torque value around the rotation axis of the predetermined joint; and a control unit that, during an operation in which the hand holds and moves the workpiece, performs control to distinguish between a collision between the robot and an object and the hand holding the workpiece, based on changes in the detected torque value over time or changes in position.
2. The robot system of claim 1, wherein the control unit performs control to identify that the hand is holding the workpiece when the amount of change over time or the amount of change in the position of the detected torque value does not exceed the change threshold, and to identify that a collision has occurred between the robot and the object when the amount of change over time or the amount of change in the position of the detected torque value exceeds the change threshold.
3. The robot system of 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, performs control to distinguish between a collision between the robot and the object and the hand holding the workpiece based on changes in the detected torque value over time or position.
4. The robot system of claim 1, wherein the control unit controls the robot to stop or to take evasive action when it identifies a collision between the robot and the object.
5. The robot system according to claim 4, wherein the control unit performs control to notify the user of a collision between the robot and the object when the control unit identifies the collision as being between the robot and the object.
6. 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, if the external force value exceeds a first external force value threshold, controls to issue a warning that the external force value has exceeded the first external force value threshold and controls the robot to continue operating, and, if the external force value exceeds a second external force value threshold that is greater than the first external force value threshold and identifies a collision between the robot and the object, controls to issue a warning of the collision between the robot and the object and controls to stop the robot or to perform an evasive action.
7. A robot system as described in claim 1, wherein the control unit performs control to obtain 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 the specified joint during the operation of holding and moving the workpiece with the hand.
8. The robot system described in claim 7, wherein the control unit performs control to acquire, as an external force value acting on the robot, a second value obtained by converting a first 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 specified joint to a monitoring point set on the surface of the robot, and converting the first value into a normal direction value based on the angle formed by the tangent 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.
9. The robot system according to claim 1, wherein the robot performs work in the same space as humans.
10. The robot system according to claim 1, wherein the robot is a robot that uses the hand to hold and move objects having different masses as the workpieces in logistics.
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 hand holding the workpiece by pattern matching a detected waveform representing a change in time or position 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 the hand holding the workpiece.
12. A control method for a robot system equipped with a robot including a plurality of joints and a hand that holds a workpiece, the control method comprising: detecting a detected torque value around a rotation axis of a predetermined joint among the plurality of joints; and, during an operation in which the hand holds and moves the workpiece, distinguishing between a collision between the robot and an object and the hand holding the workpiece based on a change in the detected torque value over time or a change in position.
Citation Information
Patent Citations
Control device and robot system
JP2020069552A
Robot system
JP2021137898A
Workpiece takeout device, workpiece takeout method, program, and control device
JP2023073828A