Two-axis interpolation control method, computer device, storage medium and program product
By controlling the output of the main shaft and secondary shaft pulses, the problems of low motion accuracy and calculation efficiency of two-axis interpolation in the prior art are solved, and higher interpolation accuracy and higher computing efficiency are achieved.
Patent Information
- Application Number
- CN202510081652.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-05-23
AI Technical Summary
In actual application, the existing two-axis interpolation motion control method has a large deviation from the set trajectory due to the inconstant acceleration, and the calculation of the speed time period requires a lot of computing resources.
By controlling the output of the spindle pulse and the secondary pulse, the two-axis interpolation control is performed, the increment value of the spindle pulse and the increment value of the secondary pulse is determined, and the pulse output is performed through addition and subtraction calculation, which reduces multiplication, division and floating point calculations and improves calculation efficiency.
The interpolation accuracy is improved, so that the interpolation pulse error range of the X and Y axes is within the preset number of pulse units, and computing resources are saved and computing efficiency is improved.
Smart Images

Figure CN120029178A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of motion control technology, and in particular to a two-axis interpolation control method, a computer device, a storage medium and a program product. Background Art
[0002] In the control systems of multi-axis motion equipment such as handheld CNC machine tools, engraving machines, and cutting machines, interpolation is a commonly used motion control method that allows the equipment to accurately coordinate motion along multiple axes at the same time to achieve the set cutting trajectory.
[0003] For the interpolation motion of the X and Y axes, the control is often performed by calculating the speed time cycle, that is, the speed and position at each time point are calculated according to the set trajectory for control. However, due to the non-constant acceleration in actual applications, the actual trajectory is affected by the duration of the acceleration or deceleration process, resulting in a large deviation between the actual trajectory and the set trajectory. In addition, the control method by calculating the speed time cycle often involves multiplication, division or floating-point calculation, which consumes more computing resources. Summary of the invention
[0004] A first object of the present invention is to provide a two-axis interpolation control method capable of improving interpolation accuracy and calculation efficiency.
[0005] A second object of the present invention is to provide a computer device for implementing the above-mentioned two-axis interpolation control method.
[0006] A third object of the present invention is to provide a computer-readable storage medium for implementing the above-mentioned two-axis interpolation control method.
[0007] A fourth object of the present invention is to provide a computer program product for implementing the above-mentioned two-axis interpolation control method.
[0008] In order to achieve the above-mentioned first purpose, the present invention provides a two-axis interpolation control method, which includes the following steps: acquiring interpolation data; parsing the interpolation data to obtain coordinate increments of the X-axis and the Y-axis respectively; performing motion control operations according to the coordinate increments of the X-axis and the Y-axis, and the motion control operations include the following steps: comparing the coordinate increment of the X-axis with the coordinate increment of the Y-axis, determining that the axis with the larger coordinate increment is the main axis, and the axis with the smaller coordinate increment is the secondary axis; determining the incremental value of the main axis pulse and the incremental value of the secondary axis pulse, and the moving distances corresponding to one main axis pulse and one secondary axis pulse are equal; setting the initial value of the remaining pulses to the incremental value of the main axis pulse The pulse output operation is repeated until the value of the remaining pulses is 0. The pulse output operation includes: each time a preset number of main-axis pulses are output, the value of the secondary-axis accumulator is accumulated and counted by the incremental value of one secondary-axis pulse, and the current value of the cumulative incremental comparator is compared with the current value of the secondary-axis accumulator. When the current value of the cumulative incremental comparator is greater than or equal to the current value of the secondary-axis accumulator, a preset number of secondary-axis pulses are output once, and the current value of the cumulative incremental comparator or the current value of the secondary-axis accumulator is updated, and the current value of the remaining pulses is updated.
[0009] As can be seen from the above scheme, the present invention controls the interpolation of the two axes by controlling the output of the main axis pulse and the output of the secondary axis pulse, so that the interpolation pulse error range of the X and Y axes is within the preset number of pulse units, thereby improving the interpolation accuracy. In addition, there is no need to perform multiplication, division, or floating point number calculation difference, only addition and subtraction calculations are required, which saves computing resources and improves computing efficiency.
[0010] A further solution is to preset the number of units to be 1, one main axis pulse corresponds to a unit movement increment of controlling the main axis, and one secondary axis pulse corresponds to a unit movement increment of controlling the secondary axis.
[0011] It can be seen from this that the interpolation pulse error range of the X and Y axes can be within ±1 pulse unit.
[0012] A further solution is that when updating the value of the current secondary axis accumulator, the increment value of the primary axis pulse is subtracted from the value of the current secondary axis accumulator.
[0013] It can be seen from this that the value of the secondary axis accumulator minus the incremental value of the primary axis pulse is used to update the secondary axis accumulator in order to determine the next output of the secondary axis pulse.
[0014] A further solution is that when updating the value of the current cumulative incremental comparator, the value of the current cumulative incremental comparator is increased by an incremental value of a spindle pulse.
[0015] It can be seen from this that the value of the cumulative incremental comparator is increased by the incremental value of a main axis pulse to facilitate the judgment of the next output of the secondary axis pulse.
[0016] A further solution is to obtain the coordinate increments and directions of the X-axis and Y-axis respectively when parsing the interpolation data.
[0017] It can be seen that motion control in all directions in two-axis interpolation can be achieved.
[0018] A further solution is to generate the main axis pulse and the secondary axis pulse by means of a timer interrupt.
[0019] It can be seen that it can be conveniently applied to micro control units.
[0020] A further solution is that when parsing the interpolation data, it includes: obtaining multiple continuous trajectory points; calculating the coordinate increments of the next trajectory point on the X-axis and Y-axis relative to the previous trajectory point respectively; and performing motion control operations according to the coordinate increments of the next trajectory point on the X-axis and Y-axis relative to the previous trajectory point.
[0021] It can be seen that motion control can be achieved when the trajectory between the current point and the final point is required to be a curve.
[0022] In order to achieve the above-mentioned second purpose, the present invention provides a computer device, including a processor and a memory, wherein: a computer program is stored in the memory, and when the computer program is executed by the processor, the above-mentioned two-axis interpolation control method is implemented.
[0023] In order to achieve the third objective mentioned above, the present invention provides a computer-readable storage medium having a computer program stored thereon, wherein: when the computer program is executed by a processor, the above-mentioned two-axis interpolation control method is implemented.
[0024] In order to achieve the fourth objective mentioned above, the present invention provides a computer program product, including computer instructions, wherein: when the computer instructions are executed by a processor, the above-mentioned two-axis interpolation control method is implemented. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 It is a flow chart of the first embodiment of the two-axis interpolation control method of the present invention.
[0026] Figure 2 It is a data schematic diagram of the interpolation control process in the first embodiment of the two-axis interpolation control method of the present invention.
[0027] Figure 3 It is a schematic diagram of simulation trajectory corresponding to interpolation control in the first embodiment of the two-axis interpolation control method of the present invention.
[0028] Figure 4 It is a data schematic diagram of the interpolation control process in the second embodiment of the two-axis interpolation control method of the present invention.
[0029] Figure 5 Schematic diagram of data in the interpolation control process in the fifth embodiment of the two-axis interpolation control method of the present invention
[0030] The present invention is further described below in conjunction with the accompanying drawings and embodiments. DETAILED DESCRIPTION
[0031] The control method of two-axis interpolation of the present invention controls the output motion of the main axis pulse and the secondary axis pulse, first determines the incremental value of the main axis pulse and the incremental value of the secondary axis pulse, and then sequentially outputs a preset number of main axis pulses until the value of the remaining pulses is 0, wherein it is determined whether to output a preset number of secondary axis pulses after outputting a preset number of main axis pulses by comparing the value of the cumulative incremental comparator and the value of the secondary axis accumulator. The present invention also provides a computer device, a computer-readable storage medium, and a computer program product for implementing the above-mentioned control method of two-axis interpolation.
[0032] The first embodiment of the two-axis interpolation control method:
[0033] This embodiment is implemented based on a computer program executed by a microcontroller unit, which is connected to a pulse-driven motor and implements two-axis interpolation motion control of the motor by outputting pulses.
[0034] Depending on the device, the motor is connected to different actuators, and the microcontroller controls the motor to drive the actuator to move to a set end position. For example, when the device is a cutting machine, the motor is connected to the cutting head, and the microcontroller uses the motor to move the cutting head to a set end position.
[0035] The specific execution steps of the microcontroller unit include:
[0036] S1: Get interpolation data.
[0037] The interpolation data of this embodiment comes from a host computer to which the microcontroller unit is electrically connected. The microcontroller unit controls the pulse output by analyzing the interpolation data.
[0038] In other embodiments, the micro control unit may obtain the interpolation data by wireless communication or manual entry.
[0039] S2: Analyze the interpolation data to obtain the coordinate increments and directions of the X-axis and Y-axis respectively.
[0040] In this embodiment, the interpolation data is analyzed to obtain the coordinate increment of the end position relative to the current position in the plane rectangular coordinate system, wherein the coordinate increment of the X-axis is 20, the coordinate increment of the Y-axis is 10, the direction of the X-axis is the same as the positive direction of the X-axis, and the direction of the Y-axis is the same as the positive direction of the Y-axis.
[0041] S3: Compare the coordinate increments of the X-axis and the Y-axis, and determine that the axis with the larger coordinate increment is the primary axis and the axis with the smaller coordinate increment is the secondary axis.
[0042] In this embodiment, since the coordinate increment of the X-axis is 20 and the coordinate increment of the Y-axis is 10, the coordinate increment of the X-axis is larger than the coordinate increment of the Y-axis, so the X-axis is the main axis and the Y-axis is the secondary axis.
[0043] It should be noted that the coordinate increments of the X-axis and the Y-axis of the present invention are both absolute values.
[0044] S4: Set the initial value of the cumulative increment comparator to the incremental value of the main axis pulse, and set the initial value of the secondary axis accumulator to 0.
[0045] The main axis pulse is used to control the movement in the main axis direction, and the secondary axis pulse is used to control the movement in the secondary axis direction. In this embodiment, the main axis pulse is used to control the movement of the motor in the positive direction of the X axis, and the secondary axis pulse is used to control the movement of the motor in the positive direction of the Y axis. The distance moved by one main axis pulse to control the motor in the positive direction of the X axis is equal to the distance moved by one secondary axis pulse to control the motor in the positive direction of the Y axis.
[0046] When the motor is controlled to move the main axis or the secondary axis, the distance moved on the main axis each time is the unit movement increment of the main axis, and the distance moved on the secondary axis each time is the unit movement increment of the secondary axis. The unit movement increment of the main axis is equal to the unit movement increment of the secondary axis. In this embodiment, the unit movement increment of the main axis and the unit movement increment of the secondary axis are both 1 unit length, the size of the unit length is 1, and the distance moved by a main axis pulse control motor in the positive direction of the X axis and the distance moved by a secondary axis pulse control motor in the positive direction of the Y axis are both 1 unit length.
[0047] In this embodiment, since the coordinate increment of the main axis is 20 and the coordinate increment of the secondary axis is 10, the increment value of the main axis pulse is 20 and the increment value of the secondary axis pulse is 10, indicating that a total of 20 main axis pulses and 10 secondary axis pulses are required to move from the current position to the end position. The value of the cumulative increment comparator is set to the increment value of the main axis pulse, so that the value of the cumulative increment comparator is 20.
[0048] S5: Initialize the acceleration and deceleration system, set the initial value of the remaining pulses to the incremental value of the spindle pulses, and start the timer.
[0049] Among them, the acceleration and deceleration system of the motor is initialized, and it is prepared to output continuous output pulses to control the motor by repeatedly executing pulse output operations through timer interrupts.
[0050] See also Figure 2 , before starting the output pulse control, the state corresponds to Figure 2The data corresponding to "Received Data". It can be seen that the initial value of the secondary axis accumulator is 0, the initial value of the cumulative increment comparator is 20, the current position is at the origin, the coordinates are (0,0), the coordinates of the end position are (20,10), and the initial value of the remaining pulse is the increment value of the X-axis (main axis) pulse, that is, 20.
[0051] Continue to see Figure 2 In the subsequent execution of the cycle of steps S6 to S11, each cycle corresponds to Figure 2 For example, when the loop from step S6 to step S11 is executed for the first time, the data corresponding to "step1" is used, and when the loop from step S6 to step S11 is executed for the twentieth time, the data corresponding to "step20" is used. The number of times the loop from step S6 to step S11 is executed is determined by the value of the remaining pulse, and the execution is stopped when the value of the remaining pulse is 0, at which time the motor moves to the end position. It should be noted that, since the judgment condition is set in the loop, executing the loop from step S6 to step S11 does not mean executing each step therein. Whether each step is executed is determined according to the judgment result of the judgment condition in each loop.
[0052] S6: Output the preset number of spindle pulses.
[0053] In this embodiment, the preset unit number is 1, that is, one main axis pulse is output to control the movement of the motor on the main axis. S7: The value of the secondary axis accumulator is added with the incremental value of one secondary axis pulse.
[0054] Here, an incremental value of a secondary axis pulse is added to the current value of the secondary axis accumulator to obtain an updated value of the secondary axis accumulator.
[0055] For example, in this embodiment, when the cycle of steps S6 to S11 is executed for the first time, refer to Figure 2 In the data corresponding to "Step 1", since the value of the secondary axis accumulator is 0 and the incremental value of the secondary axis pulse is 10, the value of the secondary axis accumulator is updated to 10 at this time.
[0056] S8: Determine whether the value of the secondary axis accumulator is greater than or equal to the value of the cumulative increment comparator.
[0057] According to the judgment result of comparing the current value of the secondary axis accumulator with the current value of the cumulative increment comparator, it can be determined whether the secondary axis pulse needs to be output. If the judgment result is yes, continue to execute step S9, otherwise jump to step S10.
[0058] S9: Outputs the preset number of secondary axis pulses, and the value of the secondary axis accumulator is subtracted from the incremental value of the primary axis pulse.
[0059] The increment value of the main axis pulse is subtracted from the current value of the secondary axis accumulator to obtain the updated value of the secondary axis accumulator.
[0060] For example, in this embodiment, during the second cycle of steps S6 to S11, see Figure 2 In the data corresponding to "Step 2", since the value of the secondary axis accumulator is 20 and the incremental value of the primary axis pulse is 20, the value of the secondary axis accumulator is updated to 20-20, that is, 0.
[0061] S10: Update the value of the current residual pulse.
[0062] Each time after the preset unit number of spindle pulses is output, the value of the current remaining pulses is reduced by the preset unit number. In this embodiment, after one spindle pulse is output, the value of the current remaining pulses is reduced by 1.
[0063] S11: Determine whether the current value of the residual pulse is 0.
[0064] According to the judgment result, it can be determined whether to end the interpolation control. If the judgment result is yes, it means that the motor has been controlled to move to the end position and the interpolation control is ended. Otherwise, jump to step S6.
[0065] When the current residual pulse value reaches 0, the interpolation control ends. Figure 3 , Figure 3 The trajectory of the interpolation motion of this embodiment is shown. It can be seen that from the current position (0,0) to the end position (20,10), the speed switching is smooth, and there is no vibration or motor step loss during switching.
[0066] The second embodiment of the two-axis interpolation control method:
[0067] The difference between this embodiment and the first embodiment of the two-axis interpolation control method is that the moving distance of a main axis pulse control motor in the positive direction of the X axis and the moving distance of a secondary axis pulse control motor in the positive direction of the Y axis are both 0.5 unit lengths, and the preset number of units is 2. Figure 4 , the increment value of the main axis pulse obtained by analyzing the interpolation data is 40, and the increment value of the secondary axis pulse is 20. The specific control method is the same as the first embodiment of the two-axis interpolation control method, which will not be repeated here.
[0068] The third embodiment of the two-axis interpolation control method:
[0069] The difference between this embodiment and the first embodiment of the two-axis interpolation control method is that the movement trajectory of the first embodiment is a straight line, while the movement trajectory of this embodiment is a curve.
[0070] When parsing the interpolation data, multiple continuous trajectory points can be obtained, and the coordinate increments of the X-axis and Y-axis of the next trajectory point relative to the previous trajectory point are calculated respectively. Then, motion control is performed according to the coordinate increments of the X-axis and Y-axis of the next trajectory point relative to the previous trajectory point, so as to realize interpolation control of the moving trajectory as a curve. The method of performing motion control according to the coordinate increments of the X-axis and Y-axis of the next trajectory point relative to the previous trajectory point is the same as the first embodiment of the control method of two-axis interpolation described above, and will not be repeated here.
[0071] For example, when parsing the interpolation data, multiple continuous trajectory points are obtained: point 1 (0, 0), point 2 (10, 10), point 3 (30, 30), point 4 (60, 40), point 5 (80, 45) and point 6 (100, 50). For the current position of point 1 and the end position of point 2, the interpolation control from point 1 to point 2 is implemented by the method of the first embodiment above, and then for the current position of point 2 and the end position of point 3, the interpolation control from point 2 to point 3 is implemented by the method of the first embodiment above, and so on, until the interpolation control from point 5 to point 6 is finally implemented. Thus, a curve trajectory is realized between point 1 and point 6 by combining multiple trajectory line segments.
[0072] The fourth embodiment of the two-axis interpolation control method:
[0073] The difference between this embodiment and the first embodiment of the two-axis interpolation control method is that when executing step S9, a preset unit number of secondary axis pulses is output, and the step of adding the value of the cumulative incremental comparator to the incremental value of the main axis pulse is executed to replace the value of the secondary axis accumulator minus the incremental value of the main axis pulse.
[0074] The fifth embodiment of the two-axis interpolation control method:
[0075] The difference between this embodiment and the first embodiment of the two-axis interpolation control method is that when executing step S9, after outputting the preset unit number of secondary axis pulses, the value of the accumulated incremental comparator can be added to the incremental value of the primary axis pulse, or the value of the secondary axis accumulator can be subtracted from the incremental value of the primary axis pulse. Figure 5 "step2", "step6", "step16", "step18" and "step20" correspond to the situation that after the preset unit number of secondary axis pulses are output, the value of the secondary axis accumulator is subtracted from the incremental value of the primary axis pulse; "step4", "step8", "step10", "step12" and "step14" correspond to the situation that after the preset unit number of secondary axis pulses are output, the value of the accumulated incremental comparator is increased by the incremental value of the primary axis pulse.
[0076] In summary, the present invention controls the interpolation of two axes by controlling the output of the main axis pulse and the output of the secondary axis pulse, so that the interpolation pulse error range of the X and Y axes is within the preset number of pulse units, thereby improving the interpolation accuracy. In addition, there is no need to perform multiplication, division, or floating point number calculation difference, only addition and subtraction calculations are required, which saves computing resources and improves computing efficiency.
[0077] Computer device embodiment:
[0078] The computer device of this embodiment includes a processor and a memory. The memory stores a computer program. When the processor executes the computer program, the above-mentioned two-axis interpolation control method embodiment is implemented.
[0079] The computer device may include but is not limited to a processor and a memory. Those skilled in the art will appreciate that the computer device may include more or fewer components, or a combination of certain components, or different components, for example, the computer device may also include input and output devices, network access devices, buses, etc.
[0080] For example, the processor may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microcontroller or any conventional processor, etc. The processor is the control center of a computer device, and uses various interfaces and lines to connect various parts of the entire computer device.
[0081] The memory can be used to store computer programs and / or modules. The controller realizes various functions of the computer device by running or executing the computer programs and / or modules stored in the memory, and calling the data stored in the memory. For example, the memory can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound receiving function, a sound conversion to text function, etc.), etc.; the data storage area can store data created according to the use of the mobile phone (such as audio data, text data, etc.), etc. In addition, the memory can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (FlashCard), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0082] Computer readable storage medium embodiment:
[0083] If the module integrated in the computer device of the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the process of the control method embodiment of the two-axis interpolation can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the controller, the steps of the control method embodiment of the two-axis interpolation can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The storage medium may include: any entity or device capable of carrying computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electric carrier signal and telecommunication signal.
[0084] Computer program product embodiment:
[0085] The computer program product of this embodiment includes computer instructions, which are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes each step of the above-mentioned two-axis interpolation control method embodiment.
Claims
1. A two-axis interpolation control method, characterized in that: The following steps are involved: Get interpolation data; Analyze the interpolation data to obtain the coordinate increments of the X-axis and Y-axis respectively; A motion control operation is performed according to the coordinate increments of the X-axis and the Y-axis, and the motion control operation includes the following steps: Compare the coordinate increment of the X-axis and the coordinate increment of the Y-axis, determine that the axis with the larger coordinate increment is the primary axis, and the axis with the smaller coordinate increment is the secondary axis; Determine the increment value of the main axis pulse and the increment value of the secondary axis pulse, and the moving distances corresponding to one main axis pulse and one secondary axis pulse are equal; The initial value of the remaining pulse is set to the incremental value of the main axis pulse, the initial value of the cumulative incremental comparator is set to the incremental value of the main axis pulse, and the initial value of the secondary axis accumulator is set to 0; Repeat the pulse output operation until the value of the remaining pulses is 0, the pulse output operation includes: each time a preset unit number of main axis pulses is output, the current value of the secondary axis accumulator accumulates and counts an incremental value of the secondary axis pulse, compares the current value of the accumulated incremental comparator with the current value of the secondary axis accumulator, and when the current value of the accumulated incremental comparator is greater than or equal to the current value of the secondary axis accumulator, outputs the preset number of secondary axis pulses once and updates the current value of the accumulated incremental comparator or the current value of the secondary axis accumulator, and updates the current value of the remaining pulses.
2. The two-axis interpolation control method according to claim 1, characterized in that: The preset unit number is 1, one main axis pulse corresponds to a unit movement increment of the main axis, and one secondary axis pulse corresponds to a unit movement increment of the secondary axis.
3. The two-axis interpolation control method according to claim 2, characterized in that: Also includes: When updating the value of the current secondary axis accumulator, the increment value of the current primary axis pulse is subtracted from the value of the current secondary axis accumulator.
4. The two-axis interpolation control method according to claim 2, characterized in that: Also includes: When the current value of the cumulative incremental comparator is updated, the current value of the cumulative incremental comparator is increased by an incremental value of the spindle pulse.
5. The two-axis interpolation control method according to claim 3 or 4, characterized in that: When the interpolation data is analyzed, the coordinate increments and directions of the X-axis and Y-axis are obtained respectively.
6. The two-axis interpolation control method according to claim 5, characterized in that: The main axis pulse and the secondary axis pulse are generated by timer interruption.
7. The two-axis interpolation control method according to any one of claims 1, characterized in that: When parsing imputed data, include: Get multiple continuous trajectory points; Calculate the coordinate increments of the next trajectory point on the X axis and the Y axis relative to the previous trajectory point respectively; The motion control operation is performed sequentially according to the coordinate increments of the next trajectory point relative to the previous trajectory point on the X-axis and the Y-axis.
8. A computer device comprising a processor and a memory, characterized in that: The memory stores a computer program, and when the computer program is executed by the processor, the two-axis interpolation control method described in any one of claims 1 to 7 is implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the two-axis interpolation control method described in any one of claims 1 to 7 is implemented.
10. A computer program product comprising computer instructions, characterized in that: When the computer instructions are executed by the processor, the two-axis interpolation control method described in any one of claims 1 to 7 is implemented.