Robot control device, robot system, and robot control program

WO2025046809A1PCT designated stage expired Publication Date: 2025-03-06FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/031577
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-06

Smart Images

  • Figure JP2023031577_06032025_PF_FP_ABST
    Figure JP2023031577_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a robot control device capable of easily estimating the weight and / or center-of-gravity position of an object. This robot control device comprises an external force calculation unit, an estimation unit, and a determination unit, the robot control device controlling a robot so as to perform a prescribed process on an object. The external force calculation unit calculates external force on the basis of the output of a torque sensor provided to the robot, and the estimation unit estimates the weight and / or center-of-gravity position of the object on the basis of the calculated external force. The determination unit determines whether estimation carried out by the estimation unit is possible on the basis of the calculated external force. When it is determined that estimation carried out by the estimation unit is not possible on the basis of the calculated external force, the determination unit changes the orientation of the robot and performs calculations carried out by the external force calculation unit and estimation carried out by the estimation unit.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control device, robot system, and robot control program

[0001] The present disclosure relates to a robot control device, a robot system, and a robot control program.

[0002] In recent years, various robots have been used in various industries. An object (load), such as a hand or a tool, is attached to the tip of a movable part, such as an arm, of such a robot. Recognizing the weight and center of gravity of the object is important for controlling the robot with precision. Here, the object whose weight / center of gravity (at least one of the weight and center of gravity) is to be recognized may include, for example, a workpiece on which a predetermined task is to be performed by the robot.

[0003] A conventional technique is known in which a torque sensor is provided on the rotation axis of a robot arm to which an object is attached, the robot is made to assume multiple postures, and the torque of the rotation axis is measured to estimate the weight / center of gravity of the object. Furthermore, a conventional technique is also known in which torque sensors are provided on multiple rotation axes of an arm, without making the robot assume multiple postures, and the weight / center of gravity of the object is estimated based on the torque measured by each torque sensor.

[0004] JP 2011-235374 A JP 2023-000941 A JP 2020-151812 A

[0005] As described above, conventionally, there are known techniques for estimating the weight and center of gravity of an object by having a robot assume multiple postures. However, for example, when a robot is used as a means for transporting workpieces in a logistics system or the like, the weight and center of gravity of each workpiece transported by the robot often differ from one workpiece to another, and the weight and center of gravity of each workpiece must be estimated each time the robot holds the workpiece. As a result, estimating the weight and center of gravity of each workpiece takes a long time, making practical application difficult.

[0006] Furthermore, there are known techniques for estimating the weight and center of gravity of an object without forcing the robot to assume multiple postures, but these generally impose restrictions on the robot's posture. For example, if multiple rotation axes on a robot's arm are positioned on a vertical line, the outputs (information) from the torque sensors attached to those rotation axes will overlap, making it difficult to estimate the weight and center of gravity of the object. In such a case, for example, an alarm may be issued indicating that the weight and center of gravity of the object cannot be estimated, and additional processing may be requested from the robot system operator (user).

[0007] Therefore, there is a demand for a robot control device, a robot system, and a robot control program that can easily estimate at least one of the weight and center of gravity of an object.

[0008] According to one embodiment of the present disclosure, there is provided a robot control device that controls a robot to perform a predetermined process on an object, and that includes an external force calculation unit, an estimation unit, and a determination unit.

[0009] The external force calculation unit calculates the external force based on the output of a torque sensor provided in the robot, and the estimation unit estimates at least one of the weight and center of gravity position of the object based on the calculated external force. The determination unit determines whether the estimation unit can make an estimation based on the calculated external force. When the determination unit determines that the estimation unit cannot make an estimation based on the calculated external force, the determination unit changes the posture of the robot and causes the external force calculation unit to perform a calculation and the estimation unit to perform an estimation.

[0010] Fig. 1 is a diagram schematically showing the overall configuration of an example of a robot system according to this embodiment. Fig. 2 is a diagram schematically showing the overall configuration of a modified example of a robot in the robot system shown in Fig. 1. Fig. 3 is a functional block diagram for explaining an example of a robot control device in the robot system according to this embodiment. Fig. 4 is a flowchart for explaining an example of processing by the robot control device shown in Fig. 3. Fig. 5 is a flowchart for explaining an example of posture change processing shown in Fig. 4.

[0011] Hereinafter, examples of a robot control device, a robot system, and a robot control program according to the present embodiment will be described in detail with reference to the accompanying drawings. In each drawing, identical or similar components are assigned identical or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope and meaning of the terms of the invention described in the claims.

[0012] 1 is a diagram schematically illustrating the overall configuration of an example of a robot system according to this embodiment, showing a six-axis industrial articulated robot as an example. As shown in FIG. 1, the robot system 100 includes a robot 1 and a robot control device 2 that controls the robot 1. The robot 1 includes a base 11, a rotating body 12, an upper arm 13, a forearm 14, and a wrist 15.

[0013] The base 11 is used to install the robot 1 at a predetermined position, and is provided with a rotating body 12 that can rotate around a substantially vertical axis. The rotating body 12 is further provided with an upper arm 13 that can rotate around a first axis J1, and the upper arm 13 is provided with a forearm 14 that can rotate around a second axis J2. The forearm 14 is further provided with a wrist 15 that can rotate relative to the forearm 14.

[0014] The robot control device 2 includes, for example, an arithmetic processing device (microprocessor) and a memory device (DRAM (Dynamic Random Access Memory) and flash memory), and controls the robot 1 to perform a specified task on a workpiece (W) according to a program pre-installed in the memory device.

[0015] That is, the robot control device 2 receives the output of a first torque sensor TS1 that detects a first torque acting on a first portion (e.g., the first axis J1) of the robot 1, and the output of a second torque sensor TS2 that detects a second torque acting on a second portion (e.g., the second axis J2) different from the first portion of the robot 1. Then, the robot control device 2 calculates the weight M of the workpiece W and the horizontal center of gravity G of the workpiece W based on the outputs of the sensors TS1 and TS2 in one posture, for example, when the robot 1 is lifting an object (workpiece W) grasped by the hand 17 attached to the wrist 15 (however, it is assumed that the workpiece W is not acting on anything other than the robot 1).

[0016] Here, a specific example of an object whose weight M and center of gravity position G should be estimated is an object (workpiece) W for transportation work, etc., held by a hand 17 attached to a wrist 15, as shown in FIG. 1 . However, the object (estimation target) is not limited to this. For example, the workpiece W and the hand 17 can be treated as essentially a single object, or when the hand 17 is not holding a workpiece, the hand 17 can be used as the estimation target. Furthermore, when an end effector (tool, welding torch, laser head, etc.) that does not hold a workpiece, etc., is attached to the wrist 15, the end effector can also be used as the estimation target. In this specification, the object to be estimated is sometimes referred to as a load.

[0017] After estimating at least one of the weight and center of gravity position of the load (weight / center of gravity position), the robot 1 can accurately perform predetermined tasks such as transporting and processing the workpiece W using the estimated value without removing the load from the robot 1. In this way, the robot control device 2 has the function of estimating at least one of the weight M and horizontal center of gravity position G of the workpiece W (weight M / center of gravity position G), and can control the robot 1 with high accuracy using the estimated weight M / center of gravity position G.

[0018] As described above, the robot control device 2 can have a built-in arithmetic processing unit, storage device, etc., but for example, a personal computer or tablet having a arithmetic processing unit, storage device, etc. can also be provided separately from the robot control device 2. Here, the robot control device 2, etc., preferably has an interface such as a keyboard or touch panel to enable effective communication with the worker.

[0019] Next, we will explain the method (processing) for estimating the weight M / center of gravity position G of an object (here, workpiece W) using the robot control device 2. The configuration (functional blocks) and processing (processing of the robot control program) of one embodiment of the robot control device 2 will be described in detail later with reference to Figures 3 to 5.

[0020] 1, when the robot 1 (movable part 10) holding the workpiece W is in a certain posture, the torque acting on the first axis J1 (first torque T1) is detected by the first torque sensor TS1, and the torque acting on the second axis J2 (second torque T2) is detected by the second torque sensor TS2. Note that the torque detection may be performed when the movable part 10 of the robot 1 is stationary, but it can also be performed while the robot 1 is in operation (provided that the first torque T1 and the second torque T2 are constant).

[0021] At this time, the following equation (1) holds between the first torque T1' acting on the first axis J1 due to the workpiece weight M and the workpiece weight M. Similarly, the following equation (2) holds between the second torque T2' acting on the second axis J2 due to the workpiece weight M and the workpiece weight M. In equations (1) and (2), d1 indicates the horizontal distance between the first axis J1 and the vertical line LV1 passing through the tip position 16 (the tip position of the robot 1 (wrist 15)) in the state shown in FIG. 1 (the posture of the robot 1). d2 indicates the horizontal distance between the second axis J2 and the vertical line LV1 in the state shown in FIG. 1, and d indicates the horizontal distance between the vertical line LV1 and the vertical line LV2 passing through the center of gravity G of the workpiece W. T1' = (d1 + d) × M (1) T2' = (d2 + d) × M (2)

[0022] Here, the first torque T1' can be obtained by the robot control device 2 by subtracting the torque based on the weight of the components of the robot 1 (such as the upper arm 13, forearm 14, wrist 15, and hand 17) from the first torque T1 detected by the torque sensor TS1. The torque based on the weight of the components of the robot 1 can be obtained by calculation (for example, the Newton-Euler method) using the mass and center of gravity position of the component.

[0023] The first torque T1' can also be determined by subtracting from the first torque T1 the value measured by the torque sensor TS1 when the robot 1 is in the posture shown in Figure 1 and is not holding the workpiece W. Furthermore, if the torque sensor TS1 measures the load torque of a motor such as a servo motor that drives the first axis, the first torque T1 can also be determined by subtracting from the first torque T1 the torque due to the movable part 10 of the robot 1 and torque due to friction, etc. Similarly, the second torque T2' can be determined by calculation based on the second torque T2 detected by the torque sensor TS2.

[0024] The torque may be detected when the movable part 10 of the robot 1 is stationary, or may be detected while the robot is moving (provided that the first torque T1 and the second torque T2 are constant). The horizontal distances d1 and d2 from each torque sensor (the center of each drive shaft) to the tip position 16 can be calculated from the dimensions of the robot 1 (link length, etc.) and the angle of each shaft. Therefore, by solving the above-described equations (1) and (2) as simultaneous equations, the weight M of the workpiece W and the horizontal position d of the center of gravity G (specifically, the horizontal distance from the tip position 16 of the wrist 15 to the center of gravity G of the workpiece W) can be calculated.

[0025] Fig. 2 is a diagram schematically illustrating the overall configuration of a modified robot in the robot system shown in Fig. 1, and corresponds to the robot system shown in Fig. 1 with a torque sensor TS3 added to the forearm 14. As shown in Fig. 2, the robot 1 of the modified example is provided with a torque sensor TS3 on the forearm 14 in order to obtain the horizontal distance from the tip position 16 of the robot 1 to the center of gravity G of the workpiece W in a direction perpendicular to the plane of the paper (drawing). In other words, the robot 1 of the modified example is provided with a torque sensor TS3 capable of detecting torque around the longitudinal axis of the forearm 14 as a torque sensor that detects torque acting on an axis perpendicular to the first axis J1 or the second axis J2.

[0026] Here, if the detected value of the torque sensor TS3 is T3 and the angle between the plane perpendicular to the longitudinal axis of the forearm 14 and the direction of gravity is θ1, the torque T3′ in the direction of gravity can be expressed by the following equation (3): T3′=T3 / cos θ1 (3)

[0027] Once T3' is determined in this way, it is possible to estimate the weight M / center of gravity position G of the workpiece W in the direction perpendicular to the paper surface by the same calculation process as that described with reference to Fig. 1. That is, in the modified example shown in Fig. 2, even if the posture of the load (workpiece W) can change, if the load simply rotates along a horizontal plane (around a vertical axis), the center of gravity position of the load can be easily calculated from the angle of rotation, etc. For example, if the horizontal distance from the tip position 16 to the center of gravity G in the direction perpendicular to the paper surface is d', when the workpiece W rotates around the vertical axis, the center of gravity G will be located at a position whose diameter is (√(d 2 +d' 2 )) and therefore can be easily calculated.

[0028] Incidentally, in the robot system of this embodiment described with reference to Fig. 1, for example, when d1 = d2 in the above-mentioned formulas (1) and (2), it becomes difficult to estimate the weight M and center of gravity G of the workpiece W. In other words, when d1 = d2, the external force information based on the outputs of the two torque sensors TS1 and TS2 is insufficient to estimate the weight M and center of gravity G of the workpiece W. Furthermore, in the robot system of the modified example described with reference to Fig. 2, for example, when the longitudinal axis of the forearm 14 is vertical, the external force information based on the outputs of the three torque sensors TS1, TS2, and TS3 is insufficient to estimate the weight M and center of gravity G of the workpiece W.

[0029] Therefore, in the robot system 100 of this embodiment, the robot 1 is equipped with multiple torque sensors (1b: TS1, TS2, TS3, ...), and the robot control device 2 is configured to estimate the weight M / center of gravity position G of the workpiece W based on sufficient information from the multiple torque sensors. The greater the number of torque sensors 1b, the less necessary it is to change the posture. However, increasing the number of torque sensors 1b increases costs and processing, so it is preferable to keep the number to a minimum. That is, in the robot system 100 of this embodiment, the number of torque sensors 1b provided on the rotation axis of the robot 1 is preferably three or more, for example, approximately 3 to 5. An example of a robot control device in the robot system of this embodiment and an example of processing by the robot control device will be described in detail below with reference to FIGS. 3 to 5.

[0030] 3 is a functional block diagram illustrating an example of a robot control device in the robot system according to this embodiment. Note that the robot control device according to this embodiment is not limited to a robot control device that controls an industrial robot, and may, for example, be any of various robot control devices that can control a robot with high precision by recognizing load information such as the weight and center of gravity of an object.

[0031] As shown in Fig. 3, the robot system 100 of this embodiment includes a robot 1 and a robot control device 2 that controls the robot 1. The robot 1 includes, for example, a base 11, a rotating body 12, an upper arm 13, a forearm 14, and a wrist 15, similar to those described with reference to Figs. 1 and 2. Note that for simplicity of description, Fig. 3 depicts the robot 1 as including a motor 1a and a torque sensor 1b, but the motor 1a includes, for example, a motor for driving the rotating body 12, the upper arm 13, the forearm 14, the wrist 15, and the hand 17. The torque sensor 1b includes a plurality of torque sensors TS1, TS2, TS3, ... provided on the rotation axes J1, J2, etc.

[0032] The robot control device 2 includes a position command generation unit 21, a position control unit 22, an estimation unit 23, a determination unit 24, an external force calculation unit 25, and a storage unit 26. Here, the position command generation unit 21, the position control unit 22, the estimation unit 23, the determination unit 24, and the external force calculation unit 25 correspond to an arithmetic processing unit (microprocessor). The storage unit 26 includes a nonvolatile memory such as a DRAM and a flash memory, and stores (installs) various programs such as an operation program for the robot 1, and exchanges data with the arithmetic processing unit, etc.

[0033] The position command generating unit 21 controls the robot 1 based on, for example, an operation program stored in the memory unit 26 and the weight M / center of gravity position G (at least one of the weight M and the horizontal center of gravity position G) of the workpiece W (object). The position control unit 22 controls the drive of the motor 1a of the robot 1 based on the position command generated by the position command generating unit 21, thereby controlling the position of the robot 1. As mentioned above, the workpiece W (estimation target) whose weight M / center of gravity position G is to be estimated may be, for example, both the workpiece W and the hand 17 that grips the workpiece W, or may be an end effector such as a tool, welding torch, or laser head.

[0034] The external force calculation unit 25 calculates, for example, an external force applied to the workpiece W (robot 1) based on the outputs of a plurality of torque sensors (1b: TS1, TS2, TS3, ...) equipped in the robot 1. The estimation unit 23 estimates the weight M / center of gravity position G of the workpiece W based on the external force calculated by the external force calculation unit 25. The determination unit 24 determines whether the external force calculated by the external force calculation unit 25 contains sufficient information for estimation by the estimation unit 23 (whether estimation is possible).

[0035] Here, when the determination unit 24 determines that the external force calculated by the external force calculation unit 25 does not provide sufficient information for estimation by the estimation unit 23 (estimation is not possible), the posture of the robot 1 is changed and the external force calculation by the external force calculation unit 25 and the estimation of the weight M / center of gravity position G of the workpiece W by the estimation unit 23 are performed (again). In other words, when the determination unit 24 determines that the external force calculated by the external force calculation unit 25 does not provide sufficient information for estimation by the estimation unit 23, the position control unit 22 automatically controls the position of the robot 1 so as to change the posture of the robot 1. In other words, the robot system 100 (robot control device 2) automatically changes the posture of the robot 1 without requiring the operator to perform additional work until the determination unit 24 determines that the external force calculated by the external force calculation unit 25 provides sufficient information for estimation by the estimation unit 23 (estimation is possible).

[0036] In the above, at least three torque sensors 1b are provided on the rotation axis or the like of the robot 1, and the determination unit 24 determines whether the external force calculated by the external force calculation unit 25 contains sufficient information for estimation by the estimation unit 23 based on the positional relationship of the at least three torque sensors 1b (TS1, TS2, TS3, ...) with respect to the direction of gravity. In addition, the determination unit 24 can also determine whether sufficient information is available for estimation based on, for example, the estimation result by the estimation unit 23, i.e., the estimated weight M / center of gravity position G of the workpiece W.

[0037] The determination unit 24 can determine whether the posture of the robot 1 has been changed based on, for example, the output of the external force calculation unit 25. Alternatively, the determination unit 24 can compare the output of the external force calculation unit 25 with a predetermined threshold (posture change threshold) and determine whether the posture of the robot 1 has been changed based on the comparison result. To control the robot 1 with high precision, the estimation unit 23 may estimate either the weight M or the horizontal center of gravity G of the workpiece W, but it goes without saying that it is preferable to estimate both the weight M and the horizontal center of gravity G of the workpiece W. The posture change of the robot 1 performed when it is determined that the external force calculated by the external force calculation unit 25 does not provide sufficient information for estimation by the estimation unit 23 depends on, for example, the specifications of the robot system 100 and the size and type of the workpiece W being handled. However, it goes without saying that to improve precision, it is preferable to change the posture by a predetermined amount or more.

[0038] Fig. 4 is a flowchart for explaining an example of processing (robot control program) by the robot control device shown in Fig. 3. As shown in Fig. 4, when an example of processing by the robot control device shown in Fig. 3 starts (START), in step ST1, it is determined whether estimation is possible. That is, in step ST1, for example, the arrangement of torque sensors 1b is determined from position information of the robot 1, and it is determined whether there are three or more torque sensors 1b that detect gravitational torque (torque sensors whose detected torque direction is not parallel to the direction of gravity) and whether the directions of torque detected by the three or more torque sensors 1b are not all the same (any two of the torque sensors are not parallel).

[0039] In step ST1, if it is determined that there are three or more (at least three) torque sensors 1b that detect gravity torque and that the directions of the torques detected by the three or more torque sensors 1b are not all the same (YES), the process proceeds to step ST6, where load information is estimated, i.e., the weight M / center of gravity position G of the workpiece W is estimated by the estimation unit 23, and the process ends (END). Here, the load information estimation in step ST6 involves, for example, estimating the weight M of the workpiece W and the center of gravity position G in the horizontal direction. Note that the center of gravity position G in the direction parallel to the direction of gravity is determined in advance.

[0040] On the other hand, if it is determined in step ST1 that there are not three or more torque sensors 1b that detect gravity torque, or that there are three or more torque sensors 1b that detect gravity torque but the torque directions detected by those three or more torque sensors 1b are all the same (NO), the process proceeds to step ST2, where it is determined whether partial estimation is possible. For example, if it is determined that there are two or more torque sensors that detect gravity torque, that is, if it is determined that partial estimation is possible (YES), the process proceeds to step ST3, where load information is estimated. In step ST3, the estimation unit 23 estimates, for example, one of the weight M of the workpiece W or the horizontal center of gravity position G, and then the process proceeds to step ST4, where the posture of the robot 1 is changed. Here, in step ST2, it is determined that there are two or more torque sensors that detect gravity torque because, for example, in step ST1, there are three or more torque sensors 1b that detect gravity torque, and it is possible that the directions of the torques detected by these three or more torque sensors 1b are all in the same direction, or that there are two or more torque sensors that detect gravity torque.

[0041] In step ST4, the posture of the robot 1 is changed, and the process proceeds to step ST5 to determine whether estimation is possible. Here, the posture change process in step ST4 involves, for example, moving the robot 1 in a predetermined direction or in a direction in which the desired torque is generated. During this process, the external force is monitored, and if the external force exceeds a threshold, the robot 1 is stopped and a determination is made as to whether estimation is possible. The posture change threshold used for comparison with the external force can be set to a value smaller than the safety maintenance threshold used to stop the robot 1 upon detecting contact with the robot 1, thereby enabling stable operation of the robot 1. Even during the posture change process, i.e., while the external force is being compared with the posture change threshold, the robot 1 will be stopped (emergency stop) to ensure safety if the external force exceeds the safety maintenance threshold.

[0042] If it is determined in step ST5 that estimation is not possible (NO), the process returns to step ST2 and repeats the processes of steps ST2 to ST4 described above. On the other hand, if it is determined in step ST5 that estimation is possible (YES), the process proceeds to step ST6, where load information is estimated, i.e., the weight M / center of gravity position G of the workpiece W is estimated by the estimation unit 23, and the process ends (END).

[0043] FIG. 5 is a flowchart illustrating an example of the posture change process shown in FIG. 4. As shown in FIG. 5, when an example of the posture change process (subroutine) in step ST4 in FIG. 4 starts (START), a target position is set in step ST51, and the process proceeds to step ST52. That is, in step ST51, for example, a target position for changing the posture of the robot 1 is set, and the process proceeds to step ST52, where the operation of the robot 1 is started. Here, the target position setting process in step ST51 may be set, for example, to a predetermined direction and distance from the current position of the robot 1. Alternatively, the target position may be automatically set so that a torque is applied to the torque sensor so as to satisfy an estimable condition. In this case, for example, a condition such as not changing the posture of the hand 17 may be added.

[0044] Next, the process proceeds to step ST53, where it is determined whether the external force is equal to or greater than a threshold value (external force≧threshold value). If it is determined in step ST53 that the external force is equal to or greater than the threshold value (posture change threshold value) (YES), the process proceeds to step ST56, where the robot 1 is stopped. On the other hand, if it is determined in step ST53 that the external force is not equal to or greater than the threshold value (NO), the process proceeds to step ST54, where it is determined whether the robot 1 has reached the target position. That is, in step ST54, the determination unit 24 determines whether the robot 1 has reached the set target position.

[0045] Next, if it is determined in step ST54 that the robot 1 has not reached the target position (NO), i.e., that the robot 1 has not reached the set target position, the process returns to step ST53 and repeats the process of step ST53. On the other hand, if it is determined in step ST54 that the robot 1 has reached the target position (YES), i.e., that the robot 1 has reached the set target position, the process proceeds to step ST55, where a continuation determination is made, and then to step ST56. Here, if the continuation determination in step ST55 determines that the robot 1 has reached the target position before an external force (torque) is observed, an error may be detected and the robot 1 may be stopped, or the process may be continued. Furthermore, a condition such as whether the estimation unit 23 can estimate the weight M / center of gravity position G of the workpiece W may be included in the continuation determination in step ST55. Alternatively, the number of posture changes and the operating range of the robot 1 may be predetermined, and the robot 1 may be stopped or the process may be continued accordingly. That is, the continuation determination process in step ST55 can be variously modified and varied depending on the specifications of the robot system 100, the size and type of the workpiece W to be handled, and the like. Thus, according to an example of a robot control program according to this embodiment, for example, an alarm is issued indicating that the weight / center of gravity position of the object cannot be estimated, and the weight M / center of gravity position G of the workpiece W can be easily estimated without requiring the operator of the robot system to perform additional processing.

[0046] The robot control program according to the present embodiment described above may be provided by recording it on a computer-readable non-transitory recording medium or non-volatile semiconductor memory, or it may be provided via a wired or wireless connection. Examples of computer-readable non-transitory recording media include optical disks such as CD-ROMs (Compact Disc Read Only Memory) and DVD-ROMs, or hard disk drives. Examples of non-volatile semiconductor memory include PROMs (Programmable Read Only Memory) and flash memory. The program may be distributed from a server via a wired or wireless local area network (LAN) or a wide area network (WAN) such as the Internet.

[0047] As described above in detail, the robot control device, robot system, and robot control program according to this embodiment make it possible to easily estimate at least one of the weight and center of gravity position of an object.

[0048] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0049] The following supplementary notes are further disclosed regarding the above-described embodiment and modified examples: [Supplementary Note 1] A robot control device (2) for controlling a robot (1) to perform a predetermined process on an object (W, 17), comprising: an external force calculation unit (25) that calculates an external force based on the output of torque sensors (1b: TS1, TS2, TS3, ...) provided in the robot (1), an estimation unit (23) that estimates at least one of a weight (M) and a center of gravity position (G) of the object (W, 17) based on the calculated external force, and a determination unit (24) that determines whether the estimation unit is capable of making an estimation based on the calculated external force, wherein when the determination unit (24) determines that the estimation unit (23) is not capable of making an estimation based on the calculated external force, the determination unit (24) changes the posture of the robot (1) to perform the calculation by the external force calculation unit (25) and the estimation by the estimation unit (23). [Supplementary Note 2] The robot control device according to Supplementary Note 1, further comprising: a memory unit (26) for storing an operation program; a position command generation unit (21) for generating a position command to control the robot (1) based on the stored operation program and at least one of the estimated weight (M) and center of gravity position (G) of the object (W, 17); and a position control unit (22) for controlling the position of the robot (1) based on the generated position command, wherein the position control unit (22) controls the position of the robot (1) to change the posture of the robot (1) when it is determined that estimation by the estimation unit (23) is not possible based on the calculated external force. [Supplementary Note 3] The robot control device according to Supplementary Note 2, wherein the position control unit (22) controls the position of the robot (1) so as to enable estimation by the estimation unit (23) based on the calculated external force. [Supplementary Note 4] The robot control device according to Supplementary Note 3, wherein the position control unit (22) controls the position of the robot (1) so that the object (W, 17) moves in at least one of a predetermined direction and distance. [Supplementary Note 5] The robot control device according to any one of Supplementary Notes 1 to 4, wherein the determination unit (24) determines whether the estimation is possible based on a positional relationship of at least three torque sensors (1b: TS1, TS2, TS3, ...) with respect to the direction of gravity.[Supplementary Note 6] The robot control device according to any one of Supplementary Notes 1 to 5, wherein the determination unit (24) determines whether the estimation is possible based on the estimation result by the estimation unit (23). [Supplementary Note 7] The robot control device according to any one of Supplementary Notes 1 to 6, wherein the determination unit (24) determines whether a change in posture of the robot (1) has occurred based on the output of the external force calculation unit (25). [Supplementary Note 8] The robot control device according to Supplementary Note 7, wherein the determination unit (24) determines whether a change in posture of the robot (1) has occurred based on a comparison between the output of the external force calculation unit (25) and a predetermined threshold. [Supplementary Note 9] The robot control device according to Supplementary Note 8, wherein the threshold is a posture change threshold for determining whether a change in posture of the robot (1) has occurred, and wherein the posture change threshold is set to be smaller than a safety maintenance threshold for detecting contact of the robot (1) and stopping it. [Supplementary Note 10] The robot control device according to any one of Supplementary Notes 1 to 9, wherein the determination unit (24) determines whether the estimation unit has sufficient information for estimation based on the calculated external force. [Supplementary Note 11] The robot control device according to any one of Supplementary Notes 1 to 10, wherein the robot (1) includes at least three torque sensors (1b) (TS1, TS2, TS3), and the estimation unit (23) estimates both the weight (M) and the center of gravity position (G) of the object (W, 17). [Supplementary Note 12] The robot control device according to any one of Supplementary Notes 1 to 11, wherein the object is a hand (17) attached to a tip position of the robot, or a workpiece (W) attached to the hand (17). [Supplementary Note 13] The robot control device according to any one of Supplementary Notes 1 to 12, wherein the center of gravity position of the object is the horizontal center of gravity position of the object (W, 17). [Supplementary Note 14] A robot system (100) comprising: a robot control device (2) according to any one of Supplementary Note 1 to Supplementary Note 13; and a robot (1) controlled by the robot control device (2).[Supplementary Note 15] A robot control program for controlling a robot (1) to perform a predetermined process on an object (W, 17), the program causing an arithmetic processing device to execute: a calculation step of calculating an external force based on the output of a torque sensor (1b: TS1, TS2, TS3, ...) provided in the robot (1); an estimation step of estimating at least one of a weight (M) and a center of gravity position (G) of the object (W, 17) based on the calculated external force; and a determination step of determining whether the estimation in the estimation step is possible based on the calculated external force, and when it is determined in the determination step that the estimation in the estimation step is not possible based on the calculated external force, the program changes the posture of the robot (1) and executes the calculation step and the estimation step.

[0050] REFERENCE SIGNS LIST 1 Robot 1a Motor 1b: TS1, TS2, TS3, ... Torque sensor 11 Base 12 Rotating body 13 Upper arm 14 Forearm 15 Wrist 16 Tip position 17 Hand 100 Robot system 2 Robot control device 21 Position command generation unit 22 Position control unit 23 Estimation unit 24 Determination unit 25 External force calculation unit 26 Memory unit G Center of gravity position of workpiece J1 First axis J2 Second axis LV1 Vertical line passing through tip position LV2 Vertical line passing through center of gravity M Weight of workpiece W Workpiece

Claims

1. A robot control device that controls a robot to perform a specified process on an object, comprising: an external force calculation unit that calculates an external force based on the output of a torque sensor equipped in the robot; an estimation unit that estimates at least one of the weight and center of gravity position of the object based on the calculated external force; and a judgment unit that judges whether or not the estimation unit is able to make an estimation based on the calculated external force, wherein when the judgment unit judges that the estimation unit is not able to make an estimation based on the calculated external force, the judgment unit changes the posture of the robot to perform calculation by the external force calculation unit and estimation by the estimation unit.

2. A robot control device as described in claim 1, further comprising: a memory unit for storing an operating program; a position command generation unit for generating a position command for controlling the robot based on the stored operating program and at least one of the estimated weight and center of gravity position of the object; and a position control unit for controlling the position of the robot based on the generated position command, wherein the position control unit controls the position of the robot so as to change the posture of the robot when it is determined that estimation by the estimating unit is not possible based on the calculated external force.

3. A robot control device according to claim 2, wherein the position control section controls the position of the robot so as to enable estimation by the estimation section based on the calculated external force.

4. A robot control device according to claim 3, wherein the position control section controls the position of the robot so that the object moves in at least one of a predetermined direction and distance.

5. A robot control device according to any one of claims 1 to 4, wherein the determination unit determines whether the estimation is possible based on the positional relationship of at least three torque sensors with respect to the direction of gravity.

6. A robot control device according to any one of claims 1 to 5, wherein the determination unit determines whether the estimation is possible based on the estimation result by the estimation unit.

7. A robot control device according to any one of claims 1 to 6, wherein the determination unit determines whether or not the posture of the robot has been changed based on the output of the external force calculation unit.

8. A robot control device according to claim 7, wherein the determination unit determines whether or not the posture of the robot has been changed based on a comparison between the output of the external force calculation unit and a predetermined threshold value.

9. A robot control device as described in claim 8, wherein the threshold is a posture change threshold for determining whether the posture of the robot has been changed, and the posture change threshold is set to be smaller than a safety maintenance threshold for detecting contact of the robot and stopping it.

10. A robot control device according to any one of claims 1 to 9, wherein the determination unit determines whether the estimation unit has sufficient information to make an estimation based on the calculated external force.

11. A robot control device according to any one of claims 1 to 10, wherein the robot is equipped with at least three torque sensors, and the estimation unit estimates both the weight and center of gravity position of the object.

12. A robot control device according to any one of claims 1 to 11, wherein the object is a hand attached to a tip position of the robot, or a workpiece attached to the hand.

13. A robot control device according to any one of claims 1 to 11, wherein the position of the center of gravity of the object is the position of the center of gravity of the object in a horizontal direction.

14. A robot system comprising: a robot control device according to any one of claims 1 to 12; and a robot controlled by the robot control device.

15. A robot control program for controlling a robot to perform a specified process on an object, comprising: an arithmetic processing device that executes a calculation step of calculating an external force based on the output of a torque sensor equipped in the robot; an estimation step of estimating at least one of the weight and center of gravity position of the object based on the calculated external force; and a judgment step of judging whether the estimation in the estimation step is possible based on the calculated external force; and when it is judged in the judgment step that the estimation in the estimation step is not possible based on the calculated external force, the robot changes its posture and executes the calculation step and the estimation step.

Citation Information

Patent Citations

  • Weight / Center of gravity position correcting device for force control working machine

    JP1994315882A

  • Device and method for estimating load of robot

    JP2011235374A

  • Control system, program and control method for mechanical device

    JP2014014902A

  • Control system, program and control method of machinery

    JP2014018931A

  • Device, method and program for estimating weight and position of center of gravity of load using robot

    JP2020151812A