Detection method, robot system, and program
By using torque information from the motor to detect vibrations in a robot arm, the method addresses the complexity and weight issues of traditional vibration detection systems, improving the speed and efficiency of the robot arm's operation.
Patent Information
- Application Number
- JP2023202534
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-30
- Publication Date
- 2025-06-11
AI Technical Summary
Existing robot systems require physical vibration detection devices like acceleration sensors, which complicate and enlarge the device configuration, increase inertial weight, and hinder rapid arm movement.
A detection method that acquires torque information from the motor of a robot arm, removes acceleration-related torque information, and isolates vibration component torque information, allowing for vibration detection without physical vibration detection units.
This approach simplifies the robot system configuration, reduces inertial weight, and enhances the speed and efficiency of the robot arm's operation while suppressing vibrations effectively.
Smart Images

Figure 2025088084000001_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 robot arm, and drives this robot arm to a desired posture to perform operations on a workpiece, such as transportation, assembly, and inspection. Further, an acceleration sensor is provided at the tip of the robot arm. The vibration of the robot arm is detected based on the information detected and output by the acceleration sensor. By generating a drive signal that cancels out this vibration and driving the robot arm, so-called vibration suppression control can be performed to drive the robot arm while suppressing vibration.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the configuration described in Patent Document 1, it is necessary to provide a physical vibration detection device such as an acceleration sensor, which not only complicates and enlarges the device configuration, but also increases the inertial weight of the robot arm, particularly the inertial weight at the tip of the robot arm, which is disadvantageous for the rapid driving of the robot arm.
[0005] The detection method of the present invention is a detection method for detecting vibration at a predetermined part of a robot arm having a motor, a first step of obtaining first torque information that is a change over time of the torque value of the output torque of the motor; A second step of removing, from the first torque information, second torque information that is a change over time of the torque value corresponding to the component that accelerates the predetermined part by the motor, and acquiring third torque information that is a change over time of the torque value of the vibration component is included.
[0006] The robot system of the present invention includes a robot having a robot arm with a motor, and a control device that drives the motor to control the operation of the robot arm. The control device has a torque information acquisition unit that acquires first torque information that is a change over time of the torque value of the output torque of the motor, and removes, from the first torque information, second torque information that is a change over time of the torque value corresponding to the component that accelerates a predetermined part of the robot arm by the motor, and acquires third torque information that is a change over time of the torque value of the vibration component.
[0007] The program of the present invention is a program for detecting vibration of a predetermined part of a robot arm having a motor, and is for executing a first step of acquiring first torque information that is a change over time of the torque value of the output torque of the motor, and a second step of removing, from the first torque information, second torque information that is a change over time of the torque value corresponding to the component that accelerates the predetermined part by the motor, and acquiring third torque information that is a change over time of the torque value of the vibration component.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
[0009] Hereinafter, the detection method, robot system, and program of the present invention will be described in detail based on the embodiments shown in the accompanying drawings.
[0010] <Embodiment> FIG. 1 is a schematic configuration diagram of a robot system according to an embodiment of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a graph showing an example of the first torque information. FIG. 4 is a graph showing an example of the second torque information. FIG. 5 is a graph showing an example of the third torque information. FIG. 6 is a graph showing an example of the corrected third torque information. FIG. 7 is a flowchart for explaining an example of the detection method according to an embodiment of the present invention.
[0011] Note that the vertical direction in FIG. 1 coincides with the vertical direction, and the upper side in FIG. 1 is also referred to as "upper" and the lower side as "lower". For the robot arm 72, the first arm 73, and the second arm 74, the right side in FIG. 1 is referred to as the "base end portion" and the left side as the "tip end portion".
[0012] Also, in this specification, "vertical" means not only the case where it coincides with the vertical but also the case where it is inclined slightly with respect to the vertical, for example, within ±10°. Also, in this specification, "parallel" means not only the case where two objects coincide with each other but also the case where they are inclined slightly from parallel, for example, within ±10°.
[0013] The robot system 1 shown in FIG. 1 executes the detection method of the present invention and includes a robot 7 and a control device 3 that controls the driving of each part of the robot 7.
[0014] The robot 7 in this embodiment is a scalar robot and is used, for example, in various operations such as holding, transporting, assembling, processing, and inspecting workpieces such as electronic components. However, the uses and types of operations of the robot 7 are not limited to the above. Further, the robot 7 may be, for example, a 6-axis articulated robot, a dual-arm robot, etc., other than a scalar robot.
[0015] As shown in FIG. 1, the robot 7 has a base 71 and a robot arm 72 rotatably connected to the base 71. Further, the robot arm 72 has a first arm 73 whose base end is connected to the base 71 and rotates about a first rotation axis J1 along the vertical direction with respect to the base 71, and a second arm 74 whose base end is connected to the tip of the first arm 73 and rotates about a second rotation axis J2 along the vertical direction with respect to the first arm 73.
[0016] A work head 75 is provided at the tip of the second arm 74. The work head 75 has a spline nut 751 and a ball screw nut 752 coaxially arranged at the tip 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 is rotatable about a third rotation axis J3, which is its central axis and along the vertical direction, with respect to the second arm 74, and is movable up and down in the direction along the third rotation axis J3.
[0017] An end effector 76 is attached to the lower end of the spline shaft 753. The end effector 76 is detachable from the spline shaft 753, and an appropriate one suitable for the target operation is selected as appropriate.
[0018] The robot 7 has a first joint portion 4K that rotatably connects the base 71 and the first arm 73, and a motor unit 4 that rotates the first arm 73 about the first rotation axis J1 with respect to the base 71 is installed in the first joint portion 4K.
[0019] The robot 7 also has a second joint portion 6K that rotatably connects the first arm 73 and the second arm 74, and a motor unit 6 for rotating the second arm 74 around the second rotation axis J2 with respect to the first arm 73 is installed in the second joint portion 6K.
[0020] The robot 7 also has a first drive mechanism 791 that rotates the spline nut 751 to rotate the spline shaft 753 around the third rotation axis J3, and a second drive mechanism 792 that rotates the ball screw nut 752 to move the spline shaft 753 up and down in the direction along the third rotation axis J3, that is, in the vertical direction. The second drive mechanism 792 is installed 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 shown in FIG. 2, the motors 793 and 794 are electrically connected to the control device 3. The energization conditions such as the energization pattern, energization timing, and energization amount to the motors 793 and 794 are controlled by the control device 3.
[0021] The motor unit 4 has a motor 41 and a power transmission mechanism (not shown) including, for example, a speed reducer. The motor unit 6 has a motor 61 and a power transmission mechanism (not shown) including, for example, a speed reducer.
[0022] The motor 41 generates a driving force for rotating the first arm 73 with respect to the base 71. The motor 61 generates a driving force for rotating the second arm 74 with respect to the first arm 73. The motors 41 and 61 are not particularly limited, but are preferably servo motors such as AC servo motors and DC servo motors, for example.
[0023] As shown in FIG. 2, motors 41 and 61 are electrically connected to the control device 3. Although not shown, motors 41 and 61 each include a stator, a rotor that rotates inside the stator, and a case that houses them. The stator is arranged along the inner circumference of the case and has a winding such as a three-phase winding. The stator generates a magnetic field by energizing the winding, for example, by applying three-phase alternating current. In motors 41 and 61, the energization pattern, energization timing, energization amount, etc. of the winding included in the stator are controlled by the control device 3.
[0024] Also, motors 793, 794, 41, and 61 each incorporate a motor driver (not shown).
[0025] Note that motors 793 and 794 may be the same as motors 41 and 61, or may be motors of different types and configurations.
[0026] The power transmission mechanism included in motor units 4 and 6 transmits the driving force of the motor, which is the power source, to the adjacent arm, and has, for example, at least one of a speed reducer, a pulley, an endless belt, etc. The speed reducer is not particularly limited, and a speed reducer such as an eccentric swing type, a planetary gear type, a harmonic gear type, etc. can be used.
[0027] As shown in FIG. 2, the control device 3 includes a control unit 31, a storage unit 32, and a communication unit 33. These units are communicably connected to each other via, for example, a bus.
[0028] The control unit 31 is composed of, for example, at least one CPU (Central Processing Unit), reads out and executes various programs such as operation programs stored in the storage unit 32. The signal generated by the control unit 31 is transmitted to each part of the robot 7 via the communication unit 33, and the signal from each part of the robot 7 is received by the control unit 31 via the communication unit 33. Thereby, the robot arm 72 can execute a predetermined operation under predetermined conditions.
[0029] Further, the storage unit 32 stores a program of the present invention for executing the detection method of the present invention. By the control unit 31 reading and executing the program of the present invention, the detection method of the present invention can be executed.
[0030] The storage unit 32 stores various programs and the like executed by the control unit 31. Examples of the storage unit 32 include those configured with a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a removable external storage device, and the like.
[0031] The communication unit 33 transmits and receives signals between the control device 3 and the robot 7 or external devices using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown), or communication may be performed via a network such as the Internet.
[0032] As shown in FIG. 2, the control unit 31 includes, as functional units, a drive control unit 310, a first acquisition unit 311, a second acquisition unit 312, and a vibration characteristic analysis unit 313. With these functional units, it is possible to detect the vibration of a predetermined part of the robot arm 72 and further suppress the vibration without installing a physical vibration detection unit composed of an acceleration sensor or the like as in the prior art. In the following description, the predetermined part of the robot arm 72 will be described as the first arm 73 that vibrates as the motor 41 rotates. However, in the present invention, the predetermined part is not limited to this, and may be, for example, the second arm 74, the work head 75, the end effector 76, or the like.
[0033] Further, in the following description, the case of suppressing the residual vibration generated in the first arm 73 after the robot arm 72 stops will be described.
[0034] The drive control unit 310 controls the energization conditions for 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, outputs these drive signals to drive the motors 41, 61, 793, and 794, and controls the operation of the robot arm 72.
[0035] Also, the drive control unit 310 generates a drive signal with correction to cancel the vibration of the first arm 73 based on the analysis result by the vibration characteristic analysis unit 313 described later, and outputs this drive signal to control the operation of the motor 41.
[0036] 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 pattern, energization timing, and energization amount. 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 obtained by calculating the output torque of the motor 41 over time from the energization information of the motor 41.
[0037] Note that after the robot arm 72 stops, it is necessary to energize the motor 41 in order for the robot arm 72 to maintain the posture at the time of stopping. At this time, if the robot arm 72 is vibrating, the energization conditions for 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 shown in FIG. 3, the torque value of the output torque of the motor 41 changes over time. Since this change over time of the torque value is correlated with the vibration of the robot arm 72, in the present invention, the vibration characteristics are obtained using the first torque information T1, which is the change over time of the torque value.
[0038] The timing for starting to acquire the first torque information T1 is not particularly limited, but it is preferably just before the robot arm 72 stops. Note that the timing for starting to acquire the first torque information T1 may be simultaneous with the stop of the robot arm 72, or may be after the robot arm 72 has stopped.
[0039] As shown in FIG. 3, 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 100%. In the example shown in FIG. 3, between 0 ms and 46 ms, the torque value decreases while fluctuating slightly, and between 46 ms and 266 ms, the torque value increases while fluctuating slightly. After that, the torque value becomes horizontal while fluctuating slightly.
[0040] 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 horizontal after 266 ms.
[0041] The second acquisition unit 312 executes the second step. That is, the second acquisition unit 312 acquires second torque information T2, which is the change over time of the torque value corresponding to the acceleration component that accelerates the first arm 73 by the motor 41, from the first torque information T1. Then, the second torque information T2 is removed from the first torque information T1 to acquire third torque information T3, which is the change over time of the torque value of the vibration component.
[0042] 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 a moving average method. Thereby, the second torque information T2 as shown in FIG. 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 to this, and the number of samples may be 5, 10, 75, etc. Also, the method for flattening the first torque information T1 is not limited to the method using the above-described moving average method.
[0043] As shown in FIG. 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 FIG. 4, the torque value is decreasing between 0 ms and 46 ms, and increasing between 46 ms and 266 ms. After that, the torque value is almost flat.
[0044] By flattening the first torque information T1 in this way, minute displacements (vertical oscillations) of the torque value are flattened, and the large trend of the torque value is extracted to obtain the second torque information T2. This large trend of the torque value corresponds to the acceleration component that accelerates the first arm 73 by the motor 41.
[0045] Also, 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 change over time of the torque value of the vibration component. The first torque information T1 includes the vibration component and the acceleration 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 of the vibration component, can be obtained.
[0046] As shown in FIG. 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 FIG. 5, the torque value is decreasing while going up and down between 0 ms and 46 ms, and is almost flat while going up and down slightly after 46 ms.
[0047] 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 the torque information acquisition unit. That is, the control unit 31 of the control device 3 has the torque information acquisition unit.
[0048] The robot system 1 can obtain vibration information from the output torque of the motor 41 by having the control device 3 include the first acquisition unit 311 and the second acquisition unit 312 that exhibit the functions as described above, without providing a physical vibration detection unit as in the prior art on a robot arm or the like. Therefore, the device configuration of the robot system 1 can be simplified, and also, by reducing the inertial weight of the robot arm 72, the robot arm 72 can be driven more quickly, contributing to an improvement in work efficiency. Furthermore, since it is not necessary to provide a physical vibration detection unit as in the prior art, the manufacturing cost of the robot system 1 can be suppressed.
[0049] Based on the third torque information T3, the vibration characteristic analysis unit 313 executes a third step of analyzing vibration characteristics. Specifically, the vibration characteristic analysis unit 313 obtains the amplitude and frequency of the vibration component based on the third torque information T3.
[0050] As a pre - process for vibration characteristic analysis, the vibration characteristic analysis unit 313 identifies 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 until the torque value first becomes 0 is deleted. Thereby, 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 robot arm 72 stops, and the subsequent part is trimmed to be the residual vibration.
[0051] As shown in FIG. 6, 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 the example shown in FIG. 6, between 0 ms and 22 ms, the torque value fluctuates greatly, and after 22 ms, it is almost horizontal while fluctuating slightly.
[0052] 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 from 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 as 0.05 (mm). The value of the coefficient is appropriately adjusted according to the type of robot and the type of arm. The value of the coefficient may be obtained by calibration in consideration of individual differences and aging deterioration. Thereby, vibration suppression control can be performed based on the amplitude M of the maximum amplitude or the amplitude value of the residual vibration calculated by the amplitude M, and the vibration suppression control can be performed more effectively.
[0053] Thus, in the third step, the amplitude M of the torque value in the third torque information T3 is obtained. Thereby, highly accurate vibration suppression control can be performed based on the obtained amplitude M.
[0054] Also, in the third step, the amplitude M is obtained based on the maximum value of the torque value. Thereby, more accurate vibration suppression control can be performed.
[0055] Note that the present invention is not limited to the above configuration. For example, the vibration characteristic analysis unit 313 may set the average value of the torque values during a predetermined period as the amplitude M of the vibration component in the torque waveform of the corrected third torque information T3H.
[0056] Further, 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, DFT, etc. 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. Thereby, vibration suppression control can be performed based on the maximum value of the calculated value of the frequency F, and vibration suppression control can be performed more effectively.
[0057] In this way, in the third step, the frequency F of the torque value in the third torque information T3 is obtained. Thereby, highly accurate vibration suppression control can be performed based on the obtained frequency F.
[0058] Also, in the third step, frequency analysis is performed on the torque value in the third torque information T3, and the maximum value of the calculated value of the frequency analysis is set as the frequency F. Thereby, more accurate vibration suppression control can be performed.
[0059] Further, when performing frequency analysis, the vibration characteristic analysis unit 313 preferably obtains the first torque information T1 while operating the motor 41 at an acceleration at which the amplitude M of the vibration becomes the largest, for example, a condition under which the amplitude M of the vibration becomes the largest. Thereby, more accurate vibration components can be obtained.
[0060] Further, when performing frequency analysis, the vibration characteristic analysis unit 313 preferably excludes data in a predetermined frequency range. The data to be excluded are low-frequency components that could not be removed even by removing the second torque information and high-frequency components that are irrelevant to the vibration to be measured. Thereby, frequency analysis can be performed by excluding regions where the amplitude is too small and regions that are irrelevant to the vibration to be measured. Therefore, more accurate frequency analysis can be performed.
[0061] In addition, it is preferable that the vibration characteristic analysis unit 313 removes noise components before performing frequency analysis. The noise components can be, for example, regions where the amplitude is smaller than a predetermined value, fine vibrations unrelated to the vibration to be measured and reduced, that is, values deviated from the amplitude. Thereby, frequency analysis can be performed by excluding the noise components. Therefore, more accurate frequency analysis can be performed.
[0062] The control unit 3 generates a drive signal with correction to cancel the vibration of the first arm 73 using the amplitude M and the frequency F obtained as described above, and outputs this drive signal to control the operation of the motor 41. Thereby, the vibration of the first arm 73, in this embodiment, the residual vibration can be effectively suppressed.
[0063] Next, an example of the detection method of the present invention will be described with reference to the flowchart shown in FIG. 7. In the following description, it starts from the point where the robot arm 72 is being driven based on a pre-specified operation program.
[0064] First, in step S101, the driving of the robot arm 72 is stopped. That is, all of the pre-specified operation program is executed to completion. At the time when step S101 is completed, residual vibration has occurred in the robot arm 72.
[0065] Next, in step S102, first torque information T1, which is the change over time of the torque value of the output torque of the motor 41, is acquired (for example, refer to FIG. 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 an energization pattern, energization timing, and energization amount.
[0066] In step S102, the first torque information T1 is acquired for a predetermined period immediately before the robot arm 72 stops. Such step S102 is the first step.
[0067] Next, in step S103, the second torque information T2 is acquired. This step is mainly executed by the second acquisition unit 312. 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 (see, for example, FIG. 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 an acceleration component that accelerates the first arm 73 by the motor 41.
[0068] Next, in step S104, the third torque information T3 is acquired. 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 change over time 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 change over time of the torque value of the vibration component, can be obtained (see, for example, FIG. 5). Such step S104 is the second step.
[0069] Next, in step S105, the corrected third torque information T3H is acquired. This step is mainly executed by the vibration characteristic analysis unit 313. As preprocessing for vibration characteristic analysis, the vibration characteristic analysis unit 313 identifies 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 until 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.
[0070] Next, in step S106, the amplitude M and the frequency F are acquired. Specifically, the vibration characteristic analysis unit 313 sets the maximum value of the torque value in the torque waveform of the corrected third torque information T3H as the amplitude M of the vibration component. Also, 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.
[0071] In this way, the amplitude M and the frequency F are obtained. This step S106 is the third step.
[0072] Next, in step S107, vibration suppression control is performed. Specifically, using the amplitude M and the frequency F obtained in step S106, a drive signal with correction for canceling the vibration of the first arm 73 is generated, and this drive signal is output to control the operation of the motor 41. Thereby, the vibration of the first arm 73, in this embodiment, the residual vibration can be effectively suppressed.
[0073] In the present embodiment, a configuration in which vibration suppression control is performed on the motor 41 to cancel the vibration of the first arm 73 has been described. However, the present invention is not limited to this, and the same vibration suppression control as that of the motor 41 may be performed on the motors 61, 793, and 794. That is, a configuration in which the above steps are performed on any one or two or more of the motors 41, 61, 793, and 794 may be used.
[0074] Further, in the present embodiment, a configuration for detecting the residual vibration after the robot arm 72 stops has been described. However, the present invention is not limited to this, and a configuration for detecting the vibration when the robot arm 72 is operating may also be used.
[0075] 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 predetermined part of the robot arm 72 having the motor 41. The detection method includes a first step of obtaining first torque information T1, which is a change over time of the torque value of the output torque of the motor 41, and a second step of removing second torque information T2, which is a change over time of the torque value corresponding to the component that accelerates the first arm 73 by the motor 41, from the first torque information T1 to obtain third torque information T3, which is a change over time of the torque value of the vibration component. Thereby, the torque value of the vibration component can be obtained from the torque value of the output torque of the motor 41. Therefore, vibration information can be obtained from the output torque of the motor 41 without providing a physical vibration detection unit as in the prior art. Therefore, the device configuration can be simplified, and the robot arm 72 can be driven more quickly by reducing the inertial weight of the robot arm 72, contributing to an improvement in work efficiency. Furthermore, since it is not necessary to provide a physical vibration detection unit as in the prior art, the manufacturing cost of the robot system 1 can be suppressed.
[0076] In the present embodiment, the 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 to this, and a configuration in which a control unit other than the control unit 31, for example, a control unit of a teaching device (not shown), executes the detection method of the present invention may be used.
[0077] In the second step, the second torque information T2 is obtained by flattening the change over time of the torque value of the first torque information T1. Thereby, the acceleration component can be obtained accurately and easily.
[0078] The detection method also has a third step of analyzing the vibration characteristics based on the third torque information T3. Thereby, the vibration characteristics of the predetermined part can be appropriately analyzed, and for example, vibration suppression control can be performed based on the analysis result.
[0079] The robot system 1 of the present invention includes a robot 7 having a robot arm 72 with a motor 41, and a control device 3 that drives the motor 41 to control the operation of the robot arm 72. The control device 3 acquires first torque information T1 which is a change over time of the torque value of the output torque of the motor 41, and removes, from the first torque information T1, second torque information T2 which is a change over time of the torque value corresponding to the component that accelerates a first arm 73, which is an example of a predetermined part of the robot arm 72, by the motor 41, to acquire third torque information T3 which is a change over time of the torque value of the vibration component. The control device 3 has a first acquisition unit 311 and a second acquisition unit 312 which are torque information acquisition units. Thereby, the torque value of the vibration component can be acquired from the torque value of the output torque of the motor 41. Therefore, vibration information can be acquired from the output torque of the motor 41 without providing a physical vibration detection unit as in the prior art on the robot arm or the like. Therefore, the device configuration can be simplified, and the robot arm 72 can be driven more quickly by reducing the inertial weight of the robot arm 72, contributing to an improvement in work efficiency. Furthermore, since it is not necessary to provide a physical vibration detection unit as in the prior art, the manufacturing cost of the robot system 1 can be suppressed.
[0080] The program of the present invention is a program for detecting vibration of a first arm 73 which is an example of a predetermined part of a robot arm 72 having a motor 41. The program includes a first step of acquiring first torque information T1 which is a change over time of the torque value of the output torque of the motor 41, and a second step of removing second torque information T2 which is a change over time of the torque value corresponding to the component for accelerating the first arm 73 by the motor 41 from the first torque information T1, and acquiring third torque information T3 which is a 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, vibration information can be acquired from the output torque of the motor 41 without providing a physical vibration detection unit as in the prior art. Thus, the device configuration can be simplified, and the robot arm 72 can be driven more quickly by reducing the inertia weight of the robot arm 72, contributing to an improvement in work efficiency. Furthermore, since it is not necessary to provide a physical vibration detection unit as in the prior art, the manufacturing cost of the robot system 1 can be suppressed.
[0081] Note that, in the present embodiment, the program of the present invention is stored in the storage unit 32, but the present invention is not limited to this, and it may be stored in other storage devices, storage media, etc.
[0082] In the present embodiment, a configuration for detecting residual vibration generated in the first arm 73 provided in the robot 7 which is a scalar robot has been described, but the present invention is not limited to this. For example, it may be a configuration for detecting residual vibration of a second arm 74 rotated by a motor or an end effector 76. Also, when applying to robots other than scalar robots, such as 6-axis articulated robots and dual-arm robots, the detection method of the present invention may be applied to any one or two or more of all the rotating axes provided with motors, and a configuration for detecting residual vibration of an arm or the like provided in the robot may be adopted.
[0083] The detection method, robot system, and program of the present invention have been described based on the illustrated embodiments. However, the present invention is not limited thereto, and the configurations of the respective parts in the detection method, robot system, and program can be replaced with any configurations having the same functions and processes. Further, other arbitrary components and processes may be added to the detection method, robot system, and program.
Explanation of Reference Numerals
[0084] 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... Robot arm, 73... First arm, 74... Second arm, 75... Working 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
Claims
1. A detection method for detecting vibration at a predetermined part of a robotic arm having a motor, comprising: a first step of obtaining first torque information which is a change over time of a torque value of an output torque of the motor; a second step of removing second torque information which is a change over time of a torque value corresponding to a component for accelerating the predetermined part by the motor from the first torque information, and obtaining third torque information which is a change over time of a torque value of a vibration component. The detection method is characterized by including the above.
2. The detection method according to claim 1, wherein in the second step, the second torque information is obtained by flattening a change over time of the torque value of the first torque information.
3. The detection method according to claim 1 or 2, further comprising a third step of analyzing vibration characteristics based on the third torque information.
4. The detection method according to claim 3, wherein in the third step, an amplitude of the torque value in the third torque information is obtained.
5. The detection method according to claim 4, wherein in the third step, the amplitude is obtained based on a maximum value of the torque value.
6. The detection method according to claim 3, wherein in the third step, a frequency of the torque value in the third torque information is obtained.
7. The detection method according to claim 6, wherein in the third step, frequency analysis of the torque value in the third torque information is performed, and a maximum value of a calculated value of the frequency analysis is taken as the frequency.
8. The detection method according to claim 7, wherein the first torque information is obtained under a condition that an amplitude of the vibration is maximized when performing the frequency analysis.
9. The detection method according to claim 7, wherein data in a predetermined frequency range is excluded when performing the frequency analysis.
10. The detection method according to claim 7, wherein noise components are removed before performing the frequency analysis.
11. A robot comprising a robotic arm having a motor, and a control device for driving the motor to control the operation of the robotic arm. The robot system is characterized by: the control device includes a torque information acquisition unit that obtains first torque information which is a change over time of a torque value of an output torque of the motor, removes second torque information which is a change over time of a torque value corresponding to a component for accelerating a predetermined part of the robotic arm by the motor from the first torque information, and obtains third torque information which is a change over time of a torque value of a vibration component.
12. A program for detecting vibration of a predetermined part of a robot arm having a motor, a first step of obtaining first torque information which is a change over time of a torque value of an output torque of the motor, a second step of removing second torque information which is a change over time of a torque value corresponding to a component for accelerating the predetermined part by the motor from the first torque information, and obtaining third torque information which is a change over time of a torque value of a vibration component, and a program for executing the steps.
Citation Information
Patent Citations
Robot control device
JP2021013999A