ROBOT CONTROL METHOD, ROBOT SYSTEM, AND ROBOT CONTROL PROGRAM

JP7643144B2Active Publication Date: 2025-03-11SEIKO EPSON CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2021062360
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-31
Publication Date
2025-03-11
Estimated Expiration
2041-03-31

Smart Images

  • Figure 0007643144000001
    Figure 0007643144000001
  • Figure 0007643144000002
    Figure 0007643144000002
  • Figure 0007643144000003
    Figure 0007643144000003
Patent Text Reader

Abstract

To provide a method for controlling a robot, a robot system, and a program for controlling a robot that are capable of inhibiting vibrations in a simple manner.SOLUTION: Provided is a method for controlling a robot including a base, a robot arm coupled to the base, and a drive unit including a motor for driving the robot arm. The method includes a first step of acquiring weight information including information on a weight of an end effector installed on the robot arm and a weight of an object to be worked by the end effector, a second step of determining a frequency component to be removed from a drive signal for driving the motor based on the weight information acquired in the first step, and a third step of removing the frequency component determined in the second step from the drive signal to generate a correction drive signal.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a robot control method, a robot system, and a robot control program. [Background technology]

[0002] In recent years, due to rising labor costs and labor shortages in factories, automation of tasks that have been performed manually has been accelerating using various robots and their peripheral devices. As an example of various robots, a robot such as that shown in Patent Document 1 is known.

[0003] The robot in Patent Document 1 performs the following operations to reduce vibration of the arm. First, the end effector attached to the arm is struck to vibrate it, and the vibration is measured. Next, the natural frequency of the arm is calculated based on the measurement results. Then, based on the calculated natural frequency, a specific frequency component is removed from the torque control signal for operating the arm to correct the torque control signal.

[0004] By driving the arm with this corrected torque signal, it is possible to reduce vibrations occurring in the arm. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2001-293638 A Summary of the Invention [Problem to be solved by the invention]

[0006] However, with the robot of Patent Document 1, it is necessary to perform a hammering operation to identify the natural frequency, and to prepare a measuring device to measure the vibration, which is time-consuming. [Means for solving the problem]

[0007] A method for controlling a robot according to the present invention is a method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, the method comprising the steps of: A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal that drives the motor based on the weight information acquired in the first step; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

[0008] The robot system of the present invention includes a base and A robot arm connected to the base; A drive unit including a motor that drives the robot arm; A control unit that controls the operation of the robot arm, The control unit is an acquisition unit that acquires weight information that is information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; The present invention is characterized in that it has a correction signal generation unit that determines frequency components to be removed from the drive signal based on the weight information acquired by the acquisition unit, and removes the determined frequency components from the drive signal to generate a corrected drive signal.

[0009] A robot control program of the present invention is a program for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal that drives the motor based on the weight information acquired in the first step; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal. [Brief description of the drawings]

[0010] [Figure 1] 1 is a schematic configuration diagram of a robot system according to the present invention. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] FIG. 2 is a block diagram of a control device shown in FIG. [Figure 4] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Diagram 5] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 6] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 7] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 8] 2 is a side view showing the positional relationship between the center of gravity of a robot arm and the center of gravity of an end effector of the robot shown in FIG. 1. [Figure 9] 2 is a side view showing the positional relationship between the center of gravity of a robot arm and the center of gravity of an end effector of the robot shown in FIG. 1. [Figure 10] FIG. 2 is a diagram showing the overall shape of the robot arm shown in FIG. [Figure 11] FIG. 2 is a diagram showing the overall shape of the robot arm shown in FIG. [Figure 12] 1 is a flowchart for explaining a control method for a robot of the present invention. [Figure 13] FIG. 2 is a diagram for explaining a movement path of the robot arm shown in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a robot control method, a robot system, and a robot control program according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.

[0012] <Embodiment> FIG. 1 is a schematic diagram of a robot system of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a block diagram of the control device shown in FIG. 1. FIGS. 4 to 7 are diagrams showing examples of tables referred to by the adjustment unit. FIGS. 8 and 9 are side views showing the positional relationship between the center of gravity of the robot arm and the center of gravity of the end effector of the robot shown in FIG. 1. FIGS. 10 and 11 are diagrams showing the overall shape of the robot arm shown in FIG. 1. FIG. 12 is a flowchart for explaining a control method of the robot of the present invention.

[0013] For ease of explanation, FIG. 1 illustrates three mutually orthogonal axes: the x-axis, the y-axis, and the z-axis. In the following, the direction parallel to the x-axis is also referred to as the "x-axis direction", the direction parallel to the y-axis is also referred to as the "y-axis direction", and the direction parallel to the z-axis is also referred to as the "z-axis direction". In FIG. 1, the z-axis direction, i.e., the up-down direction, is referred to as the "vertical direction", and the x-axis and y-axis directions, i.e., the left-right direction, are referred to as the "horizontal direction". In addition, for each axis, the tip side is referred to as the "+ side" and the base side is referred to as the "- side".

[0014] 1 and 2 is a device used for operations such as holding, transporting, assembling, and inspecting an object (hereinafter referred to as a "workpiece") that is the subject of work, such as an electronic component or an electronic device. The robot system 100 includes a robot 2, a teaching device 3 that teaches the robot 2 an operation program, a control device 8 that controls the operation of the robot 2, a force detection unit 5, and an end effector 7. The robot 2 and the teaching device 3 are capable of communicating with each other by wire or wirelessly, and the communication may be performed via a network such as the Internet.

[0015] First, the robot 2 will be described. In the illustrated configuration, the robot 2 is a horizontal articulated robot, i.e., a SCARA robot. However, the configuration is not limited to this, and the robot 2 may be an articulated robot such as a vertical six-axis robot. As shown in Fig. 1, the robot 2 has a base 21, a robot arm 20 connected to the base 21, and a reception unit 4 that receives a predetermined operation from an operator.

[0016] The base 21 is a portion that supports the robot arm 20. A control device 8, which will be described later, is built into the base 21. The origin of the robot coordinate system is set at an arbitrary portion of the base 21. The x-axis, y-axis, and z-axis shown in FIG. 1 are the axes of the robot coordinate system.

[0017] The robot arm 20 includes a first arm 22 connected to a base 21, a second arm 23, and a third arm 24 that is a working head. The connecting portion between the base 21 and the first arm 22, the connecting portion between the first arm 22 and the second arm 23, and the connecting portion between the second arm 23 and the third arm 24 are also referred to as joints.

[0018] It should be noted that the robot 2 is not limited to the configuration shown in the figure, and the number of arms may be one or two, or may be four or more.

[0019] The robot 2 also includes a drive unit 25 that rotates the first arm 22 relative to the base 21, a drive unit 26 that rotates the second arm 23 relative to the first arm 22, a u drive unit 27 that rotates the shaft 241 of the third arm 24 relative to the second arm 23, and a z drive unit 28 that moves the shaft 241 in the z-axis direction relative to the second arm 23.

[0020] As shown in Figures 1 and 2, the drive unit 25 is built into the housing 220 of the first arm 22, and has a motor 251 that generates a drive force, a brake 252, a reducer (not shown) that reduces the drive force of the motor 251, and an encoder 253 that detects the rotation angle of the rotating shaft of the motor 251 or the reducer.

[0021] The drive unit 26 is built into the housing 230 of the second arm 23, and has a motor 261 that generates a driving force, a brake 262, a reducer (not shown) that reduces the driving force of the motor 261, and an encoder 263 that detects the rotation angle of the rotating shaft of the motor 261 or the reducer.

[0022] The u drive unit 27 is built into the housing 230 of the second arm 23 and has a motor 271 that generates a driving force, a brake 272, a reducer (not shown) that reduces the driving force of the motor 271, and an encoder 273 that detects the rotation angle of the rotating shaft of the motor 271 or the reducer.

[0023] The z drive unit 28 is built into the housing 230 of the second arm 23, and has a motor 281 that generates a driving force, a brake 282, a reducer (not shown) that reduces the driving force of the motor 281, and an encoder 283 that detects the rotational angle of the rotating shaft of the motor 281 or the reducer.

[0024] For example, a servo motor such as an AC servo motor or a DC servo motor can be used as the motor 251, the motor 261, the motor 271, and the motor 281. In addition, for example, a planetary gear type reducer, a wave gear device, etc. can be used as the reducer.

[0025] The brakes 252, 262, 272, and 282 have a function of decelerating the robot arm 20. Specifically, the brake 252 decelerates the motion speed of the first arm 22, the brake 262 decelerates the motion speed of the second arm 23, the brake 272 decelerates the motion speed of the third arm 24 in the u-axis direction, and the brake 282 decelerates the motion speed of the third arm 24 in the z-axis direction.

[0026] The control device 8 changes the energization conditions to activate the brakes 252, 262, 272, and 282, thereby decelerating each portion of the robot arm 20. The brakes 252, 262, 272, and 282 are controlled by the control device 8 independently of the motors 251, 261, 271, and 281.

[0027] Brakes 252, 262, 272, and 282 include electromagnetic brakes, mechanical brakes, hydraulic brakes, pneumatic brakes, and the like.

[0028] 2, the encoders 253, 263, 273, and 283 are position detection units that detect the position of the robot arm 20. The encoders 253, 263, 273, and 283 are each electrically connected to the control device 8. The encoders 253, 263, 273, and 283 transmit information relating to the detected rotation angles to the control device 8 as electric signals. This allows the control device 8 to control the operation of the robot arm 20 based on the received information relating to the rotation angles.

[0029] Such drive unit 25, drive unit 26, u drive unit 27 and z drive unit 28 are each connected to a corresponding motor driver (not shown), and are controlled by control device 8 via the motor driver.

[0030] The base 21 is fixed to a floor surface (not shown) by, for example, bolts or the like. A first arm 22 is connected to the upper end of the base 21. The first arm 22 is rotatable around a first axis O1 that is vertical to the base 21. When a drive unit 25 that rotates the first arm 22 is driven, the first arm 22 rotates around the first axis O1 in a horizontal plane relative to the base 21. In addition, an encoder 253 can detect the amount of rotation of the first arm 22 relative to the base 21.

[0031] Further, the second arm 23 is connected to the tip of the first arm 22. The second arm 23 is rotatable around a second axis O2 that is vertical to the first arm 22. The axial direction of the first axis O1 and the axial direction of the second axis O2 are the same. That is, the second axis O2 is parallel to the first axis O1. When the driving unit 26 that rotates the second arm 23 is driven, the second arm 23 rotates around the second axis O2 in a horizontal plane relative to the first arm 22. Further, the encoder 263 is capable of detecting the amount of drive of the second arm 23 relative to the first arm 22, specifically, the amount of rotation.

[0032] Further, a third arm 24 is installed and supported at the tip of the second arm 23. The third arm 24 has a shaft 241. The shaft 241 is rotatable about a third axis O3 along the vertical direction relative to the second arm 23, and is also movable in the up and down direction. This shaft 241 is the arm at the very tip of the robot arm 20.

[0033] When the u-drive unit 27 that rotates the shaft 241 is driven, the shaft 241 rotates around the z-axis. In addition, the amount of rotation of the shaft 241 relative to the second arm 23 can be detected by the encoder 273.

[0034] When the z drive unit 28 that moves the shaft 241 in the z-axis direction is driven, the shaft 241 moves up and down, i.e., in the z-axis direction. The amount of movement of the shaft 241 in the z-axis direction relative to the second arm 23 can be detected by the encoder 283.

[0035] In addition, in the robot 2, the tip of the shaft 241 is set as a control point TCP, and a tip coordinate system is set with this control point TCP as the origin. This tip coordinate system has been calibrated with the above-mentioned robot coordinate system, and the position in the tip coordinate system can be converted into the robot coordinate system. This makes it possible to identify the position of the control point TCP in the robot coordinate system.

[0036] Moreover, various end effectors 7 are detachably connected to the lower end of the shaft 241. In the illustrated configuration, the end effector 7 is a hand that grips a workpiece. However, the end effector 7 is not limited to this configuration and may be, for example, a hand that grips a workpiece by suction or adsorption, a tool such as a screwdriver or a wrench, or an applicator such as a sprayer.

[0037] In this embodiment, the end effector 7 is not a component of the robot 2, but a part or the whole of the end effector 7 may be a component of the robot 2.

[0038] 1, the force detection unit 5 detects the force applied to the robot 2, i.e., the force applied to the robot arm 20 and the base 21. In this embodiment, the force detection unit 5 is provided below the base 21, i.e., on the -z axis side, and supports the base 21 from below.

[0039] The position where the force detection unit 5 is installed is not limited to the above, and may be, for example, the lower end of the shaft 241 or each joint portion.

[0040] The force detection unit 5 can be configured to include a plurality of elements that are made of a piezoelectric material such as quartz crystal and output a charge when an external force is applied. The control device 8 can convert the amount of charge into a value related to the external force applied to the robot arm 20. In addition, with such a piezoelectric material, the direction in which a charge can be generated when an external force is applied can be adjusted according to the installation direction.

[0041] The reception unit 4 is a portion that receives a predetermined operation by an operator. The reception unit 4 has a teaching button, not shown. This teaching button can be used when performing direct teaching. The teaching button may be a mechanical button or a touch-type electric button. Other buttons with different functions may be provided around the teaching button.

[0042] Next, the teaching device 3 will be described. 2, the teaching device 3 has a function of specifying an operation program for the robot 2. Specifically, the teaching device 3 inputs the position and posture of the robot arm 20 to the control device 8.

[0043] 2, the teaching device 3 includes a CPU (Central Processing Unit) 31, a storage unit 32, a communication unit 33, and a display unit 34. The teaching device 3 is not particularly limited, and examples thereof include a tablet, a personal computer, and a smartphone.

[0044] The CPU 31 reads and executes various programs and the like stored in the storage unit 32. Signals generated by the CPU 31 are transmitted to the control device 8 of the robot 2 via the communication unit 33. This enables the robot arm 20 to perform a predetermined task under predetermined conditions.

[0045] The storage unit 32 stores various programs executable by the CPU 31. Examples of the storage unit 32 include a volatile memory such as a random access memory (RAM), a non-volatile memory such as a read only memory (ROM), and a removable external storage device.

[0046] The communication unit 33 transmits and receives signals to and from the control device 8 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN.

[0047] The display unit 34 is configured with various displays. In the present embodiment, a touch panel type display will be described as an example, that is, the display unit 34 has a display function and an input operation function.

[0048] However, the present invention is not limited to such a configuration, and may be configured to include a separate input operation unit. In this case, examples of the input operation unit include a mouse and a keyboard. Alternatively, a touch panel may be used in combination with a mouse and a keyboard.

[0049] Next, the control device 8 will be described. 1, in this embodiment, the control device 8 is built into the base 21. As shown in FIG. 2, the control device 8 has a function of controlling the driving of the robot 2, and is electrically connected to each of the above-mentioned parts of the robot 2. However, this is not limited thereto, and the control device 8 may be configured separately from the robot 2.

[0050] Here, when the robot arm 20 pauses during work or stops after completing work, vibrations occur in the robot arm 20. Since this vibration affects the accuracy and time of the work, it is preferable to reduce it as much as possible. More specifically, it is preferable to shorten the time until the vibration subsides as much as possible. In the following, shortening the time until the vibration subsides is referred to as "suppressing vibration."

[0051] In order to suppress vibration, the robot system 100 removes specific frequency components from the drive signals that drive the motors 251, 261, 271, and 281 to generate corrected drive signals.

[0052] The strength of the vibration is determined by various conditions such as the weight of the end effector 7, the attitude of the robot arm 20 when stopped, the position of the control point TCP, the path that has been traveled so far, the speed and acceleration on that path, etc.

[0053] In order to determine which frequency components should be removed from the drive signal to generate the corrected drive signal, it is preferable to make the determination taking these conditions into consideration. Among these, the weight of the end effector 7 is particularly likely to affect vibration suppression, so in the present invention, the corrected drive signal is generated based on the weight of the end effector 7. This will be explained in detail below.

[0054] 3, the control device 8 executes the robot control method of the present invention and includes a motion processing unit 8A, a servo processing unit 8B, a storage unit 8C, and a communication unit 8D. Each of the motion processing unit 8A and the servo processing unit 8B is composed of at least one processor.

[0055] The storage unit 8C stores various programs executable by the motion processing unit 8A and the servo processing unit 8B, various programs such as the robot control program of the present invention, and tables, which will be described later. Examples of the storage unit 8C include volatile memories such as RAM (Random Access Memory), non-volatile memories such as ROM (Read Only Memory), and removable external storage devices. The communication unit 8D transmits and receives signals between each part of the robot 2 and the teaching device 3 using an external interface such as a wired LAN (Local Area Network) or wireless LAN.

[0056] The motion processing unit 8A includes a position command generating unit 81 and an adjusting unit . The position command generating unit 81 generates a position command signal representing a target position where the end effector 7 should be located, and a speed and acceleration to the target position, based on an operation program input by the user. The user can input the operation program using an input device such as the teaching device 3.

[0057] Based on information input by the user, the adjustment unit 82 determines the frequency components to be removed by the filter processing unit 85. This will be described later.

[0058] The servo processing unit 8B has a position control unit 83, a speed control unit 84, a filter processing unit 85, and a current control unit 86.

[0059] The position control unit 83 receives information on the target position, the speed to the target position, and the acceleration generated by the position command generation unit 81, and based on this information and the detection results of the force detection unit 5, generates and outputs speed control signals for each of the motors 251, 261, 271, and 281.

[0060] The speed control unit 84 receives a speed control signal from the position control unit 83. In addition, the speed control unit 84 generates a torque control signal (hereinafter also referred to as a “drive signal”) based on the speed control signal received from the position control unit 83 and the detection results of the encoders 253, 263, 273, and 283, and outputs the generated torque control signal to the filter processing unit 85.

[0061] The filter processing unit 85 uses a band elimination filter to remove specific frequency components from the torque control signal received from the speed control unit 84, thereby generating a new torque control signal (hereinafter also referred to as a "corrected drive signal") and outputs it to the current control unit 86. In this specification, "removal" not only includes reducing specific frequency components as well as setting them to zero. The filter processing unit 85 determines the coefficients to be used in the band elimination filter, i.e., the frequency components to be removed using the band elimination filter, based on the signal output by the adjustment unit 82.

[0062] The current control unit 86 receives a torque control signal from the filter processing unit 85, and also receives a feedback signal from a servo amplifier (not shown) indicating the amount of current to be supplied to the motors 251, 261, 271, and 281. The current control unit 86 determines the amount of current to be supplied to the motors 251, 261, 271, and 281 based on the torque control signal received from the filter processing unit 85 and the feedback signal received from the servo amplifier (not shown), and drives the motors 251, 261, 271, and 281.

[0063] Here, in the robot system 100, the user can input information on the weight of the end effector 7 and the weight of the workpiece via the teaching device 3. For example, the user may directly input the weight of the end effector 7 and the weight of the workpiece, or the adjustment unit 82 may specify the weight of the end effector 7 based on a table showing the relationship between the input result and the weight of the end effector 7 by inputting the type of the end effector 7. The weight of the workpiece may also be specified using a table in a similar manner. Then, the adjustment unit 82 determines the frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the information on the weight of the end effector 7 and the weight of the workpiece (hereinafter referred to as "weight information"). Specifically, the adjustment unit 82 determines the frequency components to be removed by referring to a table T1 shown in FIG. 4. The table T1 indicates the relationship between the weight information and the frequency components, and is obtained in advance through experiments. Note that, instead of table T1, the frequency components to be removed may be determined based on a calibration curve that indicates the relationship between weight information and frequency components.

[0064] As shown in FIG. 4, for example, when the weight of the end effector 7 is W1, the frequency component to be removed is F1. Then, a signal corresponding to F1 is output to the filter processing unit 85. Then, through the above-mentioned processing, a corrected drive signal can be obtained. By driving the motors 251, 261, 271, and 281 with such a corrected drive signal, the resonance of the robot arm 20, the end effector 7, etc. is suppressed by the removed frequency component, and the time until the vibration subsides can be shortened. In particular, since the correction signal is generated based on the weight information, more direct correction can be performed, and a corrected drive signal with high vibration suppression accuracy can be generated by simple processing.

[0065] In addition, when the end effector 7 is configured not to grip a workpiece, the weight of the workpiece is set to 0, and the weight information is only the weight of the end effector 7.

[0066] Here, when the frequency component to be removed is F0, F0 can be expressed by the following equation (1).

[0067] F0=K1×W×Ew×J 2 +K2×Ez×Z×J+K0×W×Z…(1) K1, K2, and K0 in formula (1) are coefficients specific to the robot and can be calculated from actual measured values. Furthermore, J in formula (1) indicates the rotation angle of the second arm 23 relative to the first arm 22. Furthermore, W in formula (1) indicates weight information. Furthermore, Z in formula (1) indicates the position of the control point TCP in the z-axis direction. Furthermore, Ew in formula (1) indicates the total weight of the end effector 7 and the workpiece. Furthermore, Ez in formula (1) indicates the center of gravity position of the end effector 7 and the workpiece combined.

[0068] For this reason, it is preferable to generate a corrected drive signal by taking into consideration at least one of these in addition to the weight information.

[0069] In addition, it is preferable to generate a corrected drive signal taking into consideration the positional relationship between the center of gravity G1 in a predetermined posture of the robot arm 20 and the center of gravity G2 of the end effector 7. In this embodiment, the predetermined posture refers to a posture in which the control point TCP is stopped or temporarily stopped at a target position. The time until the vibration subsides differs between the positional relationship A1 shown in FIG. 8 and the positional relationship A2 shown in FIG. 9 when the positional relationship between the center of gravity G1 and the center of gravity G2 when stopped. This is because the natural vibration characteristics of the entire robot 2 change depending on the distance between the center of gravity G1 and the center of gravity G2 and the direction in which the center of gravity G1 and the center of gravity G2 are shifted.

[0070] For this reason, as shown in Figure 5, by preparing a table T1 as described above for each positional relationship between the center of gravity G1 and the center of gravity G2 and generating a correction drive signal by referring to one of these depending on the positional relationship, it is possible to generate a correction drive signal with even higher accuracy in vibration suppression.

[0071] It is also preferable to generate the corrected drive signal taking into consideration the overall shape of the robot arm 20 in a predetermined posture of the robot arm 20. The overall shape of the robot arm 20 is determined based on the rotational positions of the motors 251, 261, 271, and 281. In particular, in a SCARA robot, the rotational angle of the motor 261, i.e., the angle between the first arm 22 and the second arm 23, has a large effect on the vibration characteristics. Note that information about the overall shape of the robot arm 20 is included in the information about the movement path input by the user. Therefore, when the user inputs information about the movement path, the control device 8 can grasp the posture in which the robot arm 20 is stopped or temporarily stopped at the target position.

[0072] The time it takes for the vibration to subside differs depending on whether the overall shape of the robot arm 20 when stopped is shape B1 as shown in Fig. 10 or shape B2 as shown in Fig. 11. This is because the natural vibration characteristics of the entire robot 2 change mainly depending on the distance between the position of the control point TCP and the base of the robot arm 20.

[0073] For this reason, as shown in Fig. 6, by preparing a table T1 as described above for each overall shape of the robot arm 20, particularly for each angle between the first arm 22 and the second arm 23, and generating a correction drive signal by referring to any one of these, it is possible to generate a correction drive signal with higher vibration suppression accuracy. This type of control is particularly effective when applied to a vertical articulated robot such as a six-axis robot.

[0074] It is also preferable to generate a correction drive signal taking into account the height of the control point TCP in a given posture of the robot arm 20, i.e., the position in the z-axis direction. In particular, in a SCARA robot as shown in the figure, the height of the control point TCP is relatively likely to affect vibration characteristics. Note that information regarding the height of the control point TCP in a given posture of the robot arm 20 is included in the information on the movement path input by the user. Therefore, when the user inputs information regarding the movement path, the control device 8 can grasp the height of the control point TCP when the robot arm is stopped or temporarily stopped at the target position.

[0075] The time until the vibration subsides differs depending on whether the height of the control point TCP when stopped is, for example, the position shown in Fig. 8 or the position shown in Fig. 9. In general, the lower the height of the control point TCP, the longer the time until the vibration subsides. In the illustrated configuration, the time until the vibration subsides tends to be longer when the control point TCP is at height C2 than when the control point TCP is at height C1.

[0076] For this reason, as shown in Fig. 7, by preparing the above-mentioned table T1 for each height of the control point TCP and generating a correction drive signal by referring to one of these, it is possible to generate a correction drive signal with higher vibration suppression accuracy. This type of control is particularly effective when applied to a SCARA robot.

[0077] The correction drive signal may be generated by combining these elements. For example, a multi-dimensional table may be prepared.

[0078] Next, an example of a method for controlling a robot of the present invention will be described with reference to the flow chart shown in FIG.

[0079] First, in step S101, weight information is acquired. As described above, this step is performed by the user inputting information regarding the weight of the end effector 7 and the weight of the workpiece using the teaching device 3, and the information is acquired by the control device 8. Note that if the weight of the workpiece is 0, input of the weight of the workpiece may be omitted. This step S101 is the first step.

[0080] Next, in step S102, based on the weight information acquired in step S101, frequency components to be removed from the drive signals that drive motors 251, 261, 271, and 281 are determined. This step is executed by adjustment unit 82. Also, as described above, this step is executed by appropriately selecting a table according to the information input in step S101 and referring to the selected table. This step S102 is the second step.

[0081] Next, in step S103, the frequency component determined in step S102 is removed from the drive signal to generate a corrected drive signal. As described above, this step is executed by the filter processing unit 85. This step S103 is the third step.

[0082] Next, in step S104, motors 251, 261, 271, and 281 are driven based on the corrected drive signal. This suppresses vibrations when stopped or temporarily stopped, allowing work to be performed accurately and quickly. This step S104 is the fourth step.

[0083] As described above, the method for controlling a robot of the present invention is a method for controlling a robot 2 having a base 21, a robot arm 20 connected to the base 21, and a drive unit 25, a drive unit 26, a u drive unit 27, and a z drive unit 28 including a motor 251, a motor 261, a motor 271, and a motor 281 for driving the robot arm 20. The method for controlling a robot of the present invention also includes a first step of acquiring weight information including information on the weight of the end effector 7 installed on the robot arm 20 and the weight of an object that is the work target of the end effector 7, a second step of determining frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the weight information acquired in the first step, and a third step of generating a corrected drive signal by removing the frequency components determined in the second step from the drive signal. By driving the robot 2 with such a corrected drive signal, vibrations when stopped or temporarily stopped can be suppressed, and work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to obtain information about vibration characteristics can be omitted, and vibration can be suppressed in a simple manner.

[0084] In the second step, the frequency components are determined based on a calibration curve or table that indicates the relationship between the frequency components and the weight information, which makes it possible to determine the frequency components to be removed by simple processing.

[0085] Moreover, the frequency components in the second step are determined based on the positional relationship between the center of gravity G1 of the robot arm 20 in a predetermined posture and the center of gravity G2 of the end effector 7. This makes it possible to generate a corrected drive signal with even higher accuracy in vibration suppression.

[0086] Moreover, the determination of the frequency components in the second step is further performed based on the overall shape of the robot arm 20 in a predetermined posture of the robot arm 20. This makes it possible to generate a corrected drive signal with even higher accuracy in vibration suppression.

[0087] Moreover, the frequency component in the second step is determined based on the height of the control point TCP set on the third arm 24. This makes it possible to generate a corrected drive signal with even higher accuracy in vibration suppression.

[0088] In the third step, a band elimination filter is used to remove the frequency component determined in the second step from the drive signal to generate a corrected drive signal. This makes it possible to generate a corrected drive signal through simple processing.

[0089] Moreover, the control method for the robot of the present invention has a fourth step of driving the driving unit 25, the driving unit 26, the u driving unit 27, and the z driving unit 28 based on the corrected driving signal. This makes it possible to suppress vibrations when the robot is stopped or temporarily stopped, and to perform work accurately and quickly.

[0090] In this embodiment, various information may be input using an input device other than the teaching device 3. The robot system 100 may also be configured to include a detection unit that detects the type of the attached end effector 7 and acquire the detection result of the detection unit. In this case, a table (not shown) indicating the relationship between the detection result of the detection unit and the weight of the end effector 7 is stored in the storage unit 8C.

[0091] The robot control program of the present invention is a control program for controlling the robot 2 having the base 21, the robot arm 20 connected to the base 21, and the drive unit 25, drive unit 26, u drive unit 27, and z drive unit 28 including the motors 251, 261, 271, and 281 for driving the robot arm 20. The robot control program of the present invention is for executing a first step of acquiring weight information including information on the weight of the end effector 7 installed on the robot arm 20 and the weight of an object that is the work target of the end effector 7, a second step of determining frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the weight information acquired in the first step, and a third step of generating a corrected drive signal by removing the frequency components determined in the second step from the drive signal. By driving the robot 2 with the corrected drive signal obtained by executing such a robot control program, vibrations when stopped or temporarily stopped can be suppressed, and the work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to obtain information about vibration characteristics can be omitted, and vibration can be suppressed in a simple manner.

[0092] The robot control program of the present invention may be stored in the memory unit 32, may be stored in the memory unit 8C, may be stored in a recording medium such as a CD-ROM, or may be stored in a storage device connectable via a network, etc.

[0093] The robot system of the present invention includes a base 21, a robot arm 20 connected to the base 21, a drive unit 25 including a motor 251, a motor 261, a motor 271, and a motor 281 for driving the robot arm 20, a drive unit 26, a u drive unit 27, and a z drive unit 28, and a control device 8 that is a control unit for controlling the operation of the robot arm 20. The control device 8 also includes a communication unit 8D that is an acquisition unit that acquires weight information that is information about the weight of the end effector 7 installed on the robot arm 20 and the weight of an object that is the work target of the end effector 7, and an adjustment unit 82 and a filter processing unit 85 that are correction signal generation units that determine frequency components to be removed from the drive signal based on the weight information acquired by the communication unit 8D, and remove the determined frequency components from the drive signal to generate a correction drive signal. By driving the robot 2 with such a correction drive signal, vibrations when stopped or temporarily stopped can be suppressed, and work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to acquire information about vibration characteristics can be omitted, and vibrations can be suppressed in a simple manner.

[0094] Although the robot control method, robot system, and robot control program of the present invention have been described above based on the illustrated embodiments, the present invention is not limited to this, and the configuration of each part can be replaced with any configuration having a similar function. In addition, any other components and steps may be added to the robot control method, robot system, and robot control program, respectively.

[0095] In the above embodiment, the control device 8 generates the correction drive signal, but the present invention is not limited to this, and the teaching device 3 may generate the correction drive signal. In other words, the "control unit" may be regarded as the control device 8, or as a control unit built into the teaching device 3.

[0096] In addition, in the above embodiment, the posture of the robot arm when stopped and the height of the control point TCP of the robot arm when stopped are described as being based on the posture at the target position and the height of the control point, but the present invention is not limited to this, and for example, the following control may be performed.

[0097] First, a case where the robot arm 20 performs an operation as shown in Fig. 13 will be described. Note that Fig. 13 illustrates the trajectory of the control point TCP. The operation shown in Fig. 13 is an operation of performing an upward operation, a horizontal operation, and a downward operation. The upward operation is performed from an upward operation start position P1 to an upward operation end position P2. The horizontal operation is performed from an upward operation end position P2 to a downward operation start position P3. The downward operation is performed from a downward operation start position P3 to a downward operation end position P4.

[0098] In the above embodiment, the configuration has been described in which the frequency components to be removed are determined based on the target position, i.e., the lowering operation end position P4, but depending on various conditions, the frequency components to be removed may be determined based on the height of the control point TCP at the ascent operation start position P1 or the descent operation start position P3 in order to suppress horizontal vibrations. Specifically, when none of the following condition 1, condition 2, and condition 3 are satisfied, the frequency components to be removed may be determined based on the height of the control point TCP at the ascent operation start position P1.

[0099] If at least one of the following conditions 1, 2, and 3 is satisfied, the frequency components to be removed are determined based on the height of the control point TCP at the lowering operation start position P3, and if none of the following conditions 1, 2, and 3 are satisfied, the frequency components to be removed may be determined based on the height of the control point TCP at the operation start position P1.

[0100] Condition 1: The distance between a lowering operation start position P3 where the lowering operation starts and a lowering operation end position P4 where the lowering operation ends is equal to or greater than a predetermined distance. Condition 2: The height of the lowering operation start position P3 at which the lowering operation starts is equal to or higher than a predetermined height. Condition 3: The height of the lowering operation end position P4 where the lowering operation ends is equal to or higher than a predetermined height.

[0101] Condition 1 is a regulation regarding the distance over which the lowering operation is performed. When the distance over which the lowering operation is performed is relatively long, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.

[0102] Condition 2 is a provision regarding the height of the lowering operation start position P3. When the height of the lowering operation start position P3 is relatively high, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.

[0103] Condition 3 is a regulation regarding the height of the lowering operation end position P4. When the height of the lowering operation end position P4 is relatively high, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.

[0104] In this way, by selecting a reference position for determining the frequency components to be removed according to the operating conditions, it is possible to more effectively suppress vibration. Note that "selection" includes both cases where the control device 8 itself selects based on a judgment criterion and cases where the user inputs an instruction to select. [Explanation of symbols]

[0105] 2...robot, 3...teaching device, 4...reception unit, 5...force detection unit, 7...end effector, 8...control device, 8A...motion processing unit, 8B...servo processing unit, 8C...storage unit, 8D...communication unit, 20...robot arm, 21...base, 22...first arm, 23...second arm, 24...third arm, 25...drive unit, 26...drive unit, 27...u drive unit, 28...z drive unit, 31...CPU, 32...storage unit, 33...communication unit, 34...display unit, 81...position command generation unit, 82...adjustment unit, 83...position control unit, 84...speed control unit, 85...filter processing unit, 86...current control unit, 100...robot system , 220... housing, 230... housing, 241... shaft, 251... motor, 252... brake, 253... encoder, 261... motor, 262... brake, 263... encoder, 271... motor, 272... brake, 273... encoder, 281... motor, 282... brake, 283... encoder, A1... positional relationship, A2... positional relationship, B1... shape, B2... shape, C1... height, C2... height, G1... center of gravity, G2... center of gravity, O1... first axis, O2... second axis, O3... third axis, T1... table, TCP... control point, P1... position, P2... position, P3... position, P4... position

Claims

1. A method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, comprising: A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal for driving the motor based on the weight information acquired in the first step and a positional relationship between a center of gravity G1 of the robot arm in a predetermined posture and a center of gravity G2 of the end effector; a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

2. A method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, comprising: the robot is a SCARA robot, the robot arm comprises a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal for driving the motor, based on the weight information acquired in the first step, an angle between the first arm and the second arm in a predetermined posture of the robot arm, and a height of a control point set on the third arm; a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

3. 3. The method for controlling a robot according to claim 1, wherein in the second step, the frequency components are determined based on a calibration curve or a table indicating a relationship between the frequency components and the weight information.

4. 4. A robot control method according to claim 1, wherein in the third step, a band elimination filter is used to remove the frequency component determined in the second step from the drive signal to generate the corrected drive signal.

5. 5. The method for controlling a robot according to claim 1, further comprising a fourth step of driving the drive unit based on the corrected drive signal.

6. The base and A robot arm connected to the base; A drive unit including a motor that drives the robot arm; A control unit that controls the operation of the robot arm, The control unit is an acquisition unit that acquires weight information that is information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a correction signal generation unit that determines a frequency component to be removed from a drive signal that drives the motor based on the weight information acquired by the acquisition unit and a positional relationship between a center of gravity G1 of the robot arm in a predetermined posture and a center of gravity G2 of the end effector, and removes the determined frequency component from the drive signal to generate a corrected drive signal.

7. a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm; A control unit that controls the operation of the robot arm, the robot is a SCARA robot, the robot arm comprises a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, The control unit is an acquisition unit that acquires weight information that is information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a correction signal generation unit that determines a frequency component to be removed from a drive signal that drives the motor based on the weight information acquired by the acquisition unit, the angle between the first arm and the second arm in a predetermined posture of the robot arm, and the height of a control point set on the third arm, and removes the determined frequency component from the drive signal to generate a corrected drive signal.

8. A program for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal for driving the motor based on the weight information acquired in the first step and a positional relationship between a center of gravity G1 of the robot arm in a predetermined posture and a center of gravity G2 of the end effector; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

9. A program for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, the robot is a SCARA robot, the robot arm comprises a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, A first step of acquiring weight information including information regarding a weight of an end effector installed on the robot arm and a weight of an object that is a work target of the end effector; a second step of determining a frequency component to be removed from a drive signal for driving the motor, based on the weight information acquired in the first step, an angle between the first arm and the second arm in a predetermined posture of the robot arm, and a height of a control point set on the third arm; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

Citation Information

Patent Citations

  • Control device

    JP2001293638A

  • Control device, robot, and robot system

    JP2018171668A

  • Robot control device, robot control method, and robot system

    JP2020157402A