Residual vibration suppression method, device, robotic arm and storage medium for robotic arm
By obtaining the low-frequency vibration frequency of the robot arm and building a suppression filter, the problem of extended command response during low-frequency vibration suppression of the robot arm is solved, and the effect of rapid response and effective vibration suppression is achieved.
Patent Information
- Application Number
- CN202210948573.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-09
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2042-08-09
AI Technical Summary
In response to low-frequency vibration suppression of robotic arm, the prior art extends the command response time, making it difficult to meet the needs of industrial robotic arm high response occasions.
By obtaining the low-frequency vibration frequency of the robot arm, a suppression filter is constructed to attenuate the position command, thereby actively suppressing the low-frequency vibration of the robot arm.
It effectively suppresses low-frequency vibration of the robotic arm, and basically does not affect the command response, improving the rapid response capability of the robotic arm.
Smart Images

Figure CN115476355B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of automatic control technology, and in particular, relates to a residual vibration suppression method for a robot arm, a computer device, a robot arm, and a computer-readable storage medium. Background Art
[0002] Robotic arms are widely used in industrial production, deep-sea resource development, space exploration and other fields. When the length of an industrial robotic arm reaches a certain level and a large mass is hung at the end, there is an oscillation mode in the model during the stopping process. Therefore, when the robotic arm reaches the desired position, it cannot stop immediately, but will swing for a period of time and gradually decay, which is residual vibration.
[0003] The existing control strategy for mechanical arm vibration suppression generally adopts the input shaping method, that is, the original input signal is input several times (at least twice). The two opposite vibrations are output at a suitable time interval, and can cancel each other out through linear superposition. However, this method will prolong the command response time: the larger the low-frequency vibration amplitude, the longer the command response time required for suppression. Therefore, it is not suitable for high-response occasions of industrial mechanical arms. How to quickly suppress the low-frequency vibration of the mechanical arm is an urgent problem to be solved by technicians in this field.
[0004] The preceding description is intended to provide general background information and does not necessarily constitute prior art. Summary of the invention
[0005] Based on this, it is necessary to propose a residual vibration suppression method for a robotic arm, a computer device, a robotic arm and a computer-readable storage medium to address the above problems.
[0006] The present application solves the technical problem by adopting the following technical solutions:
[0007] The present application provides a residual vibration suppression method for a robotic arm, comprising the following steps: obtaining a low-frequency vibration frequency according to a first position instruction of the robotic arm; constructing a suppression filter according to a preset initial low-frequency suppression width and a low-frequency vibration frequency; inputting the first position instruction into the suppression filter to obtain a second position instruction; and outputting the second position instruction to the robotic arm to suppress vibration.
[0008] In an optional embodiment of the present application, a low-frequency vibration frequency is obtained according to a first position instruction of the robotic arm, including: determining a position deviation of the robotic arm according to the first position instruction; determining an oscillating sine wave according to the position deviation; determining a vibration period according to a time difference between a preset number of vertices of the oscillating sine wave; and determining a low-frequency vibration frequency according to the vibration period.
[0009] In an optional embodiment of the present application, the vibration period is determined based on the time difference between the first number of vertices of the oscillating sine wave, including: determining the first swing direction of the robot arm based on the first position instruction; determining the direction of the first position deviation based on the first swing direction to determine the vertices of the oscillating sine wave; when the position deviation of three consecutive position loop periods is less than a preset deviation value and the position deviation reaches a maximum value, a vertex is determined, and timing is started to determine the vibration period.
[0010] In an optional embodiment of the present application, the low-frequency vibration frequency is determined according to the vibration period, including: determining multiple vibration frequencies according to multiple vibration periods; when the multiple vibration frequencies are all within a preset low-frequency range and the difference between the multiple vibration frequencies is within a preset deviation range, calculating the average value of the multiple vibration frequencies, and determining the average value as the low-frequency vibration frequency.
[0011] In an optional embodiment of the present application, the suppression filter is a biquad filter.
[0012] In an optional embodiment of the present application, the first position instruction is input into a suppression filter to obtain a second position instruction, including: using a bilinear transformation to determine a digital filter for a biquadratic filter; and obtaining a second position instruction after the first position instruction is input into the digital filter for attenuation.
[0013] In an optional embodiment of the present application, after the second position instruction is output to the robotic arm to suppress vibration, the method also includes: obtaining the position deviation of the robotic arm again, and judging whether the robotic arm still has low-frequency vibration based on the position deviation; if the robotic arm still has low-frequency vibration, updating the initial low-frequency suppression width to the second low-frequency suppression width, and reconstructing the second suppression filter based on the second low-frequency suppression width and the low-frequency vibration frequency; obtaining the second position instruction through the first position instruction and the second suppression filter, and outputting it to the robotic arm to suppress vibration; if the second low-frequency suppression width reaches a preset maximum value, updating and obtaining the second low-frequency vibration frequency, and reconstructing the third suppression filter based on the second low-frequency suppression width and the second low-frequency vibration frequency; obtaining the second position instruction through the first position instruction and the third suppression filter, and outputting it to the robotic arm to suppress vibration.
[0014] The present application also provides a computer device, including a processor and a memory: the processor is used to execute a computer program stored in the memory to implement the aforementioned method.
[0015] The present application also provides a robotic arm, comprising the aforementioned computer device.
[0016] The present application also provides a computer-readable storage medium storing a computer program, which implements the aforementioned method when the computer program is executed by a processor.
[0017] The embodiments of the present application have the following beneficial effects:
[0018] The present application can actively obtain the low-frequency vibration generated by the robotic arm according to the position command of the robotic arm, and establish a corresponding suppression filter to attenuate the position command, thereby actively suppressing the energy output of the robotic arm. While effectively suppressing the low-frequency vibration of the robotic arm, the command response is basically unaffected, thereby improving the rapid response of the robotic arm.
[0019] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented according to the contents of the specification, and in order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the following preferred embodiments are specifically cited and described in detail with the accompanying drawings. It should be understood that the above general description and the detailed description below are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0021] in:
[0022] Figure 1 is a flow chart of a residual vibration suppression method for a robot arm in one embodiment;
[0023] Figure 2 Schematic diagram of command response delay caused by input shaping method;
[0024] Figure 3 is a flow chart of a method for continuously suppressing residual vibration of a robot arm in one embodiment;
[0025] Figure 4 A schematic diagram of a residual vibration suppression effect of a robot arm brought by a biquad filter in one embodiment;
[0026] Figure 5 A schematic diagram of a command response delay caused by a biquad filter in one embodiment;
[0027] Figure 6 is a structural block diagram of a computer device in one embodiment;
[0028] Figure 7 Schematic diagram of the structure of a robotic arm in one embodiment. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0030] Embodiment 1
[0031] Figure 1 Flow chart of a residual vibration suppression method for a robot arm in one embodiment. To clearly describe the residual vibration suppression method for a robot arm provided in the first embodiment of the present application, please refer to Figure 1 and Figure 2 .
[0032] The existing control strategy for mechanical flexible arm vibration suppression generally adopts the input shaping method, that is, the original input signal is input several times (at least twice). As long as the time interval is appropriate, the vibrations generated by them can be offset by linear superposition. However, this method will prolong the command response time. The larger the low-frequency vibration amplitude is, the longer the command response time is required after suppression. It is not suitable for high-response occasions of industrial robotic arms. For details, please refer to Figure 2 , Figure 2 Schematic diagram of the command response delay caused by the input shaping method, where the dotted line part is the position deviation of the robot arm without performing any suppression operation, and the solid line part is the position deviation of the robot arm when the input shaping method is used. As shown in the figure, the input shaping method of the prior art is used to suppress the residual vibration of the robot arm, but there is a significant delay in time, which is not suitable for the implementation scenario of the high-speed response of the robot arm. Based on this, the residual vibration suppression method of the robot arm provided in Example 1 is proposed, including steps S110 to S140.
[0033] Step S110: obtaining the low-frequency vibration frequency according to the first position instruction of the robot arm.
[0034] In one embodiment, in step S110: obtaining a low-frequency vibration frequency according to a first position instruction of the robotic arm includes: determining a position deviation of the robotic arm according to the first position instruction; determining an oscillating sine wave according to the position deviation; determining a vibration period according to a time difference between a preset number of vertices of the oscillating sine wave; and determining a low-frequency vibration frequency according to the vibration period.
[0035] In one embodiment, when the robot arm is stopped, the low-frequency vibration of the robot arm will present a sinusoidal attenuated oscillation at a certain vibration frequency. The oscillation frequency can be obtained from the position deviation, and the position deviation can be obtained from the first position instruction of the robot arm. The first position instruction is also the instruction input to the robot arm at the beginning, or the instruction input to the robot arm before suppression. According to the position deviation, the oscillating sine wave can be determined, and a preset number of vertices of the sinusoidal oscillation wave can be extracted, the number is at least two, and preferably three. Taking the time difference between two vertices as one period, the vibration period Tosc can be determined by the time difference between multiple vertices, and the low-frequency vibration frequency can be further determined: Fosc=1 / Tosc.
[0036] In one embodiment, the vibration period is determined based on the time difference between the first number of vertices of the oscillating sine wave, including: determining the first swing direction of the robot arm based on the first position instruction; determining the direction of the first position deviation based on the first swing direction to determine the vertices of the oscillating sine wave; when the position deviation of three consecutive position loop periods is less than a preset deviation value and the position deviation reaches a maximum value, a vertex is determined, and timing is started to determine the vibration period.
[0037] In one embodiment, it is understandable that the swing of the robot arm is directional, so when the robot arm swings in the positive and negative directions, the way to find the vertex of the oscillating sine wave is slightly different. Specifically, the first swing direction of the robot arm is determined according to the first position instruction, and when determining the direction of the first position deviation, the direction opposite to the first swing direction is taken. Taking the first swing direction corresponding to the first position instruction as positive as an example, the first position deviation needs to be negative to enter the search for the vertex of the oscillating sine wave. Afterwards, when the position deviation of three consecutive position loop cycles is less than the preset deviation value and the position deviation reaches the maximum value, a vertex is determined, and timing is started to determine the vibration period. The three loop cycles, namely the current loop, the speed loop and the position loop, represent a cycle of control of the robot arm, which corresponds to the control to determine the vibration period.
[0038] In one embodiment, determining the low-frequency vibration frequency according to the vibration period includes: determining multiple vibration frequencies according to multiple vibration periods; when the multiple vibration frequencies are all within a preset low-frequency range and the difference between the multiple vibration frequencies is within a preset deviation range, calculating the average value of the multiple vibration frequencies, and determining the average value as the low-frequency vibration frequency.
[0039] In one embodiment, since there is more than one vertex of the acquired sine wave, in order to improve the accuracy of determining the vibration period, multiple vibration periods can be determined through multiple vertices, and multiple vibration frequencies can be further determined. For the preset low-frequency range, it can be taken between 1 and 100 Hz; for the preset deviation range, it can be taken as 1.5 Hz. In other words, when the multiple vibration frequencies determined are between 1 and 100 Hz, and the deviation between each other is less than 1.5 Hz, in this case, it is considered that the vibration frequency of the vibrating sine wave is determined, and then the multiple vibration frequencies are averaged, and the average value is determined as the low-frequency vibration frequency. The specific number of the multiple vibration frequencies is not specifically limited, and it is at least two, and preferably four.
[0040] Step S120: constructing a suppression filter according to a preset initial low-frequency suppression width and a low-frequency vibration frequency.
[0041] In one embodiment, the suppression filter is a biquad filter.
[0042] In one embodiment, after determining the low-frequency vibration frequency and the preset initial low-frequency suppression width, a notch filter can be added to the position command end to attenuate, thereby suppressing the vibration. The traditional notch filter expression transfer function is:
[0043]
[0044] Among them, ω D is the zero-pole natural frequency, ω N is the low-frequency vibration frequency; ζ is the damping ratio, which is used to determine the notch depth. The smaller the damping ratio, the deeper the notch. N When s = jω N , Therefore, T(s) = 0. So the ideal notch filter has an amplitude of ω N The attenuation at the position is complete. For this reason, it is preferred to select a biquad filter as the position command filter for the suppression filter, and its unit DC gain expression is:
[0045]
[0046] Comparing equation (1) and equation (2), it can be seen that the use of a biquad filter has two more degrees of freedom than a notch filter. First, ω D The natural frequencies of the zeros and poles can be different; secondly, the molecular damping term ζ N can be non-zero, so ω N It will not be completely attenuated. In addition, the constant term of equation (2) is adjusted, where the DC gain (s = 0) is set to 1. In equation (2), ω N Used to determine the filtering center frequency point, Used to determine the notch filter depth, that is, the input-output ratio at the center frequency, ζ D Used to determine the denominator damping ratio, i.e. the suppression width.
[0047] Step S130: input the first position instruction into the suppression filter to obtain a second position instruction.
[0048] Step S140: outputting a second position instruction to the robot arm to suppress vibration.
[0049] In one embodiment, in step S130: inputting the first position instruction into the suppression filter to obtain the second position instruction includes: using bilinear transformation to determine the digital filter for the biquadratic filter; and inputting the first position instruction into the digital filter for attenuation to obtain the second position instruction.
[0050] In one embodiment, after constructing the suppression filter, the first position command is filtered to obtain the second position command, so as to actively attenuate the resonance of the mechanical arm, reduce the output energy and suppress the vibration of the mechanical arm. It can be understood that the position command is a digital command, and the constructed suppression filter is an analog filter, so it is necessary to obtain a digital filter to achieve filtering. To obtain a digital filter, the mapping from the plane to the sz plane, z = e sT The multi-valued nature makes the designed digital filter inevitably have spectrum aliasing. In order to overcome the shortcomings of the spectrum aliasing effect that may be caused by the impulse response invariance method, a bilinear transformation is used for the biquad filter, following the following expression:
[0051]
[0052] After that, the transformed Z-domain transfer function is determined:
[0053]
[0054] The parameters in formula (4) are obtained according to the following expressions:
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062] In one embodiment, after the suppression filter is constructed, the first position instruction can be subjected to filtering and attenuation processing, thereby obtaining a second position instruction for actively attenuating resonance and reducing the output energy of the robot arm. The second position instruction is sent to the robot arm, so that the robot arm can perform operations according to the second position instruction, thereby actively suppressing the residual vibration.
[0063] In one embodiment, in step S140: after outputting the second position instruction to the robotic arm to suppress vibration, the method also includes: obtaining the position deviation of the robotic arm again, and judging whether the robotic arm still has low-frequency vibration based on the position deviation; if the robotic arm still has low-frequency vibration, updating the initial low-frequency suppression width to the second low-frequency suppression width, and reconstructing the second suppression filter based on the second low-frequency suppression width and the low-frequency vibration frequency; obtaining the second position instruction through the first position instruction and the second suppression filter, and outputting it to the robotic arm to suppress vibration; if the second low-frequency suppression width reaches a preset maximum value, updating and obtaining the second low-frequency vibration frequency, and reconstructing the third suppression filter based on the second low-frequency suppression width and the second low-frequency vibration frequency; obtaining the second position instruction through the first position instruction and the third suppression filter, and outputting it to the robotic arm to suppress vibration.
[0064] In one embodiment, it is understandable that the vibration of the mechanical arm is usually continuous. Therefore, after being attenuated by the above-mentioned dual quadratic filter, it is possible to continuously detect whether the mechanical arm still has low-frequency vibration. The judgment process is similar to the process of determining the low-frequency vibration frequency described in step S110. For details, please refer to the previous text and will not be repeated here. If it is identified that the mechanical arm still has low-frequency vibration, it means that attenuation suppression needs to continue. For this, the second suppression filter can be reconstructed again for filtering. The construction process can preferably be to update the notch suppression width ζ D The updating process can be specifically to continuously increase the notch suppression width ζ according to the preset method. D The second low-frequency suppression width is obtained. The updated second low-frequency suppression width and the low-frequency vibration frequency ω N The second suppression filter is constructed again to filter the first position command to suppress the residual vibration of the robot arm. D When the preset maximum value is reached, the low-frequency vibration frequency ω can be updated N, update and obtain the second low-frequency vibration frequency. The acquisition process has been described in detail in step S110 and will not be repeated here. Similarly, the third suppression filter is reconstructed using the updated second notch suppression width and the updated second low-frequency vibration frequency to filter the first position instruction to suppress the residual vibration of the robot arm, thereby achieving continuous suppression of the residual vibration of the robot arm. It is worth noting that in this embodiment, the first position instruction and the second position instruction are relative, because the filtering notch is continuous, so the position instruction input to the dual second-order filter is the first position instruction, and the output is the second position instruction; and in one embodiment, the second position instruction obtained in the previous round can also be the first position instruction in the next round, thereby continuously suppressing the residual vibration of the robot arm.
[0065] Therefore, the present application can actively obtain the low-frequency vibration generated by the mechanical arm according to the position command of the mechanical arm, and establish a corresponding suppression filter to attenuate the position command, thereby actively suppressing the energy output of the mechanical arm. While effectively suppressing the low-frequency vibration of the mechanical arm, the command response is basically unaffected, thereby improving the rapid response of the mechanical arm. And further, in the residual vibration suppression method of the mechanical arm provided in an embodiment of the present application, it is also possible to increase the accuracy of determining the low-frequency vibration frequency by obtaining the cycle multiple times, and only when certain conditions are met, taking the average value from multiple frequencies as the low-frequency vibration frequency, thereby ensuring more effective vibration suppression. In addition, by using a second-order filter to construct a suppression filter, and adopting a bilinear transformation to determine a digital filter to filter the first position command, it is possible to effectively suppress the residual vibration of the mechanical arm while basically maintaining synchronization with the position command, reducing the response delay, thereby greatly adapting to the application environment of high-speed response of the mechanical arm.
[0066] Embodiment 2
[0067] Figure 3 is a flow chart of a method for continuously suppressing residual vibration of a robot arm in one embodiment; Figure 4 A schematic diagram of a residual vibration suppression effect of a robot arm brought by a biquad filter in one embodiment; Figure 5 Schematic diagram of command response delay caused by a biquad filter in one embodiment. To clearly describe the method for continuous suppression of residual vibration of a robot arm provided in the third embodiment, please refer to Figure 1 , Figure 3 to Figure 5 .
[0068] It is understandable that the vibration of the robot arm is usually continuous, so the residual vibration of the robot arm cannot be completely eliminated through a single filtering and attenuation process. In this regard, after the filtering and attenuation process, it is possible to continue to determine whether the robot arm still has residual vibration. If so, it indicates that suppression needs to be continued, and the suppression method is the same, but the suppression filter needs to be updated. The specific implementation process may include steps S210 to S240.
[0069] Step S210: Obtain a low-frequency vibration frequency according to a first position instruction of the robotic arm; construct a suppression filter according to a preset initial low-frequency suppression width and a low-frequency vibration frequency; input the first position instruction into the suppression filter to obtain a second position instruction; output the second position instruction to the robotic arm to suppress vibration.
[0070] In one embodiment, the steps performed in step S210 are the steps performed in the residual vibration suppression method of the robot arm mentioned in the first embodiment of the present application. Therefore, for the specific operations performed in step S210, reference can be made to the relevant description in the previous text, and no further description will be given here.
[0071] Step S220: obtaining the position deviation of the robot arm again, and determining whether the robot arm still has low-frequency vibration according to the position deviation.
[0072] In one embodiment, how to judge whether the mechanical arm still has low-frequency vibration according to the position deviation, that is, whether there is still a low-frequency vibration frequency within the threshold range. Specifically, the low-frequency vibration frequency determination process can be: determine the position deviation of the mechanical arm according to the first position instruction; determine the oscillation sine wave according to the position deviation; determine the vibration period according to the time difference between the preset number of vertices of the oscillation sine wave; and determine the low-frequency vibration frequency according to the vibration period. Determining the vibration period according to the time difference between the first number of vertices of the oscillation sine wave includes: determining the first swing direction of the mechanical arm according to the first position instruction; determining the direction of the first position deviation according to the first swing direction to determine the vertex of the oscillation sine wave; when the position deviation of three consecutive position loop cycles is less than the preset deviation value and the position deviation reaches the maximum value, determine a vertex, and start timing to determine the vibration period. Determining the low-frequency vibration frequency according to the vibration period includes: determining multiple vibration frequencies according to multiple vibration periods; when multiple vibration frequencies are all within the preset low-frequency range, and the difference between the multiple vibration frequencies is within the preset deviation range, calculating the average value of the multiple vibration frequencies, and determining the average value as the low-frequency vibration frequency. In addition, how to determine the low-frequency vibration frequency has been described in detail in the previous article. Please refer to the description in the previous article for details, and will not be repeated here.
[0073] Step S230: If the robotic arm still has low-frequency vibration, the initial low-frequency suppression width is updated to the second low-frequency suppression width, and the second suppression filter is reconstructed according to the second low-frequency suppression width and the low-frequency vibration frequency; the second position instruction is obtained through the first position instruction and the second suppression filter, and output to the robotic arm to suppress vibration.
[0074] Step S240: If the second low-frequency suppression width reaches a preset maximum value, the second low-frequency vibration frequency is updated and obtained, and the third suppression filter is reconstructed according to the second low-frequency suppression width and the second low-frequency vibration frequency; the second position instruction is obtained through the first position instruction and the third suppression filter, and output to the robotic arm to suppress vibration.
[0075] In one embodiment, if there is still a low-frequency vibration frequency within the threshold range, it can be considered that the mechanical arm still has low-frequency vibration and needs to be further suppressed. In addition, the suppression process requires updating the suppression filter. The process of updating the suppression filter can be to first update the initial low-frequency suppression filter width, obtain an updated second low-frequency suppression width by gradually increasing it, and obtain the updated second low-frequency suppression width by comparing the updated second low-frequency suppression width with the low-frequency vibration frequency ω. N The second suppression filter is constructed again. It can be understood that updating the second low-frequency suppression width in a gradually increasing manner will reach the second low-frequency suppression width reaching a preset maximum value. In this case, the low-frequency vibration frequency needs to be updated. The process of updating the low-frequency vibration frequency is also another acquisition process. For how to acquire the low-frequency vibration frequency again, reference can be made to the steps performed in step S110 of the first embodiment of the present application, which will not be repeated here. Further, the third suppression filter can be reconstructed according to the second low-frequency suppression width and the second low-frequency vibration frequency. The second suppression filter or the third suppression filter, preferably, both use a double second-order filter. And in order to filter the first position instruction, it is necessary to design a digital filter based on the double second-order filter. The construction process of the double second-order filter and the digital filter has been described in detail in the first embodiment of the present application. Specifically, reference can be made to the construction process of the above formula (2) to formula (5), which will not be repeated here. Afterwards, the second position instruction can be sent to the manipulator so that the manipulator can perform operations according to the second position instruction, thereby actively and continuously suppressing the residual vibration. It is worth noting that in the present embodiment, the first position instruction and the second position instruction are relative, because the filtering notch is continuous, so the position instruction input to the double second-order filter is the first position instruction, and the output is the second position instruction; and in one embodiment, the second position instruction obtained in the previous round can also be the first position instruction in the next round, thereby continuously suppressing the residual vibration of the robot arm.
[0076] Therefore, the present application can continuously detect the residual vibration of the robot arm after filtering, and continuously update and construct the dual second-order filter when the robot arm still has low-frequency vibration, thereby actively suppressing the energy output of the robot arm. While effectively suppressing the low-frequency vibration of the robot arm, the command response is basically unaffected, thereby improving the rapid response of the robot arm. For specific implementation effects, please refer to Figure 4 and Figure 5 , Figure 4 A schematic diagram of a residual vibration suppression effect of a robot arm brought by a biquad filter in one embodiment; Figure 5 A schematic diagram of the instruction response delay caused by a biquad filter in one embodiment. Figure 4 In the figure, the dotted line part is the position deviation of the robot arm when the biquad filter is not added, and the solid line part is the position deviation of the robot arm when the biquad filter is added; Figure 5 In the figure, the dotted line is the command response time of the robot arm when the biquad filter is not added; the solid line is the command response time of the robot arm when the biquad filter is added. Figure 4 and Figure 5 It can be seen that the method for continuously suppressing residual vibration of the robotic arm provided in Example 2 of the present application can quickly and effectively suppress the residual low-frequency vibration of the robotic arm without increasing the command response time.
[0077] Embodiment 3
[0078] Figure 6 FIG. 60 shows an internal structure diagram of a computer device in an embodiment. The computer device 60 may be a terminal or a server. Figure 6 As shown, the computer device 60 includes a processor, a memory and a network interface connected via a system bus. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device 60 stores an operating system and may also store a computer program. When the computer program is executed by the processor, the processor may implement a residual vibration suppression method for a robotic arm. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor may implement an age recognition method. Those skilled in the art will appreciate that Figure 6 The structure shown in the figure is merely a block diagram of a portion of the structure related to the present application scheme, and does not constitute a limitation on the computer device 60 to which the present application scheme is applied. The specific computer device 60 may include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.
[0079] Figure 7 FIG. 1 is a schematic diagram of the structure of a mechanical arm in one embodiment. Figure 7As shown, the robot arm 70 provided in this embodiment includes the computer device 60 described above, and the methods described in the first and second embodiments can be implemented through the computer device 60. The installation position of the computer device 60 is only used for simple explanation and is not a technical limitation: it can be installed in the base or in other positions of the robot arm 70. In addition, the above description does not constitute a limitation on the robot arm 70 to which the present application scheme is applied. The specific robot arm 70 may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0080] In one embodiment, a computer-readable storage medium is provided, which stores a computer program. When the computer program is executed by a processor, the processor executes the method described in Embodiment 1 and Embodiment 2.
[0081] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the program can be stored in a non-volatile computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0082] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0083] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for suppressing residual vibration of a robot arm, characterized in that: The steps include: Acquire the low-frequency vibration frequency according to the first position instruction of the robot arm; Constructing a suppression filter according to a preset initial low-frequency suppression width and the low-frequency vibration frequency; Inputting the first position instruction into the suppression filter to obtain a second position instruction; outputting the second position command to the robot arm to suppress vibration; Wherein, obtaining the low-frequency vibration frequency according to the first position instruction of the robotic arm includes: Determining a position deviation of the robotic arm according to the first position instruction; determining an oscillating sine wave based on the position deviation; Determining the vibration period based on the time difference between a preset number of vertices of the oscillating sine wave; Determining the low-frequency vibration frequency according to the vibration period; The step of determining the vibration period according to the time difference between a preset number of vertices of the oscillating sine wave comprises: Determining a first swing direction of the robotic arm according to the first position instruction; Determining the direction of the first position deviation according to the first swing direction to determine the apex of the oscillating sine wave; When the position deviation of three consecutive position loop cycles is less than a preset deviation value and the position deviation reaches a maximum value, a vertex is determined and timing is started to determine the vibration cycle.
2. The residual vibration suppression method of a robot arm according to claim 1, characterized in that: Determining the low-frequency vibration frequency according to the vibration period includes: determining a plurality of vibration frequencies according to a plurality of the vibration cycles; When the plurality of vibration frequencies are all within the preset low frequency range and the differences between the plurality of vibration frequencies are within the preset deviation range, an average value of the plurality of vibration frequencies is calculated and the average value is determined as the low frequency vibration frequency.
3. The residual vibration suppression method of a robot arm according to claim 1, characterized in that: The suppression filter is a biquad filter.
4. The method for suppressing residual vibration of a robot arm according to claim 3, characterized in that: The step of inputting the first position instruction into the suppression filter to obtain a second position instruction comprises: Determining a digital filter by applying a bilinear transformation to the biquad filter; The first position instruction is input into the digital filter and attenuated to obtain the second position instruction.
5. The method for suppressing residual vibration of a robot arm according to claim 1, characterized in that: After outputting the second position instruction to the robot arm to suppress vibration, the method further includes: Obtaining the position deviation of the robotic arm again, and judging whether the robotic arm still has low-frequency vibration according to the position deviation; If the mechanical arm still has low-frequency vibration, the initial low-frequency suppression width is updated to a second low-frequency suppression width, and a second suppression filter is reconstructed according to the second low-frequency suppression width and the low-frequency vibration frequency; the second position instruction is obtained through the first position instruction and the second suppression filter, and is output to the mechanical arm to suppress vibration; If the second low-frequency suppression width reaches a preset maximum value, the second low-frequency vibration frequency is updated and obtained, and the third suppression filter is reconstructed according to the second low-frequency suppression width and the second low-frequency vibration frequency; the second position instruction is obtained through the first position instruction and the third suppression filter, and output to the robotic arm to suppress vibration.
6. A computer device, characterized in that: Including processor and memory: The processor is configured to execute the computer program stored in the memory to implement the method according to any one of claims 1 to 5.
7. A robotic arm, characterized in that: Comprising a computer device as claimed in claim 6.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Vibration control method and device for flexible connector, storage medium and execution system
CN108845510A
Vibration suppression method, vibration suppression system, vibration suppression device and robot equipment
CN111930156A