Detection method, robot system, and program product
By acquiring and processing the motor output torque information and extracting the robotic arm vibration components, the problems of complexity and weight increase of the robotic arm vibration detection device in the prior art are solved, and the effect of simplifying the device composition and improving the driving efficiency is achieved.
Patent Information
- Application Number
- CN202411727856.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-30
- Filing Date
- 2024-11-28
- Publication Date
- 2025-05-30
AI Technical Summary
In the prior art, the vibration detection of the robot arm depends on a physical vibration detection device, resulting in the complexity and size of the device structure, and the inertia weight of the robot arm increases, affecting its rapid driving ability.
By obtaining the time-change information of the motor output torque, removing the torque information after the acceleration component, extracting the torque information of the vibration component, thereby realizing vibration detection at the specified part of the robot arm.
Without the need to install a physical vibration detection device, the device configuration of the robot arm is simplified, the inertia weight of the robot arm is reduced, its driving efficiency is improved, and the manufacturing cost of the system is reduced.
Smart Images

Figure CN120056182A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a detection method, a robot system, and a program. Background Art
[0002] The robot described in Patent Document 1 has a robotic arm, and the robotic arm is driven to assume a desired posture to perform operations such as transporting, assembling, and inspecting a workpiece. In addition, an acceleration sensor is provided at the tip of the robotic arm. Based on the information detected and output by the acceleration sensor, the vibration of the robotic arm is detected. By generating a drive signal that cancels this vibration and driving the robotic arm, so-called vibration damping control can be performed in which the robotic arm is driven while suppressing vibration.
[0003] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2021-13999 However, in the configuration described in Patent Document 1, it is necessary to provide a physical vibration detection device such as an acceleration sensor. In addition to the complication and enlargement of the device configuration, there is also a problem that the inertial weight of the robotic arm, particularly the inertial weight of the tip of the robotic arm, increases, which is disadvantageous for the rapid driving of the robotic arm. Summary of the Invention
[0004] The detection method of the present invention detects the vibration of a specified part of a robotic arm having a motor, and includes: a first step of obtaining first torque information, which is a temporal change in the torque value of the output torque of the motor; and a second step of removing second torque information from the first torque information to obtain third torque information, where the second torque information is a temporal change in the torque value corresponding to the component that accelerates the specified part by the motor, and the third torque information is a temporal change in the torque value of the vibration component.
[0005] The robot system of the present invention includes: a robot having a robotic arm with a motor; and a control device that drives the motor and controls the operation of the robotic arm. The control device has a torque information acquisition unit that acquires first torque information and removes second torque information from the first torque information to obtain third torque information. The first torque information is a temporal change in the torque value of the output torque of the motor, the second torque information is a temporal change in the torque value corresponding to the component that accelerates the specified part of the robotic arm by the motor, and the third torque information is a temporal change in the torque value of the vibration component.
[0006] The program product of the present invention includes a program for detecting vibrations at a specified part of a robotic arm having a motor, the program being configured to perform: a first step of obtaining first torque information, which is the temporal change of the torque value of the output torque of the motor; and a second step of removing second torque information from the first torque information to obtain third torque information, where the second torque information is the temporal change of the torque value corresponding to the component that accelerates the specified part by the motor, and the third torque information is the temporal change of the torque value of the vibration component. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a schematic structural diagram of a robot system according to an embodiment of the present invention.
[0008] Figure 2 is Figure 1 a block diagram of the robot system shown.
[0009] Figure 3 is a graph showing an example of the first torque information.
[0010] Figure 4 is a graph showing an example of the second torque information.
[0011] Figure 5 is a graph showing an example of the third torque information.
[0012] Figure 6 is a graph showing an example of correcting the third torque information.
[0013] Figure 7 is a flowchart for explaining an example of the detection method according to an embodiment of the present invention.
[0014] REFERENCE SIGNS LIST 1: Robot system, 3: Control device, 4: Motor unit, 4K: First joint part, 6: Motor unit, 6K: Second joint part, 7: Robot, 31: Control part, 32: Storage part, 33: Communication part, 41: Motor, 61: Motor, 71: Base, 72: Robotic arm, 73: First arm, 74: Second arm, 75: Operation head, 76: End effector, 310: Drive control part, 311: First acquisition part, 312: Second acquisition part, 313: Vibration characteristic analysis part, 751: Spline nut, 752: Ball screw nut, 753: Spline shaft, 791: First drive mechanism, 792: Second drive mechanism, 793: Motor, 794: Motor, J1: First rotation axis, J2: Second rotation axis, J3: Third rotation axis, T1: First torque information, T2: Second torque information, T3: Third torque information, T3H: Corrected third torque information. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] Hereinafter, based on the embodiments shown in the drawings, the detection method, robot system, and program of the present invention will be described in detail.
[0016] Figure 1 It is a schematic configuration diagram of a robot system according to an embodiment of the present invention. Figure 2 is Figure 1 a block diagram of the robot system shown. Figure 3 It is a chart showing an example of first torque information. Figure 4 It is a chart showing an example of second torque information. Figure 5 It is a chart showing an example of third torque information. Figure 6 It is a chart showing an example of correcting the third torque information. Figure 7 It is a flowchart for explaining an example of the detection method according to an embodiment of the present invention.
[0017] Note that Figure 1 the up-down direction in Figure 1 is the same as the vertical direction, and the upper side in Figure 1 is also referred to as "upper", and the lower side is referred to as "lower". Regarding the robotic arm 72, the first arm 73, and the second arm 74, the
[0018] right side in
[0019] Figure 1 is referred to as the "base end portion", and the left side is referred to as the "front end portion".
[0020] The robot 7 in the present embodiment is a SCARA robot and is used, for example, in various operations such as holding, transporting, assembling, processing, and inspecting workpieces such as electronic components. However, the use and type of operations of the robot 7 are not limited to the above. In addition to the SCARA robot, the robot 7 can also be, for example, a six-axis multi-joint robot, a dual-arm robot, etc.
[0021] As Figure 1As shown, the robot 7 has a base 71 and a robotic arm 72 rotatably connected to the base 71. Additionally, the robotic arm 72 has a first arm 73 and a second arm 74. The base end portion of the first arm 73 is connected to the base 71, and the first arm 73 rotates relative to the base 71 about a first rotation axis J1 along the vertical direction. The base end portion of the second arm 74 is connected to the front end portion of the first arm 73, and the second arm 74 rotates relative to the first arm 73 about a second rotation axis J2 along the vertical direction.
[0022] At the front end portion of the second arm 74, an end effector 75 is provided. The end effector 75 has a spline nut 751 and a ball screw nut 752 coaxially disposed at the front end portion of the second arm 74, and a spline shaft 753 inserted through the spline nut 751 and the ball screw nut 752. The spline shaft 753 can rotate relative to the second arm 74 about a third rotation axis J3 serving as its central axis and along the vertical direction, and can move up and down in the direction along the third rotation axis J3.
[0023] At the lower end portion of the spline shaft 753, an end effector 76 is assembled. The end effector 76 is detachable from and attachable to the spline shaft 753, and an end effector suitable for the target operation is appropriately selected.
[0024] The robot 7 has a first joint portion 4K rotatably connecting the base 71 and the first arm 73. At this first joint portion 4K, a motor unit 4 is provided, and the motor unit 4 causes the first arm 73 to rotate relative to the base 71 about the first rotation axis J1.
[0025] Additionally, the robot 7 has a second joint portion 6K rotatably connecting the first arm 73 and the second arm 74. At this second joint portion 6K, a motor unit 6 is provided, and the motor unit 6 causes the second arm 74 to rotate relative to the first arm 73 about the second rotation axis J2.
[0026] Additionally, the robot 7 has a first drive mechanism 791 and a second drive mechanism 792. The first drive mechanism 791 rotates the spline nut 751 to cause the spline shaft 753 to rotate about the third rotation axis J3, and the second drive mechanism 792 rotates the ball screw nut 752 to cause the spline shaft 753 to move up and down in the direction along the third rotation axis J3, that is, in the vertical direction. The second drive mechanism 792 is provided below the first drive mechanism 791. The first drive mechanism 791 has a motor 793, and the second drive mechanism 792 has a motor 794. As Figure 2 shown, the motors 793, 794 are electrically connected to the control device 3. The energization conditions such as the energization mode, energization timing, and amount of energization for the motors 793, 794 are controlled by the control device 3.
[0027] The motor unit 4 includes a motor 41 and a power transmission mechanism (not shown) such as a speed reducer. The motor unit 6 includes a motor 61 and a power transmission mechanism (not shown) such as a speed reducer.
[0028] The motor 41 generates a driving force for rotating the first arm 73 relative to the base 71. The motor 61 generates a driving force for rotating the second arm 74 relative to the first arm 73. The motors 41 and 61 are not particularly limited, and for example, servo motors such as AC servo motors and DC servo motors are preferred.
[0029] As Figure 2 shown, the motors 41 and 61 are electrically connected to the control device 3. Although not shown, the motors 41 and 61 each include a stator, a rotor that rotates inside the stator, and a housing that houses them. The stator is arranged along the inner circumference of the housing and has a winding such as a three-phase winding, for example. The stator generates a magnetic field by energizing the winding, for example, by applying three-phase alternating current. In the motors 41 and 61, the energization mode, energization timing, amount of energization, etc. of the windings provided in the stator are controlled by the control device 3.
[0030] In addition, motor drivers (not shown) are built into the motors 793, 794, 41, and 61 respectively.
[0031] It should be noted that the motors 793 and 794 can be the same as the motors 41 and 61, or can be motors of different types and structures.
[0032] The power transmission mechanisms included in the motor units 4 and 6 transmit the driving force of the motors serving as power sources to the adjacent arms and have at least one of a speed reducer, a pulley, a ring belt, etc., for example. The speed reducer is not particularly limited, and speed reducers such as an eccentric swing type, a planetary gear type, and a harmonic gear type can be used.
[0033] As Figure 2 shown, the control device 3 includes a control unit 31, a storage unit 32, and a communication unit 33. These components are connected to be able to communicate with each other via a bus, for example.
[0034] The control unit 31 is composed of at least one CPU (Central Processing Unit), for example, and reads and executes various programs such as an operation program stored in the storage unit 32. The signals generated by the control unit 31 are sent to the respective parts of the robot 7 via the communication unit 33, and the signals from the respective parts of the robot 7 are received by the control unit 31 via the communication unit 33. Thus, the robotic arm 72 can perform a prescribed operation under prescribed conditions.
[0035] In addition, a program of the present invention for executing the detection method of the present invention is stored in the storage unit 32. By reading and executing the program of the present invention by the control unit 31, the detection method of the present invention can be executed.
[0036] The storage unit 32 stores various programs and the like executed by the control unit 31. As the storage unit 32, for example, a storage unit configured with a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a detachable external storage device, etc. can be cited.
[0037] The communication unit 33 transmits and receives signals between the control device 3 and the robot 7 or external devices, for example, using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication can be performed via a server (not shown), and also communication can be performed via a network such as the Internet.
[0038] As Figure 2 shown, the control unit 31 has a drive control unit 310, a first acquisition unit 311, a second acquisition unit 312, and a vibration characteristic analysis unit 313 as functional units. Through these functional units, without setting a physical vibration detection unit composed of an acceleration sensor or the like as in the past on a robotic arm or the like, the vibration of a specified part of the robotic arm 72 can be detected, and furthermore, the vibration can be suppressed. Note that in the following description, the specified part of the robotic arm 72 is set as the first arm 73 that vibrates as the motor 41 rotates for explanation. However, in the present invention, the specified part is not limited thereto, and for example, it can also be the second arm 74, the operation head 75, the end effector 76, etc.
[0039] In addition, in the following description, the case of suppressing the residual vibration generated in the first arm 73 after the robotic arm 72 stops will be described.
[0040] The drive control unit 310 controls the energization conditions of the motors 41, 61, 793, and 794 according to the program stored in the storage unit 32. That is, the drive control unit 310 generates drive signals for the motors 41, 61, 793, and 794, and outputs these drive signals to drive the motors 41, 61, 793, and 794, thereby controlling the operation of the robotic arm 72.
[0041] In addition, the drive control unit 310 generates a drive signal accompanied by correction for eliminating the vibration of the first arm 73 based on the analysis result of the vibration characteristic analysis unit 313 described later, and outputs this drive signal to control the operation of the motor 41.
[0042] The first acquisition unit 311 executes a first step of acquiring first torque information T1, which is the change over time of the torque value of the output torque of the motor 41. The first acquisition unit 311 obtains the first torque information T1 based on energization information such as the energization mode, energization timing, and amount of energization. Since there is a correlation between the energization information of the motor 41 and the output torque of the motor 41, the first torque information T1 can be acquired by calculating the output torque of the motor 41 according to the energization information of the motor 41 over time.
[0043] It should be noted that after the robotic arm 72 stops, in order to maintain the posture of the robotic arm 72 when it stops, the motor 41 needs to be energized. At this time, if the robotic arm 72 vibrates, the energization conditions of the motor 41 change over time. Along with this change in the energization conditions, the torque value of the output torque of the motor 41 also changes over time. For example, as Figure 3 shown, the torque value of the output torque of the motor 41 changes over time. Since there is a correlation between this change over time of the torque value and the vibration of the robotic arm 72, in the present invention, the vibration characteristics are acquired using the first torque information T1, which is the change over time of the torque value.
[0044] The timing of starting to acquire the first torque information T1 is not particularly limited, but it is preferably just before the robotic arm 72 stops. It should be noted that the timing of starting to acquire the first torque information T1 can be simultaneous with the stop of the robotic arm 72, or it can be after the robotic arm 72 stops.
[0045] As Figure 3 shown, the first torque information T1 can be represented by a graph with the horizontal axis being time (ms) and the vertical axis being the torque value (%) of the output torque when the maximum torque of the motor 41 is set to 100%. In the Figure 3 example shown, between 0 ms and 46 ms, the torque value decreases while fluctuating slightly up and down, and between 46 ms and 266 ms, the torque value increases while fluctuating slightly up and down. After that, the torque value becomes stable while fluctuating slightly up and down.
[0046] From this, it can be seen that the torque value has a downward trend between 1 ms and 46 ms, an upward trend between 46 ms and 266 ms, and becomes stable after 266 ms.
[0047] The second acquisition unit 312 executes the second step. That is, the second acquisition unit 312 acquires second torque information T2 based on the first torque information T1. The second torque information T2 is the change over time of the torque value corresponding to the acceleration component, and the acceleration component is the component that accelerates the first arm 73 by the motor 41. Then, the second torque information T2 is removed from the first torque information T1 to acquire third torque information T3, and the third torque information T3 is the change over time of the torque value of the vibration component.
[0048] The second acquisition unit 312 acquires the second torque information T2 by flattening the change over time of the torque value of the first torque information T1. Specifically, the second acquisition unit 312 flattens the first torque information T1 using the moving average method. Thus, the second torque information T2 as shown in Figure 4 can be acquired. The number of samples in the moving average method is 25 in the illustrated configuration. However, it is not particularly limited thereto, and the number of samples can also be 5, 10, 75, etc. In addition, the method of flattening the first torque information T1 is not limited to the method using the moving average method described above.
[0049] As shown in Figure 4 , the second torque information T2 can be represented by a graph with the horizontal axis being time (ms) and the vertical axis being the torque value (%) of the output torque. In the example shown in Figure 4 , the torque value decreases between 0 ms and 46 ms, and increases between 46 ms and 266 ms. After that, the torque value becomes substantially stable.
[0050] By flattening the first torque information T1 in this way, it is possible to flatten the small displacements (vertical vibrations) of the torque value and extract the large trend of the torque value to acquire the second torque information T2. This large trend of the torque value corresponds to the acceleration component, which is the component that accelerates the first arm 73 by the motor 41.
[0051] In addition, the second acquisition unit 312 removes the second torque information T2 from the first torque information T1 to acquire third torque information T3, and the third torque information T3 is the change over time of the torque value of the vibration component. The first torque information T1 includes the vibration component and the acceleration component, which is the component that accelerates the first arm 73 by the motor 41. By removing the second torque information T2 from the first torque information T1, the third torque information T3, which is the change over time of the torque value as the vibration component, can be acquired.
[0052] As shown in Figure 5 , the third torque information T3 can be represented by a graph with the horizontal axis being time (ms) and the vertical axis being the torque value (%) of the output torque. In the example shown in Figure 5 , between 0 ms and 46 ms, the torque value decreases while fluctuating up and down, and after 46 ms, it becomes substantially stable while fluctuating slightly up and down.
[0053] In this way, the torque value of the vibration component can be obtained from the torque value of the output torque of the motor 41. Such a first acquisition unit 311 and a second acquisition unit 312 constitute a torque information acquisition unit. That is, the control unit 31 of the control device 3 has a torque information acquisition unit.
[0054] The robot system 1 has the first acquisition unit 311 and the second acquisition unit 312 that perform the functions as described above through the control device 3, so that without providing a physical vibration detection unit as in the past on the robotic arm or the like, vibration information can be obtained based on the output torque of the motor 41. Therefore, the device configuration of the robot system 1 can be simplified. In addition, the robotic arm 72 can be driven more quickly by reducing the inertial weight of the robotic arm 72, which helps to improve the operation efficiency. Furthermore, since a physical vibration detection unit as in the past does not need to be provided, the manufacturing cost of the robot system 1 can be suppressed.
[0055] The vibration characteristic analysis unit 313 performs a third step of analyzing the vibration characteristics based on the third torque information T3. Specifically, the vibration characteristic analysis unit 313 obtains the amplitude and frequency of the vibration component based on the third torque information T3.
[0056] As a preprocessing of the vibration characteristic analysis, the vibration characteristic analysis unit 313 determines the time when the torque value first becomes 0 in the torque waveform of the third torque information T3. Then, the data of the torque values before the torque value first becomes 0 are deleted. Thereby, the corrected third torque information T3H with the time when the torque value first becomes 0 as the origin can be obtained. The time when the torque value first becomes 0 is regarded as the time when the robotic arm 72 stops, and the subsequent part is trimmed as the residual vibration.
[0057] As Figure 6 shown, the corrected third torque information T3H can be represented by a graph with the horizontal axis being time (ms) and the vertical axis being the torque value (%) of the output torque. In Figure 6 the example shown, between 0 ms and 22 ms, the torque value fluctuates greatly up and down, and after 22 ms, it fluctuates slightly up and down and becomes substantially stable.
[0058] The vibration characteristic analysis unit 313 sets the maximum value of the torque value as the amplitude M of the vibration component in the torque waveform of the corrected third torque information T3H. The vibration characteristic analysis unit 313 calculates the amplitude value of the residual vibration generated in the first arm 73 based on the value of the amplitude M in the torque waveform. More specifically, the amplitude value (mm) of the residual vibration generated in the first arm 73 is calculated by multiplying the value of the amplitude M by a coefficient. As an example, the coefficient is 0.05. In other words, when the value of the amplitude M in the torque waveform is 1 (%), the amplitude value of the residual vibration generated in the first arm 73 is calculated to be 0.05 (mm). The value of the coefficient is appropriately adjusted according to the type of the robot and the type of the arm. The value of the coefficient can also be obtained by calibration considering individual differences and aging deterioration. Thus, vibration damping control can be performed based on the amplitude M of the maximum amplitude or the amplitude value of the residual vibration calculated according to the amplitude M, and vibration damping control can be performed more effectively.
[0059] In this way, in the third step, the amplitude M of the torque value in the third torque information T3 is obtained. Thus, high-precision vibration damping control can be performed based on the obtained amplitude M.
[0060] In addition, in the third step, the amplitude M is obtained based on the maximum value of the torque value. Thus, higher-precision vibration damping control can be performed.
[0061] It should be noted that the above configuration is not limited. For example, the vibration characteristic analysis unit 313 may also use the average value of the torque values during a specified period as the amplitude M of the vibration component in the torque waveform of the corrected third torque information T3H.
[0062] In addition, the vibration characteristic analysis unit 313 obtains the frequency F of the torque waveform of the corrected third torque information T3H. The vibration characteristic analysis unit 313 obtains the frequency F by performing frequency analysis such as FFT and DFT, for example. More specifically, the vibration characteristic analysis unit 313 performs frequency analysis by calculating the values of each frequency component while changing the frequency according to the frequency range to be analyzed, and calculates the calculated value corresponding to each frequency. Then, the maximum value of each calculated value is set as the frequency F. Thus, vibration damping control can be performed based on the maximum value of the calculated value of the frequency F, and vibration damping control can be performed more effectively.
[0063] In this way, in the third step, the frequency F of the torque value in the third torque information T3 is obtained. Thus, high-precision vibration damping control can be performed based on the obtained frequency F.
[0064] In addition, in the third step, frequency analysis of the torque value in the third torque information T3 is performed, and the maximum value of the calculated values of the frequency analysis is set as the frequency F. Thus, higher-precision vibration damping control can be performed.
[0065] In addition, preferably, when performing frequency analysis, the vibration characteristic analysis unit 313 causes the motor 41 to operate under the condition that the amplitude M of the vibration becomes maximum, for example, the acceleration at which the amplitude M of the vibration becomes maximum, and acquires the first torque information T1. Thereby, more accurate vibration components can be acquired.
[0066] In addition, preferably, when performing frequency analysis, the vibration characteristic analysis unit 313 excludes data within a predetermined frequency range. The data to be excluded are low-frequency components that cannot be completely removed even when the second torque information is removed, and high-frequency components unrelated to the vibration to be measured. Thereby, it is possible to perform frequency analysis by excluding regions with too small amplitudes and regions unrelated to the vibration to be measured. Therefore, more accurate frequency analysis can be performed.
[0067] In addition, preferably, the vibration characteristic analysis unit 313 removes noise components before performing frequency analysis. The noise components can be set, for example, as regions where the amplitude is less than a specified value, minute vibrations unrelated to the vibration to be measured and reduced, that is, outliers of the amplitude. Thereby, it is possible to perform frequency analysis by excluding noise components. Therefore, more accurate frequency analysis can be performed.
[0068] The control unit 3 generates a drive signal with correction such as eliminating the vibration of the first arm 73 using the amplitude M and frequency F obtained as described above, and outputs the drive signal to control the operation of the motor 41. Thereby, the vibration of the first arm 73, that is, the residual vibration in the present embodiment, can be effectively suppressed.
[0069] Next, with reference to Figure 7 the flowchart shown, an example of the detection method of the present invention will be described. In the following description, starting from driving the robotic arm 72 based on a pre-specified operation program.
[0070] First, in step S101, the driving of the robotic arm 72 is stopped. That is, the execution of all pre-specified operation programs is ended. At the time point when step S101 is completed, the robotic arm 72 generates residual vibration.
[0071] Next, in step S102, the first torque information T1 is acquired. The first torque information T1 is the change over time of the torque value of the output torque of the motor 41 (for example, refer to Figure 3 ). This step is mainly executed by the first acquisition unit 311. The first acquisition unit 311 obtains the first torque information T1 based on energization information such as the energization pattern, energization timing, and amount of energization.
[0072] In step S102, the first torque information T1 is acquired during a specified period starting from immediately before the robotic arm 72 stops. Such a step S102 is the first step.
[0073] Next, in step S103, second torque information T2 is obtained. This step is mainly executed by the second acquisition unit 312. The second acquisition unit 312 obtains the second torque information T2 by flattening the temporal change of the torque value of the first torque information T1 (for example, refer to Figure 4 ). Thereby, a large trend of the torque value can be extracted to obtain the second torque information T2. This large trend of the torque value corresponds to the acceleration component, which is the component that accelerates the first arm 73 by the motor 41.
[0074] Next, in step S104, third torque information T3 is obtained. This step is mainly executed by the second acquisition unit 312. The second acquisition unit 312 removes the second torque information T2 from the first torque information T1 to obtain the third torque information T3, which is the temporal change of the torque value of the vibration component. By removing the second torque information T2 from the first torque information T1, the third torque information T3, which is the temporal change of the torque value of the vibration component, can be obtained (for example, refer to Figure 5 ). Such step S104 is the second step.
[0075] Next, in step S105, corrected third torque information T3H is obtained. This step is mainly executed by the vibration characteristic analysis unit 313. As a preprocessing of the vibration characteristic analysis, the vibration characteristic analysis unit 313 determines the time when the torque value first becomes 0 in the torque waveform of the third torque information T3. Then, the data of the torque value before the torque value first becomes 0 is deleted. Thereby, the corrected third torque information T3H with the time when the torque value first becomes 0 as the origin can be obtained.
[0076] Next, in step S106, the amplitude M and the frequency F are obtained. Specifically, the vibration characteristic analysis unit 313 sets the maximum value of the torque value as the amplitude M of the vibration component in the torque waveform of the corrected third torque information T3H. In addition, the vibration characteristic analysis unit 313 performs frequency analysis by calculating the values of each frequency component while changing the frequency according to the frequency range to be analyzed, and calculates the calculated value corresponding to each frequency. Then, the maximum value of each calculated value is set as the frequency F.
[0077] The amplitude M and the frequency F are obtained in this way. This step S106 is the third step.
[0078] Next, in step S107, vibration damping control is performed. Specifically, a drive signal with correction accompanied by eliminating the vibration of the first arm 73 is generated using the amplitude M and the frequency F obtained in step S106, and this drive signal is output to control the operation of the motor 41. Thereby, the vibration of the first arm 73, which is the residual vibration in this embodiment, can be effectively suppressed.
[0079] Note that, in this embodiment, a configuration for performing vibration damping control on the motor 41 to eliminate the vibration of the first arm 73 has been described. However, the present invention is not limited thereto, and the same vibration damping control as that of the motor 41 may be performed on the motor 61, the motor 793, and the motor 794. That is, it may also be a configuration in which any one or more of the motors 41, 61, 793, and 794 perform the above steps.
[0080] In addition, in this embodiment, a configuration for detecting the residual vibration after the robotic arm 72 stops has been described. However, the present invention is not limited thereto, and it may also be a configuration for detecting the vibration when the robotic arm 72 is operating.
[0081] As described above, the detection method of the present invention is a method for detecting the vibration of the first arm 73, which is an example of a specified part of the robotic arm 72 having the motor 41. In addition, the detection method includes a first step and a second step. In the first step, first torque information T1 is obtained. In the second step, second torque information T2 is removed from the first torque information T1 to obtain third torque information T3. Here, the first torque information T1 is the time change of the torque value of the output torque of the motor 41, the second torque information T2 is the time change of the torque value corresponding to the component that accelerates the first arm 73 by the motor 41, and the third torque information T3 is the time change of the torque value of the vibration component. Thus, the torque value of the vibration component can be obtained from the torque value of the output torque of the motor 41. Therefore, without providing a physical vibration detection unit as in the past on the robotic arm or the like, vibration information can be obtained based on the output torque of the motor 41. Therefore, the device configuration can be simplified. In addition, the robotic arm 72 can be driven more quickly by reducing the inertial weight of the robotic arm 72, which helps to improve the operation efficiency. Furthermore, since a physical vibration detection unit as in the past may not be provided, the manufacturing cost of the robot system 1 can be suppressed.
[0082] Note that, in this embodiment, a configuration in which the control unit 31 of the control device 3 executes the detection method of the present invention has been described. However, the present invention is not limited thereto, and it may also be a configuration in which a control unit other than the control unit 31, such as the control unit of a teaching device (not shown), executes the detection method of the present invention.
[0083] In the second step, the second torque information T2 is obtained by flattening the time change of the torque value of the first torque information T1. Thus, the acceleration component can be accurately and simply obtained.
[0084] In addition, the detection method has a third step of analyzing the vibration characteristics based on the third torque information T3. Thus, the vibration characteristics of the specified part can be appropriately analyzed. For example, vibration damping control can be performed based on the analysis result.
[0085] The robot system 1 of the present invention includes: a robot 7 having a robotic arm 72 with a motor 41; and a control device 3 that drives the motor 41 and controls the operation of the robotic arm 72. The control device 3 has a first acquisition unit 311 and a second acquisition unit 312 as torque information acquisition units. They acquire first torque information T1, remove second torque information T2 from the first torque information T1, and acquire third torque information T3. Here, the first torque information T1 is the change over time of the torque value of the output torque of the motor 41, the second torque information T2 is the change over time of the torque value corresponding to the component that accelerates the first arm 73, which is an example of a specified part of the robotic arm 72, by the motor 41, and the third torque information T3 is the change over time of the torque value of the vibration component. Thus, the torque value of the vibration component can be acquired from the torque value of the output torque of the motor 41. Therefore, without providing a physical vibration detection unit as in the prior art on the robotic arm or the like, vibration information can be acquired based on the output torque of the motor 41. Therefore, the device configuration can be simplified. In addition, the robotic arm 72 can be driven more quickly by reducing the inertial weight of the robotic arm 72, which helps to improve the operation efficiency. Furthermore, since a physical vibration detection unit as in the prior art may not be provided, the manufacturing cost of the robot system 1 can be suppressed.
[0086] The program of the present invention is used to detect the vibration of the first arm 73, which is an example of a specified part of the robotic arm 72 having a motor 41. It is used to execute a first step and a second step. In the first step, first torque information T1 is acquired. In the second step, second torque information T2 is removed from the first torque information T1 to acquire third torque information T3. Here, the first torque information T1 is the change over time of the torque value of the output torque of the motor 41, the second torque information T2 is the change over time of the torque value corresponding to the component that accelerates the first arm 73 by the motor 41, and the third torque information T3 is the change over time of the torque value of the vibration component. By executing such a program, the torque value of the vibration component can be acquired from the torque value of the output torque of the motor 41. Therefore, without providing a physical vibration detection unit as in the prior art on the robotic arm or the like, vibration information can be acquired based on the output torque of the motor 41. Therefore, the device configuration can be simplified. In addition, the robotic arm 72 can be driven more quickly by reducing the inertial weight of the robotic arm 72, which helps to improve the operation efficiency. Furthermore, since a physical vibration detection unit as in the prior art may not be provided, the manufacturing cost of the robot system 1 can be suppressed.
[0087] It should be noted that in this embodiment, the program of the present invention is stored in the storage unit 32, but the present invention is not limited thereto, and it may also be stored in other storage devices, storage media, etc.
[0088] In the present embodiment, a configuration for detecting residual vibration generated in the first arm 73 of the robot 7 which is a SCARA robot is described, but it is not limited thereto. For example, it may be configured to detect the residual vibration of the second arm 74 and the end effector 76 that are rotated by motors. Further, in the case of being applied to, for example, a six-axis articulated robot, a dual-arm robot, etc. other than the SCARA robot, similarly, it may be configured to apply the detection method of the present invention to any one or two or more of all the rotating shafts provided with motors, and detect the residual vibration of the arms etc. of the robot.
[0089] As described above, based on the illustrated embodiment, the detection method, the robot system, and the program of the present invention have been described, but the present invention is not limited thereto, and the configurations of the respective parts in the detection method, the robot system, and the program can be replaced with any configurations and processes having the same functions. Further, other arbitrary components and processes may be added to the detection method, the robot system, and the program.
Claims
1. A detection method, characterized in that: Detecting vibration of a specified part of a mechanical arm having a motor, the detection method comprising: The first step is to obtain first torque information, where the first torque information is a time-dependent change in a torque value of an output torque of the motor; and The second step is to remove the second torque information from the first torque information to obtain the third torque information, wherein the second torque information is the time-varying change of the torque value corresponding to the component that accelerates the specified part through the motor, and the third torque information is the time-varying change of the torque value of the vibration component.
2. The detection method according to claim 1, characterized in that: In the second step, the second torque information is acquired by flattening the temporal variation of the torque value of the first torque information.
3. The detection method according to claim 1 or 2, characterized in that: The detection method has a third step of analyzing vibration characteristics based on the third torque information.
4. The detection method according to claim 3, characterized in that: In the third step, the amplitude of the torque value in the third torque information is obtained.
5. The detection method according to claim 4, characterized in that: In the third step, the amplitude is obtained based on the maximum value of the torque value.
6. The detection method according to claim 3, characterized in that: In the third step, the frequency of the torque value in the third torque information is obtained.
7. The detection method according to claim 6, characterized in that: In the third step, a frequency analysis of the torque value in the third torque information is performed, and a maximum value of a calculated value obtained by the frequency analysis is set as the frequency.
8. The detection method according to claim 7, characterized in that: When performing the frequency analysis, the first torque information is acquired under the condition that the amplitude of the vibration is maximized.
9. The detection method according to claim 7, characterized in that: When performing the frequency analysis, data within a predetermined frequency range is excluded.
10. The detection method according to claim 7, characterized in that: Before performing the frequency analysis, noise components are removed.
11. A robot system, characterized in that: have: A robot having a mechanical arm, wherein the mechanical arm has a motor; and A control device drives the motor and controls the operation of the robotic arm, The control device has a torque information acquisition unit, which acquires first torque information and removes second torque information from the first torque information to acquire third torque information. The first torque information is the time-varying variation of the torque value of the output torque of the motor, the second torque information is the time-varying variation of the torque value corresponding to the component that accelerates a specified part of the robot arm through the motor, and the third torque information is the time-varying variation of the torque value of the vibration component.
12. A program product, characterized in that A program for detecting vibration of a specified portion of a robot arm having a motor is included, the program being configured to execute: The first step is to obtain first torque information, where the first torque information is a time-dependent change in a torque value of an output torque of the motor; and The second step is to remove the second torque information from the first torque information to obtain the third torque information, wherein the second torque information is the time-varying change of the torque value corresponding to the component that accelerates the specified part through the motor, and the third torque information is the time-varying change of the torque value of the vibration component.
Citation Information
Patent Citations
Robot control device
JP2021013999A