Control Method of Robot, Robot System, and Storage Medium

By obtaining weight information of the robot arm end effector and the working object, it is determined to remove specific frequency components from the driving signal and generate a corrected driving signal, which solves the problem of time-consuming determination of the natural vibration frequency in the prior art, and improves the efficiency and accuracy of vibration suppression.

CN115139296BActive Publication Date: 2025-06-27SEIKO EPSON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210325069.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-31
Filing Date
2022-03-30
Publication Date
2025-06-27
Estimated Expiration
2042-03-30

AI Technical Summary

Technical Problem

When determining the inherent vibration frequency, existing robots need to use a hammer to hit or prepare a device to measure vibration, which takes effort and is inefficient.

Method used

By obtaining information related to the weight of the end effector of the robot arm and the weight of the working object, it is decided to remove a specific frequency component from the driving signal of the driving motor to generate a correction driving signal to reduce vibration of the robot arm.

Benefits of technology

The frequency components can be determined without the use of a hammer or measuring device, which improves the efficiency and accuracy of vibration suppression and simplifies the operation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115139296B_ABST
    Figure CN115139296B_ABST
Patent Text Reader

Abstract

A control method for a robot, a robot system, and a storage medium, which can suppress vibration by a simple method. The control method for the robot is a control method for a robot having a base, a robotic arm connected to the base, and a drive unit including a motor for driving the robotic arm, and is characterized by having: a first step of obtaining weight information, the weight information including information related to the weight of an end effector provided on the robotic arm and the weight of an object as the operation object of the end effector; a second step of determining, based on the weight information obtained in the first step, a frequency component to be removed from a drive signal for driving the motor; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In recent years, due to the soaring labor costs and shortage of human resources in factories, the automation of operations performed by humans has been accelerated by various robots and peripheral devices thereof. As various robots, for example, a robot disclosed in Patent Document 1 is known.

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

[0004] By driving the arm with the corrected torque signal, the vibration generated in the arm can be reduced.

[0005] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2001-293638

[0006] However, in order to determine the natural vibration frequency, the robot of Patent Document 1 requires operations such as hitting with a hammer or preparing a measuring device for measuring vibration, which is time-consuming. Summary of the Invention

[0007] The control method for a robot according to the present invention is characterized in that the robot has a base, a robotic arm connected to the base, and a drive unit including a motor for driving the robotic arm, and the control method includes: a first step of acquiring weight information including information related to the weight of an end effector provided on the robotic arm and the weight of an object as an operation object 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 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 is characterized by comprising: a base; a robotic arm connected to the base; a drive unit including a motor for driving the robotic arm; and a control unit for controlling the operation of the robotic arm. The control unit has: an acquisition unit for acquiring weight information, which is information related to the weight of an end effector provided on the robotic arm and the weight of an object as the operation object of the end effector; and a correction signal generation unit for determining a frequency component to be removed from the drive signal based on the weight information acquired by the acquisition unit, and removing the determined frequency component from the drive signal to generate a corrected drive signal.

[0009] The storage medium of the present invention is characterized by being used for storing a robot control program for controlling a robot having a base, a robotic arm connected to the base, and a drive unit including a motor for driving the robotic arm. The robot control program is used to execute: a first step of acquiring weight information, which includes information related to the weight of an end effector provided on the robotic arm and the weight of an object as the operation object of the end effector; a second step of determining a frequency component to be removed from the 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 corrected drive signal. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is a schematic configuration diagram of the robot system of the present invention.

[0011] Figure 2 is Figure 1 the block diagram of the robot system shown.

[0012] Figure 3 is Figure 1 the block diagram of the control device shown.

[0013] Figure 4 is a diagram showing an example of a table referred to by the adjustment unit.

[0014] Figure 5 is a diagram showing an example of a table referred to by the adjustment unit.

[0015] Figure 6 is a diagram showing an example of a table referred to by the adjustment unit.

[0016] Figure 7 is a diagram showing an example of a table referred to by the adjustment unit.

[0017] Figure 8 is showing Figure 1Side view of the positional relationship between the center of gravity of the robot's robotic arm and the center of gravity of the end effector shown.

[0018] Figure 9 Shows Figure 1 Side view of the positional relationship between the center of gravity of the robot's robotic arm and the center of gravity of the end effector shown.

[0019] Figure 10 Shows Figure 1 Diagram showing the overall shape of the robotic arm shown.

[0020] Figure 11 Shows Figure 1 Diagram showing the overall shape of the robotic arm shown.

[0021] Figure 12 Flowchart for explaining the control method of the robot of the present invention.

[0022] Figure 13 For explaining Figure 1 Diagram showing the movement path of the robotic arm shown.

[0023] Explanation of reference numerals

[0024] 2…Robot; 3…Teaching device; 4…Receiving section; 5…Force detection section; 7…End effector; 8…Control device; 8A…Motion processing section; 8B…Servo processing section; 8C…Storage section; 8D…Communication section; 20…Robotic arm; 21…Base; 22…First arm; 23…Second arm; 24…Third arm; 25…Drive section; 26…Drive section; 27…u drive section; 28…z drive section; 31…CPU; 32…Storage section; 33…Communication section; 34…Display section; 81…Position command generation section; 82…Adjustment section; 83…Position control section; 84…Speed control section; 85…Filter processing section; 86…Current control section; 100…Robot system; 220…Housing; 230…Housing; 241…Axis; 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. Detailed description of the invention

[0025] Hereinafter, based on the preferred embodiments shown in the drawings, the control method, robot system, and robot control program of the present invention will be described in detail.

[0026] Embodiment

[0027] Figure 1 is a schematic configuration diagram of the robot system of the present invention. Figure 2 is Figure 1 a block diagram of the robot system shown. Figure 3 is Figure 1 a block diagram of the control device shown. Figures 4 - 7 are diagrams respectively showing an example of a table referred to by the adjustment unit. Figure 8 and Figure 9 are respectively Figure 1 side views showing the positional relationship between the center of gravity of the robotic arm and the center of gravity of the end effector of the robot shown. Figure 10 and Figure 11 are diagrams showing Figure 1 the overall shape of the robotic arm shown. Figure 12 is a flowchart for explaining the control method of the robot of the present invention.

[0028] In addition, in Figure 1 , for ease of explanation, the x-axis, y-axis, and z-axis are shown as three mutually orthogonal axes. In addition, hereinafter, the direction parallel to the x-axis will also be referred to as the "x-axis direction", the direction parallel to the y-axis will also be referred to as the "y-axis direction", and the direction parallel to the z-axis will also be referred to as the "z-axis direction". In addition, the z-axis direction in Figure 1 , that is, the up-down direction, is set as the "vertical direction", and the x-axis direction and the y-axis direction, that is, the left-right direction, are set as the "horizontal direction". In addition, in each axis, the end side is referred to as the "+ side", and the base end side is referred to as the "- side".

[0029] Figure 1 and Figure 2 The robot system 100 shown, for example, is a device used in operations such as holding, transporting, assembling, and inspecting an object (hereinafter referred to as a "workpiece") that is an object of work such as an electronic component and an electronic device. The robot system 100 includes a robot 2, a teaching device 3 for teaching an operation program to the robot 2, a control device 8 for controlling the operation of the robot 2, a force detection unit 5, and an end effector 7. In addition, the robot 2 and the teaching device 3 can communicate by wire or wirelessly, and their communication can be performed via a network such as the Internet.

[0030] First, the robot 2 will be described.

[0031] The robot 2 in the illustrated configuration is a horizontal multi-joint robot, i.e., a SCARA robot. However, the configuration is not limited to this, and the robot 2 can also be a multi-joint robot such as a vertical 6-axis robot. As Figure 1 shown, the robot 2 has a base 21, a robotic arm 20 connected to the base 21, and a reception unit 4 that receives a specified operation from an operator.

[0032] The base 21 is a part that supports the robotic arm 20. A control device 8 described later is built into the base 21. In addition, the origin of the robot coordinate system is set at an arbitrary part of the base 21. It should be noted that Figure 1 the x-axis, y-axis, and z-axis shown are the axes of the robot coordinate system.

[0033] The robotic arm 20 includes a first arm 22 connected to the base 21, a second arm 23, and a third arm 24 as a working head. In addition, the connection part between the base 21 and the first arm 22, the connection part between the first arm 22 and the second arm 23, and the connection part between the second arm 23 and the third arm 24 are also referred to as joints.

[0034] It should be noted that the robot 2 is not limited to the illustrated configuration, and the number of arms can also be 1 or 2, or more than 4.

[0035] In addition, the robot 2 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 relative to the second arm 23 in the z-axis direction.

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

[0037] 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 speed 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 speed reducer.

[0038] 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 speed 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 speed reducer.

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

[0040] As the motors 251, 261, 271, and 281, for example, servo motors such as AC servo motors and DC servo motors can be used. Additionally, as the speed reducer, for example, a planetary gear type speed reducer, a harmonic drive device, etc. can be used.

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

[0042] The control device 8 operates the brakes 252, 262, 272, and 282 by changing the energization conditions and decelerates the respective parts of the robotic 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.

[0043] Examples of the brakes 252, 262, 272, and 282 include electromagnetic brakes, mechanical brakes, hydraulic brakes, pneumatic brakes, etc.

[0044] In addition, as Figure 2 shown, the encoders 253, 263, 273, and 283 are position detection parts that detect the position of the robotic arm 20. The encoders 253, 263, 273, and 283 are electrically connected to the control device 8 respectively. The encoders 253, 263, 273, and 283 send information related to the detected rotation angle to the control device 8 as electrical signals. Thereby, the control device 8 can control the operation of the robotic arm 20 based on the information related to the received rotation angle.

[0045] Such drive units 25, 26, u drive unit 27, and z drive unit 28 are respectively connected to corresponding motor drivers (not shown) and are controlled by the control device 8 via the motor drivers.

[0046] The base 21 is fixed to a ground (not shown) by bolts or the like, for example. The upper end portion of the base 21 is connected to the first arm 22. The first arm 22 is capable of rotating relative to the base 21 about a first axis O1 along the vertical direction. When the drive unit 25 that rotates the first arm 22 is driven, the first arm 22 rotates relative to the base 21 about the first axis O1 in the horizontal plane. In addition, the rotation amount of the first arm 22 relative to the base 21 can be detected by the encoder 253.

[0047] In addition, the distal end portion of the first arm 22 is connected to the second arm 23. The second arm 23 is capable of rotating relative to the first arm 22 about a second axis O2 along the vertical direction. The axial direction of the first axis O1 is the same as the axial direction of the second axis O2. That is, the second axis O2 is parallel to the first axis O1. When the drive unit 26 that rotates the second arm 23 is driven, the second arm 23 rotates relative to the first arm 22 about the second axis O2 in the horizontal plane. In addition, the drive amount of the second arm 23 relative to the first arm 22, specifically the rotation amount, can be detected by the encoder 263.

[0048] In addition, the third arm 24 is provided and supported at the distal end portion of the second arm 23. The third arm 24 has a shaft 241. The shaft 241 is capable of rotating relative to the second arm 23 about a third axis O3 along the vertical direction and is capable of moving in the vertical direction. This shaft 241 is the arm at the very end of the robotic arm 20.

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

[0050] In addition, when the z drive unit 28 that moves the shaft 241 in the z-axis direction is driven, the shaft 241 moves in the vertical direction, that is, in the z-axis direction. In addition, the movement amount of the shaft 241 relative to the second arm 23 in the z-axis direction can be detected by the encoder 283.

[0051] In addition, in the robot 2, an end effector coordinate system is set with the end of the shaft 241 as the control point TCP and with this control point TCP as the origin. This end effector coordinate system is calibrated with the aforementioned robot coordinate system, and the position in the end effector coordinate system can be converted into the robot coordinate system. Thereby, the position of the control point TCP can be determined in the robot coordinate system.

[0052] In addition, various end effectors 7 can be detachably connected to the lower end portion of the shaft 241. The end effector 7 is a handle for gripping a workpiece in the illustrated configuration. However, it is not limited to this configuration. For example, it can also be a handle that grips a workpiece by suction, or it can be a tool such as a screwdriver or a wrench, or it can be a coating appliance such as a sprayer.

[0053] It should be noted that the end effector 7 does not form a component of the robot 2 in this embodiment, but a part or all of the end effector 7 may also form a component of the robot 2.

[0054] As Figure 1 shown, the force detection unit 5 detects the force applied to the robot 2, that is, the force applied to the robotic arm 20 and the base 21. In this embodiment, the force detection unit 5 is provided below the base 21, that is, on the -z axis side, and supports the base 21 from below.

[0055] It should be noted that the installation position of the force detection unit 5 is not limited to the above, and for example, it may also be the lower end of the shaft 241 or each joint part.

[0056] The force detection unit 5 can be configured, for example, to have a plurality of elements made of a piezoelectric material such as quartz that output electric charges when subjected to an external force. In addition, the control device 8 can convert this electric charge amount into a value related to the external force received by the robotic arm 20. In addition, for such a piezoelectric material, the direction in which electric charges can be generated when subjected to an external force can be adjusted according to the installation direction.

[0057] In addition, the reception unit 4 is a part that receives a specified operation of the operator. Although not shown, the reception unit 4 has a teaching button. This teaching button can be used in the case of direct teaching. The teaching button can be a mechanical button or a touch-type electric button. In addition, other buttons with different functions can be provided around the teaching button.

[0058] Next, the teaching device 3 will be described.

[0059] As Figure 2 shown, 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 robotic arm 20 into the control device 8.

[0060] As Figure 2 shown, the teaching device 3 has a CPU (Central Processing Unit), a storage unit 32, a communication unit 33, and a display unit 34. Although not particularly limited as the teaching device 3, for example, a tablet computer, a personal computer, a smart phone, etc. can be cited.

[0061] The CPU 31 reads and executes various programs and the like stored in the storage unit 32. The signal generated by the CPU 31 is sent to the control device 8 of the robot 2 via the communication unit 33. Thereby, the robotic arm 20 can execute a specified operation under specified conditions.

[0062] The storage unit 32 stores various programs and the like that the CPU 31 can execute. Examples of the storage unit 32 include volatile memories such as RAM (Random Access Memory), non-volatile memories such as ROM (Read Only Memory), and removable external storage devices.

[0063] The communication unit 33 transmits and receives signals to and from the control device 8, for example, using external interfaces such as wired LAN (Local Area Network) and wireless LAN.

[0064] The display unit 34 is composed of various displays. In the present embodiment, as an example, it is assumed to be a touch panel type, that is, the display unit 34 has a display function and an input operation function for explanation.

[0065] However, it is not limited to this configuration, and it may also be a configuration with an additional input operation unit. In this case, examples of the input operation unit include a mouse, a keyboard, etc. Additionally, it may also be a configuration that uses a mouse, a keyboard, etc. in combination with the touch panel.

[0066] Next, the control device 8 will be described.

[0067] As Figure 1 shown, the control device 8 is built into the base 21 in the present embodiment. Additionally, as Figure 2 shown, the control device 8 has a function of controlling the drive of the robot 2 and is electrically connected to each part of the aforementioned robot 2. It should be noted that this is not limited thereto, and the control device 8 may also be configured separately from the robot 2.

[0068] Here, when the robotic arm 20 temporarily stops during operation or stops after the operation ends, vibration occurs in the robotic arm 20. This vibration affects the accuracy of the operation and the operation time, so it is preferably minimized. More specifically, it is preferable that the time until the vibration ends is as short as possible. It should be noted that hereinafter, shortening the time until the vibration ends is referred to as "vibration suppression".

[0069] In order to suppress vibration, in the robot system 100, specific frequency components are removed from the drive signals for driving the motors 251, 261, 271, and 281 to generate corrected drive signals.

[0070] The intensity of the vibration is determined by various conditions such as the weight of the end effector 7, the posture of the robotic arm 20 at the time of stopping, the position of the control point TCP, the path that has been passed so far, the speed and acceleration on this path, etc.

[0071] In order to determine which frequency components should be removed from the drive signal and generate a corrected drive signal, it is preferably determined after considering these conditions. Among these conditions, the weight of the end effector 7 particularly easily affects vibration suppression. Therefore, in the present invention, a corrected drive signal is generated based on the weight of the end effector 7. The following provides a detailed description.

[0072] As Figure 3 shown, the control device 8 is a device that executes the control method of the robot 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. The motion processing unit 8A and the servo processing unit 8B are each composed of at least one processor.

[0073] The storage unit 8C stores various programs that the motion processing unit 8A and the servo processing unit 8B can execute, various programs such as the robot control program of the present invention, and tables described later. As the storage unit 8C, for example, a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a detachable external storage device, etc. can be cited. The communication unit 8D transmits and receives signals to and from each part of the robot 2 and the teaching device 3, respectively, using an external interface such as a wired LAN (Local Area Network) or a wireless LAN.

[0074] The motion processing unit 8A includes a position command generation unit 81 and an adjustment unit 82.

[0075] The position command generation unit 81 generates a position command signal indicating the target position where the end effector 7 should be located, the speed, and the acceleration up to the target position, based on the motion program input by the user. It should be noted that the user can input the motion program using an input device such as the teaching device 3.

[0076] The adjustment unit 82 determines the frequency components to be removed by the filter processing unit 85 based on the information input from the user. This will be described later.

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

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

[0079] 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 it to the filter processing unit 85.

[0080] The filter processing unit 85 uses a band-stop 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. "Removing" in this specification of course means setting specific frequency components to 0, and also includes reducing specific frequency components. The filter processing unit 85 determines the coefficients used in the band-stop filter, that is, the frequency components removed using the band-stop filter, based on the signal output from the adjustment unit 82.

[0081] The current control unit 86 receives the torque control signal from the filter processing unit 85, and also receives a feedback signal indicating the amount of current supplied to the motors 251, 261, 271, and 281 from a servo amplifier (not shown). The current control unit 86 determines the amount of current 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.

[0082] Here, in the robot system 100, the user can input information related to the weight of the end effector 7 and the weight of the workpiece via the teaching device 3. For example, it can be configured such that the user directly inputs the weight of the end effector 7 and the weight of the workpiece, or it can be configured such that by inputting the type of the end effector 7, the adjustment unit 82 determines 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. In addition, it can also be configured to determine the weight of the workpiece in the same way using a table. And the adjustment unit 82 determines the frequency components to be removed from the drive signal for driving the motors 251, 261, 271, and 281 based on the information related to the weight of the end effector 7 and the weight of the workpiece (hereinafter, referred to as "weight information"). Specifically, the adjustment unit 82 refers to Figure 4 the shown table T1 to determine the frequency components to be removed. The table T1 shows the relationship between the weight information and the frequency components, and is obtained in advance through experiments. It should be noted that it can also be configured to determine the frequency components to be removed based on a correction curve showing the relationship between the weight information and the frequency components instead of based on the table T1.

[0083] AsFigure 4 As shown, for example, when the weight of the end effector 7 is W1, the removed frequency component is F1. And, the signal corresponding to F1 is output to the filtering processing unit 85. And, the corrected drive signal can be obtained through the above-described processing. By driving the motors 251, 261, 271, and 281 with this corrected drive signal, the resonance of the robotic arm 20 or the end effector 7, etc. can be suppressed with the removed frequency component, and the time until the vibration ends can be shortened. In particular, since the configuration is to generate the correction signal based on the weight information, more direct correction can be performed, and a corrected drive signal with high vibration suppression accuracy can be generated through simple processing.

[0084] It should be noted that when the end effector 7 is configured not to hold the workpiece, the weight of the workpiece is set to 0, and the weight information is only the weight of the end effector 7.

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

[0086] F0 = K1 × W × Ew × J 2 + K2 × Ez × Z × J + K0 × W × Z…(1)

[0087] K1, K2, and K0 in formula (1) are respectively coefficients inherent to the robot and can be calculated from measured values. In addition, J in formula (1) shows the rotation angle of the second arm 23 relative to the first arm 22. In addition, W in formula (1) shows the weight information. In addition, Z in formula (1) shows the position of the control point TCP in the z-axis direction. In addition, Ew in formula (1) shows the total weight of the end effector 7 and the workpiece. In addition, Ez in formula (1) shows the center of gravity position after combining the end effector 7 and the workpiece.

[0088] Accordingly, it is preferable to generate the corrected drive signal by considering at least one of these pieces of information in addition to the weight information.

[0089] In addition, it is preferable to generate the corrected drive signal by considering the positional relationship between the center of gravity G1 of the robotic arm 20 in a specified posture and the center of gravity G2 of the end effector 7. The specified posture in the present embodiment refers to the posture in which the control point TCP stops or temporarily stops at the target position. When the positional relationship between the center of gravity G1 and the center of gravity G2 at the stop is Figure 8 the positional relationship A1 (height C1) as shown, and when it is Figure 9 the positional relationship A2 (height C2) as shown, the time until the vibration ends is different. The reason is that according to 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 shift, the natural vibration characteristics of the entire robot 2 change.

[0090] Accordingly, as Figure 5 shown, prepare the above-mentioned table T1 in advance for each positional relationship between the center of gravity G1 and the center of gravity G2, and generate a correction drive signal by referring to any one of them according to the positional relationship, so that a correction drive signal with high vibration suppression accuracy can be further generated.

[0091] In addition, it is preferable to generate a correction drive signal after considering the overall shape of the robotic arm 20 in a specified posture. The overall shape of the robotic 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, that is, the angle formed by the first arm 22 and the second arm 23, has a great influence on the vibration characteristics. It should be noted that the information related to the overall shape of the robotic arm 20 is included in the information of the motion path input by the user. Therefore, when the user inputs information related to the motion path, the control device 8 can grasp the posture at the target position when stopping or temporarily stopping.

[0092] When the overall shape of the robotic arm 20 at the time of stopping is Figure 10 the shape B1 as shown, and when it is Figure 11 the shape B2 as shown, the time until the vibration ends is different. The main reason is that according to the distance between the position of the control point TCP and the root of the robotic arm 20, the natural vibration characteristics of the entire robot 2 change.

[0093] Accordingly, as Figure 6 shown, prepare the above-mentioned table T1 in advance according to the overall shape of the robotic arm 20, especially according to each angle formed by the first arm 22 and the second arm 23, and generate a correction drive signal by referring to any one of them, so that a correction drive signal with high vibration suppression accuracy can be further obtained. In particular, this control is effective when applied to a vertical multi-joint robot such as a 6-axis robot.

[0094] In addition, it is preferable to generate a correction drive signal by considering the height of the control point TCP, that is, the position in the z-axis direction, in the specified posture of the robotic arm 20. In particular, in the SCARA robot shown in the figure, the height of the control point TCP is relatively easy to affect the vibration characteristics. It should be noted that the information related to the height of the control point TCP in the specified posture of the robotic arm 20 is included in the information of the motion path input by the user. Therefore, when the user inputs information related to the motion path, the control device 8 can grasp the height of the control point TCP when stopping or temporarily stopping at the target position.

[0095] When the height of the control point TCP at the time of stopping is, for example,[[]] Figure 8 the position as shown, and when it is Figure 9When in a position as shown, the time until the vibration ends is different. Generally speaking, the lower the height of the control point TCP shown, the longer the time until the vibration ends. In the illustrated configuration, there is a tendency that the time until the vibration ends is longer when the height is C2 than when the height is C1.

[0096] Accordingly, as Figure 7 shown, the above-mentioned table T1 is prepared in advance for each height of the control point TCP, and any one of them is referred to generate a correction drive signal, so that a correction drive signal with high vibration suppression accuracy can be further generated. In particular, this control is effective when applied to a SCARA robot.

[0097] It should be noted that these elements can also be combined to generate a correction drive signal. For example, a multi-dimensional table can be prepared in advance.

[0098] Next, while referring to Figure 12 the flowchart shown, an example of the control method of the robot of the present invention will be described.

[0099] First, in step S101, weight information is acquired. This step is performed as described above by the user inputting information related to the weight of the end effector 7 and the weight of the workpiece using the teaching device 3 and the control device 8 acquiring this information. It should be noted that when the weight of the workpiece is 0, the input of the weight of the workpiece can also be omitted. This step S101 is the first step.

[0100] Next, in step S102, based on the weight information acquired in step S101, the frequency components to be removed from the drive signals for driving the motors 251, 261, 271, and 281 are determined. This step is executed by the adjustment unit 82. In addition, 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.

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

[0102] Next, in step S104, the motors 251, 261, 271, and 281 are driven based on the correction drive signal. Thereby, vibration during stop or temporary stop can be suppressed, and the operation can be performed accurately and quickly. This step S10 is the fourth step.

[0103] As described above, the control method of the robot of the present invention is the control method of robot 2, and the robot 2 has: a base 21; a robotic arm 20 connected to the base 21; and drive units 25, 26, u drive unit 27 and z drive unit 28, including motors 251, 261, 271 and 281 for driving the robotic arm 20. In addition, the control method of the robot of the present invention has: a first step of obtaining weight information including information related to the weight of the end effector 7 provided on the robotic arm 20 and the weight of the object as the work object of the end effector 7; a second step of determining, based on the weight information obtained in the first step, the frequency components to be removed from the drive signals for driving the motors 251, 261, 271 and 281; and a third step of removing the frequency components determined in the second step from the drive signals to generate corrected drive signals. By driving the robot 2 with such corrected drive signals, it is possible to suppress vibrations during stop or temporary stop, and to perform operations accurately and quickly. In particular, it is possible to omit the process of hitting the robotic arm 20 with a hammer as in the past to obtain information related to vibration characteristics, and to suppress vibrations by a simple method.

[0104] In addition, in the second step, the frequency components are determined based on a correction curve or table showing the relationship between the frequency components and the weight information. Thereby, it is possible to determine the frequency components to be removed by simple processing.

[0105] In addition, the determination of the frequency components in the second step is also performed based on the positional relationship between the center of gravity G1 of the robotic arm 20 in a specified posture and the center of gravity G2 of the end effector 7. Thereby, it is possible to further generate corrected drive signals with high vibration suppression accuracy.

[0106] In addition, the determination of the frequency components in the second step is also performed based on the overall shape of the robotic arm 20 in a specified posture of the robotic arm 20. Thereby, it is possible to further generate corrected drive signals with high vibration suppression accuracy.

[0107] In addition, the determination of the frequency components in the second step is also performed based on the height of the control point TCP set on the third arm 24. Thereby, it is possible to further generate corrected drive signals with high vibration suppression accuracy.

[0108] In addition, in the third step, a band-stop filter is used to remove the frequency components determined in the second step from the drive signals to generate corrected drive signals. Thereby, it is possible to generate corrected drive signals by simple processing.

[0109] In addition, the control method of the robot of the present invention has a fourth step of driving the drive unit 25, the drive unit 26, the u drive unit 27, and the z drive unit 28 based on the corrected drive signal. Thereby, vibration during stop or temporary stop can be suppressed, and operations can be performed accurately and quickly.

[0110] It should be noted that, in the present embodiment, it may also be configured to input various information using an input device other than the teaching device 3. In addition, the robot system 100 may also be configured to include a detection unit that detects the type of the end effector 7 worn and obtains the detection result of the detection unit. In this case, a table (not shown) showing 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.

[0111] In addition, the robot control program of the present invention is a control program for controlling the robot 2, and the robot 2 includes: a base 21; a robotic arm 20 connected to the base 21; and drive units 25, 26, u drive unit 27, and z drive unit 28, including motors 251, 261, 271, and 281 that drive the robotic arm 20. In addition, the robot control program of the present invention is used to execute: a first step of obtaining weight information including information related to the weight of the end effector 7 provided at the end of the robotic arm 20 and the weight of the object as the operation object of the end effector 7; a second step of determining, based on the weight information obtained in the first step, the frequency components to be removed from the drive signals for driving the motors 251, 261, 271, and 281; and a third step of removing the frequency components determined in the second step from the drive signals to generate corrected drive signals. By driving the robot 2 with the corrected drive signals obtained by executing such a robot control program, vibration during stop or temporary stop can be suppressed, and operations can be performed accurately and quickly. In particular, the process of hitting the robotic arm 20 with a hammer to obtain information related to vibration characteristics as in the past can be omitted, and vibration can be suppressed by a simple method.

[0112] It should be noted that the robot control program of the present invention may also be stored in the storage unit 32, may also be stored in the storage unit 8C, may be saved in a recording medium such as a CD-ROM, for example, or may be stored in a storage device that can be connected via a network or the like.

[0113] In addition, the robot system of the present invention includes: a base 21; a robotic arm 20 connected to the base 21; drive units 25, 26, u drive unit 27, and z drive unit 28, including motors 251, 261, 271, and 281 that drive the robotic arm 20; and a control device 8, which is a control unit that controls the operation of the robotic arm 20. In addition, the control device 8 has: a communication unit 8D, which is an acquisition unit that acquires information related to the weight of the end effector 7 provided on the robotic arm 20 and the weight of the object that is the operation target of the end effector 7, that is, weight information; and an adjustment unit 82 and a filtering processing unit 85, which are a correction signal generation unit that determines the frequency components to be removed from the drive signal based on the weight information acquired by the communication unit 8D, removes the determined frequency components from the drive signal, and generates a corrected drive signal. By driving the robot 2 with such a corrected drive signal, it is possible to suppress vibrations during stop or temporary stop, and the operation can be performed accurately and quickly. In particular, it is possible to omit the process of hitting the robotic arm 20 with a hammer as in the past to obtain information related to the vibration characteristics, and vibrations can be suppressed by a simple method.

[0114] As described above, based on the illustrated embodiments, the control method, robot system, and robot control program of the present invention have been described, but the present invention is not limited thereto, and the configuration of each part can be replaced with any configuration having the same function. In addition, other arbitrary components and processes can be respectively added to the robot control method, robot system, and robot control program.

[0115] In addition, in the above embodiment, the configuration in which the control device 8 generates a corrected drive signal has been described, but the present invention is not limited thereto, and it may also be a configuration in which the teaching device 3 generates a corrected drive signal. That is, the "control unit" can also be regarded as the control device 8 or the control unit built into the teaching device 3.

[0116] In addition, in the above embodiment, the case where the attitude of the robotic arm during stop and the height of the control point TCP in the stopped robotic arm are based on the attitude and the height of the control point at the target position has been described, but the present invention is not limited thereto, and for example, the following control can also be performed.

[0117] First, the case where the robotic arm 20 performs Figure 13 the actions shown is described. It should be noted that in Figure 13 the trajectory of the control point TCP is shown. Figure 13The actions shown are an ascending action, a horizontal action, and a descending action. The ascending action is performed from the ascending action start position P1 to the ascending action end position P2. The horizontal action is performed from the ascending action end position P2 to the descending action start position P3. The descending action is performed from the descending action start position P3 to the descending action end position P4.

[0118] In the above-described embodiment, the configuration for determining the frequency components to be removed based on the target position, i.e., the descending action end position P4, has been described. However, depending on the various conditions, in order to suppress vibrations in the horizontal direction, the frequency components to be removed may also be determined based on the height of the control point TCP at the ascending action start position P1 or the descending action start position P3. Specifically, when any one of the following condition 1, condition 2, and condition 3 is not satisfied, the frequency components to be removed may be determined based on the height of the control point TCP at the ascending action start position P1.

[0119] When at least one of the following condition 1, condition 2, and condition 3 is satisfied, the frequency components to be removed are determined based on the height of the control point TCP at the descending action start position P3. When any one of the following condition 1, condition 2, and condition 3 is not satisfied, the frequency components to be removed may be determined based on the height of the control point TCP at the action start position P1.

[0120] Condition 1: The distance between the descending action start position P3 where the descending action starts and the descending action end position P4 where the descending action ends is separated by a specified distance or more.

[0121] Condition 2: The height of the descending action start position P3 where the descending action starts is at a specified height or more.

[0122] Condition 3: The height of the descending action end position P4 where the descending action ends is at a specified height or more.

[0123] Condition 1 is a regulation related to the distance of the descending action. When the distance of the descending action 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 descending action start position P3. Thereby, a drive signal capable of suppressing vibrations of the horizontal component can be generated.

[0124] Condition 2 is a regulation related to the height of the descending action start position P3. When the height of the descending action 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 descending action start position P3. Thereby, a drive signal capable of suppressing vibrations of the horizontal component can be generated.

[0125] Condition 3 is a regulation related to the height of the end position P4 of the descending motion. When the height of the end position P4 of the descending motion is relatively high, it is preferable to determine the frequency components to be removed based on the height of the control point TCP in the start position P3 of the descending motion. Thereby, a drive signal capable of suppressing the vibration of the horizontal component can be generated.

[0126] By thus selecting, according to the conditions of the motion, the position serving as the reference for determining the frequency components to be removed, vibration can be more effectively suppressed. It should be noted that "selection" includes both the case where the control device 8 itself selects based on the judgment criterion and the case where an instruction selected by the user is input.

Claims

1. A control method for a robot, characterized in that The robot has a base, a robotic arm connected to the base, and a drive unit including a motor for driving the robotic arm. The control method includes: A first step of obtaining weight information, the weight information including information related to the weight of an end effector provided on the robotic arm and the weight of an object that is the work object of the end effector; A second step of determining, based on the weight information obtained in the first step, a frequency component to be removed from a drive signal for driving the motor; And A third step of removing the determined frequency component from the drive signal to generate a corrected drive signal. In the second step, the frequency component is determined based on the positional relationship between the center of gravity in a specified posture of the robotic arm and the center of gravity of the end effector. The specified posture is a posture in which a control point stops or temporarily stops at a target position.

2. The control method for a robot according to claim 1, wherein: In the second step, the frequency component is determined based on a correction curve or table showing the relationship between the frequency component and the weight information.

3. The control method for a robot according to any one of claims 1 or 2, wherein: The robot is a horizontal multi-joint robot. The robotic arm is a horizontal multi-joint robot having 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 determination of the frequency component in the second step is further based on the angle formed by the first arm and the second arm in a specified posture of the robotic arm.

4. The control method for a robot according to claim 3, wherein: The determination of the frequency component in the second step is further based on the height of a control point provided on the third arm.

5. The control method for a robot according to any one of claims 1 or 2, wherein: In the third step, a band-stop filter is used to remove the determined frequency component from the drive signal to generate the corrected drive signal.

6. The control method for a robot according to any one of claims 1 or 2, wherein: The control method further has a fourth step of driving the drive unit based on the corrected drive signal.

7. A robot system, characterized in that, Comprising: A base; A robotic arm connected to the base; A drive unit including a motor for driving the robotic arm; and A control unit for controlling the operation of the robotic arm. The control unit has: An acquisition unit for acquiring weight information, the weight information being information related to the weight of an end effector provided on the robotic arm and the weight of an object that is the work object of the end effector; And A correction signal generation unit for determining, based on the weight information acquired by the acquisition unit, a frequency component to be removed from a drive signal, and removing the determined frequency component from the drive signal to generate a corrected drive signal. The correction signal generation unit determines the frequency component based on the positional relationship between the center of gravity in a specified posture of the robotic arm and the center of gravity of the end effector. The specified posture is the posture in which the control point stops or temporarily stops at the target position.

8. A storage medium, characterized in that, For storing a robot control program for controlling a robot having a base, a robotic arm connected to the base, and a drive unit including a motor for driving the robotic arm. The robot control program is used to execute: A first step of obtaining weight information including information related to the weight of an end effector provided on the robotic arm and the weight of an object as the work object of the end effector. A second step of determining, based on the weight information obtained in the first step, a frequency component to be removed from a drive signal for driving the motor. And A third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal. In the second step, the frequency component is determined based on the positional relationship between the center of gravity in the specified posture of the robotic arm and the center of gravity of the end effector. The specified posture is the posture in which the control point stops or temporarily stops at the target position.

Citation Information

Patent Citations

  • Control device

    JP2001293638A

  • Encoder abnormality detecting method, operation control device, robot, and robot system

    US20210060784A1