Servo motor control device
The servo motor control device addresses the challenge of suppressing quadrant bumps by using a combination of inversion detection, adjustment command generation, and learning control to generate actual commands that quickly and effectively mitigate these issues.
Patent Information
- Application Number
- JP2023539424
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-08-03
- Publication Date
- 2025-06-11
- Estimated Expiration
- 2041-08-03
AI Technical Summary
Existing methods for suppressing quadrant bumps in servo motor systems require extensive data collection and can take a long time, especially when operation speed is low or moving distances are large.
A servo motor control device that includes an inversion detection unit, an adjustment command generation unit, an output control unit, a learning control unit, and an actual command generation unit, which together detect inversion points, generate adjustment commands, calculate control output values, learn from deviations, and generate actual commands to suppress quadrant bumps in a short time.
The proposed solution effectively suppresses quadrant bumps in a relatively short time, improving the accuracy and efficiency of servo motor operations.
Smart Images

Figure 0007691501000001 
Figure 0007691501000002 
Figure 0007691501000003
Abstract
Description
Technical Field
[0001] The present invention relates to a servo motor control device.
Background Art
[0002] When driving a driven body by a servo motor, when the rotation direction of the servo motor reverses, the operation of the driven body may be different from what is intended due to mechanical play. Such a driving error of the driven body caused by the reversal of the rotation direction of the servo motor is called a quadrant bump.
[0003] As a method for suppressing such a quadrant bump, it has been proposed to detect the quadrant bump, add a correction value for suppressing the quadrant bump to a feedback loop that controls the servo motor at the timing when the quadrant bump is detected, and adjust the value of the correction value by machine learning (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In order to be able to appropriately suppress the quadrant bump by machine learning, it is necessary to repeatedly execute a program for driving the driven body to collect sufficient data about the quadrant bump. However, when the overall operation speed of the program is low or the moving distance is large, it may take a considerably long time until sufficient suppression correction of the quadrant bump can be performed. For this reason, a technique that can suppress the quadrant bump in a relatively short time is desired.
Means for Solving the Problems
[0006] A servo motor control device according to an aspect of the present disclosure is a servo motor control device that controls a servo motor according to a raw command, and includes an inversion detection unit that detects an inversion point at which the rotation direction of the servo motor is inverted based on the raw command or a feedback value from the servo motor, an adjustment command generation unit that repeatedly generates an adjustment command for repeatedly specifying an operation of the servo motor according to the raw command in an inversion range including the inversion point, an output control unit that calculates a control output value to the servo motor based on the adjustment command, and a learning control unit that calculates a deviation of the feedback value with respect to the adjustment command in the inversion range when the servo motor is controlled by the control output value based on the adjustment command for each period of the adjustment command, and inputs a correction value for reducing the deviation of the feedback value with respect to the adjustment command to the output control unit.
Advantages of the Invention
[0007] According to the present disclosure, quadrant protrusions can be suppressed in a relatively short time.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Embodiments for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a drive system 1 including a servo motor control device 10 according to a first embodiment of the present disclosure. Note that, for convenience of explanation, FIG. 1 describes the configuration of the servo motor control device 10 in the form of a partial block diagram, but it is not intended that the functions of all components can be described as transfer functions, and it is not intended that all information transmission indicated by arrows is always valid and that all components shown always function effectively.
[0010] The drive system 1 includes a servo motor control device 10, a servo amplifier 20, and a servo motor 30, and drives a driven body (not shown) by the servo motor 30. In this drive system 1, the servo motor control device 10 controls the servo motor 30 according to a raw command via the servo amplifier 20. Also, in FIG. 1, only one set of the servo amplifier 20 and the servo motor 30 is shown, but the drive system 1 includes a plurality of sets of the servo amplifier 20 and the servo motor 30, and the servo motor control device 10 controls the plurality of sets of the servo amplifier 20 and the servo motor 30.
[0011] Specifically, the servo motor control device 10 generates an actual command such that the servo motor 30 can more accurately reproduce the operation intended by the raw command by suppressing the quadrant protrusion caused by the reversal of the rotation direction of the servo motor 30, and operates the servo motor 30 by inputting the generated actual command to the servo amplifier 20.
[0012] The servo motor control device 10 includes a reversal detection unit 11, an adjustment command generation unit 12, an output control unit 13, a learning control unit 14, and an actual command generation unit 15. The servo motor control device 10 can be realized, for example, by causing a computer device having a memory, a processor (CPU), an input / output interface, etc. to execute an appropriate control program. Note that each component of the servo motor control device 10 described above is a classification of the functions of the servo motor control device 10, and does not necessarily need to be clearly distinguishable in terms of physical structure and program structure.
[0013] The reverse detection unit 11 detects a reversal point at which the rotation direction of the servo motor 30 reverses based on the original command or the feedback value from the servo motor 30. That is, the reverse detection unit 11 may analyze the original command without actually driving the servo motor 30 to identify a point at which the rotation direction of the servo motor 30 is theoretically considered to reverse, or execute the original command for one cycle to actually drive the servo motor 30 and identify a point at which the rotation direction of the servo motor 30 is actually considered to have reversed based on the feedback value from the servo motor 30, or detect a point at which the rotation direction of the servo motor 30 is considered to have reversed simultaneously in a plurality of criteria as the reversal point.
[0014] As a specific example, the reverse detection unit 11 may determine that the rotation direction of the servo motor 30 reverses when the differential value of the position specified by the original command or the sign of the speed specified by the original command changes. When the original command specifies a position, it is when the sign of the differential value changes, and when the original command specifies a speed, it is when the sign of the value changes, and it is intended to reverse the rotation direction of the servo motor 30 in the original command. Therefore, without actually driving the servo motor 30, by theoretically identifying the reversal point based on the original command, the reversal point can be detected quickly.
[0015] Also, the reverse detection unit 11 may determine that the rotation direction of the servo motor 30 reverses when the sign of at least one of the speed and the load torque indicated by the feedback value changes. By executing the original command for one cycle and detecting the change in the signs of the speed and the load torque caused by the reversal of the actual rotation direction of the servo motor 30, the reversal point can be detected more accurately.
[0016] Further, the reverse detection unit 11 may determine that the rotation direction of the servo motor 30 is reversed when at least any deviation of the position, speed, acceleration, and jerk between the feedback value and the original command exceeds a preset threshold value. When a difference occurs between the command value and the output value of the servo motor 30 after executing one cycle of the original command, it is considered to be due to the quadrant protrusion caused by the reverse of the rotation direction of the servo motor 30. Also, in this determination method, even if there is a reverse in the rotation direction of the servo motor 30, if no large quadrant protrusion occurs, it is not detected as a reverse point, so only the reverse points that can actually cause problems can be extracted.
[0017] The adjustment command generation unit 12 generates an adjustment command that repeatedly specifies the operation of the servo motor 30 according to the original command within the reverse range including the reverse point. Repeat That is, the adjustment command generated by the adjustment command generation unit 12 is a command that specifies an operation of reciprocatingly moving along the path specified by the original command for the reverse range including the reverse point or an operation of circularly moving along a loop-shaped path that combines the path specified by the original command for the reverse range and an arbitrary path returning from the end point to the start point of the reverse range. The number of repetitions of the reciprocating or circular motion in the adjustment command may be a predetermined number, or may dynamically increase until the deviation of the feedback value from the servo motor 30 with respect to the adjustment command during the execution of the adjustment command becomes sufficiently small.
[0018] The adjustment command generation unit 12 may use a preset distance range or time range including the reverse point as the reverse range. Also, the adjustment command generation unit 12 preferably provides an interface that allows the user to set the distance width or time width of the reverse range. By setting the reverse range as a range having a constant distance width, the variation in the ratio of the width of the reverse range to the width of the possible quadrant protrusion can be reduced, so the execution time of the adjustment command can be suppressed. Also, by setting the reverse range as a range having a constant time width, the user can intuitively adjust the reverse range, making the adjustment work easier.
[0019] As shown in FIG. 2, the adjustment command generation unit 12 preferably generates an adjustment command that repeats the reciprocating or circulating motion of the driven body in one inversion range, then moves the driven body to the starting point of the next inversion range, and further repeats the reciprocating or circulating motion of the driven body in the next inversion range. That is, it is preferable that the adjustment command can continuously generate actual commands capable of suppressing the quadrant protrusions in a plurality of inversion ranges. Note that FIG. 2 shows a case where there are a servo motor 30 that moves the driven body in the X direction and a servo motor 30 that moves the driven body in the Y direction. Also, in FIG. 2, for clarity, the repetitive motion in the inversion range is illustrated with a shifted position, but actually, the same path is repeatedly traversed.
[0020] The movement between the inversion ranges can be determined independently of the path specified by the original command shown by the dashed line in FIG. 2. For example, it can be determined to move along a path as simple as possible, such as a straight line, an arc, or a combination of a few straight lines and arcs, shown by the solid line in FIG. 2. By moving between the inversion ranges along a simple path independently of the path specified by the original command in this way, the time required to execute the adjustment command can be shortened.
[0021] The output control unit 13 calculates the control output value to the servo motor 30 (servo amplifier 20) based on the original command, the adjustment command, and the actual command. The configuration of the output control unit 13 can be made the same as the configuration that generates the control output to the servo amplifier based on the original command in a conventional servo motor control device. Specifically, the output control unit 13 can be configured to include a position control unit 131 and a speed control unit 132.
[0022] The learning control unit 14 calculates, for each repetition period of the inversion range in the feedback value from the servo motor 30 when the servo motor 30 is controlled by the control output value based on the adjustment command, the deviation of the feedback value from the adjustment command, generates a correction value for reducing the deviation of the feedback value from the adjustment command, and inputs it to the output control unit 13. As an example, the learning control unit 14 may have a well-known configuration including a correction amount calculation unit that calculates a correction amount based on the deviation between the current values of the adjustment command and the feedback value, and an adjustment unit that adjusts the correction amount calculation parameters of the correction amount calculation unit based on the deviation for each period.
[0023] The actual command generation unit 15 generates an actual command based on the original command and the correction value derived by the learning control unit 14, so as to suppress the quadrant protrusion and more accurately reproduce the operation intended by the original command. As an example, the actual command generation unit 15 may be configured to generate an actual command that realizes an operation close to the intention of the original command by adding the correction value output by the learning control unit 14 when the deviation of the feedback value from the adjustment command becomes sufficiently small by executing the adjustment command, to the inversion range of the original command.
[0024] The actual command generation unit 15 may generate an actual command in real time when actually driving the servo motor 30, calculate and store the actually generated command in advance, and output the actual command as needed.
[0025] The servo amplifier 20 performs feedback control on the current input to the servo motor 30 in accordance with the control output value input from the servo motor control device 10. As the servo amplifier 20, one having a well-known configuration can be used. Specifically, the servo amplifier 20 may have a configuration including a current control unit 21 and a current amplification unit 22.
[0026] The servo motor 30 is driven by the current output from the servo amplifier 20, and may have a well-known configuration that outputs, as feedback values, the rotational position, rotational speed, etc. detected by, for example, a rotary encoder.
[0027] Figures 3 to 5 show the generation procedure of the actual command performed by the servo motor control device 10. As shown in FIG. 3, the method for generating the actual command performed by the servo motor control device 10 includes a step of generating an adjustment command, a step of calculating a correction value as shown in FIG. 4, and a step of generating an actual command as shown in FIG. 5.
[0028] The generation of the adjustment command includes a step of confirming the setting of whether to detect inversion from the original command or from the feed tack value (step S11), a step of detecting inversion from the original command when detection from the original command is selected (step S12), a step of executing the original command when detection from the feed tack value is selected (step S13), a step of detecting inversion from the feedback value (step S14), and a step of generating an adjustment command when inversion is detected (step S15).
[0029] The calculation of the correction value includes a step of executing the adjustment command (step S21) and a step of calculating a correction value for which the deviation converges by the learning control unit (step S22).
[0030] The generation of the actual command includes a step (step S31) of generating an actual command capable of suppressing the quadrant protrusion by correcting the portion where the inversion of the original command is detected with the correction value of the learning control unit.
[0031] In this way, the servo motor control device 10 detects an inversion point at which the rotation direction of the servo motor 30 is inverted based on the original command or the feedback value from the servo motor 30 in the inversion detection unit 11, and generates an adjustment command for repeatedly performing the operation according to the original command of the servo motor 30 in the inversion range including the inversion point in the adjustment command generation unit 12. Therefore, the servo motor control device 10 can optimize the command by the learning control unit 14 in a short time using the adjustment command, and thus can suppress the quadrant protrusion in a relatively short time.
[0032] As described above, embodiments of the present disclosure have been described. However, the present invention is not limited to the above-described embodiments. Also, the effects described in the above-described embodiments are merely a list of the most suitable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the above-described embodiments.
[0033] For example, the servo motor control device according to the present disclosure may be integrated with a servo amplifier. Further, the servo motor control device according to the present disclosure may further include a function of storing an operation program that defines the operation of the servo motor and generating an original command based on the operation program.
Explanation of Reference Numerals
[0034] 1 Drive system 10 Servo motor control device 11 Inversion detection unit 12 Adjustment command generation unit 13 Output control unit 14 Learning control unit 15 Actual command generation unit 20 Servo amplifier 30 Servo motor
Claims
1. A servo motor control device that controls a servo motor according to a raw command, a reversal detection unit that detects a reversal point at which the rotation direction of the servo motor is reversed based on the raw command or a feedback value from the servo motor; an adjustment command generation unit that generates an adjustment command for repeatedly specifying that the operation of the servo motor according to the raw command in a partial reversal range including the reversal point is repeatedly performed from the end point to the start point of the reversal range; an output control unit that calculates a control output value to the servo motor based on the adjustment command; a learning control unit that calculates, for each period of the adjustment command, a deviation of the feedback value in the reversal range with respect to the adjustment command when the servo motor is controlled by the control output value based on the adjustment command, and inputs a correction value for reducing the deviation of the feedback value with respect to the adjustment command to the output control unit; A servo motor control device comprising the above.
2. The servo motor control device according to claim 1, wherein the reversal detection unit determines that the rotation direction of the servo motor is reversed when a differential value of a position specified by the raw command or a sign of a speed specified by the raw command changes.
3. The servo motor control device according to claim 1 or 2, wherein the reversal detection unit determines that the rotation direction of the servo motor is reversed when at least one of a sign of a speed and a load torque indicated by the feedback value changes.
4. The servo motor control device according to any one of claims 1 to 3, wherein the reversal detection unit determines that the rotation direction of the servo motor is reversed when a deviation of at least one of a position, a speed, an acceleration, and a jerk between the feedback value and the raw command exceeds a preset threshold value.
5. The servo motor control device according to any one of claims 1 to 4, wherein the adjustment command generation unit sets a preset distance range or time range including the reversal point as the reversal range.
6. The servo motor control device according to any one of claims 1 to 5, wherein the adjustment command generation unit generates an adjustment command such that after repeatedly operating the servo motor in one reversal range, it moves to the start point of the next reversal range and further repeatedly operates the servo motor in the next reversal range.
Citation Information
Patent Citations
Automatic control system for backlash acceleration value
JP1991084603A
Numerical control device provided with auto-tuning function
JP1998076444A
Drive controller and drive control method for servo motor
JP2010009529A
Numerical control device
JP2010079845A
Machine learning device, controller, and machine learning method
JP2019185529A