Method and apparatus for following a proportional smooth, storage medium and device
Patent Information
- Application Number
- CN202410202320.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-23
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2044-02-23
Abstract
Description
Technical Field
[0001] This invention relates to CNC numerical control system solutions. Background Technology
[0002] The speed of the rotary axes in a five-axis CNC machine tool is generally calculated using a follow-up mode. That is, the speed of the rotary axis in each program segment is the increment of that segment's rotary axis speed divided by the segment's running time. The running time T of that segment is obtained by dividing the length of the tool tip trajectory by the value F. Let the increment of a certain rotary axis in that segment be ΔA, and the length of the tool tip trajectory in that segment be L. Then, the running time T = L / F, and the Va of that rotary axis is Va = ΔA / T = ΔA × F / L. Here, ΔA / L is the follow-up ratio of that rotary axis in that segment.
[0003] To further abstract this, we can imagine two axes: a driving axis and a follower axis. Speed planning is performed on the driving axis, and during interpolation, the motion of each cycle is proportionally distributed to each axis, allowing all axes to start moving simultaneously and arrive at their designated positions at the same time. The follower ratio is the ratio of the trajectory length of the follower axis to that of the driving axis on that segment. This ratio is constant within the same motion segment but may change in different motion segments. When this change occurs, the follower ratio abruptly changes at the connection point, causing a sudden change in the speed of the follower axis, which in turn causes impact and vibration in the machine tool. Summary of the Invention
[0004] In order to overcome the shortcomings of the existing technology, the purpose of this invention is to suppress and reduce the impact and vibration of machine tools, smooth the follow-up ratio, and at the same time meet the relevant constraints.
[0005] To achieve the above objectives, the present invention provides a method for smoothing motion proportionally, comprising the following steps: S1: Initialize a boolean array bAdjust[k] (k=0,1,…,n) to record whether the segment at index k is allowed to be adjusted: it is true only when both the current segment and the previous segment exist (i.e., 1≤k≤n-1) and the following ratio of the previous segment and the current segment are not zero; otherwise, it is false. S2: The following ratios of the n continuously moving follower shafts are r[i] (i=0,1,…,n-1), the length of the motion trajectory of each segment's drive shaft is L[i], and the start and end velocities of each segment are Vs[i] and Ve[i]. The motion tolerance of each follower shaft is set to tolerance. The upper and lower limits of the following ratios of each segment are initialized. If bAdjust[k] or bAdjust[k+1] is true, the upper and lower limits of the following ratio r[k] of each segment are calculated: r_min[k]=r[k]-tolerance / L[k], r_max[k]=r[k]+tolerance / L[k]; S3: Calculate the velocity mutation corresponding to index k: If bAdjust[k] is true, calculate the velocity mutation at the corresponding connection point. Vd=Vs[k]×r[k]-Ve[k-1]×r[k-1], And store the combination of the absolute values of indices k and Vd in a dynamic space M; S4: If M is empty, no further adjustment is needed, proceed to step S8; otherwise, extract the set of values with the largest absolute value of the velocity mutation in M, obtain its corresponding index j, and delete the node from M. Let i=j-1, k=j+1, Vd=Vs[j]×r[j]-Ve[i]×r[i], x=Vd / (Vs[j]×L[i]+Ve[i]×L[j]); S5: Delete the nodes corresponding to i, j, k from M, where the node corresponding to j has already been deleted in step S4 and does not need to be deleted again; S6: Adjust the following ratio of the adjacent segments at this connection point: r[i]=r[i]+L[j]×x, r[j]=r[j]-L[i]×x; S7: Recalculate the velocity mutations corresponding to i, j, k and add them to M, then proceed to step S4; S8: End the follower ratio smoothing of this follower axis.
[0006] A further improvement of the present invention is that, in step S4, if Vd > 0, r[i] will increase and r[j] will decrease, and x will be further adjusted to satisfy other constraints: a) After adjusting the ratio, the tolerance range should be met. The following set of inequalities can be established: r[i]+L[j]×x≤r_max[i], r[j]-L[i]×x≥r_min[j]; b) If adjacent connection points exist, the speed change will not worsen due to this adjustment of the ratio. The following system of inequalities can be established: Vs[i]×(r[i]+L[j]×x)-Ve[i-1]×r[i-1]≤Vd, Vs[j+1]×r[j+1]-Ve[j]×(r[j]-L[i]×x)≤Vd; c) If all x values obtained in step S4 satisfy the above inequalities, no adjustment is needed; otherwise, x takes the minimum value of the upper limit of the solution set of the above inequalities. If the obtained x ≤ 0, then jump to step S4.
[0007] A further improvement of the present invention is that, in step S4, if Vd < 0, r[i] will decrease and r[j] will increase, and x will be further adjusted to satisfy other constraints: a) After adjusting the ratio, the tolerance range should be met. The following set of inequalities can be established: r[i]+L[j]×x≥r_min[i], r[j]-L[i]×x≤r_max[j]; b) If adjacent connection points exist, the speed change will not worsen due to this adjustment of the ratio. The following system of inequalities can be established: Vs[i]×(r[i]+L[j]×x)-Ve[i-1]×r[i-1]≥-Vd, Vs[j+1]×r[j+1]–Ve[j]×(r[j]-L[i]×x)≥-Vd; c) If all x values obtained in step S4 satisfy the above inequalities, no adjustment is needed; otherwise, x takes the maximum value of the lower limit of the solution set of the above inequalities. If the obtained x ≥ 0, then jump to step S4.
[0008] A further improvement of the present invention is that, when applied to multi-segment servo proportional smoothing that has not yet undergone speed planning, all endpoint speeds are treated as equal, thereby smoothing the servo proportional within the tolerance allowable range of the servo shaft.
[0009] A further improvement of the present invention is that it is applied to multi-segment follower proportional smoothing that has already undergone speed planning.
[0010] A further improvement of the present invention is that it is applied to the case where the drive shaft has abrupt changes at the connection point between segments, that is, Ve[i] and Vs[i+1] are not necessarily equal.
[0011] A further improvement of the present invention is that, in step S1, in order to prevent out-of-bounds access, a new element bAdjust[n] is added and set to false.
[0012] According to another aspect of the present invention, a device for smoothing proportional motion is provided, comprising: The first unit initializes a boolean array bAdjust[k] (k=0,1,…,n) and records whether the corresponding index k segment is allowed to be adjusted: it is true only when both the current segment and the previous segment exist (i.e., 1≤k≤n-1) and the following ratio of the previous segment and the current segment are not zero; otherwise, it is false. In the second unit, the following ratios of n continuously moving follower shafts are r[i] (i=0,1,…,n-1), the trajectory length L[i] of each active shaft, and the start and end velocities Vs[i] and Ve[i] of each segment. The motion tolerance of each follower shaft is set as tolerance. The upper and lower limits of the following ratios of each segment are initialized. If bAdjust[k] or bAdjust[k+1] is true, the upper and lower limits of the following ratio r[k] of each segment are calculated. r_min[k]=r[k]-tolerance / L[k], r_max[k]=r[k]+tolerance / L[k]; The third unit calculates the velocity mutation corresponding to index k: if bAdjust[k] is true, calculate the velocity mutation at the corresponding connection point. Vd=Vs[k]×r[k]-Ve[k-1]×r[k-1], And store the combination of the absolute values of indices k and Vd in a dynamic space M; In the fourth unit, if M is empty, no further adjustment is needed, and proceed to step S8; otherwise, extract the set of values with the largest absolute value of the velocity mutation in M, obtain its corresponding index j, and delete the node from M. Let i=j-1, k=j+1, Vd=Vs[j]×r[j]-Ve[i]×r[i], x=Vd / (Vs[j]×L[i]+Ve[i]×L[j]); In the fifth unit, delete the nodes corresponding to i, j, k from M, where the node corresponding to j has already been deleted in step S4 and does not need to be deleted again; Unit 6, adjust the following ratio of adjacent segments at this connection point: r[i]=r[i]+L[j]×x, r[j]=r[j]-L[i]×x; Unit 7: Recalculate the velocity mutations corresponding to i, j, k and add them to M, then proceed to step S4; Unit 8 concludes the smoothing of the follower ratio for this follower axis.
[0013] According to another aspect of the present invention, a computing device is provided, including at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the method as described above.
[0014] According to another aspect of the present invention, a machine-readable storage medium is provided storing executable instructions that, when executed, cause the machine to perform the method described above.
[0015] By adopting the above technical solutions, this invention introduces an undetermined variable x and cleverly utilizes an identity to obtain the relationship between the follower ratio before and after adjustment and x. This identity also ensures that the algebraic sum of motion of the follower shaft in each segment remains unchanged before and after adjustment. By solving a system of inequalities, this invention ensures that the motion of the follower shaft in each segment is within the tolerance range after adjusting the follower ratio. This invention samples a dynamic adjustment algorithm, starting from the connection point with the largest change each time, thereby maximizing the adjustment efficiency. Detailed Implementation
[0016] In the following description, the terminology used in the specification will be briefly described, and embodiments will be described in detail. All terms used herein, including descriptive or technical terms, should be interpreted as having the meaning understood by one of ordinary skill in the art. However, these terms may have different meanings depending on the intent of one of ordinary skill in the art, precedent, or the emergence of new technologies. However, embodiments may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the embodiments to one of ordinary skill in the art. In the following description, well-known functions or structures are not described in detail, as they would obscure the embodiments with unnecessary detail.
[0017] Furthermore, some terms may be chosen by the applicant, and in such cases, the meaning of the chosen terms will be described in detail in the detailed description of the embodiments. Therefore, the terms used herein must be defined based on their meanings in conjunction with the description throughout the specification. Additionally, when a component “comprises” or “contains” an element, the component may also include other elements without excluding them, unless there is a specific description to the contrary. In the following description, terms such as “component” and “module” indicate a unit for performing at least one function or operation, wherein units and modules may be implemented as hardware or software or by combining hardware and software.
[0018] In five-axis machining, when XYZ moves, ABC will move as a follower axis. On a single segment, each axis maintains a fixed ratio with the XYZ travel distance. At the junction of segments, due to the possible inconsistency in the ratio between the preceding and following segments, the speed of ABC will experience a sudden change, i.e., jitter.
[0019] Therefore, an algorithm needs to be designed to eliminate or reduce this phenomenon, with the following requirements: 1. If a segment originally did not contain motion along a certain axis A, B, or C, then after proportional smoothing, it should not be assigned the proportion of that rotational axis; 2. After proportional smoothing, the deviation of any single segment's motion along any single axis (ABC) must not exceed the allowable error. 3. After proportional smoothing, when any single axis of ABC stops, the quasi-stopping position of that rotation axis does not shift; 4. The maximum value of the sudden change in velocity of each axis (A, B, C) at the junction of segments must not increase after proportional smoothing; 5. The abrupt changes in velocity along axes A, B, and C at the junctions between segments need to be improved. The overall evaluation function is: sqrt(sum of squares of velocity abrupt changes / number of segments), which is obviously better the smaller it is. 6. The computational efficiency should be sufficiently high, the computation time should be acceptable, and it should not drag down the simulation interpolation efficiency.
[0020] Given: There are n continuous motion segments, the following ratios of a certain follower shaft are r[i] (i=0,1,…,n-1), the length of the motion trajectory of each active shaft is L[i], and the starting and ending velocities of each segment are Vs[i] and Ve[i]. Set the motion tolerance of each follower shaft to tolerance.
[0021] In this context, L[i] is always positive, and Vs[i] and Ve[i] are all positive except for the first and last points where the values can be zero; while r[i] can be 0, positive or negative, depending on whether the follower axis moves on this segment and the direction of the movement.
[0022] Design an algorithm to smooth the follow-up ratio while meeting the above requirements.
[0023] To better illustrate the process, we need to derive the formula first: Suppose that the proportions of two adjacent segments need to be adjusted, and the proportions before and after the adjustment are (r1, r2) and (r1_new, r2_new), respectively. The movement distance of the drive shaft is (L1, L2). Since the algebraic sum of the motion of the follower shaft remains unchanged, we have L1×r1_new + L2×r2_new ≡ L1×r1 + L2×r2. In order to reduce the number of variables, we introduce a fixed variable x, and let r1_new = r1+L2×x and r2_new = r2-L1×x. This satisfies the identity.
[0024] Before adjustment, the velocity change is: Vd = Vs×r2 - Ve×r1, where Vs is the starting velocity of the segment after the connection point, and Ve is the ending velocity of the segment before the connection point; after adjustment, the velocity change is: Vd_new = Vs×r2_new - Ve×r1_new = Vs×(r2-L1×x) - Ve×(r1+L2×x), which gives... x = (Vd–Vd_new) / (Vs×L1+Ve×L2) In the above formula, the denominator is positive; the numerator has the same sign as Vd, because Vd_new is the target value, and its absolute value should be less than the absolute value of Vd. That is, x should have the same sign as Vd. Under the premise of satisfying various constraints, setting an appropriate x value can reduce the sudden velocity change at the connection point, achieving the effect of smooth follow-up ratio.
[0025] This invention introduces an undetermined variable x and cleverly utilizes an identity to obtain the relationship between the follower ratio before and after adjustment and x. This identity also ensures that the algebraic sum of motion of the follower shaft in each segment remains unchanged before and after adjustment. By solving a system of inequalities, this invention ensures that the motion of the follower shaft in each segment is within the tolerance range after adjusting the follower ratio. This invention samples a dynamic adjustment algorithm, starting from the connection point with the largest change each time, thereby maximizing the adjustment efficiency.
[0026] In a five-axis toolpath system, there are numerous small line segments along the XYZAB axes. The composite motion of XYZ is considered the driving axis, and the A and B axes are considered its follower axes. Before applying this invention, the average abrupt change at the connection point of the A axis was 1068.44 mm / s², and the average abrupt change of the B axis at the connection point was 1243.51 mm / s². After applying this invention, the average abrupt change at the connection point of the A axis was 543.22 mm / s², and the average abrupt change of the B axis at the connection point was 600.00 mm / s², representing 50.84% and 48.25% of the previous values, respectively. Machine tool operation verification showed that the jerking sensation of the rotary axis motion was significantly reduced, resulting in smoother operation.
[0027] This invention is applicable to multi-segment follower smoothing that has not yet undergone speed planning. It only requires treating all endpoint speeds as equal, thus smoothing the follower ratio based solely on the tolerance range of the follower shaft.
[0028] This invention is applicable to multi-segment follower proportional smoothing with speed planning; and it is also suitable for situations where the drive shaft may have abrupt changes at the connection points between segments, that is, Ve[i] and Vs[i+1] are not necessarily equal; In another embodiment of the present invention, a device for smoothing proportional motion is provided, comprising: The first unit initializes a boolean array bAdjust[k] (k=0,1,…,n) and records whether the corresponding index k segment is allowed to be adjusted: it is true only when both the current segment and the previous segment exist (i.e., 1≤k≤n-1) and the following ratio of the previous segment and the current segment are not zero; otherwise, it is false. In the second unit, the following ratios of n continuously moving follower shafts are r[i] (i=0,1,…,n-1), the trajectory length L[i] of each active shaft, and the start and end velocities Vs[i] and Ve[i] of each segment. The motion tolerance of each follower shaft is set as tolerance. The upper and lower limits of the following ratios of each segment are initialized. If bAdjust[k] or bAdjust[k+1] is true, the upper and lower limits of the following ratio r[k] of each segment are calculated. r_min[k]=r[k]-tolerance / L[k], r_max[k]=r[k]+tolerance / L[k]; The third unit calculates the velocity mutation corresponding to index k: if bAdjust[k] is true, calculate the velocity mutation at the corresponding connection point. Vd=Vs[k]×r[k]-Ve[k-1]×r[k-1], And store the combination of the absolute values of indices k and Vd in a dynamic space M; In the fourth unit, if M is empty, no further adjustment is needed, and proceed to step S8; otherwise, extract the set of values with the largest absolute value of the velocity mutation in M, obtain its corresponding index j, and delete the node from M. Let i=j-1, k=j+1, Vd=Vs[j]×r[j]-Ve[i]×r[i], x=Vd / (Vs[j]×L[i]+Ve[i]×L[j]); In the fifth unit, delete the nodes corresponding to i, j, k from M, where the node corresponding to j has already been deleted in step S4 and does not need to be deleted again; Unit 6, adjust the following ratio of adjacent segments at this connection point: r[i]=r[i]+L[j]×x, r[j]=r[j]-L[i]×x; Unit 7: Recalculate the velocity mutations corresponding to i, j, k and add them to M, then proceed to step S4; Unit 8 concludes the smoothing of the follower ratio for this follower axis.
[0029] In another embodiment of the invention, a computing device is provided, including at least one processor, a memory (e.g., non-volatile memory), a main memory, and a communication interface. The memory stores instructions that, when executed by the at least one processor, cause the at least one processor to execute at least one computer-readable instruction stored or encoded in the memory. It should be understood that the computer-executable instructions stored in the memory, when executed, cause the at least one processor to perform the various operations and functions described in the various embodiments of this specification.
[0030] In the embodiments described in this specification, computing devices may include, but are not limited to: personal computers, server computers, workstations, desktop computers, laptop computers, notebook computers, mobile computing devices, smartphones, tablet computers, cellular phones, personal digital assistants (PDAs), handheld devices, messaging devices, wearable computing devices, consumer electronics devices, etc.
[0031] In another embodiment of the invention, a program product, such as a machine-readable storage medium, is provided. The machine-readable medium may have instructions (i.e., the elements implemented in software as described above), which, when executed by a machine, cause the machine to perform the various operations and functions described in the embodiments of this specification. Specifically, a system or apparatus equipped with a readable storage medium storing software program code that implements the functions of any of the embodiments described above, and causing the computer or processor of the system or apparatus to read and execute the instructions stored in the readable storage medium.
[0032] In this case, the program code read from the readable medium itself can perform the functions of any of the above embodiments, and therefore the machine-readable code and the readable storage medium storing the machine-readable code constitute a part of this specification.
[0033] Examples of readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD-RW), magnetic tapes, non-volatile memory cards, and ROMs. Alternatively, program code can be downloaded from a server computer or the cloud via a communication network.
[0034] Those skilled in the art will understand that the various embodiments disclosed above can be modified and varied without departing from the spirit of the invention. Therefore, the scope of protection of this specification should be defined by the appended claims.
[0035] It should be noted that not all steps and units in the above process and system structure diagrams are mandatory; some steps or units can be omitted according to actual needs. The execution order of each step is not fixed and can be determined as needed. The device structure described in the above embodiments can be a physical structure or a logical structure. That is, some units may be implemented by the same physical client, or some units may be implemented by multiple physical clients, or they may be jointly implemented by certain components in multiple independent devices.
[0036] In the above embodiments, the hardware units or modules can be implemented mechanically or electrically. For example, a hardware unit, module, or processor may include permanent dedicated circuitry or logic (such as a dedicated processor, FPGA, or ASIC) to perform the corresponding operation. The hardware unit or processor may also include programmable logic or circuitry (such as a general-purpose processor or other programmable processor), which can be temporarily configured by software to perform the corresponding operation. The specific implementation method (mechanical, dedicated permanent circuitry, or temporarily configured circuitry) can be determined based on cost and time considerations.
[0037] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0038] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more blocks of the flowchart illustrations and / or one or more blocks of the block diagrams.
[0039] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams.
[0040] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.
[0041] The foregoing description of specific exemplary embodiments of the invention is for illustrative and explanatory purposes. These descriptions are not intended to limit the invention to the precise forms disclosed, and it will be apparent that many changes and variations can be made in accordance with the foregoing teachings. The exemplary embodiments were chosen and described in order to explain the specific principles of the invention and its practical application, thereby enabling those skilled in the art to implement and utilize various different exemplary embodiments of the invention, as well as various different choices and variations. The scope of the invention is intended to be defined by the claims and their equivalents.
Claims
1. A method for smoothing proportional motion, characterized in that, Includes the following steps: S1: Initialize a boolean array bAdjust[k] (k=0,1,…,n) to record whether the segment at index k is allowed to be adjusted: it is true only when both the current segment and the previous segment exist (i.e., 1≤k≤n-1) and the following ratio of the previous segment and the current segment are not zero; otherwise, it is false. S2: The following ratios of the n continuously moving follower shafts are r[i] (i=0,1,…,n-1), the length of the motion trajectory of each segment's drive shaft is L[i], and the start and end velocities of each segment are Vs[i] and Ve[i]. The motion tolerance of each follower shaft is set to tolerance. The upper and lower limits of the following ratios of each segment are initialized. If bAdjust[k] or bAdjust[k+1] is true, the upper and lower limits of the following ratio r[k] of each segment are calculated: r_min[k]=r[k]-tolerance / L[k], r_max[k]=r[k]+tolerance / L[k]; S3: Calculate the velocity mutation corresponding to index k: If bAdjust[k] is true, calculate the velocity mutation at the corresponding connection point. Vd=Vs[k] r[k]-Ve[k-1 ]×r[k-1], And store the combination of the absolute values of indices k and Vd in a dynamic space M; S4: If M is empty, no further adjustment is needed, proceed to step S8; otherwise, extract the set of values with the largest absolute value of the velocity mutation in M, obtain its corresponding index j, and delete the node from M. Let i=j-1, k=j+1, Vd=Vs[j]×r[j]-Ve[i]×r[i], x=Vd / (Vs[j]×L[i]+Ve[i]×L[j]); S5: Delete the nodes corresponding to i, j, k from M, where the node corresponding to j has already been deleted in step S4 and does not need to be deleted again; S6: Adjust the following ratio of the adjacent segments at this connection point: r[i]=r[i]+L[j]×x, r[j]=r[j]-L[i]×x; S7: Recalculate the velocity mutations corresponding to i, j, k and add them to M, then proceed to step S4; S8: End the follower ratio smoothing of this follower axis.
2. The method for smoothing proportional motion according to claim 1, characterized in that: In step S4, if Vd > 0, r[i] will increase and r[j] will decrease, and x will be further adjusted to satisfy other constraints: a) After adjusting the ratio, the tolerance range should be satisfied. The following set of inequalities can be established: r[i]+L[j]×x≤r_max[i], r[j]-L[i]×x≥r_min[j]; b) If adjacent connection points exist, the speed change will not worsen due to this adjustment of the ratio. The following system of inequalities can be established: Vs[i]×(r[i]+L[j]×x)-Ve[i-1]×r[i-1]≤Vd, Vs[j+1]×r[j+1]-Ve[j]×(r[j]-L[i]×x)≤Vd; c) If all x values obtained in step S4 satisfy the above inequalities, no adjustment is needed; otherwise, x takes the minimum value of the upper limit of the solution set of the above inequalities. If the obtained x ≤ 0, then jump to step S4.
3. The method for smoothing proportional motion according to claim 1, characterized in that: In step S4, if Vd < 0, r[i] will decrease and r[j] will increase, and x will be further adjusted to satisfy other constraints: a) After adjusting the ratio, the tolerance range should be satisfied. The following set of inequalities can be established: r[i]+L[j]×x≥r_min[i], r[j]-L[i]×x≤r_max[j]; b) If adjacent connection points exist, the speed change will not worsen due to this adjustment of the ratio. The following system of inequalities can be established: Vs[i]×(r[i]+L[j]×x)-Ve[i-1]×r[i-1]≥-Vd, Vs[j+1]×r[j+1]–Ve[j]×(r[j]-L[i]×x)≥-Vd; c) If all x values obtained in step S4 satisfy the above inequalities, no adjustment is needed; otherwise, x takes the maximum value of the lower limit of the solution set of the above inequalities. If the obtained x ≥ 0, then jump to step S4.
4. The method for smoothing proportional motion according to claim 1, characterized in that: This method is applied to multi-segment servo proportional smoothing where speed planning has not yet been performed. It treats all endpoint speeds as equal, thereby smoothing the servo proportional within the tolerance range of the servo axis.
5. The method for smoothing proportional motion according to claim 1, characterized in that: It is applied to multi-segment dynamic proportional smoothing that has already undergone speed planning.
6. The method for smoothing proportional motion according to claim 5, characterized in that: This is applied to situations where the drive shaft has abrupt changes at the connection point between segments, meaning that Ve[i] and Vs[i+1] are not necessarily equal.
7. The method for smoothing proportional motion according to claim 1, characterized in that: In step S1, to prevent accessing the newly added element bAdjust[n] out of bounds, we set it to false.
8. A device for smoothing proportional motion, characterized in that, include: The first unit initializes a boolean array bAdjust[k] (k=0,1,…,n) and records whether the corresponding index k segment is allowed to be adjusted: it is true only when both the current segment and the previous segment exist (i.e., 1≤k≤n-1) and the following ratio of the previous segment and the current segment are not zero; otherwise, it is false. In the second unit, the following ratios of n continuously moving follower shafts are r[i] (i=0,1,…,n-1), the trajectory length L[i] of each active shaft, and the start and end velocities Vs[i] and Ve[i] of each segment. The motion tolerance of each follower shaft is set as tolerance. The upper and lower limits of the following ratios of each segment are initialized. If bAdjust[k] or bAdjust[k+1] is true, the upper and lower limits of the following ratio r[k] of each segment are calculated. r_min[k]=r[k]-tolerance / L[k], r_max[k]=r[k]+tolerance / L[k]; The third unit calculates the velocity mutation corresponding to index k: if bAdjust[k] is true, calculate the velocity mutation at the corresponding connection point. Vd=Vs[k]×r[k]-Ve[k-1]×r[k-1], And store the combination of the absolute values of indices k and Vd in a dynamic space M; In the fourth unit, if M is empty, no further adjustment is needed, and proceed to step S8; otherwise, extract the set of values with the largest absolute value of the velocity mutation in M, obtain its corresponding index j, and delete the node from M. Let i=j-1, k=j+1, Vd=Vs[j]×r[j]-Ve[i]×r[i], x=Vd / (Vs[j]×L[i]+Ve[i]×L[j]); In the fifth unit, delete the nodes corresponding to i, j, k from M, where the node corresponding to j has already been deleted in step S4 and does not need to be deleted again; Unit 6, adjust the following ratio of adjacent segments at this connection point: r[i]=r[i]+L[j]×x, r[j]=r[j]-L[i]×x; Unit 7: Recalculate the velocity mutations corresponding to i, j, k and add them to M, then proceed to step S4; Unit 8 concludes the smoothing of the follower ratio for this follower axis.
9. A computing device, characterized in that, It includes at least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to perform the method as described in any one of claims 1 to 7.
10. A machine-readable storage medium, characterized in that, The machine stores executable instructions that, when executed, cause the machine to perform the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Method and device for identifying road conditions and storage medium
CN110197583A
Adjacent rod wire length correction method, device and equipment and storage medium
CN116127664A