Robot control device, control method, and robot system

JPWO2025041250A5Pending Publication Date: 2026-05-21
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2023-08-22
Publication Date
2026-05-21
Patent Text Reader

Abstract

Provided is a control device (10) for controlling a robot (1) comprising a plurality of movable members, the control device (10) comprising at least one processor, wherein the processor acquires the mass of a wire body (2) retrofitted to the robot (1), and sets the acquired mass of the wire body (2) as a load acting on each of the movable members (5), (6), (8).
Need to check novelty before this filing date? Find Prior Art

Description

Robot control device, control method, and robot system

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

[0002] BACKGROUND ART There is known a control device for controlling a robot that includes a robot arm having a plurality of joints and a filament attached along the side of the robot arm (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2015-171747

[0004] The above-described control device estimates the force acting on the robot arm and controls the robot based on the estimated force. However, when a filament is attached to the robot arm, the mass of the filament acts as a load on the robot arm, so the force estimated by the control device contains an error, making it difficult to control the robot accurately. Therefore, it is desirable to be able to accurately control a robot with a filament attached to its robot arm.

[0005] One aspect of the present disclosure is a control device for controlling a robot having multiple movable members, the control device for the robot having at least one processor, the processor acquiring the mass of a filament that is retrofitted to the robot, and setting the acquired mass of the filament as a load acting on each of the movable members.

[0006] It is a side view showing a robot system according to an embodiment of the present disclosure. It is a block diagram showing a configuration of a control device according to an embodiment of the present disclosure. It is a flowchart showing a control method according to an embodiment of the present disclosure. It is a schematic diagram for explaining an example of a control method according to an embodiment of the present disclosure.

[0007] A control device 10 and a robot system 100 according to an embodiment of the present disclosure will be described below with reference to the drawings. The robot system 100 according to the present embodiment includes a robot 1 and a control device 10 that controls the robot 1, as shown in FIG.

[0008] The robot 1 is, for example, a six-axis articulated robot, and is a collaborative robot that cooperates with a worker. As shown in Fig. 1, the robot 1 includes a base 3 placed on a horizontal floor surface F and a rotating body 4 supported on the base 3 so as to be rotatable about a first vertical axis J1. The robot 1 also includes a plurality of arm members (movable members) and wrist units supported on the rotating body 4 and rotatably connected to each other.

[0009] The robot 1 includes, as arm members, a first arm 5 rotatably supported relative to the rotating body 4 about a horizontal second axis J2, and a second arm 6 rotatably supported relative to the first arm 5 about a horizontal third axis J3. The wrist unit includes a first wrist element (movable member) 7 rotatably supported relative to the second arm 6 about a fourth axis J4 extending along a plane perpendicular to the third axis J3. The wrist unit also includes a second wrist element (movable member) 8 rotatably supported relative to the first wrist element 7 about a fifth axis J5 perpendicular to the fourth axis J4. The wrist unit also includes a third wrist element (movable member) 9 rotatably supported relative to the second wrist element 8 about a sixth axis J6 perpendicular to the fifth axis J5. That is, the robot 1 includes six rotational joints A1 to A6 that rotate about the first to sixth axes J1 to J6, respectively.

[0010] Each of the rotary joints A1 to A6 is driven by a motor (not shown) and a reducer that reduces the rotation of the motor. Each of the rotary joints A1 to A6 is also equipped with a six-axis force sensor (not shown) that detects the force acting on the corresponding joint axis.

[0011] A tool T is attached to the tip of the robot 1, i.e., the flange surface 9f provided on the third wrist element 9, by, for example, a user to whom the robot 1 is to be introduced. The tool T is, for example, a hand equipped with a drive unit for gripping a workpiece or the like to be worked on.

[0012] In addition, a wire body 2 such as a cable for transmitting power, control signals, etc. to the tool T is also mounted on the robot 1 by a user or the like after the installation of the robot 1. The wire body 2 is formed by bundling these multiple cables together using a conduit tube or the like. In the example shown in FIG. 1 , one end of the wire body 2 is connected to the control device 10, and the other end is connected to the tool T.

[0013] An example of a method for mounting the umbilical member 2 on the robot 1 will be described below. The umbilical member 2 is attached to the outer surface of the robot 1, for example, with the robot 1 placed in the basic posture shown in Fig. 1. Here, the basic posture of the robot 1 refers to, for example, a posture in which the third axis J3 is positioned vertically above the second axis J2, the fifth axis J5 is positioned parallel to and horizontally forward of the third axis J3, and the sixth axis J6 extends horizontally forward.

[0014] Specifically, the filament 2 extends from one end connected to the control device 10 located at a distance from the robot 1 toward the base 3 and is raised upward at a position away from the base 3. The filament 2 passes outside the rotational joints A1 and A2, is placed along the side surface of the first arm 5, and is fixed to the side surface of the first arm 5 by two fixing devices f1 and f2.

[0015] Furthermore, after passing outside the rotational joints A3 and A4, the filament 2 is arranged along the side surface of the first wrist element 7 and is fixed to the side surface of the first wrist element 7 by a fixing device f3. Then, after passing outside the rotational joints A5 and A6, the other end of the filament 2 is connected to the tool T.

[0016] When passing outside the rotary joints A1 to A6, the filament 2 is slackened by being given an extra length that is sufficiently longer than the path along the surface of the robot 1. This prevents excessive force from being applied to the filament 2 even when the rotary joints A1 to A6 are operating.

[0017] Next, the control device 10 according to this embodiment will be described. As shown in Fig. 2, the control device 10 includes an input device 11, at least one memory 12 such as a ROM or a RAM, and at least one processor 13 such as a CPU.

[0018] The input device 11 is, for example, a combination of a touch panel or a display device such as a monitor with a keyboard, a mouse, push buttons, etc. The input device 11 receives information about the tool T and the umbilical member 2 input by a user or the like when setting conditions after the tool T and the umbilical member 2 are attached to the robot 1.

[0019] The memory 12 stores in advance, as initial setting values, the dimensions and center of gravity of each part of the robot 1. Examples of the dimensions of each part of the robot 1 include the distance L1 between the second axis J2 and the third axis J3 of the first arm 5, and the distance L2 between the third axis J3 and the fifth axis J5 of the second arm 6 and the first wrist element 7. Another example of a dimension is the distance L3 from the fifth axis J5 to the flange surface 9 f.

[0020] The center of gravity positions are the center position of dimension L1 on the longitudinal axis of the first arm 5, the center position of dimension L2 on the fourth axis J4, and the center position of dimension L3 on the sixth axis J6.

[0021] The control device 10 has a function for setting the mass and center of gravity of a mounting member or the like attached to the flange surface 9 f. A user or the like uses this function to input the mass and center of gravity of a tool T attached to the flange surface 9 f. This allows the robot 1 to be appropriately controlled in consideration of the load acting on the robot 1 due to the heavy object, even if the characteristics of the entire robot 1 change when a heavy object is attached to the flange surface 9 f.

[0022] In addition to the above functions, the control device 10 of the present disclosure has a function of setting the filament 2 connected to the tool T as a load. Specifically, the control device 10 stores in the memory 12 a setting program for setting the filament 2 as a load.

[0023] A user or the like who has attached the filament 2 to the robot 1 starts a setting program stored in the memory 12, thereby displaying a predetermined user interface on the screen of the input device 11. Then, the user or the like inputs, for example, the total weight (mass) of the filament 2 according to the displayed user interface.

[0024] When the total weight is input, the processor 13 of the control device 10 divides the total weight into three weights based on the ratio L1:L2:L3 of the dimensions L1 to L3 stored as initial settings in the memory 12. The processor 13 then sets each of the three divided weights as a load acting on each of the center-of-gravity positions stored as initial settings in the memory 12.

[0025] That is, a weight having a ratio corresponding to dimension L1 is set as a load acting on the first arm 5 at the center of gravity of the dimension L1. A weight having a ratio corresponding to dimension L2 is set as a load acting on the second arm 6 at the center of gravity of the dimension L2. A weight having a ratio corresponding to dimension L3 is set as a load acting on the second wrist element 8 at the center of gravity of the dimension L3.

[0026] 3, in the control method according to this embodiment, first, the total weight of the filament 2 is input to the input device 11 by a user or the like (step S1). When the tool T and the filament 2 are mounted on the robot 1, the total weight of the filament 2 may be input along with the mass and center of gravity position of the tool T. The input total weight of the filament 2 is then sent to and stored in the memory 12 together with the mass and center of gravity position of the tool T.

[0027] Next, the processor 13 reads out the dimensions L1 to L3 stored in the memory 12, and divides the total weight of the input filament 2 into three parts based on the ratio of the read dimensions L1:L2:L3 (step S2).

[0028] Then, the processor 13 sets each of the three weights as a load acting on each movable member, i.e., the first arm 5, the second arm 6, and the second wrist element 8 (step S3). In other words, the total weight of the umbilical member 2 mounted on the robot 1 is distributed as a load corresponding to each movable member.

[0029] By setting in this manner, the control device 10 can detect contact between the robot 1 and an external object, etc., taking into account, for example, the load caused by the umbilical cord 2. An example of a method for contact detection when the control device 10 causes the robot 1 to perform a predetermined task will be described below.

[0030] The processor 13 reads out from the memory 12 an operation program for causing the robot 1 to perform a predetermined task and executes it. As a result, the processor 13 rotates the motors of the rotary joints A1 to A6 of the robot 1 based on a plurality of operation commands included in the operation program, thereby sequentially changing the posture of the robot 1.

[0031] In this case, before the robot 1 performs a predetermined movement, the processor 13 estimates the forces acting on the rotary joints A2, A3, and A5 based on the inertial forces acting on each movable member due to the movement and the weight (mass) of each movable member. Then, while the robot 1 performs the predetermined movement, the processor 13 acquires detection values ​​from the force sensors of the rotary joints A2, A3, and A5 and subtracts each estimated force from each acquired detection value.

[0032] If the subtracted value exceeds a predetermined threshold, the processor 13 determines that a force greater than expected is acting on the robot 1, that is, that the robot 1 is in contact with an external object or the like. If it is determined that contact is occurring, the processor 13 slows down or stops the movement of the robot 1. In this way, the control device 10 causes the robot 1 to perform a predetermined task while detecting contact with the robot 1.

[0033] In this case, the greater the total weight of the filament 2 attached to the robot 1, the greater the effect that the load from the filament 2 has on the force acting on each movable member, i.e., on the detection values ​​of each force sensor of the rotational joints A2, A3, and A5. If the weight of the filament 2 is not set as a load, a large error will occur between the estimated force acting on the rotational joints A2, A3, and A5 and the detection values ​​of each force sensor, resulting in an erroneous detection of contact by the robot 1.

[0034] According to this embodiment, when estimating the forces acting on the rotational joints A2, A3, and A5, the processor 13 can take into account the influence of the load from the filament 2 attached to the robot 1. Therefore, the processor 13 can more accurately estimate the forces acting on the rotational joints A2, A3, and A5, and can prevent erroneous detection of contact of the robot 1.

[0035] Furthermore, in this embodiment, the load acting on the robot 1 by the filament 2 is calculated based on the dimensional ratio L1:L2:L3 pre-stored in the memory 12 and the total weight of the filament 2 input by the user or the like. In other words, the user or the like does not need to input information regarding the length of the filament 2, and does not need to measure the length of the filament 2 corresponding to each movable member of the robot 1 when attaching the filament 2 to the robot 1, thereby reducing the burden on the user or the like.

[0036] In this embodiment, the total weight of the umbilical member 2 is set as the load acting on the robot 1, but instead, the weight of a portion of the umbilical member 2 may be set as the load.

[0037] 1, when the umbilical member 2 is in contact with the floor F between the base 3 and the control device 10, the weight of the umbilical member 2 from the contact position with the floor F to the other end connected to the tool T is set as the load. In this case, the weight of the umbilical member 2 from the end connected to the control device 10 to the contact position with the floor F, i.e., the weight of the portion that does not actually act as a load on the robot 1, can be excluded from the load setting. Therefore, the load setting for the robot 1 can be performed more accurately.

[0038] In this embodiment, the total weight of the filament 2 is divided based on the ratio of the dimensions L1, L2, and L3 corresponding to each movable member. Alternatively, the total weight of the filament 2 may be divided based on values ​​obtained by multiplying each of the dimensions L1, L2, and L3 by a coefficient greater than 1.

[0039] For example, if the filament 2 has a large excess length near the rotational joints A3 and A4 as shown in Figure 1, the dimensions L1 and L2 corresponding to that excess length can be multiplied by a larger coefficient. This allows the dimensions L1, L2, and L3 to be weighted according to the excess length of the filament 2, enabling highly accurate load setting that is more suited to the actual wiring configuration of the filament 2.

[0040] In this embodiment, the load from the umbilical member 2 attached to the robot 1 is set to act on the center of gravity of each movable member of the robot 1. Alternatively, the position on which the load from the umbilical member 2 acts may be set to any position input by a user or the like.

[0041] When designing a mounting member or the like for attaching the umbilical member 2 to the robot 1, the user or the like may consider the wiring path of the umbilical member 2 and set the center of gravity position of the umbilical member 2 in advance. In such a case, the user or the like may input the center of gravity position that the user or the like has previously determined based on the wiring configuration of the umbilical member 2 attached to the robot 1, using the input device 11. This allows the load due to the umbilical member 2 to be set in accordance with the actual state.

[0042] In this embodiment, the total weight of the filament 2 is distributed based on the dimensions L1 to L3 of each part of the robot 1. Alternatively, if the mass per unit length of the filament 2 is known, this may be input to estimate the load acting on each movable member based on the dimensions L1 to L3 stored in the memory 12.

[0043] In this case, a user or the like inputs the mass per unit length of the filament 2 using the input device 11. The processor 13 multiplies each of the dimensions L1, L2, and L3 stored in the memory 12 by the input mass per unit length of the filament 2, and estimates each value obtained by multiplication as the load acting on each movable member.

[0044] In this case, if a user or the like can easily measure the length of each section of the filament 2 that acts as a load on each movable member, the magnitude of the load acting on each movable member may be estimated based on the measured length of each section.

[0045] For example, a user or the like measures the length of each section obtained by dividing the total length of the filament 2 attached to the robot 1 according to the length of each movable member of the robot 1. Then, the user or the like inputs the measured length of each section into the input device 11 together with the mass per unit length of the filament 2. The processor 13 sets the value obtained by multiplying the input length of each section of the filament 2 by the input mass per unit length of the filament 2 as the load acting on each movable member. This makes it possible to more precisely set the load acting on the robot 1 due to the filament 2.

[0046] Furthermore, when a user or the like actually measures the length of each section of the filament 2 corresponding to each movable member, if an extra length is provided on at least one side of each section, the measurement may be performed at the midpoint of the extra length in the longitudinal direction of the section. That is, in the example shown in Fig. 4, since an extra length is provided on both sides of the section of the filament 2 corresponding to the second arm 6, it is sufficient to measure the length 1 along the filament 2 between midpoints M1 and M2 in the longitudinal direction of the extra length on both sides.

[0047] In this embodiment, the total weight of the filament 2 is input by the operator to the input device 11. Alternatively, when a dedicated tool T and the filament 2 are attached to the robot 1, the total weight of the filament 2 may be stored in advance in the memory 12 as an initial setting value.

[0048] Furthermore, in this embodiment, the mass of the filament 2 acts as a large load on the rotary joints A2, A3, and A5 that drive the first arm 5, the second arm 6, and the second wrist element 8. In addition, if the position of the center of gravity of the filament 2 can be set with high precision, the mass may be set as a load acting on the rotary joints A1, A4, and A6.

[0049] Furthermore, in the present embodiment, the control device 10 controls an articulated robot having six rotational joints A1 to A6, but the control target of the control device 10 is not limited to this. For example, the control device 10 may be applied to the control of a linear motion robot having at least one linear motion mechanism.

[0050] Furthermore, although the control method according to the present embodiment has been applied to contact detection of the robot 1, which is a collaborative robot, the present invention is not limited to this and may be applied to, for example, the motion control of a robot 1 other than a collaborative robot. In particular, when the arm members and wrist elements of the robot 1 are moved at high speed, the load of the umbilical member 2 attached to the robot 1 significantly affects the dynamic characteristics of the robot 1. Therefore, by applying the control method according to the present embodiment, it is possible to obtain the advantage of being able to more accurately control the robot 1, which operates at high speed.

[0051] Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the invention or the concept and spirit of the present invention derived from the content of the claims and their equivalents. 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.

[0052] The following supplementary notes are further disclosed regarding the above embodiments and modified examples. (Supplementary Note 1) A control device for controlling a robot having a plurality of movable members, comprising at least one processor, the processor acquiring the mass of a filament attached to the robot by retrofitting, and setting the acquired mass of the filament as a load acting on each of the movable members. (Supplementary Note 2) The control device according to Supplementary Note 1, comprising a memory that stores the length of each of the movable members, and the processor distributing the acquired mass of the filament as a load acting on each of the movable members in proportions corresponding to the lengths of each of the movable members stored in the memory. (Supplementary Note 3) The control device according to Supplementary Note 1, comprising a memory that stores the lengths of each of the movable members, and the processor acquiring the mass per unit length of the filament, and calculating the load acting on each of the movable members by multiplying the acquired mass per unit length of the filament by the length corresponding to the length of each of the movable members stored in the memory. (Supplementary Note 4) The control device according to Supplementary Note 3, wherein the length corresponding to the length of each of the movable members stored in the memory is calculated by multiplying the length of each of the movable members stored in the memory by a coefficient greater than 1. (Supplementary Note 5) The control device according to any of Supplementary Note 1 to Supplementary Note 4, wherein the processor detects interference between the robot and an object or person in the vicinity of the robot based on a value including the mass of each of the movable members and a load acting on each of the movable members. (Supplementary Note 6) A robot system comprising the robot and the control device according to any of Supplementary Note 1 to Supplementary Note 5. (Supplementary Note 7) A control method for controlling a robot having a plurality of movable members, the control method comprising: obtaining a mass of a filament attached to the robot by retrofitting; and setting the obtained mass of the filament as a load acting on each of the movable members.

[0053] REFERENCE SIGNS LIST 1 Robot 2 Filament 5 First arm (movable member) 6 Second arm (movable member) 7 First wrist element (movable member) 8 Second wrist element (movable member) 9 Third wrist element (movable member) 10 Control device 12 Memory 13 Processor 100 Robot system

Claims

1. A control device for controlling a robot equipped with multiple movable members, Equipped with at least one processor, The processor, The mass of the linear body that is retrofitted to the aforementioned robot is obtained, A robot control device that sets the acquired mass of the linear body as a load acting on each of the movable members.

2. It is equipped with a memory for storing the length of each of the aforementioned movable members, The aforementioned processor, The control device according to claim 1, wherein the acquired mass of the linear body is distributed as a load acting on each of the movable members in proportion to the length of each of the movable members stored in the memory.

3. It is equipped with a memory for storing the length of each of the aforementioned movable members, The aforementioned processor, The mass per unit length of the aforementioned linear body is obtained, The control device according to claim 1, which calculates the load acting on each movable member by multiplying the acquired mass per unit length of the linear body by the length corresponding to the length of each movable member stored in the memory.

4. The control device according to claim 3, wherein the length corresponding to the length of each of the movable members stored in the memory is calculated by multiplying the length of each of the movable members stored in the memory by a coefficient greater than 1.

5. The control device according to any one of claims 1 to 4, wherein the processor detects interference between the robot and an object or person in the vicinity of the robot based on a value including the mass of each of the movable members and the load acting on each of the movable members.

6. The aforementioned robot, A robot system comprising a control device according to any one of claims 1 to 4.

7. The aforementioned robot, A robot system comprising the control device described in claim 5.

8. A control method for controlling a robot equipped with multiple movable members, The mass of the linear body that is retrofitted to the aforementioned robot is obtained, A control method for setting the acquired mass of the linear body as a load acting on each of the movable members.