Control Method of Robot, Robot System and Storage Medium

By acquiring the height information of the robot arm and removing the corresponding frequency components from the driving signal, and generating a corrected driving signal, the problem of time-consuming determination of the natural vibration frequency in the prior art is solved, and the effect of efficiently reducing vibration is achieved.

CN115139294BActive Publication Date: 2025-06-10SEIKO EPSON CORP
View PDF 4 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing robots, determining the natural vibration frequency requires knocking or preparing to measure vibration, which consumes time and resources.

Method used

By obtaining height information related to the height of the front end of the robot arm during operation or stopping, a frequency component removed from the driving signal of the driving motor is determined, and a correction driving signal is generated to reduce vibration.

Benefits of technology

It realizes that the robotic arm vibration can be effectively reduced without knocking or preparing to measure vibration, and improves operating accuracy and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115139294B_ABST
    Figure CN115139294B_ABST
Patent Text Reader

Abstract

The present invention discloses a control method for a robot, a robot system, and a storage medium that 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 that drives the robotic arm, and is characterized in that the control method for the robot 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, which is the work object of the end effector; a second step of determining, based on the weight information acquired 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 storage medium. Background Art

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

[0003] In the robot of Patent Document 1, in order to reduce the vibration of the arm, the following operations are performed. First, the end effector provided on the arm is struck to vibrate it, and the vibration is measured. Then, 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 to correct the torque control signal.

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

[0005] Prior Art Documents

[0006] Patent Documents

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

[0008] However, in the robot of Patent Document 1, in order to determine the natural vibration frequency, it is necessary to perform an operation of striking with a hammer or prepare a measuring device for measuring vibration, which is time-consuming. Summary of the Invention

[0009] 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 for the robot includes:

[0010] a first step of acquiring height information related to the height of the front end of the robotic arm during operation of the robotic arm or during stop of the robotic arm;

[0011] a second step of determining a frequency component to be removed from a drive signal for driving the motor based on the height information acquired in the first step; and

[0012] a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.

[0013] The robot system according to the present invention is characterized by comprising:

[0014] a base;

[0015] A robotic arm, connected to the base;

[0016] A driving unit, including a motor for driving the robotic arm; and,

[0017] A control unit, controlling the operation of the robotic arm,

[0018] The control unit has:

[0019] An acquisition unit, acquiring height information related to the height of the front end of the robotic arm during the operation of the robotic arm or during the stop of the robotic arm; and

[0020] A correction signal generation unit, based on the height information acquired by the acquisition unit, determining a frequency component to be removed from the drive signal for driving the motor, and removing the determined frequency component from the drive signal to generate a corrected drive signal.

[0021] The robot control program of the present invention is characterized in that it is used to control a robot having a base, a robotic arm connected to the base, and a driving unit including a motor for driving the robotic arm, and the robot control program is used to execute:

[0022] A first step of acquiring height information related to the height of the front end of the robotic arm during the operation of the robotic arm or during the stop of the robotic arm;

[0023] A second step of determining, based on the height information acquired in the first step, a frequency component to be removed from the drive signal for driving the motor; and

[0024] A third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal. Description of the Drawings

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

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

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

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

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

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

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

[0032] Figure 8 This is a diagram showing Figure 1 a side view of 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.

[0033] Figure 9 This is a diagram showing Figure 1 a side view of 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.

[0034] Figure 10 This is a diagram showing Figure 1 the overall shape of the robotic arm shown.

[0035] Figure 11 This is a diagram showing Figure 1 the overall shape of the robotic arm shown.

[0036] Figure 12 This is a diagram for explaining Figure 1 the movement path of the robotic arm shown.

[0037] Figure 13 This is a flowchart for explaining the control method of the robot of the present invention.

[0038] Symbol Explanation

[0039] 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... 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... Position relationship, A2... Position 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 implementation mode

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

[0041] First implementation mode

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

[0043] In addition, inFigure 1 In this figure, for the sake of convenience of explanation, the x-axis, y-axis, and z-axis are illustrated as three mutually orthogonal axes. In addition, hereinafter, 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 addition, Figure 1 the z-axis direction in [reference numeral] is set as the "vertical direction", that is, the up-and-down direction, and the x-axis direction and the y-axis direction, that is, the left-and-right direction, are set as the "horizontal direction". In addition, for each axis, the front end side is referred to as the "+ side", and the base end side is referred to as the "- side".

[0044] Figure 1 and Figure 2 The robot system 100 shown in [reference numerals] is a device used, for example, in operations such as holding, transporting, assembling, and inspecting workpieces, which are work objects such as electronic components and electronic devices (hereinafter referred to as "workpieces"). The robot system 100 includes: a robot 2; a control device 8 that controls the operation of the robot 2; a teaching device 3 that teaches an operation program to the robot 2; a force detection unit 5; and an end effector 7. In addition, the robot 2, the control device 8, and the teaching device 3 can communicate with each other by wire or wirelessly, and this communication can also be performed via a network such as the Internet.

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

[0046] In the illustrated configuration, the robot 2 is a horizontal multi-joint robot, that is, 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 six-axis robot. As Figure 1 shown, the robot 2 includes: a base 21; an arm 20 connected to the base 21; and a reception unit 4 that receives a specified operation from an operator.

[0047] The base 21 is a part for supporting the arm 20. The control device 8 described later is built in the base 21. In addition, the origin of the robot coordinate system is set at an arbitrary part of the base 21. In addition, Figure 1 the x-axis, y-axis, and z-axis shown are the axes of the robot coordinate system.

[0048] The arm 20 includes: a first arm 22; a second arm 23; and a working head, that is, a third arm 24. 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.

[0049] In addition, the robot 2 is not limited to the illustrated configuration, and the number of arms can be one or two, or four or more.

[0050] 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.

[0051] As Figure 1 and Figure 2 shown, the drive unit 25 is built into the housing 220 of the first arm 22 and includes: 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.

[0052] The drive unit 26 is built into the housing 230 of the second arm 23 and includes: 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.

[0053] The u drive unit 27 is built into the housing 230 of the second arm 23 and includes: 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.

[0054] 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.

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

[0056] 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.

[0057] The control device 8 decelerates each part of the robotic arm 20 by changing the energization conditions to operate the brakes 252, 262, 272, and 282. The brakes 252, 262, 272, and 282 are controlled by the control device 8 independently of the motors 251, 261, 271, and 281.

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

[0059] In addition, as Figure 2 shown, the encoders 253, 263, 273, and 283 are position detection units for detecting 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 the detected information related to the rotation angle as an electrical signal to the control device 8. Thus, the control device 8 can control the operation of the robotic arm 20 based on the received information related to the rotation angle.

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

[0061] The base 21 is fixed to an unshown ground, for example, by bolts. The first arm 22 is connected to the upper end of the base 21. The first arm 22 can rotate 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.

[0062] In addition, the second arm 23 is connected to the front end of the first arm 22. The second arm 23 can rotate 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 that 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 driving amount of the second arm 23 relative to the first arm 22, specifically, the rotation amount, can be detected by the encoder 263.

[0063] In addition, a third arm 24 is provided and supported at the front end of the second arm 23. The third arm 24 has a shaft 241. The shaft 241 can rotate relative to the second arm 23 about a third axis O3 along the vertical direction and can move in the vertical direction. This shaft 241 is the outermost front arm of the robotic arm 20.

[0064] 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.

[0065] 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.

[0066] In addition, in the robot 2, a front-end coordinate system is set with the front end of the shaft 241 as the control point TCP and this control point TCP as the origin. This front-end coordinate system is calibrated with the aforementioned robot coordinate system, and the position in the front-end coordinate system can be converted to the robot coordinate system. Thereby, the position of the control point TCP can be determined in the robot coordinate system.

[0067] In addition, various end effectors 7 are detachably connected to the lower end of the shaft 241. The end effector 7 is a hand that holds a workpiece in the illustrated configuration. However, it is not limited to this configuration. For example, it can be a hand that holds a workpiece by suction, or it can be a tool such as a screwdriver or a wrench, or it can be a coating tool such as a sprayer.

[0068] In addition, in the present embodiment, although the end effector 7 is not a component of the robot 2, a part or all of the end effector 7 can also become a component of the robot 2.

[0069] 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 the present 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.

[0070] In addition, the installation position of the force detection unit 5 is not limited to the above position. For example, it can also be at the lower end of the shaft 241 or at each joint part.

[0071] 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 an external force is applied. Further, the control device 8 can convert the amount of electric charge into a value related to the external force applied to the robotic arm 20. In addition, for such a piezoelectric material, the direction in which electric charges can be generated when an external force is applied can be adjusted according to the set direction.

[0072] In addition, the reception unit 4 is a part that receives a prescribed operation by an operator. Although not shown, the reception unit 4 has a teaching button. This teaching button can be used when directly performing teaching. The teaching button can be a mechanical button or a touch-type electronic button. In addition, other buttons with different functions can be provided around the teaching button.

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

[0074] 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.

[0075] 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. There is no particular limitation on the teaching device 3, and for example, a tablet computer, a personal computer, a smartphone, etc. can be cited.

[0076] The CPU 31 is used to read and execute various programs 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 prescribed operation under prescribed conditions.

[0077] The storage unit 32 is used to store various programs that the CPU 31 can execute. As the storage unit 32, for example, a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a mobile external storage device, etc. can be cited.

[0078] The communication unit 33 uses an external interface such as a wired LAN (Local Area Network) or a wireless LAN to send and receive signals to and from the control device 8.

[0079] The display unit 34 is composed of various displays. In the present embodiment, as an example, a touch panel type, that is, a configuration in which the display unit 34 has a display function and an input operation function will be described.

[0080] However, it is not limited to such a configuration, and it may also be a configuration that additionally includes an input operation unit. In this case, examples of the input operation unit include a mouse, a keyboard, etc. In addition, it may also be a configuration that uses a touch panel, a mouse, a keyboard, etc. simultaneously.

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

[0082] As Figure 1 shown, in the present embodiment, the control device 8 is built into the base 21. In addition, as Figure 2 shown, the control device 8 has a function of controlling the driving of the robot 2 and is electrically connected to each part of the above-mentioned robot 2. In addition, it is not limited to this, and the control device 8 may also be configured separately from the robot 2.

[0083] Here, when the robotic arm 20 pauses during operation or stops at the end of the operation, vibration will occur in the robotic arm 20. This vibration will affect the accuracy of the operation and the operation time, so it is preferable to reduce this vibration as much as possible. More specifically, the time until the vibration ends is preferably as short as possible. In addition, hereinafter, shortening the time until the vibration ends is referred to as "vibration suppression".

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

[0085] 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 when it stops, the position of the control point TCP, the path passed so far, the speed and acceleration in this path.

[0086] In order to determine which frequency components to remove from the drive signal to generate the corrected drive signal, it is preferable to determine considering these conditions. Among them, the height information related to the height of the front end of the robotic arm 20 during the operation of the robotic arm 20 or during the stop of the robotic arm 20 particularly easily affects vibration suppression. Therefore, in the present invention, the corrected drive signal is generated based on the height information. In the present embodiment, the height of the front end of the robotic arm 20 refers to the z-axis coordinate of the control point TCP set on the robotic arm 20 in the robot coordinate system. The following will be described in detail.

[0087] As Figure 3 shown, the control device 8 executes the control method of the robot of the present invention and has 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.

[0088] 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, tables to be described later, and the like. 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 mobile external storage device, and the like can be cited. The communication unit 8D uses an external interface such as a wired LAN (Local Area Network) or a wireless LAN to transmit and receive signals between each part of the robot 2 and the teaching device 3, respectively.

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

[0090] 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 to the target position based on the motion program input by the user. In addition, the user can input the motion program using an input device such as the teaching device 3.

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

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

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

[0094] The speed control unit 84 receives the 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 filtering processing unit 85.

[0095] The filtering 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 "corrected drive signal"), and outputs it to the current control unit 86. "Removing" in this specification not only includes setting specific frequency components to 0, but of course also includes reducing specific frequency components. The filtering processing unit 85 determines the coefficients used in the band-stop filter, that is, the frequency components to be removed using the band-stop filter, based on the signal output from the adjustment unit 82.

[0096] The current control unit 86 receives the torque control signal from the filtering processing unit 85, and receives a feedback signal from a servo amplifier (not shown), which represents the amount of current supplied to the motors 251, 261, 271, and 281. 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 filtering processing unit 85 and the feedback signal received from the servo amplifier (not shown), and drives the motors 251, 261, 271, and 281.

[0097] Here, in the robot system 100, the user can input height information. For example, the user uses the teaching device 3 to input information related to the motion path, thereby being able to obtain information related to the trajectory passed by the control point TCP. Additionally, here, the height information is described as the height when the control point TCP is at the final target position.

[0098] The height of the control point TCP at stop, for example, when at the Figure 8 shown position and Figure 9 shown position, the time until the vibration ends is different. Generally, the lower the height of the control point TCP, the longer the time until the vibration ends tends to be. In the illustrated configuration, compared with the height C1, the time until the vibration ends is longer at the height C2.

[0099] Therefore, by considering the height of the control point TCP of the robotic arm 20 in a specified posture, that is, the position in the z-axis direction, to generate a corrected drive signal, vibration can be suppressed. Specifically, the adjustment unit 82 determines the frequency components to be removed from the drive signals of the drive motors 251, 261, 271, and 281 based on the height 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 represents the relationship between the height information and the frequency components, and is obtained through experiments in advance. Additionally, it can also be configured to determine the frequency components to be removed based on a calibration curve representing the relationship between the height information and the frequency components instead of the table T1.

[0100] As Figure 4 shown, for example, when the height information is C1, the removed frequency component is F1. Then, the adjustment unit 82 outputs a signal corresponding to F1 to the filtering processing unit 85. Then, through the above-described 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 robotic arm 20, the end effector 7, etc. can be suppressed due to the removed frequency component, and the time until the vibration ends can be shortened.

[0101] Next, the case where the robotic arm 20 performs the Figure 12 action shown will be described. In addition, in Figure 12 , the trajectory of the control point TCP is shown. Figure 12 The action shown is an action of performing a rising action, a horizontal action, and a descending action. The rising action is performed from the rising action start position P1 to the rising action end position P2. The horizontal action is performed from the rising 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.

[0102] In the above, the configuration of determining the removed frequency component based on the height of the control point TCP at the descending action end position P4 has been described. However, depending on each condition, in order to suppress vibration in the horizontal direction, it is sometimes preferable to determine the removed frequency component based on the height of the control point TCP at the rising action start position P1 or the descending action start position P3. Specifically, when any one of the following condition 1, the following condition 2, and the following condition 3 is not satisfied, the removed frequency component is determined based on the height of the control point TCP at the rising action start position P1.

[0103] When at least one of the following condition 1, the following condition 2, and the following condition 3 is satisfied, the removed frequency component is 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, the following condition 2, and the following condition 3 is not satisfied, the removed frequency component is determined based on the height of the control point TCP at the action start position P1.

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

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

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

[0107] Condition 1 is a regulation related to the distance of the descending motion. When the distance of the descending motion is relatively long, it is preferable to determine the removed frequency components based on the height of the control point TCP at the descending motion start position P3. Thereby, a drive signal capable of suppressing the vibration of the horizontal component can be generated.

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

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

[0110] In this way, by selecting the position that serves as the reference for determining the removed frequency components according to the action conditions, vibration can be suppressed more effectively. In addition, "selection" includes both the case where the control device 3 itself makes a selection based on the judgment criteria and the case where it accepts the indication selected and input by the user.

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

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

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

[0114] Thereby, it is preferable to generate a correction drive signal by considering at least one of them in addition to the height information.

[0115] 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 representing the relationship between the input result and the weight of the end effector 7. In addition, regarding the weight of the workpiece, a configuration using a table to determine it can also be adopted. Then, the adjustment unit 82 decides the frequency components to be removed from the drive signal in consideration of the information related to the weight of the end effector 7 and the weight of the workpiece (hereinafter referred to as "weight information").

[0116] For example, in the case where the weight of the end effector 7 and the weight of the workpiece are relatively heavy W1 and in the case where the weight of the end effector 7 and the weight of the workpiece are relatively heavy W2, the time until the vibration ends is different. Generally, the heavier the weight of the end effector 7 and the weight of the workpiece, the longer the time until the vibration ends tends to be. Considering such a situation, as Figure 5 shown, the above-mentioned table T1 is prepared in advance for each weight information, and a correction drive signal is generated by referring to any one of them according to the weight information, so that a correction drive signal with high vibration suppression accuracy can be generated.

[0117] In addition, when the end effector 7 is not configured 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.

[0118] Furthermore, it is preferable to generate a correction drive signal in consideration of 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 this embodiment refers to the posture when the control point TCP stops or pauses at the target position. The positional relationship between the center of gravity G1 and the center of gravity G2 at the time of stopping is different when it is the Figure 8 positional relationship A1 shown in Figure 9 and when it is the

[0119] positional relationship A2 shown in Figure 6 The time until the vibration ends is different. This is because the natural vibration characteristics of the entire robot 2 change 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.

[0120] In addition, it is preferable to generate a correction drive signal in consideration of 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 greater influence on the vibration characteristics. In addition, 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 time of stopping or pausing at the target position.

[0121] The overall shape of the robotic arm 20 at the time of stopping is different in the case of the shape B1 shown in Figure 10 and the shape B2 shown in Figure 11 until the vibration ends. This is mainly because the natural vibration characteristics of the entire robot 2 change according to the distance between the position of the control point TCP and the root of the robotic arm 20.

[0122] Thus, as shown in Figure 7 above, tables T1 as described above are prepared in advance according to the overall shape of each robotic arm 20, particularly according to the angle formed by each first arm 22 and the second arm 23, and a correction drive signal is generated by referring to any one of them, so that a correction drive signal with high vibration suppression accuracy can be generated. In particular, in the case of being applied to a vertical multi-joint robot such as a six-axis robot, such control is effective.

[0123] In addition, these elements can be combined to generate a correction drive signal. Moreover, a multi-dimensional table showing the relationships of the respective elements can be prepared.

[0124] Next, an example of the control method of the robot of the present invention will be described with reference to the flowchart shown in Figure 13 .

[0125] First, in step S101, height information is acquired. As described above, the user inputs various information such as height information using the teaching device 3, and the control device 8 acquires this information, thereby performing this step. This step S101 is the first step.

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

[0127] 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 filtering processing unit 85. This step S103 is the third step.

[0128] Next, in step S104, the motors 251, 261, 271, and 281 are driven based on the corrected drive signal generated in step S103. Thereby, vibration during stop or pause can be suppressed, and operations can be performed accurately and quickly. This step S104 is the fourth step.

[0129] As described above, the control method of the robot according to the present invention is a control method of the robot 2, which includes: a base 21; a robotic arm 20 connected to the base 21; and drive units 25, 26, 27, and 28, including motors 251, 261, 271, and 281 for driving the robotic arm 20. In addition, the control method of the robot according to the present invention includes: a first step of obtaining height information related to the height of the front end, i.e., the control point TCP, of the robotic arm 20 during the movement of the robotic arm 20 or during the stop of the robotic arm 20; a second step of determining, based on the height information obtained in the first step, the frequency components to be removed from the drive signals of 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 a corrected drive signal. By driving the robot 2 with such a corrected drive signal, vibration during stop or pause 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.

[0130] In addition, in the present embodiment, it may also be configured to input various information using an input device other than the teaching device 3.

[0131] In addition, in the second step, the frequency components are determined based on a calibration curve or table representing the relationship between the frequency components and the height information. Thereby, the frequency components to be removed can be determined by simple processing.

[0132] In addition, the robotic arm 20 is configured to perform a rising action in which the front end of the robotic arm 20 rises from the rising action start position P1, and a descending action in which the front end of the robotic arm 20 descends from the descending action start position P3 after the rising action. Then, the determination of the frequency components in the second step is based on the height of the front end of the robotic arm, i.e., the control point TCP, at any one of the action start position P1 and the descending action start position P3. Thereby, drive signals capable of suppressing vibration of the horizontal component can be generated according to various conditions.

[0133] In addition, the determination of the frequency component in the second step is based on the height of the front end of the robotic arm 20, i.e., the control point TCP, at the descending motion start position P3 when at least one of the following Condition 1, Condition 2, and Condition 3 is satisfied. When none of the following Condition 1, Condition 2, and Condition 3 is satisfied, it is based on the height of the control point TCP at the ascending motion start position P1. Condition 1: The distance between the descending motion start position and the descending motion end position where the descending motion ends is separated by a specified distance or more. Condition 2: The height of the descending motion start position is equal to or higher than a specified height. Condition 3: The height of the descending motion end position where the descending motion ends is equal to or higher than a specified height. Thereby, a drive signal capable of suppressing vibration of the horizontal component can be generated.

[0134] In addition, the determination of the above frequency component in the second step is also based on weight information, which includes information related to the weight of the end effector 7 provided on the robotic arm 20 and the weight of the object, which is the work object of the end effector 7. Thereby, a correction drive signal with high vibration suppression accuracy can be further generated.

[0135] In addition, the robot 2 is a SCARA robot, and the robotic arm 20 has: a first arm 22 connected to the base 21; a second arm 23 connected to the first arm 22; and a third arm 24 connected to the second arm 23. Then, the determination of the frequency component in the second step is also based on the angle formed by the first arm 22 and the second arm 23 in a specified posture of the robotic arm 20. Thereby, a correction drive signal with high vibration suppression accuracy can be further generated.

[0136] In addition, in the third step, a band-stop filter is used to remove the frequency component determined in the second step from the drive signal to generate a correction drive signal. Thereby, a correction drive signal can be generated by simple processing.

[0137] In addition, the control method of the robot of the present invention includes: 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 correction drive signal. Thereby, vibration during stop or pause can be suppressed, and work can be performed accurately and quickly.

[0138] In addition, the robot control program of the present invention is a control program for controlling the robot 2, which has: a robotic arm 20; 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 robot control program of the present invention is used to perform the following steps: the first step of obtaining height information related to the height of the front end of the robotic arm 20, i.e., the control point TCP, during the movement of the robotic arm 20 or during the stop of the robotic arm 20; the second step of determining, based on the height information obtained in the first step, the frequency components to be removed from the drive signals of the motors 251, 261, 271, and 281; and the third step of removing the frequency components determined in the second step from the drive signals to generate corrected drive signals. Driving the robot 2 with the corrected drive signals obtained by executing such a robot control program can suppress vibrations during stops or pauses and enable accurate and rapid operation. 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 vibrations can be suppressed in a simple way.

[0139] In addition, the robot control program of the present invention can be stored in the storage unit 32 or in the storage unit 8C. For example, it can be saved in a recording medium such as a CD-ROM or stored in a storage device that can be connected via a network or the like.

[0140] In addition, the robot system of the present invention includes: a robotic arm 20; 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; and a control unit, i.e., a control device 8, for controlling the operation of the robotic arm 20. In addition, the control device 8 has: an acquisition unit, i.e., a communication unit 8D, for acquiring height information related to the height of the front end of the robotic arm 20, i.e., the control point TCP, during the movement of the robotic arm 20 or during the stop of the robotic arm 20; and a corrected signal generation unit, i.e., an adjustment unit 82 and a filtering processing unit 85, for determining the frequency components to be removed from the drive signals based on the height information acquired by the communication unit 8D and removing the determined frequency components from the drive signals to generate corrected drive signals. Driving the robot 2 with such corrected drive signals can suppress vibrations during stops or pauses and enable accurate and rapid operation. 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 vibrations can be suppressed in a simple way.

[0141] As described above, the control method, robot system, and robot control program of the robot according to the present invention have been described based on the illustrated embodiments. However, 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, any other components and processes can be added to the robot control method, robot system, and robot control program, respectively.

[0142] In addition, in the above-described embodiment, the configuration in which the control device 8 generates the correction drive signal has been described. However, the present invention is not limited thereto, and the configuration in which the teaching device 3 generates the correction drive signal may also be used. That is, the "control unit" can be understood as the control device 8 or the control unit built in the teaching device 3.

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 driving unit including a motor for driving the robotic arm, the control method for the robot includes: a first step of obtaining height information related to the height of the front end of the robotic arm during the movement of the robotic arm or during the stop of the robotic arm; a second step of determining a frequency component to be removed from a driving signal for driving the motor based on the height information obtained in the first step; and a third step of removing the frequency component determined in the second step from the driving signal to generate a corrected driving signal, the robotic arm performs a rising action in which the front end of the robotic arm rises from a movement start position and a falling action in which the front end of the robotic arm falls from a falling action start position after the rising action, in the second step, when at least one of the following condition 1, the following condition 2, and the following condition 3 is satisfied, the frequency component is determined based on the height of the front end of the robotic arm at the falling action start position, and when none of the following condition 1, condition 2, and condition 3 is satisfied, the frequency component is determined based on the height of the front end of the robotic arm at the movement start position, Condition 1: The distance between the falling action start position and the falling action end position where the falling action ends is separated by a specified distance or more, Condition 2: The height of the falling action start position is a specified height or more, Condition 3: The height of the falling action end position is a specified height or more.

2. The control method for a robot according to claim 1, characterized in that, in the second step, the frequency component is determined based on a calibration curve or table representing the relationship between the frequency component and the height information.

3. The control method for a robot according to claim 1, characterized in that, the determination of the frequency component in the second step is also performed based on weight information, and the weight information includes information related to the weight of an end effector provided on the robotic arm and the weight of an object, which is the operation object of the end effector.

4. The control method for a robot according to claim 1, characterized in that, the robot is a horizontal multi-joint robot, the robotic arm has a first arm, 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 also performed based on the angle formed between the first arm and the second arm in a specified posture of the robotic arm.

5. The control method for a robot according to claim 1, characterized in that, in the third step, a band-stop filter is used to remove the frequency component determined in the second step from the driving signal to generate the corrected driving signal.

6. The control method for a robot according to claim 1, characterized in that, the control method for the robot includes a fourth step of driving the driving unit based on the corrected driving signal.

7. A robot system, characterized in that, it includes: a robotic arm; A driving 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 height information related to the height of the front end of the robotic arm during the operation of the robotic arm or during the stop of the robotic arm; And A correction signal generation unit for determining a frequency component to be removed from the drive signal for driving the motor based on the height information acquired by the acquisition unit, and removing the determined frequency component from the drive signal to generate a corrected drive signal, The robotic arm performs a rising action in which the front end of the robotic arm rises from the action start position and a falling action in which the front end of the robotic arm falls from the falling action start position after the rising action, The correction signal generation unit determines the frequency component based on the height of the front end of the robotic arm at the falling action start position when at least one of the following Condition 1, Condition 2, and Condition 3 is satisfied, and determines the frequency component based on the height of the front end of the robotic arm at the action start position when none of the following Condition 1, Condition 2, and Condition 3 is satisfied, Condition 1: The distance between the falling action start position and the falling action end position where the falling action ends is separated by a specified distance or more, Condition 2: The height of the falling action start position is a specified height or more, Condition 3: The height of the falling action end position is a specified height or more.

8. A storage medium, Characterized in that, It stores a control program for controlling a robot having a robotic arm and a driving unit including a motor for driving the robotic arm, and the control program is used to execute: A first step of acquiring height information related to the height of the front end of the robotic arm during the operation of the robotic arm or during the stop of the robotic arm; A second step of determining a frequency component to be removed from the drive signal for driving the motor based on the height 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, The robotic arm performs a rising action in which the front end of the robotic arm rises from the action start position and a falling action in which the front end of the robotic arm falls from the falling action start position after the rising action, In the second step, when at least one of the following Condition 1, Condition 2, and Condition 3 is satisfied, the frequency component is determined based on the height of the front end of the robotic arm at the falling action start position, and when none of the following Condition 1, Condition 2, and Condition 3 is satisfied, the frequency component is determined based on the height of the front end of the robotic arm at the action start position, Condition 1: The distance between the falling action start position and the falling action end position where the falling action ends is separated by a specified distance or more, Condition 2: The height of the falling action start position is a specified height or more, Condition 3: The height of the falling action end position is a specified height or more.

Citation Information

Patent Citations

  • Control device

    JP2001293638A

  • Overshoot detection method, overshoot detection system, overshoot adjustment method and robot system

    CN112140127A

  • Control apparatus, horizontal articulated robot and robot system

    US20200023515A1

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

    US20210060784A1