Software Error Compensation of Rapid Prototyping (RP) Kun Tong, Sanjay Joshi, Amine Lehtihet Department of Industrial and Manufacturing Engineering The Penn State University DIMACS CAD/CAM Workshop Rutgers University, October 8, 2003 Rapid Prototyping (RP) CAD Model A fabrication method in which parts are built by depositing material layer by layer under computer control. Slices Stereolithography Apparatus (SLA) STL file (A triangular approximation of the 3D surface geometry.) Dimensional Accuracy Dimensional Accuracy: SLA 250 machine: 0.002 inch/inch (Lynn (2000)) FDM 3000 machine: “Overall tolerance is ± 0.005 inch in the X, Y, and Z axes.” Main Error Sources in RP Processes: Positioning error of the tool tips (the laser beam focus or the depositing nozzle) Material shrinkage/expansion due to physical or chemical changes during prototyping CAD model STL file approximation error Staircase Effect due to finite layer thickness … Accuracy Studies for RP Focused on different aspects of process planning for RP STL File Correction Algorithms (van Niekerk (2000)) Slicing Algorithms (Kulkarni (1996), Tata (1998)) Tool Path Planning (Wah (2001)) Support Structure Generation Methods Parametric Tuning (Lynn(1999), Onuh(2000), Zhou(2000)) Build Orientation Optimization (Alexander(1998), Nee(2001)…) Limitation: The best-tuned system still has considerable systematic error. Software Error Compensation Error Compensation: To cancel the effect of an error without removing the error source. Very little work has been done on error compensation of RP. Volumetric Error Nominal Position (x, y, z) dx dy dz Actual Position (x+dx, y+dy, z+dz) Compensated Input (x-dx, y-dy, z-dz) z y x RP working envelope Software Error Compensation Approach This concept has been applied to Coordinate Measuring Machines (CMM) and machine tool systems. Three-step procedure: Build a Mathematical Machine Error Model —to write the components of the volumetric error (dx, dy, dz) as functions of the coordinates x, y and z. Develop a method of measurement to determine the coefficients in the model. Implement the error model in the machine control for compensation. How to Build the RP Error Model? Mechanistic Model or Statistical Model? RP machine is a complex system. It is very hard, if not impossible, to build a mechanistic model. Statistical model will introduce a lot of predictors which might not be significant and have no physical meaning. Solution: Build an approximated mechanistic model using the Parametric Errors Functions and Rigid Body Kinematics as used for Coordinate Measuring Machines or Machine Tool Systems. Coordinate Measuring Machine (CMM) Y Z X Nominal CMM Actual 18 Parametric Errors (Geometric Errors) Axis Scale Error Translational Straightness Error Error Roll Rotational Pitch Error Yaw X x(x) y(x) z(x) x(x) y(x) z(x) Y y(y) x(y) z(y) y(y) z(y) x(y) Z z(z) x(z) y(z) z(z) x(z) y(z) Squareness Error Y-X: xy Z-X: zx Z-Y: zy The 6 parametric errors of each axis are only functions of the coordinates in that axis. CMM Machine Error Model Using Rigid Body Kinematics and Homogeneous Transfer Matrix, we can write the machine error model: X p x x x x y x z y z x z y x z y ( y ) t z y ( x ) y ( y ) y ( z ) x Yp y y x y y y z z x x z x y t z x ( x ) x ( y ) x ( z ) y Z p z z x z y z z y x x tz z (x, y, z): nominal position tx ty tz are the tool tip offset (Xp, Yp, Zp): actual position of the probe x y z are unrepeatable errors. RP “virtual” Parametric Errors Besides the geometric errors of the three axes, material volume change during prototyping is also a major error source. Assumption: all errors in the RP process can be mapped into the 18 “virtual” parametric errors. Then rigid body kinematics is used to write the error model. SLA 250 machine error model: X p x x x x y x z y z x z z z y z x Y p y y x y y y z x z z z x z y Z p z z x z y z z x y ( z ) y x x x z z 14 “virtual” parametric errors show up in the model. Polynomial Parametric Error Functions 3rd order Legendre Polynomials are used to approximate the parametric error functions. For example: 3 2 1 3 x ( x ) a1 x a2 ( x ) a3 ( (5x 3x )) 2 2 Totally, 143=42 unknown coefficients need to be determined for the error model of SLA machine. Estimate the Coefficients Using Artifact 169 cylinders: 8 inch (X) 8 inch (Y) 3.5 inch (Z) A LINGO program is written to minimize the sum of squares of the residual errors: 169 ( x ,i y ,i z ,i ) i 1 2 2 2 Prediction Using Error Model Uncompensated Predicted Using Error Model Norminal Residual Errors of the Model 4 3 Y coordinates (inch) 2 1 0 -4 -3 -2 -1 0 -1 -2 -3 -4 X coordinates (inch) 1 2 3 4 Volumetric Error Map of SLA 250 3D Z Volumetric of SLA 250 at a Fixed HeightError (Z =Map 1 inch) @ Fixed Z Level (Z = 1 inch) 0.018 0.014 0.012 0.01 0.008 0.006 0.004 4 2 0.002 0 X Coordinates (inch) -4 4 3 2 1 0 -2 -1 -2 -3 0 -4 Volumetric Errors (inch) 0.016 Y Coordinates (inch) Software Error Compensation CAD model STL File Slice File RP Machine Control File Apply Compensation to all the vertices in STL file ASCII STL File Format *********************************************************** solid PRT0002 facet normal 0.000000e+000 0.000000e+000 -1.000000e+000 outer loop vertex 1.000000e+001 7.500000e+000 0.000000e+000 vertex -1.000000e+001 -7.500000e+000 0.000000e+000 vertex -1.000000e+001 7.500000e+000 0.000000e+000 endloop endfacet ……… ……… facet normal -1.000000e+000 0.000000e+000 0.000000e+000 outer loop vertex -1.000000e+001 7.500000e+000 3.000000e+000 vertex -1.000000e+001 7.500000e+000 0.000000e+000 vertex -1.000000e+001 -7.500000e+000 0.000000e+000 endloop endfacet endsolid PRT0002 *********************************************************** Compensation Test Part Apply compensation to a test part with 49 cylinders of same diameter but at different locations from those in the 3D artifact. Volumetric Errors Reduction by Software Error Compensation Volumetric Errors of 49 Test Points After Compensation Volumetric Errors of 49 Test Points Before Compensation 0.016 0.016 0.014 Volumetric Errors (inch) Volumetric Errors (inch) 0.014 0.012 0.01 0.008 0.006 0.004 -2.7 0.002 0.012 0.01 0.008 0.006 0.004 -2.7 0.002 -0.9 -0.9 0 -2.7 0.9 -1.8 -0.9 0 Y coordinates (inch) 2.7 0.9 1.8 2.7 Before Compensation X coordinates (inch) 0 -2.7 0.9 -1.8 -0.9 0 Y coordinates (inch) X coordinates (inch) 2.7 0.9 1.8 2.7 After Compensation On average, volumetric errors are reduced to 35% of their original values. Compensation to a Part with General Features -0.00360.0011 3.7500 3.7463/3.7511 3.3750 3.3716/3.3754 2.3750 2.3724/2.3740 2.9079 2.8994/2.9038 2.5000 2.4925/2.4943 0.8750 0.8730/0.8747 -0.0020-0.0003 15° 14.58.40/15.01.15 Ø0.2500 0.2457/0.2459 Ø0.5000 0.4915/0.4922 Ø0.5000 0.5007/0.5020 2.5000 2.4913/2.4972 7° /6.52.27 /6.38.28 0.8750 0.8738/0.8754 Ø0.7500 0.7445/0.7457 0.8750 / 0.8746/0.8767 2.8750 2.8712/2.8749 0.2845 /0.2723/0.2710 0.3750 /0.3731/0.3782 0.5000 0.4995/0.5081 0.00190.0032 0.3750 0.3709/0.3707 Note: The three dimensions for each feature is Nominal / Uncompensated / Compensated . Summary of Compensation Results The overall size and the feature positions on the part are considerably improved. Dimensions involving height in z direction such as depth of holes, or with the presence of staircase effect such as the sphere size, are not improved and in some cases may get worse. (Z quantization) Cylindrical holes sizes are improved by a small amount and both uncompensated and compensated sizes are consistently smaller than their nominal values. (Triangulation Error) “Z value quantization” —in Uncompensated Parts Uncompensated Model Model Top Surface Slicing Planes Actual Surface “Z value quantization” —in Compensated Parts Compensated Model Model Top Surface Multiple Layers Slicing Planes Actual Surface Eliminate Multiple Layers Phenomenon Algorithm: Identify horizontal surfaces in the uncompensated part; Apply z direction compensation to the vertices of each horizontal surface; Average the z-coordinates of all vertices on a given horizontal surface and then move the entire horizontal surface up or down to the nearest adjacent layer. Move corresponding vertices in the entire STL files to maintain connectivity. Summary Software error compensation can help RP users to achieve higher part accuracy without any hardware modification. “Virtual” parametric error functions include all repeatable error sources present in the rapid prototyping process and can be thought of as a comprehensive evaluation criterion of RP machine accuracy. Future Work(1)— Slice File Compensation Apply Compensation Slice 1 Slice i Slice N Apply Compensation Future Work(2)— Design Problem of the 3D Artifact How to choose the cylinder heights is an Design of Experiment (DOE) problem. Design Criterion D-criterion A D-optimal design is one in which the determinant of the moment matrix is maximized: M X X N p where X is the regression model matrix. N is the sample number. p is the number of coefficients. Geometrically, with D-criterion, one tries to minimize the volume of the confidence region on the regression coefficient. Objective: Keep the same X and Y positions of the cylinders, to optimize the distribution of their heights.