<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">ENG</journal-id><journal-title-group><journal-title>Engineering</journal-title></journal-title-group><issn pub-type="epub">1947-3931</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/eng.2021.136024</article-id><article-id pub-id-type="publisher-id">ENG-110278</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Engineering</subject></subj-group></article-categories><title-group><article-title>
 
 
  Error Prediction in Industrial Robot Machining: Optimization Based on Stiffness and Accuracy Limit
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yair</surname><given-names>Shneor</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Vladimir</surname><given-names>Chapsky</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>CAMT, Center for Advanced Manufacturing Technologies, Rotem Industries Ltd, Rotem Industrial Park, D.N. Arava, Mishor Yamin, Israel</addr-line></aff><aff id="aff2"><addr-line>Department of Mechanical Engineering, Ben-Gurion University of the Negev, Beer-Sheva, Israel</addr-line></aff><pub-date pub-type="epub"><day>10</day><month>06</month><year>2021</year></pub-date><volume>13</volume><issue>06</issue><fpage>330</fpage><lpage>351</lpage><history><date date-type="received"><day>11,</day>	<month>May</month>	<year>2021</year></date><date date-type="rev-recd"><day>27,</day>	<month>June</month>	<year>2021</year>	</date><date date-type="accepted"><day>30,</day>	<month>June</month>	<year>2021</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Among the advantages of using industrial robots for machining applications instead of machine tools are flexibility, cost effectiveness, and versatility. Due to the kinematics of the articulated robot, the system behaviour is quite different compared with machine tools. Two major questions arise in implementing robots in machining tasks: one is the robot’s stiffness, and the second is the achievable machined part accuracy, which varies mainly due to the huge variety of robot models. This paper proposes error prediction model in the application of industrial robot for machining tasks, based on stiffness and accuracy limits. The research work includes experimental and theoretical parts. Advanced machining and inspection tools were applied, as well as a theoretical model of the robot structure and stiffness based on the form-shaping function approach. The robot machining performances, from the workpiece accuracy point of view were predicted.
 
</p></abstract><kwd-group><kwd>Robot Stiffness</kwd><kwd> Robot Machining Performances</kwd><kwd> Accuracy Prediction</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Among the benefits in applying robots to machining tasks that were first reported in the 1990s were increased flexibility and lower costs. Industrial robots (IRs) integrated in cutting applications are primarily used for prototyping, cleaning, and pre-machining of cast parts as well as end-machining of middle tolerance parts [<xref ref-type="bibr" rid="scirp.110278-ref1">1</xref>]. Notwithstanding their advantages, IRs suffer from inherent weaknesses under the presence of machining process forces, namely: low positioning accuracy, vibration, and deflections. For articulated robots, repeatability is inherently dependent on its reach distance, such that the greater the reach distance, the lower the repeatability [<xref ref-type="bibr" rid="scirp.110278-ref2">2</xref>]. Therefore, in robotic milling applications, the process final results are unwanted trajectory deviations, which lead to errors in target dimensions and reduced surface quality of the workpiece (WP). These deviations are mainly caused by static offset overlaid with low frequency tool oscillation [<xref ref-type="bibr" rid="scirp.110278-ref3">3</xref>]. Today’s optimum repeatability levels for industrial articulated robots can reach &#177;0.03 mm [<xref ref-type="bibr" rid="scirp.110278-ref4">4</xref>], which is sufficient for many low- to medium-accuracy part machining tasks. Robot positioning accuracy and repeatability were investigated and reported in [<xref ref-type="bibr" rid="scirp.110278-ref2">2</xref>]. The tool center point (TCP) position error result for the KUKA KR 16 - 2 robot without loading during movement along a cube with a side length of 1000 mm was 0.15 mm. Previously reported TCP deviation from the nominal programmed position using the LOLA 50 robot under a static load of F<sub>ystat</sub> = 100 N was 0.3 mm [<xref ref-type="bibr" rid="scirp.110278-ref5">5</xref>]. Additional deflections of 0.25 mm were measured under milling loads of 100 N using the KUKA KR 210 robot, which was consistent with the expected compliance [<xref ref-type="bibr" rid="scirp.110278-ref4">4</xref>]. The accuracy of robots in machining was reported for various operation types and under several processing conditions, for example, a deviation error of 0.19 - 0.55 mm was obtained for the KUKA KR 125 robot in milling with a 300 N load [<xref ref-type="bibr" rid="scirp.110278-ref6">6</xref>]. In another milling test using the IRB 6640 robot with a 500 N load, an error of 1 mm before compensation and 0.4 mm after compensation was achieved [<xref ref-type="bibr" rid="scirp.110278-ref7">7</xref>]. An error of 0.2 - 0.35 mm was reported in a drilling test using the KUKA KR500-2 robot with a process load of 1000 N [<xref ref-type="bibr" rid="scirp.110278-ref8">8</xref>]. Although studies on the positioning errors, measurement, and compensation, in robotic applications, were conducted since the 1990’s [<xref ref-type="bibr" rid="scirp.110278-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.110278-ref10">10</xref>], it has been difficult to improve the accuracy of machining tasks. The main reason was the lack of a reliable programming tool for predicting possible TCP position error in relation to the WP geometry and to the robot workspace.</p><p>In this paper, the developed method for enabling the end-user to predict, through simulation, the achievable accuracy in robot-aided machining and to optimize the WP position in the workspace in terms of the achievable machining accuracy were described. The experimental validation procedure was performed. The developed software, based on the form-shaping function (FSF) approach and previously applied for modelling machine tools [<xref ref-type="bibr" rid="scirp.110278-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.110278-ref12">12</xref>], is used here for the first time for articulated robot research.</p></sec><sec id="s2"><title>2. Overview of Research Approach</title><p>A flowchart illustrating the research approach, which comprises theoretical and experimental stages, is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The form-shaping function (FSF) approach made it possible to construct the kinematic model of the investigated serial robot. (Steps A.1, A.2). By solving the inverse kinematic equations, the robot spatial configuration, including six values of the joint rotations were defined (Step A.3). A set of joint compliance measurements were then applied</p><p>(Step B.1). Based on the joint stiffness/compliance model, the joint compliance matrices were composed (Step A.4). Then the full compliance matrix of the robot was calculated (Step A.5). A two-step procedure using the Renishaw Q10 ball-bar system was applied in order to teach the robot TCP the planned movement along a circular path (Step B.2). A ball-bar test, which was run while the predefined circular TCP path was being performed, determined the positioning accuracy and repeatability of the robot when no external forces were applied (Step B.3). Experiments, including circular groove milling, were performed. A high-speed Mini-spindle, and the Kistler dynamometer system were used for machining and measuring the cutting forces during cutting (Step B.4). The accuracy of the machined circular groove, roundness and position was measured using of-line CMM-XYZ (Step B.5). In order to calculate the tool tip deviations from the nominal path during cutting, the measured cutting forces were used as external data in the simulation model (Step A.6). The simulation model was verified by comparing the results of the deviations measured in the experimental part, i.e., deviations from the nominal circular groove, and the results obtained with the simulation software (step C).</p><p>Simulations were run to obtain a visual description of the TCP deviation vectors, to map the deviations, and to define the workspace within a predefined deviation limit (Steps A.7, A.8, A.9). In Step D, concluding this study, the achievable workspace within a predefined accuracy limit is given.</p></sec><sec id="s3"><title>3. Theoretical Background</title><sec id="s3_1"><title>3.1. Form-Shaping Function of the Serial Robots</title><p><xref ref-type="fig" rid="fig2">Figure 2</xref> depicts the proposed model of 6R robot, which considered as serial kinematic chain with six kinematic links, revolute joints, labeled from base to tool, as follows: S, L, U, R, B, and T. The positive direction of rotation for each joint is also shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>The applied modeling was based on the error budget theory and FSF approach [<xref ref-type="bibr" rid="scirp.110278-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.110278-ref12">12</xref>]. The results of this study enabled us as follows:</p><p>• To predict the achievable tolerances on a machined workpiece (WP).</p><p>• To optimize WP mounting position relative to robot configuration.</p><p>• To define the permissible mechanical loadings, and, therefore, the permissible machining parameters (tool geometry, feed rate, spindle speed, and depth of cut).</p><p>The form-shaping system (FSS) of the machine tool or robot consists of an ordered aggregate of machine links, whose relative positions and mutual movements ensure the specified travel trajectory of TCP with respect to a WP.</p><p>The main mathematical model of the FSS theory is the FSF. Depending on the object to be transformed, a position vector, an orientation vector, or a screw, three types of the FSF are considered.</p><p>The FSF’s position component connects the two vectors r<sub>n</sub> and r<sub>0</sub> by means of the manipulating matrix <sup>0</sup>A<sub>n</sub>, where r<sub>n</sub> the position vector of functional point (FP), expressed in frame S<sub>n</sub>, r<sub>0</sub> the position vector of the same point, expressed in frame S<sub>0</sub>.</p><p>r 0 = A 0 n r n , (1)</p><p>r 0 = [ x 0 , y 0 , z 0 , 1 ] and r n = [ x n , y n , z n , 1 ] ,</p><p>In Equation (1), x<sub>0</sub>, y<sub>0</sub>, and z<sub>0</sub> are the coordinates of an FP referring to the frame S<sub>0</sub> whereas, x<sub>n</sub>, y<sub>n</sub>, and z<sub>n</sub> are those referring to the frame S<sub>n</sub>; and <sup>0</sup>A<sub>n</sub> is the 4 &#215; 4 manipulating matrix of the FSF presenting a product of the cofactor-matrices A i − 1 i associated with the ith link ( i = 1 , 2 , ⋯ , n ) of the FSS.</p><p>A 0 n = ∏ i = 1 n A i − 1 i (2)</p><p>A i − 1 i = A i − 1 i ( q i ) , with i = 1 , 2 , ⋯ , n ,</p><p>In Equation (2), A i − 1 i is one of six matrices of elementary motions (translation along or rotation around the X-, Y-, or Z-axis); q<sub>j</sub> is either a geometric constant (a constant length or a constant angle) associated with the ith geometric link or a time-dependent function, q<sub>i</sub> = q<sub>i</sub>(t), for the 1-DOF kinematic link.</p><p>The orientation component of the FSF involves the same 4 &#215; 4 manipulating matrix <sup>0</sup>A<sub>n</sub>, (Equation (3)) and a pair of the 4 &#215; 1 non-position vectors c<sub>0</sub> and c<sub>n</sub>.</p><p>c 0 = A 0 n c n ,<sub> </sub>(3)</p><p>where c 0 = [ c 0 x , c 0 y , c 0 z , 0 ] and c n = [ c n x , c n y , c n z , 0 ] and c<sub>0x</sub>, c<sub>0y</sub>, and c<sub>0z</sub> are the direction cosines of the cutting tool axis referring to frame S<sub>0</sub>; and c<sub>nx</sub>, c<sub>ny</sub>, and c<sub>nz</sub> are those referring to frame S<sub>n</sub>. Both c<sub>0</sub> and c<sub>n</sub> are the unit vectors</p><p>‖ c 0 ‖ = ‖ c n ‖ = 1 .</p><p>The FSF can combine both position and orientation components connected by the same matrix:</p><p>[ r 0 c 0 ] = A 0 n [ r n c n ] (4)</p></sec><sec id="s3_2"><title>3.2. Kinematic Model of 6R Robot</title><p>The manipulation matrix <sup>0</sup>A<sub>15</sub> is the product of the fifteen 4 &#215; 4 matrices given in the last column of <xref ref-type="table" rid="table1">Table 1</xref> [<xref ref-type="bibr" rid="scirp.110278-ref13">13</xref>].</p><p>A 0 15 = ∏ i = 1 15 A i − 1 i (5)</p><p>A 0 15 = A 3 ( H ) A 6 ( φ ) A 1 ( s x ) A 3 ( s z ) A 5 ( ψ 1 ) A 3 ( l z ) A 5 ( ψ 2 ) A 1 ( u x )                   ⋅ A 3 ( u z ) A 4 ( θ 1 ) A 1 ( r x ) A 5 ( ψ 3 ) A 1 ( b x ) A 4 ( θ 2 ) A 1 ( t x ) (6)</p><p>where descriptions of all cofactors included in the expression for the manipulation matrix (Equation (6)) are shown in <xref ref-type="table" rid="table1">Table 1</xref>. The cofactor-matrices in Equation (6) presented in <xref ref-type="table" rid="table2">Table 2</xref> [<xref ref-type="bibr" rid="scirp.110278-ref12">12</xref>].</p><p>The kinematic model of the 6R robot associated with <xref ref-type="table" rid="table1">Table 1</xref> shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p></sec><sec id="s3_3"><title>3.3. Solving the Inverse Kinematic Problem</title><p>The inverse kinematic problem is to find solutions of equations for the FSF system (Equation (4)), which consists of six equations with six unknowns, one for the rotation angle of each of the six joints:</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Form-shaping system (FSS) of 6R robot</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Coordinate system</th><th align="center" valign="middle" >Link</th><th align="center" valign="middle" >Motion relative to previous link</th><th align="center" valign="middle" >Matrix<sup>i</sup><sup>−1</sup>A<sub>i</sub></th></tr></thead><tr><td align="center" valign="middle" >S<sub>0</sub></td><td align="center" valign="middle" >Platform</td><td align="center" valign="middle" >Fixed link</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >S<sub>1</sub></td><td align="center" valign="middle" >Base (Geometric link)</td><td align="center" valign="middle" >Translation along the Z<sub>0</sub>-axis at height H</td><td align="center" valign="middle" ><sup>0</sup>A<sub>1</sub> = A<sup>3</sup>(H)</td></tr><tr><td align="center" valign="middle" >S<sub>2</sub></td><td align="center" valign="middle" >Joint S (Kinematic link)</td><td align="center" valign="middle" >Rotation around the Z<sub>1</sub>-axis at angle φ</td><td align="center" valign="middle" ><sup>1</sup>A<sub>2</sub> = A<sup>6</sup>(φ)</td></tr><tr><td align="center" valign="middle" >S<sub>3</sub></td><td align="center" valign="middle" >Joint S (Geometric link)</td><td align="center" valign="middle" >Translation along the X<sub>2</sub>-axis on sx</td><td align="center" valign="middle" ><sup>2</sup>A<sub>3</sub> = A<sup>1</sup>(sx)</td></tr><tr><td align="center" valign="middle" >S<sub>4</sub></td><td align="center" valign="middle" >Joint S (Geometric link)</td><td align="center" valign="middle" >Translation along the Z<sub>3</sub>-axis on sz</td><td align="center" valign="middle" ><sup>3</sup>A<sub>4</sub> = A<sup>3</sup>(sz)</td></tr><tr><td align="center" valign="middle" >S<sub>5</sub></td><td align="center" valign="middle" >Joint L (Kinematic link)</td><td align="center" valign="middle" >Rotation around the Y<sub>4</sub>-axis at angle ψ<sub>1</sub></td><td align="center" valign="middle" ><sup>4</sup>A<sub>5</sub> = A<sup>5</sup>(ψ<sub>1</sub>)</td></tr><tr><td align="center" valign="middle" >S<sub>6</sub></td><td align="center" valign="middle" >Joint L (Geometric link)</td><td align="center" valign="middle" >Translation along the Z<sub>5</sub>-axis on lz</td><td align="center" valign="middle" ><sup>5</sup>A<sub>6</sub> = A<sup>3</sup>(lz)</td></tr><tr><td align="center" valign="middle" >S<sub>7 </sub></td><td align="center" valign="middle" >Joint U (Kinematic link)</td><td align="center" valign="middle" >Rotation around the Y<sub>6</sub>-axis at angle ψ<sub>2</sub></td><td align="center" valign="middle" ><sup>6</sup>A<sub>7</sub> = A<sup>5</sup>(ψ<sub>2</sub>)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>8</sub></td><td align="center" valign="middle" >Joint U (Geometric link)</td><td align="center" valign="middle" >Translation along the X<sub>7</sub>-axis on ux</td><td align="center" valign="middle" ><sup>7</sup>A<sub>8</sub> = A<sup>1</sup>(ux)</td></tr><tr><td align="center" valign="middle" >S<sub>9</sub></td><td align="center" valign="middle" >Joint U (Geometric link)</td><td align="center" valign="middle" >Translation along the Z<sub>8</sub>-axis on uz</td><td align="center" valign="middle" ><sup>8</sup>A<sub>9</sub> = A<sup>3</sup>(uz)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>10</sub></td><td align="center" valign="middle" >Joint R (Kinematic link)</td><td align="center" valign="middle" >Rotation around the X<sub>9</sub>-axis at angle θ<sub>1</sub></td><td align="center" valign="middle" ><sup>9</sup>A<sub>10</sub> = A<sup>4</sup>(θ<sub>1</sub>)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>11</sub></td><td align="center" valign="middle" >Joint R (Geometric link)</td><td align="center" valign="middle" >Translation along the X<sub>10</sub>-axis on rx</td><td align="center" valign="middle" ><sup>10</sup>A<sub>11</sub> = A<sup>1</sup>(rx)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>12</sub></td><td align="center" valign="middle" >Joint B (Kinematic link)</td><td align="center" valign="middle" >Rotation around the Y<sub>11</sub>-axis at angle ψ<sub>3</sub></td><td align="center" valign="middle" ><sup>11</sup>A<sub>12</sub> = A<sup>5</sup>(ψ<sub>3</sub>)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>13</sub></td><td align="center" valign="middle" >Joint B (Geometric link)</td><td align="center" valign="middle" >Translation along the X<sub>12</sub>-axis on bx</td><td align="center" valign="middle" ><sup>12</sup>A<sub>13</sub> = A<sup>1</sup>(bx)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>14</sub></td><td align="center" valign="middle" >Joint T (Kinematic link)</td><td align="center" valign="middle" >Rotation around the X<sub>13</sub>-axis at angle θ<sub>2</sub></td><td align="center" valign="middle" ><sup>13</sup>A<sub>14</sub> = A<sup>4</sup>(θ<sub>2</sub>)<sup> </sup></td></tr><tr><td align="center" valign="middle" >S<sub>15</sub></td><td align="center" valign="middle" >Joint T (Geometric link)</td><td align="center" valign="middle" >Translation along the X<sub>14</sub>-axis on tx</td><td align="center" valign="middle" ><sup>14</sup>A<sub>15</sub> = A<sup>1</sup>(tx)<sup> </sup></td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Matrices of elementary motions</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Matrix</th><th align="center" valign="middle" >j = 1</th><th align="center" valign="middle" >j = 2</th><th align="center" valign="middle" >j = 3</th><th align="center" valign="middle" >j = 4</th><th align="center" valign="middle" >j = 5</th><th align="center" valign="middle" >j = 6</th></tr></thead><tr><td align="center" valign="middle" >The 4 &#215; 4 matrix of homogeneous transformations</td><td align="center" valign="middle" >A 1 ( x ) = [ I p x 0 T 1 ]</td><td align="center" valign="middle" >A 2 ( y ) = [ I p y 0 T 1 ]</td><td align="center" valign="middle" >A 3 ( z ) = [ I p z 0 T 1 ]</td><td align="center" valign="middle" >A 4 ( θ ) = [ R x 0 0 T 1 ]</td><td align="center" valign="middle" >A 5 ( ψ ) = [ R y 0 0 T 1 ]</td><td align="center" valign="middle" >A 6 ( φ ) = [ R z 0 0 T 1 ]</td></tr><tr><td align="center" valign="middle" >The 6 &#215; 6 matrix of screw transformations</td><td align="center" valign="middle" >T 1 ( x ) = [ I 0 T x I ]</td><td align="center" valign="middle" >T 2 ( y ) = [ I 0 T y I ]</td><td align="center" valign="middle" >T 3 ( z ) = [ I 0 T z I ]</td><td align="center" valign="middle" >T 4 ( θ ) = [ R x 0 0 R x ]</td><td align="center" valign="middle" >T 5 ( ψ ) = [ R y 0 0 R y ]</td><td align="center" valign="middle" >T 6 ( φ ) = [ R z 0 0 R z ]</td></tr><tr><td align="center" valign="middle"  colspan="7"  >T x = [ 0 0 0 0 0 − x i 0 x i 0 ] ; T y = [ 0 0 y i 0 0 0 − y i 0 0 ] ; T z = [ 0 − z i 0 z i 0 0 0 0 0 ] ; R x = [ 1 0 0 0 cos θ i − sin θ i 0 sin θ i cos θ i ] ; R y = [ cos ψ i 0 sin ψ i 0 1 0 − sin ψ i 0 cos ψ i ] ; R z = [ cos φ i − sin φ i 0 sin φ i cos φ i 0 0 0 1 ]</td></tr></tbody></table></table-wrap><p>*I is the 3 &#215; 3 identity matrix; p x = [ x i , 0 , 0 ] T ; p y = [ 0 , y i , 0 ] T ; p z = [ 0 , 0 , z i ] T .</p><p>φ: rotation angle of joint S relative to the base around the Z-axis of the base coordinate system.</p><p>ψ<sub>1</sub>: rotation angle of joint L relative to the link S around the Y-axis of the S coordinate system.</p><p>ψ<sub>2</sub>: rotation angle of joint U relative to the link L around the Y-axis of the L coordinate system.</p><p>θ<sub>1</sub>: rotation angle of joint R relative to the link U around the X-axis of the U coordinate system.</p><p>ψ<sub>3</sub>: rotation angle of joint B relative to the link R around the Y-axis of the R coordinate system.</p><p>θ<sub>2</sub>: rotation angle of joint T relative to the link B around the X-axis of the B coordinate system.</p><p>The results obtained from solving the FSF equation system are the known robot postures (spatial positions of all links) associated with each functional point (FP) on the WP.</p></sec><sec id="s3_4"><title>3.4. Stiffness/Compliance Model of the Joint</title><p>The robot links assumed as rigid bodies, and the joint stiffness (which includes control loop stiffness and actuator mechanical stiffness) represented by a linear torsion spring. The deformations of joint bearings that theoretically presented as springs with nonzero compliance were not considered in this study.</p><p>The compliance values of the joints (which include the compliance of the control loop and the mechanical compliance of the drives) were measured previously for the 6R robot type MH-12 YASKAWA by loading each link with a known external load and measuring the angular deviation of the current link relative to the previous one. Since the presented study has the estimated character of the achievable accuracy of robot machining, the compliance of the joints was measured approximately, and the process of these measurements is not described in this article. The measured joints compliance values were:</p><p>c S = 2.1 &#215; 10 − 9 [ Rad / N ⋅ mm ] ; c L = 2.5 &#215; 10 − 9 [ Rad / N ⋅ mm ] ; c U = 4.0 &#215; 10 − 8 [ Rad / N ⋅ mm ] ; c R = 6.0 &#215; 10 − 8 [ Rad / N ⋅ mm ] ; c B = 6.0 &#215; 10 − 8 [ Rad / N ⋅ mm ] ; c T = 8.0 &#215; 10 − 8 [ Rad / N ⋅ mm ] .</p></sec><sec id="s3_5"><title>3.5. Stiffness/Compliance Model of the Serial Robot: Full Compliance Matrix</title><p>As shown in [<xref ref-type="bibr" rid="scirp.110278-ref12">12</xref>], the 6 &#215; 6 stiffness-compliance matrix of the terminal link of a serial robot with respect to the base, expressed through 6 &#215; 6 joint stiffness matrices, is as follows:</p><p>K 0 N = [ ( K 0 , 1 ) − 1 + ( K 1 , 2 ) − 1 + ⋯ + ( K i − 1 , i ) − 1 + ⋯ + ( K N − 1 , N ) − 1 ] − 1 <sup> </sup></p><p>K i − 1 , i = T 0 k K i n k T 0 k T</p><p>C 0 N = ∑ 0 N C i − 1 , i</p><p>C i − 1 , i = ( K i − 1 , i ) − 1 (7)</p><p>where C<sub>0N</sub> and K<sub>0N</sub> are the full compliance (stiffness) matrix of robot, K<sub>ink</sub> is the 6 &#215; 6 stiffness matrix of the kth link relative to its coordinate system, and C<sub>ink</sub> is the 6 &#215; 6 compliance matrix of the same link. All components of Equation (7) must be represented in the same coordinate system. To obtain the full compliance matrix C<sub>0N</sub> by using Equation (7), we need to calculate all compliance matrices of all joints relative to the platform coordinate system using Equation (8):</p><p>C i − 1 , i = [ T 0 k K i n k T 0 k T ] − 1 = ( T 0 k T ) − 1 C i n k ( T 0 k ) − 1 (8)</p><p>where the definition of C<sub>ink</sub> is given in <xref ref-type="table" rid="table3">Table 3</xref>. The Equation (7) and Equation (8) considers fact, that Jacobian matrix associated with accepted by us joint model is an identical 6 &#215; 6 matrix I.</p><p>The transformation matrices <sup>0</sup>T<sub>k</sub> from the platform to the current joints are:</p><p>T 0 S = T 3 ( H ) T 6 ( φ )</p><p>T 0 L = T 3 ( H ) T 6 ( φ ) T 1 ( s x ) T 3 ( s z ) T 5 ( ψ 1 )</p><p>T 0 U = T 3 ( H ) T 6 ( φ ) T 1 ( s x ) T 3 ( s z ) T 5 ( ψ 1 ) T 3 ( l z ) T 5 ( ψ 2 )</p><p>T 0 R = T 3 ( H ) T 6 ( φ ) T 1 ( s x ) T 3 ( s z ) T 5 ( ψ 1 ) T 3 ( l z )                 ⋅ T 5 ( ψ 2 ) T 1 ( u x ) T 3 ( u z ) T 4 ( θ 1 )</p><p>0 T B = T 3 ( H ) T 6 ( φ ) T 1 ( s x ) T 3 ( s z ) T 5 ( ψ 1 ) T 3 ( l z ) T 5 ( ψ 2 )                 ⋅ T 1 ( u x ) T 3 ( u z ) T 4 ( θ 1 ) T 1 ( r x ) T 5 ( ψ 3 )</p><p>T 0 T = T 3 ( H ) T 6 ( φ ) T 1 ( s x ) T 3 ( s z ) T 5 ( ψ 1 ) T 3 ( l z ) T 5 ( ψ 2 ) T 1 ( u x )                 ⋅ T 3 ( u z ) T 4 ( θ 1 ) T 1 ( r x ) T 5 ( ψ 3 ) T 1 ( b x ) T 4 ( θ 2 ) (9)</p><p>where one of six one-parametric matrices T<sub>j</sub>(q<sub>k</sub>), j = 1 , 2 , ⋯ , 6 , describing a coordinate transformation of a screw from the frame S<sub>k</sub> associated with the kth link of the chain into the frame S<sub>k−</sub><sub>1</sub>, is defined in <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>Equation (7) for calculating the full compliance matrix is:</p><p>C 0 N = C S + C L + C U + C R + C B + C T ,</p><p>where each joint compliance matrix calculated by substituting the corresponding Equation (9) and expression from <xref ref-type="table" rid="table3">Table 3</xref> into Equation (8).</p></sec><sec id="s3_6"><title>3.6. Calculation of the Robot Tool Deviation under Forces Acting during Milling Process</title><p>The forces F<sub>x</sub>, F<sub>y</sub>, and F<sub>z</sub> were measured during milling operation of a circular furrow on aluminum plate, using 6R robot type MH-12 YASKAWA, with a</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Models of the 6R robot joints and the corresponding compliance matrices</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >C<sub>inS</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x56.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c S ]</th><th align="center" valign="middle" >C<sub>inL</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x58.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c L 0 0 0 0 0 0 0 ]</th><th align="center" valign="middle" >C<sub>inU</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x60.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c U 0 0 0 0 0 0 0 ]</th></tr></thead><tr><td align="center" valign="middle" >C<sub>inR</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x62.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c R 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]</td><td align="center" valign="middle" >C<sub>inB</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x64.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c B 0 0 0 0 0 0 0 ]</td><td align="center" valign="middle" >C<sub>inT</sub> <inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x66.png" xlink:type="simple"/></inline-formula> [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 c T 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]</td></tr></tbody></table></table-wrap><p>high-speed spindle. In the current example, the values of acting forces assumed as the measured milling forces were F<sub>x</sub> = 3 N, F<sub>y</sub> = &#177;5 N, and F<sub>z</sub> = &#177;5 N. The procedure of the experiment described in Section 4.2.</p><p>The vector of the tool tip deviation calculated by</p><p>V d e v = C 0 N V f o r c e , (10)</p><p>where V<sub>force</sub> is the 6 &#215; 1 vector of three linear forces and three angular moments acting on the tool tip. V<sub>dev</sub> is the 6 &#215; 1 vector of three linear and three rotational displacements of the tool tip.</p><p>The various components of the full deviation vector are calculated and analyzed. On the right side of the manipulation display screen in <xref ref-type="fig" rid="fig4">Figure 4</xref> [<xref ref-type="bibr" rid="scirp.110278-ref14">14</xref>], users can view the position of the robot and WP relative to each other and set of FPs. On the left side of the screen, there are windows showing the compliance matrix, current angles of the joint rotations, the vectors of full deviation, plane deviation, and normal deviations and their values.</p></sec><sec id="s3_7"><title>3.7. Mapping the Deviation</title><p>Using the method proposed here, it is possible to calculate the deviation of the robot tool tip from its nominal position for different WP positions and orientations. The WP presented in the form of a plate positioned at some distance from the robot’s central axis Z, which is inclined at an angle of 90 ≥ α ≥ −90 from vertical direction. The FP set presented in the form of points located in 200 mm increments in the Z and Y directions from the center of the plane. FP and WP are shown on the right in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p><p>Let the WP plate be deflected at angle α from the vertical. XYZ is the coordinate system associated with the robot (<xref ref-type="fig" rid="fig5">Figure 5</xref>); X'Y'Z' is the coordinate system associated with the plane of the WP plate. vDev = {δx, δy, δz} is the previously calculated vector of full deviation and its known components in the XYZ coordinate system, and vDev = {δx', δy', δz'} is the same vector in the X'Y'Z' coordinate system. The problem to find δx', δy', δz' and vector devPlane = {δy', δz'}.</p><p>arctan [ δ z / δ x ] = β + 9 0 − α ;</p><p>| v X Z | = vXZ = ( δ x 2 + δ z 2 ) 0. 5 ;</p><p>δ x ′ = vXZ &#215; sin ( β ) ;</p><p>δ z ′ = vXZ &#215; cos ( β ) ;</p><p>δ y ′ = δ y ;</p><p>| d e v P l a n e | = devPlane = ( δ y ′ 2 + δ z ′ 2 ) 0. 5 (11)</p><p>The following four cases (a-d) of milling forces were considered for calculation of the deviations. Values of forces were estimated during measurements, described in Section 4.2.</p><p>a) F x = 3   N , F y = − 5   N , F z = − 5   N</p><p>b) F x = 3   N , F y = − 5   N , F z = 5   N</p><p>c) F x = 3   N , F y = 5   N , F z = − 5   N</p><p>d) F x = 3   N , F y = 5   N , F z = 5   N</p></sec><sec id="s3_8"><title>3.8. Visualization the Workspace According to Limits of Deviations</title><p>The value of full deviation vector vDev as well as values of vectors of plane deviations for the devPlane was calculated for each FP.</p><p>The value of the deviation at each FP was taken equal to the maximum value of the FP corresponding to all four cases mentioned above. The contour maps in <xref ref-type="fig" rid="fig6">Figure 6</xref> identify regions where deviations do not exceed the required level. <xref ref-type="fig" rid="fig6">Figure 6</xref>(A) shows a complete contour map of plane deviations in the workspace of interest. <xref ref-type="fig" rid="fig6">Figure 6</xref>(B) shows the permissible part of the space where deviation limits do not exceed the predefined limits.</p><p>A set of contour maps for different distances between the robot’s Z-axis and the central point of the working plane given in <xref ref-type="table" rid="table4">Table 4</xref>. Central point coordinates are {800, 0, 800}. The last third column, the permissible zones where deviations do not exceed the limit. The set of these figures can be interpreted as a set of cross-sections of the three-dimensional region of the permissible FP positions in terms of the allowable robot machining error.</p><p>Analogous set of contour maps for different angles between the working plane and the vertical (the robot’s Z-axis) shown in <xref ref-type="table" rid="table5">Table 5</xref>.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Contour maps for x-distance variations</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >X of the central point of the plate [mm]</th><th align="center" valign="middle" >Contour map</th><th align="center" valign="middle" >Space limited by machining accuracy. For lim = 0.05 mm</th></tr></thead><tr><td align="center" valign="middle" >500</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x83.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x84.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >600</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x85.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x86.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >650</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x87.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x88.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >700</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x89.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x90.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >750</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x91.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x92.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >800</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x93.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x94.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >850</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x95.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x96.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >900</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x97.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x98.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >930</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x99.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x100.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >950</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x101.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x102.png" xlink:type="simple"/></inline-formula></td></tr></tbody></table></table-wrap><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Contour maps for various deflection angles of the WP</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >Contour map</th><th align="center" valign="middle" >Space limited by machining accuracy. For lim = 0.05 mm</th><th align="center" valign="middle" >α</th><th align="center" valign="middle" >Contour map</th><th align="center" valign="middle" >Space limited by machining accuracy. For lim = 0.05 mm</th></tr></thead><tr><td align="center" valign="middle" >75˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x103.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x104.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >0˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x105.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x106.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >60˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x107.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x108.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−5˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x109.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x110.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >55˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x111.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x112.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−15˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x113.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x114.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >50˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x115.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x116.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−30˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x117.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x118.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >45˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x119.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x120.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−60˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x121.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x122.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >30˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x123.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x124.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−75˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x125.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x126.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >15˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x127.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x128.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−80˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x129.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x130.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >10˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x131.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x132.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−85˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x133.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x134.png" xlink:type="simple"/></inline-formula></td></tr><tr><td align="center" valign="middle" >5˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x135.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x136.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" >−90˚</td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x137.png" xlink:type="simple"/></inline-formula></td><td align="center" valign="middle" ><inline-formula><inline-graphic xlink:href="/html.scirp.org/file/6-8103747x138.png" xlink:type="simple"/></inline-formula></td></tr></tbody></table></table-wrap></sec></sec><sec id="s4"><title>4. Experimental Investigations with 6R Robot Type YASKAWA MH-12</title><p>The experimental part of the study consisted of milling a circular groove, on a flat WP surface, with 100-mm radius, using a high-speed mini spindle mounted on MH-12 YASKAWA robot. The considered sources of errors were the robot’s positioning accuracy, which determines the specified trajectory of the tool motion, and TCP deviations from the specified path due to the finite rigidity of the robot joints. The obtained machining accuracy was compared with the calculated theoretical value. The effect of robot rigidity on the abovementioned deviations was determined. Milling process forces considered in the described study and within the developed model and it was therefore necessary to measure them.</p><sec id="s4_1"><title>4.1. Equipment</title><p>The milling experiment used the following equipment:</p><p>• Robot MH-12 YASKAWA (1), spindle adaptor (2), (<xref ref-type="fig" rid="fig7">Figure 7</xref>(A)).</p><p>• The high-speed Nakanishi milling spindle (3), (<xref ref-type="fig" rid="fig7">Figure 7</xref>(B)), which has a rotation speed of up to 60,000 rpm, a milling cutter with 2 mm in diameter.</p><p>• The milled WP was fixed on the 3-component dynamometer as shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>(A). The robot was programmed such that, the TCP moved along the same circular path as the ball-bar test path. Coordinates of the circle center are {1000, 0, 800} in robot coordinate system. A predicted deviation of less than 0.07 mm accrued during the abovementioned circular milling path (<xref ref-type="fig" rid="fig8">Figure 8</xref>). The cutter feed along the path was 100 mm/min and spindle speed was 50,000 rpm. Ten milling cycles were performed with a depth of cut of 0.2 mm (total groove depth was 2 mm).</p><p>• Nakanishi Controller E3000 (4), (<xref ref-type="fig" rid="fig7">Figure 7</xref>(A));</p><p>• Kistler measuring system for forces measurement (<xref ref-type="fig" rid="fig9">Figure 9</xref>), consisting of 3-component dynamometer (5) with built-in charge amplifiers, control cnit Type 5233A (6), DAQ-System (7) for Dynoware and Dynoware Type 2825A1-2 installed on the computer (8);</p><p>• The Renishaw ball-bar QC10 with control software (<xref ref-type="fig" rid="fig1">Figure 1</xref>0);</p><p>• Equipment for roundness measurements (CMM-XYZ DEA Global).</p></sec><sec id="s4_2"><title>4.2. Description of the Experiment</title><p>The following steps were performed:</p><p>• The robot was programmed to move the tool along a circular path.</p><p>• Two full ball-bar tests were performed. The test results were combined into one chart and shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>1.</p><p>• The forces acting on the tool were measured in three directions along the X, Y, and Z-axes simultaneously with the milling process. The measurement results were recorded and displayed in the form of graphs (<xref ref-type="fig" rid="fig1">Figure 1</xref>2) on the monitor of the Kistler measuring system.</p><p>• After the milling path was completed, the precise values of the radius of the circle were measured every 5 degrees to define the groove roundness (<xref ref-type="fig" rid="fig1">Figure 1</xref>3).</p></sec></sec><sec id="s5"><title>5. Comparison and Analysis of the Experimental Results</title><p>To analyze the positioning accuracy of the robot without an external load, the measurements of the ball-bar tests were combined into one diagram, shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>1 and were compared.</p><p>The solid and dashed blue lines in <xref ref-type="fig" rid="fig1">Figure 1</xref>1 represent the first and second ball-bar clockwise (CW) measurement series, while the solid and dashed green lines represent are the first and second ball-bar counterclockwise (CCW) measurement series. The difference between the measured values in CW versus CCW tests (not more than 100 μm) was much greater than the measurement differences found for the unidirectional tests: CW1 versus CW2 and CCW1 versus CCW2 (approximately 20 μm). Therefore, the main source of TCP position</p><p>error can be considered as backlash. The absolute value of the difference between both unidirectional ball-bar measurements shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>4(A) for the Δ<sub>CW</sub> experiments (Δ<sub>CW</sub> = |CW1 − CW2|), while <xref ref-type="fig" rid="fig1">Figure 1</xref>4(B) shows the Δ<sub>CCW</sub> ones (Δ<sub>CCW</sub> = |CCW1 − CCW2|).</p><p>The stiffness/compliance model of the MH-12 robot previously described in Section 2 was used to calculate the errors caused by the robot joint stiffness during circular motion. <xref ref-type="fig" rid="fig1">Figure 1</xref>5 shows the pose of robot during milling the circular path.</p><p>The 2-dimensional vector field in the WP plane was calculated to visualize the tool tip deviations from the nominal position. Four cases of forces defined in section 3.7 were considered. A superposition of calculated vector fields is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>6. The calculated position errors in the WP plane lie within a &#177;60 μm range for milling with the manifested conditions described in Section 4.2.</p><p>Precise distances from the obtained circular groove center to the planed groove centerline were measured, applying steps of 5˚ along the planed groove centerline as shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>3. As clear from <xref ref-type="fig" rid="fig1">Figure 1</xref>3 the real deviations of the milled circle from the nominal one lie within the &#177;200 μm range. The calculated deviations due to stiffness of the robot joints were &#177;60 μm. The difference of &#177;140 μm was caused by the robot’s positioning error.</p></sec><sec id="s6"><title>6. Conclusions</title><p>The achievable accuracy and stiffness of serial-kinematic IRs used for machining tasks were investigated and experimentally verified. An actual machining process that is typically used for accuracy testing has been selected: profile milling of the circumferential slot by an end mill tool. High-speed machining with 50,000 rpm under optimal cutting conditions was performed.</p><p>To obtain maximally achievable IR machining accuracy, 1) a two-step teaching procedure was applied, it included point position correction using Renishaw ball-bar measurements and a final ball-bar test to establish the TCP motion trajectory; 2) a simulation tool based on the FSF approach, previously applied only for machine tools, to predict accuracy and stiffness within the IR workspace; and 3) the developed software tool, which allowed calculation and visualization of the compliance matrix for an arbitrary robot posture. Also, the given compliance matrix, joint rotation angles, and the values of the tool tip deviation vector components, caused due to the presence of cutting forces, were displayed. Applying the mentioned above procedure enabled us to predict and optimize the positioning error at a given point in the workspace.</p><p>The measured forces during the machining experiments were used to calculate deviations from the nominal position that occurred due to robot rigidity. The obtained deviation values on the selected machining plane were represented as contour maps. Different tilting angles of the WP plane were represented in a contour map. Such mapping makes it possible to optimize the WP position and orientation relative to the robot with respect to machining accuracy.</p><p>The obtained roundness of the milled circle was &#177;200 μm, which coincides well with the sum of deviations from the nominal radius that the robot positioning error (≈140 μm) and robot rigidity (≈60 μm) caused. Thus, the effect of positioning error on milling accuracy is 2.2 times greater than that of the robot joint stiffness. The proposed simulation tool is convenient for estimating robot positioning error due to robot compliance within a workspace with preliminary limited errors.</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s8"><title>Cite this paper</title><p>Shneor, Y. and Chapsky, V. (2021) Error Prediction in Industrial Robot Machining: Optimization Based on Stiffness and Accuracy Limit. Engineering, 13, 330-351. https://doi.org/10.4236/eng.2021.136024</p></sec></body><back><ref-list><title>References</title><ref id="scirp.110278-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Abele, E., Weigold, M. and Rothenbücher, S. (2007) Modeling and Identification of an Industrial Robot for Machining Applications. CIRP Annals, 56, 387-390. https://doi.org/10.1016/j.cirp.2007.05.090</mixed-citation></ref><ref id="scirp.110278-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">P&amp;#322;aczek, M. and Piszczek, &amp;#321;. (2018) Testing of an Industrial Robot’s Accuracy and Repeatability in off and Online Environment. Eksploatacja i Niezawodnosc (Maintenance and Reliability), 20, 455-464. https://doi.org/10.17531/ein.2018.3.15</mixed-citation></ref><ref id="scirp.110278-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Bauer, J., Friedmann, M., Hemker, T., Pischan, M., Reinl, C., Abele, E. and Stryk, O.  (2013) Analysis of Industrial Robot Structure and Milling Process Interaction for Path Manipulation. Process Machine Interactions, 245-263. https://doi.org/10.1007/978-3-642-32448-2_11</mixed-citation></ref><ref id="scirp.110278-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Abele, E., Bauer, J., Rothenbücher, S., Stelzer, M. and Stryk, O. (2008) Prediction of the Tool Displacement by Coupled Models of the Compliant Industrial Robot and the Milling Process. Proceedings of the International Conference on Process Machine Interactions, Hannover, September 2008, 223-230.</mixed-citation></ref><ref id="scirp.110278-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Slavkovic, N.R., Milutinovic, D.S., Kokotovic, B.M., Glavonjic, M.M., Zivanovic, S.T. and Ehmann, K. (2013) Cartesian Compliance Identification and Analysis of an Articulated Machining Robot, Belgrade. FME Transactions, 41, 83-95.</mixed-citation></ref><ref id="scirp.110278-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Schneidera, U., Drusta, M., Ansalonib, M., Lehmannc, Ch., Pellicciarib, M., Lealib, F., Gunninkd, J.W. and Verla, A. (2016) Improving Robotic Machining Accuracy through Experimental Error Investigation and Modular Compensation. The International Journal of Advanced Manufacturing Technology, 85, 3-15. https://doi.org/10.1007/s00170-014-6021-2</mixed-citation></ref><ref id="scirp.110278-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Zengxi, P. and Hui, Z. (2009) Improving Robotic Machining Accuracy by Real-Time Compensation. IEEE ICROS-SICE International Joint Conference, USA, 4289-4294.</mixed-citation></ref><ref id="scirp.110278-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Yin, B., Wenhe, L., Wei, T., Jin, Z. and Lin, Z. (2017) Stiffness Analysis and Optimization in Robotic Drilling Application. Precision Engineering, 49, 388-400. https://doi.org/10.1016/j.precisioneng.2017.04.001</mixed-citation></ref><ref id="scirp.110278-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Angelidis, A., George-Christopher and Vosniakos, G.C. (2014) Prediction and Compensation of Relative Position Error along Industrial Robot End-Effector Paths. International Journal of Precision Engineering and Manufacturing, 15, 66-73. https://doi.org/10.1007/s12541-013-0306-5</mixed-citation></ref><ref id="scirp.110278-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Iglesias, I., Sebastiána, M.A. and Aresc, J.E. (2015) Overview of the State of Robotic Machining: Current Situation and Potential. Procedia Engineering, 132, 911-917. https://doi.org/10.1016/j.proeng.2015.12.577</mixed-citation></ref><ref id="scirp.110278-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Shneor, Y. and Portman, V.T. (2010) Stiffness of 5-Axis Machines with Serial, Parallel, and Hybrid Kinematics: Evaluation and Comparison. CIRP Annals Manufacturing Technology, 59, 409-412. https://doi.org/10.1016/j.cirp.2010.03.020</mixed-citation></ref><ref id="scirp.110278-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Portman, V.T., Shneor, Y., Chapsky, V.S. and Shapiro, A. (2014) Form-Shaping Function Theory Expansion: Stiffness Model of Multi-Axis Machine. International Journal of Advanced Manufacturing Technology, 76, 1063-1078. https://doi.org/10.1007/s00170-014-6261-1</mixed-citation></ref><ref id="scirp.110278-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Portman, V.T. (2018) Mechanics of Accuracy in Engineering Design of Machines and Robots, Vol. I: Nominal Functioning and Geometric Accuracy. ASME Press, NY. https://doi.org/10.1115/1.861615</mixed-citation></ref><ref id="scirp.110278-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Wolfram Research, Inc. (2016) Mathematica, Version 10.0, Champaign, IL.</mixed-citation></ref></ref-list></back></article>