Robot control device, robot system and robot control program
The robot control device with multiple torque sensors and adaptive positioning addresses the challenge of estimating weight and center of gravity, ensuring accurate and efficient estimation without operator intervention.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2023-08-30
- Publication Date
- 2026-05-21
AI Technical Summary
Existing robot systems face challenges in efficiently estimating the weight and center of gravity of objects, particularly when multiple rotary axes are aligned vertically, leading to overlapping torque sensor outputs and complicating accurate estimation, which can be time-consuming and require additional operator intervention.
A robot control device equipped with multiple torque sensors and a control unit that calculates external forces, estimates weight and center of gravity, and adjusts the robot's position to ensure sufficient information is available for accurate estimation, using a determination unit to change positions if necessary.
Enables efficient and accurate estimation of object weight and center of gravity without requiring manual intervention, improving operational efficiency and reducing time consumption.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
field of technology
[0001] The present disclosure relates to a robot control device, a robot system and a robot control program. State of the art
[0002] In recent years, various robots have been used in different industries. For example, an object (a load), such as a hand or a tool, is attached to the end of a moving part, such as an arm, of such a robot, and it is important to detect the object's weight and center of gravity in order to control the robot precisely. The object for which the weight / center of gravity is to be detected can, for example, be a work target (workpiece) on which the robot can perform a predefined task.
[0003] Traditionally, a torque sensor is placed on the rotating shaft of an arm in a robot to which an object is attached. The robot can assume multiple positions to measure the torque of the rotating shaft, and the weight / center of gravity of the object can be estimated. Alternatively, a conventional technique is also known in which torque sensors are placed on multiple axes of rotation of the arm without requiring the robot to assume multiple positions, and the weight / center of gravity of the object is estimated based on the torque measured by each torque sensor. List of quotations Patent literature [PTL 1] Unexamined Japanese patent publication (Kokai) No. 2011-235374 [PTL 2] Unexamined Japanese patent publication (Kokai) No. 2023-000941 [PTL 3] Unexamined Japanese patent publication (Kokai) No. 2020-151812 Overview: Technical Task
[0004] As described above, a known technique exists for estimating the weight / center of gravity of an object by having a robot assume multiple positions. For example, if a robot is used to transport workpieces in a logistics system or similar, the weight / center of gravity of each workpiece transported by the robot often differs from workpiece to workpiece, and the weight and center of gravity of each workpiece must be estimated every time the robot holds it. Therefore, estimating the weight / center of gravity of each workpiece is very time-consuming, which complicates the practical application of the technique.
[0005] Furthermore, known techniques exist for estimating the weight / center of gravity of an object without requiring the robot to assume multiple positions; however, the robot's positioning can generally be subject to limitations. For example, if multiple rotary axes in a robot arm are positioned along a vertical line, the outputs (information) from the torque sensors mounted on these rotary axes will overlap, making it difficult to estimate the object's weight / center of gravity. In such a case, an alarm will be triggered indicating that the object's weight / center of gravity cannot be estimated, and additional processing will be requested from the robot system operator.
[0006] Therefore, it is desirable to provide a robot control device, a robot system, and a robot control program that can easily estimate the weight and / or center of gravity of an object. Technical solution
[0007] According to one embodiment of the present disclosure, a robot control device is provided which controls a robot to perform a predetermined process on an object and which includes a unit for calculating an external force, an estimation unit and a determination unit.
[0008] The external force calculation unit is configured to calculate an external force based on an output from a torque sensor integrated into the robot, and the estimation unit is configured to estimate the weight and / or center of gravity of the object based on the calculated external force. The determination unit is configured to determine, based on the calculated external force, whether an estimation by the estimation unit is possible. The determination unit changes the robot's position to allow the external force calculation unit and the estimation unit to perform an estimation if the determination unit, based on the calculated external force, determines that an estimation by the estimation unit is not possible. Brief description of the drawings [ Fig. 1] Fig. Figure 1 is a graphical representation that schematically depicts an overall configuration of an embodiment of a robot system according to the present embodiment. [ Fig. 2] Fig. 2 is a graphical representation showing an overall configuration of a modification of the robot in the Fig. 1 schematically represents the robot system shown. [ Fig. 3] Fig. Figure 3 is a graphical function block representation to illustrate an example of a robot control device in the robot system according to the present embodiment. [ Fig. 4] Fig. 4 is a flowchart to explain an example of processing by the in Fig. 3 robot control device shown. [ Fig. 5] Fig. 5 is a flowchart to explain an example of a in Fig. 4 position change processing shown. Description of the embodiments
[0009] The following describes in detail embodiments of a robot control device, a robot system, and a robot control program according to the present embodiment with reference to the accompanying drawings. In each drawing, the same or similar component is assigned the same or similar reference numeral. Furthermore, the embodiment described below does not limit the technical scope of the invention described in the claims or the meaning of terms.
[0010] Fig. Figure 1 is a graphical representation that schematically depicts an overall configuration of an embodiment of a robot system according to the present embodiment and shows a six-axis multi-jointed industrial robot as an example. As in Fig. As shown in Figure 1, a robot system 100 comprises a robot 1 and a robot control unit 2 that controls the robot 1. The robot 1 includes a base section 11, a rotating turret 12, an upper arm 13, a forearm 14, and a wrist section 15.
[0011] The base area 11 serves to position the robot 1 at a predetermined location, and the base area 11 is equipped with a rotating turret 12 that can rotate about an axis in a substantially vertical direction. Furthermore, the rotating turret 12 is equipped with the upper arm 13, which is rotatable about a first axis J1, and the upper arm 13 is equipped with the forearm 14, which is rotatable about a second axis J2. The forearm 14 is equipped with the wrist section 15, which is rotatable relative to the forearm 14.
[0012] The robot control unit 2 includes, for example, an arithmetic processing device (microprocessor), a storage device (a DRAM (Dynamic Random Access Memory), a flash memory) and the like, and controls the robot 1 so that it performs a predetermined task on the workpiece (W) according to a program previously installed in the storage device.
[0013] This means that the robot control unit 2 receives an output from a first torque sensor TS1, which detects the first torque acting on the first area (e.g., the first axis J1) of the robot 1, and an output from a second torque sensor TS2, which detects the second torque acting on a second area (for example, the second axis J2) that differs from the first area of the robot 1. For example, the robot control unit 2 lifts the object (workpiece W) held by a hand 17 attached to the wrist area 15 (however, it is assumed that the workpiece W acts on nothing other than the robot 1), and calculates a weight M of the workpiece W and a center of gravity position G of the workpiece W in the horizontal direction based on the output of sensors TS1 and TS2 in a given position.
[0014] As a specific example of the object for which the weight M and the center of gravity G are to be estimated, the following is shown, as in Fig. Figure 1 shows an object (workpiece) W, such as a conveyor workpiece, held by the hand 17 attached to the wrist area 15. However, the object (the object to be estimated) is not limited to this; for example, the workpiece W and the hand 17 can be treated as a single object, and if the hand 17 is not holding the workpiece, the hand 17 can also be used as the estimation target. Furthermore, if an end effector (a tool, a welding torch, a laser head, or the like) that is not holding a workpiece or the like is attached to the wrist area 15, the end effector can also be used as the estimation target. In this description, the object to be estimated can be referred to as the load.
[0015] After estimating the weight and / or center of gravity of the load (weight / center of gravity), robot 1 can accurately perform a predefined task, such as transporting and processing the workpiece W, using the estimated value, without removing the load from robot 1. In this way, the robot control unit 2 has a function for estimating the weight M and / or the horizontal center of gravity G of the workpiece W (weight M / center of gravity G) and can control robot 1 with high accuracy using the estimated weight M / center of gravity G.
[0016] As described above, the robot control device 2 can include an arithmetic processing device, a storage device, and the like; however, a personal computer or tablet, which, for example, includes an arithmetic processing device and a storage device, can be provided as a separate body from the robot control device 2. The robot control device 2, or the like, preferably includes an interface such as a keyboard or a touch panel to effectively exchange data with a worker.
[0017] Next, a method (processing) for estimating the weight M / center of gravity G of an object (here, the workpiece W) by the robot control unit 2 is described. It should be noted that the configuration (function blocks) and processing (processing of the robot control program) of an embodiment of the robot control unit 2 are described below with reference to Fig. 3, Fig. 4 to Fig. 5 will be described in detail.
[0018] First, as in Fig. Figure 1 shows that when the robot 1 (moving part 10), which holds the workpiece W, is in a specific position, 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. It should be noted that torque detection can be performed both when the moving part 10 of the robot 1 is stationary and during operation (however, the first torque T1 and the second torque T2 are constant).
[0019] The following equation (1) applies between the first torque T1', which acts on the first axis J1 due to the workpiece weight M, and the workpiece weight M, and likewise the following equation (2) applies between the workpiece weight M and the second torque T2', which acts on the second axis J2 due to the workpiece weight M. In equations (1) and (2), d1 denotes the horizontal distance between the first axis J1 and a vertical line LV1, which passes through a tip position 16 (the tip position of the robot 1 (the wrist area 15)) in the state of Fig. 1 (position of robot 1) is progressing. In the state of Fig. 1 represents d2 a horizontal distance between the second axis J2 and the vertical line LV1, and d represents a horizontal distance between the vertical line LV1 and a vertical line LV2 that passes through the center of gravity G of the workpiece W. T1'=(d1+d)×M T2'=(d2+d)×M
[0020] Here, the first torque T1' can be determined by the robot control unit 2 by subtracting the torque based on the weight of the component (upper arm 13, forearm 14, wrist area 15, hand 17, etc.) of the robot 1 from the first torque T1 detected by the torque sensor TS1. It should be noted that the torque based on the weight of the component of the robot 1 can be obtained by calculation (e.g., Newton-Euler method) using the mass and the center of gravity of the component.
[0021] Furthermore, the first torque T1' can also be determined by subtracting the value of the torque sensor TS1, which is measured in a state where the robot 1 is in the position of Fig. The first torque T1 can be determined when the robot 1 is stationary and the workpiece W is not holding it. If the torque sensor TS1 measures the load torque of a motor, such as a servo motor, driving the first shaft, the torque sensor TS1 can also be determined from the first torque T1 by subtracting the torque of the moving part 10 of the robot 1 and the torque caused by friction or the like. Similarly, the second torque T2' can be calculated based on the second torque T2 detected by the torque sensor TS2.
[0022] It should be noted that, although torque detection can be performed when the moving part 10 of the robot 1 is stationary, torque detection can also be performed during operation (however, the first torque T1 and the second torque T2 are constant). Furthermore, 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 (length of the links, etc.) of the robot 1 and the angle of each axis. By solving the above formula (1) and formula (2) as a system of equations, the weight M of the workpiece W and the horizontal position d of the center of gravity G (in particular, the horizontal distance from the tip position 16 of the wrist area 15 to the center of gravity G of the workpiece W) can therefore be calculated.
[0023] Fig. 2 is a graphical representation showing an overall configuration of a modification of the robot in the Fig. Figure 1 schematically represents the robot system and corresponds to a configuration in which a torque sensor TS3 is attached to the forearm 14 of the robot system shown in Figure 1. Fig. 1 is added to the robot system shown. As in Fig. As shown in Figure 2, a torque sensor TS3 is provided on the front arm 14 to detect a horizontal distance from the tip position 16 of the robot 1 to the center of gravity G of the workpiece W in the direction perpendicular to the plane of the paper (drawings). That is, the robot 1 according to the modification is equipped with a torque sensor TS3 that can detect a torque about the longitudinal axis of the front arm 14, as a torque sensor that detects a torque acting on a shaft perpendicular to the first axis J1 or the second axis J2.
[0024] If the detection 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 here by the following equation (3). T3'=T3 / cos θ1
[0025] In this way, when T3' is obtained, the weight M / center of gravity G of the workpiece W in the direction perpendicular to the plane of the paper can be determined by the same arithmetic processing as that performed with reference to Fig. 1 described can be estimated. That is, that in the Fig. In the modified example shown in Figure 2, even if the position of the load (the workpiece W) can change, the center of gravity of the load can be easily calculated from the angle of rotation, etc., if the load rotates only along the horizontal plane (around the vertical axis). For example, if the horizontal distance from the tip position 16 to the center of gravity G in the direction perpendicular to the plane of the paper is d', then when the workpiece W rotates around the vertical axis, the center of gravity G rotates only with a diameter of (√(d). 2 + d' 2 )), so that it can be easily calculated.
[0026] Incidentally, it will be referred to in the following: Fig. In the robot system of this embodiment described in 1, it is difficult to estimate the weight M / center of gravity G of the workpiece W if, for example, in the formulas (1) and (2) mentioned above, d1 = d2. In other words, if d1 = d2, the information about the external force based on the outputs of the two torque sensors TS1 and TS2 is insufficient to estimate the weight M / center of gravity G of the workpiece W. In the robot system of the modified example, which, for example, with reference to Fig. As described in 2, if the longitudinal axis of the forearm 14 is vertical, the information about the external force based on the outputs of the three torque sensors TS1, TS2 and TS3 is not sufficient to estimate the weight M / center of gravity G of the workpiece W.
[0027] Therefore, in the robot system 100 of this embodiment, the robot 1 is equipped with a plurality of torque sensors (1b: TS1, TS2, TS3, ...) and the robot control unit 2 is configured to estimate the weight M / center of gravity G of the workpiece W based on sufficient information from the plurality of torque sensors. It should be noted that the greater the number of torque sensors 1b, the less the position needs to be changed. However, increasing the number of torque sensors 1b increases the costs and processing accordingly, so the number of torque sensors 1b is preferably kept to a minimum. That is, in the robot system 100 of this embodiment, the number of torque sensors 1b provided on the rotary axis of the robot 1 is preferably set to three or more, for example, to about 3 to 5. In the following, with reference to Fig. 3, Fig. 4 to Fig. 5 An example of the robot control device in the robot system according to this embodiment and an example of processing by the robot control device are described in detail.
[0028] Fig. Figure 3 is a graphical function block diagram illustrating an example of a robot control unit in the robot system according to the present embodiment. It should be noted that the robot control unit according to this embodiment is not limited to a robot control unit that controls an industrial robot, and can, of course, be various robot control units that can control a robot with high accuracy by detecting load information such as the weight and center of gravity of an object.
[0029] As in Fig. As shown in Figure 3, the robot system 100 according to the present embodiment comprises a robot 1 and a robot control unit 2, which controls the robot 1. As referenced in Figure 3, the robot system 100 comprises a robot 1 and a robot control unit 2, which controls the robot 1. Fig. 1 and Fig. As described in section 2, robot 1 comprises a base area 11, a rotating turret 12, an upper arm 13, a forearm 14, and a wrist area 15. It should be noted that robot 1 is in Fig. 3. For the sake of simplicity, the description includes a motor 1a and torque sensors 1b. However, the motor 1a includes, for example, a motor for driving the rotating turret 12, the upper arm 13, the forearm 14, the wrist area 15, the hand 17, and the like. Furthermore, the torque sensors 1b include a plurality of torque sensors TS1, TS2, and TS3, which are provided on the axes of rotation J1, J2, and the like.
[0030] The robot control unit 2 includes a position command generation unit 21, a position control unit 22, an estimation unit 23, a determination unit 24, a unit 25 for calculating an external force, 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 unit 25 for calculating an external force correspond to the arithmetic processing device (microprocessor). The storage unit 26 includes non-volatile memory such as DRAM and flash memory, stores (installs) various programs such as an operating program for the robot 1, and exchanges data with the arithmetic processing device or similar.
[0031] The position command generation unit 21 controls the robot 1, for example, based on an operating program stored in the memory unit 26 and the weight M / center of gravity position G (the weight M and / or the horizontal center of gravity position G) of the workpiece W (the object). The position control unit 22 controls the drive of the robot 1's motor 1a based on the position command generated by the position command generation unit 21 and controls the position of the robot 1. It should be noted that, as described above, the workpiece W (estimation target), for which the weight M / center of gravity position G is estimated, can be, for example, the workpiece W itself, the hand 17 grasping the workpiece W, or an end effector such as a tool, a welding torch, or a laser head.
[0032] Unit 25, for calculating an external force, calculates, for example, an external force acting on the workpiece W (robot 1) based on the outputs of several torque sensors (1b: TS1, TS2, TS3, ...) with which robot 1 is equipped. Estimation unit 23 estimates the weight M / center of gravity G of the workpiece W based on the external force calculated by unit 25. Determination unit 24 determines whether the external force calculated by unit 25 contains sufficient information for estimation by unit 23 (whether an estimation is possible).
[0033] If the detection unit 24 determines that the external force calculated by unit 25 does not provide sufficient information for estimation by the estimation unit 23 (an estimation is not possible), the position of robot 1 is changed, and the calculation of the external force by unit 25 and the estimation of the weight M / center of gravity G of the workpiece W by estimation unit 23 are (re)performed. That is, if the detection unit 24 determines that the external force calculated by unit 25 does not provide sufficient information for estimation by estimation unit 23, the position control unit 22 automatically controls the position of robot 1 so that its position is changed.This means that the robot system 100 (the robot control unit 2) automatically changes the position of the robot 1 without the worker having to perform any additional work until the determination unit 24 determines that the external force calculated by unit 25 for calculating an external force provides sufficient information for estimation by the estimation unit 23 (an estimation is possible).
[0034] In the above, at least three torque sensors 1b are provided on the rotary axis or the like of the robot 1, and the determination unit 24 determines, based on the positional relationship of the at least three torque sensors 1b (TS1, TS2, TS3, ...) with respect to the direction of gravity, whether the external force calculated by the unit 25 for calculating an external force provides sufficient information for an estimation by the estimation unit 23. Furthermore, the determination unit 24 can also determine, for example, based on the estimation result by the estimation unit 23, i.e., the estimated weight / center of gravity position G of the workpiece W, whether the external force calculated by the estimation unit 23 provides sufficient information for an estimation.
[0035] It should be noted that the determination unit 24 can, for example, determine whether the position of robot 1 has changed based on the output of unit 25 for calculating an external force. Alternatively, the determination unit 24 can compare the output of unit 25 for calculating an external force with a predefined threshold (position change threshold) and determine whether the position of robot 1 has changed based on the comparison result. To control robot 1 with high accuracy, the estimation unit 23 can estimate either the weight M of the workpiece W or the horizontal center of gravity G; however, it is understood that preferably both the weight M of the workpiece W and the horizontal center of gravity G are estimated.Furthermore, the change in position of the robot 1, which is carried out when it is determined that the external force determined by unit 25 for calculating an external force does not provide sufficient information for the estimation by estimation unit 23, depends, for example, on the specifications of the robot system 100 and the size and type of the workpiece W to be handled; however, it is understood that the position is preferably changed by a predetermined amount or more in order to improve the accuracy.
[0036] Fig. Section 4 is a flowchart to explain an example of processing (robot control program) by the in Fig. 3 robot control unit shown. As in Fig. As shown in section 4, when an example is started (START), processing is carried out by the in Fig. The robot control unit shown in step ST1 determines whether an estimation is possible. That is, in step ST1, for example, the arrangement of the torque sensors 1b is determined from the position information of a robot 1, and it is determined whether three or more torque sensors 1b are present that detect a gravity torque (torque sensors whose detected torque direction is not parallel to the direction of gravity) and whether all torque directions detected by the three or more torque sensors 1b are the same (any two of them are not parallel).
[0037] If, in step ST1, it is determined that three or more (at least three) torque sensors 1b are present that detect a 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, in which load information is estimated. This means that the weight M and the center of gravity G of the workpiece W are estimated by the estimation unit 23, and the process ends (END). The estimated load information in step ST6, for example, is the weight M of the workpiece W and the center of gravity G in the horizontal direction. It should be noted that the center of gravity G is predetermined to be parallel to the direction of gravity.
[0038] If, on the other hand, step ST1 determines that there are no three or more torque sensors 1b that detect the gravity torque, or that there are three or more torque sensors 1b that detect the gravity torque, but the directions of the torques detected by the three or more torque sensors 1b are all the same (NO), the process proceeds to step ST2, in which it is determined whether a partial estimation is possible. If, for example, it is determined that there are two or more torque sensors that detect the gravity torque, that is, if it is determined that a partial estimation is possible (YES), the process proceeds to step ST3, in which the load information is estimated. In step ST3, the estimation unit 23 estimates, for example, the weight M of the workpiece W or the horizontal center of gravity position G, and then proceeds to step ST4, in which the position of the robot 1 is changed.Here, in step ST2, it is determined that two or more torque sensors are present that detect the gravity torque, since, for example, in step ST1, three or more torque sensors 1b are present that detect the gravity torque, and the directions of the torque detected by these three or more torque sensors 1b can all be the same direction, or there can be two or more torque sensors that detect the gravity torque.
[0039] In step ST4, the position of robot 1 is changed, and the process proceeds to step ST5 to determine if the estimation is possible. Here, the position change process in step ST4 moves robot 1, for example, in a predetermined direction or in a direction that generates a desired torque. The external force is monitored, and if it exceeds a threshold, robot 1 is stopped, and the feasibility of the estimation is determined. It's important to note that the position change threshold used for comparison with the external force can be set lower than the threshold for maintaining safety. This threshold detects contact with robot 1 and stops robot 1, for example, to ensure stable operation. It should also be noted that even during the position change process, i.e.,, for example, during the comparison between the external force and the position change threshold, if the external force exceeds the threshold for maintaining safety, the robot 1 is stopped (emergency stop) to ensure safety.
[0040] If step ST5 determines that an estimate is not possible (NO), the process returns to step ST2 and repeats the processes of steps ST2 to ST4 mentioned above. Conversely, if step ST5 determines that an estimate is possible (YES), the process proceeds to step ST6, in which the load information is estimated; that is, the weight M and the center of gravity G of the workpiece W are estimated by the estimation unit 23, and the process ends (END).
[0041] Fig. 5 is a flowchart to explain an example of the in Fig. 4 position change process shown. As in Fig. As shown in section 5, when starting an example of the position change process (subroutine) from step ST4 in Fig. 4 (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 is set to change the position of robot 1, and the process proceeds to step ST52, in which the operation of robot 1 is started. The target position setting process in step ST51 can, for example, be set to a direction and distance that are predetermined from the current position of robot 1. Alternatively, the target position can be automatically set so that a torque is applied to the torque sensor in such a way that an estimable condition is met. In this case, for example, a condition such as that the position of hand 17 is not changed can be added.
[0042] The process then proceeds to step ST53, which determines whether the external force is equal to or greater than a threshold (external force threshold). If step ST53 determines that the external force is equal to or greater than the threshold (position change threshold) (YES), the process proceeds to step ST56, in which robot 1 is stopped. Conversely, if step ST53 determines that the external force is not equal to or greater than the threshold (NO), the process proceeds to step ST54, which determines whether robot 1 is at the target position. That is, in step ST54, the detection unit 24 determines whether robot 1 has reached the set target position.
[0043] If step ST54 determines that robot 1 is not at the target position (NO), i.e., that robot 1 has not reached the set target position, the process then returns to step ST53 and repeats the process described above. Conversely, if step ST54 determines that robot 1 is at the target position (YES), i.e., that robot 1 has reached the set target position, the process proceeds to step ST55, where a continuation determination is made, and then the process proceeds to step ST56.In the continuation determination of step ST55, if robot 1 reaches the target position before an external force (torque) is observed, it can be stopped as an error, or the process can continue unchanged. Furthermore, a condition such as whether the estimation unit 23 can estimate the weight M / center of gravity G of the workpiece W can be included. Alternatively, in the continuation determination of step ST55, the number of position changes and the operating range of robot 1 can be determined in advance. Based on the number of position changes and the operating range of robot 1, it can then be determined whether robot 1 is stopped as an error or the process continues unchanged.This means that the continuation determination process of step ST55 can be modified and changed differently according to the specifications of the robot system 100 and the size and type of the workpiece W to be handled. For example, according to an example of a robot control program according to this embodiment, an alarm is issued indicating that the weight / center of gravity of the object cannot be estimated, while the weight M / center of gravity G of the workpiece W can be easily estimated without requiring additional processing by the robot system operator.
[0044] The robot control program according to the embodiment described above can be recorded and provided on a computer-readable, non-transient recording medium or a non-volatile semiconductor memory, or it can be provided via wired or wireless connections. The computer-readable, non-transient recording medium can be, for example, a CD-ROM (Compact Disc Read Only Memory), an optical disc such as a DVD-ROM, a hard disk device, and the like. A PROM (Programmable Read Only Memory), flash memory, and the like are considered non-volatile semiconductor memory. Furthermore, it is assumed that distribution from the server device is provided via a wired or wireless LAN (Local Area Network) or a WAN such as the Internet.
[0045] As described in detail above, according to the robot control device, the robot system and the robot control program of the present embodiment, it is possible to estimate the weight and / or the center of gravity of the object.
[0046] Although the present disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments may be supplemented, replaced, modified, partially deleted, or otherwise altered within a scope that does not deviate from the core idea of the present disclosure, or within a scope that does not deviate from the essential content of the present disclosure as derived from the content described in the claims and their equivalents. These embodiments may also be implemented in combination. For example, in the embodiment described above, the sequence of each operation and the sequence of each processing step are shown as examples and are not limited to these. The same applies furthermore if a numerical value or a mathematical expression is used in the description of the embodiment described above.
[0047] With regard to the embodiments and variants described above, the following descriptions are further disclosed. Annex 1
[0048] A robot control device (2) for controlling a robot (1) so that it performs a specified processing operation on an object (W, 17) which has: a unit (25) for calculating an external force, which is designed to calculate an external force based on an output from a torque sensor (1b: TS1, TS2, TS3, ...) included in the robot (1); an estimation unit (23) designed to estimate a weight (M) and / or a center of gravity (G) of the object (W, 17) based on the calculated external force; and an investigation unit (24) which is trained to determine, on the basis of the calculated external force, whether an estimate by the estimation unit is possible, wherein the investigation unit (24) changes a position of the robot (1) in order to perform a calculation by the unit (25) to calculate an external force and an estimate by the estimation unit (23), if the investigation unit judges, based on the calculated external force, that an estimate by the estimation unit (23) is not possible. Appendix 2
[0049] The robot control device according to Annex 1, which further comprises: a storage unit (26) designed to store an operating program; a position command generation unit (21) configured to generate a position command for controlling the robot (1) based on the stored operating program and the estimated weight (M) and / or center of gravity (G) of the object (W, 17); and a position control unit (22) which is configured to control a position of the robot (1) based on the generated position command, wherein The position control unit (22) performs position control of the robot (1) in such a way that it changes a position of the robot (1) when, based on the calculated external force, it is determined that an estimate by the estimation unit (23) is not possible. Appendix 3
[0050] The robot control device according to Annex 2, wherein the position control unit (22) performs position control of the robot (1) to enable an estimation by the estimation unit (23) based on the calculated external force. Appendix 4
[0051] The robot control device according to Annex 3, wherein the position control unit (22) performs position control of the robot (1) such that the object (W, 17) is guided in a predetermined direction and / or to a predetermined distance. Appendix 5
[0052] The robot control device according to any one of Annexes 1 to 4, wherein the determination unit (24) determines whether the estimation is possible on the basis of an arrangement relationship of at least three torque sensors (1b: TS1, TS2, TS3, ...) with respect to a direction of gravity. Appendix 6
[0053] The robot control device according to any one of Annexes 1 to 5, wherein the determination unit (24) determines, on the basis of an estimation result by the estimation unit (23), whether the estimation is possible. Appendix 7
[0054] The robot control device according to any one of Annexes 1 to 6, wherein the detection unit (24) determines, on the basis of an output from the unit (25) for calculating an external force, whether the position of the robot (1) is changed. Appendix 8
[0055] The robot control device according to Annex 7, wherein the detection unit (24) determines, on the basis of a comparison between an output of the unit (25) for calculating an external force and a predetermined threshold, whether a change in position of the robot (1) has been carried out. Appendix 9
[0056] The robot control device according to Annex 8, wherein the threshold is a position change threshold to determine whether the position of the robot (1) is being changed, and The position change threshold is set to be less than a threshold for maintaining safety to detect and prevent contact by the robot. Appendix 10
[0057] The robot control device according to any one of Annexes 1 to 9, wherein the determination unit (24) determines, on the basis of the calculated external force, whether the estimation unit has sufficient information to make an estimate. Annex 11
[0058] The robot control device according to any one of Annexes 1 to 10, wherein the torque sensor (1b) included in the robot (1) consists of at least three (TS1, TS2, TS3), and the estimation unit (23) estimates both the weight (M) and the center of gravity (G) of the object (W, 17). Appendix 12
[0059] The robot control device according to any one of Annexes 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). Appendix 13
[0060] The robot control device according to any one of Annexes 1 to 12, wherein the center of gravity of the object is a center of gravity in a horizontal direction of the object (W, 17). Appendix 14
[0061] A robot control system (100) that features: a robot control device (2) according to any one of Annexes 1 to 13, and a robot which is controlled by the robot control device (2). Appendix 15
[0062] A robot control program for controlling a robot (1) such that it performs a specified operation on an object (W, 17), wherein the robot control program causes an arithmetic processing unit to execute: a calculation step to calculate an external force based on an output from a torque sensor (1b: TS1, TS2, TS3, ...) included in the robot (1); an estimation step to estimate a weight (M) and / or a center of gravity (G) of the object (W, 17) based on the calculated external force; and a determination step to ascertain, based on the calculated external force, whether an estimation is possible, wherein the arithmetic processing unit performs the calculation step and the estimation step by changing a position of the robot (1) when, in the determination step, it is determined, based on the calculated external force, that an estimation by the estimation step is not possible. List of reference symbols 1 robot 1a Motor 1b: Ts1, Ts2, Ts3, torque sensor 11 Basic area 12 rotating tower 13 Upper arm 14 Forearm 15 Wrist area 16 top positions 17 Hand 100 robot systems 2 Robot control unit 21 Position command generation unit 22 Position control unit 23 Estimation Unit 24 Investigation Unit 25 units for calculating an external force 26 storage units G Center of gravity of the workpiece J1 first axis J2 second axis LV1 vertical line passing through the top position LV2 vertical line passing through the center of gravity M Weight of the workpiece W workpiece
Claims
A robot control device for controlling a robot to perform a predetermined operation on an object, comprising: an external force calculation unit configured to calculate an external force based on an output from a torque sensor incorporated in the robot; an estimation unit configured to estimate the weight and / or center of gravity of the object based on the calculated external force; and a determination unit configured to determine, based on the calculated external force, whether an estimation by the estimation unit is possible, wherein the determination unit changes the position of the robot to perform a calculation by the external force calculation unit and an estimation by the estimation unit if the determination unit judges, based on the calculated external force, that an estimation by the estimation unit is not possible. Robot control device according to claim 1, further comprising: a storage unit configured to store an operating program; a position command generation unit configured to generate a position command for controlling the robot based on the stored operating program and the estimated weight and / or center of gravity of the object; and a position control unit configured to control a position of the robot based on the generated position command, wherein the position control unit performs position control of the robot such that it changes a position of the robot when, based on the calculated external force, it is determined that an estimate by the estimation unit is not possible. Robot control device according to claim 2, wherein the position control unit performs position control of the robot to enable an estimation by the estimation unit based on the calculated external force. Robot control device according to claim 3, wherein the position control unit performs position control of the robot such that the object is guided in a predetermined direction and / or to a predetermined distance. Robot control device according to any one of claims 1 to 4, wherein the determination unit determines, on the basis of an arrangement relationship of at least three torque sensors with respect to a direction of gravity, whether the estimation is possible. Robot control device according to any one of claims 1 to 5, wherein the determination unit determines, based on an estimation result by the estimation unit, whether the estimation is possible. Robot control device according to any one of claims 1 to 6, wherein the detection unit determines, based on an output from the unit for calculating an external force, whether the position of the robot is changed. Robot control device according to claim 7, wherein the detection unit determines, on the basis of a comparison between an output of the unit for calculating an external force and a predetermined threshold value, whether a change in position of the robot has been carried out. Robot control device according to claim 8, wherein the threshold is a position change threshold to determine whether the position of the robot is being changed, and the position change threshold is set to be less than a threshold to maintain safety in order to detect and prevent contact by the robot. Robot control device according to any one of claims 1 to 9, wherein the determination unit determines, based on the calculated external force, whether the estimation unit has sufficient information to make an estimate. Robot control device according to any one of claims 1 to 10, wherein the torque sensor included in the robot is at least three, and the estimating unit estimates both the weight and the center of gravity of the object. 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. Robot control device according to any one of claims 1 to 11, wherein the center of gravity of the object is a center of gravity in a horizontal direction of the object. Robot control system comprising: a robot control device according to any one of claims 1 to 12; and a robot controlled by the robot control device. A robot control program for controlling a robot to perform a predetermined machining operation on an object, wherein the robot control program causes an arithmetic processing unit to execute: a calculation step to calculate an external force based on an output from a torque sensor included in the robot; an estimation step to estimate a weight and / or center of gravity of the object based on the calculated external force; and a determination step to determine, based on the calculated external force, whether an estimation is possible, wherein the arithmetic processing unit executes the calculation step and the estimation step by changing a position of the robot if, in the determination step, it is determined, based on the calculated external force, that an estimation by the estimation step is not possible.