Share this

Research on a Novel Velocity Smoothing Algorithm Based on Quasi-linearity

2026-04-06 03:39:25 · · #1
With the development of motion control systems, modern control systems are becoming increasingly powerful, and some relatively complex control algorithms have been applied in machining systems, leading to continuous improvements in the speed and accuracy of trajectory motion. During high-speed operation, the control system is required to smoothly control the trajectory motion to prevent large impacts from affecting machining quality. This paper proposes a novel speed smoothing algorithm with "look-ahead" quasi-linear function, which can effectively reduce impacts and improve machining speed and accuracy. "Look-ahead" refers to observing a distance ahead during machining, determining whether it is a quasi-linear path based on turning points and speed allowances, and then performing coarse and fine interpolation calculations based on the S-shaped speed curve. Basic Principles Inflection Point Determination [align=center]Figure 1 Radius of Curvature[/align] As shown in Figure 1, assume p1, p2, and p3 are three points on a trajectory. These three points can define a circle, and the radius of this circle is taken as the radius of curvature of point p2. Based on the coordinates of the three points, and then using the radius and the maximum acceleration (as centripetal acceleration), the allowable velocity at this radius of curvature can be calculated: aa = (vc'/delt_t)²/r; v'c = sqrt(raa)delt_t. The minimum value among the allowable velocity at the inflection point, vh, and the allowable velocity at the radius of curvature is taken as the velocity of that point. Centripetal acceleration can also be decomposed into acceleration components in the x and y directions. θ is the angle between and , ci=1/ri is the curvature of point pi. The criteria for judging high curvature points are as follows, and high curvature points here are regarded as the first type of velocity inflection points [1] (speed reduction is required at the inflection point): (a) ci>ci-1 and ci>ci+1; (b) θ≤90°; (c) θ>90°. If point pi satisfies both criteria (a) and (b), it can be determined that this point is a sharp inflection point; if pi satisfies both criteria (a) and (c), it can be determined that this point is a high curvature point but not a sharp inflection point. Non-sharp inflection points may be contained within quasi-straight lines, while sharp inflection points must be deceleration points. [align=center] Figure 2 Inflection points and quasi-straight lines [/align] Quasi-straight line concept Definition of quasi-straight line segment: The combination of line segments between two inflection points (or the starting point and the inflection point). Within a quasi-straight line segment, the speed at the intersection of all two line segments is less than the allowable speed, so it can be regarded and calculated as a straight line. Key parameters describing a quasi-straight line: initial velocity v0, final velocity ve, and length (the sum of the lengths of all segments within the line). Once these three parameters are determined, a unique S-shaped velocity curve can be identified. As shown in Figure 2, p1 to p4 constitute a quasi-straight line with a length l = l1 + l2 + l3. A straight segment is a special case of a quasi-straight line segment. Safety of a quasi-straight line segment: When the final velocity of a quasi-straight line segment is the minimum velocity v0, the quasi-straight line is safe and will not cause impact due to the inability to connect with subsequent quasi-straight lines; at most, it will cause a pause. Merging quasi-straight line segments: The final velocity of the preceding quasi-straight line segment equals the initial velocity of the following quasi-straight line segment. For the following quasi-straight line segment, if its length l cannot satisfy the requirement of decreasing from its initial velocity v'o to its final velocity v'e according to the deceleration model, then this quasi-straight line segment must be merged with the preceding quasi-straight line segment to form a new quasi-straight line segment. If l4 cannot satisfy the condition of decreasing from its initial velocity v'o to its final velocity v'e, then p4p5 merges with the previous quasi-straight segment p1~p4 to form a new quasi-straight segment p1~p5. This new quasi-straight segment has an initial velocity v0, a final velocity v'e, and a length l' = l1 + l2 + l3 + l4. Any quasi-straight segment, as long as its final velocity ve > v0, can potentially merge with the next quasi-straight segment. The merging process is a backward calculation until the deceleration model is satisfied. This backward calculation process is specific to quasi-straight segments, significantly improving efficiency compared to previous algorithms. Calculate vt. At point pi, the magnitude of the velocity remains constant, but the direction changes, resulting in δv. δv = vtsin(θ/2)², which gives δv = vtsin(θ/2). Substituting aa into at, we can find vt, and δt = 1ms. Determine: if vt ≤ vh, then vt is the permissible velocity at that point, vc = vt, and that point is an inflection point; otherwise, vt > vh, and the intersection point is not an inflection point. Calculate the permissible velocity using the radius of curvature, and take the minimum of the two values ​​as the permissible velocity vc at that point. When the permissible velocity vc at the intersection of two straight line segments is greater than or equal to the maximum velocity vh, then the intersection point is not an inflection point, as shown in p2 and p3 in Figure 2. Based on the initial velocity vo (or current velocity v1) and the permissible velocity (vc) at the intersection of the two straight line segments... Interpolation Algorithm Timing Interpolation Algorithm The timing interpolation (coarse interpolation) algorithm calculates the velocity of the current segment by recursively calculating acceleration and velocity. Based on the timing delta_t, delta_l = v × delta_t is obtained. The remaining distance is used to verify the deceleration trigger point on the straight line. The triggering process of the deceleration point is shown in Figure 3. [align=center]Figure 3 Using the remaining distance to verify the deceleration trigger point[/align] Coarse Interpolation Algorithm The coarse interpolation algorithm is equal-length segmentation. It processes the distance li (δxi, δyi) obtained after timing segmentation. The length of the straight line is l = σli, which means dividing li into m equal parts. If each segment has a fixed length of l, (i.e., the x-direction is divided into mx equal parts and the y-direction into my equal parts). li = vi δt, as shown in Figure 4. After timing segmentation, a velocity map of v1, v2, v3... is formed. After fixed-length segmentation, v1 and v2 are also subdivided. The subdivided velocities are recorded as v11, v12, ..., v1m. According to the formula, calculate the velocity values ​​between v2 and v3. [align=center] Figure 4 Coarse interpolation velocity graph[/align] Conclusion The experimental results are shown in Figure 5. The reference data used in the experiment are aa = 1000; ad = -1000; vsa = 2000; vsd = 2000; delt_t = 0.001; vh = 5000; ja = aa×aa/(2×vsa) ; jd = ad×ad/(2×vsd) ; The programming uses a C/C++ environment based on VC6.0, and the software generates G code which is downloaded to the MPC05 card. [align=center] Figure 5 Velocity curve[/align] It is clear from Figure 5 that the velocity achieved a very good smoothness. There are six quasi-straight lines in Figure 5, therefore there are six S-shaped velocity curves. Through testing on the motor gears, the mechanical vibration has been significantly improved, with no obvious impact. Experiments have shown that the algorithm can effectively reduce mechanical vibration and improve the accuracy and quality of mechanical cutting. Further research is needed on the error analysis of the algorithm.
Read next

CATDOLL 128CM Katya (TPE Body with Soft Silicone Head)

Height: 128cm Weight: 19kg Shoulder Width: 30cm Bust/Waist/Hip: 57/52/63cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm Anal...

Articles 2026-02-22
CATDOLL Tami Hard Silicone Head

CATDOLL Tami Hard Silicone Head

Articles
2026-02-22
CATDOLL Milana Hard Silicone Head

CATDOLL Milana Hard Silicone Head

Articles
2026-02-22
CATDOLL 133CM Kiki Shota Doll

CATDOLL 133CM Kiki Shota Doll

Articles
2026-02-22