# The Higher Education and Research forge

 Home My Page Projects Code Snippets Project Openings Complex Surface Machining Optimization
 Summary Activity SCM

# SCM Repository

 author Jean-Max Redonnet Wed, 27 May 2020 18:03:56 +0000 (20:03 +0200) committer Jean-Max Redonnet Wed, 27 May 2020 18:03:56 +0000 (20:03 +0200)

@@ -160,7 +160,7 @@ Hence, the machining time associated with a toolpath increases when the number o
As it was previously established, using the toroidal cutter along the steepest slope direction maximizes the effective radius over the whole surface, which leads to larger step-over distances $sod$ between adjacent paths, which finally reduces the total toolpath length. However, if the steepest slope direction is near the perpendicular to the direction of the surface's largest dimension, then the generated toolpath will be composed of shorter paths. In this case, using a ball-end cutter along the direction of the surface's largest dimension, hereafter called principal direction, may provide better results in terms of machining time, despite a longer toolpath. Indeed, the kinematic behaviour of the tool, that need to decelerate nearing each path angle and then accelerate again once the path angle passed, is much more penalizing in the first case than in the second one.

\vspace{\baselineskip}
-In order to illustrate this issue, a rectangular plane surface of width $w=\unit{56}{\milli\meter}$ and height $h=\unit{28}{\milli\meter}$ is considered, the slope angle is $\unit{60}{\degree}$ and its direction is perpendicular to the principal direction (figure \ref{fig:mach_plane}). This plane surface is first machined using a toroidal cutter of radii $R=\unit{5}{\milli\meter}$ and $r=\unit{2}{\milli\meter}$ along the steepest slope direction (contained in the plane ($\mathbf{X},\mathbf{Z})$)). Then the same plane is machined using a ball-end cutter of radius $R=\unit{5}{\milli\meter}$ along the principal direction (axis $\mathbf{Y}$). The maximum allowed scallop height is $sh=\unit{0.01}{\milli\meter}$, which is a standard value in industrial applications.
+In order to illustrate this issue, a rectangular plane surface of width $w=\unit{56}{\milli\meter}$ and height $h=\unit{28}{\milli\meter}$ is considered, the slope angle is $\unit{60}{\degree}$ and its direction is perpendicular to the principal direction (Figure \ref{fig:mach_plane}). This plane surface is first machined using a toroidal cutter of radii $R=\unit{5}{\milli\meter}$ and $r=\unit{2}{\milli\meter}$ along the steepest slope direction (contained in the plane ($\mathbf{X},\mathbf{Z})$)). Then the same plane is machined using a ball-end cutter of radius $R=\unit{5}{\milli\meter}$ along the principal direction (axis $\mathbf{Y}$). The maximum allowed scallop height is $sh=\unit{0.01}{\milli\meter}$, which is a standard value in industrial applications.

\begin{figure}[ht]
\centering
@@ -204,13 +204,13 @@ Based on these observations, a well-founded question arises: is it possible to d

\section{Study of a plane surface}

-In this section, the efficiency of the torus tool and spherical tool are investigated on a rectangular plane surface as the steepest slope and the width by length form factor vary. In order to calculate the machining time, the kinematic model  of the CNC machine  introduced in section \ref{sec:kinematics} is used.
+In this section, the efficiency of the torus tool and spherical tool are investigated on a rectangular plane surface as the steepest slope and the width by length form factor vary. In order to calculate the machining time, the kinematic model of the CNC machine introduced in section \ref{sec:kinematics} is used.

The machining strategy used here is the "\textit{zigzag}" parallel plans, so that a toolpath is composed of a sequence of linear segments put end to end (\textit{i.e.} NC code: G01). In what follows, the kinematic parameters are fixed to: $J_{max} = \unit{40}{\meter\per\cubic\second}$, $A_{max} = \unit{6}{\meter\per\second\squared}$, $V=\unit{5}{\meter\per\minute}$, and cutters are defined by outer radius $R = \unit{5}{\milli\meter}$ for both and torus radius $r = \unit{2}{\milli\meter}$ for the toroidal mill. The scallop height constraint is equal to $sh=\unit{0.01}{\milli\meter}$.

\subsection{Analytical study}
\subsubsection{Toroidal cutter along steepest slope direction}\label{sec:LTtor}
-In this section, the machining time using a toroidal tool along the steepest slope direction (upper picture in figure \ref{fig:mach_plane}) is calculated as a function of the cutter geometry, the kinematic parameters and the surface parameters. For any point of the surface, the effective radius of the toroidal tool can be calculated using equation~\ref{eq:Reff} with $\alpha = 0$:
+In this section, the machining time using a toroidal tool along the steepest slope direction (Upper picture in figure \ref{fig:mach_plane}) is calculated as a function of the cutter geometry, the kinematic parameters and the surface parameters. For any point of the surface, the effective radius of the toroidal tool can be calculated using equation~\ref{eq:Reff} with $\alpha = 0$:
\begin{equation}\label{eq:Reff_plane}
R_{eff} = \frac{R-r}{\sin{s}}+r
\end{equation}
@@ -342,7 +342,7 @@ It is straightforward that $p$ and $q$ are positive. The Cardano's formula gives
& = \frac{\mu\, \chi}{T_2^2}\left(128\,\frac{\sqrt{\mu\, \chi}}{J_{max}\,T_2}-27\,\left(\frac{ \sqrt{\chi}}{\sqrt{\mu}\,V}+2\,\sqrt{\frac{V}{J_{max}}}\right)^2\right)
\end{align*}

-Using numerical values of $V$ and $J_{max}$, limiting the width by height form factor to 9 (which means $\sqrt{\mu}<3$) and assuming surfaces big enough so that machining times order of magnitude is superior to one second ($T_2>\unit{1}{\second}$), it comes that:
+Using numerical values of $V$ and $J_{max}$, limiting the width by height form factor to 9 (Which means $\sqrt{\mu}<3$) and assuming surfaces big enough so that machining times order of magnitude is superior to one second ($T_2>\unit{1}{\second}$), it comes that:

\begin{equation*}
\Delta = \frac{\mu\, \chi}{T_2^2}\left(3.2\,\frac{\sqrt{\mu\, \chi}}{T_2}-27\,\left(12\,\frac{ \sqrt{\chi}}{\sqrt{\mu}}+0.1\right)^2\right)
@@ -418,19 +418,19 @@ In order to carry out an analysis of parameter $s_c$, a sample of values of the

The error is around $5\%$, which confirms the validity of the critical parameters expressions. It is worth noting that the error is higher for larger form factors. Indeed, in this case the paths along the principal direction are longer, and the approximation on the paths number has a greater influence.

-To sum up, the machining times analytically calculated and the critical parameters were numerically checked. Hence, the proposed approach allows to select, for a given plane surface, the most efficient tool geometry and machining direction without calculating machining times, but only using the slope and form factor, which is straight forward for rectangular flat surfaces. To do so, given a plane, its slope $s$ and its form factor $\mu$, the slope $s$ can be compared to the critical slope $s_c(\mu)$. Then the toroidal cutter should be privileged if $s < s_c(\mu)$ and otherwise the ball-end cutter should be selected.
+To sum up, the machining times analytically calculated and the critical parameters were numerically checked. Hence, the proposed approach allows to select, for a given plane surface, the most efficient tool geometry and machining direction without calculating machining times, but only using the slope and form factor, which is straight forward for rectangular, flat surfaces. To do so, given a plane, its slope $s$ and its form factor $\mu$, the slope $s$ can be compared to the critical slope $s_c(\mu)$. Then the toroidal cutter should be privileged if $s < s_c(\mu)$ and otherwise the ball-end cutter should be selected.

\section{Extension to free-form surfaces}
-The objective of this section is to extend the proposed approach on flat rectangular surfaces to general free-form surfaces. First, the theoretical framework is presented, aiming to give a definition of critical parameters. On the base of these critical parameters, an efficient selection of cutter type and machining direction can be performed. Then, the formulated approach is benchmarked with two free-form surfaces test cases, in order to investigate its validity.
+The objective of this section is to extend the proposed approach on flat, rectangular surfaces to general free-form surfaces. First, the theoretical framework is presented, aiming to give a definition of critical parameters. On the base of these critical parameters, an efficient selection of cutter type and machining direction can be performed. Then, the formulated approach is benchmarked with two free-form surfaces test cases, in order to investigate its validity.

\subsection{Theoretical study}\label{sec:ffs_th}
The first question to arise when generalizing to free-form surfaces is how to define the machining directions. To do so a $(u,v)$ mesh defined by isoparametric curves is considered in order to obtain a tessellation of the surface. This way, a bunch of elementary surface quads is obtained. Then, for each quad, a sample point is defined as the center of the quad. The machining directions are defined using these sample points denoted $\mathbf{S_i}$, for $i\in\left\{0,\dots,n\right\}$.

-In the case of a plane, the steepest slope direction is the same whatever the point of the surface taken in consideration. For a free-form surface, the steepest slope direction may vary for any point taken into consideration. As a first approach, the steepest slope direction of a  free-from surface is evaluated by the mean of the steepest slope directions calculated at each sample point.
+In the case of a plane, the steepest slope direction is the same whatever the point of the surface taken in consideration. For a free-form surface, the steepest slope direction may vary for any point taken into consideration. As a first approach, the steepest slope direction of a  free-form surface is evaluated by the mean of the steepest slope directions calculated at each sample point.

-For a rectangular flat surface, the principal direction, along which the surface is the most extended, was parallel to its largest border. It could be seen also, for any surface, as the direction of the line that minimizes the sum of squared distances from the points of the surface to their orthogonal projection on that line. According the tessellation of the surface previously defined, this sum can be calculated discretely relying on the sample points $\mathbf{S_i}$.
+For a rectangular, flat surface, the principal direction, along which the surface is the most extended, was parallel to its largest border. It could be seen also, for any surface, as the direction of the line that minimizes the sum of squared distances from the points of the surface to their orthogonal projection on that line. According to the tessellation of the surface previously defined, this sum can be calculated discretely relying on the sample points $\mathbf{S_i}$.

-According these considerations, the principal direction corresponds to the line that minimizes the sum of squared distances $d_i^2$ from the sample points $\mathbf{S_i}$ to their orthogonal projection on that line. This principle is illustrated on figure \ref{fig:pdir_principle} for few sample points. Thus, finding the principal direction is equivalent to the well-known Principal Component Analysis (PCA) \cite{abdi_principal_2010} method that provides the best fit'' for a data cloud.
+According to these considerations, the principal direction corresponds to the line that minimizes the sum of squared distances $d_i^2$ from the sample points $\mathbf{S_i}$ to their orthogonal projection on that line. This principle is illustrated on figure \ref{fig:pdir_principle} for few sample points. Thus, finding the principal direction is equivalent to the well-known Principal Component Analysis (PCA) \cite{abdi_principal_2010} method that provides the best fit'' for a data cloud.

\begin{figure}[ht]
\centering
@@ -442,7 +442,7 @@ According these considerations, the principal direction corresponds to the line
\subsubsection{Using the covariance matrix to define the principal direction}
Principal component analysis is a multivariate statistical procedure for data analysis. It is mainly used for dimension reduction: It aims to condense the information contained in a large number of original variables into a smaller set of new orthogonal variables by means of linear combinations, with a minimum of information loss. PCA is also used for interpretation of large data set, it can reveals relationships between correlated variables. Mathematically, PCA depends upon the eigen decomposition of positive semi‐definite matrices and upon the Singular Value Decomposition (SVD) of rectangular matrices.

-In our context, for a given surface $\mathcal{S}$, the variables are the coordinates of surface points in the three dimensionnal Euclidian space: $\left(S_x,S_y,S_z\right)$. PCA is performed over the sample points $\mathbf{S_i}$ through eigen decomposition of its covariance matrix, which gives three orthogonal eigenvectors $\mathbf{S_I}$, $\mathbf{S_{II}}$ and $\mathbf{S_{III}}$ corresponding to the eigenvalues $\lambda_I\geq \lambda_{II} \geq \lambda_{III}$. Note that $\mathbf{S_I}$ is the vector that fits the best the sample points $\mathbf{S_i}$. Indeed, it minimizes the sum of squared distances from the sample points to the orthogonal projection on itself. Thus, $\mathbf{S_I}$ is considered the principal direction of the free-form surface $\mathcal{S}$. The covariance matrix $C$ of the sample points $\mathbf{S_i}$ is
+In our context, for a given surface $\mathcal{S}$, the variables are the coordinates of surface points in the three dimensional Euclidian space: $\left(S_x,S_y,S_z\right)$. PCA is performed over the sample points $\mathbf{S_i}$ through eigen decomposition of its covariance matrix, which gives three orthogonal eigenvectors $\mathbf{S_I}$, $\mathbf{S_{II}}$ and $\mathbf{S_{III}}$ corresponding to the eigenvalues $\lambda_I\geq \lambda_{II} \geq \lambda_{III}$. Note that $\mathbf{S_I}$ is the vector that fits the best the sample points $\mathbf{S_i}$. Indeed, it minimizes the sum of squared distances from the sample points to the orthogonal projection on itself. Thus, $\mathbf{S_I}$ is considered the principal direction of the free-form surface $\mathcal{S}$. The covariance matrix $C$ of the sample points $\mathbf{S_i}$ is
\begin{equation} \label{eq:cov_mat}
C=\begin{pmatrix}
\var(S_x) & \cov(S_{x}S_y) & \cov(S_{x}S_z) \\
@@ -463,7 +463,7 @@ In our context, for a given surface $\mathcal{S}$, the variables are the coordin
~   & $\cov(S_{y}S_z)=\E(S_xS_z) - \E(S_x)\E(S_z)$
\end{tabular}

-In these expressions, $\E(X)$ is the mean of quantity $X$ over the $n$ sample points previously defined. Eigenvectors are orthogonal because the covariance matrix is symmetric. Since the cutter must remain tangent to surface during machining, and surfaces are geometric varieties of dimension 2, eigenvector $\mathbf{S_{II}}$ represents the less extended surface direction, which explain best results will be obtained when the steepest slope direction is near the perpendicular to principal direction $\mathbf{S_I}$ (more considerations on this point are discussed in section \ref{sec:efficiency}). The eigenvector $\mathbf{S_{III}}$ is not considered since $\lambda_{III}$ is equal to zero for flat surfaces. In general, the smaller $\lambda_{III}$ is, the more the surface is flat.
+In these expressions, $\E(X)$ is the mean of quantity $X$ over the $n$ sample points previously defined. Eigenvectors are orthogonal because the covariance matrix is symmetric. Since the cutter must remain tangent to surface during machining, and surfaces are geometric varieties of dimension 2, eigenvector $\mathbf{S_{II}}$ represents the less extended surface direction, which explain best results will be obtained when the steepest slope direction is near the perpendicular to principal direction $\mathbf{S_I}$ (More considerations on this point are discussed in section \ref{sec:efficiency}). The eigenvector $\mathbf{S_{III}}$ is not considered since $\lambda_{III}$ is equal to zero for flat surfaces. In general, the smaller $\lambda_{III}$ is, the more the surface is flat.

\subsubsection{Using eigenvalues to define an approximate form factor and an approximate  characteristic size of a free-from surface}

@@ -477,10 +477,8 @@ In the same way an approximated characteristic size $\tilde{\chi}$ of a free-fro
\begin{equation} \label{eq:size_approx}
\tilde{\chi} = 12\,\sqrt{\lambda_I\,\lambda_{II}}
\end{equation}
-The word approximated must be understood in the sense that these definitions depend on the mesh size. However, it has been empirically observed that the mesh size does not significantly  change these values as long as it is chosen big enough.
-Moreover, it has been proven (see appendix \ref{app:proof1}) that when continuously and uniformly sampling the flat rectangular surfaces   $\tilde{\mu}$ (respectively $\tilde{\chi}$) coincides with   $\mu= \frac{w}{h}$ (respectively with $\chi = w h$).
-
-
+The word approximated must be understood in the sense that these definitions depend on the mesh size. However, it has been empirically observed that the mesh size does not significantly change these values as long as it is chosen big enough.
+Moreover, it has been proven (see appendix \ref{app:proof1}) that when continuously and uniformly sampling the flat, rectangular surfaces   $\tilde{\mu}$ (respectively $\tilde{\chi}$) coincides with   $\mu= \frac{w}{h}$ (respectively with $\chi = w h$).

\subsubsection{Approximated slope of a free-form surface}\label{sec:slope_app}
Contrary to flat surfaces, the steepest slope of free-form surfaces is not constant. As proposed in section \ref{sec:ffs_th}, a first approximation could be the mean of sample points slopes over the entire surface. In this case the approximating slope is given by:
@@ -801,6 +799,7 @@ This work is only a first approach to cutter type selection problem using princi
\bibliographystyle{spmpsci}
\bibliography{biblio.bib}

+\vspace{\baselineskip}
\appendix
\section{Study of the critical parameter $\mu_c = f(s)$}
The expression of the critical parameter $s_c = f(\mu)$ have been developed in section \ref{sec:critP}. The reciprocal function $\mu_c = f(s)$ is far less interesting from a practical point of view, however some use cases may be thought up, especially at the conception stage of the part.