Cutter positioning method and device, electronic equipment and computer readable storage medium

CN117564455BActive Publication Date: 2026-09-04SHANGHAI EMPOWER TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311818081.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-26
Publication Date
2026-09-04
Estimated Expiration
2043-12-26

AI Technical Summary

Technical Problem

一般加工开始前,切割头一般在高处,需要控制切割头下降到切割高度,因为切割高度一般只有0.2mm~5mm左右,如果下落控制不好,往往容易导致切割头向下调整过多甚至碰到待加工工件造成损失

Benefits of technology

[0014] In the above implementation, the delay is calculated by finding the time symmetry axis of the data. When calculating the symmetry axis, the motion data is not used directly for calculation. Instead, the time symmetry axis of each is calculated first using the servo's up and down and the height up and down data. Then, the delay is calculated using the time symmetry axis. This avoids the problem of inaccurate measurement results due to errors in servo and height data, and improves the accuracy of delay data calculation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117564455B_ABST
    Figure CN117564455B_ABST
Patent Text Reader

Abstract

The application provides a cutter positioning method and device, electronic equipment and a computer readable storage medium, and the method comprises the following steps: controlling a cutting head of a cutter to move in a first direction at a first speed; recording a first group of running data according to a set rule during the movement in the first direction at the first speed; controlling the cutting head of the cutter to move in a second direction at a second speed, wherein the second direction is opposite to the first direction; recording a second group of running data according to a set rule during the movement in the second direction at the second speed; calculating a movement delay of the cutting head according to the first group of running data and the second group of running data, and positioning the cutting head based on the movement delay when the cutting head cuts an object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of laser technology, and more specifically, to a cutter positioning method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] In laser cutting, it is necessary to maintain a certain distance between the nozzle of the laser cutting head and the metal being processed. This distance is generally called the cutting height. Before processing begins, the cutting head is usually at a high position. It is necessary to control the cutting head to descend to the cutting height, which is generally only about 0.2mm to 5mm. If the descent is not well controlled, the cutting head may adjust downwards too much or even hit the workpiece, causing damage. Summary of the Invention

[0003] The purpose of this application is to provide a cutter positioning method, apparatus, electronic device, and computer-readable storage medium that can more accurately calculate the delay of the laser cutting head.

[0004] In a first aspect, the present invention provides a method for positioning a cutter, comprising: controlling the cutting head of the cutter to move at a first speed in a first direction; recording a first set of operating data according to a set rule during the movement at the first speed in the first direction; controlling the cutting head of the cutter to move at a second speed in a second direction, wherein the second direction is opposite to the first direction; recording a second set of operating data according to a set rule during the movement at the second speed in the second direction; calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data, wherein positioning is performed based on the motion delay when controlling the cutting head to cut an object.

[0005] In the above embodiments, the calculation of the running delay can be achieved by controlling the cutting head of the cutter to move in two directions and collecting motion data during the movement process. This allows for a more accurate calculation of the motion delay based on the data during the movement. Furthermore, by providing accurate motion delay, the descent of the cutting head can be better controlled, thereby reducing the possibility of the cutting head hitting the workpiece and causing damage, and improving the safety of the cutting head in use.

[0006] In an optional implementation, the first set of operating data includes multiple parameter groups, and the second set of operating data includes the same parameter groups as those included in the first set of operating data.

[0007] The step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: for any set of target parameters, obtaining the operating data difference corresponding to the target parameter set based on the first target parameter set in the first set of operating data and the second target parameter set in the second set of operating data; calculating the average of the first target parameter set and the operating data difference to obtain the data symmetry axis of the cutting head; and calculating the motion delay of the cutting head based on the data symmetry axis of two sets of parameter sets.

[0008] In the above implementation, the calculation of motion delay can also be carried out by combining multiple sets of parameters. By cooperating with each other in the calculation, the calculation of motion delay can be made more accurate.

[0009] In an optional implementation, the first set of operating data includes a first servo command group and a first servo feedback group; the second set of operating data includes a second servo command group and a second servo feedback group; and the motion delay includes servo delay.

[0010] The step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: for any first servo command in the first servo command group, determining a command value range in the second servo command group, wherein the first servo command is within the command value range, and the ends of the command value range are the two second servo commands in the second servo command group; calculating a command time mapping based on the first servo command, the two ends of the command value range, and the second time of acquiring the two ends of the command value range; and calculating the command time symmetry axis of the cutting head based on the first time of acquiring the first servo command and the command time mapping. For any first servo feedback in the first servo feedback group, a feedback value range is determined in the second servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; a feedback time mapping is calculated based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; the feedback time symmetry axis of the cutting head is calculated based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; the servo delay of the cutting head is calculated based on the command time symmetry axis and the feedback time symmetry axis.

[0011] In an optional implementation, the command time mapping is calculated based on the first servo command, the two endpoints of the command value range, and the second time at which the two endpoints of the command value range are acquired, using the following formula:

[0012] t1=ts2[m]+(pc1[n]-pc2[m]) / (pc2[m+1]-pc2[m])*(ts2[m+1]-ts2[m]);

[0013] Where t1 represents the command time mapping; ts2[m] represents the time of collecting one endpoint of the command value range; ts2[m+1] represents the time of collecting the other endpoint of the command value range; pc1[n] represents the first servo command; pc2[m] represents one endpoint of the command value range; pc2[m+1] represents the other endpoint of the command value range.

[0014] In the above implementation, the delay is calculated by finding the time symmetry axis of the data. When calculating the symmetry axis, the motion data is not used directly for calculation. Instead, the time symmetry axis of each is calculated first using the servo's up and down and the height up and down data. Then, the delay is calculated using the time symmetry axis. This avoids the problem of inaccurate measurement results due to errors in servo and height data, and improves the accuracy of delay data calculation.

[0015] In an optional implementation, the command time symmetry axis of the cutting head, calculated based on the first time of acquiring the first servo command and the command time mapping, is obtained by the following formula:

[0016] tmid_pc = sum(ts1 + ts2a) / 2;

[0017] Wherein, tmid_pc represents the command time symmetry axis; ts1 represents the first time group for collecting each of the first servo commands; ts2a represents the corresponding command time mapping group for each of the first servo commands, wherein the number of times contained in the first time group ts1 is the same as the number of times contained in the command time mapping group ts2a.

[0018] In an optional implementation, the first set of operating data includes a first distance feedback group and a first servo feedback group; the second set of operating data includes a second distance feedback group and a second servo feedback group; and the motion delay includes a distance delay.

[0019] The step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: for any first distance feedback in the first distance feedback group, determining a distance value interval in the second distance feedback group, wherein the first distance feedback is within the distance value interval, and the ends of the distance value interval are the two second distance feedbacks in the second distance feedback group; calculating a distance-time mapping based on the first distance feedback, the two ends of the distance value interval, and the second time of acquiring the two ends of the distance value interval; and calculating the distance-time symmetry axis of the cutting head based on the first time of acquiring the first distance feedback and the distance-time mapping. For any first servo feedback in the first servo feedback group, a feedback value range is determined in the second servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; a feedback time mapping is calculated based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; the feedback time symmetry axis of the cutting head is calculated based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; the distance delay of the cutting head is calculated based on the distance time symmetry axis and the feedback time symmetry axis.

[0020] In an optional implementation, recording the first set of operating data according to a set rule includes: recording the first set of operating data when the command output by the servo motor indicates that the movement distance of the cutting head exceeds a specified distance, wherein the servo motor is a motor that controls the movement of the cutting head.

[0021] In an optional implementation, the first speed is equal to the second speed.

[0022] In an optional implementation, the first set of operating data includes a first set of high-speed operating data and a first set of low-speed operating data; the second set of operating data includes a second set of high-speed operating data and a second set of low-speed operating data; wherein the first set of high-speed operating data and the second set of high-speed operating data are data collected at the same speed, and the first set of low-speed operating data and the second set of low-speed operating data are data collected at the same speed; the step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: calculating a first initial motion delay based on the first set of high-speed operating data and the second set of high-speed operating data; calculating a second initial motion delay based on the first set of low-speed operating data and the second set of low-speed operating data; and calculating the motion delay of the cutting head based on the first initial motion delay and the second initial motion delay.

[0023] Secondly, the present invention provides a cutter positioning device, comprising: a first control module for controlling the cutting head of the cutter to move at a first speed in a first direction; a first recording module for recording a first set of operating data according to a set rule during the movement at the first speed in the first direction; a second control module for controlling the cutting head of the cutter to move at a second speed in a second direction, wherein the second direction is opposite to the first direction; a second recording module for recording a second set of operating data according to a set rule during the movement at the second speed in the second direction; and a calculation module for calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data, wherein positioning is performed based on the motion delay when controlling the cutting head to cut an object.

[0024] Thirdly, the present invention provides an electronic device, including: a processor and a memory, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the machine-readable instructions are executed by the processor to perform the steps of the method described in any of the foregoing embodiments.

[0025] Fourthly, the present invention provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the method described in any of the foregoing embodiments. Attached Figure Description

[0026] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0027] Figure 1 A block diagram illustrating an electronic device provided in an embodiment of this application;

[0028] Figure 2 A flowchart of the cutter positioning method provided in the embodiments of this application;

[0029] Figure 3 This is a schematic diagram of the functional modules of the cutter positioning device provided in the embodiments of this application. Detailed Implementation

[0030] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0031] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0032] In laser cutting, it's crucial to maintain a specific distance between the laser cutting head's nozzle and the metal being processed. This distance is generally called the cutting height, and the algorithm used to maintain this cutting height is known as the follow-up algorithm. Before laser cutting begins, the laser cutting head is typically positioned high. The process of lowering the cutting head to the cutting height is called follow-up descent. The cutting height is generally only about 0.2mm to 5mm. If the follow-up descent is not properly controlled, the cutting head may adjust downwards excessively or even collide with the workpiece, causing damage. In the follow-up descent algorithm, to quickly and stably control the cutting head to reach the set cutting height, it's often necessary to accurately measure the cutting head's delay. If the delay is too large, the cutting head will move slowly to the desired position, affecting processing efficiency. If the delay is too small, the cutting head's movement will be unstable, potentially causing it to collide with the workpiece, damaging the cutting head, and resulting in unnecessary economic losses. Therefore, the accuracy of the delay is paramount. The current implementation methods are: 1) Users roughly determine the value based on experience or follow-up effect, and then set it themselves based on the value; 2) Data is collected during the movement to calculate the time deviation, which is more accurate than manual setting. However, the height data is greatly affected by the external environment. From another perspective, the servo data and height data may be the same in terms of units, but in actual production and processing, the height data shows differences at low and high places. There are errors between the servo data and the height data, and the final result is that the measured delay is inaccurate.

[0033] Based on the above research, the present application provides a cutter positioning method, device, electronic device and computer-readable storage medium, which can control the cutting head to move in two directions and perform delay calculation based on the data collected during the movement, so that the delay calculation can be relatively more accurate.

[0034] To facilitate understanding of this embodiment, the electronic device that performs the cutter positioning method disclosed in this application will first be described in detail.

[0035] like Figure 1 The diagram shown is a block illustration of an electronic device. The electronic device 100 may include a memory 111 and a processor 113. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device 100. For example, the electronic device 100 may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0036] The memory 111 and processor 113 described above are electrically connected to each other directly or indirectly to enable data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses or signal lines. The processor 113 described above is used to execute executable modules stored in the memory.

[0037] The memory 111 can be, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory 111 stores programs, and the processor 113 executes these programs upon receiving execution instructions. The methods executed by the electronic device 100 as defined in any embodiment of this application can be applied to or implemented by the processor 113.

[0038] The aforementioned processor 113 may be an integrated circuit chip with signal processing capabilities. The processor 113 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a digital signal processor (DSP) or an application-specific integrated circuit (ASIC).

[0039] Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. These devices can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor, etc.

[0040] The electronic device 100 in this embodiment can be used to execute various steps in the various methods provided in the embodiments of this application. The implementation process of the cutter positioning method is described in detail below through several embodiments.

[0041] Please see Figure 2 This is a flowchart of the cutter positioning method provided in the embodiments of this application. The following will describe... Figure 2 The specific process shown will be explained in detail.

[0042] Step 210: Control the cutting head of the cutter to move at a first speed in a first direction.

[0043] The first speed can be a speed set by the user. For example, the first speed can be the same as the speed at which the cutter controls the movement of the cutting head toward the item when it needs to cut it.

[0044] The first direction can be the normal direction in which the cutting head of the cutter moves away from the item after cutting it. For example, the first direction can be the direction in which the cutting head moves from a low position to a high position.

[0045] Step 220: During the movement in the first direction at the first speed, record the first set of running data according to the set rules.

[0046] Optionally, the first set of operating data may include servo commands for the servo motor that drives the cutting head during its movement. The servo motor is a motor that controls the movement of the cutting head.

[0047] Optionally, this setting pattern can be determined based on the frequency of the signals emitted by the servo commands.

[0048] For example, when the command output by the servo motor indicates that the movement distance of the cutting head exceeds a specified distance, the first set of operating data is recorded.

[0049] For example, each servo command sends a signal representing a movement distance of 'a' cm, while the setting pattern could be that the signal output by the servo motor represents a movement distance of 2'a' cm. The setting pattern could involve recording running data once after every two servo commands are issued by the servo motor.

[0050] For example, the first set of operational data may include multiple types of data, each type of data may include multiple data recorded during the movement of the cutting head.

[0051] Step 230: Control the cutting head of the cutter to move at a second speed in a second direction.

[0052] The second direction is opposite to the first direction.

[0053] The second speed can be a speed set by the user. For example, the second speed can be the same as the first speed mentioned above.

[0054] The second direction can be the normal direction of movement of the cutter's cutting head towards the item when it needs to cut it. For example, the second direction can be the direction in which the cutting head moves from a high position to a low position.

[0055] Step 240: During the movement at the second speed in the second direction, record the second set of running data according to the set rules.

[0056] The setting rules for recording the second set of operating data can be the same as those for the first set of operating data.

[0057] For example, the second set of operational data may also include multiple types of data, each type of data may include multiple data recorded during the movement of the cutting head. The data types included in the second set of operational data may be the same as those included in the first set of operational data. Optionally, the second set of operational data may contain the same types of data as the first set of operational data.

[0058] Step 250: Calculate the motion delay of the cutting head based on the first set of running data and the second set of running data.

[0059] Among them, positioning is based on motion delay when controlling the cutting head to cut the item.

[0060] Optionally, the first set of running data may include multiple parameter groups, and the second set of running data may also include the same parameter groups as those included in the first set of running data.

[0061] In one embodiment, step 250 described above may include steps 251 to 253.

[0062] Step 251: For any set of target parameters, obtain the difference in operating data corresponding to the target parameter set based on the first target parameter set in the first set of operating data and the second target parameter set in the second set of operating data.

[0063] For example, the difference in running data between the first target parameter set and the second target parameter set can be calculated using a linear interpolation method.

[0064] Step 252: Calculate the mean difference between the first target parameter group and the running data to obtain the data symmetry axis of the cutting head.

[0065] For example, the data symmetry axis of the cutting head can be obtained based on the average of the differences between the recording times of the first target parameter group and the running data.

[0066] Step 253: Calculate the motion delay of the cutting head based on the data symmetry axes of two sets of parameters.

[0067] Optionally, the motion delay of the cutting head can be obtained by subtracting the data symmetry axes of the two sets of parameters.

[0068] In the above implementation, the motion delay is determined by the difference between the two sets of data, which better reflects the delay of the cutting head.

[0069] Optionally, the first set of operating data includes a first servo command group and a first servo feedback group; the second set of operating data includes a second servo command group and a second servo feedback group; and the motion delay includes servo delay.

[0070] The first servo command group can be obtained based on the signal emitted by the servo motor; the first servo feedback group can be obtained based on the signal received by the servo motor. The second servo command group can be obtained based on the signal emitted by the servo motor; the second servo feedback group can be obtained based on the signal received by the servo motor.

[0071] Based on this data, step 250 above may include steps 250a to 250g.

[0072] Step 250a: For any first servo command in the first servo command group, determine the command value range in the second servo command group.

[0073] Among them, the first servo command is within the command value range, and the ends of the command value range are the two second servo commands in the second servo command group.

[0074] For example, the first servo command group can be represented as pc1, and the second servo command group can be represented as pc2. Any first servo command is represented as pc1[n]. In the second servo command group pc2, a numerical interval (pc2[m], pc2[m+1]) is found such that pc2[m]≤pc1[n]≤pc2[m+1].

[0075] Step 250b: Calculate the command time mapping based on the first servo command, the two endpoints of the command value range, and the second time of acquiring the two endpoints of the command value range.

[0076] Optionally, the command time mapping is calculated using the following formula:

[0077] t1=ts2[m]+(pc1[n]-pc2[m]) / (pc2[m+1]-pc2[m])*(ts2[m+1]-ts2[m]);

[0078] Where t1 represents the command time mapping; ts2[m] represents the time of one endpoint of the command value range; ts2[m+1] represents the time of the other endpoint of the command value range; pc1[n] represents the first servo command; pc2[m] represents one endpoint of the command value range; pc2[m+1] represents the other endpoint of the command value range.

[0079] For each first servo command in the first servo command group, a command time mapping can be obtained.

[0080] Taking the above example, the command time mapping t1 can represent the time corresponding to the mapping of the first group of servo commands pc1[n] in the numerical range (pc2[m], pc2[m+1]) corresponding to the second group of servo commands.

[0081] Step 250c: Calculate the command time symmetry axis of the cutting head based on the first time and command time mapping of the first servo command.

[0082] Optionally, the command time symmetry axis is calculated using the following formula:

[0083] tmid_pc = sum(ts1 + ts2a) / 2;

[0084] Where tmid_pc represents the command time symmetry axis; ts1 represents the first time group for collecting each first servo command; and ts2a represents the corresponding command time mapping group for each first servo command.

[0085] This command time mapping group includes multiple command time mappings. The number of command time mappings in this group can be the same as the number of recorded first servo commands, which is also the same as the number of times contained in the first time group.

[0086] Step 250d: For any one of the first servo feedback items in the first servo feedback group, determine the feedback value range in the second servo feedback group.

[0087] For example, the first servo feedback group can be represented as pb1, and the second servo feedback group can be represented as pb2. Any first servo feedback is represented as pb1[n]. In the second servo feedback group pb2, find a numerical interval (pb2[i], pb2[i+1]) such that pb2[i]≤pb1[n]≤pb2[i+1].

[0088] Among them, the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group.

[0089] Step 250e: Calculate the feedback time mapping based on the first servo feedback, the two endpoints of the feedback value interval, and the second time of the two endpoints of the acquired feedback value interval.

[0090] Optionally, the feedback time map is calculated using the following formula:

[0091] t2=ts2[i]+(pb1[n]-pb2[i]) / (pb2[i+1]-pb2[i])*(ts2[i+1]-ts2[i]);

[0092] Where t2 represents the feedback time mapping; ts2[i] represents the time of collecting one endpoint of the feedback value interval; ts2[i+1] represents the time of collecting the other endpoint of the feedback value interval; pb1[n] represents the first servo feedback; pb2[i] represents one endpoint of the feedback value interval; pb2[i+1] represents the other endpoint of the feedback value interval.

[0093] For each first servo feedback item in the first servo feedback group, a feedback time mapping can be obtained.

[0094] Taking the above example, the feedback time mapping t2 can represent the time corresponding to the mapping of the first group of servo feedback pb1[n] to the numerical interval (pb2[i], pb2[i+1]) corresponding to the second group of servo feedback.

[0095] Step 250f: Calculate the feedback time symmetry axis of the cutting head based on the first time and feedback time mapping of the first servo feedback.

[0096] Alternatively, the feedback time symmetry axis is calculated using the following formula:

[0097] tmid_pb = sum(ts1 + ts2b) / 2;

[0098] Where tmid_pb represents the feedback time symmetry axis; ts1 represents the first time group for collecting feedback from each first servo; and ts2b represents the corresponding feedback time mapping group for each first servo feedback.

[0099] This feedback time mapping group includes multiple feedback time mappings. The number of feedback time mappings in this group can be the same as the number of recorded first servo feedbacks, which is also the same as the number of times contained in the first time group.

[0100] Step 250g: Calculate the servo delay of the cutting head based on the command time symmetry axis and the feedback time symmetry axis.

[0101] Alternatively, the servo latency can be calculated using the following formula:

[0102] delay_servo=tmid_pb-tmid_pc;

[0103] Where delay_servo represents the servo delay; tmid_pb represents the feedback time symmetry axis;

[0104] tmid_pc represents the time symmetry axis of the command.

[0105] Optionally, the first set of operating data includes a first distance feedback group and a first servo feedback group; the second set of operating data includes a second distance feedback group and a second servo feedback group; and the motion delay includes distance delay.

[0106] The first and second distance feedback groups can be obtained based on measurements taken by a preset distance sensor. For example, the distance sensor can be a capacitive sensor.

[0107] For example, if the servo motor controls the cutting head to move in the vertical direction, the distance feedback group can also be called the height feedback group.

[0108] Based on this data, step 250 above may include steps 250h to 250n.

[0109] Step 250h: For any one of the first distance feedback items in the first distance feedback group, determine the distance value range in the second distance feedback group.

[0110] The first distance feedback is within the distance value range, and the ends of the distance value range are the two second distance feedbacks in the second distance feedback group.

[0111] For example, the first servo distance group can be represented as hb1, and the second servo distance group can be represented as hb2. Any first servo distance is represented as hb1[n]. In the second servo distance group hb2, find a numerical interval (hb2[j], hb2[j+1]) such that hb2[j]≤hb1[n]≤hb2[j+1].

[0112] Step 250i: Based on the first distance feedback, the two endpoints of the distance value interval, and the second time of collecting the two endpoints of the distance value interval, the distance-time mapping is calculated.

[0113] Optionally, the command time mapping is calculated using the following formula:

[0114] t3=ts2[j]+(hb1[n]-hb2[j]) / (hb2[j+1]-hb2[j])*(ts2[j+1]-ts2[j]);

[0115] Where t3 represents the distance-time mapping; ts2[j] represents the time of collecting data at one end of the distance value interval; ts2[j+1] represents the time of collecting data at the other end of the distance value interval; hb1[n] represents the first servo distance; hb2[j] represents one end of the distance value interval; and hb2[j+1] represents the other end of the distance value interval.

[0116] For each first servo distance in the first servo distance group, a distance-time mapping can be obtained.

[0117] Taking the above example, the distance-time mapping t3 can represent the time corresponding to the mapping of the first set of distance feedback hb1[n] in the numerical interval (hb2[j], hb2[j+1]) corresponding to the second set of distance feedback.

[0118] Step 250j: Calculate the distance-time symmetry axis of the cutting head based on the first time and distance-time mapping of the first distance feedback.

[0119] Alternatively, the distance-time symmetry axis is calculated using the following formula:

[0120] tmid_hb = sum(ts1 + ts2c) / 2;

[0121] Where tmid_hb represents the distance-time symmetry axis; ts1 represents the first time group for collecting each first servo distance; and ts2c represents the corresponding distance-time mapping group for each first servo distance.

[0122] This distance-time mapping group includes multiple distance-time mappings. The number of distance-time mappings in this group can be the same as the number of recorded first servo distances, which is also the same as the number of times contained in the first time group.

[0123] Step 250k: For any first servo feedback in the first servo feedback group, determine the feedback value range in the second servo feedback group.

[0124] The first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group.

[0125] Step 2501: Calculate the feedback time mapping based on the first servo feedback, the two endpoints of the feedback value interval, and the second time of the two endpoints of the feedback value interval.

[0126] In step 250m, the feedback time symmetry axis of the cutting head is calculated based on the first time and feedback time mapping of the first servo feedback.

[0127] The calculation method for the feedback time symmetry axis in steps 250k to 250m is the same as that in steps 250d to 250f. For details, please refer to the description in the previous steps, which will not be repeated here.

[0128] Step 250n: Calculate the distance delay of the cutting head based on the distance-time symmetry axis and the feedback-time symmetry axis.

[0129] Alternatively, the distance delay can be calculated using the following formula:

[0130] delay_h = tmid_hb - tmid_pb;

[0131] Where delay_h represents distance delay; tmid_pb represents the feedback time symmetry axis; and tmid_hb represents the distance-time symmetry axis.

[0132] Considering that different operating speeds may affect the calculation of delay, motion delay can also be calculated based on different speeds.

[0133] Optionally, the first set of operating data includes a first set of high-speed operating data and a first set of low-speed operating data; the second set of operating data includes a second set of high-speed operating data and a second set of low-speed operating data.

[0134] The first set of high-speed operation data and the second set of high-speed operation data were collected at the same speed; the first set of low-speed operation data and the second set of low-speed operation data were collected at the same speed.

[0135] Based on the two sets of data mentioned above, step 250 may include steps 250o to 250q.

[0136] Step 250o: Calculate the first initial motion delay based on the first set of high-speed running data and the second set of high-speed running data.

[0137] Optionally, the first initial motion delay may include a first servo delay and a first distance delay.

[0138] Step 250p: Calculate the second initial motion delay based on the first set of low-speed running data and the second set of low-speed running data.

[0139] Optionally, the second initial motion delay may include a second servo delay and a second distance delay.

[0140] Step 250q: Calculate the motion delay of the cutting head based on the first initial motion delay and the second initial motion delay.

[0141] The servo delay of the cutting head can be calculated based on the first servo delay and the second servo delay. Optionally, the average of the first servo delay and the second servo delay can be calculated to obtain the servo delay.

[0142] The distance delay of the cutting head can be calculated based on the first distance delay and the second distance delay. Optionally, the average of the first distance delay and the second distance delay can be calculated to obtain the total distance delay.

[0143] In this embodiment, the delay is calculated by finding the time symmetry axis of the data. When calculating the symmetry axis, the servo data and height data are not used directly. Instead, the time symmetry axis of the cutting head is calculated first by using the data of the servo motor controlling the lifting and lowering of the cutting head and the lifting and lowering of the height. Then, the time symmetry axis is used to calculate the servo delay and height delay. This avoids the problem of inaccurate measurement results due to errors in the servo and height data, thereby improving the accuracy of the delay calculation.

[0144] Based on the same application concept, this application also provides a cutter positioning device corresponding to the cutter positioning method. Since the principle of the device in this application is similar to that of the aforementioned cutter positioning method, the implementation of the device in this application can refer to the description in the above method embodiments, and the repeated parts will not be repeated.

[0145] Please see Figure 3 This is a functional module diagram of the cutter positioning device provided in this embodiment. Each module in the cutter positioning device in this embodiment is used to execute the steps in the above method embodiments. The cutter positioning device includes: a first control module 310, a first recording module 320, a second control module 330, a second recording module 340, and a calculation module 350; the contents of each module are as follows:

[0146] The first control module 310 is used to control the cutting head of the cutter to move at a first speed in a first direction;

[0147] The first recording module 320 is used to record the first set of running data according to a set rule during the process of moving in the first direction at the first speed;

[0148] The second control module 330 is used to control the cutting head of the cutter to move at a second speed in a second direction, wherein the second direction is opposite to the first direction;

[0149] The second recording module 340 is used to record a second set of running data according to a set pattern during the movement in the second direction at the second speed.

[0150] The calculation module 350 is used to calculate the motion delay of the cutting head based on the first set of operating data and the second set of operating data, wherein positioning is performed based on the motion delay when controlling the cutting head to cut the item.

[0151] In one possible implementation, the first set of operating data includes multiple parameter sets, and the second set of operating data includes the same parameter sets as those included in the first set of operating data. The aforementioned calculation module 350 is used to, for any set of target parameter sets, obtain the operating data difference corresponding to the target parameter set based on the first target parameter set in the first set of operating data and the second target parameter set in the second set of operating data; calculate the average of the first target parameter set and the operating data difference to obtain the data symmetry axis of the cutting head; and calculate the motion delay of the cutting head based on the data symmetry axes of two of the parameter sets.

[0152] In one possible implementation, the first set of operational data includes a first servo command group and a first servo feedback group; the second set of operational data includes a second servo command group and a second servo feedback group; and the motion delay includes servo delay.

[0153] The aforementioned calculation module 350 is used to determine a command value range in a second servo command group for any first servo command in the first servo command group, wherein the first servo command is within the command value range, and the ends of the command value range are the two second servo commands in the second servo command group; calculate a command time mapping based on the first servo command, the two ends of the command value range, and the second time of acquiring the two ends of the command value range; calculate the command time symmetry axis of the cutting head based on the first time of acquiring the first servo command and the command time mapping; determine a feedback value range in a second servo feedback group for any first servo feedback in the first servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; calculate a feedback time mapping based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; calculate the feedback time symmetry axis of the cutting head based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; and calculate the servo delay of the cutting head based on the command time symmetry axis and the feedback time symmetry axis.

[0154] In one possible implementation, the command time mapping is calculated using the following formula:

[0155] t1=ts2[m]+(pc1[n]-pc2[m]) / (pc2[m+1]-pc2[m])*(ts2[m+1]-ts2[m]);

[0156] Where t1 represents the command time mapping; ts2[m] represents the time of one endpoint of the command value range; ts2[m+1] represents the time of the other endpoint of the command value range; pc1[n] represents the first servo command; pc2[m] represents one endpoint of the command value range; pc2[m+1] represents the other endpoint of the command value range.

[0157] In one possible implementation, the command time symmetry axis is calculated using the following formula:

[0158] tmid_pc = sum(ts1 + ts2a) / 2;

[0159] Where tmid_pc represents the command time symmetry axis; ts1 represents the first time group for collecting each first servo command; and ts2a represents the corresponding command time mapping group for each first servo command.

[0160] In one possible implementation, the first set of operational data includes a first distance feedback group and a first servo feedback group; the second set of operational data includes a second distance feedback group and a second servo feedback group; and the motion delay includes distance delay.

[0161] The aforementioned calculation module 350 is used to determine a distance value interval in a second distance feedback group for any first distance feedback in the first distance feedback group, wherein the first distance feedback is within the distance value interval, and the ends of the distance value interval are the two second distance feedbacks in the second distance feedback group; calculate a distance-time mapping based on the first distance feedback, the two ends of the distance value interval, and the second time of acquiring the two ends of the distance value interval; calculate the distance-time symmetry axis of the cutting head based on the first time of acquiring the first distance feedback and the distance-time mapping; determine a feedback value interval in a second servo feedback group for any first servo feedback in the first servo feedback group, wherein the first servo feedback is within the feedback value interval, and the ends of the feedback value interval are the two second servo feedbacks in the second servo feedback group; calculate a feedback time mapping based on the first servo feedback, the two ends of the feedback value interval, and the second time of acquiring the two ends of the feedback value interval; calculate the feedback time symmetry axis of the cutting head based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; calculate the distance delay of the cutting head based on the distance-time symmetry axis and the feedback time symmetry axis.

[0162] In one possible implementation, the first recording module 320 is used to record a first set of operating data when the command output by the servo motor indicates that the movement distance of the cutting head exceeds a specified distance, wherein the servo motor is a motor that controls the movement of the cutting head.

[0163] In one possible implementation, the first speed is equal to the second speed.

[0164] In one possible implementation, the first set of operating data includes a first set of high-speed operating data and a first set of low-speed operating data; the second set of operating data includes a second set of high-speed operating data and a second set of low-speed operating data; wherein, the first set of high-speed operating data and the second set of high-speed operating data are data collected at the same speed, and the first set of low-speed operating data and the second set of low-speed operating data are data collected at the same speed.

[0165] The aforementioned calculation module 350 is used to calculate a first initial motion delay based on a first set of high-speed running data and a second set of high-speed running data; to calculate a second initial motion delay based on a first set of low-speed running data and a second set of low-speed running data; and to calculate the motion delay of the cutting head based on the first initial motion delay and the second initial motion delay.

[0166] Furthermore, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the cutter positioning method described in the above method embodiments.

[0167] The computer program product of the cutter positioning method provided in this application includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the steps of the cutter positioning method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.

[0168] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0169] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0170] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks. It should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0171] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0172] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for positioning a cutter, characterized in that, include: Control the cutting head of the cutter to move at a first speed in a first direction; During the movement in the first direction at the first speed, the first set of operation data is recorded according to a set pattern; the first set of operation data includes a first servo command group and a first servo feedback group; the first set of operation data includes a first distance feedback group and a first servo feedback group. The cutting head of the cutter is controlled to move at a second speed in a second direction, wherein the second direction is opposite to the first direction; During the movement in the second direction at the second speed, a second set of operational data is recorded according to a set pattern; the second set of operational data includes a second servo command group and a second servo feedback group; the second set of operational data includes a second distance feedback group and a second servo feedback group. Calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: for any first servo command in the first servo command group, determining a command value range in the second servo command group, wherein the first servo command is within the command value range, and the ends of the command value range are two second servo commands in the second servo command group; calculating a command time mapping based on the first servo command, the two ends of the command value range, and the second time of acquiring the two ends of the command value range; and calculating the command time symmetry axis of the cutting head based on the first time of acquiring the first servo command and the command time mapping. For any first servo feedback in the first servo feedback group, a feedback value range is determined in the second servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; a feedback time mapping is calculated based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; the feedback time symmetry axis of the cutting head is calculated based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; and the servo delay of the cutting head is calculated based on the command time symmetry axis and the feedback time symmetry axis. The step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: for any first distance feedback in the first distance feedback group, determining a distance value interval in the second distance feedback group, wherein the first distance feedback is within the distance value interval, and the ends of the distance value interval are the two second distance feedbacks in the second distance feedback group; calculating a distance-time mapping based on the first distance feedback, the two ends of the distance value interval, and the second time of acquiring the two ends of the distance value interval; and calculating the distance-time symmetry axis of the cutting head based on the first time of acquiring the first distance feedback and the distance-time mapping. For any first servo feedback in the first servo feedback group, a feedback value range is determined in the second servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; a feedback time mapping is calculated based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; the feedback time symmetry axis of the cutting head is calculated based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; the distance delay of the cutting head is calculated based on the distance time symmetry axis and the feedback time symmetry axis. Positioning is performed based on the motion delay when controlling the cutting head to cut the item.

2. The method according to claim 1, characterized in that, The command time mapping, calculated based on the first servo command, the two endpoints of the command value range, and the second time at which the two endpoints of the command value range are collected, is obtained using the following formula: t1 = ts2[m] +(pc1[n] - pc2[m]) / (pc2[m+1] - pc2[m])*(ts2[m+1] - ts2[m]); Where t1 represents the command time mapping; ts2[m] represents the time of collecting one endpoint of the command value range; ts2[m+1] represents the time of collecting the other endpoint of the command value range; pc1[n] represents the first servo command; pc2[m] represents one endpoint of the command value range; pc2[m+1] represents the other endpoint of the command value range.

3. The method according to claim 1, characterized in that, The command time symmetry axis of the cutting head is calculated based on the first time of the first servo command and the command time mapping, using the following formula: tmid_pc = sum(ts1+ts2a) / 2; Wherein, tmid_pc represents the command time symmetry axis; ts1 represents the first time group for collecting each of the first servo commands; ts2a represents the corresponding command time mapping group for each of the first servo commands, wherein the number of times contained in the first time group ts1 is the same as the number of times contained in the command time mapping group ts2a.

4. The method according to any one of claims 1-3, characterized in that, The process of recording the first set of operational data according to a set pattern includes: When the command output by the servo motor indicates that the movement distance of the cutting head exceeds a specified distance, the first set of operating data is recorded, wherein the servo motor is the motor that controls the movement of the cutting head.

5. The method according to any one of claims 1-3, characterized in that, The first speed is equal to the second speed.

6. The method according to claim 5, characterized in that, The first set of operating data includes a first set of high-speed operating data and a first set of low-speed operating data; the second set of operating data includes a second set of high-speed operating data and a second set of low-speed operating data; wherein, the first set of high-speed operating data and the second set of high-speed operating data are data collected at the same speed, and the first set of low-speed operating data and the second set of low-speed operating data are data collected at the same speed. The step of calculating the motion delay of the cutting head based on the first set of operating data and the second set of operating data includes: Calculate the first initial motion delay based on the first set of high-speed operation data and the second set of high-speed operation data; Calculate the second initial motion delay based on the first set of low-speed operation data and the second set of low-speed operation data; The motion delay of the cutting head is calculated based on the first initial motion delay and the second initial motion delay.

7. A cutter positioning device, characterized in that, include: The first control module is used to control the cutting head of the cutter to move at a first speed in a first direction; The first recording module is used to record a first set of operating data according to a set pattern during the movement in a first direction at a first speed; the first set of operating data includes a first servo command group and a first servo feedback group; the first set of operating data includes a first distance feedback group and a first servo feedback group. The second control module is used to control the cutting head of the cutter to move at a second speed in a second direction, wherein the second direction is opposite to the first direction; The second recording module is used to record a second set of operating data according to a set pattern during the movement in the second direction at the second speed; the second set of operating data includes a second servo command group and a second servo feedback group; the second set of operating data includes a second distance feedback group and a second servo feedback group. The calculation module is used to calculate the motion delay of the cutting head based on the first set of running data and the second set of running data, wherein positioning is performed based on the motion delay when controlling the cutting head to cut the item; The calculation module is used to determine a command value range in the second servo command group for any first servo command in the first servo command group, wherein the first servo command is within the command value range, and the ends of the command value range are the two second servo commands in the second servo command group; calculate a command time mapping based on the first servo command, the two ends of the command value range, and the second time of acquiring the two ends of the command value range; calculate the command time symmetry axis of the cutting head based on the first time of acquiring the first servo command and the command time mapping; determine a feedback value range in the second servo feedback group for any first servo feedback in the first servo feedback group, wherein the first servo feedback is within the feedback value range, and the ends of the feedback value range are the two second servo feedbacks in the second servo feedback group; calculate a feedback time mapping based on the first servo feedback, the two ends of the feedback value range, and the second time of acquiring the two ends of the feedback value range; calculate the feedback time symmetry axis of the cutting head based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; calculate the servo delay of the cutting head based on the command time symmetry axis and the feedback time symmetry axis. The calculation module is further configured to: determine a distance value interval in the second distance feedback group for any first distance feedback in the first distance feedback group, wherein the first distance feedback is within the distance value interval, and the ends of the distance value interval are the two second distance feedbacks in the second distance feedback group; calculate a distance-time mapping based on the first distance feedback, the two ends of the distance value interval, and the second time of acquiring the two ends of the distance value interval; calculate the distance-time symmetry axis of the cutting head based on the first time of acquiring the first distance feedback and the distance-time mapping; determine a feedback value interval in the second servo feedback group for any first servo feedback in the first servo feedback group, wherein the first servo feedback is within the feedback value interval, and the ends of the feedback value interval are the two second servo feedbacks in the second servo feedback group; calculate a feedback time mapping based on the first servo feedback, the two ends of the feedback value interval, and the second time of acquiring the two ends of the feedback value interval; calculate the feedback time symmetry axis of the cutting head based on the first time of acquiring the first servo feedback and the feedback time symmetry axis; and calculate the distance delay of the cutting head based on the distance-time symmetry axis and the feedback time symmetry axis.

8. An electronic device, characterized in that, include: The processor and memory, wherein the memory stores machine-readable instructions executable by the processor, wherein when the electronic device is running, the machine-readable instructions are executed by the processor to perform the steps of the method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Sliding mode control method for servo motor with measurement delay output

    CN102594251A

  • PID parameter optimization method for permanent magnet synchronous motor control system

    CN106208867A