Marks caused by the
crossing of the singularity

Marks caused by
switching from different (A,C)
solutions because of range of A

<figure><img src="image_1.png" /></figure>
# A tool path patching strategy around singular point in 5-axis ball-end milling

Laureen Grandguillaume, Sylvain Lavernhe, Christophe Tournier

► To cite this version:

Laureen Grandguillaume, Sylvain Lavernhe, Christophe Tournier. A tool path patching strategy around singular point in 5-axis ball-end milling. International Journal of Production Research, 2016, 54 (24), pp.7480-7490. 10.1080/00207543.2016.1196835. hal-01365996

HAL Id: hal-01365996

https://hal.science/hal-01365996

Submitted on 13 Sep 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
<figure><img src="image_1.png" /></figure>

<figure><img src="image_2.png" /></figure>
tool path from NC code {Xp, Yp, Zp, i, j, k}

<figure><img src="image_1.png" /><figcaption>Final new tool path {Xp, Yp, Zp, A, Cnew}</figcaption></figure>

○ Final G1 C values on new tool path

<figure><img src="image_2.png" /><figcaption>10 | Projection of initial C positions on Cpatch curve</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>8 | Patch insertion by cubic spline interpolation</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>2-3 | Tool path splitting and cubic interpolation before and after singularity</figcaption></figure>

<figure><img src="image_5.png" /></figure>
<figure><img src="image_1.png" /><figcaption>Marks caused by
switching from different (A,C)
solutions because of range of A</figcaption></figure>

<figure><img src="image_2.png" /></figure>
<figure><img src="image_1.png" /></figure>

<figure><img src="image_2.png" /></figure>
<figure><img src="image_1.png" /></figure>

<figure><img src="image_2.png" /></figure>
Initial G1 code

<figure><img src="image_1.png" /></figure>

New G1 code

<figure><img src="image_2.png" /></figure>
<figure><img src="image_1.png" /></figure>

<figure><img src="image_2.png" /></figure>
Influence of axis velocity limits on the maximum actual feedrate

<figure><img src="image_1.png" /></figure>

Influence of axis acceleration limits on the maximum actual feedrate

<figure><img src="image_2.png" /></figure>

Influence of axis jerk limits on the maximum actual feedrate

<figure><img src="image_3.png" /></figure>

A

C

Programmed feedrate

Area where C-axis is the most limiting
<figure><img src="image_1.png" /></figure>

— Before the singularity

— After the singularity

— "Natural" patch curve

— Patch curve which goes through the singularity
<figure><img src="image_1.png" /></figure>

Discretised tool path

Theoretical tool path

Up to 180 degrees

52 degrees

Discontinuity
<figure><img src="image_1.png" /></figure>

<figure><img src="image_2.png" /></figure>
# A tool path patching strategy around singular point in 5-axis ball-end milling

Laureen Grandguillaumeª, Sylvain Lavernhe a and Christophe Tournier a*

ªLURPA, ENS Cachan, Univ. Paris-Sud, Université Paris-Saclay, 94235 Cachan, France

In 5-axis high speed milling, large incoherent movements of rotary axes around the singular point are known to be a problem. Correction methods found in the literature deal mostly with the collision that may happen between the tool and the part but not with the feedrate slowdowns which affect surface quality and machining productivity. The method proposed in this paper addresses both geometrical and productivity issues by modifying the tool axes orientation while respecting maximum velocity, acceleration and jerk of the machine-tool axes. The aim is to detect these behaviors and replace the considered portion of the tool path by a patch curve respecting kinematical constraints of the machine tool. Compare to previous works, the inserted patch curve is not constrained to pass through the singularity but respect tangential contrains to ensure the monotony of the tool path and is also connected with the rest of the tool path to ensure a continuity up to the third derivative in order to fulfill jerk limitations. For that purpose, the initial articular positions of the rotary axes around the singular point are fitted with B-spline curves, modified and finally discretized for linear interpolation. Experimental investigations on a test part are carried out to show the efficiency of the method in terms of feedrate and surface quality.

**Keywords:** 5-axis machining; inverse kinematical transformation; tool path computation; singularity; jerk

## 1. Introduction

By promoting 5-axis High Speed Machining and the use of integrated CAD/CAM/CNC systems, a significant improvement in machining efficiency and accuracy has been achieved. Machine tool technology has also been greatly improved, particularly at the CNC equipment and drive axis level. Axes are more dynamic, especially with the use of linear motor for linear axis and torque motor for rotary axis. Numerous works aim at improving the tool path in order to reach the programmed feedrate (Kim et al. 2001). Tool axis orientation has a key role in the efficiency and quality of 5-axis machining. The main objective is to define the tool orientation at each cutter contact point in order to minimize machining time within tolerances (Lasemi et al. 2010; Lavernhe et al. 2008). Nevertheless, 5-axis machining requires a better expertise than 3-axis machining and part of the difficulties are related to solutions for forward and inverse kinematics. Although problems arising from the inverse kinematics are largely treated in literature (Bohez et al. 2000), there are still problems especially concerning the positioning of the machine axes near a kinematic singularity. Indeed, near these singular positions, the strategy of the tool axis orientation may lead to incoherent movements, generating slowdowns of the actual feedrate during the execution of the trajectory and affecting the part quality and productivity.

In literature, the proposed methods used to deal with this problem fall broadly into two categories, avoiding the singularity or passing exactly through the singularity. For instance, to avoid the singularity, Boz et al. use a simple method by increasing or decreasing rotation angle (Boz et al. 2013). Few singular positions can also be avoided by changing the tilt

<footnote>*Corresponding author. Email: christophe.tournier@ens-cachan.fr</footnote>
angle between the tool and the workpiece (Lei et al. 2003). Changing the tilt angle allows to modify the articular position and can avoid to pass through the singularity. Jung et al. propose to retract the tool along the tool axis (Jung et al. 2002) at the expense of productivity. Affouard et al. define a cone on the singularity, which has to be avoided (Affouard et al. 2004). Their method consists in deforming the tool path described as two native polynomial curves in order to avoid the tool transition in the singular cone. Yang et al. also modify the tool orientation vectors defined by splines (Yang et al. 2013). The deformation is carried out by modifying the control points of the tool orientation spline while respecting the machining tolerance. Munlin et al. propose to optimize rotations near singular points by finding the shortest tool path corresponding of the inverse kinematics equations (Munlin et al. 2003). The tool path is calculated in order to avoid undercut and to minimize the kinematical error by shifting the tool along the cutting direction. Lin et al. avoid tool paths with singularity by translating tool orientations in the C-space (Lin et al. 2014) and are able to modify the orientation in order to improve the machined surface texture (Lin et al. 2015). My et al. identifie analytically the singular points thanks to the Jacobian matrix and propose an algorithm which creates a smooth cutter trajectory controlling the tool path error with a ball end tool (My et al. 2016).

Sørby et al. propose to modify the position of the rotary axis near the singularity (Sørby 2007). The study is carried out for a G1 NC code and the modifications are performed by adding one point which makes the tool path crossing exactly through the singularity. The NC manufacturer Siemens modifies the tool path if the programmed tool path does not pass exactly through the singularity (Siemens 2006). A deviation is made from the initial path in order to pass exactly through the singular point. To pass through the singularity, Tournier et al. analyse the tool path with the cosines (i, j, k) of the tool axis orientation and propose a method to remove or soften the incoherent movements (Tournier et al. 2006).

Nevertheless, most of these methods improve performances in terms of geometry but not in terms of kinematics. They are not optimized to smooth the tool path while respecting the kinematic performances of the machine-tool whereas limiting the jerk in the feedrate planning is mandatory in order to produce a soft motion (Erkorkmaz et al. 2001; Beudaert et al. 2011). Thus, this paper proposes a strategy to treat incoherent movements of rotary axes near singular point in terms of geometrical and kinematical behavior. In this proposal, the tool path is not constrained to pass through the singular point as in earlier work on the subject (Grandguillaume et al. 2015) but has sufficient degrees of freedom to create the smoothest tool path to follow by the machine tool respecting kinematical constraints such as velocity, acceleration and jerk constraints.

The rest of the paper is organized as follows: in the second section, the problems linked to the kinematical transformation between part frame and machine frame in 5-axis machining are exposed. A specific attention is paid on singular configurations, which create incoherent movements on rotary axes and cause slowdowns during machining. Then, a proposed modification of the tool path near singularity is detailed in the third section. The last section is dedicated to the experimental validation of the proposed method on a test part.

## 2. 5-axis kinematics

### 2.1 Inverse kinematics and singular point

In 5-axis milling, tool paths are defined in CAM software from CAD definition of the part. The tool path is expressed in the part frame with 6 coordinates: 3 for the tool tip position (Xp, Yp, Zp) and 3 for the cosines of the tool axis direction (i, j, k). However, the different movements are realized by the 5-axis structure in the joint space with 3 linear axes (Xm, Ym, Zm) and 2 rotary axes (A, C) in the present case.

The forward and inverse kinematical transformations provide a link between tool positions ex-
<table><caption>Table 1. Domains of solution ($A_1, C_1$) and ($A_2, C_2$) (Tournier et al. 2006).</caption><thead><tr><th></th><th>$i < 0$</th><th>$i = 0$</th><th>$i > 0$</th></tr></thead><tbody><tr><th>$j < 0$</th><td colspan="3">$A_1 = \arccos(k) C_1 = -\arctan(i/j)$<br>$A_2 = -\arccos(k) C_2 = -\arctan(i/j) + \pi$</td></tr><tr><th>$j = 0$</th><td>$A_1 = \arccos(k) C_1 = -\pi/2$<br>$A_2 = -\arccos(k) C_2 = \pi/2$</td><td>$A = 0$<br>$C$ undefined</td><td>$A_1 = \arccos(k) C_1 = \pi/2$<br>$A_2 = -\arccos(k) C_2 = -\pi/2$</td></tr><tr><th>$j > 0$</th><td colspan="3">$A_1 = \arccos(k) C_1 = -\arctan(i/j) + \pi$<br>$A_2 = -\arccos(k) C_2 = -\arctan(i/j)$</td></tr></tbody></table>

pressed in the part frame and tool positions expressed in the articular frame. Switching from part frame to machine frame can be done thanks to the inverse kinematical transformation. For example, for a RRTTT machine tool structure with A and C rotary axes, the tool axis components can be expressed as a function of A and C:

$$ \begin{cases} i = \sin(C) \cdot \sin(A) \\ j = -\cos(C) \cdot \sin(A) \\ k = \cos(A) \end{cases} \qquad (1) $$

Equations (1) have two domains of solution corresponding to $A > 0$ or $A < 0$, and solutions vary in function of the $(i, j, k)$ values (Table 1).

Issues associated to the inverse kinematical transformation are the problem of singular configurations in one hand and solution space swapping in the other hand. According to Table 1, the case $i = 0$ and $j = 0$ is a singular configuration. The non continuity between the two domains of solutions ($A_1, C_1$), ($A_2, C_2$) corresponds to a solution space swapping. That means that swapping from a negative value of $j$ ($[A_1 = \arccos(k); C_1 = -\arctan(i/j)]$) to a positive value of $j$ ($[A_2 = -\arccos(k); C_2 = -\arctan(i/j)]$) involves a main discontinuity. This issue is represented on Figure 1.

When the ratio $i/j$ is of a high negative value, $C_1$ is close to 90°, whereas when $i/j$ is of a high positive value, $C_2$ is close to -90°. This generates a discontinuity of 180° in the worst case on the C-axis when passing through $j = 0$ when $i$ is not null. This movement appears very locally and strongly slows down the machining process and so generates marks on the part (Figure 2). Thus, it is necessary to modify the tool path to avoid this movement and to respect the programmed feedrate.

<figure><img src="image_1.png" /><figcaption>Figure 1. Solution space swapping from ($A_1, C_1$) to ($A_2, C_2$).</figcaption></figure>
<figure><img src="image_2.png" /><figcaption>Figure 2. Marks caused by the incoherent movement during the crossing of the singularity</figcaption></figure>

## 2.2 5-axis kinematics

Kinematical performances of machine tools are limited by the maximum velocity, acceleration and jerk of each axis. Considering these kinematical limits, the tool path geometry, especially discontinuities or high curvatures, can cause slowdowns of the actual feedrate during the execution of the tool path. By noting $q$ the axes position, for a path displacement $s$, the velocity of the axes $\dot{q}$ can be expressed as a function of the geometry $q_s$ multiplied by a function of the motion $\dot{s}$ (Equation 2). This formula is valid for each axis of the machine ($X, Y, Z, A, C$). The acceleration $\ddot{q}$ and jerk $\dddot{q}$ of the axes are obtained in the same manner (Equation 3 and 4).

$$ \dot{q}(s) = \frac{dq(s)}{dt} = \frac{dq(s)}{ds} \frac{ds}{dt} = q_s(s)\dot{s} \quad (2) $$

$$ \ddot{q}(s) = q_{ss}(s)\dot{s}^2 + q_s(s)\ddot{s} \quad (3) $$

$$ \dddot{q}(s) = q_{sss}(s)\dot{s}^3 + 3q_{ss}(s)\dot{s}\ddot{s} + q_s(s)\dddot{s} \quad (4) $$

Focusing on the approximation of the upper limit of the feedrate, to estimate the lowest velocity, tangential acceleration and tangential jerk along the tool path can be neglected in the areas of interest. That is to say when the feedrate is greatly decreasing and then increasing, a minimum local appears. Thus, the tangential acceleration and tangential jerk are locally null ($\ddot{s} = 0$ and $\dddot{s} = 0$) (Beudaert et al. 2011).

During the execution of the tool path, maximum velocity, acceleration and jerk of each axis has to be smaller than the maximum velocity, acceleration and jerk of the machine-tool axes (Equation 5).

$$ \left\{ \begin{array}{l} |\dot{q}| \le V_{max}^i \\ |\ddot{q}| \le A_{max}^i \\ |\dddot{q}| \le J_{max}^i \end{array} \right. \quad (5) $$

Hence an approximation of the actual feedrate respecting the kinematical constraints is given
by Equation 6:

$$ \dot{s} \leq \min \left( F_{prog}, \frac{V_{max}^i}{|q_s^i|}, \sqrt{\frac{A_{max}^i}{|q_{ss}^i|}}, \sqrt[3]{\frac{J_{max}^i}{|q_{sss}^i|}} \right) \quad (6) $$

where:

* $i$ represents each axis $X, Y, Z, A, C$;

* $F_{prog}$ is the programmed feedrate;

* $\dot{q}_{max}, \ddot{q}_{max}, \dddot{q}_{max}$ the maximum axes velocity, acceleration and jerk;

* $q_s, q_{ss}, q_{sss}$ are the geometrical derivatives.

Equation 5 allows knowing which axis is the limiting one to reach the programmed feedrate. Besides, near singular points, it allows to know how to modify C-axis positions to prevent it from being the axis limiting the actual feedrate.

# 3. The proposed approach

## 3.1 Overview

The pattern of the C-axis tool path, illustrated on Figure 3, is always the same during the crossing near singular point. Only the value of the discontinuity will change according to the discretisation step. For example, Figure 3 shows a discontinuity of about 52 degrees between two successive points of the C-axis tool path. This large local displacement of the C axis reduces the actual feedrate.

<figure><img src="image_3.png" /><figcaption>Figure 3. Pattern of C axis discontinuity near singular point</figcaption></figure>

The aim is to detect the incoherent movement and insert a patch curve which allows to respect the kinematical constraints all along the tool path. The shape of the patch curve depends on the kinematical performances of the machine-tool used. For a high performances machine-tool, it is possible to insert a pattern with high geometrical derivatives (Equation 7).

$$ \left\{ \begin{array}{l} q_s = \frac{V_{max}}{\dot{s}} \\ q_{ss} = \frac{A_{max}}{\dot{s}^2} \\ q_{sss} = \frac{J_{max}}{\dot{s}^3} \end{array} \right. \qquad (7) $$
<figure><img src="image_4.png" /><figcaption>Figure 4. Patch curves which respect the kinematical limits for 2 machine-tools.</figcaption></figure>

The geometrical derivatives of the new tool path are determined in order to respect the kinematical limits of all axes. In appendix, Table 2 and Table 3 gather the kinematical limits for two different machine-tools with different kinematical performances (Mikron UCP 710 and Mikron HSM 600).

Figure 4(a) shows the resulting curves attached to the two machine-tools. The size of the modified pattern is smaller with a high performances machine-tool, but the incoherent movement still exists. To avoid this issue, the solution consists in inserting a patch curve in the tool path where the first geometrical derivative of the C-axis is negative to ensure the monotony of the tool path. Due to the relationship between kinematical constraints (velocity, acceleration and jerk) and geometrical derivatives (first, second and third derivatives) (Equation 7), the more slender the patch curve the higher the feedrate. Thus it is not mandatory to pass through the singularity as considered before (Grandguillaume et al. 2015). Figure 4(b) shows two different patch curves, one passing through the singularity and the other not. Passing through the singularity introduces stronger curvature variations and consequently acceleration constraints on the axis potentially leading to lower feedrate. Finally, if the new patch curve does not respect the kinematical limits of the C-axis, it is necessary to connect the patch curve backward before the discontinuity and forward after it.

## 3.2 Detailed description of the algorithm

As a ball-end tool is used in this method, for any given position of the tool center point, any orientation of the tool axis keeps the tangent contact between the tool and the CAD surface. Hence, it is possible to freely modify its orientation without risk of collisions. Thus, the algorithm modifies the C-axis setpoints without changing the trajectory of the tool center point.

The proposed algorithm is described and illustrated in Figure 5 which shows the different steps in order to modify the tool path and consequently the NC code close to the singularity.

First, from the G1 Cutter Location (CL) file of the tool path $Xp, Yp, Zp, i, j, k$, joint values of rotary axes A, C are computed thanks to the inverse kinematical transformation.

Singular point can be detected in stage 2, when the joint value of the A-axis changes from a positive value to a negative value near zero (or vice versa). In this case, $j$ goes through zero. Then, the second stage consists in splitting the initial tool path in two portions: the tool path before the singularity with the corresponding C axis values $C_b$ and the tool path after the singularity with the corresponding C axis values $C_a$.

From these values, two cubic B-Spline curves $C_b(s)$ and $C_a(s)$ are computed in stage 3 by interpolation as functions of the path displacement $s$.

The use of polynomial curves instead of the original G1 points allows to specify a kinematical behavior and continuity (velocity, acceleration and jerk) with a smaller sampling step. The choice
<figure><img src="image_5.png" /><figcaption>Figure 5. Proposed algorithm to insert a patch curve while respecting kinematical constraints</figcaption></figure>

of the sampling step $f_s$ depends on the interpolator cycle time of the NC unit ($T_{cy}$) and the programmed feedrate ($F_{pr}$) (Eq (8)).

$$f_s = F_{pr} \cdot T_{cy} \qquad (8)$$

So, stage 4 performs a fine sampling of the two curves $C_b(s)$ and $C_a(s)$ with respect to $f_s$ and leads to two sets of discrete C axis values before the singularity $[..., C_{b-1}^*, C_b^*]$ and after the singularity $[C_a^*, C_{a+1}^*, ...]$.

The objective is then to find the index $k$ from which it is possible to connect the two curves $C_b(s)$ and $C_a(s)$ with a patch for the C axis. For that, stages 6 verifies if the local derivatives of $C(a)$ and $C(b)$ with respect to $s$ have the same sign to enhance the follow-up of the trajectory. If no, then the index $k$ is incremented to go backward on the $C_b(s)$ curve from the singularity and go forward on the $C_a(s)$ curve. If yes, then the algorithm can go on with the patch inserted.

Stage 8 computes a cubic B-Spline interpolation based on four points on each curve before $C_b(s)$ and after $C_a(s)$. Within these constraints, the curve is smooth enough and respects the kinematical
continuities (acceleration and jerk) on the two bounds.

The follow-up of this local patch $C_{patch}$ is improved by constraining in stage 9 the curve to be monotonous, avoiding the inversion of the C axis movement. The patch is extended backward and forward until this constraint is satisfied.

Then, the new G1 C positions $C_{new}$ are obtained on the path inserted by projecting the initial C axis positions on the curve $C_{path}(s)$ (stage 10). The new tool path is so ready to be executed with linear interpolation.

At last, the kinematical behavior of the entire path is verified all along the modified portion. If needed, the patch inserted can be once more smoothed, i.e. extended before and after the old singularity position, to respect the machine tool performances.

# 4. Experimental investigations

## 4.1 Test part and machining strategy

The proposed test part is extracted from the shape of guide vanes of a hydraulic pump-turbine (Figure 6). This part presents an evolutionary curvature along the leading edge. The finishing milling of the part is based on a tool guiding along iso-parametric curves of the surface with a zigzag strategy. A fixed tilt angle of 5° is used with a 5 mm radius ball-end mill. The machining tolerance is set to 0.01 mm, the max. discretization step to 1 mm, the max. discretization angle to 1° and the scallop height to 0.01mm. Programmed feedrate is set to 1m/min for the considered finishing operation.

<figure><img src="image_6.png" /><figcaption>Figure 6. Test part machining and tool path design</figcaption></figure>

Figure 7 shows the measurement of the C axis positions and feedrate during machining. Independent C axis movements appear when the tool is close to the singular point, that is to say when the tool is on the leading edge of the part. This movement appears very locally for each path but with different magnitudes, and strongly slows down the milling. The NC code corresponding to the tool path shows a discontinuity of the C-axis evolution for each path.

## 4.2 Estimated feedrate near singular points

A simulation of the estimated feedrate near a singular point is given on Figure 8. The simulation is carried out on the 5-axis Mikron UCP 710 machine-tool whose kinematical characteristics are given in Table 2.

Figure 8 shows the upper kinematical limits along the tool path. For each tool position along the path, thanks to Equation 6, it is possible to know which axis is limiting the feedrate. In this case,
<figure><img src="image_7.png" /><figcaption>Figure 7. Incoherent movements of C-axis near singular point</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Figure 8. Upper kinematical limit near singularity points for the initial tool path</figcaption></figure>

for each kinematical parameters (velocity, acceleration and jerk), the translational axes (X, Y, Z) are not limiting: their kinematical limits are higher than the kinematical limits of the rotary axes, hence their limits can not be seen on Figure 8. Among rotary axes, C-axis is the most limiting close to the singularity because of the discontinuity of its evolution in this area. Elsewhere, the programmed feedrate is the most limiting one.

A new C-axis tool path can be created in order to fill the discontinuity and to increase locally the upper velocity, acceleration, and jerk profile given axis kinematical constraints. So the aim is to modify the C-axis position in order to reach the smallest value of the kinematical constraints which is limiting, that is to say 1 m/min, the smallest limits reached by the A-axis. With an other machining center with different kinematical characteristics, the upper limits will change. So the
new C-axis tool path is naturally highly dependent on the machine-tool characteristics.

## 4.3 Tool path modifications

After detecting the singular point, two curves fit the original G1 C axis positions (Figure 5): one before ($C_b(s)$) and one after ($C_a(s)$). In this case, compared to the initial G1 points, 12 CL points are modified. During the final step, considering the Mikron UCP 710 machine tool, it is not necessary to modify more points on the trajectory to respect the maximum velocity, acceleration and jerk of its C-axis. For other paths, and moreover for other machine tool characteristics, other points would have been modified to ensure a final new tool path kinematically acceptable.

## 4.4 Experimental results

To validate the benefits of the proposed methodology, tests are carried out on the Mikron UCP710 equipped with the numerical controller Siemens 840D which offers the possibility to monitor axes during machining. Axes positions and velocities are directly recorded within the CNC scope. The original C-axis behavior is depicted in red on Figure 9 and presents magnitude of movement close to 40°. After modification of the tool path, a smooth geometrical evolution of C-axis is achieved with the proposed method.

<figure><img src="image_9.png" /><figcaption>Figure 9. Measured C-axis position and velocity</figcaption></figure>
<figure><img src="image_10.png" /><figcaption>Figure 10. Comparison between estimated and measured feedrate for the different tool paths</figcaption></figure>

Regarding the kinematical behavior, the programmed feedrate of the initial tool path is set to 1 m/mn but the effective feedrate is much slower due to velocity, acceleration and jerk constraints. After optimization, the new evolution of C-axis velocity, acceleration and jerk allows respecting the programmed feedrate (Figure 10). All along the tool path the measured feedrate corresponds to the estimated feedrate and is the same than the programmed feedrate. These results show the efficiency of the methods to avoid incoherent movements and improve productivity. Smoothing other axes involved in the 5-axis movement could increase the relative feedrate between the tool and the part. Indeed, to increase the relative feedrate, it is necessary to also modify the A-axis position because it is the axis which becomes limiting. The algorithm could be also used to modify this axis.

Figure 11 shows that marks on the part are reduced thanks to both, the elimination of incoherent movements of the C-axis, and the elimination of slowdown. Still, few marks remain visible on the part for every tool path. This could be linked to measurement errors of the tool offset or to approximations in the 5-axis geometrical model of the machine-tool.

<figure><img src="image_11.png" /><figcaption>Figure 11. Fewer marks with the new tool path</figcaption></figure>
**5. Conclusion**

In 5-axis machining, incoherent movements of rotary axes may appear around singular points generating marks on the part and feedrate slowdowns. To overcome this issue, this paper presents a method to modify the tool path while respecting kinematical constraints of the machine-tool. For that purpose, a cubic B-Spline curve is inserted between the two set of points of the C-axis initial positions, fitted by two cubic B-spline curves, one before and one after the singularity. The patch curve is built so that maximum velocity, acceleration and jerk of the C-axis is respected as well as the kinematical constraints of the other axes of the machine-tool. Experimental investigations on a test part, machined in 5-axis ball end milling, have been carried out to show the efficiency of the method.

Further developments will take into account the use of filleted end-mill where the tool axis orientation play a major role in the scallops generation. Re-orientation of the tool axis will inevitably modify the scallop height and the distribution of the paths would have to be re-computed according to an adapted distance between paths. 3D surface roughness could also be investigated in order to evaluate the benefits of the method. However, due to surface's curvatures, a suitable measurement technology is required to cover a large measuring range.
# 6. References

## References

Affouard, A., Duc, E., Lartigue, C., Langeron, J.-M., Bourdet, P. 2004. "Avoiding 5-axis singularities using tool path deformation." *International Journal of Machine Tools and Manufacture* 44: 415-425.

Beudaert, X., Pechard, P-Y., Tournier, C. 2011. "5-axis tool path smoothing based on drive constraints." *International Journal of Machine Tools and Manufacture* 51: 958-965

Bohez, E., Makhanov, S.S., Sonthipernpoon, K. 2000. "Adaptive nonlinear tool path optimization for five-axis machining." *International Journal of Production Research* 38: 4329-4343.

Boz, Y., Lazoglu, I. 2013. "A postprocessor for table-tilting type five-axis machine tool based on generalized kinematics with variable feedrate implementation." *International Journal of Advanced Manufacturing Technology* 66: 1285-1293.

Erkorkmaz, K., Altintas, Y. 2001. "High speed CNC system design. Part I: jerk limited trajectory generation and quintic spline interpolation." *International Journal of Machine Tools and Manufacture* 41: 1323-1345

Grandguillaume, L., Lavernhe, S., Tournier, C. 2015. "Kinematical smoothing of rotary axis near singularity point." In *12th International Conference on High Speed Machining*, Nanjing, China, 2015

Jung, Y.H., Lee, D.W., Kim, J.S., Mok, H.S. 2002. "NC post-processor for 5-axis milling machine of table-rotating/tilting type." *Journal of Materials Processing Technology* 130: 641-646.

Kim, J-H., Ryuh, B-S., Pennock, G.R. 2001. "Development of a trajectory generation method for a five-axis NC machine." *Mechanism and Machine Theory* 36: 983-996.

Lasemi, A., Xue, D., Gu, P. 2010. "Recent development in CNC machining of freeform surfaces: A state-of-the-art review." *Computer-Aided Design* 42: 641-654.

Lavernhe, S., Tournier, C., Lartigue, C. 2008. "Optimization of 5-axis high-speed machining using a surface based approach." *Computer-Aided Design* 40: 1015-1023.

Lei, W.T., Hsu, Y.Y. 2003. "Accuracy enhancement of five-axis CNC machines through real-time error compensation." *International Journal of Machine Tools Manufacture* 43: 871-877.

Lin, Z., Fu, J., Shen, H., Gan, W. 2014. "Non-singular tool path planning by translating tool orientations in C-space." *International Journal of Advanced Manufacturing Technology* 71: 1835-1848.

Lin, Z., Fu, J., Yao, X., Sun, Y. 2015. "Improving machined surface textures in avoiding five-axis singularities considering tool orientation angle changes." *International Journal of Machine Tools and Manufacture* 98: 41-49.

Munlin, M., Makhanov, S.S., Bohez, E.L.J. 2003. "Optimization of rotations of a five-axis milling machine near stationary points." *Computer-Aided Design* 36: 1117-1128.

My, C., Bohez, E. 2016. "New algorithm to minimise kinematic tool path errors around 5-axis machining singular points." *International Journal of Production Research* 1:1-11.

SIEMENS. 2006. "Special functions: 3-Axis to 5-Axis transformation." *Function Manual* 11/2006.

Sørby, K. 2007. "Inverse kinematics of five-axis machines near singular configurations." *International Journal of Machine Tools and Manufacture* 47: 299-306

Tournier, C., Castagnetti C., Lavernhe, S., Avellan, F. 2006. "Tool path generation and post-processor issues in five-axis high speed machining of hydro turbine blades". In *5th International Conference on High Speed Machining*, Metz, France, 2006.

Yang, J., Altintas, Y. 2013. "Generalized kinematics of five-axis serial machines with non-singular tool path generation." *International Journal of Machine Tools and Manufacture* 75:119-132.
# 7. Appendix

<table><caption>Table 2. Kinematical characteristics of Mikron UCP 710</caption><thead><tr><th></th><th>X</th><th>Y</th><th>Z</th><th>A</th><th>C</th></tr></thead><tbody><tr><td>V<sub>max</sub><br>(m/min - rpm)</td><td>30</td><td>30</td><td>30</td><td>15</td><td>20</td></tr><tr><td>A<sub>max</sub><br>(m/s<sup>2</sup> - rev/s<sup>2</sup>)</td><td>2.5</td><td>3</td><td>2.1</td><td>0.83</td><td>0.83</td></tr><tr><td>J<sub>max</sub><br>(m/s<sup>3</sup> - rev/s<sup>3</sup>)</td><td>5</td><td>5</td><td>50</td><td>5</td><td>50</td></tr></tbody></table>

<table><caption>Table 3. Kinematical characteristics of Mikron HSM 600</caption><thead><tr><th></th><th>X</th><th>Y</th><th>Z</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>V<sub>max</sub><br>(m/min - rpm)</td><td>100</td><td>100</td><td>100</td><td>200</td><td>360</td></tr><tr><td>A<sub>max</sub><br>(m/s<sup>2</sup> - rev/s<sup>2</sup>)</td><td>10</td><td>9</td><td>10</td><td>1.7</td><td>7</td></tr><tr><td>J<sub>max</sub><br>(m/s<sup>3</sup> - rev/s<sup>3</sup>)</td><td>100</td><td>100</td><td>100</td><td>50</td><td>100</td></tr></tbody></table>