Have a personal or library account? Click to login
A CATMULL-ROM SPLINE BASED ANALYTICAL C3 CONTINUOUS TOOL PATH SMOOTHING METHOD FOR ROBOTIC MACHINING Cover

A CATMULL-ROM SPLINE BASED ANALYTICAL C3 CONTINUOUS TOOL PATH SMOOTHING METHOD FOR ROBOTIC MACHINING

By: Xu-Lin CAI,  Wen-An YANG and  You-Peng YOU  
Open Access
|Dec 2025

Full Article

1.
INTRODUCTION

With advancements in robot technology, both the stiffness and accuracy of industrial robots have significantly improved. As a result, industrial robots are increasingly applied in the field of metal cutting [1, 2], particularly in the flexible machining of large aerospace components, due to their advantages of low cost, high efficiency, flexibility, and expansive workspace. Traditionally, industrial robots have been used for tasks such as transporting objects from one location to another, where only the final positioning accuracy was of concern. However, for contour motion tasks, such as tool path planning, it is essential to ensure both deviation error constraints and the continuity of the smoothed tool path throughout the entire trajectory. Consequently, tool path planning in these applications is far more complex than traditional point-to-point tasks, leading to growing research interest in recent years [3-5].

Discrete linear motion commands generated by Computer-Aided Manufacturing (CAM) software are commonly employed in Computer Numerical Control (CNC) machining [6]. However, these commands lead to discontinuities in feedrate and theoretically infinite acceleration at the corners due to tangential discontinuities. To ensure smooth and continuous feed drive motions, it is necessary to smooth these discrete linear motion commands to achieve high-order geometric continuity before they are sent to the robot drives for machining. Tool path planning methods can be categorized based on the reference frame in which the tool path command positions are represented. These methods are generally classified into joint space and task space methods [7, 8]. In the joint space method, tool paths are defined within the joint space, and motion commands are smoothed directly for individual robot joints [9, 10]. This method has the advantage of directly driving the robot joints using the planned path without the need for kinematic transformations. However, it does not allow for intuitive collision checking and faces challenges in constraining the positional deviation errors of the tool's orientation relative to the workpiece. To address these limitations, task space methods have been developed, wherein tool paths are defined in the workpiece coordinate system (WCS) as tool tip positions and orientations [11, 12]. Moreover, tool path smoothing methods can be further divided into global and local smoothing methods, depending on the spline construction method used. In the global smoothing method, the discrete linear commands are represented by an entire spline [12, 13], which facilitates smoothness and continuity along the entire tool path. However, this method faces difficulties in evaluating and constraining the deviation errors between the smoothed and original tool paths. In contrast, the local smoothing method introduces micro splines at the corners between adjacent discrete segments [14, 15], achieving smoothness along the tool path while addressing the drawbacks associated with global smoothing methods.

Several local smoothing methods have been developed for tool path smoothing in three, four, and five-axis machine tools to achieve various orders of motion continuity [16-18]. Among these, five-axis machine tools have garnered significant research interest due to their complex structures and kinematics. Jin et al. [19] developed a G2 continuous local smoothing method for five-axis tool paths using double G2 continuous cubic Bezier splines. Yan et al. [20] introduced a G2 continuous local smoothing method for five-axis tool paths based on a pair of double cubic NURBS curves. Huang et al. [21] developed a real-time G2 continuous local smoothing method for five-axis tool paths by replacing corners of the tool position and tool orientation paths with cubic B-splines. Zhao et al. [22] developed an analytical C2 continuous local smoothing method for five-axis tool paths using an asymmetric cubic B-spline and a pair of symmetric quartic spherical Bezier splines. Huang et al. [23] developed a C2 continuous local smoothing method for five-axis tool paths using high-order continuous arithmetic with peak-constrained jerk. The transition splines developed in these studies [19-23] are either G2 or C2 continuous, ensuring continuous acceleration but discontinuous jerk. As demonstrated by Yuen et al. [24], discontinuous jerk can excite high-order resonance frequencies in the mechanical system, resulting in increased vibrations and tracking errors. In response to this, Tulsyan et al. [25] developed an analytical C3 continuous local smoothing method for five-axis tool paths by introducing quintic and septic micro-splines to smooth the tool tip and tool orientation paths, respectively. Yang et al. [26] also developed an analytical C3 continuous local smoothing method for five-axis tool paths using a specially designed quintic micro-spline. Hu et al. [27] presented a real-time C3 continuous local smoothing method for five-axis tool paths based on C3 continuous PH splines. Since the tool orientations of five-axis machines are influenced by only two rotary axes, the deviation error constraint and synchronization problem can be more easily solved analytically. In contrast, the tool orientation of robotic machining systems is influenced by all six rotary joints simultaneously, resulting in high-dimensional nonlinear orientation kinematics between the WCS and the robot's coordinate system. This significantly complicates tool orientation smoothing and synchronization compared to five-axis machine tools. More recently, Yang et al. [28] developed an analytical C2 continuous an analytical tool path smoothing algorithm for 6-DOF robots using 5th degree PH-spline. In this method, the tool tip position and orientation are smoothed within the WCS and synchronized by replacing the remaining linear segments with specially constructed PH-splines.

In this study, an analytical C3 continuous tool path smoothing method based on Catmull-Rom (CR) splines is developed for robotic machining. First, the tool orientation, originally represented by a rotation matrix, is transformed into three rotary angles to facilitate smooth interpolation. Second, the tool tip position and orientation are smoothed separately using the developed adjustable Catmull-Rom (ACR) spline-based method, wherein deviation errors introduced by local corner smoothing are constrained through control points. Additionally, the deviation errors caused by ACR smoothing are optimized using a simple yet efficient method. Third, the tool tip position and orientation are synchronized with the tool tip displacement while maintaining C3 continuity by replacing the remaining linear segments with ACR splines. Notably, the control points for this process do not require additional computations, significantly reducing computational overhead. The remainder of this study is structured as follows: Section 2 presents the mathematical representation of tool tip position and orientation. Section 3 introduces the ACR spline-based corner smoothing method for tool tip position and orientation, including a brief overview of ACR splines and the deviation error optimization method. Section 4 details the synchronization method for tool tip position and orientation. Numerical simulation results verifying the developed method are provided in Section 5, followed by conclusions in Section 6.

2.
REPRESENTATION OF TOOL TIP POSITION AND ORIENTATION

For the robotic machining system as shown in Fig. 1, the transfer matrix of tool frame related to workpiece frame can be represented by a homogeneous transformation matrix:

Fig. 1.

Transformation of tool frame related to workpiece frame in robotic machining system

1T=[Rp01]\[T = [\begin{array}{*{20}{c}} R&p\\ 0&1 \end{array}]\]

whereRandpdenote the rotation matrix and translation offset vector, respectively.

The tool tip position and orientation of industrial robot in the WCS can be determined by:

2p=[x,y,z]T,R=[r11r12r13r21r22r23r31r32r33]\[p = {[x,y,z]^T},\;R = [\begin{array}{*{20}{c}} {{r_{11}}}&{{r_{12}}}&{{r_{13}}}\\ {{r_{21}}}&{{r_{22}}}&{{r_{23}}}\\ {{r_{31}}}&{{r_{32}}}&{{r_{33}}} \end{array}]\]

The tool tip position of the industrial robot can be smoothed directly in the displacement space of [x, y, z]T. However, to satisfy the mathematical constraint of the unit orthogonal transformation of tool orientation, the rotation matrix R should firstly be transformed as three rotary angles [α,β,γ]T that rotated around the fixed global coordinate system as shown in Fig. 2, and then the tool orientation of the industrial robot can be smoothed in the rotation space of [α,β,γ]T.

Fig. 2.

Rotation around fixed global coordinate system

3R=Rz(α)Ry(β)Rx(γ)=[CαCβSαCγ+CαSβSγSαSγ+CαSβCγSαSβCαCγ+SαSβSγCαCγ+SαSβCγSβCβSγCβCγ]\[R = {R_z}(\alpha ){R_y}(\beta ){R_x}(\gamma ) = [\begin{array}{*{20}{c}} {{C_\alpha }{C_\beta }}&{ - {S_\alpha }{C_\gamma } + {C_\alpha }{S_\beta }{S_\gamma }}&{{S_\alpha }{S_\gamma } + {C_\alpha }{S_\beta }{C_\gamma }}\\ {{S_\alpha }{S_\beta }}&{{C_\alpha }{C_\gamma } + {S_\alpha }{S_\beta }{S_\gamma }}&{ - {C_\alpha }{C_\gamma } + {S_\alpha }{S_\beta }{C_\gamma }}\\ { - {S_\beta }}&{{C_\beta }{S_\gamma }}&{{C_\beta }{C_\gamma }} \end{array}]\]

where Sα , Sβ , Sγ , Cα , Cβ and Cγ de-notesin α,sin β,sin γ,cos α,cos βandcos γ, respectively. It is not difficult to obtain the following relations by combining Eq. (2) and Eq. (3):

4{β=π2α=0ifβ=π2γ=atan2(r12,r22){β=π2α=0ifβ=π2γ=atan2(r12,r22){β=atan2(r31,r112+r212)α=atan2r21cβ,r11cβifβ±π2γ=atan2r32cβ,r33cβ\[\begin{array}{l} \{ \begin{array}{*{20}{c}} {\beta = \frac{\pi }{2}}&{}\\ {\alpha = 0}&{if\;\beta = \frac{\pi }{2}\;}\\ {\gamma = a\tan 2({r_{12}},{r_{22}})}&{} \end{array}\\ \{ \begin{array}{*{20}{c}} {\beta = - \frac{\pi }{2}}&{}\\ {\alpha = 0}&{if\;\beta = - \frac{\pi }{2}\;}\\ {\gamma = a\tan 2( - {r_{12}},{r_{22}})}&{} \end{array}\\ \{ \begin{array}{*{20}{c}} {\beta = a\tan 2( - {r_{31}},\sqrt {{r_{11}}^2 + {r_{21}}^2} )}&{}\\ {\alpha = a\tan 2(\frac{{{r_{21}}}}{{{c_\beta }}},\frac{{{r_{11}}}}{{{c_\beta }}})}&{if\;\beta \ne \pm \frac{\pi }{2}\;}\\ {\gamma = a\tan 2(\frac{{{r_{32}}}}{{{c_\beta }}},\frac{{{r_{33}}}}{{{c_\beta }}})}&{} \end{array} \end{array}\]

The flowchart of the developed ACR-spline-based tool path smoothing method for robotic machining system is shown in Fig. 3. In the tool path smoothing process, the maximum deviation errors of both tool tip position and orientation caused by local smoothing should be constrained. Besides, the tool tip position and orientation should be synchronized to the tool tip displacement with C3 continuity by replacing the remaining linear segments with ACR spline.

Fig. 3.

Flowchart of the proposed tool path smoothing method

3.
ANALYTICAL C3 CONTINUOUS CORNER SMOOTHING METHOD

In this section, a novel C3 continuous corner smoothing method based on ACR spline is developed. The ACR spline used in this method is derived from the quasi-CR spline function described in [30]. The developed ACR-spline-based tool path smoothing method not only achieves C3 continuity but also effectively controls deviation errors while preventing cusps and self-intersections through the optimization of two introduced adjustment parameters. Furthermore, the inserted splines and their control points are determined analytically, and the control points of the splines used to replace the remaining linear segments can be selected directly without requiring additional computations, thereby enhancing computational efficiency.

3.1.
ACR spline

In this subsection, a mathematical operation of ACR spline is described to realize not only C3 continuity of spline, but also control the deviation error, avoid cusps and self-intersections.

For control points (xi,yi,zi), i = 0,1,..., n, the CR spline in x ∈ [xi,xi+1]can be expressed as:

5{Ry,i(x)=j=03bj(xxiΔx)yi+j1Rz,i(x)=j=03bj(xxiΔx)zi+j1i=1,2,...,n2\[\{ \begin{array}{*{20}{c}} {{R_{y,i}}(x) = \sum\limits_{j = 0}^3 {{b_j}(\frac{{x - {x_i}}}{{\Delta x}}){y_{i + j - 1}}} }&{}\\ {{R_{z,i}}(x) = \sum\limits_{j = 0}^3 {{b_j}(\frac{{x - {x_i}}}{{\Delta x}}){z_{i + j - 1}}} }&{i = 1,2,...,n - 2} \end{array}\]

where ∆x = xi+1xi, i = 0,1,…,n – 1, bj(t) denote three basic functions related to the spline in this interval and will be detailed in following.

It should be noted that the use of the symbol x in Eq. (5) does not imply that the developed ACR spline construction relies on the Cartesian x-coordinate. Here, x, y and z simply denote the three components of a chosen orthogonal coordinate system, and the formulation in Eq. (5) uses x only as a representative example for clarity of exposition. In practice, the ACR spline is applied independently to each scalar component of any orthogonal coordinate representation, including Cartesian coordinates [x,y,z] (Section 3.2) or rotational parameters such as Euler angles [α, β, γ] (Section 3.3). Therefore, the method is not restricted to the x-channel, and the case x=0 does not constitute a degenerate situation: as long as the remaining coordinates (e.g., y or z) are available, the spline can be constructed and evaluated in exactly the same manner. The same basis functions apply to every coordinate component, and the choice of which component is illustrated is merely for notational simplicity, not a structural dependency of the algorithm.

3.1.1.
Basis functions of the ACR spline

To achieve C3 continuity and adjustability of the constructed CR spline, the order of its basis functions is set to seven, with two parameters introduced to enhance flexibility. Additionally, these basis functions must satisfy key properties, including unitary, symmetry, and continuity. By formulating linear equations involving the coefficients of the basis functions, the required basis functions can be derived by solving these equations, yielding the following results:

6{b0(t)=κl0(t)+λm0(t)b1(t)=κl1(t)+λm1(t)+n1(t)b2(t)=κl0(t)+λm2(t)+(1n1(t))b3(t)=κl1(t)λ(m0(t)+m1(t)+m2(t))\[\{ \begin{array}{*{20}{c}} {{b_0}(t) = \kappa {l_0}(t) + \lambda {m_0}(t)}\\ {{b_1}(t) = \kappa {l_1}(t) + \lambda {m_1}(t) + {n_1}(t)}\\ {{b_2}(t) = - \kappa {l_0}(t) + \lambda {m_2}(t) + (1 - {n_1}(t))}\\ {{b_3}(t) = - \kappa {l_1}(t) - \lambda ({m_0}(t) + {m_1}(t) + {m_2}(t))} \end{array}\]

where t ∈ [0,1], κ,λ ∈ Rare introduced adjustment parameters and:

7{l0(t)=t+20t445t5+36t610t7l1(t)=15t439t5+34t610t7m0(t)=t210t4+20t515t6+4t7m1(t)=2t2+25t454t5+43t612t7m2(t)=t220t4+48t541t6+12t7n1(t)=135t4+84t570t6+20t7\\[\left\{ {\begin{array}{*{20}{c}}{{l_0}(t) = - t + 20{t^4} - 45{t^5} + 36{t^6} - 10{t^7}}\\{{l_1}(t) = 15{t^4} - 39{t^5} + 34{t^6} - 10{t^7}}\\{{m_0}(t) = {t^2} - 10{t^4} + 20{t^5} - 15{t^6} + 4{t^7}}\\{{m_1}(t) = - 2{t^2} + 25{t^4} - 54{t^5} + 43{t^6} - 12{t^7}}\\{{m_2}(t) = {t^2} - 20{t^4} + 48{t^5} - 41{t^6} + 12{t^7}}\\{{n_1}(t) = 1 - 35{t^4} + 84{t^5} - 70{t^6} + 20{t^7}}\end{array}} \right.\]

It is not difficult to obtain from Eq. (6): i=03bi(t)=1\[\sum\nolimits_{i = 0}^3 {{b_i}} (t) = 1\] and bi(1−t)=b3-i(t), which verifies the unitary and symmetry of the constructed basis functions, respectively; besides, the following relationship can be obtained, which is of great importance to verify the interpolate property and continuity of the ACR spline:

8{b0(0)=0,b1(0)=1,b2(0)=0,b3(0)=0b0(1)=0,b1(1)=0,b2(1)=1,b3(1)=0\\[\{ \begin{array}{*{20}{c}} {{b_0}(0) = 0,{b_1}\left( 0 \right) = 1,{b_2}(0) = 0,{b_3}(0) = 0}\\ {{b_0}(1) = 0,{b_1}(1) = 0,{b_2}(1) = 1,{b_3}(1) = 0} \end{array}\] 9{b0'(0)=k,b1'(0)=1,b2'(0)=k,b3'(0)=0b0'(1)=0,b1'(1)=κ,b2'(1)=0,b3'(1)=κ\[\{ \begin{array}{*{20}{c}} {b_0^'(0) = - k,b_1^'(0) = 1,b_2^'(0) = k,b_3^'(0) = 0}\\ {b_0^'(1) = 0,b_1^'(1) = - \kappa ,b_2^'(1) = 0,b_3^'(1) = \kappa } \end{array}\] 10{b0"(0)=2λ,b1"(0)=4λ,b2"(0)=2λ,b3"(0)=0b0"(1)=0,b1"(1)=2λ,b2"(1)=4λ,b3"(1)=2λ\[\left\{ {\begin{array}{*{20}{c}} {b_0^(0) = 2\lambda ,b_1^(0) = - 4\lambda ,b_2^(0) = 2\lambda ,b_3^(0) = 0}\\ {b_0^(1) = 0,b_1^(1) = 2\lambda ,b_2^(1) = - 4\lambda ,b_3^(1) = 2\lambda } \end{array}} \right.\] 11{b0(0)=0,b1(0)=0,b2(0)=0,b3(0)=0b0(1)=0,b1(1)=0,b2(1)=0,b3(1)=0\[\{ \begin{array}{*{20}{c}} {b_0^{'}(0) = 0,b_1^{'}(0) = 0,b_2^{'}(0) = 0,b_3^{'}(0) = 0}\\ {b_0^{'}(1) = 0,b_1^{'}(1) = 0,b_2^{'}(1) = 0,b_3^{'}(1) = 0} \end{array}\]
3.1.2.
Properties of ACR spline

Interpolate property: Let the original control-point sequence be (x0,y0,z0) … (xn,yn,zn). If two auxiliary control points (x−1,y−1,z−1) and (xn+1,yn+1,zn+1) are appended to Eq. (5), then synthesizing Eq. (5) and Eq. (8) yields the interpolation property at the endpoints:

12{Ry,i(xi)=yiRy,i(xi+1)=yi+1Rz,i(xi)=ziRz,i(xi+1)=zi+1i=1,2,...,n1\\[\{ \begin{array}{*{20}{c}} {{R_{y,i}}({x_i}) = {y_i}}&{}\\ {{R_{y,i}}({x_{i + 1}}) = {y_{i + 1}}}&{}\\ {{R_{z,i}}({x_i}) = {z_i}}&{}\\ {{R_{z,i}}({x_{i + 1}}) = {z_{i + 1}}}&{i = 1,2,...,n - 1} \end{array}\]

which means that ACR splines always interpolates these given control points.

Continuity: It can be derived by combining Eq. (5) with Eqs. (9)-(11):

13{Ry,i'(xi+1)=κΔx(yi+3yi+1)=Ry,i+1'(xi+1)Rz,i'(xi+1)=κΔx(zi+3zi+1)=Rz,i+1'(xi+1)Ry,i"(xi+1)=2λΔx2(yi+12yi+2+yi+3)=Ry,i+1"(xi+1)Rz,i"(xi+1)=2λΔx2(zi+12zi+2+zi+3)=Rz,i+1"(xi+1)Ry,i'''(xi+1)=0=Ry,i+1'''(xi+1)Rz,i'''(xi+1)=0=Rz,i+1'''(xi+1)\[\left\{ {\begin{array}{*{20}{c}} {R_{y,i}^'({x_{i + 1}})}&{ = \frac{\kappa }{{\Delta x}}({y_{i + 3}} - {y_{i + 1}}) = R_{y,i + 1}^'({x_{i + 1}})}\\{R_{z,i}^'({x_{i + 1}})}&{ = \frac{\kappa }{{\Delta x}}({z_{i + 3}} - {z_{i + 1}}) = R_{z,i + 1}^'({x_{i + 1}})}\\{R_{y,i}^({x_{i + 1}})}&{ = \frac{{2\lambda }}{{\Delta {x^2}}}({y_{i + 1}} - 2{y_{i + 2}} + {y_{i + 3}}) = R_{y,i + 1}^({x_{i + 1}})}\\{R_{z,i}^({x_{i + 1}})}&{ = \frac{{2\lambda }}{{\Delta {x^2}}}({z_{i + 1}} - 2{z_{i + 2}} + {z_{i + 3}}) = R_{z,i + 1}^({x_{i + 1}})}\\{R_{y,i}^{'}({x_{i + 1}})}&{ = 0 = R_{y,i + 1}^{'}({x_{i + 1}})}\\{R_{z,i}^{'}({x_{i + 1}})}&{ = 0 = R_{z,i + 1}^{'}({x_{i + 1}})}\end{array}} \right.\]

which means that ACR spline always satisfies C3 continuity.

Adjustability: Since the basis function shown in Eq. (6) contains two parameters κ. and λ, the shape of the ACR spline can be adjusted by changing the values ofκandλwhile all related control points remain unchanged.

Local property: As can be seen from Eq. (5), each ACR spline function Ri(x) is only affected by four control points (xi+j,yi+j,zi+j), wherej = 0,1,2,3. Therefore, when the adjustment parametersκandλare selected, the change of the one control point will affect the shape of four segments ACR spline related to it.

Avoidance of cusps and self-intersections: The ACR construction employed in this work incorporates analytical design choices that intrinsically avoid cusps and self-intersections without requiring additional iterative procedures. Specifically, the control points used to anchor an inserted ACR spline at a corner are placed on the incident linear segments and arranged symmetrically with respect to the corner bisector; the explicit control-point construction is given in Eq. (14). This symmetric placement ensures geometric balance of the control polygon and prevents abrupt sign changes of the tangent direction at the corner, which is a principal cause of cusps.

In addition, the portion of each linear segment reserved for spline insertion is strictly bounded by the segment-span constraints stated in the paper: the inserted spline occupies no more than one third of a shared linear segment (see Eqs. (16)(17)). These analytic length bounds limit excessive local bending on short segments and therefore reduce the geometric conditions that can lead to self-intersection.

Finally, the two adjustment parameters κ and λ that define the ACR basis functions control local convexity and curvature concentration. In the present method κ and λ are chosen by the optimization routine described in Section 3.4 so that the ACR shape minimizes the prescribed deviation metrics while remaining within prescribed parameter bounds; this constrained parameter selection further prevents curvature concentrations that could induce cusps or self-intersections. The combination of (i) analytic, symmetric con-trol-point placement (Eq. (14)), (ii) explicit segment-span limits (Eqs. (16)(17)), and (iii) constrained k/K adjustment via the optimization described in Section 3.4 is the basis upon which the manuscript guarantees the absence of cusps and self-intersections for the constructed ACR corner splines.

3.1.3.
Advantages of Using the Catmull-Rom Spline for Corner Smoothing

The CR spline is adopted in this study mainly because it provides several properties that are particularly suitable for local corner smoothing in tool-path planning. In addition, the ACR formulation used here–obtained by introducing two shape parametersκandλinto the basis functions–retains the classic CR advantages while adding useful degrees of freedom for practical tool-path control.

  • Interpolation of data points. The CR splines are interpolatory and the curve passes through its control points. This property ensures that discrete tool tip positions and orientations at commanded tool tip points and tool orientations are preserved and that smoothing does not shift the programmed trajectory. Compared with B-splines/NURBS, this avoids solving global interpolation systems and simplifies local corner treatment.

  • Locality and analytically assignable control points. The CR splines have strictly local support: manipulation of a single control point affects only neighboring spline pieces. This locality enables analytical assignment and local adjustment of control points at each corner without affecting distant portions of the path. The ACR retains this local property, soκandλcan be tuned locally to alter curvature and convexity only in the intended corner region.

  • Adjustable shape for cusp/self-intersection avoidance. The two parameters in ACR directly control higher-order basis coefficients and therefore the local curvature and inflection behavior of the inserted micro-spline. This extra tunability permits analytic enforcement of convexity constraints and reduction of local curvature peaks, which helps to avoid cusps and self-intersections without resorting to global re-fitting. In our algorithm these parameters are chosen (analytically or via the local optimization in Section 3.4) to minimize deviation error while satisfying curvature/clearance constraints.

  • High-order smoothness with analytic control. Although a standard CR produces C1 continuity by construction, the ACR basis (7th-order with parameterization) enables analytic control of derivatives up to third order at junctions when control points are assigned according to the scheme in Section 3.23.4. Achieving equivalent C3 behavior with Bézier, Hermite or PH splines typically requires higher-degree polynomial pieces or constrained optimizations; ACR provides a compact analytic alternative that is straightforward to enforce locally.

  • Parameterization flexibility and numerical stability. The ACR supports different parameterizations (e.g. chordal/ centripetal) which reduce oscillations and the risk of unwanted loops that may appear with uniform parameterization. The combination of centripetal parameterization and local (κ,λ) tuning enhances numerical robustness in corner regions.

  • Computational efficiency and practical deployment. The ACR admits explicit analytic expressions for positions and derivatives and–importantly–permits closed-form selection rules for many control points. This reduces computational burden compared to optimization-heavy methods (e.g. global NURBS fitting or constrained quintic blends), making the method more suitable for near-real-time tool-path preprocessing on CNC/robotic controllers. For segments where computation cost must be minimized, the adjustment parameters can be set to nominal values and only problematic corners are tuned.

  • Compatibility with arc-length reparameterization and feedrate/jerk control. Because analytic derivatives are available, ACR integrates readily with arc-length reparameterization and feedrate scheduling procedures to enforce curvature and jerk limits–facilitating construction of C3 continuous trajectories that are synchronized in both position and orientation.

In summary, the ACR spline combines the interpolatory accuracy and local control of classical CR splines with additional, analytically tunable shape parameters that improve robustness (anti-self-intersection), enable local curvature shaping, and retain computational simplicity–features that together make ACR particularly well suited for corner smoothing in robotic machining.

3.2.
Tool tip position corner smoothing method

In this subsection, the tool-tip position corner <Pi-1PiPi+1 shown in Fig. 4 is chosen as an example to illustrate the developed tool tip smoothing method, where Pi-1, Pi and Pi+1are three end points of the adjacent linear segments. The ACR spline described in Section 3.1 is utilized to smooth the tool-tip position at this transition corner under the positional error tolerance εp. Here εp is defined in the Cartesian coordinate system and has units of length.

Fig. 4.

Corner smoothing of tool tip position

In order to ensure the tangential continuity of the constructed ACR spline and the original line segment, considering the continuity and local property of the constructed CR spline, the control points

Q0Q3and Q7Q10

are located on the linear segments

Pl1Pl\[{\overrightarrow {{P_{i - 1}}P} _i}\] and PlPl+1\[\overrightarrow {{P_i}{P_{i + 1}}} \]respectively.

Besides, to realize the geometric symmetry of the inserted ACR splines with respect to the bisector of the angle formed by adjacent position segments, and to avoid cusps and self-intersections at the same time, the following control points are constructed:

14{Q5=Pi+TpmLpQ3=Pi2Tp0Lpsin(θp2)Q7=Pi+2Tp1Lpsin(θp2)Q2=1.5Q30.5PiQ8=1.5Q70.5PiQ1=2Q3PiQ9=2Q7PiQ0=2.5Q31.5PiQ10=2.5Q71.5PiQ4=0.9Rp1+0.1Rp2Q6=0.1Rp1+0.1Rp2\[\{ \begin{array}{{c}} \frame{\frame{Q_5} = \frame{P_i} + \frame{T_\frame{pm}}\frame{L_p}} \\ \frame{\frame{Q_3} = \frame{P_i} - \frac{\frame{2\frame{T_\frame{p0}}\frame{L_p}}}{\frame{\sin (\frac{\frame{\frame{\theta _p}}}{2})}}} \\ \frame{\frame{Q_7} = \frame{P_i} + \frac{\frame{2\frame{T_\frame{p1}}\frame{L_p}}}{\frame{\sin (\frac{\frame{\frame{\theta_p}}}{2})}}} \\ \frame{\frame{Q_2} = 1.5\frame{Q_3} - 0.5\frame{P_i}} \\ \frame{\frame{Q_8} = 1.5\frame{Q_7} - 0.5\frame{P_i}} \\ \frame{\frame{Q_1} = 2\frame{Q_3} - \frame{P_i}} \\ \frame{\frame{Q_9} = 2\frame{Q_7} - \frame{P_i}} \\ \frame{\frame{Q_0} = 2.5\frame{Q_3} - 1.5\frame{P_i}} \\ \frame{\frame{Q_\frame{10}} = 2.5\frame{Q_7} - 1.5\frame{P_i}} \\ \frame{\frame{Q_4} = 0.9\frame{R_\frame{p1}} + 0.1\frame{R_\frame{p2}}} \\ \frame{\frame{Q_6} = 0.1\frame{R_\frame{p1}} + 0.1\frame{R_\frame{p2}}} \\ \end{array} \]

where

15{Tp0=Pl1PlPl1PlTp1=PlPl+1PlPl+1Tpm=(Tp1Tp0)Tp1Tp0Rp1=Q33+2(PiTp0Lpsin(θp2))3Rp2=Q73+2(Pi+Tp1Lpsin(θp2))3Lpεp\\[\{ \begin{array}{*{20}{c}} {{T_{p0}} = \frac{{\overrightarrow {{P_{l - 1}}{P_l}} }}{{\left\| {{{\overrightarrow {{P_{l - 1}}P} }_l}} \right\|}}}\\ {{T_{p0}} = \frac{{\overrightarrow {{P_l}{P_{l + 1}}} }}{{\left\| {\overrightarrow {{P_l}{P_{l + 1}}} } \right\|}}}\\ {{T_{pm}} = \frac{{({T_{p1}} - {T_{p0}})}}{{\left\| {{T_{p1}} - {T_{p0}}} \right\|}}}\\ {{R_{p1}} = \frac{{{Q_3}}}{3} + 2\frac{{(pi - \frac{{{T_{p0}}{L_p}}}{{\sin (\frac{{{\theta _p}}}{2})}})}}{3}}\\ {{R_{p2}} = \frac{{{Q_7}}}{3} + 2\frac{{(pi +\frac{{{T_{p1}}{L_p}}}{{\sin (\frac{{{\theta _p}}}{2})}})}}{3}}\\{{L_p} \le {\varepsilon _p}}\end{array}\]

where θp=arccos(Tp0Tp1).

Since each linear segment is shared by two corners (except of the first and the last linear segments), therefore, one third of the segment is retained to adjust the synchronization of the tool tip position and tool orientation, that is, the linear segment used to construct ACR spline should be less than one third of the total length of the segment:

16{Q0PlPl1Pl3PlQ10PlPl+13\{ \begin{array}{*{20}{c}} {\left\| {{{\overrightarrow {{Q_0}P} }_l}} \right\| \le \frac{{\left\| {{{\overrightarrow {{P_{l - 1}}P} }_l}} \right\|}}{3}}\\ {\left\| {\overrightarrow {{P_l}{Q_{10}}} } \right\| \le \frac{{\left\| {\overrightarrow {{P_l}{P_{l + 1}}} } \right\|}}{3}} \end{array}\

Substituting Eq. (14) into Eq. (16) and combining with the error tolerance constraint ofLp ≤ εp, the final constraints ofLpcan be obtained as:

17Lp=min(εp,Pl1Plsin(θp2)12Tp0,PlPl+1sin(θp2)12Tp1)\[{L_p} = \min ({\varepsilon _p},\frac{{\left\| {{{\overrightarrow {{P_{l - 1}}P} }_l}} \right\|\sin (\frac{{{\theta _p}}}{2})}}{{12\left\| {{T_{p0}}} \right\|}},\frac{{\left\| {\overrightarrow {{P_l}{P_{l + 1}}} } \right\|\sin (\frac{{{\theta _p}}}{2})}}{{12\left\| {{T_{p1}}} \right\|}})\]
3.3.
Tool orientation corner smoothing method

In this subsection, the tool orientation corner <Ψi-1ΨiΨi+1shown in Fig. 5 is chosen as an example to illustrate the developed tool orientation smoothing method, where Ψi-1, Ψiand Ψi+1are three end point orientations of the adjacent linear segments (expressed in the chosen Euler-angle convention). The ACR spline described in Section 3.1 is utilized to smooth the tool orientation at this transition corner under the orientation error toleranceε0. Hereε0 is an angular tolerance defined on the Euler-angle coordinates and has units of radians.

Fig. 5.

Corner smoothing of tool orientation

Similar to the method of determining control points of tool tip spline described in last subsection, the control points of the tool orientation ACR spline can be determined by following equations:

18{Φ5=Ψi+TomLoΦ3=Ψi2To0Losin(θo2)Φ7=Ψi+2To1Losin(θo2)Φ2=1.5Φ30.5ΨiΦ8=1.5Φ70.5ΨiΦ1=2Φ3ΨiΦ9=2Φ7ΨiΦ0=2.5Φ31.5ΨiΦ10=2.5Φ71.5ΨiΦ4=0.9Ro1+0.1Ro2Φ6=0.1Ro1+0.1Ro2\\[\{ \begin{array}{*{20}{c}} {{\Phi _5} = {\Psi _i} + {T_{om}}{L_o}}\\ {{\Phi _3} = {\Psi _i} - \frac{{2{T_{o0}}{L_o}}}{{\sin (\frac{{{\theta _o}}}{2})}}}\\ {{\Phi _7} = {\Psi _i} + \frac{{2{T_{o1}}{L_o}}}{{\sin (\frac{{{\theta _o}}}{2})}}}\\ {{\Phi _2} = 1.5{\Phi _3} - 0.5{\Psi _i}}\\ {{\Phi _8} = 1.5{\Phi _7} - 0.5{\Psi _i}}\\ {{\Phi _1} = 2{\Phi _3} - {\Psi _i}}\\ {{\Phi _9} = 2{\Phi _7} - {\Psi _i}}\\ {{\Phi _0} = 2.5{\Phi _3} - 1.5{\Psi _i}}\\ {{\Phi _{10}} = 2.5{\Phi _7} - 1.5{\Psi _i}}\\ {{\Phi _4} = 0.9{R_{o1}} + 0.1{R_{o2}}}\\ {{\Phi _6} = 0.1{R_{o1}} + 0.1{R_{o2}}} \end{array}\]

Where

19{To0=Ψl1ΨlΨl1ΨlTo1=ΨlΨl+1ΨlΨl+1Tom=(To1To0)To1To0Ro1=Φ33+2(ΨiTo0Losin(θo2))3Ro2=Φ73+2(Ψi+To1Losin(θo2))3Loεo\[\{ \begin{array}{*{20}{c}} {{T_{o0}} = \frac{{\overrightarrow {{\Psi _{l - 1}}{\Psi _l}} }}{{\left\| {{{\overrightarrow {{\Psi _{l - 1}}\Psi } }_l}} \right\|}}}\\ {{T_{o0}} = \frac{{\overrightarrow {{\Psi _l}{\Psi _l}_{ + 1}} }}{{\left\| {\overrightarrow {{\Psi _l}{\Psi _l}_{ + 1}} } \right\|}}}\\ {{T_{om}} = \frac{{({T_{o1}} - {T_{o0}})}}{{\left\| {{T_{o1}} - {T_{o0}}} \right\|}}}\\ {{R_{o1}} = \frac{{{\Phi _3}}}{3} + 2\frac{{(\Psi i - \frac{{{T_{o0}}{L_o}}}{{\sin (\frac{{{\theta _o}}}{2})}})}}{3}}\\ {{R_{o2}} = \frac{{{\Phi _7}}}{3} + 2\frac{{(\Psi i + \frac{{{T_{o1}}Lo}}{{\sin (\frac{{{\theta _o}}}{2})}})}}{3}}\\ {{L_o} \le \varepsilon o} \end{array}\]

where θo=arccos(To0To1).

Besides, one third of the segment should be retained to adjust the synchronization of the tool tip position and tool orientation:

20{Φ0ΨlΨl1Ψl3ΨlΦ10ΨlΨl+13\[\{ \begin{array}{*{20}{c}} {\left\| {{{\overrightarrow {{\Phi _0}\Psi } }_l}} \right\| \le \frac{{\left\| {\overrightarrow {{\Psi _{l - 1}}{\Psi _l}} } \right\|}}{3}}\\ {\left\| {\overrightarrow {{\Psi _l}{\Phi _{10}}} } \right\| \le \frac{{\left\| {\overrightarrow {{\Psi _l}{\Psi _{l + 1}}} } \right\|}}{3}} \end{array}\]

Substituting Eq. (18) into Eq. (20) and combining with the error tolerance constraint of, the constraints of L0 can be obtained as:

21Lo=min(εo,Ψl1Ψlsin(θo2)12To0,ΨlΨl+1sin(θo2)12To1)\[{L_o} = \min ({\varepsilon _o},\frac{{\left\| {{{\overrightarrow {{\Psi _{l - 1}}\Psi } }_l}} \right\|\sin (\frac{{{\theta _o}}}{2})}}{{12\left\| {{T_{o0}}} \right\|}},\frac{{\left\| {{\Psi _l}{\Psi _{l + 1}}} \right\|\sin (\frac{{{\theta _o}}}{2})}}{{12\left\| {{T_{o1}}} \right\|}})\]

It must be noted thatε0 in Eq. (21) denotes an angular tolerance in the Euler-angle parameterization (units: radians), whereas positional tolerance inεp Section 3.2 is defined in the Cartesian coordinate (units: length) system. In practical application, the tool orientation error should be constrained in WCS, as shown in Fig. 6, while the error tolerance parameter ε0 utilized in Eq. (21) is constrained in the Cartesian coordinate system. Therefore, the relationship betweenε0 and the tool orientation errorε0W in the WCS should be established.

Fig. 6.

Tool orientation error in the WCS

The tool orientation Ow = [Oi Oj, Ok]in the WCS can be expressed as:

22Ow=Rrot\[{O_w} = R \cdot {r_{ot}}\]

where the tool orientation matrix R has been obtained in Eq. (3), rot denotes the tool orientation vector related to the tool coordinate system and assumed that the tool center line is coincided with the z direction of the tool coordinate system, i.e. rot = [0,0,1]T. Hence, the following relationship can be obtained:

23{Oi=SαSγ+CαSβCγOj=CαSγ+SαSβCγOk=CβCγ\[\{ \begin{array}{*{20}{c}} {{O_i} = {S_\alpha }{S_\gamma } + {C_\alpha }{S_\beta }{C_\gamma }}\\ {{O_j} = - {C_\alpha }{S_\gamma } + {S_\alpha }{S_\beta }{C_\gamma }}\\ {{O_k} = {C_\beta }{C_\gamma }} \end{array}\]

The deviation of the tool orientation vector induced by the local smoothing in the WCS, as shown in Fig. 6, should satisfy the following relationship:

24ΔO2sin(εow2)\[\Delta O \le 2\sin (\frac{{{\varepsilon _{ow}}}}{2})\]

The approximate relationship between the deviation of tool orientation vector and rotary angles can be expressed as:

25ΔOJoεo\[\Delta O \approx {J_o}{\varepsilon _o}\]

which represents the first-order Taylor linearization of the orientation mapping, where higher-order terms have been omitted. More precisely, one may write O = J0ε0 +r0) with r(ε0)=O(ε02)\[\left\| {r({\varepsilon _0})} \right\| = O({\left\| {{\varepsilon _0}} \right\|^2})\]. The relations that follow should therefore be interpreted as approximate bounds under the small-angle/small-deviation assumption. J0is the Jacobian matrix of the tool orientation and can be expressed as the following form by combining Eq. (23) and Eq. (25):

26Jo=[oiαoiβoiγojαojβojγokαokβokγ]=[CαSγSαSβCγCαCβCγSαCγCαSβSγSαSγ+CαSβCγSαCβCγCαCγSαSβSγ0SβCγCβSγ]\[{J_o} = [\begin{array}{*{20}{c}} {\frac{{\partial {o_i}}}{{\partial \alpha }}}&{\frac{{\partial {o_i}}}{{\partial \beta }}}&{\frac{{\partial {o_i}}}{{\partial \gamma }}}\\ {\frac{{\partial {o_j}}}{{\partial \alpha }}}&{\frac{{\partial {o_j}}}{{\partial \beta }}}&{\frac{{\partial {o_j}}}{{\partial \gamma }}}\\ {\frac{{\partial {o_k}}}{{\partial \alpha }}}&{\frac{{\partial {o_k}}}{{\partial \beta }}}&{\frac{{\partial {o_k}}}{{\partial \gamma }}} \end{array}] = \begin{array}{*{20}{c}} {{C_\alpha }{S_\gamma } - {S_\alpha }{S_\beta }{C_\gamma }}&{{C_\alpha }{C_\beta }{C_\gamma }}&{{S_\alpha }{C_\gamma } - {C_\alpha }{S_\beta }{S_\gamma }}\\ {[{S_\alpha }{S_\gamma } + {C_\alpha }{S_\beta }{C_\gamma }}&{{S_\alpha }{C_\beta }{C_\gamma }}&{ - {C_\alpha }{C_\gamma } - {S_\alpha }{S_\beta }{S_\gamma }}\\ 0&{ - {S_\beta }{C_\gamma }}&{ - {C_\beta }{S_\gamma }} \end{array}]\]

Since the tool orientation error O is defined as the minimum deviation between the original tool orientation vector and the constructed spline, it can be obtained that:

27ΔOJo(ΨiΦ5+Ο(εo2)\[\Delta O \le \left\| {{J_o}({\Psi _i} - {\Phi _5}} \right\| + {\rm O}({\left\| {{\varepsilon _o}} \right\|^2})\]

Substitute Eq. (18) and Eq. (24) into the above equation:

28εo2sin(εow2)JoTom+Ο(εo2)\[{\varepsilon _o} \le \frac{{2\sin (\frac{{{\varepsilon _{ow}}}}{2})}}{{\left\| {{J_o}{T_{om}}} \right\|}} + {\rm O}({\left\| {{\varepsilon _o}} \right\|^2})\

Under small-angle assumption, higher-order terms are negligible, and substitute Eq. (28) into Eq. (21), the final constraints ofL0can be obtained as:

29Lo=min(2sin(εow2)JoTom,Ψl1Ψlsin(θo2)12To0,ΨlΨl+1sin(θo2)12To1)\[{L_o} = \min (\frac{{2\sin (\frac{{{\varepsilon _{ow}}}}{2})}}{{\left\| {{J_o}{T_{om}}} \right\|}},\frac{{\left\| {\overrightarrow {{\Psi _{l - 1}}{\Psi _l}} } \right\|\sin (\frac{{{\theta _o}}}{2})}}{{12\left\| {{T_{o0}}} \right\|}},\frac{{\left\| {\overrightarrow {{\Psi _l}{\Psi _{l + 1}}} } \right\|\sin (\frac{{{\theta _o}}}{2})}}{{12\left\| {{T_{o1}}} \right\|}}\]
3.4.
Constraint of the tool tip and tool orientation error

Smoothing the tool tip position and orientation at transition corner by using the developed ACR spline will not only result in smoothing error εp and ε0, but also the deviation between the spline segment and the linear segment ep and eOdue to the local property of the ACR spline (e.g. the spline between control points Q2 and Q3 is affected by Q4), as shown in Fig. 7. Therefore, it is necessary to control the deviation error ep and e0 by adjusting the shape of spline, and an analytical optimization method is developed to minimizeepande0 by optimizing the adjustment parameters κ. and λ in this subsection.

Fig. 7.

The deviation between spline segment and linear segment

Taking the spline segment and linear segment between control points Q2 = (x2,y2,z2) and Q3 = (x3,y3,z3)as an example, the error between the spline segment and the original linear segment can be defined as:

30ep(κ,λ)=x2x3(Ry,2(x)y(x))2+(Rz,2(x)z(x))2dx\[{e_p}(\kappa ,\lambda ) = \int_{{x_2}}^{{x_3}} {{{({R_{y,2}}(x) - y(x))}^2} + {{({R_{z,2}}(x) - z(x))}^2}dx} \]

where Ry,2 (x)andRz,2(x)are ACR spline functions in the interval x ∈ [x2,x3] with control points Q1 , Q2 , Q3 and Q4, y(x) and z(x) are the functions of linear segment between Q2 and Q3, can be expressed as:

31{y(x)=y2+(y3y2)(xx2)x3x2z(x)=z2+(z3z2)(xx2)x3x2\[\{ \begin{array}{*{20}{c}} {y(x) = {y_2} + \frac{{({y_3} - {y_2})(x - {x_2})}}{{{x_3} - {x_2}}}}\\ {z(x) = {z_2} + \frac{{({z_3} - {z_2})(x - {x_2})}}{{{x_3} - {x_2}}}} \end{array}\]

The ACR spline functions Ry,2(x) and Rz,2(x) in the intervalx ∈ [x2,x3]can be rewritten as the following form by substituting Eq. (6) into Eq. (5):

32{Ry,2(x)=Ay,2(x)κ+By,2(x)λ+Cy,2(x)Rz,2(x)=Az,2(x)κ+Bz,2(x)λ+Cz,2(x)\[\{ \begin{array}{*{20}{c}} {{R_{y,2}}(x) = {A_{y,2}}(x)\kappa + {B_{y,2}}(x)\lambda + {C_{y,2}}(x)}\\ {{R_{z,2}}(x) = {A_{z,2}}(x)\kappa + {B_{z,2}}(x)\lambda + {C_{z,2}}(x)} \end{array}\

where

33{Ay,2(x)=l0(t)y1+l1(t)y2l0(t)y3l1(t)y4By,2(x)=mo(t)y1+m1(t)y2+m2(t)y3(m0(t)+m1(t)+m2(t))y4Cy,2(x)=n1(t)y2+(1n1(t))y3Az,2(x)=l0(t)z1+l1(t)z2l0(t)z3l1(t)z4Bz,2(x)=mo(t)z1+m1(t)z2+m2(t)z3(m0(t)+m1(t)+m2(t))z4Cz,2(x)=n1(t)z2+(1n1(t))z3\[\left\{ {\begin{array}{*{20}{c}} {{A_{y,2}}(x)}&{ = {l_0}(t){y_1} + {l_1}(t){y_2} - {l_0}(t){y_3} - {l_1}(t){y_4}}\\ {{B_{y,2}}(x)}&{ = {m_o}(t){y_1} + {m_1}(t){y_2} + {m_2}(t){y_3} - ({m_0}(t) + {m_1}(t) + {m_2}(t)){y_4}}\\{{C_{y,2}}(x)}&{ = {n_1}(t){y_2} + (1 - {n_1}(t)){y_3}}\\{{A_{z,2}}(x)}&{ = {l_0}(t){z_1} + {l_1}(t){z_2} - {l_0}(t){z_3} - {l_1}(t){z_4}}\\{{B_{z,2}}(x)}&{ = {m_o}(t){z_1} + {m_1}(t){z_2} + {m_2}(t){z_3} - ({m_0}(t) + {m_1}(t) + {m_2}(t)){z_4}}\\{{C_{z,2}}(x)}&{ = {n_1}(t){z_2} + (1 - {n_1}(t)){z_3}}\end{array}} \right.\]

where t=(xx2)(x3x2)\[t = \frac{{(x - {x_2})}}{{({x_3} - {x_2})}}\], The following optimization model can be derived by substituting Eq. (32) into Eq. (30):

34{minep(κ,λ)=D1κ2+D2λ2+D3κλ+D4κ+D5λ+D6s.t.κ,λR\[\{ \begin{array}{*{20}{c}} {\min }&{{e_p}(\kappa ,\lambda ) = {D_1}{\kappa ^2} + {D_2}{\lambda ^2} + {D_3}\kappa \lambda + {D_4}\kappa + {D_5}\lambda + {D_6}}\\ {}&{s.t.\quad \kappa ,\lambda \in R} \end{array}\]

Where

35{D1=x2x3((Ay,2(x))2+(Az,2(x))2)dxD2=x2x3((By,2(x))2+(Bz,2(x))2)dxD3=x2x3(Ay,2By,2+Az,2Bz,2)dxD4=x2x3(Ay,2(x)(Cy,2(x)y(x))+Az,2(x)(Cz,2(x)z(x)))dxD5=x2x3(By,2(x)(Cy,2(x)y(x))+Bz,2(x)(Cz,2(x)z(x)))dxD6=x2x3((Cy,2(x)y(x))2+(Cz,2(x)z(x))2)dx\[\{ \begin{array}{*{20}{c}} {{D_1} = \int_{x2}^{x3} {({{({A_{y,2}}(x))}^2} + {{({A_{z,2}}(x))}^2})dx} }\\ {{D_2} = \int_{x2}^{x3} {({{({B_{y,2}}(x))}^2} + {{({B_{z,2}}(x))}^2})dx} }\\ {{D_3} = \int_{x2}^{x3} {({A_{y,2}}{B_{y,2}} + {A_{z,2}}{B_{z,2}})dx} }\\ {{D_4} = \int_{x2}^{x3} {({A_{y,2}}(x)({C_{y,2}}(x) - y(x)) + {A_{z,2}}(x)({C_{z,2}}(x) - z(x)))dx} }\\ {{D_5} = \int_{x2}^{x3} {({B_{y,2}}(x)({C_{y,2}}(x) - y(x)) + {B_{z,2}}(x)({C_{z,2}}(x) - z(x)))dx} }\\ {{D_6} = \int_{x2}^{x3} {({{({C_{y,2}}(x) - y(x))}^2} + {{({C_{z,2}}(x) - z(x))}^2})dx} } \end{array}\]

It is not difficult to obtain that ep(κ,λ) ≥ 0, thus the minimum of ep(κ,λ)can be solved by:

36{ep(κ,λ)κ=0ep(κ,λ)λ=0\[\{ \begin{array}{*{20}{c}} {\frac{{\partial {e_p}(\kappa ,\lambda )}}{{\partial \kappa }} = 0}\\ {\frac{{\partial {e_p}(\kappa ,\lambda )}}{{\partial \lambda }} = 0} \end{array}\]

By combining with Eq. (34):

37{D1κ+D3λ=D4D3κ+D2λ=D5\[\{ \begin{array}{*{20}{c}} {{D_1}\kappa + {D_3}\lambda = - {D_4}}\\ {{D_3}\kappa + {D_2}\lambda = - {D_5}} \end{array}\]

The adjustment parameters κ. and λ corresponding to the minimum deviation error ep can be obtained by solving Eq. (37).

4.
SYNCHRONIZATION OF THE TOOL ORIENTATION AND TOOL TIP POSITION

In order to guarantee the C3 continuity of the smoothed tool path and joints of robot, the varying rate of the tool orientation should be synchronized with the speed of the tool tip displacement. The developed ACR spline is utilized to replace the remaining position and orientation linear segments after smoothing, as shown in Fig. 8, where Q0,i, Q1,i, Q2,i and Q3,i are control points of the smoothed position curves of the ith corner, Q7,i-1, , Q9,i-1 and Q10,i-1 are control points of the smoothed position curves of the (i - 1)thcorner, the linear segment between Q10,i-1 and Q0,i is the remaining position linear segment between two corners. Similarly, Φ0,i, Φ1,i, Φ2,i and Φ3,i are control points of the smoothed orientation curves of theithcorner, Φ7,i-1 ,Φ8,i-1, Φ9,i-1and Φ10,i-1are control points of the smoothed orientation curves of the (i - 1)thcorner, the linear segment between Φ10,i-1and Φ0,iis the remaining orientation line between two corners.

Fig. 8.

Synchronization of the tool tip position and orientation

Due to local property of ACR spline, the curve between control points Q1,i and Q2,iis just affected by Q0,i,Q0,i,Q1,i,Q2,i and Q3-i, which are all located on the original linear segment, thus, this curve is exactly coincident with the original linear segment. Similarly, the curves between control points Q8,i-1 and Q9,i-1, Φ1,i and Φ2,i, Φ8,i-1and Φ9,i-1are all coincident with the original linear segment. Therefore, C3 continuity between the remaining position (orientation) linear segments and the smoothed curve segment can be realized if the control points of the remaining segment are located on the original linear segment.

In this study, the developed ACR splines are utilized to replace the remaining position and orientation linear segments. For the sake of simplicity, the control points Q8,i-1, Q9,i-1, Q10,i-1, Q0,i Q0,i, Q1,i Q1,i and Q2,i of the two adjacent curve segments are considered as the control points of the remaining position linear segments, and rewritten as U0,U1, U2 U3,U4 and U5, as shown in Figure 8.

Similarly, the control points Φ8,i-1, Φ9,i-1,Φ10,i-1, Φ0,i,Φ1,i and Φ2,i of the two adjacent curve segments are considered as the control points of the remaining orientation linear segments, and rewritten as V0,V1, V2,V3,V4 and V5.

In addition to the abovementioned constraints, to satisfy the C3 continuous synchronization of the tool orientation with respect to the tool tip position, as shown in Figure 8, the first, second and third order differentials of the tool orientation R (α) relative to the tool tip displacementsshould be equal at the intersection of the junction between the curve segment and the linear segment.

At the junction point V1shown in Fig. 8, on the curve side, differentials of the tool orientation with respect to the tool tip displacement are:

37{Ri1(α)s|α=α9,i1=(Ri1(α)ααs)α=α9,i12Ri1(α)s2|α=α9,i1=(2Ri1(α)α2(αs)2+Ri1(α)α2αs2)α=α9,i13Ri1(α)s3|α=α9,i1=(3Ri1(α)α3(αs)3+32Ri1(α)α2αs2αs2+Ri1α3αs3)α=α9,i1\\[\{ \begin{array}{*{20}{c}} {{{\left. {\frac{{\partial {R_{i - 1}}(\alpha )}}{{\partial s}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{\partial {R_{i - 1}}(\alpha )}}{{\partial \alpha }}\frac{{\partial \alpha }}{{\partial s}})}_{\alpha = \alpha 9,i - 1}}}\\{{{\left. {\frac{{{\partial ^2}{R_{i - 1}}(\alpha )}}{{\partial {s^2}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{{\partial ^2}{R_{i - 1}}(\alpha )}}{{\partial {\alpha ^2}}}{{(\frac{{\partial \alpha }}{{\partial s}})}^2} + \frac{{\partial {R_{i - 1}}(\alpha )}}{{\partial \alpha }}\frac{{{\partial ^2}\alpha }}{{\partial {s^2}}})}_{\alpha = \alpha 9,i - 1}}}\\{{{\left. {\frac{{{\partial ^3}{R_{i - 1}}(\alpha )}}{{\partial {s^3}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{{\partial ^3}{R_{i - 1}}(\alpha )}}{{\partial {\alpha ^3}}}{{(\frac{{\partial \alpha }}{{\partial s}})}^3} + 3\frac{{{\partial ^2}{R_{i - 1}}(\alpha )}}{{\partial {\alpha ^2}}}\frac{{\partial \alpha }}{{\partial s}}\frac{{{\partial ^2}\alpha }}{{\partial {s^2}}} + \frac{{\partial {R_{i - 1}}}}{{\partial \alpha }}\frac{{{\partial ^3}\alpha }}{{\partial {s^3}}})}_{\alpha = \alpha 9,i - 1}}}\end{array}\]

On the linear side, differentials of the tool orientation with respect to the tool tip displacement are:

38{R˜i1(α)s|α=α9,i1=(R˜i1(α)ααs)α=α9,i12R˜i1(α)s2|α=α9,i1=(2R˜i1(α)α2(αs)2+R˜i1(α)α2αs2)α=α9,i13R˜i1(α)s3|α=α9,i1=(3R˜i1(α)α3(αs)3+32R˜i1(α)α2αs2αs2+R˜i1(α)α3αs3)α=α9,i1\[\left\{ {\begin{array}{*{20}{c}} {{{\left. {\frac{{\partial {{\tilde R}_{i - 1}}(\alpha )}}{{\partial s}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{\partial {{\tilde R}_{i - 1}}(\alpha )}}{{\partial \alpha }}\frac{{\partial \alpha }}{{\partial s}})}_{\alpha = {\alpha _{9,i - 1}}}}}\\{{{\left. {\frac{{{\partial ^2}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {s^2}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{{\partial ^2}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {\alpha ^2}}}{{(\frac{{\partial \alpha }}{{\partial s}})}^2} + \frac{{\partial {{\tilde R}_{i - 1}}(\alpha )}}{{\partial \alpha }}\frac{{{\partial ^2}\alpha }}{{\partial {s^2}}})}_{\alpha = {\alpha _{9,i - 1}}}}}\\{{{\left. {\frac{{{\partial ^3}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {s^3}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}&{ = {{(\frac{{{\partial ^3}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {\alpha ^3}}}{{(\frac{{\partial \alpha }}{{\partial s}})}^3} + 3\frac{{{\partial ^2}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {\alpha ^2}}}\frac{{\partial \alpha }}{{\partial s}}\frac{{{\partial ^2}\alpha }}{{\partial {s^2}}} + \frac{{\partial {{\tilde R}_{i - 1}}(\alpha )}}{{\partial \alpha }}\frac{{{\partial ^3}\alpha }}{{\partial {s^3}}})}_{\alpha = {\alpha _{9,i - 1}}}}}\end{array}} \right.\]

Since the control points related to the ACR spline between control points Φ8,i-1and Φ9,i-1,V1and V2are all located on the original linear segment. Therefore, in order to realize the synchronous control of the tool tip position and tool orientation related the tool tip displacement, it is necessary to insert four additional control points U6,U7and V6,V7, as shown in Fig. 8, and the following formulas must be satisfied:

39U0U1=U1U2=U2U6U5U4=U4U3=U3U7V0V1=V1V2=V2V6V5V4=V4V3=V3V7\[\begin{array}{*{20}{c}} {\left\| {\overrightarrow {{U_0}{U_1}} } \right\| = \left\| {\overrightarrow {{U_1}{U_2}} } \right\| = \left\| {\overrightarrow {{U_2}{U_6}} } \right\|}\\ {\left\| {\overrightarrow {{U_5}{U_4}} } \right\| = \left\| {\overrightarrow {{U_4}{U_3}} } \right\| = \left\| {\overrightarrow {{U_3}{U_7}} } \right\|}\\ {\left\| {\overrightarrow {{V_0}{V_1}} } \right\| = \left\| {\overrightarrow {{V_1}{V_2}} } \right\| = \left\| {\overrightarrow {{V_2}{V_6}} } \right\|}\\ {\left\| {\overrightarrow {{V_5}{V_4}} } \right\| = \left\| {\overrightarrow {{V_4}{V_3}} } \right\| = \left\| {\overrightarrow {{V_3}{V_7}} } \right\|} \end{array}\]

The specific derivation steps of Eq (13) are detailed in Appendix A, and then the following equations can be obtained:

40{Ri1(α)s|α=α9,i1=R˜i1(α)s|α=α9,i12Ri1(α)s2|α=α9,i1=2R˜i1(α)s2|α=α9,i1=03Ri1(α)s3|α=α9,i1=3R˜i1(α)s3|α=α9,i1=0\[\{ \begin{array}{*{20}{c}} {{{\left. {\frac{{\partial {R_{i - 1}}(\alpha )}}{{\partial s}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}} = {{\left. {\frac{{\partial {{\tilde R}_{i - 1}}(\alpha )}}{{\partial s}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}}}\\ {{{\left. {\frac{{{\partial ^2}{R_{i - 1}}(\alpha )}}{{\partial {s^2}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}} = {{\left. {\frac{{{\partial ^2}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {s^2}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}} = 0}\\ {{{\left. {\frac{{{\partial ^3}{R_{i - 1}}(\alpha )}}{{\partial {s^3}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}} = {{\left. {\frac{{{\partial ^3}{{\tilde R}_{i - 1}}(\alpha )}}{{\partial {s^3}}}} \right|}_{\alpha = {\alpha _{9,i - 1}}}} = 0} \end{array}\]

For computational efficiency we adopt the nominal choiceκ = λ = 0when constructing the ACR basis for the remaining linear segments; this nominal choice reduces the basis to the standard CR form while retaining analytic expressions for positions and derivatives. Importantly, choosing κ = λ = 0does not cause a vanishing first derivative or a parametric singularity under normal (nondegenerate) geometric conditions: because the remaining linear segments have non-zero span and the control points used for the remaining-segment construction are distinct points lying on the original linear segment (see Figure 8 and Eq. (39)(40)), the chord lengths are positive and the resulting CR basis yields non-zero local derivatives. In other words, derivative values on these remaining segments are determined by the control-point geometry (not byκ,λalone), and therefore C1-C3 matching conditions remain enforceable whenκ = λ = 0.

The implementation includes a simple detection-and-fallback step to handle the geometric degenerate cases that can produce near-zero parametric derivatives (for example, coincident control points or zero-length linear segments). Before finalizing the remain-ing-segment construction the algorithm computes the magnitude of the first derivative on the remaining segment. If R'(s)<τ\[\left\| {R'(s)} \right\| < \tau \] (withτa small numerical threshold), one of two light-weight remedies is applied: (i) restore small nominal shape perturbation by setting κ = κeps or λ = λeps with κeps,λeps ∈ [10-6,10-3]; or (ii) apply a tiny geometric perturbation to the remaining-segment control points (move them along the segment by a distanceδ ≪ εp). Either remedy restores a non-zero derivative while preserving deviation bounds. This fallback is algorithmic (post-construction) and does not change the analytical derivations; it only activates in pathological geometric cases (coincident points or zero-length segments) which are easily detected at runtime.

5.
NUMERICAL SIMULATION

In this section, the developed ACR-spline-based C3 continuous tool path smoothing method for robotic machining is validated through numerical simulation. The test tool path used in the simulation is depicted in Fig. 9, consisting of four linear segments and three corner transitions, with the corresponding parameters listed in Tab. 1. The deviation error tolerances for the tool tip position and orientation are set as εp = 0.8 mm and ε0 = 0.01rad, respectively. The resulting smoothed tool tip position and tool orientation are illustrated in Fig. 10.

Tab. 1.

Parameters of the testing tool path

No. of cornersNo. of tool pathTool tip position (x, y, z)(mm)Tool orientation(α,β,γ) (rad)
11(240, 200, 220)(0.6283, 0.5236, 0.3142)
2(230, 240, 250)(1.0472, 0.7854, 0.3927)
23(270, 230, 252.2)(0.3142, 0.1571, 0.2094)
34(250, 210, 242)(0.6283, 0.7854, 0.5236)
(235, 230, 246.8)(0.3142, 0.3927, 0.5236)
Fig. 9.

The testing tool path utilized in numerical simulation

Fig. 10.

The smoothed tool tip position and tool orientation

The deviation errors of the tool tip position and orientation in the WCS under the preset deviation error tolerances are presented in Tab. 1. It can be observed that the maximum deviation errors for both the tool tip position εpand orientationε0 in the WCS do not exceed the predefined tolerances. Furthermore, since the tool tip position εp and orientation ε0 are controlled by the adjustment parameters κ , λ , it can be concluded from Tab. 2 thatεpandε0 remain sufficiently small to ensure minimal deviation between the smoothed tool path and the original tool path. The corresponding κ,λ are provided in parentheses.

Tab. 2.

Deviation errors of the tool tip and tool orientation with error tolerances εp = 0.8mm and ε0 = 0.01rad

No. of corners123
Tool tip Position errorεp (mm)0.80.80.8
εp(mm3) (κ,λ)5.4858e-06 (0.48, - 5.4e-4)2.3160e-06 (0.51, -1.4e-4)3.9818e-05 (0.47, 5.3e-4)
Tool orientation errorε0 (rad)0.010.010.01
ε0 (rad3) (κ,λ)2.2647e-11 (0.46, -2.4e-3)1.2184e-10 (0.49, 7.2e-3)2.8408e-11 (0.47, -3.0e-3)

To further assess the efficacy of the developed ACR-spline-based tool path smoothing method under varying error tolerances, the deviation error thresholds for the tool tip position and orientation were reset to εp = 1.2mm and ε0 = 0.005rad, respectively.

As indicated in Tab. 3, the maximum deviation errors for both the tool tip position εp and orientation ε0 remain below the preset tolerances. Moreover, ep and e0 controlled by the adjustment parameters κ, λ are still small enough to ensure that the deviation between the smoothed tool path and the original tool path.

Tab. 3.

Deviation errors of the tool tip and tool orientation with error tolerances εp = 1.2mm andε0 = 0.005rad

No. of corners123
Tool tip Position errorεp (mm)1.21.21.2
ep (mm3)(κ,λ)1.8557e-05 (0.48, -8.1e-4)7.8179e-06 (0.51, -2.2e-4)1.3406e-04 (0.47, 7.9e-4)
Tool orientation errorε0 (rad)0.0050.0050.005
e0 (rad3) (κ,λ)2.8111e-12 (0.46, -1.2e-3)1.5905e-11 (0.49, 3.6e-3)3.5244e-12 (0.47, -1.5e-3)

In Section 4, it is deduced that the synchronization errors of the tool orientation relative to the tool tip displacement at the junctions between curve splines and linear splines are identically zero. To verify this conclusion, the 1st-, 2nd- and 3rd-order synchronization errors at these junctions are computed, as illustrated in Fig. 11 and Fig. 12. For comparison, the synchronization errors of the smoothed tool path obtained using the method described in [29] is also evaluated on the same test tool path. The results clearly indicate that the synchronization errors of the tool path smoothed by the developed ACR-spline-based method are zero at all examined orders, whereas the method in [29] yields non-zero errors. This outcome verifies the C3 continuous synchronization of the tool orientation with respect to the tool tip displacement achieved by the developed method.

Fig. 11.

Synchronization errors of the tool orientation with respect to the tool tip displacement with εp = 0.8mm and ε0 = 0.01rad

Fig. 12.

Synchronization errors of the tool orientation with respect to the tool tip displacement with εp = 1.2mm andε0 = 0.005 rad

Since the developed ACR-spline-based C3 continuous corner smoothing method achieves 3rd-order continuity for both the tool tip position and tool orientation, it mathematically guarantees continuous jerk commands. To validate this performance, a C3 continuous cubic acceleration profile [31] is employed to interpolate the smoothed tool path generated by the developed method under the preset error tolerances for tool tip position and orientation. In this interpolation, the nominal tangential feedrate, acceleration, and jerk were set to 30 mm/s, 3000 mm/s2, and 30000 mm/s3, respectively. Fig. 13 presents the resulting kinematic profiles—namely, displacement, velocity, acceleration, and jerk-which are smooth and continuous up to the jerk level, as expected.

Fig. 13.

Kinematic profile after interpolation

Furthermore, Fig. 14 illustrates the kinematic profiles for each joint, clearly demonstrating that the motion of every robot joint maintains third-order continuity without any abrupt changes in jerk. This observation further substantiates the effectiveness and practical applicability of the developed tool path smoothing method.

Fig. 14.

Kinematic profiles of each joint of robot

6.
CONCLUSIONS

Ensuring high-order smoothness and analytical continuity of tool paths is essential for robotic machining systems to achieve both computational efficiency and desirable dynamic behaviour. In this paper we presented an analytical C3-continuous smoothing method based on ACR splines. By inserting ACR segments at corners between discrete linear tool paths and computing their control points analytically, the proposed approach avoids iterative construction and delivers substantial computational savings. Local deviation introduced by corner smoothing is explicitly constrained through the control-point geometry, while the residual approximation error from the ACR basis is minimized using a simple yet effective optimization. The resulting procedure enforces C3 continuity by synchronizing tool-tip orientation with tool-tip displacement and by replacing the remaining linear segments with analytically determined ACR arcs. Numerical simulations demonstrate that the method meets prescribed maximum-deviation tolerances, preserves third-order synchronization between orientation and displacement, and produces smooth jerk profiles in both workpiece and joint spaces–properties that are important for high-precision robotic machining.

We note that orientation-parameterization issues commonly encountered in CAM/CNC workflows–most notably gimbal lock, the non-uniqueness of Euler-angle representations, and discontinuities introduced by angle wrapping–arise at the implementation level within post-processing and controller-interface stages. The present paper focuses on positional smoothing and feedrate planning within the CNC motion-planning layer; in our formulation, any required orientation synchronization is expressed only as a constraint, while the machine-specific representation and final conversion of orientations are assumed to be handled by the CAM postprocessor and/or the controller interface (i.e., the software modules that consume the smoothed tool path and generate machine-ready commands). To make this assumption explicit, Appendix B provides recommended implementation-level strategies–including the use of singularity-free representations such as unit quaternions or rotation matrices, SLERP interpolation, SO(3) exponential/log-map updates, and safe conversion procedures to machine-specific Euler conventions. These recommendations support robust integration of the proposed positional-smoothing method into practical CAM/CNC pipelines without altering the theoretical framework or the numerical results presented in this work.

Future work will pursue several complementary directions. We plan to incorporate real-time adaptive adjustments driven by process dynamics and force feedback to further improve robustness under varying cutting conditions. Experimental validation on an industrial robot platform will assess the method's performance in real machining tasks. We will also investigate automatic parameter tun-ing–potentially leveraging machine-learning techniques–to increase efficiency and generality across a wider range of workpieces and machine systems. As part of these extensions, the orientation-handling measures described in Appendix B will be integrated into a complete post-processing pipeline and their impact on controller tracking and overall process quality will be evaluated.

DOI: https://doi.org/10.2478/ama-2025-0088 | Journal eISSN: 2300-5319 | Journal ISSN: 1898-4088
Language: English
Page range: 790 - 803
Submitted on: Aug 13, 2025
|
Accepted on: Dec 10, 2025
|
Published on: Dec 31, 2025
In partnership with: Paradigm Publishing Services
Publication frequency: 4 issues per year

© 2025 Xu-Lin CAI, Wen-An YANG, You-Peng YOU, published by Bialystok University of Technology
This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 License.