## 4 Bidirectional Feed Rate Scanning of S-Shaped Profile
The different characteristics are compared and analyzed in Figure 6:8 Due to the randomness in each run time, the recorded times in the table represent approximate values within the specified intervals. The methods employed by X.D. and L.F. fall under the category of open-loop chord error constraint curve segmentation, thus eliminating the need for iteration and avoiding an increase in time cost. On the other hand, L.H. and the method proposed in this paper primarily consume time in curve iteration and segmentation. Despite requiring more time compared to open-loop methods, the additional time cost is relatively small due to the chord error meeting the machining requirements, and its significance far outweighs the time cost. Regarding cumulative interpolation errors, both L.F. and the method proposed in this paper can achieve unbiased interpolation. However, L.F. incurs a longer processing time, primarily attributed to the continuous updating of the parameter \(u\) in the binary search method, rendering it challenging for real-time interpolation processes. The total duration time increases compared to X.D., but this is acceptable because it meets the machining quality requirements, providing a certain level of efficiency and precision improvement compared to the other two methods. Figure 11 illustrates the results of the segmentation and interpolation of NURBS using different methods. From Figure 11b,c, it can be observed that X.D. is subject to an open-loop chord error constraint, leading to significant trajectory deviation. L.H. involves altering control points to ensure chord error constraint, but such modifications result in trajectory displacement. Figure 11d presents truncation error, indicating that without closed-loop Taylor interpolation, the curve is influenced by cumulative interpolation and Taylor expansion truncation error, preventing closure. In contrast, the proposed method in \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Parameters** & **X.D. [14]** & **L.H. [8]** & **L.F. [32]** & **Ours** \\ \hline Number of iterations & 0 & 9 & 0 & 5 \\ Iterations’ computational time (s) & 0 & 8 & 0 & 0.7 \\ Max chord error (mm) & 1.8 & 0.03 & 2 & 0.001 \\ End value of \(u\) & 0.997 & 0.997 & 0.999 & 1 \\ Truncation error (mm) & 0.001 & 0.001 & 0 & 0 \\ Bidirectional scanning (s) & 0.01 & 0.1 & 0.01 & 0.3 \\ Once s-shaped feed rate profile (s) & 0.00006 & 0.00006 & 0.00006 & 0.00007 \\ Interpolation time (s) & 9 & 10 & 13 & 10 \\ Total duration time (s) & 10 & 19 & 14 & 12 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Performance parameters for different methods. Figure 10: Simulation for butterfly NURBS curve: (**a**) butterfly NURBS curve; (**b**) curve segmented into type-C curve by zero curvature point; (**c**) type-C curves that satisfy \(\delta=0.001\) mm; (**d**) comparison with/without chord error constraint; (**e**) NURBS interpolation displacement; (**f**) NURBS interpolation feed rate. this paper ensures trajectory accuracy while eliminating cumulative interpolation errors, resulting in an unbiased trajectory. ### Experiment of Robot Path for a Fan NURBS Curve

To demonstrate the proposed method, an experiment was conducted on a 6-DoF industrial robot. The robot machining system is shown in Figure 12. A complete robot system typically comprises three frames: the base frame, the tool frame, and the workpiece frame. The workpiece frame {w} is exclusively associated with the machining process and is unrelated to calibration. The base frame {base} is typically fixed beneath the first joint of the robot, serving as the primary reference system. The tool frame {tool} is located at the end of the robot. Figure 11: Curve segmentation and interpolation results: (**a**) interpolation of NURBS curves and the blue circles represent discrete points on the theoretical NURBS path; (**b**) detailed view of area A; (**c**) detailed view of area B; (**d**) detailed view of area C [8; 14; 32]. Figure 12: Robot machining system: (**a**) industrial robot; (**b**) frames.