Abstract
Industrial robot has an increasingly wide application in automatic manufacturing of aerospace parts. However, the robot still faces challenges due to the hard processing material and high demand of machining quality. In this paper, a robot posture optimization method is proposed to improve the machining accuracy in aerospace skin milling. The basic idea is that the objective function is defined as absolute average machining accuracy to be minimized. Both joint parameter error and stiffness, the major two factors causing machining error, are considered in the objective function. The function relationship between machining error and joint parameter error is established using robot kinematic. Based on robot dynamics and force adjoint transformation, the machining error with respect to joint stiffness, milling force and robot posture is theoretically analyzed. For n cutting location points, the optimization problem is formulated as (nā+ā1) variables including rotation and translation redundant freedoms to be determined by genetic algorithm. Finally, the experiment of aerospace skin milling using ABB 6660 robot is provided.
Access provided by CONRICYT-eBooks. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Because of high flexibility and low cost, industrial robot is widely used in aerospace manufacturing, such as aircraft skin milling, blade grinding [1], and wing drilling [2]. However, compared with CNC machine tool, the problem of relative low positioning accuracy and stiffness still exists on the robot. Research [3] shows that both joint parameters and stiffness take a major influence on the positioning accuracy. As for aerospace parts, they usually require high machining accuracy. In addition, they are usually made of some hard processing materials such as stainless steel, titanium alloy and superalloy. When processing these materials, the robot may suffer serious deformation in the end-effector. Therefore, improving the stiffness and positioning accuracy becomes more important to extend the application of robotic aerospace manufacturing.
Many works have been developed around the positioning accuracy and stiffness. As for the positioning accuracy, it is mainly improved by error compensation and posture optimization. When the robot is in the empty load, the joint parameters errors are the main cause of positioning accuracy. Based on genetic algorithm, a compensation method of positioning error is proposed by Dolinsky [4]. The position error in the end-effector is mapped and compensated to the joint parameters. Mitsi [5] optimizes the position of robot base frame by minimizing the objective function, which is defined as the sum of squared element difference between real and nominal \( 4 \times 4 \) transformation matrix expressed in the robot end frame. Because there are differences in the dimension of each element (rotation matrix and translation vector) in the transformation matrix, this method cannot directly reflect the influence of robot positioning accuracy.
The research on stiffness improvement is mainly concentrated on three aspects: stiffness compensation [6, 7], posture optimization [8, 9] and robot structure optimization [10]. Zargarhsh [8] points out that there is an optimal posture with maximum stiffness for robotic drilling. An optimization index is also proposed to select the redundancy freedom. Based on ten DoF robot, Ming [11] applies the differential evolution algorithm to find the optimal posture configuration with optimal stiffness. Using KUKA KR270-2 robot, Colleoni [12] optimizes the workpiece posture by minimizing the tool average displacement, where the objective function is based on cutting force model and robot stiffness.
These methods above are mainly based on the individual joint parameter error or joint stiffness to improve the machining quality. For the aeronautical parts milling, both joint parameter error and stiffness are the major two factors causing positioning error, due to hard processing materials and high demand of machining quality. In this paper, an optimization method of robot posture is proposed by minimizing the absolute average machining error in the robotic milling system. The proposed method directly considers the effect of both joint parameter error and stiffness on machining error, which accords with the actual machining condition. Based on robot kinematics, the relationship between machining error and joint parameter error under the empty load is derived. Then the stiffness affecting the machining error is analyzed. Finally, the simulation experiment using ABB 6660 robot to mill the aircraft skin is executed to verify the availability of the proposed method.
2 Model of Milling Robot
The schematic of robotic milling is shown in Fig.Ā 3. Before milling, the robot base frame {B} can move straight on the guide rail, but it is fixed during the milling process. The guide rail is located on the global frame {G} and is along the \( x_{G} \) axis direction. The milling tool defined in the tool frame {T} is fixed in the robot end frame {E}, and the milling axis is defined at the \( z_{T} \) axis direction. The workpiece frame {W} is attached to the edge of aircraft skin that is to be milled. The tool path consists of four segments AB, BC, CD and DA, which are generated by offsetting the edge with tool radius. The tool path is dispersed into n cutter location (CL) points \( \left\{ {\varvec{p}_{1} \text{,}\;\varvec{p}_{2} \text{,} \cdots \varvec{p}_{i} , \cdots ,\varvec{p}_{n} } \right\} \) where a CL frame \( \left\{ {\varvec{p}_{i} } \right\} \) is attached to each point \( \varvec{p}_{i} \). For point \( \varvec{p}_{i} \), the allowance depth direction and feed direction are along the \( x_{pi} \) and \( y_{pi} \) axes, respectively. Note that the kinematic equation from global frame {G} to CL frame \( \left\{ {\varvec{p}_{i} } \right\} \) is as follows
where \( {}_{{\psi_{2} }}^{{\psi_{1} }} \varvec{T} \) define the \( 4 \times 4 \) homogeneous transformation matrix for frame \( \psi_{1} \) to \( \psi_{2} \). Note the following symbols (Figs.Ā 1 and 2).
-
(1)
Symbol \( {}_{B}^{G} \varvec{T} \) denotes the transformation from global frame {\( T \)} to robot base frame {B}. Defining symbol L as the moving distance of frame {B} on the guide rail, the matrix \( {}_{B}^{G} \varvec{T} \) can be written as
$$ {}_{B}^{G} \varvec{T}\left( L \right) = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & L \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right] $$(2)where distance L is a variable to be determined for posture optimization.
-
(2)
Symbol \( {}_{Pi}^{T} \varvec{T} \) denotes the transformation from tool frame {\( T \)} to frame \( \{ \varvec{p}_{i} \} \). When frame \( \{ T\} \) and \( \{ \varvec{p}_{i} \} \) coincides with each other \( \left( {{}_{Pi}^{T} \varvec{T} = \varvec{I}} \right) \), the point \( \varvec{p}_{i} \) can be milled in correct position. However, the tool can still rotate around its \( z_{T} \) axis without affecting the milling. Therefore, there is a kinematic redundancy called angle \( \alpha_{i} \), which corresponds to the rotation angel of tool about the axis \( z_{T} \) at point \( \varvec{p}_{i} \). Then the matrix \( {}_{Pi}^{T} \varvec{T} \) can be written as
$$ {}_{pi}^{T} \varvec{T}\left( {\alpha_{i} } \right){ = }\left[ {\begin{array}{*{20}c} {\cos \,\alpha_{i} } & { - \sin \,\alpha_{i} } & 0 & 0 \\ {\sin \,\alpha_{i} } & {\cos \,\alpha_{i} } & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} } \right] $$(3)
Then the robot posture \( {}_{E}^{B} \varvec{T} \) can be represented as
Therefore, the robot posture \( {}_{E}^{B} T \) is decided by the angle \( \alpha_{i} \,\left( {i = 1,2, \cdots n} \right) \) and distance \( L \). Because both the joint stiffness and joint geometric parameter are related to the robot posture. They have a great impact on the machining accuracy. In the following, optimizing the robot posture and machining accuracy based on both joint stiffness and joint geometric parameters is presented.
3 Posture Optimization
3.1 The Objective Function
To optimize the robot posture for machining accuracy, the objective function is defined as
where symbols \( F_{a} \) is the absolute average of the machining error \( a_{qi} \left( {L,\alpha_{i} } \right) \) affected by the joint parameter error, and symbol \( F_{k} \) is the absolute average of the machining error \( a_{ki} \left( {L,\alpha_{i} } \right) \) affected by the stiffness. For n CL points, there are \( \left( {n + 1} \right) \) parameters \( \left( {\alpha_{1} ,\alpha_{2} , \cdots \alpha_{n} ,L} \right) \) to be determined. The objective function F reflects the overall machining quality. The smaller value \( F \) means small machining error. The advantages of the objective function F are as follows. (1) As the two major factors affecting machining error, the joint parameter error and joint stiffness are considered. (2) Error \( a_{qi} \) and \( a_{ki} \) have same geometric dimensions, and both of they directly reflect the relationship between machining error and joint parameter/stiffness.
3.2 Machining Error \( a_{qi} \) with Respect to Joint Parameters
According to the Denavit Harvenberg (D-H) model, joint parameters can be represented \( \varvec{q} = \left[ {\begin{array}{*{20}c} {\varvec{a}^{\text{T}} } & {\varvec{\gamma}^{\text{T}} } & {\varvec{d}^{\text{T}} } & {\varvec{\theta}^{\text{T}} } \\ \end{array} } \right] \) where \( \varvec{a}_{6 \times 1} \), \( \varvec{\gamma}_{6 \times 1} \), \( \varvec{d}_{6 \times 1} \) and \( \varvec{\theta}_{6 \times 1} \) are the vectors of link length, link angel, joint distance and joint angle, respectively. By calibrating the robot joint parameter [1], the joint parameter error \( \Delta \varvec{q} \) can be obtained. Using \( \Delta \varvec{q} \), the end posture error matrix in its end frame {E} can be written as
When the error \( \Delta \varvec{q} \) is small, the matrix \( {}^{E}\Delta \) corresponds to a posture error vector \( ^{E} \varvec{D}_{E} = \left[ {\begin{array}{*{20}c} {{}^{E}\varvec{d}_{E} } & {{}^{E}\varvec{\delta}_{E} } \\ \end{array} } \right]{}^{\text{T}} \) where \( {}^{E}\varvec{d}_{E} \) and \( {}^{E}\varvec{\delta}_{E} \) denote the \( 3 \times 1 \) vectors of position error vector and orientation error vector, respectively. Define the transformation from the frame \( \{ \varvec{p}_{i} \} \) to end frame {E} as \( {}_{E}^{pi} \varvec{T} = \left( {{}_{T}^{E} \varvec{T}{}_{pi}^{T} \varvec{T}} \right)^{ - 1} = \left[ {\begin{array}{*{20}c} {{}_{E}^{pi} \varvec{R}} & {{}^{pi}\varvec{p}_{Eo} } \\ {\mathbf{0}} & 1 \\ \end{array} } \right]. \) Then according to the velocity adjoint transformation of differential motion, the posture error of point \( \varvec{p}_{i} \) in its frame \( \{ \varvec{p}_{i} \} \) can be calculated as
where symbol \( {}^{pi}\varvec{D}_{pi} \) denotes a \( 6 \times 1 \) vector, symbol \( \text{Ad}_{\text{v}} \left( \bullet \right) \) denotes the operator of velocity adjoint transformation, and symbol \( \left[ {{}^{pi}\varvec{p}_{Eo} } \right]_{3 \times 3} \) denotes the antisymmetric matrix of vector \( {}^{pi}\varvec{p}_{Eo} \). The posture error of the workpiece origin in its frame {W} can also be written as \( {}^{W}\varvec{D}_{W} = \text{Ad}_{\text{V}} \left( {{}_{E}^{W} \varvec{T}} \right){}^{E}\varvec{D}_{E} \). Before milling, it is assumed that the origin of workpiece is selected to locate the tool. Therefore, it can be regarded as that the tool origin can reach the workpiece origin accurately. Based on the workpiece origin, the relative posture error of point \( \varvec{p}_{i} \) is defined as \( \Delta {}^{pi}\varvec{D}_{pi} \). Since the allowance depth direction is along the axis \( x_{pi} \), the machining error affected by the joint parameter error can be written as
where \( \varvec{D}_{x} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 \\ \end{array} } \right]^{\text{T}} \) is a \( 6 \times 1 \) matrix. EquationsĀ (6, 7 and 8) build the relationship between joint parameter errors to machining error.
3.3 Machining Error with Respect to Stiffness
In this section, the machining error caused by robot joint stiffness is derived. Define six-dimension milling wrench at point \( \varvec{p}_{i} \) as \( {}^{pi}\varvec{F}_{i} \). The wrench \( {}^{pi}\varvec{F}_{i} \) is represented in the frame \( \{ \varvec{p}_{i} \} \). Assume that the tool is fully rigid without deformation. According to the force adjoint transformation, the force screw at the origin of end frame {E} can be written as
where \( {}_{pi}^{E} \varvec{T} = \left[ {\begin{array}{*{20}c} {{}_{pi}^{E} \varvec{R}} & {{}^{E}\varvec{p}_{pio} } \\ {\mathbf{0}} & 1 \\ \end{array} } \right] \) is the transformation matrix, \( \text{Ad}\left( \bullet \right) \) is the operator of force adjoint transformation, and \( {}^{E}\varvec{F}_{E} \) is expressed in its end frame {E}. Wrench \( {}^{E}\varvec{F}_{E} \) can be converted to \( {}^{B}\varvec{F}_{E} \) that is expressed in the base frame {B}. According to the robot dynamics, the deformation at the origin of robot end frame can be written as
where \( {}^{B}\varvec{D}_{E} \) is a \( 6 \times 1 \) matrix and is expressed in the base frame {B}. Symbol \( \varvec{J}{ = }\varvec{J}\left(\varvec{\theta}\right) \) denotes the space Jacobian matrix and is related to the robot posture \( \varvec{\theta} \). Symbol \( \varvec{K}_{\theta } = \text{diag}\left( {k_{1} ,k_{2} , \cdots ,k_{6} } \right) \) is the joint stiffness matrix where \( k_{j} \) denotes the stiffness value of the jth joint. By transferring the error vector \( {}^{B}\varvec{D}_{E} \) to be expressed in the end frame {E}, the error at point \( \varvec{p}_{i} \) in its frame \( \{ \varvec{p}_{i} \} \) can be written as \( {}^{pi}\varvec{D}_{pi} = \text{Ad}_{\text{V}} \left( {{}_{E}^{pi} \varvec{T}} \right){}^{E}\varvec{D}_{E} \). Then the machining error caused by the robot stiffness can be written as
where the machining error \( a_{ki} \) is along the direction of \( x_{pi} \) at point \( \varvec{p}_{i} \). EquationsĀ (9, 10 and 11) build the relationship between joint stiffness and machining error. It can be obtained that the machining error \( a_{ki} \) is related to milling wrench \( {}^{pi}\varvec{F}_{i} \), robot posture \( \varvec{J}\left(\varvec{\theta}\right) \), and the robot stiffness \( \varvec{K}_{\theta } \). Unlike the machining error \( a_{qi} \) with respect to joint parameter, machining error \( a_{ki} \) is always positive due to the milling wrench. Based on both machining error \( a_{qi} \) and \( a_{ki} \), the minimization problem of objective function F in (5) can be solved by genetic algorithm to calculate the variables \( \left( {\alpha_{1} \varvec{,}\alpha_{2} , \cdots ,\alpha_{n} ,L} \right) \). Then the robot posture can be obtained using (4).
4 Experiment
In this simulation experiment, the robot joint parameter error is given in TableĀ 1. And the milling wrench of each point \( \varvec{p}_{i} \) is \( {}^{pi}\varvec{F}_{i} = \left[ {\begin{array}{*{20}c} {500} & 0 & 0 & 0 & 0 & 0 \\ \end{array} } \right]^{\text{T}} \) where the moment is neglected for small value. The aircraft skin has a size of \( 700\;mm \times 800\;mm \) There are 62 CL points on the tool path of the skin edge. The moving distance L is at the range of \( \left[ {{ - }900\;mm,\,\,400\,mm} \right] \). For the angle variables \( \left( {\alpha_{1} \varvec{,}\alpha_{2} , \cdots ,\alpha_{n} } \right) \) where \( 0^{\text{o}} \le \alpha_{i} \le 360^{\text{o}} \), it can be simplified as the following two cases. (1) Each point \( \varvec{p}_{i} \) shares the same angle (\( \alpha_{1} = \alpha_{2} = \cdots = \alpha_{n} \)), since the sudden change of angel \( \alpha_{i} \) is improper for continuous and stable milling of four edges (AB, BC, CD, DA). (2) Each edge shares the same rotation angel (\( \alpha_{1} = \cdots = \alpha_{15} = \alpha_{AB} \), \( \alpha_{16} = \ldots = \alpha_{31} = \alpha_{BC} \), \( \alpha_{32} = \ldots = \alpha_{46} = \alpha_{CD} \), \( \alpha_{47} = \ldots = \alpha_{62} = \alpha_{DA} \)), when the four edges (AB, BC, CD and DA) are milled separately.
4.1 Each Point Shares the Same Rotation Angle \( \alpha_{i} \)
When each point \( \varvec{p}_{i} \) share the same angle (\( \alpha_{1} = \cdots = \alpha_{62} = \alpha \)), the variables to be determined in the objective function (5) are reduced to two variables \( \left( {\alpha \,,L} \right) \) that can be calculated easily without using the genetic algorithm. FigureĀ 4 shows the result of machining error \( a_{ki} \) caused by joint stiffness. It reveals that error \( a_{ki} \) is more sensitive to the distance L than the angle \( \alpha \), since the robot stiffness is more sensitive to the position than the orientation. It also can be know that machining error \( a_{ki} \) is constant positive due to the milling wrench \( {}^{pi}\varvec{F}_{i} \). The minimum value of the average machining error \( a_{ki} \) is 0.831Ā mm when \( \left( {\alpha ,L} \right) = \left( {352.1^{\text{o}} , - 201.5\,mm} \right) \). FigureĀ 5 shows the machining error \( \left( {\left| {a_{qi} } \right| + \left| {a_{ki} } \right|} \right) \), which corresponds to the objective function F in (5). For \( \left( {\alpha ,L} \right) = \left( {98.4^{\text{o}} , - 30.4\;mm} \right) \), the machining error \( \left( {\left| {a_{qi} } \right| + \left| {a_{ki} } \right|} \right) \) is minimized with 1.211Ā mm(\( \left| {a_{qi} } \right|{ = }\,0.350\;mm \) and \( \left| {a_{ki} } \right|{ = }\,0.861\;mm \)). Therefore, the stiffness has a major influence on stiffness. The joint angle at each CL point is given in Fig.Ā 6. There is no sudden change of each joint during the milling process from the first point \( \varvec{p}_{1} \) to the last point \( \varvec{p}_{62} \), which corresponds to stable milling.
4.2 Each Edge Shares the Same Rotation Angle \( \alpha_{i} \)
When edge shares the same rotation angel \( \alpha_{i} \), the solved variables is reduced to \( S = \left( {\alpha_{AB} ,\alpha_{BC} ,\alpha_{CD} ,\alpha_{DA} ,L} \right) \). For the value \( S^{ * } = \left( {101.7^{o} ,11.3^{o} ,90.3^{o} ,\text{0}.\text{4}^{o} , - 30.5\;mm} \right) \), the objective function F is minimized with average machining error 0.958Ā mm (\( \left| {a_{qi} } \right|{ = 0} . 2 6 5\;mm \) and \( \left| {a_{ki} } \right| = 0.693\,mm \)). It is obvious that the machining error is reduced (0.958Ā mm VS 1.211Ā mm) when the variables are increased from \( \left( {\alpha ,L} \right) \) to \( \left( {\alpha_{AB} ,\alpha_{BC} ,\alpha_{CD} ,\alpha_{DA} ,L} \right) \). However, if the machining error \( a_{qi} \) is not considered, the \( a_{ki} \) may not reflects the real machining error. When Lā=āā30.5Ā mm, the machining error \( \left( {\left| {a_{qi} } \right|{ + }\left| {a_{ki} } \right|} \right) \) with respect to CL point and rotation angel is shown in Fig.Ā 7. The red line shows the best solution \( S^{ * } \).The four edges have different rotation angles, which contribute to the reduction of average machining error.
5 Conclusion
To improve the machining accuracy for robotic milling in aerospace skin, this paper proposes a new optimization method for robot posture. The contributions of this paper are listed as follows. (1) Both joint parameter error and stiffness are considered to optimize the objective function. The position of robot base frame and the rotation angle of milling tool at each CL point are used as redundant freedoms to solve the optimization problem. It helps to expand the scope of optimal solution. (2) The function relationship between machining error and stiffness/joint parameters error is derived. The proposed method can also be applied into robotic grinding and drilling. Future work will add more additional constraint on the posture optimization problem for more rational optimization results. The constraints include collision avoidance, singularity avoidance, joint limit avoidance and specific machining requirement.
References
Li, W.L., Xie, H., Zhang, G., Yan, S.J., Yin, Z.P.: Handāeye calibration in visually-guided robot grinding. IEEE Trans. Cybern. 46(11), 2634ā2642 (2016)
Devlieg, R., Sitton, K., Feikert, E., Inman, J.: Once (one-sided cell end effector) robotic drilling system (2002)
Judd, R.P., Knasinski, A.B.: A technique to calibrate industrial robots with experimental verification. IEEE Trans. Robot. Autom. 6(1), 20ā30 (1990)
Dolinsky, J.U., Jenkinson, I.D., Colquhoun, G.J.: Application of genetic programming to the calibration of industrial robots. Comput. Ind. 58(3), 255ā264 (2007)
Mitsi, S., Bouzakis, K.D., Sagris, D., Mansour, G.: Determination of optimum robot base location considering discrete end-effector positions by means of hybrid genetic algorithm. Robot. Comput.-Integr. Manuf. 24(1), 50ā59 (2008)
Schneider, U., Momeni-K, M., Ansaloni, M., Verl, A.: Stiffness modeling of industrial robots for deformation compensation in machining. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 77, pp. 4464ā4469. IEEE (2014)
Backer, J.D., Bolmsjƶ, G.: Deflection model for robotic friction stir welding. Ind. Robot 41(4), 365ā372 (2014)
Zargarbashi, S.H.H., Khan, W., Angeles, J.: The jacobian condition number as a dexterity index in 6r machining robots. Robot. Comput. Integr. Manuf. 28(6), 694ā699 (2012)
Bu, Y., Liao, W., Tian, W., Zhang, J., Zhang, L.: Stiffness analysis and optimization in robotic drilling application. Precis. Eng. 49, 388ā400 (2017)
Palpacelli, M.: Static performance improvement of an industrial robot by means of a cable-driven redundantly actuated system. Pergamon Press Inc, Oxford (2016)
Li, M., Wu, H., Handroos, H.: Stiffness-maximum trajectory planning of a hybrid kinematic-redundant robot machine. In: IECON 2011-37th Annual Conference on IEEE Industrial Electronics Society. vol. 6854, no. 5, pp. 283ā288. IEEE (2011)
Colleoni, D., Miceli, G., Pasquarello, A.: Workpiece placement optimization for machining operations with a KUKA KR270-2 robot. In: IEEE International Conference on Robotics and Automation, vol. 147, pp. 2921ā2926. IEEE (2013)
Acknowledgement
This work was by the supported by the National Natural Science Foundation of China (No. 51327801, 51535004), the National Basic Research Program of China (No. 2015CB057304), and the Outstanding Youth Foundation of Hubei Province (No. 2017CFA045).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
Ā© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Xie, H., Li, W., Yin, Z. (2018). Posture Optimization Based on Both Joint Parameter Error and Stiffness for Robotic Milling. In: Chen, Z., Mendes, A., Yan, Y., Chen, S. (eds) Intelligent Robotics and Applications. ICIRA 2018. Lecture Notes in Computer Science(), vol 10984. Springer, Cham. https://doi.org/10.1007/978-3-319-97586-3_25
Download citation
DOI: https://doi.org/10.1007/978-3-319-97586-3_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-97585-6
Online ISBN: 978-3-319-97586-3
eBook Packages: Computer ScienceComputer Science (R0)