ROBOT CONTROL METHOD, ROBOT SYSTEM, AND ROBOT CONTROL PROGRAM
The robot control method addresses the inefficiency of traditional vibration reduction techniques by using target position information to generate a correction drive signal, effectively reducing vibrations and enhancing operational accuracy and efficiency.
Patent Information
- Application Number
- JP2021062361
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-31
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2041-03-31
AI Technical Summary
Existing robot control methods require a hammer to identify natural frequency and a measuring device to measure vibrations, which is cumbersome and inefficient.
A robot control method that acquires target position information and determines frequency components to be removed from the driving signal based on this information, generating a correction drive signal to reduce vibrations in the robot arm.
This method effectively reduces vibrations in the robot arm without the need for external tools, improving accuracy and efficiency in robot operations.
Smart Images

Figure 0007658142000001 
Figure 0007658142000002 
Figure 0007658142000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot control method, a robot system, and a robot control program. [Background technology]
[0002] In recent years, due to rising labor costs and labor shortages in factories, automation of tasks that have been performed manually has been accelerating using various robots and their peripheral devices. As an example of various robots, a robot as shown in Patent Document 1 is known.
[0003] The robot in Patent Document 1 performs the following operations to reduce vibration of the arm. First, the end effector attached to the arm is struck to vibrate it, and the vibration is measured. Next, the natural frequency of the arm is calculated based on the measurement results. Then, based on the calculated natural frequency, a specific frequency component is removed from the torque control signal for operating the arm to correct the torque control signal.
[0004] By driving the arm with this corrected torque signal, it is possible to reduce vibrations occurring in the arm. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2001-293638 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, the robot of Patent Document 1 requires the work of hitting with a hammer to identify the natural frequency and the preparation of a measuring device to measure the vibration, which is time-consuming. [Means for solving the problem]
[0007] A method for controlling a robot according to the present invention is a method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, the method comprising the steps of: A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal that drives the motor, based on a posture of the robot arm at the target position of the acquired target position information; 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] A method for controlling a robot according to the present invention is a method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, the method comprising the steps of: A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal that drives the motor, based on a positional relationship between a center of gravity G1 of the robot arm at the target position of the acquired target position information and a center of gravity G2 of an end effector installed on the robot arm; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.
[0009] The robot system of the present invention includes a base and A robot arm connected to the base; A drive unit including a motor that drives the robot arm; A control unit that controls the operation of the robot arm, The control unit is an acquisition unit that acquires target position information regarding a target position when the robot arm is moved; and a correction signal generation unit that determines a frequency component to be removed from a drive signal that drives the motor based on the posture of the robot arm at the target position of the acquired target position information, and removes the determined frequency component from the drive signal to generate a corrected drive signal.
[0010] A robot control program of the present invention is a control program for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal that drives the motor, based on a posture of the robot arm at the target position of the acquired target position information; 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]
[0011] [Figure 1] 1 is a schematic configuration diagram of a robot system according to the present invention. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] FIG. 2 is a block diagram of a control device shown in FIG. [Figure 4] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Diagram 5] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 6] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 7] FIG. 13 is a diagram illustrating an example of a table to which an adjustment unit refers. [Figure 8] 2 is a side view showing the positional relationship between the center of gravity of a robot arm and the center of gravity of an end effector of the robot shown in FIG. 1. [Figure 9]2 is a side view showing the positional relationship between the center of gravity of a robot arm and the center of gravity of an end effector of the robot shown in FIG. 1. [Figure 10] FIG. 2 is a diagram showing the overall shape of the robot arm shown in FIG. [Figure 11] FIG. 2 is a diagram showing the overall shape of the robot arm shown in FIG. [Figure 12] FIG. 2 is a diagram for explaining a movement path of the robot arm shown in FIG. [Figure 13] 1 is a flowchart for explaining a control method for a robot of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a robot control method, a robot system, and a robot control program according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.
[0013] <Embodiment> FIG. 1 is a schematic diagram of a robot system according to the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a block diagram of the control device shown in FIG. 1. FIGS. 4 to 7 are diagrams showing examples of tables referred to by the adjustment unit. FIGS. 8 and 9 are side views showing the positional relationship between the center of gravity of the robot arm and the center of gravity of the end effector of the robot shown in FIG. 1. FIGS. 10 and 11 are diagrams showing the overall shape of the robot arm shown in FIG. 1. FIG. 12 is a diagram for explaining the motion path of the robot arm shown in FIG. 1. FIG. 13 is a flowchart for explaining a control method of the robot according to the present invention.
[0014] For ease of explanation, FIG. 1 illustrates three mutually orthogonal axes: the x-axis, the y-axis, and the z-axis. In the following, the direction parallel to the x-axis is also referred to as the "x-axis direction", the direction parallel to the y-axis is also referred to as the "y-axis direction", and the direction parallel to the z-axis is also referred to as the "z-axis direction". In FIG. 1, the z-axis direction, i.e., the up-down direction, is referred to as the "vertical direction", and the x-axis and y-axis directions, i.e., the left-right direction, are referred to as the "horizontal direction". In addition, for each axis, the tip side is referred to as the "+ side" and the base side is referred to as the "- side".
[0015] 1 and 2 is a device used for operations such as holding, transporting, assembling, and inspecting an object (hereinafter referred to as a "workpiece") that is the subject of work, such as an electronic component or an electronic device. The robot system 100 includes a robot 2, a teaching device 3 that teaches the robot 2 an operation program, a control device 8 that controls the operation of the robot 2, a force detection unit 5, and an end effector 7. The robot 2 and the teaching device 3 are capable of communicating with each other by wire or wirelessly, and the communication may be performed via a network such as the Internet.
[0016] First, the robot 2 will be described. In the illustrated configuration, the robot 2 is a horizontal articulated robot, i.e., a SCARA robot. However, the configuration is not limited to this, and the robot 2 may be an articulated robot such as a vertical six-axis robot. As shown in Fig. 1, the robot 2 has a base 21, a robot arm 20 connected to the base 21, and a reception unit 4 that receives a predetermined operation from an operator.
[0017] The base 21 is a portion that supports the robot arm 20. A control device 8, which will be described later, is built into the base 21. The origin of the robot coordinate system is set at an arbitrary portion of the base 21. The x-axis, y-axis, and z-axis shown in FIG. 1 are the axes of the robot coordinate system.
[0018] The robot arm 20 includes a first arm 22, a second arm 23, and a third arm 24 that is a working head. The connecting portion between the base 21 and the first arm 22, the connecting portion between the first arm 22 and the second arm 23, and the connecting portion between the second arm 23 and the third arm 24 are also referred to as joints.
[0019] It should be noted that the robot 2 is not limited to the configuration shown in the figure, and the number of arms may be one or two, or may be four or more.
[0020] The robot 2 also includes a drive unit 25 that rotates the first arm 22 relative to the base 21, a drive unit 26 that rotates the second arm 23 relative to the first arm 22, a u drive unit 27 that rotates the shaft 241 of the third arm 24 relative to the second arm 23, and a z drive unit 28 that moves the shaft 241 in the z-axis direction relative to the second arm 23.
[0021] As shown in Figures 1 and 2, the drive unit 25 is built into the housing 220 of the first arm 22, and has a motor 251 that generates a drive force, a brake 252, a reducer (not shown) that reduces the drive force of the motor 251, and an encoder 253 that detects the rotation angle of the rotating shaft of the motor 251 or the reducer.
[0022] The drive unit 26 is built into the housing 230 of the second arm 23, and has a motor 261 that generates a driving force, a brake 262, a reducer (not shown) that reduces the driving force of the motor 261, and an encoder 263 that detects the rotation angle of the rotating shaft of the motor 261 or the reducer.
[0023] The u drive unit 27 is built into the housing 230 of the second arm 23 and has a motor 271 that generates a driving force, a brake 272, a reducer (not shown) that reduces the driving force of the motor 271, and an encoder 273 that detects the rotation angle of the rotating shaft of the motor 271 or the reducer.
[0024] The z drive unit 28 is built into the housing 230 of the second arm 23, and has a motor 281 that generates a driving force, a brake 282, a reducer (not shown) that reduces the driving force of the motor 281, and an encoder 283 that detects the rotational angle of the rotating shaft of the motor 281 or the reducer.
[0025] For example, a servo motor such as an AC servo motor or a DC servo motor can be used as the motor 251, the motor 261, the motor 271, and the motor 281. In addition, for example, a planetary gear type reducer, a wave gear device, etc. can be used as the reducer.
[0026] The brakes 252, 262, 272, and 282 have a function of decelerating the robot arm 20. Specifically, the brake 252 decelerates the motion speed of the first arm 22, the brake 262 decelerates the motion speed of the second arm 23, the brake 272 decelerates the motion speed of the third arm 24 in the u-axis direction, and the brake 282 decelerates the motion speed of the third arm 24 in the z-axis direction.
[0027] The control device 8 changes the energization conditions to activate the brakes 252, 262, 272, and 282, thereby decelerating each portion of the robot arm 20. The brakes 252, 262, 272, and 282 are controlled by the control device 8 independently of the motors 251, 261, 271, and 281.
[0028] Brakes 252, 262, 272, and 282 include electromagnetic brakes, mechanical brakes, hydraulic brakes, pneumatic brakes, and the like.
[0029] 2, the encoders 253, 263, 273, and 283 are position detection units that detect the position of the robot arm 20. The encoders 253, 263, 273, and 283 are each electrically connected to the control device 8. The encoders 253, 263, 273, and 283 transmit information relating to the detected rotation angles to the control device 8 as electric signals. This allows the control device 8 to control the operation of the robot arm 20 based on the received information relating to the rotation angles.
[0030] Such drive unit 25, drive unit 26, u drive unit 27 and z drive unit 28 are each connected to a corresponding motor driver (not shown), and are controlled by control device 8 via the motor driver.
[0031] The base 21 is fixed to a floor surface (not shown) by, for example, bolts or the like. A first arm 22 is connected to the upper end of the base 21. The first arm 22 is rotatable around a first axis O1 that is vertical to the base 21. When a drive unit 25 that rotates the first arm 22 is driven, the first arm 22 rotates around the first axis O1 in a horizontal plane relative to the base 21. In addition, an encoder 253 can detect the amount of rotation of the first arm 22 relative to the base 21.
[0032] Further, the second arm 23 is connected to the tip of the first arm 22. The second arm 23 is rotatable around a second axis O2 that is vertical to the first arm 22. The axial direction of the first axis O1 and the axial direction of the second axis O2 are the same. That is, the second axis O2 is parallel to the first axis O1. When the driving unit 26 that rotates the second arm 23 is driven, the second arm 23 rotates around the second axis O2 in a horizontal plane relative to the first arm 22. Further, the encoder 263 is capable of detecting the amount of drive of the second arm 23 relative to the first arm 22, specifically, the amount of rotation.
[0033] Further, a third arm 24 is installed and supported at the tip of the second arm 23. The third arm 24 has a shaft 241. The shaft 241 is rotatable about a third axis O3 along the vertical direction relative to the second arm 23, and is also movable in the up and down direction. This shaft 241 is the arm at the very tip of the robot arm 20.
[0034] When the u-drive unit 27 that rotates the shaft 241 is driven, the shaft 241 rotates around the z-axis. In addition, the amount of rotation of the shaft 241 relative to the second arm 23 can be detected by the encoder 273.
[0035] When the z drive unit 28 that moves the shaft 241 in the z-axis direction is driven, the shaft 241 moves up and down, i.e., in the z-axis direction. The amount of movement of the shaft 241 in the z-axis direction relative to the second arm 23 can be detected by the encoder 283.
[0036] In addition, in the robot 2, the tip of the shaft 241 is set as a control point TCP, and a tip coordinate system is set with this control point TCP as the origin. This tip coordinate system has been calibrated with the above-mentioned robot coordinate system, and the position in the tip coordinate system can be converted into the robot coordinate system. This makes it possible to identify the position of the control point TCP in the robot coordinate system.
[0037] Moreover, various end effectors 7 are detachably connected to the lower end of the shaft 241. In the illustrated configuration, the end effector 7 is a hand that grips a workpiece. However, the end effector 7 is not limited to this configuration and may be, for example, a hand that grips a workpiece by suction or adsorption, a tool such as a screwdriver or a wrench, or an applicator such as a sprayer.
[0038] In this embodiment, the end effector 7 is not a component of the robot 2, but a part or the whole of the end effector 7 may be a component of the robot 2.
[0039] 1, the force detection unit 5 detects the force applied to the robot 2, i.e., the force applied to the robot arm 20 and the base 21. In this embodiment, the force detection unit 5 is provided below the base 21, i.e., on the -z axis side, and supports the base 21 from below.
[0040] The position where the force detection unit 5 is installed is not limited to the above, and may be, for example, the lower end of the shaft 241 or each joint portion.
[0041] The force detection unit 5 can be configured to include a plurality of elements that are made of a piezoelectric material such as quartz crystal and output a charge when an external force is applied. The control device 8 can convert the amount of charge into a value related to the external force applied to the robot arm 20. In addition, with such a piezoelectric material, the direction in which a charge can be generated when an external force is applied can be adjusted according to the installation direction.
[0042] The reception unit 4 is a portion that receives a predetermined operation by an operator. The reception unit 4 has a teaching button, not shown. This teaching button can be used when performing direct teaching. The teaching button may be a mechanical button or a touch-type electric button. Other buttons with different functions may be provided around the teaching button.
[0043] Next, the teaching device 3 will be described. 2, the teaching device 3 has a function of specifying an operation program for the robot 2. Specifically, the teaching device 3 inputs the position and posture of the robot arm 20 to the control device 8.
[0044] 2, the teaching device 3 includes a CPU (Central Processing Unit) 31, a storage unit 32, a communication unit 33, and a display unit 34. The teaching device 3 is not particularly limited, and examples thereof include a tablet, a personal computer, and a smartphone.
[0045] The CPU 31 reads and executes various programs and the like stored in the storage unit 32. Signals generated by the CPU 31 are transmitted to the control device 8 of the robot 2 via the communication unit 33. This enables the robot arm 20 to perform a predetermined task under predetermined conditions.
[0046] The storage unit 32 stores various programs executable by the CPU 31. Examples of the storage unit 32 include a volatile memory such as a random access memory (RAM), a non-volatile memory such as a read only memory (ROM), and a removable external storage device.
[0047] The communication unit 33 transmits and receives signals to and from the control device 8 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN.
[0048] The display unit 34 is configured with various displays. In the present embodiment, a touch panel type display will be described as an example, that is, the display unit 34 has a display function and an input operation function.
[0049] However, the present invention is not limited to such a configuration, and may be configured to include a separate input operation unit. In this case, examples of the input operation unit include a mouse and a keyboard. Alternatively, a touch panel may be used in combination with a mouse and a keyboard.
[0050] Next, the control device 8 will be described. 1, in this embodiment, the control device 8 is built into the base 21. As shown in FIG. 2, the control device 8 has a function of controlling the driving of the robot 2, and is electrically connected to each of the above-mentioned parts of the robot 2. However, this is not limited thereto, and the control device 8 may be configured separately from the robot 2.
[0051] Here, when the robot arm 20 pauses during work or stops after completing work, vibrations occur in the robot arm 20. Since this vibration affects the accuracy and time of the work, it is preferable to reduce it as much as possible. More specifically, it is preferable to shorten the time until the vibration subsides as much as possible. In the following, shortening the time until the vibration subsides is referred to as "suppressing vibration."
[0052] In order to suppress vibration, the robot system 100 removes specific frequency components from the drive signals that drive the motors 251, 261, 271, and 281 to generate corrected drive signals.
[0053] The strength of the vibration is determined by various conditions such as the weight of the end effector 7, the attitude of the robot arm 20 when stopped, the position of the control point TCP, the path that has been traveled so far, the speed and acceleration on that path, etc.
[0054] In order to determine which frequency components should be removed from the drive signal to generate the corrected drive signal, it is preferable to make the determination taking these conditions into consideration. Among these, for example, the posture of the robot arm 20 at the target position at the end of the work is particularly likely to affect vibration suppression, so in the present invention, the corrected drive signal is generated based on the posture of the robot arm 20 at the target position.
[0055] 3, the control device 8 executes the robot control method of the present invention and includes a motion processing unit 8A, a servo processing unit 8B, a storage unit 8C, and a communication unit 8D. Each of the motion processing unit 8A and the servo processing unit 8B is composed of at least one processor.
[0056] The storage unit 8C stores various programs executable by the motion processing unit 8A and the servo processing unit 8B, various programs such as the robot control program of the present invention, and tables described later. Examples of the storage unit 8C include volatile memories such as RAM (Random Access Memory), non-volatile memories such as ROM (Read Only Memory), and removable external storage devices. The communication unit 8D transmits and receives signals between each part of the robot 2 and the teaching device 3 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. The communication unit 8D functions as an acquisition unit that acquires target position information related to a target position when moving the robot arm 20.
[0057] The motion processing unit 8A includes a position command generating unit 81 and an adjusting unit . The position command generating unit 81 generates a position command signal representing a target position where the end effector 7 should be located, and a speed and acceleration to the target position, based on an operation program input by the user. The user can input the operation program using an input device such as the teaching device 3.
[0058] Based on information input by the user, the adjustment unit 82 determines the frequency components to be removed by the filter processing unit 85. This will be described later.
[0059] The servo processing unit 8B has a position control unit 83, a speed control unit 84, a filter processing unit 85, and a current control unit 86.
[0060] The position control unit 83 receives information on the target position, the speed to the target position, and the acceleration generated by the position command generation unit 81, and based on this information and the detection results of the force detection unit 5, generates and outputs speed control signals for each of the motors 251, 261, 271, and 281.
[0061] The speed control unit 84 receives a speed control signal from the position control unit 83. In addition, the speed control unit 84 generates a torque control signal (hereinafter also referred to as a “drive signal”) based on the speed control signal received from the position control unit 83 and the detection results of the encoders 253, 263, 273, and 283, and outputs the generated torque control signal to the filter processing unit 85.
[0062] The filter processing unit 85 uses a band elimination filter to remove specific frequency components from the torque control signal received from the speed control unit 84, thereby generating a new torque control signal (hereinafter also referred to as a "corrected drive signal") and outputs it to the current control unit 86. In this specification, "removal" not only includes reducing specific frequency components as well as setting them to zero. The filter processing unit 85 determines the coefficients to be used in the band elimination filter, i.e., the frequency components to be removed using the band elimination filter, based on the signal output by the adjustment unit 82.
[0063] The current control unit 86 receives a torque control signal from the filter processing unit 85, and also receives a feedback signal from a servo amplifier (not shown) indicating the amount of current to be supplied to the motors 251, 261, 271, and 281. The current control unit 86 determines the amount of current to be supplied to the motors 251, 261, 271, and 281 based on the torque control signal received from the filter processing unit 85 and the feedback signal received from the servo amplifier (not shown), and drives the motors 251, 261, 271, and 281.
[0064] Here, in the robot system 100, the user can input target position information related to the target position. For example, the user can obtain information related to the posture of the robot arm 20 at the target position (hereinafter referred to as "shape information") by inputting information related to the movement path using the teaching device 3. Note that, here, the target position will be described as the position where the control point TCP is located when the task is completed.
[0065] The overall shape of the robot arm 20 is determined based on the rotational positions, i.e., the rotational angles, of the motors 251, 261, 271, and 281. In particular, in a SCARA robot, the rotational angle of the motor 261, i.e., the angle between the first arm 22 and the second arm 23, has a large effect on the vibration characteristics. When the overall shape of the robot arm 20 at the target position is shape B1 as shown in FIG. 10, the time it takes for the vibration to subside differs from when it is shape B2 as shown in FIG. 11. This is because the natural vibration characteristics of the entire robot 2 change mainly depending on the distance between the position of the control point TCP and the base of the robot arm 20.
[0066] For this reason, vibrations can be suppressed by generating a corrected drive signal taking into account the shape information. Specifically, the adjustment unit 82 determines the frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the shape information. The adjustment unit 82 determines the frequency components to be removed by referring to a table T1 shown in FIG. 4. The table T1 indicates the relationship between the shape information of the robot arm 20 and the frequency components, and is obtained experimentally in advance. Note that instead of the table T1, the frequency components to be removed may be determined based on a calibration curve indicating the relationship between height information and frequency components.
[0067] As shown in Fig. 4, for example, when the shape is B1, the frequency component to be removed is F1. Then, the adjustment unit 82 outputs a signal corresponding to F1 to the filter processing unit 85. Then, through the above-mentioned processing, a corrected drive signal can be obtained. By driving the motors 251, 261, 271, and 281 with such a corrected drive signal, resonance of the robot arm 20, the end effector 7, etc. can be suppressed, and the time until the vibration subsides can be shortened.
[0068] The shape information includes at least one of the following information: the rotation angle of the first arm 22 relative to the base 21, the rotation angle of the second arm 23 relative to the first arm 22, and the rotation angle of the third arm 24 relative to the second arm 23. Of these, it is preferable that the shape information includes information on the rotation angle of the second arm 23 relative to the first arm 22. The rotation angle of the second arm 23 relative to the first arm 22 greatly affects the overall posture. For this reason, the rotation angle of the second arm 23 relative to the first arm 22 greatly affects the vibration characteristics. Therefore, by determining the frequency component to be removed as F1 based on the rotation angle of the second arm 23 relative to the first arm 22, a correction drive signal with even higher vibration suppression accuracy can be efficiently generated.
[0069] In addition, the vibration characteristics when stopped are also affected by the direction in which the control point TCP moves to the target position. That is, the vibration characteristics after stopping are affected by the direction in which the control point TCP moves to the target position. Therefore, it is preferable to determine the frequency component to be removed based on the drive direction of the motors 251, 261, 271, and 281 when moving to the target position as F1. This makes it possible to generate a correction drive signal with even higher accuracy in vibration suppression.
[0070] Here, when the frequency component to be removed is F0, F0 can be expressed by the following equation (1). F0=K1×W×Ew×J 2 +K2×Ez×Z×J+K0×W×Z…(1)
[0071] K1, K2, and K0 in formula (1) are coefficients specific to the robot and can be calculated from actual measured values. Furthermore, J in formula (1) indicates the rotation angle of the second arm 23 relative to the first arm 22. Furthermore, W in formula (1) indicates weight information. Furthermore, Z in formula (1) indicates the position of the control point TCP in the z-axis direction. Furthermore, Ew in formula (1) indicates the total weight of the end effector 7 and the workpiece. Furthermore, Ez in formula (1) indicates the center of gravity position of the end effector 7 and the workpiece combined.
[0072] For this reason, it is preferable to generate a corrected drive signal by taking into consideration at least one of these in addition to the shape information.
[0073] In the robot system 100, the user can input information on the weight of the end effector 7 and the weight of the workpiece via the teaching device 3. For example, the system may be configured so that the user directly inputs the weight of the end effector 7 and the weight of the workpiece, or the system may be configured so that the user inputs the type of the end effector 7 and the adjustment unit 82 specifies 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. The weight of the workpiece may also be specified similarly using a table. The adjustment unit 82 then determines the frequency components to be removed from the drive signal, taking into account information on the weight of the end effector 7 and the weight of the workpiece (hereinafter referred to as "weight information").
[0074] For example, the time it takes for vibration to subside differs when the weight of the end effector 7 and the weight of the workpiece are relatively heavy (W1) from the time it takes for vibration to subside when the weight of the end effector 7 and the weight of the workpiece are relatively light (W2). In general, the heavier the weight of the end effector 7 and the weight of the workpiece are, the longer the time it takes for vibration to subside. In consideration of this, as shown in FIG. 5, a table T1 as described above is prepared for each piece of weight information, and a correction drive signal is generated by referring to one of these tables according to the weight information, thereby making it possible to generate a correction drive signal with higher vibration suppression accuracy.
[0075] In addition, when the end effector 7 is configured not to grip a workpiece, the weight of the workpiece is set to 0, and the weight information is only the weight of the end effector 7.
[0076] Furthermore, the robot system 100 allows the user to input height information. For example, the user can obtain information about the trajectory through which the control point TCP passes by inputting information about the movement path using the teaching device 3. Note that the height information will be described here as the height when the control point TCP is located at the final target position.
[0077] The time required for vibration to subside differs when the height of the control point TCP at the time of stopping is, for example, at a position as shown in FIG. 8 and at a position as shown in FIG. 9. In general, the lower the height of the control point TCP, the longer the time required for vibration to subside. In the illustrated configuration, the time required for vibration to subside tends to be longer at height C2 than at height C1. In consideration of this, as shown in FIG. 6, the above-mentioned table T1 is prepared for each piece of height information, and a correction drive signal is generated by referring to one of these according to weight information, thereby making it possible to generate a correction drive signal with higher vibration suppression accuracy.
[0078] Next, a case where the robot arm 20 performs an operation as shown in Fig. 12 will be described. Note that Fig. 12 illustrates the trajectory of the control point TCP. The operation shown in Fig. 12 is an operation of performing an upward operation, a horizontal operation, and a downward operation. The upward operation is performed from an upward operation start position P1 to an upward operation end position P2. The horizontal operation is performed from an upward operation end position P2 to a downward operation start position P3. The downward operation is performed from a downward operation start position P3 to a downward operation end position P4.
[0079] Although the above describes a configuration in which the frequency components to be removed are determined based on the height of the control point TCP at the lowering operation end position P4, depending on various conditions, in order to suppress horizontal vibrations, it may be better to determine the frequency components to be removed based on the height of the control point TCP at the ascent operation start position P1 or the descent operation start position P3. Specifically, when none of the following condition 1, condition 2, or condition 3 is satisfied, the frequency components to be removed are determined based on the height of the control point TCP at the ascent operation start position P1.
[0080] If at least one of the following conditions 1, 2, and 3 is satisfied, the frequency components to be removed are determined based on the height of the control point TCP at the lowering operation start position P3, and if none of the following conditions 1, 2, and 3 is satisfied, the frequency components to be removed are determined based on the height of the control point TCP at the operation start position P1.
[0081] Condition 1: The distance between the lowering operation start position P3 and the lowering operation end position P4 is equal to or greater than a predetermined distance. Condition 2: The height of the lowering operation start position P3 is equal to or higher than a predetermined height. Condition 3: The height of the lowering operation end position P4 is equal to or higher than a predetermined height.
[0082] Condition 1 is a regulation regarding the distance over which the lowering operation is performed. When the distance over which the lowering operation is performed is relatively long, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.
[0083] Condition 2 is a provision regarding the height of the lowering operation start position P3. When the height of the lowering operation start position P3 is relatively high, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.
[0084] Condition 3 is a regulation regarding the height of the lowering operation end position P4. When the height of the lowering operation end position P4 is relatively high, it is preferable to determine the frequency components to be removed based on the height of the control point TCP at the lowering operation start position P3. This makes it possible to generate a drive signal that can suppress vibrations of the horizontal component.
[0085] In this way, by selecting a reference position for determining the frequency components to be removed according to the operating conditions, it is possible to more effectively suppress vibration. Note that "selection" includes both cases where the control device 8 itself selects based on a judgment criterion and where the user accepts an instruction selected via the teaching device 3 or the like.
[0086] The correction drive signal may be generated by combining these elements. Also, a multi-dimensional table showing the relationship between the elements may be prepared.
[0087] Next, an example of a method for controlling a robot of the present invention will be described with reference to the flow chart shown in FIG.
[0088] First, in step S101, target position information is acquired. As described above, this step is performed by the user inputting various information such as the target position information using the teaching device 3, and the information is acquired by the control device 8. This step S101 is the first step.
[0089] Next, in step S102, based on various information such as the target position information acquired in step S101, frequency components to be removed from the drive signals that drive motors 251, 261, 271, and 281 are determined. This step is executed by adjustment unit 82. Also, as described above, this step is executed by appropriately selecting a table according to the information input in step S101 and referring to the selected table. This step S102 is the second step.
[0090] Next, in step S103, the frequency component determined in step S102 is removed from the drive signal to generate a corrected drive signal. As described above, this step is executed by the filter processing unit 85. This step S103 is the third step.
[0091] Next, in step S104, motors 251, 261, 271, and 281 are driven based on the corrected drive signal. This suppresses vibrations when stopped or temporarily stopped, allowing work to be performed accurately and quickly. This step S104 is the fourth step.
[0092] As described above, the control method of the robot of the present invention is a control method of the robot 2 having the base 21, the robot arm 20 connected to the base 21, and the drive unit 25, drive unit 26, u drive unit 27, and z drive unit 28 including the motors 251, 261, 271, and 281 that drive the robot arm 20. The control method of the robot of the present invention also includes a first step of acquiring target position information regarding a target position when moving the robot arm 20, a second step of determining frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the posture of the robot arm 20 at the target position of the acquired target position information, and a third step of generating a corrected drive signal by removing the frequency components determined in the second step from the drive signal. By driving the robot 2 with such a corrected drive signal, vibrations when stopped or temporarily stopped can be suppressed, and work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to acquire information about vibration characteristics can be omitted, and vibrations can be suppressed in a simple manner.
[0093] Here, the shape information can be said to be information regarding the positional relationship between the center of gravity G1 in the posture of the robot arm 20 at the target position and the center of gravity G2 of the end effector 7. The time until the vibration subsides differs when the positional relationship between the center of gravity G1 and the center of gravity G2 at the target position is the positional relationship A1 as shown in FIG. 8 and when the positional relationship is the positional relationship A2 as shown in FIG. 9. This is because the natural vibration characteristics of the entire robot 2 change depending on the distance between the center of gravity G1 and the center of gravity G2 and the direction in which the center of gravity G1 and the center of gravity G2 are shifted. Therefore, the effect of the present invention can be achieved by generating a correction drive signal taking into account the positional relationship between the center of gravity G1 in a predetermined posture of the robot arm 20 and the center of gravity G2 of the end effector 7.
[0094] Specifically, the adjustment unit 82 determines the frequency components to be removed by referring to table T2 shown in Fig. 7. Table T2 indicates the relationship between the positional relationship between the center of gravity G1 and the center of gravity G2 and the frequency components, and is experimentally obtained in advance. Note that, instead of table T2, the frequency components to be removed may be determined based on a calibration curve indicating the relationship between height information and frequency components.
[0095] As shown in Fig. 4, for example, when the positional relationship between the center of gravity G1 and the center of gravity G2 is B1, the frequency component to be removed is F1. In this case, the adjustment unit 82 outputs a signal corresponding to F1 to the filter processing unit 85. Then, through the above-mentioned processing, a corrected drive signal can be obtained. By driving the motors 251, 261, 271, and 281 with such a corrected drive signal, resonance of the robot arm 20, the end effector 7, etc. can be suppressed, and the time until the vibration subsides can be shortened.
[0096] Thus, the robot control method of the present invention is a method for controlling a robot 2 having a base 21, a robot arm 20 connected to the base 21, and a drive unit 25, a drive unit 26, a u drive unit 27, and a z drive unit 28 including a motor 251, a motor 261, a motor 271, and a motor 281 for driving the robot arm 20. The robot control method of the present invention also includes a first step of acquiring target position information regarding a target position when moving the robot arm 20, a second step of determining frequency components to be removed from the drive signals driving the motors 251, 261, 271, and 281 based on the positional relationship between the center of gravity G1 of the robot arm 20 at the target position of the acquired target position information and the center of gravity G2 of the end effector 7 installed on the robot arm 20, and a third step of generating a corrected drive signal by removing the frequency components determined in the second step from the drive signal. By driving the robot 2 with such a corrected drive signal, vibrations when stopped or temporarily stopped can be suppressed, and work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to obtain information about vibration characteristics can be omitted, and vibration can be suppressed in a simple manner.
[0097] In this embodiment, an input device other than the teaching device 3 may be used to input various pieces of information.
[0098] In the second step, the frequency components are determined based on a calibration curve or table that indicates the relationship between the frequency components and the posture of the robot arm 20. This makes it possible to determine the frequency components to be removed by simple processing.
[0099] Moreover, the robot 2 is a SCARA robot, and the robot arm 20 has a first arm 22 connected to a base 21, a second arm 23 connected to the first arm 22, and a third arm 24 connected to the second arm 23. Moreover, the posture of the robot arm 20 at the target position of the second step of the acquired target position information refers to the angle between the first arm 22 and the second arm 23 at the target position. This makes it possible to generate a correction drive signal with even higher accuracy in vibration suppression.
[0100] Moreover, the frequency components in the second step are determined based on the driving directions of the motors 251, 261, 271, and 281 when moving to the target position. This makes it possible to generate corrected driving signals with higher accuracy in vibration suppression.
[0101] Moreover, the determination of the frequency components in the second step is further performed based on weight information including information on the weight of the end effector 7 installed on the robot arm 20 and the weight of an object that is the subject of work by the end effector 7. This makes it possible to generate a corrected drive signal with even higher accuracy in vibration suppression.
[0102] In the third step, a band elimination filter is used to remove the frequency component determined in the second step from the drive signal to generate a corrected drive signal. This makes it possible to generate a corrected drive signal through simple processing.
[0103] Moreover, the control method for the robot of the present invention has a fourth step of driving the driving unit 25, the driving unit 26, the u driving unit 27, and the z driving unit 28 based on the corrected driving signal. This makes it possible to suppress vibrations when the robot is stopped or temporarily stopped, and to perform work accurately and quickly.
[0104] The robot control program of the present invention is a robot control program having a base 21, a robot arm 20 connected to the base 21, and a drive unit 25, a drive unit 26, a u drive unit 27, and a z drive unit 28 including a motor 251, a motor 261, a motor 271, and a motor 281 for driving the robot arm 20. The robot control program of the present invention is for executing a first step of acquiring target position information regarding a target position when moving the robot arm 20, a second step of determining a frequency component to be removed from a drive signal for driving the motors 251, 261, 271, and 281 based on the posture of the robot arm 20 at the target position of the acquired target position information, and a third step of generating a corrected drive signal by removing the frequency component determined in the second step from the drive signal. By driving the robot 2 with the corrected drive signal obtained by executing such a robot control program, vibrations when stopped or temporarily stopped can be suppressed, and work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to acquire information on vibration characteristics can be omitted, and vibrations can be suppressed in a simple manner.
[0105] The robot control program of the present invention may be stored in the memory unit 32, may be stored in the memory unit 8C, may be stored in a recording medium such as a CD-ROM, or may be stored in a storage device connectable via a network, etc.
[0106] The robot system of the present invention includes a base 21, a robot arm 20 connected to the base 21, a drive unit 25, a drive unit 26, a u drive unit 27, and a z drive unit 28 including a motor 251, a motor 261, a motor 271, and a motor 281 for driving the robot arm 20, and a control device 8 that is a control unit for controlling the operation of the robot arm 20. The control device 8 also includes a communication unit 8D that is an acquisition unit that acquires target position information related to a target position when moving the robot arm 20, and an adjustment unit 82 and a filter processing unit 85 that are correction signal generation units that determine frequency components to be removed from the drive signals that drive the motors 251, 261, 271, and 281 based on the posture of the robot arm 20 at the target position of the acquired target position information, and generate a correction drive signal by removing the determined frequency components from the drive signal. By driving the robot 2 with such a correction drive signal, vibrations when stopped or temporarily stopped can be suppressed, and the work can be performed accurately and quickly. In particular, the conventional process of hitting the robot arm 20 with a hammer to obtain information about vibration characteristics can be omitted, and vibration can be suppressed in a simple manner.
[0107] Although the robot control method, robot system, and robot control program of the present invention have been described above based on the illustrated embodiments, the present invention is not limited to this, and the configuration of each part can be replaced with any configuration having a similar function. In addition, any other components and steps may be added to the robot control method, robot system, and robot control program, respectively.
[0108] In the above embodiment, the control device 8 generates the correction drive signal, but the present invention is not limited to this, and the teaching device 3 may generate the correction drive signal. In other words, the "control unit" may be regarded as the control device 8, or as a control unit built into the teaching device 3. [Explanation of symbols]
[0109] 2...robot, 3...teaching device, 4...reception unit, 5...force detection unit, 7...end effector, 8...control device, 8A...motion processing unit, 8B...servo processing unit, 8C...storage unit, 8D...communication unit, 20...robot arm, 21...base, 22...first arm, 23...second arm, 24...third arm, 25...drive unit, 26...drive unit, 27...u drive unit, 28...z drive unit, 31...CPU, 32...storage unit, 33...communication unit, 34...display unit, 81...position command generation unit, 82...adjustment unit, 83...position control unit, 84...speed control unit, 85...filter processing unit, 86...current control unit, 100...robot system , 220... housing, 230... housing, 241... shaft, 251... motor, 252... brake, 253... encoder, 261... motor, 262... brake, 263... encoder, 271... motor, 272... brake, 273... encoder, 281... motor, 282... brake, 283... encoder, A1... positional relationship, A2... positional relationship, B1... shape, B2... shape, C1... height, C2... height, G1... center of gravity, G2... center of gravity, O1... first axis, O2... second axis, O3... third axis, T1... table, TCP... control point, P1... position, P2... position, P3... position, P4... position
Claims
1. A method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, comprising: the robot is a SCARA robot, the robot arm includes a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal that drives the motor, based on an attitude of the robot arm at the target position of the acquired target position information and a height of a control point set on the third arm at the target position; a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.
2. 2. The robot control method according to claim 1, wherein in the second step, the frequency components are determined based on a calibration curve or a table that indicates a relationship between the frequency components and a posture of the robot arm.
3. A robot control method as described in claim 1 or 2, wherein the posture of the robot arm at the target position of the second step of the acquired target position information refers to the angle between the first arm and the second arm at the target position.
4. 4. The method for controlling a robot according to claim 1, wherein the determination of the frequency component in the second step is further performed based on a driving direction of the motor when moving to the target position.
5. 5. The robot control method according to claim 1, wherein the determination of the frequency components in the second step is further performed based on weight information including information on a weight of an end effector installed on the robot arm and a weight of an object that is the subject of work by the end effector.
6. 6. A method for controlling a robot according to claim 1, wherein in the third step, a band elimination filter is used to remove the frequency component determined in the second step from the drive signal to generate the corrected drive signal.
7. 7. The method for controlling a robot according to claim 1, further comprising a fourth step of driving the drive unit based on the corrected drive signal.
8. A method for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, comprising: the robot is a SCARA robot, the robot arm includes a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal for driving the motor, based on a positional relationship between a center of gravity G1 of the robot arm at the target position of the acquired target position information and a center of gravity G2 of an end effector installed on the robot arm, and a height of a control point set on the third arm at the target position; a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.
9. a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm; A control unit that controls the operation of the robot arm, the robot is a SCARA robot, the robot arm includes a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, The control unit is an acquisition unit that acquires target position information regarding a target position when the robot arm is moved; a correction signal generation unit that determines a frequency component to be removed from a drive signal that drives the motor based on the attitude of the robot arm at the target position of the acquired target position information and a height of a control point set on the third arm at the target position, and removes the determined frequency component from the drive signal to generate a corrected drive signal.
10. A control program for controlling a robot having a base, a robot arm connected to the base, and a drive unit including a motor that drives the robot arm, the robot is a SCARA robot, the robot arm includes a first arm connected to the base, a second arm connected to the first arm, and a third arm connected to the second arm, A first step of acquiring target position information regarding a target position when moving the robot arm; a second step of determining a frequency component to be removed from a drive signal that drives the motor, based on an attitude of the robot arm at the target position of the acquired target position information and a height of a control point set on the third arm at the target position; and a third step of removing the frequency component determined in the second step from the drive signal to generate a corrected drive signal.
Citation Information
Patent Citations
Calculation method for natural frequency
JP1994278080A
Control device
JP2001293638A
Robot, robot control device and robot system
JP2020015153A
Robot control device, robot control method, and robot system
JP2020157402A