Geometric Tolerancing of Cylindricity Utilizing Support Vector Regression

Project Enquiry:

Fields with * are mandatory


In the age where quick turn around time and high speed manufacturing methods are becoming more important, quality assurance is a consistent bottleneck in production. With the development of cheap and fast computer hardware, it has become viable to use machine vision for the collection of data points from a machined part. The generation of these large sample points have necessitated a need for a comprehensive algorithm that will be able to provide accurate results while being computationally efficient.

Current established  methods are least-squares (LSQ) and non-linear programming (NLP). The LSQ method is often deemed too inaccurate and is prone to providing bad results, while the NLP method is computationally taxing. A novel  method of using support vector regression (SVR) to solve the NP-hard problem of cylindricity of machined  parts is proposed.

This method was evaluated against LSQ and NLP in both accuracy and CPU processing time. An open-source, user-modifiable programming package was developed to test the model. Analysis of test results show the novel SVR algorithm to be a viable alternative in exploring different methods of cylindricity in real-world manufacturing.



Current geometric tolerancing methods have focused on the measure of roundness, which is one of the most basic geometric elements of mechanical parts. Taking this further, in real-world settings, parts with cylindrical shapes are crucial in applications that require tight tolerancing. The most obvious example in  this case is a crank shaft in a motor where even a slight imbalance has the capability to cause  catastrophic failure.

Cylindricity Tolerance Specification

Cylindricity Tolerance Specification.

Support Vector Machines:

Support Vector Machines (SVM) have recently gained traction as a new type of statistical   learning algorithm, and will be discussed below. All of these examples estimate the model parameters for fitting based on the sample data, and their performance depends on the learning process that is affected by initial conditions.


Finding the Correct Tools:

With the theory in place, it was needed to determine the correct way to realize it in to a  usable form. As defined in the beginning of this paper, the goal of this research was not only to determine the suitability of the proposed algorithm, but also to create an open framework which the algorithm could be tested against LSQ and NLP.

In reviewing the available programming languages, it was determined that the Java Runtime Environment (JRE)  was suitable due to its portability and ease of use. What was also taken into account was the JRE’s close integration with web applications as one of the future goals of the project is to create a program that   can be accessed and used on a web page.

Programming the GUI:

With the proper tools and methods in place, it was possible to program an application to run  the experiment. The Netbeans Integrated Development Environment was chosen because of its recommendation by Sun, the creators of the Java programming language, and its built-in graphical user interface (GUI) builder that conformed to all current standards of the costantly-changing JRE specifications.

Example of Octave SQP Solver Failure

Example of Octave SQP Solver Failure.


Analysis of Results:

Boxplot of Cylindricity with Outliers.

Boxplot of Cylindricity with Outliers.

The values of cylindricity for LSQ and NLP show clearoutliers that can not be accepted as given as it is physically impossible to have these values. It is well known that the LSQ method can often give results that are unacceptable due to the failure of convergence with
in the algorithm.


The results of the experiment show that the proposed SVR method is a viable alternative to the LSQ and NLP method in solving the problem of cylindricity. Inparticular, problems with a high number of sample points and a high variance are perfectly suited for the SVR algorithm. In addition, the proposed method is guaranteed to provide a reasonable result when the other two methods fail to do so.

Using this new type of kernel within the framework of SVR provides  results that are consistent in quality comparable to NLP with less processing time required. In a real-world setting, this would  provide a manufacturer with an algorithm he or she can trust to giv e the correct answer rather than the rowing out a good art because of bad computational results.

In addition, an open and accessible software package for the analysis Boxplot of CPU Time NLP vs SVR Against Pts per Cross-Section cylindricity has been developed. This allows the ability of the user to easily generate data for analysis as well as modify the an alytical algorithms that are employed. The results are either displayed or outputted into an easily understand able format that can be copied over to a spreadsheet program or a statistical program such as Minitab. This greatly reduces the time it takes for an idea to be implemented and studied in dept.


With the implementation of a proven novel kernel within the SVR framework in an open source  application, it is possible to make further improvements with little difficulty. The issue of Octave’s SQP Solver failure will be worked on. Possible solutions to this problem will be a workaround the current solver, a new solver package within Octave, or a completely new mathematical library written in native Java code.

It is hoped that, as is the nature of open-source programs, the existing code of the SQP Solver will be constantly improved and updated to be able to handle larger amounts of data. As the problem was well known in previous versions of MATLAB, it is expected that the open-source community will continuously improve the algorithm of the Octave SQP solver to the point where it is comparable to what is available in commercial programs.

Source: University of Miami
Author: Keun Joo Lee

Download Project

Project Enquiry:

Fields with * are mandatory

Leave a Comment

Your email address will not be published. Required fields are marked *